window.addEventListener ? window.addEventListener('load',so_init,false) : window.attachEvent('onload',so_init);

var slideShowImgs = new Array(), cIndex = new Array(), nIndex = new Array(), cOpacity=.99, nOpacity=0;

function so_init() {
	if(!document.getElementById || !document.createElement) return;

	setIndex = -1;
	allDivs = document.getElementsByTagName('div');
	for (i = 0; i < allDivs.length; i++) {
		thisDiv = allDivs[i];
		if (thisDiv.className == 'slideShow') {
			actualImgSet = thisDiv.getElementsByTagName('img');
			if (actualImgSet.length>1) {
				setIndex++;
				slideShowImgs[setIndex] = actualImgSet;
				for(j = 1; j < slideShowImgs[setIndex].length; j++) {
					slideShowImgs[setIndex][j].xOpacity = 0;
				}
				slideShowImgs[setIndex][0].style.display = 'block';
				slideShowImgs[setIndex][0].xOpacity = .99;
				cIndex[setIndex] = 0;
			}
			else {
				actualImgSet[0].style.display = 'block';
			}
		}
	}

	if (setIndex == -1) return;

	setTimeout(so_xfade,3000);
}

function so_xfade() {
	cOpacity-=.05;
	nOpacity+=.05;

	for (setInd=0; setInd<slideShowImgs.length; setInd++) {
		nIndex[setInd] = slideShowImgs[setInd][cIndex[setInd]+1] ? cIndex[setInd] + 1 : 0;

		slideShowImgs[setInd][nIndex[setInd]].style.display = 'block';
		slideShowImgs[setInd][cIndex[setInd]].xOpacity = cOpacity;
		slideShowImgs[setInd][nIndex[setInd]].xOpacity = nOpacity;

		setOpacity(slideShowImgs[setInd][cIndex[setInd]]);
		setOpacity(slideShowImgs[setInd][nIndex[setInd]]);

//		alert("set: " + setInd + "  -  cIndex[setInd]: " + cIndex[setInd]);
	}

	if(cOpacity<=0) {
		cOpacity=.99;
		nOpacity=0;
		for (setInd=0; setInd<slideShowImgs.length; setInd++) {
			slideShowImgs[setInd][cIndex[setInd]].style.display = 'none';
			cIndex[setInd] = nIndex[setInd];
		}
		setTimeout(so_xfade,3000);
	}
	else {
		setTimeout(so_xfade,50);
	}

}

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) + ')';
}

