/*
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;
        var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

		var isPaused = false;

		var numItemsVisible = 10;
		var numScrollCounter = 1;

		function TogglePause()
		{
			if(isPaused == false)
			{
				pause_supersize();
			}
			else
			{
				play_supersize();
			}
		}

		function pause_supersize()
		{
			clearInterval(slideshow_interval);
			isPaused = true;
			$('#pause_button').css({background:"url('../images/design/jqueryslideshow/btnPauseActive.png') no-repeat left bottom"});
		}

		function play_supersize()
		{
			slideshow_interval = setInterval(nextslide, options.slide_interval);
			isPaused = false;
			$('#pause_button').css({background:"url('../images/design/jqueryslideshow/btnPause.png') no-repeat left bottom"});
		}


        $(window).bind("load", function() {

            $('#loading').fadeOut(1000);

            if ($('#slideshow .activeslide').length == 0) $(options.div_id + ' a:first').addClass('activeslide');

            if (options.navigation == 0) $('#navigation').hide();
            //Slideshow
            if (options.slideshow == 1) {

                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 ($.inAnimation) return false;
                        clearInterval(slideshow_interval);

						var currentslide = $(options.div_id + ' .activeslide');

						var currentSlideNum = 0;

						// if number is over 9
						if (currentslide.attr("id").length > 10)
						{
							currentSlideNum = currentslide.attr("id").substring(currentslide.attr("id").length - 2, currentslide.attr("id").length);
						}
						else
						{
							currentSlideNum = currentslide.attr("id").substring(currentslide.attr("id").length - 1, currentslide.attr("id").length);
						}

						//alert(numScrollCounter);
						//alert($("#super_gallery_thumbs .showThisImage").length);

						if(numScrollCounter <= ($(options.div_thumbs_id + " .showThisImage").length - 10))
						{
							
							$(options.div_thumbs_id).trigger('next.serialScroll');
							numScrollCounter++;
						}
						else if($(options.div_thumbs_id + " .showThisImage").length == currentSlideNum)
						{
							$(options.div_thumbs_id).trigger("goto", 0);
							numScrollCounter = 1;
						}


                        nextslide();
                        //slideshow = 0;


                        //slideshow_interval = setInterval(nextslide, options.slide_interval);
                        return false;
                    });

                    // User clicked on slideshow
                    /*
                    $('.superImageNext').click(function() {
                    if ($.inAnimation) return false;
                    clearInterval(slideshow_interval);
                    nextslide();
                    slideshow_interval = setInterval(nextslide, options.slide_interval);
                    return false;
                    });
                    */

                    $('#prevslide').click(function() {
                        if ($.inAnimation) return false;
                        clearInterval(slideshow_interval);

						var currentslide = $(options.div_id + ' .activeslide');

						var currentSlideNum = 0;

						// if number is over 9
						if (currentslide.attr("id").length > 10)
						{
							currentSlideNum = currentslide.attr("id").substring(currentslide.attr("id").length - 2, currentslide.attr("id").length);
						}
						else
						{
							currentSlideNum = currentslide.attr("id").substring(currentslide.attr("id").length - 1, currentslide.attr("id").length);
						}

						if((currentSlideNum) == 1)
						{
							$(options.div_thumbs_id).trigger("goto", $(options.div_thumbs_id + " .showThisImage").length - numItemsVisible);
							numScrollCounter = $(options.div_thumbs_id + " .showThisImage").length - numItemsVisible + 1;
						}
						else if(currentSlideNum < 10)
						{
							$(options.div_thumbs_id).trigger('prev.serialScroll');
							numScrollCounter--;
						}


                        prevslide();
                        //slideshow = 0;
                        //slideshow_interval = setInterval(nextslide, options.slide_interval);
                        return false;
                    });
					

					$('#div_slideshow_big_outer').hover(
					function(){
						$('#supersize_links_inner').stop().animate({bottom: "1px"});
					},
					function()
					{
						$('#supersize_links_inner').stop().animate({bottom: "27px"});
					});

					

					$('#pause_button').click(function() {
						TogglePause();
					});

					$('.supersize_link').click(function() {
						pause_supersize();
					});


                    $('.showThisImage').click(function() {

						clearInterval(slideshow_interval);
						isPaused = true;
						$('#pause_button').css({background:"url('../images/design/jqueryslideshow/btnPauseActive.png') no-repeat left bottom"});

						if ($.inAnimation || $(this).hasClass("showThisImageActive") || $(this).hasClass("showThisImageLeftActive")) return false;
						else $.inAnimation = true;

						if(isPaused == false)
						{
							clearInterval(slideshow_interval);
							slideshow_interval = setInterval(nextslide, options.slide_interval);
						}

                        if (!$(options.div_id + ' .activeslide').hasClass($(this).attr("id"))) {
                            var currentslide = $(options.div_id + ' .activeslide');
                            currentslide.removeClass('activeslide');

                            var imageSelected = "." + $(this).attr("id");
                            $(imageSelected).hide().addClass('activeslide');


                            $('.showThisImage').removeClass('showThisImageActive');
							$('.showThisImage').removeClass('showThisImageLeftActive');

                            $('.showDescImg').removeClass('showDescImgActive');

                            $(imageSelected).addClass('showDescImgActive');

							if($(this).hasClass('showThisImageLeft'))
							{
								$(this).addClass('showThisImageLeftActive');
							}
							else
							{
								$(this).addClass('showThisImageActive');
							}

                            if (options.transition == 0) {
                                $(imageSelected).show(); $.inAnimation = false;
                                currentslide.hide();
                            }
                            if (options.transition == 1) {
                                $(imageSelected).fadeIn(750, function() { $.inAnimation = false; currentslide.hide(); });

                            }
                            if (options.transition == 2) {
                                $(imageSelected).show("slide", { direction: "up" }, 'slow', function() { $.inAnimation = false; });
                            }
                            if (options.transition == 3) {
                                $(imageSelected).show("slide", { direction: "right" }, 'slow', function() { $.inAnimation = false; });
                            }
                            if (options.transition == 4) {
                                $(imageSelected).show("slide", { direction: "down" }, 'slow', function() { $.inAnimation = false; });
                            }
                            if (options.transition == 5) {
                                $(imageSelected).show("slide", { direction: "left" }, 'slow', function() { $.inAnimation = false; });
                            }
                        }


                    });
                }
            }
        }
       );


        //Pause when hover on image
        //$('#supersize > *').hover(function() {
        //original_title = $(this).find('img').attr("title");
        //if ($.inAnimation) return false; else $(this).find('img').attr("title", "");
        //}, function() {
        //$(this).find('img').attr("title", original_title);
        //});

        //$('#supersize').hide();
        //$('#content').hide();
    };



    $.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,
		div_id: "#supersize"
    };

})(jQuery);

	
//Slideshow Next Slide

