﻿$.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).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
		$(currImg).removeClass('current');
		$(nextImg).addClass('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);
}