var currentSlideNumber=0;

var homepageSlideshowSettings={
	'slideTransitionDuration'		: 1000,
	'slideDuration'					: 5000
};

var homepageSlideshowCache={};

$(document).ready(function(){

	// Init
	homepageAdvanceSlideshow(); //$("#homeSlideshow DIV").first().css("display", "block");

	// Begin
	setInterval("homepageAdvanceSlideshow()", homepageSlideshowSettings['slideDuration']);

});

function homepageAdvanceSlideshow() {

	nextSlideNumber=currentSlideNumber+1;
	if (nextSlideNumber > $("#homeSlideshow DIV").size()) {
		nextSlideNumber=1;
	}
	
	// Check the cache
	var src=$("#homeSlideshow DIV")
		.eq(nextSlideNumber-1)
		.css("background-image")
		.replace(/^url\((?:"|'|)(.+?)(?:"|'|)\)$/, "$1");
	if (homepageSlideshowCache[src]==true) {
		// Cache says we're already loaded, let's go!
		homepageShowSlide(nextSlideNumber);
	} else {
		// Preload, then show
		var img=new Image();
		$(img)
			.load(function(){
				homepageSlideshowCache[src]=true;
				homepageShowSlide(nextSlideNumber);
			})
			.attr("src", src);
	}
	
}

function homepageShowSlide(number) {

	$("#homeSlideshow DIV").eq(number-1).css("z-index", "2").fadeIn(
		homepageSlideshowSettings['slideTransitionDuration'],
		function(){
			$("#homeSlideshow DIV").eq(currentSlideNumber-1).css({
				"display" : "none",
				"z-index" : "0"
			});
			$(this).css("z-index", "1");
			currentSlideNumber=number;
		}
	);
	
}
