window.addEventListener?window.addEventListener("load", so_init, false):window.attachEvent("onload", so_init);
var objImage = null, objThumb = null, zInterval = null, current = 0, next = -1, handle = null, pause = false, isstop = false, interval = 5;

function so_init() 
{
	var i = 0;
	var j = 0;
	var cnt = 1;

	objThumb = document.getElementById('thumbnail');
	objImage = document.getElementById('images'); if(!objImage) return;
	
	for(i=1; i<objImage.childNodes.length; i++) objImage.childNodes[i].xOpacity = 0;

	objImage.childNodes[0].style.display = "block";
	objImage.childNodes[0].xOpacity = .99;

	setOpacity(objImage.childNodes[0]);
	
	handle = setTimeout(so_xfade, (objImage.childNodes[0].getAttribute('duration') ? objImage.childNodes[0].getAttribute('duration') : interval) * 1000);
}

function so_xfade()
{
	cOpacity = objImage.childNodes[current].xOpacity;
	
	if(next==-1) nIndex = objImage.childNodes[current+1] ? (current+1) : 0;
	else { clearInterval(handle); nIndex = objImage.childNodes[next] ? next : 0; }

	nOpacity = objImage.childNodes[nIndex].xOpacity;
	if(objThumb) objThumb.childNodes[0].childNodes[current].className = '';
	if(objThumb) objThumb.childNodes[0].childNodes[nIndex].className = 'over';

	cOpacity -= .05; 
	nOpacity += .05;
	
	objImage.childNodes[nIndex].style.display = "block";
	objImage.childNodes[current].xOpacity = cOpacity;
	objImage.childNodes[nIndex].xOpacity = nOpacity;
	
	setOpacity(objImage.childNodes[current]); 
	setOpacity(objImage.childNodes[nIndex]);
	
	if(cOpacity<=0)
	{
		objImage.childNodes[current].style.display = "none";
		current = nIndex;
		next = -1;
		handle = setTimeout(so_xfade, (objImage.childNodes[current].getAttribute('duration') ? objImage.childNodes[current].getAttribute('duration') : interval) * 1000);
	}
	else
	{
		handle = setTimeout(so_xfade, 50);
	}
}
	
function setOpacity(obj1)
{
	if(obj1.xOpacity>.99)
	{
		obj1.xOpacity = .99;
		return;
	}
	obj1.style.opacity = obj1.xOpacity;
	obj1.style.MozOpacity = obj1.xOpacity;
	obj1.style.filter = "alpha(opacity=" + (obj1.xOpacity*100) + ")";
}