function nextslide() {

    if ($.inAnimation) return false;
    else $.inAnimation = true;

    var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

    var currentslide = $(options.div_id + ' .activeslide');
    currentslide.removeClass('activeslide');

    if (currentslide.length == 0) currentslide = $(options.div_id + '  a:last');

    var nextslide = currentslide.next().length ? currentslide.next() : $(options.div_id + ' a:first');

    var prevslide = nextslide.prev().length ? nextslide.prev() : $(options.div_id + ' a:last');

    //
    // Display what link is active
    //

    var currentSlideNum = 0;

	// if number is over 9
	if (currentslide.attr("id").length > 10)
	{
		currentSlideNum = currentslide.attr("id").substring(currentslide.attr("id").length - 2, currentslide.attr("id").length);
	}
	else
	{
		currentSlideNum = currentslide.attr("id").substring(currentslide.attr("id").length - 1, currentslide.attr("id").length);
	}

	

    var nextSlideNum = 0;
	
	// if number is over 9
	if (nextslide.attr("id").length > 10)
	{
		nextSlideNum = nextslide.attr("id").substring(nextslide.attr("id").length - 2, nextslide.attr("id").length);
	}
	else
	{
		nextSlideNum = nextslide.attr("id").substring(nextslide.attr("id").length - 1, nextslide.attr("id").length);
	}

	

	//alert(nextslide.attr("id").length);

    $('.showThisImage').removeClass('showThisImageActive');
    $('.showThisImage').removeClass('showThisImageLeftActive');
	$('.showDescImg').removeClass('showDescImgActive');

    var nextSlideLink = "#imgNum" + nextSlideNum;
    var nextDesc = "#imgDesc" + nextSlideNum;



	if($(nextSlideLink).hasClass('showThisImageLeft'))
	{
		$(nextSlideLink).addClass('showThisImageLeftActive');
	}
	else
	{
		$(nextSlideLink).addClass('showThisImageActive');
	}


    $(nextDesc).addClass('showDescImgActive');

    //
    // End Display what link is active
    //

    $('.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;
        currentslide.hide();
    }
    if (options.transition == 1) {

        if ($.browser.msie && parseInt($.browser.version) <= 6) {

            //var height = $("#div_slideshow_big_outer").height();
            //$(nextslide).css({ height: height });
			
            $(nextslide).fadeIn(750, function() { $.inAnimation = false; currentslide.hide(); });
        }
        else {
     		
            $(nextslide).fadeIn(750, function() { $.inAnimation = false; currentslide.hide(); });
        }
    
        //nextslide.stop().fadeIn(750, function() { $.inAnimation = false; currentslide.hide(); });   
    }
    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; });
    }
	



}
	
	
				
			
//Slideshow Previous Slide

