
//	Image Slideshow Routines

//	Copyright (c) gaelITech 2009
//	www.gaelitech.ie

//	Global variables for gi_Slideshow routines
var	gi_SlideShow_gImage_List = new Array();
var	gi_SlideShow_gImagePlaceholder = null;
var	gi_SlideShow_gNextImage = 0;
var	gi_SlideShow_gPath = "";
var	gi_SlideShow_gDelay = 0;
var	gi_SlideShow_gRandom = 1;
var	gi_SlideShow_gNoFiles = 0;
var	gi_SlideShow_gDigits = 0;
var	gi_SlideShow_gPrefix = "";

//	Advance the SlideShow
function	gi_SlideShowNext()
{
	var	nNextImage, sNextImage;
	
	// calculate next image index
	if	(gi_SlideShow_gRandom)
	{
		// ensure next one is different to current one
		nNextImage = gi_SlideShow_gNextImage;
		while	(nNextImage == gi_SlideShow_gNextImage)
			nNextImage = Math.floor(Math.random() * gi_SlideShow_gNoFiles) + 1;
		gi_SlideShow_gNextImage = nNextImage;
	}
	else
	{
		gi_SlideShow_gNextImage++;
		if	(gi_SlideShow_gNextImage > gi_SlideShow_gNoFiles)
			gi_SlideShow_gNextImage = 1;
	}

	if	(gi_SlideShow_gImage_List[gi_SlideShow_gNextImage].src.length == 0)
	{
		// image not cached yet - force it to be loaded
		sNextImage = gi_SlideShow_gNextImage.toString();
		while	(sNextImage.length < gi_SlideShow_gDigits)
			sNextImage = "0" + sNextImage;
		gi_SlideShow_gImage_List[gi_SlideShow_gNextImage].src = gi_SlideShow_gPath + gi_SlideShow_gPrefix + sNextImage + ".jpg";
	}

	gi_SlideShow_gImagePlaceholder.src = gi_SlideShow_gImage_List[gi_SlideShow_gNextImage].src;

	setTimeout("gi_SlideShowNext()", gi_SlideShow_gDelay * 1000);
}

//	Initialise the SlideShow
function	gi_SlideShowInit(oPlaceholder, sPath, nFiles, nDelay, nRandom, nDigits, sPrefix)
{
	var	i;
	
	// save Init values in globals
	gi_SlideShow_gNoFiles = nFiles;
	gi_SlideShow_gDelay = nDelay;
	gi_SlideShow_gRandom = nRandom;
	gi_SlideShow_gImagePlaceholder = oPlaceholder;
	gi_SlideShow_gPath = sPath;
	gi_SlideShow_gDigits = nDigits;
	gi_SlideShow_gPrefix = sPrefix;
	
	// cancel onload event handler to avoid infinite recursion
	oPlaceholder.onload = null;

	//	create an empty array to hold image objects
	for	(i = 1; i <= nFiles; i++)
		gi_SlideShow_gImage_List[i] = new Image();
	
	//	start the Slideshow
	gi_SlideShowNext();
}
