/*
 * SCRIPT CALLED BY index.php FOR lib/homePageDiaShow.php
 */


// ONLOAD FUNCTION --------------------------------------------------------------------------------------------------------------------
$(function() {
	// FORCE IMAGE LOADING WITH js/preloadFunction.js preload() FUNCTION, AND THEN LAUNCH DIASHOW:
	preload("#homeShowBox", "black", startDiaShow);
	// preload("#homeShowBox", "#e5e5e5", startDiaShow);
	// preload("#homeShowBox", startDiaShow);
	
	// CLICKED DIASHOW LEADS TO PORTFOLIO:
	$("#homeShowBox").click(function() { document.location.href="index.php?m=1"; });
});


// FUNCTION STARTING DIASHOW ----------------------------------------------------------------------------------------------------------
function startDiaShow() {
	// IF THE GALLERY DOESN'T CONTAIN AT LEAST TWO PICTURES, DON'T LAUNCH DIASHOW;
	// SHOW THE ONLY IMAGE (IF IT EXISTS):
	if($("#homeShowBox img").length < 2) {
		$("#homeShowBox img").show().addClass("active");
		return;
	}
	
	// TO AVOID FLICKERING ON IE6 (BECAUSE IE6 DOESN'T ACCEPT CSS OPACITY),
	// THE IMAGES ARE FIRST IN display:none AND THEN ARE SHOWN AFTER LOADING:
	$("#homeShowBox img:first-child").show(function() {
		$("#homeShowBox img").not("#homeShowBox img:first-child").show();
	});

	// TILL NOW, ALL IMAGES HAVE A 0.0 OPACITY;
	// GIVE FULL OPACITY (1.0) TO FIRST PICTURE, USING CLASS "active":
	$("#homeShowBox img:first-child").addClass("active");

	// TO AVOID FIRST PICTURE STAYING TOO LONG BEFORE DIASHOW LOOP, SWITCH FIRST IMAGE QUICKLY BEFORE DIASHOW:
	waitBefore2ndPic = setTimeout(function() {
		// REMOVE WAITING PERIOD:
		clearTimeout(waitBefore2ndPic);
		
		// DISPLAY SECOND PICTURE:
		homePageDiaSwitch();
		
		// THEN CONTINUE DIASHOW WITH NORMAL REFRESHING SPEED:
		homePageDiaShowTimer = setInterval("homePageDiaSwitch()", 5000);
	}, 2000);
}


// HOMEPAGE PICTURE SWITCH ------------------------------------------------------------------------------------------------------------
function homePageDiaSwitch() {
	// CATCH CURRENT PICTURE:
	var $active = $("#homeShowBox img.active");

	// IF NO PICTURE WAS FOUND, DEFAULT PICTURE IS THE LAST SO... WE'LL START BY THE FIRST:
	if($active.length == 0) $active = $("#homeShowBox img:last");

	// IF WE'RE IN THE END OF PICTURES LIST, THE NEXT ONE WILL BE THE FIRST IMAGE:
	var $next = $active.next().length ? $active.next() : $("#homeShowBox img:first");

	// CHANGE CURRENT PICTURE z-index (PUT IT BACK):
	$active.addClass("lastActive");

	// FADIN THE NEW PICTURE AND DECLASSIFY PREVIOUS ONE:
	$next.css({opacity: 0.0})
		.addClass("active")
		.animate({opacity: 1.0}, 2500, function() {
			$active.removeClass("active lastActive").animate({opacity: 0.0}, 1000);
		});
}
