window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

var d=document, imgs = new Array(), links = new Array(), zInterval = null, current=-1, pause=false,interval=7000;

function so_init() {

	if(!document.getElementById || ( document.getElementById("XimageContainer") == null && document.getElementById("XminiimageContainer") == null ) ) return;
	var targetID = document.getElementById("XimageContainer") != null ? "XimageContainer" : "XminiimageContainer";
	imgs = document.getElementById( targetID ).getElementsByTagName("img");
	for(i = 0; i < imgs.length; i++) {
		imgs[i].xOpacity = 0;
	}
	
	// Get initial index from document
	var startIndex = Math.abs(document.getElementById("setFirstCurrent").title);
	imgs[startIndex].style.display = "block";
	imgs[startIndex].xOpacity = .99;
	
	// ActiveData recommendation tracking for first initially displayed product
	dw.ac.capture({id:imgs[startIndex].getAttribute("title"), type:dw.ac.EV_PRD_RECOMMENDATION});
	//console.info( imgs[startIndex].getAttribute("title"));
	
	links = document.getElementById( targetID ).getElementsByTagName("span");
	
	if ( document.getElementById("currentLink") )
	{
		document.getElementById("currentLink").href = links[Math.abs(document.getElementById("setFirstCurrent").title )].id;
		setTimeout(so_xfade,interval);
	}
}

function so_xfade() {
	if ( current == -1 ) { current = Math.abs(document.getElementById("setFirstCurrent").title ); }
	var cOpacity = imgs[current].xOpacity;
	var nIndex = imgs[current+1]?current+1:0;
	var nOpacity = imgs[nIndex].xOpacity;

	document.getElementById("currentLink").href = links[nIndex].id;
	
	cOpacity-=.05; 
	nOpacity+=.05;
	
	imgs[nIndex].style.display = "block";
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;
	
	// ActiveData recommendation tracking when image is fully displayed
	if( nOpacity >= 0.99 ) {
		dw.ac.capture({id:imgs[nIndex].getAttribute("title"), type:dw.ac.EV_PRD_RECOMMENDATION});
		//console.info( imgs[nIndex].getAttribute("title"));
	}
	
	setOpacity(imgs[current]); 
	setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[current].style.display = "none";
		current = nIndex;
		setTimeout(so_xfade,interval);
	} else {
		setTimeout(so_xfade,80);
	}
	
	function setOpacity(obj) {
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
}