/*
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
*/

(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();
                        $('#supersize').fadeIn('fast');
                        $('#content').show();
                        if ($('#slideshow .activeslide').length == 0) $('#supersize a:first').addClass('activeslide');
                        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 > *").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');
            currentslide.removeClass('activeslide');

            if ( currentslide.length == 0 ) currentslide = $('#supersize a:last');

            var nextslide =  currentslide.next().length ? currentslide.next() : $('#supersize a:first');
            var prevslide =  nextslide.prev().length ? nextslide.prev() : $('#supersize a: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');

                //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;});
                    }

            $('#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');
            currentslide.removeClass('activeslide');

            if ( currentslide.length == 0 ) currentslide = $('#supersize a:first');

            var nextslide =  currentslide.prev().length ? currentslide.prev() : $('#supersize a:last');
            var prevslide =  nextslide.next().length ? nextslide.next() : $('#supersize a: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');

                //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;});
                    }

                    $('#supersize').resizenow();//Fix for resize mid-transition
        }



                    //Slideshow jump
        function jumptoPic(picNum) {
            var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

            var currentslide = $('#supersize .activeslide');
            currentslide.removeClass('activeslide');
            currentslide = $('#supersize a:first');


     for(var i=0;i<picNum;i++){
            //var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
            var currentslide = $('#supersize .activeslide');
            currentslide.removeClass('activeslide');

            if ( currentslide.length == 0 ) currentslide = $('#supersize a:last');

            var nextslide =  currentslide.next().length ? currentslide.next() : $('#supersize a:first');
            var prevslide =  nextslide.prev().length ? nextslide.prev() : $('#supersize a:last');



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

                //Captions require img in <a>


            nextslide.hide().addClass('activeslide')
            }
                    if (options.transition == 0){
                            nextslide.show(); $.inAnimation = false;
                    }
                    if (options.transition == 1){
                            nextslide.fadeIn(750, function(){$.inAnimation = true;});
                    }
                    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;});
                    }

            $('#supersize').resizenow();//Fix for resize mid-transition
            $.inAnimation = true;
                     //clearInterval(slideshow_interval);
            $.paused = true;

            var obj_playpause= document.getElementById('cmd_play_pause');
            obj_playpause.src="images/cmd_play.png";
        }

