var slideSelected = 0;
var slideLength = 4; //Default value
var slideTimer;
var slideDivIdPrefix = 'slide';

function slideSetLength(i)
{
	slideLength = i;
}

function slideAutoStart()
{
	if (slideTimer)
		slideAutoStop();	
	else
		slideTimer = setInterval("slideShowNext()", 6000);
}

function slideAutoStop()
{
	slideTimer = clearInterval(slideTimer);
}

function slideShowPrev()
{
	if (slideSelected === false)
		slideShow(0);
	else if (slideSelected == 0)
		slideShow(slideLength - 1);
	else
		slideShow(slideSelected - 1);
}

function slideShowNext()
{
	if (slideSelected === false)
		slideShow(0);
	else if (slideSelected == (slideLength - 1))
		slideShow(0);
	else
		slideShow(parseInt(slideSelected) + 1);
}

function slideShow(i)
{
	if (i == slideSelected)
		return;
	var elem = document.getElementById(slideDivIdPrefix+i);
	if (elem)
	{	
//		slideFadeOut(slideSelected);
//		setTimeout("slideFadeIn("+i+")", 500);
		slideFadeIn(i);
	}
}

function slideHide(i)
{
	var elem = document.getElementById(slideDivIdPrefix+i);
	if (elem)
	{	
		elem.className = elem.className.replace(/visible/i, "hidden");
	}
}

function slideFadeIn(i)
{
	var elem = document.getElementById(slideDivIdPrefix+i);
	if (elem)
	{
		opacity_match = elem.className.match(/opacity([^\s]+)/i);

		if (!opacity_match)
		{
			elem.className = elem.className + " opacity20";
			elem.className = elem.className.replace(/hidden/i, "visible");
		}
		else
		{
			opacity_class = opacity_match[0];
			opacity = parseInt(opacity_match[1]);
			if (opacity == 100)
			{
				elem.className = elem.className.replace(opacity_class, "");
				slideHide(slideSelected);
		 		slideSelected = i;
				return;
			}
	
			opacity = opacity + 10;
			elem.className = elem.className.replace(opacity_class, "opacity"+opacity);
		}
		setTimeout("slideFadeIn("+i+")", 120);
	}			 	
}

function slideFadeOut(i)
{
	var elem = document.getElementById(slideDivIdPrefix+i);
	if (elem)
	{
		opacity_match = elem.className.match(/opacity([^\s]+)/i);

		if (!opacity_match)
		{
			elem.className = elem.className + " opacity80";
		}
		else
		{
			opacity_class = opacity_match[0];
			opacity = parseInt(opacity_match[1]);
			if (opacity == 0)
			{
				elem.className = elem.className.replace(opacity_class, "");
				slideHide(i);
				return;
			}
	
			opacity = opacity - 10;
			elem.className = elem.className.replace(opacity_class, "opacity"+opacity);
		}
		setTimeout("slideFadeOut("+i+")", 80);
	}			 	
}
