/*
Supersized - Fullscreen Slideshow jQuery Plugin
By Sam Dunn (www.buildinternet.com // www.onemightyroar.com)
Version: supersized.2.0.js // Relase Date: 5/7/09
Website: www.buildinternet.com/project/supersized
Thanks to Aen for preloading, fade effect, & vertical centering

Customized by Rubeun Tan about.me/rubeun. Separated the content from background images. 
*/

(function($){

    //Resize image on ready or resize
    $.fn.supersized = function() {
        $.inAnimation = false;
        $.paused = false;
        var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
        
        $(window).bind("load", function(){
            $('#loading').hide();
            $('#contentList li').hide();
            $('#supersize').fadeIn('fast');
            if ($('#slideshow .activeslide').length == 0) $('#supersize li:first').addClass('activeslide');
            if ($('#contentList .activecontent').length == 0) $('#contentList li:first').addClass('activecontent');
            $('li.activecontent').fadeIn('fast');

            if (options.slide_captions == 1) $('#slidecaption').html($('#supersize .activeslide').find('img').attr('title'));
            if (options.navigation == 0) $('#navigation').hide();
            //Slideshow
            if (options.slideshow == 1){
                if (options.slide_counter == 1){ //Initiate slide counter if active
                    $('#slidecounter .slidenumber').html(1);
                    $('#slidecounter .totalslides').html($("#supersize li").size());
                }
                slideshow_interval = setInterval("nextslide()", options.slide_interval);
                if (options.navigation == 1){ //Skip if no navigation
                    $('#navigation a').click(function(){  
                        $(this).blur();  
                        return false;  
                    });     
                    //Slide Navigation
                    $('#nextslide').click(function() {
                        if($.paused) return false; if($.inAnimation) return false;
                        clearInterval(slideshow_interval);
                        nextslide();
                        slideshow_interval = setInterval(nextslide, options.slide_interval);
                        return false;
                    });
                    $('#prevslide').click(function() {
                        if($.paused) return false; if($.inAnimation) return false;
                        clearInterval(slideshow_interval);
                        prevslide();
                        slideshow_interval = setInterval(nextslide, options.slide_interval);
                        return false;
                    });
                    //$('#nextslide img').hover(function() {
                    //  if($.paused == true) return false;
                    //      $(this).attr("src", "images/forward.gif");
                    //}, function(){
                    //  if($.paused == true) return false;
                    //    $(this).attr("src", "images/forward_dull.gif");
                    //});
                    $('#prevslide img').hover(function() {
                        if($.paused == true) return false; 
                        $(this).attr("src", "images/back.gif");
                    }, function(){
                        if($.paused == true) return false;
                        $(this).attr("src", "images/back_dull.gif");
                    });
                    
                    //Play/Pause Button
                    $('#pauseplay').click(function() {
                        if($.inAnimation) return false;
                        var src = ($(this).find('img').attr("src") === "images/play.gif") ? "images/pause.gif" : "images/play.gif";
                        if (src == "images/pause.gif"){
                            $(this).find('img').attr("src", "images/play.gif");
                            $.paused = false;
                            slideshow_interval = setInterval(nextslide, options.slide_interval);  
                        }else{
                            $(this).find('img').attr("src", "images/pause.gif");
                            clearInterval(slideshow_interval);
                            $.paused = true;
                        }
                        $(this).find('img').attr("src", src);
                        return false;
                    });
                    $('#pauseplay').mouseover(function() {
                        var imagecheck = ($(this).find('img').attr("src") === "images/play_dull.gif");
                        if (imagecheck){
                            $(this).find('img').attr("src", "images/play.gif"); 
                        }else{
                            $(this).find('img').attr("src", "images/pause.gif");
                        }
                    });
                    
                    $('#pauseplay').mouseout(function() {
                        var imagecheck = ($(this).find('img').attr("src") === "images/play.gif");
                        if (imagecheck){
                            $(this).find('img').attr("src", "images/play_dull.gif"); 
                        }else{
                            $(this).find('img').attr("src", "images/pause_dull.gif");
                        }
                        return false;
                    });
                }
            }
        });
                
        $(document).ready(function() {
            $('#supersize').resizenow(); 
        });
        
        //Pause when hover on image
        $('#supersize > *').hover(function() {
            if (options.slideshow == 1 && options.pause_hover == 1){
                if(!($.paused) && options.navigation == 1){
                    $('#pauseplay > img').attr("src", "images/pause.gif"); 
                    clearInterval(slideshow_interval);
                }
            }
            original_title = $(this).find('img').attr("title");
            if($.inAnimation) return false; else $(this).find('img').attr("title","");
        }, function() {
            if (options.slideshow == 1 && options.pause_hover == 1){
                if(!($.paused) && options.navigation == 1){
                    $('#pauseplay > img').attr("src", "images/pause_dull.gif");
                    slideshow_interval = setInterval(nextslide, options.slide_interval);
                } 
            }
            $(this).find('img').attr("title", original_title);  
        });
        
        $(window).bind("resize", function(){
            $('#supersize').resizenow(); 
        });
        
        $('#supersize').hide();
        $('#content').hide();
    };
    
    //Adjust image size
    $.fn.resizenow = function() {
        var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
        return this.each(function() {
            
            //Define image ratio
            var ratio = options.startheight/options.startwidth;
            
            //Gather browser and current image size
            var imagewidth = $(this).width();
            var imageheight = $(this).height();
            var browserwidth = $(window).width();
            var browserheight = $(window).height();
            var offset;

            //Resize image to proper ratio
            if ((browserheight/browserwidth) > ratio){
                $(this).height(browserheight);
                $(this).width(browserheight / ratio);
                $(this).children().height(browserheight);
                $(this).children().width(browserheight / ratio);
            } else {
                $(this).width(browserwidth);
                $(this).height(browserwidth * ratio);
                $(this).children().width(browserwidth);
                $(this).children().height(browserwidth * ratio);
            }
            if (options.vertical_center == 1){
                $(this).children().css('left', (browserwidth - $(this).width())/2);
                $(this).children().css('top', (browserheight - $(this).height())/2);
            }
            return false;
        });
    };
    
    $.fn.supersized.defaults = { 
            startwidth: 4,  
            startheight: 3,
            vertical_center: 1,
            slideshow: 1,
            navigation:1,
            transition: 1, //0-None, 1-Fade, 2-slide top, 3-slide right, 4-slide bottom, 5-slide left
            pause_hover: 0,
            slide_counter: 1,
            slide_captions: 1,
            slide_interval: 5000
    };
    
})(jQuery);

    //Slideshow Next Slide
    function nextslide() {
        if($.inAnimation) return false;
        else $.inAnimation = true;
        var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

        var currentslide = $('#supersize .activeslide');
        var currentcontent = $('#contentList li.activecontent');
        currentcontent.fadeOut('fast');
        
        currentslide.removeClass('activeslide');
        currentcontent.removeClass('activecontent');
        
        
        if ( currentslide.length == 0 ) currentslide = $('#supersize li:last');
        if ( currentcontent.length == 0 ) currentcontent = $('#contentList li:last');
            
        var nextslide =  currentslide.next().length ? currentslide.next() : $('#supersize li:first');
        var prevslide =  nextslide.prev().length ? nextslide.prev() : $('#supersize li:last');

        var nextcontent =  currentcontent.next().length ? currentcontent.next() : $('#contentList li:first');
        var prevcontent =  nextcontent.prev().length ? nextcontent.prev() : $('#contentList li:last');
        
        
        //Display slide counter
        if (options.slide_counter == 1){
            var slidecount = $('#slidecounter .slidenumber').html();
            currentslide.next().length ? slidecount++ : slidecount = 1;
            $('#slidecounter .slidenumber').html(slidecount);
        }
        
        $('.prevslide').removeClass('prevslide');
        prevslide.addClass('prevslide');

        $('.prevcontent').removeClass('prevcontent');
        prevcontent.addClass('prevcontent');

        
        //Captions require img in <a>
        if (options.slide_captions == 1) $('#slidecaption').html($(nextslide).find('img').attr('title'));
        
        nextslide.hide().addClass('activeslide')
            if (options.transition == 0){
                nextslide.show(); $.inAnimation = false;
            }
            if (options.transition == 1){
                nextslide.fadeIn(750, function(){$.inAnimation = false;});
            }
            if (options.transition == 2){
                nextslide.show("slide", { direction: "up" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 3){
                nextslide.show("slide", { direction: "right" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 4){
                nextslide.show("slide", { direction: "down" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 5){
                nextslide.show("slide", { direction: "left" }, 'slow', function(){$.inAnimation = false;});
            }

        nextcontent.hide().addClass('activecontent')
            if (options.transition == 0){
                nextcontent.show(); $.inAnimation = false;
            }
            if (options.transition == 1){
                nextcontent.fadeIn(750, function(){$.inAnimation = false;});
            }
            if (options.transition == 2){
                nextcontent.show("slide", { direction: "up" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 3){
                nextcontent.show("slide", { direction: "right" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 4){
                nextcontent.show("slide", { direction: "down" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 5){
                nextcontent.show("slide", { direction: "left" }, 'slow', function(){$.inAnimation = false;});
            }

            
        $('#supersize').resizenow();//Fix for resize mid-transition
        
    }
    
    //Slideshow Previous Slide
    function prevslide() {
        if($.inAnimation) return false;
        else $.inAnimation = true;
        var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

        var currentslide = $('#supersize .activeslide');
        var currentcontent = $('#contentList li.activecontent');
        
        currentslide.removeClass('activeslide');
        currentcontent.removeClass('activecontent');
                
        if ( currentslide.length == 0 ) currentslide = $('#supersize li:first');
        if ( currentcontent.length == 0 ) currentcontent = $('#contentList li:first');
                    
        var nextslide =  currentslide.prev().length ? currentslide.prev() : $('#supersize li:last');
        var prevslide =  nextslide.next().length ? nextslide.next() : $('#supersize li:first');

        var nextcontent =  currentcontent.prev().length ? currentcontent.prev() : $('#contentList li:last');
        var prevcontent =  nextcontent.next().length ? nextcontent.next() : $('#contentList li:first');
        
        //Display slide counter
        if (options.slide_counter == 1){
            var slidecount = $('#slidecounter .slidenumber').html();
            currentslide.prev().length ? slidecount-- : slidecount = $("#supersize > *").size();
            $('#slidecounter .slidenumber').html(slidecount);
        }
        
        $('.prevslide').removeClass('prevslide');
        prevslide.addClass('prevslide');

        $('.prevcontent').removeClass('prevcontent');
        prevcontent.addClass('prevcontent');
        
        //Captions require img in <a>
        if (options.slide_captions == 1) $('#slidecaption').html($(nextslide).find('img').attr('title'));
        
        nextslide.hide().addClass('activeslide')
            if (options.transition == 0){
                nextslide.show(); $.inAnimation = false;
            }
            if (options.transition == 1){
                nextslide.fadeIn(750, function(){$.inAnimation = false;});
            }
            if (options.transition == 2){
                nextslide.show("slide", { direction: "down" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 3){
                nextslide.show("slide", { direction: "left" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 4){
                nextslide.show("slide", { direction: "up" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 5){
                nextslide.show("slide", { direction: "right" }, 'slow', function(){$.inAnimation = false;});
            }

        nextcontent.hide().addClass('activecontent')
            if (options.transition == 0){
                nextcontent.show(); $.inAnimation = false;
            }
            if (options.transition == 1){
                nextcontent.fadeIn(750, function(){$.inAnimation = false;});
            }
            if (options.transition == 2){
                nextcontent.show("slide", { direction: "down" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 3){
                nextcontent.show("slide", { direction: "left" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 4){
                nextcontent.show("slide", { direction: "up" }, 'slow', function(){$.inAnimation = false;});
            }
            if (options.transition == 5){
                nextcontent.show("slide", { direction: "right" }, 'slow', function(){$.inAnimation = false;});
            }
            
            $('#supersize').resizenow();//Fix for resize mid-transition
    }
