/********************************************************
 *                                                      *
 *  **************************************************  *
 *  *                                                *  *
 *  *                                                *  *
 *  *                 JS crossfade                   *  *
 *  *                  Copyright:                    *  *
 *  *                    BasieP                      *  *
 *  *               http://basiep.nl                 *  *
 *  *                     2006                       *  *
 *  *                                                *  *
 *  *                                                *  *
 *  *                                                *  *
 *  **************************************************  *
 *                                                      *
 ********************************************************/



var cf_staytime = new Array(4000, 3000, 3500);
var cf_fadetime = new Array(2000, 1500, 2000);
							//total time between 2 frames is cf_fadetime + cf_staytime

var cf_stepinterval = 80;	//0.2 secs (lower is more smooth, but takes more cpu power)



/*
Don't edit under this line
*/


window.onload = function windowLoaded() {
	for (var i=0;i<3;i++) {

		var container = document.getElementById("cf_container" + (i + 1));

		container.cf_staytime = cf_staytime[i];
		container.cf_fadetime = cf_fadetime[i];
		container.cf_content = cf_content[i];

		container.cf_div_trans = 100;
		container.showdiv1 = true;
		container.cf_contentCounter = 1;


		var div1 = container.getElementsByTagName('div')[0];
		if (div1 != null) {
			container.cf_content = shuffle(container.cf_content);
			div1.style.backgroundImage = 'url('+container.cf_content[0] + ')';
			crossfade(container.id);
		}

		//startList();
	}
}

function crossfade(container) {
	var container = document.getElementById(container);

	var div1 = container.getElementsByTagName('div')[0];
	var div2 = container.getElementsByTagName('div')[1];

	//set transparency
	div1.style.filter = 'Alpha(opacity=' + container.cf_div_trans+')';
	div1.style.MozOpacity = container.cf_div_trans / 100;
	div1.style.KhtmlOpacity = container.cf_div_trans / 100;
	div1.style.opacity = container.cf_div_trans / 100;

	div2.style.filter = 'Alpha(opacity='+(100 - container.cf_div_trans)+')';
	div2.style.MozOpacity = (100 - container.cf_div_trans) / 100;
	div2.style.KhtmlOpacity = (100 - container.cf_div_trans) / 100;
	div2.style.opacity = (100 - container.cf_div_trans) / 100;


	//calculate next transparency
	var cf_stepsize = 100 / container.cf_fadetime * cf_stepinterval;
	container.cf_div_trans = container.showdiv1?container.cf_div_trans + cf_stepsize:container.cf_div_trans - cf_stepsize;


	//catch switches
	if (container.cf_div_trans < 0) {
		container.cf_div_trans = 0;

		//change content div1
		div1.style.backgroundImage = 'url('+container.cf_content[container.cf_contentCounter] + ')';
		container.cf_contentCounter++;
		if (container.cf_contentCounter >= container.cf_content.length)
			container.cf_contentCounter = 0;

		//shuffle array
		container.cf_content = shuffle(container.cf_content);

		//show content for xx seconds
		setTimeout ("crossfade('" + container.id + "');", container.cf_staytime);
		container.showdiv1 = true;
	} else if (container.cf_div_trans > 100) {
		container.cf_div_trans = 100;

		//change content div2
		div2.style.backgroundImage = 'url(' + container.cf_content[container.cf_contentCounter] + ')';
		container.cf_contentCounter++;
		if (container.cf_contentCounter >= container.cf_content.length)
			container.cf_contentCounter = 0;

		//show content for xx seconds
		setTimeout ("crossfade('" + container.id + "');", container.cf_staytime);
		container.showdiv1 = false;
	} else {
		//do next shade of transparency
		setTimeout ("crossfade('" + container.id + "');", cf_stepinterval);
	}
}




/**************************************
» Jonas Raoni Soares Silva
» http://www.joninhas.ath.cx
**************************************/

function shuffle(o) {
	for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
	return o;
};