﻿/*
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
Thanks to Aen for preloading, fade effect, & vertical centering
*/

(function($) {
    $.fn.supersized = function() {
        var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

        $.totalImages = 0;
        $.loadedImages = new Array();
        $.loadedImagesIndex = 0;
        $.slideInterval = null;

        $(document).ready(function() {
            $("#supersize img").each(function() { var i = new Image; $.totalImages++; i.src = this.src; $(i).load(function() { $.loadedImages.push(i); }) });

            $("#supersize").empty();

            $.slideInterval = setInterval(nextslide, options.slide_interval);

            $("#supersize").resize();
        });

        $(window).bind("resize", function() {
            $("#supersize").resize();
        });
    };

    $.fn.resize = function() {
        var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

        return this.each(function() {

            var ratio = options.startheight / options.startwidth;

            var imagewidth = $(this).width();
            var imageheight = $(this).height();
            var browserwidth = $(window).width();
            var browserheight = $(window).height();
            var offset;

            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: 1500,
        startheight: 900,
        vertical_center: 1,
        slide_interval: 5000,
        fade_interval: 1550
    };

})(jQuery);

function nextslide() {
    var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);

    if ($.loadedImages.length == 0) {
        return;
    }

    if ($.loadedImagesIndex >= $.loadedImages.length - 1) {
        $.loadedImagesIndex = 0;
    } else {
        $.loadedImagesIndex++;
    }

    $("#supersize img").fadeOut(options.fade_interval);

    $("#supersize").hide().empty().append($($.loadedImages[$.loadedImagesIndex]));

    $("#supersize img").hide();

    $("#supersize").show();

    $("#supersize img").fadeIn(options.fade_interval);

    $("#supersize").resize();

    if ($.totalImages == 1) {
        clearInterval($.slideInterval);
    }
}