﻿(function ($) {
    var intervalVariable;
    var defaults = {
        imgContainer: "",
        slideSpeed: 600,
        scrollInterval: 4000,
        autoScroll: true
    };

    $.fn.imageShowcase = function (config) {
        var simpleLoad = function (config) {
            var isFirst = true;
            $("#" + config.imgContainer).find("#gallery").children("li").each(function () {
                var item = $(this);
                if (!isFirst) {
                    item.hide();
                }
                else {
                    item.addClass("current");
                }
                isFirst = false;
            });
        };
        var setupAutoScroll = function (config) {
            intervalVariable = setInterval("$.fn.imageShowcase.nextImage(" + JSON.stringify(config) + ", true)", config.scrollInterval);
        };
        var setupDiv = function (config) {

            $(window).load(function () {

                //Setup auto scroll
                if (config.autoScroll) {
                    setupAutoScroll(config);
                }
            });
        };
        return this.each(function () {
            var config = $.extend({}, defaults, config);

            config.imgContainer = $(this).attr("id");

            setupDiv(config);
            simpleLoad(config);

            return this;
        });
    };

    $.fn.imageShowcase.nextImage = function (config, fromTimeout) {
        if (fromTimeout) {
            config = eval(config);
        }
        else {
            config = eval("(" + config + ")");
        }
        var container = $("#" + config.imgContainer);
        var current = container.find("#gallery").find(".current");

        if (current.is(":last-child")) {
            current.fadeOut('slow').removeClass("current").parent().children("li:first").fadeIn().addClass("current");
        }
        else {

            current.fadeOut('slow').removeClass("current").next().fadeIn().addClass("current");
        };
    };

})(jQuery);

