var alreadyrunflag=0 //flag to indicate whether target function has already been run
var d=document, imgs = new Array(), zInterval = null, current=0, cOpacity=1, nOpacity=0, pause=false;

if (document.addEventListener)
  document.addEventListener("DOMContentLoaded", function(){alreadyrunflag=1; so_init()}, false)
else if (document.all && !window.opera){
  document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>')
  var contentloadtag=document.getElementById("contentloadtag")
  contentloadtag.onreadystatechange=function(){
    if (this.readyState=="complete"){
      alreadyrunflag=1
      so_init()
    }
  }
}
window.onload=function(){
  setTimeout("if (!alreadyrunflag) so_init()", 0)
}



function so_init()
{
	imgs = d.getElementById('bigtop').getElementsByTagName('img');
	if (imgs.length >= 1)
	{
		for(i=0;i<imgs.length;i++) 
		{
			imgs[i].style.display = 'none';
			imgs[i].style.opacity = 0;
			imgs[i].style.MozOpacity = 0;
			imgs[i].style.filter = 'alpha(opacity=0)';
			imgs[i].xOpacity = 0;
		}
		imgs[imgs.length-1].style.display = 'block';
		imgs[imgs.length-1].xOpacity = 1;
		imgs[imgs.length-1].style.opacity = 1;
		imgs[imgs.length-1].style.MozOpacity = 1;
		imgs[imgs.length-1].style.filter = 'alpha(opacity=100)';
		setTimeout(so_xfade,8000);
		
		current=imgs.length-1;
	}
		
}



function so_xfade()
{
	nIndex = current+1;
	if (nIndex>=imgs.length) {
		nIndex = 0;
	}

	//console.log('current'+current)
	//console.log('next'+nIndex)
	
	so_xfade_run();
}



function so_xfade_run() {
	cOpacity = imgs[current].xOpacity;
	nOpacity = imgs[nIndex].xOpacity;

	cOpacity-=0.05;
	nOpacity+=0.05;
	
	//console.log('cOpacity' + current + ':' + cOpacity);
	//console.log('nOpacity' + nIndex + ':' + nOpacity);

	imgs[nIndex].style.display = 'block';
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;

	setOpacity(imgs[current]);
	setOpacity(imgs[nIndex]);

	if(cOpacity<=0)
	{
		imgs[current].style.display = 'none';
		current = nIndex;
		setTimeout(so_xfade,8000);
	}
	else
	{
		//console.log('currentx' + current)
		setTimeout(so_xfade_run,50);
	}

	function setOpacity(obj)
	{
		if(obj.xOpacity>=1.05)
		{
			obj.xOpacity = 1;
			return;
		}

		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = 'alpha(opacity=' + (obj.xOpacity*100) + ')';
	}

}