function prevslide() {

    if ($.inAnimation) return false;

    else $.inAnimation = true;

    var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

    var currentslide = $(options.div_id + ' .activeslide');

    currentslide.removeClass('activeslide');

    // if currentslide is not found, get first a tag
    if (currentslide.length == 0) currentslide = $(options.div_id + ' a:first');

    var nextslide = currentslide.prev().length ? currentslide.prev() : $(options.div_id + '  a:last');

    var prevslide = nextslide.next().length ? nextslide.next() : $(options.div_id + ' a:first');

    var currentSlideNum = 9
		
	// if number is over 9
	if (currentslide.attr("id").length > 10)
	{
		currentSlideNum = currentslide.attr("id").substring(currentslide.attr("id").length - 2, currentslide.attr("id").length);
	}
	else
	{
		currentSlideNum = currentslide.attr("id").substring(currentslide.attr("id").length - 1, currentslide.attr("id").length);
	}	
	
	currentslide.attr("id").substring(currentslide.attr("id").length - 1, currentslide.attr("id").length);


    var nextSlideNum = 0;
	
	// if number is over 9
	if (nextslide.attr("id").length > 10)
	{
		nextSlideNum = nextslide.attr("id").substring(nextslide.attr("id").length - 2, nextslide.attr("id").length);
	}
	else
	{
		nextSlideNum = nextslide.attr("id").substring(nextslide.attr("id").length - 1, nextslide.attr("id").length);
	}

    //var nextSlideNum = nextslide.attr("id").substring(nextslide.attr("id").length - 1, nextslide.attr("id").length);

    $('.showThisImage').removeClass('showThisImageActive');
    $('.showDescImg').removeClass('showDescImgActive');

    var nextSlideLink = "#imgNum" + nextSlideNum;
    var nextDesc = "#imgDesc" + nextSlideNum;

    $(nextSlideLink).addClass('showThisImageActive');
    $(nextDesc).addClass('showDescImgActive');

    $('.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;
        currentslide.hide();
    }
    if (options.transition == 1) {

        if ($.browser.msie && parseInt($.browser.version) <= 6) {

            //var height = $("#div_slideshow_big_outer").height();
            //$(nextslide).css({ height: height });

            $(nextslide).fadeIn(750, function() { $.inAnimation = false; currentslide.hide(); });
        }
        else {

            $(nextslide).fadeIn(750, function() { $.inAnimation = false; currentslide.hide(); });
        }
  
    }
    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; });
    }
}
