// JavaScript Document
window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

var d=document, divs = new Array(), current=0, fadingDown = true;
var cycleTime = 12000;
         
function hideDivsInImageContainer() {
	if(!d.getElementById || !d.createElement) {
		return;
	}
	// turn off all the images+captions
	divs = d.getElementById("imageContainer").getElementsByTagName("div");
	     for(i=0; i < divs.length; i++) {
		divs[i].style.display = "none";		
	}
}

function so_init() {
	if(!d.getElementById || !d.createElement) {
		return;
	}
	divs = d.getElementById("imageContainer").getElementsByTagName("div");
	for(i=0; i<divs.length; i++) {
		divs[i].xOpacity = 0;
		divs[i].style.display = "none";		
	}

	// select a random image+caption to display
	current = Math.round(Math.random()*(divs.length-1))
	divs[current].xOpacity = 1.0;

	for(i=0; i<divs.length; i++) {
		setOpacity(divs[i]);
	}
	divs[current].style.display = "block";

	fadingDown = true;
	setTimeout(so_xfade, cycleTime);
}

function so_xfade() {
	if (fadingDown == true) {
		/* fading down */
		cOpacity = divs[current].xOpacity - 0.1;
		if(cOpacity <= 0.0) {
			divs[current].style.display = "none";
			fadingDown = false;
			divs[current].xOpacity = 0.0;
			setOpacity(divs[current]);

			current = divs[current+1]?current+1:0;
			divs[current].xOpacity = 0.0;
			setOpacity(divs[current]);	
			divs[current].style.display = "block";
		}
		else {
			divs[current].xOpacity = cOpacity;
			setOpacity(divs[current]);
		}			
		setTimeout(so_xfade, 25);
	}
	else {
		/* fading up */
		cOpacity = divs[current].xOpacity + 0.1;
		if (cOpacity >= 1.0) {
			divs[current].xOpacity = 1.0;
			setOpacity(divs[current]);
			setTimeout(so_xfade, cycleTime);
			fadingDown = true;
		}
		else {
			divs[current].xOpacity = cOpacity;
			setOpacity(divs[current]);
			setTimeout(so_xfade, 50);
		}
	}
	
}
function setOpacity(obj) {
	// 0.99 to avoid flashing on Firefox and Mozilla
	if(obj.xOpacity>0.99) {
		obj.xOpacity = 0.99;
	}
	obj.style.opacity = obj.xOpacity;
	obj.style.MozOpacity = obj.xOpacity;
	obj.style.KhtmlOpacity = obj.xOpacity;
	obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}