imageSource = new Array;
imageObject = new Array;
imageDescription = new Array;

currentSlide = -1;

function slideshow_addImageSource( sourcePath, description)
{
	imageSource.push( sourcePath);
	imageDescription.push( description);
}

function slideshow_setCurrentImage( imageIndex)
{
	var previousIndex = imageIndex - 1;
	var nextIndex = imageIndex + 1;
	
	if ( previousIndex < 0) previousIndex = imageSource.length - 1;
	if ( nextIndex >= imageSource.length) nextIndex = 0;
	
	if ( !imageObject[imageIndex])
	{
		var i = new Image;
		i.src = imageSource[imageIndex];
		imageObject[imageIndex] = i;
	}
	if ( !imageObject[previousIndex])
	{
		var i = new Image;
		i.src = imageSource[previousIndex];
		imageObject[previousIndex] = i;
	}
	if ( !imageObject[nextIndex])
	{
		var i = new Image;
		i.src = imageSource[nextIndex];
		imageObject[nextIndex] = i;
	}
	document["slideshow-image"].src = imageObject[imageIndex].src;
	document["slideshow-image"].width = imageObject[imageIndex].width;
	document["slideshow-image"].height = imageObject[imageIndex].height;
	currentSlide = imageIndex;
	document.getElementById('slide-description').innerHTML = imageDescription[imageIndex];
	document.getElementById('slide-number').innerHTML = (imageIndex + 1) + " of " + imageSource.length;
}

function slideshow_go_backwards()
{
	if ( currentSlide > 0)
		currentSlide = currentSlide - 1;
	else if ( currentSlide < 0)
		return;
	else
		currentSlide = imageSource.length - 1;
	
	slideshow_setCurrentImage( currentSlide);
}

function slideshow_go_forwards()
{
	if ( currentSlide < 0)
		return;
	else if ( currentSlide < (imageSource.length - 1))
		currentSlide = currentSlide + 1;
	else
		currentSlide = 0;
	
	slideshow_setCurrentImage( currentSlide);
}
