﻿(function($){

$.fn.ImageGallery = function() {
        var nextItem;
        var t;
    $(this).find('.panel').each(
                function(idx) {
                        if (idx == 0) {
                                $(this).addClass("current");
                        }
                        //$(this).css({'z-index':$(this).siblings().length - idx});
                        $(this).css({'z-index':idx + 1});
                }
        );
        $(this).find('.portfolio-image-navigation a').each(
                function(idx) {
                        if (idx == 0) {
                                moveTo($(this), 2000);
                        }
                        $(this).bind('click', this, function() {
                                                                        moveTo($(this));return false;
                                                                  }
                        )
                }
        );
        //moveNext($(this).find('.portfolio-image-navigation .selected'));
        function resetTimer(navItem) {
                nextItem = $(navItem).next();
                if (nextItem.length == 0) {
                        nextItem = $(navItem).siblings('a')[0];
                }
                clearTimeout(t);
                thisObj = this;
                t = setTimeout(function(){moveNext()}, 5000);
        }(jQuery)
        function moveNext() {
                // find current item index
                var allNav = $(nextItem).parent().children('a');
                var currIdx = $(allNav).index(nextItem) ;
                // move To Next Item
                moveTo(allNav[currIdx]);
        }(jQuery)
        function moveTo(navItem, speed) {
            if (typeof speed == 'undefined') {
                speed = 1000;
            }
                var nextImg = $('#' + $(navItem).attr('href').substring(1));
                var currImg = $(nextImg).siblings('current');
                var numImgs = $(nextImg).siblings('.panel').andSelf().length;
                // get z-index for next img
                var oldZIndex = $(nextImg).css('z-index');
                // hide next image
                $(nextImg).hide();
                // set z-index for next img to number of images
                $(nextImg).css({'z-index':numImgs});
                // iterate through images, decrementing z-index if it's between initial z-index for next img and number of images
                $(nextImg).siblings('.panel').each(
                        function() {
                                var z = $(this).css('z-index');
                                if (z > oldZIndex) {
                                        $(this).css({'z-index': z-1});
                                }
                        }
                );
                // fade out current image
                $(nextImg).fadeIn(speed);
                // decrement current images z-index by 2
                $(currImg).css({'z-index':numImgs-1});
                // set selected class on navigation to selected
                $(nextImg).addClass('current').siblings('.current').removeClass('current');
                $(navItem).addClass('selected').siblings('.selected').removeClass('selected');
                resetTimer($(navItem));
        }(jQuery)
        /*
        var panels = $(this).find('.panel');
        for(i=0; i<panels.length; i++) {
                $(panels[i]).css({'z-index':panels.length - i});
        }       
        */
        /*
        $(this).find('.portfolio-image-navigation a:first').addClass("selected");
        
        var navItems = $(this).find('.portfolio-image-navigation a');
        for(i=0; i<navItems.length; i++) {
                function() {
                        $(navItems[i]).attr('moveTo', i);
                }
        )
        */
        return $(this);
}

})(jQuery);

