var SlideShowID = -1;
var PictureFadeID = -1;
var PictureIndex = 0;
var PictureFadeAmount = 0;
var PictureToFade;
var OldPicture;

var SlideShowElementID;
var SlideShowAreaID;
var TimePerPicture;
var FadeDuration;
var FadeSteps;
var PictureArray;

function StartSlideShow(slideShowElementID, slideShowAreaID, timePerPicture, fadeDuration, fadeSteps)
	{
	SlideShowElementID = slideShowElementID;
	SlideShowAreaID = slideShowAreaID;
	TimePerPicture = timePerPicture;
	FadeDuration = fadeDuration;
	FadeSteps = fadeSteps;

	var SlideShowElement = document.getElementById(slideShowElementID);
	var ImageList = SlideShowElement.getElementsByTagName("IMG");
	var Images = [];

	for(var i = 0; i < ImageList.length; i++)
		Images[i] = ImageList[i];

	PictureArray = [];
	for(var i = 0; i < Images.length; i++)
		{
		var Image = Images[i];
		var PictureAnchor = Image.parentNode;

		PictureArray[i] = [];
		PictureArray[i][0] = slideShowElementID + "_" + i;
		PictureArray[i][1] = PictureAnchor.href;

		Image = Image.parentNode.removeChild(Image);
		Image = SlideShowElement.appendChild(Image);
		PictureAnchor.parentNode.removeChild(PictureAnchor);

		Image.id = PictureArray[i][0];
		Image.style.visibility = (i == 0 ? "visible" : "hidden");
		}

	SlideShowID = setInterval('NextPicture()', TimePerPicture);
	UpdateAreaLink();
//	NextPicture();
	}

function UpdateAreaLink()
	{
	var AreaElement = document.getElementById(SlideShowAreaID);

	AreaElement.href = PictureArray[PictureIndex][1];
	}

function NextPicture()
	{
	PictureIndex++;
	if(PictureIndex == PictureArray.length)
		PictureIndex = 0;

	PictureFadeAmount = 0;

	if(PictureToFade)
		{
		PictureToFade.style.zIndex = 0;
		OldPicture = PictureToFade;
		}

	PictureToFade = document.getElementById(PictureArray[PictureIndex][0]);
	PictureToFade.style.visibility = "visible";
	PictureToFade.style.zIndex = 1;
	SetPictureFade();

	PictureFadeID = setInterval('FadePicture()', FadeDuration / FadeSteps);

	UpdateAreaLink();
	SetActiveButton();
	}

function SetActiveButton()
	{
	var Button;
	for(var i = 0; i < PictureArray.length; i++)
		{
		Button = document.getElementById(PictureArray[i][0]);
		if(Button)
			Button.className = '';
		}

	Button = document.getElementById(PictureArray[PictureIndex][0]);
	if(Button)
		Button.className = 'active';
	}

function SetPictureFade()
	{
	PictureToFade.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+(PictureFadeAmount * 100)+")";
	PictureToFade.style.KHTMLOpacity = PictureFadeAmount;
	PictureToFade.style.MozOpacity = PictureFadeAmount;
	PictureToFade.style.opacity = PictureFadeAmount;
	}

function FadePicture()
	{
	PictureFadeAmount += 1.0 / FadeSteps;
	if(PictureFadeAmount > 1)
		PictureFadeAmount = 1;

	SetPictureFade();

	if(PictureFadeAmount == 1)
		{
		clearInterval(PictureFadeID);
		PictureFadeID = -1;

		if(OldPicture)
			OldPicture.style.visibility = "hidden";
		}
	}

function ShowPicture(Index)
	{
	PictureIndex = Index;

	clearInterval(SlideShowID);
	SlideShowID = setInterval('NextPicture()', TimePerPicture);

	if(PictureFadeID)
		{
		clearInterval(PictureFadeID);
		PictureFadeID = -1;

		if(OldPicture)
			OldPicture.style.visibility = "hidden";
		}

	if(PictureToFade)
		PictureToFade.style.visibility = "hidden";

	PictureToFade = document.getElementById(PictureArray[PictureIndex][0]);
	PictureToFade.style.visibility = "visible";
	PictureToFade.style.zIndex = 1;

	PictureFadeAmount = 1;
	SetPictureFade();

	SetActiveButton();
	}
