
_arr = new Array();


window.onload = function () {
	var cf = new crossfader(_arr);
}




/**
 *	author:		Timothy Groves - http://www.brandspankingnew.net
**/



var useBSNns;

if (useBSNns) {
	if (typeof(bsn) == "undefined")
		bsn = {}
	var _bsn = bsn;
}

else{
	var _bsn = this;
}



_bsn.crossfader = function(arr) {

	this.aDivs	= arr;
	this.nAct	= 0;
	this.nDur	= 1200;	//fadetime
	this.nDelay = 6000;	//delay
	
	var p=this;
	this.nID1 = setInterval(function() { p.newfade() }, this.nDelay);
}


_bsn.crossfader.prototype.newfade = function() {

	if (this.nID1)
		clearInterval(this.nID1);
	
	this.nOldAct = this.nAct;
	this.nAct++;

	if (!this.aDivs[this.nAct])
		this.nAct = 0;
	
	if (this.nAct == this.nOldAct)
		return false;
	
	document.getElementById( this.aDivs[this.nAct] ).style.visibility = "visible";
	
	this.nInt = 50;
	this.nTime = 0;
	
	var p = this;
	this.nID2 = setInterval(function() { p.fade() }, this.nInt);
}


_bsn.crossfader.prototype.fade = function() {
	this.nTime += this.nInt;
	
	var ieop = Math.round( (0.5*(1 - Math.cos(Math.PI*this.nTime/this.nDur))) * 100 );
	var op = ieop / 100;

	document.getElementById( this.aDivs[this.nAct] ).style.opacity = op;
	document.getElementById( this.aDivs[this.nAct] ).style.filter = "alpha(opacity="+ieop+")";
	
	if (this.nOldAct > -1) {
		document.getElementById( this.aDivs[this.nOldAct] ).style.opacity = 1 - op;
		document.getElementById( this.aDivs[this.nOldAct] ).style.filter = "alpha(opacity="+(100 - ieop)+")";
	}
	
	if (this.nTime == this.nDur) {

		clearInterval( this.nID2 );
		
		if (this.nOldAct > -1)
			document.getElementById( this.aDivs[this.nOldAct] ).style.visibility = "hidden";	
		
		var p=this;
		this.nID1 = setInterval(function() { p.newfade() }, this.nDelay);
	}
}
