
$(document).ready(function() {
	stackFadeIn($(".thumb-block img, #homeImage"));
	gallery();
});

/* Sequentially fade in a collection of elements (assumes they are already hidden in CSS using "visibility:hidden") */
function stackFadeIn(jQueryCollection) {
	if (jQueryCollection.length > 0) {
       	var jQueryImgObj = $(jQueryCollection.splice(0,1));	
		imageLoad(jQueryImgObj);
		setTimeout(function(){stackFadeIn(jQueryCollection)},100);
	}
}
var preloaderHandle;
function imageLoad(jQueryImgObj) {		
	preloaderHandle = setTimeout(function(){$("#preloader").show();},500);
	var newImage = new Image();	
	newImage.onload = function() {
		clearTimeout(preloaderHandle);
		$("#preloader").hide();
		jQueryImgObj.parent().css({height:jQueryImgObj.height()+"px"})
		jQueryImgObj.css({display:"none",visibility:"visible"})
		jQueryImgObj.fadeIn(1000);
	}
	newImage.src = jQueryImgObj.attr("src");
}

function gallery() {
	if($(".gallery-container").size()>0) {	
	
		// Calculate panel to show
		var qs = getUrlVars();
		if(qs["img"]==undefined) {
			var currentPanel 	= 0;
		} else {
			var currentPanel 	= parseInt(qs["img"])-1;
		}
		var panelCount		= $(".scrollable .block").size();
		$(".prevPage").click(function() {
			currentPanel--;
			move();
		})
		$(".nextPage").click(function() {
			currentPanel++;
			move();
		})
		
		// Preload this...
		stackFadeIn($(".scrollable .block:eq("+currentPanel+") img"));
		
		var targetY = $(".scrollable .block:eq("+currentPanel+")").position();
		$(".items").hide().css({visibility: "visible",left:"-"+targetY.left+"px"}).fadeIn(1500);
		$("#galleryDescription").html($(".scrollable .block:eq("+currentPanel+")").attr("title"));	
		
		function move() {
	clearTimeout(preloaderHandle);
			if(currentPanel<0) {
				currentPanel = panelCount-1;
			}
			if(currentPanel>=panelCount) {
				currentPanel = 0;
			}
			stackFadeIn($(".scrollable .block:eq("+currentPanel+") img"));
			var targetY = $(".scrollable .block:eq("+currentPanel+")").position();
			$(".items").stop().fadeTo(300,0.2,function(){
				$(this).animate({left:"-"+targetY.left+"px"},500,function(){
					$(this).fadeTo(300,1);
					$("#galleryDescription").html($(".scrollable .block:eq("+currentPanel+")").attr("title"));
				})
			})

		}
	}	
}
