// Slideshow with fading images created by Preston St. Pierre for eVision Media

var slideinterval = 5000; // in ms
var allpics = new Array();
var totalpics = allpics.length;
var showid = 0;
var curid = 0;
var nextid;

var curtimers = new Array();

function initialize()
{
	setimages(getimages());
	startslideshow();
}

function setimages(newimages)
{
	allpics = newimages;
	totalpics = allpics.length;
}

function startslideshow()
{
	showid = setInterval('slideshow()',slideinterval);
	//linkid = "hflink" + curid;
	//if (document.getElementById(linkid))
	//{ document.getElementById(linkid).style.backgroundPosition = "right"; }
}

function stopslideshow()
{
	clearInterval(showid);
}

function gotoslide(newslide)
{
	if (newslide != curid)
	{
		stopslideshow();
		for (thistimer in curtimers)
		{
			clearTimeout(curtimers[thistimer]);
		}
		curtimers = new Array();
		fadein(newslide);
		fadeout(curid);
		curid = newslide;
		startslideshow();
		for (i=0; i<=allpics.length; i++)
		{
			try
			{
				if (allpics[i][0] != curid)
				{ setop(document.getElementById(allpics[i][1]),0); }
			}
			catch (thiserror) { }
		}
	}
}

function nextslide()
{
	if (curid == totalpics-1)
		gotoslide(0);
	else
		gotoslide(curid+1);
}

function prevslide()
{
	if (curid == 0)
		gotoslide(totalpics-1);
	else
		gotoslide(curid-1);
}

function setop(setimg,oppct)
{
	setimg.style.filter = 'alpha(opacity=' + oppct + ')';
  	setimg.style.MozOpacity = oppct/100;
	setimg.style.opacity=(oppct/100);
}

function fadeout(imgfrom)
{
	curimg = document.getElementById(allpics[imgfrom][1]);

	for (i=0; i<=10; i++)
	{
		fromop = 100-(i*10);
		timeout = i*100;
		curtimers.push(setTimeout('setop(curimg,' + fromop + ')',timeout));
	}
}

function fadein(imgto)
{
	neximg = document.getElementById(allpics[imgto][1]);
	linkbox = document.getElementById('ssinfolink');
	titlebox = document.getElementById('ssinfotitle');
	
	linkbox.innerHTML='<a href="' + allpics[imgto][4] + '"><div id="llfa-findmore"></div></a>';
	titlebox.innerHTML=allpics[imgto][2];

	for (i=0; i<=10; i++)
	{
		toop = i*10;
		timeout = i*100;
		curtimers.push(setTimeout('setop(neximg,' + toop + ')',timeout));
	}
}

function slideshow()
{
	curtimers = new Array();
	if (curid+1 >= totalpics)
		{ nextid = 0; }
	else
		{ nextid = curid+1; }


	fadeout(curid);
	fadein(nextid);

	if ((curid+1) >= totalpics)
		{ curid = 0; }
	else
		{ curid++; }
}
