
var images;
var imageCounter = 0;
var timer;
var slideshowContainer;
var slideshow;
var controls;
var autoplay;
var flashLoaded = false;
var toggle;

function outputStatus(e)
{
	flashLoaded = e.success;
}

function start()
{
	slideshow = document.getElementById('slideshow');
	slideshow.style.position = 'relative';
	images = slideshow.getElementsByTagName('img');
	for(i = 0; i < images.length; i++)
	{
		images[i].style.position = 'absolute';
		images[i].style.marginLeft = Math.round((document.getElementById('slideshow').offsetWidth - images[i].width) / 2) + 'px';
		images[i].style.marginTop = '0';//Math.round((document.getElementById('slideshow').offsetHeight - images[i].height) / 2) + 'px';
		images[i].style.visibility = 'visible';
		$(images[i]).hide();
	}
	$(images[imageCounter]).fadeIn(1000);
	if(!flashLoaded)
	{
		addControls();
	}
}

function addControls()
{
	slideshowContainer = document.getElementById('slideshowContainer');
	
	controls = document.createElement('div');
	controls.setAttribute('id', 'controls');
	
	slideshowContainer.insertBefore(controls, slideshow);
	
	
	var buttons = '<div id="controlPanel">';
	buttons += '<a href="#" id="begin" onclick="onBegin();"></a>';
	buttons += '<a href="#" id="previous" onclick="onPrevious();"></a>';
	buttons += '<a href="#" id="toggle" onclick="onToggle();"></a>';
	buttons += '<a href="#" id="next" onclick="onNext();"></a>';
	buttons += '<a href="#" id="end" onclick="onEnd();"></a>';
	buttons += '</div>';
	controls.innerHTML = buttons;
	controls.style.position = 'absolute';
	controls.style.bottom = (document.getElementById('controlPanel').offsetHeight + 10) + 'px';
	controls.style.left = (((slideshowContainer.offsetWidth - document.getElementById('controlPanel').offsetWidth) / 2) + 'px');
	
	if(images.length > 1)
	{
		commenceAutoPlay();
	}
}
function commenceAutoPlay()
{
	timer = setInterval(autoAdvance, 3000);
	autoplay = true;
	document.getElementById('controlPanel').getElementsByTagName('a')[2].style.backgroundImage = 'url(../slideshow-images/pause.gif)';
}
function stopAutoPlay()
{
	clearInterval(timer);
	timer = null;
	autoplay = false;
	document.getElementById('controlPanel').getElementsByTagName('a')[2].style.backgroundImage = 'url(../slideshow-images/play.gif)';
}
function autoAdvance()
{
	var oldImage = images[imageCounter];
	oldImage.style.zIndex = 0;
	if(imageCounter + 1 < images.length) {
		imageCounter++;
	}
	else {
		imageCounter = 0;
	}
	var nextImage = images[imageCounter];
	nextImage.style.zIndex = images.length;
	$(oldImage).fadeOut(1000);
	$(nextImage).fadeIn(1000);
}
function onNext()
{
	stopAutoPlay();
	var oldImage = images[imageCounter];
	if(imageCounter + 1 < images.length) {
		imageCounter++;
	}
	else {
		imageCounter = 0;
	}
	var nextImage = images[imageCounter];
	nextImage.style.zIndex = images.length;
	$(oldImage).fadeOut(1000);
	$(nextImage).fadeIn(1000);
}
function onPrevious()
{
	stopAutoPlay();
	var oldImage = images[imageCounter];
	if(imageCounter > 0) {
		imageCounter--;
	}
	else {
		imageCounter = images.length - 1;
	}
	var nextImage = images[imageCounter];
	nextImage.style.zIndex = images.length;
	$(oldImage).fadeOut(1000);
	$(nextImage).fadeIn(1000);
}
function onBegin()
{
	stopAutoPlay();
	if(imageCounter != 0)
	{
		var oldImage = images[imageCounter];
		imageCounter = 0;
		var nextImage = images[imageCounter];
		nextImage.style.zIndex = images.length;
		$(oldImage).fadeOut(1000);
		$(nextImage).fadeIn(1000);
	}
}
function onEnd()
{
	stopAutoPlay();
	if(imageCounter != images.length - 1)
	{
		oldImage = images[imageCounter];
		imageCounter = images.length - 1;
		nextImage = images[imageCounter];
		nextImage.style.zIndex = images.length;
		$(oldImage).fadeOut(1000);
		$(nextImage).fadeIn(1000);
	}
}

function onToggle()
{
	if(autoplay == true)
	{
		stopAutoPlay();
	}
	else
	{
		commenceAutoPlay();
	}
}