// slideshow functions

var xfadeOpacity = 0;
var slideShowTimer = null;
var slideShowNextIndex = 1;
var slideShowImages = new Array();
var slideShowNextImage = new Image();
var slideShowStartTime = 0;
// configurable parameters:
var slideShowFadeBackImage = false;	// set to true if images are of different sizes; otherwise set to false
var slideShowFirstShowTime = 3000;
var slideShowNormalShowTime = 6000;
var slideShowFadeTime = 800;

function addSlideToSlideshow (inUrl)
{
	slideShowImages.push (inUrl);
}

function disorderArray()
{
	var newArray = new Array();
	for (i = 0; i < slideShowImages.length; i++)
		newArray[i] = Math.random() + "x" + i;
	newArray.sort();
	for (i = 0; i < slideShowImages.length; i++)
	{
		idx = newArray[i].substr(newArray[i].indexOf("x")+1);
		temp = slideShowImages[i];
		slideShowImages[i] = slideShowImages[idx];
		slideShowImages[idx] = temp;
	}
}

function xfadeImages()
{
	var dateObj = new Date();
	xfadeOpacity = Math.round (100 * (dateObj.getTime() - slideShowStartTime) / slideShowFadeTime);
	if (xfadeOpacity > 100)
		xfadeOpacity = 100;

	document.getElementById("slideShowImage2").style.filter = "alpha(Opacity=" + xfadeOpacity + ")";
	document.getElementById("slideShowImage2").style.opacity = xfadeOpacity/100;

	if (slideShowFadeBackImage)
	{
		document.getElementById("slideShowImage1").style.filter = "alpha(Opacity=" + (100-xfadeOpacity) + ")";
		document.getElementById("slideShowImage1").style.opacity = (100-xfadeOpacity)/100;
	}

	if (xfadeOpacity == 100)
	{
		document.getElementById("slideShowImage1").src = document.getElementById("slideShowImage2").src;
		if (slideShowFadeBackImage)
		{
			document.getElementById("slideShowImage1").style.filter = "alpha(Opacity=100)";
			document.getElementById("slideShowImage1").style.opacity = 1;
		}
		document.getElementById("slideShowImage2").style.filter = "alpha(Opacity=0)";
		document.getElementById("slideShowImage2").style.opacity = 0;
		slideShowNextImage.src = slideShowImages[slideShowNextIndex];
		slideShowTimer = setTimeout ("changeImage()", slideShowNormalShowTime);
	}
	else
		slideShowTimer = setTimeout ("xfadeImages()", 5);
}

function changeImage()
{
	document.getElementById("slideShowImage2").src = slideShowNextImage.src;
	if (!slideShowFadeBackImage)
	{
		document.getElementById("slideShowImage2").style.filter = "alpha(Opacity=0)";
		document.getElementById("slideShowImage2").style.opacity = 0;
	}

	var dateObj = new Date();

	slideShowStartTime = dateObj.getTime();

	setCookie ("slideShowStart", slideShowStartTime, 1);
	setCookie ("slideShowIndex", slideShowNextIndex, 1);
//	setCookie ("slideShowImage", document.getElementById("slideShowImage2").src, 0);

	slideShowNextIndex++;
	if (slideShowNextIndex >= slideShowImages.length)
		slideShowNextIndex = 0;
	
	xfadeOpacity = 0;
	slideShowTimer = setTimeout ("xfadeImages()", 5);
}

function initSlides (inShuffle)
{
	if (slideShowImages.length > 0)
	{
		if (inShuffle)
			disorderArray();
		slideShowNextImage.src = slideShowImages[slideShowNextIndex];

		var myDate = new Date();
		
		startTime = getCookie ("slideShowStart");
		if (startTime != null)
		{
			slideShowFirstShowTime = slideShowFirstShowTime - (myDate.getTime()-startTime);
			if (slideShowFirstShowTime < 0)
				slideShowFirstShowTime = 100;
		}
		
		slideShowCurrIndex = slideShowNextIndex > 0 ? slideShowNextIndex-1 : slideShowImages.length-1;
		
		setCookie ("slideShowStart", myDate.getTime(), 1);
		setCookie ("slideShowIndex", slideShowCurrIndex, 1);
//		setCookie ("slideShowImage", document.getElementById("slideShowImage1").src, 1);

		slideShowTimer = setTimeout ('changeImage()', slideShowFirstShowTime);
	}
}

function exitSlides()
{
	if (slideShowTimer != null)
		clearTimeout (slideShowTimer);	
}

