﻿var useBSNns; 
if(useBSNns) { 

if (typeof(bsn) == "undefined") 
bsn = {}


var _bsn = bsn; 
} 

else { 

var _bsn = this; 
}

_bsn.Crossfader = 

function (divs, fadetime, delay ) { 

this.nAct = -1; 

this.aDivs = divs; 


for (var i=0;i<divs.length;i++) { 
divs[i].style.opacity = 0;

divs[i].style.position = "absolute"; 
divs[i].style.filter = "alpha(opacity=0)"; 
divs[i].style.visibility = "hidden"; 
}



this.nDur = fadetime; 

this.nDelay = delay; 

this._newfade(); 
}

_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; 

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( this._easeInOut(this.nTime, 0, 1, this.nDur) * 100 ); 

var op = ieop / 100; 
this.aDivs[this.nAct].style.opacity = op; 
this.aDivs[this.nAct].style.filter = "alpha(opacity="+ieop+")"; 

if (this.nOldAct > -1) { 
this.aDivs[this.nOldAct].style.opacity = 1 - op; 
this.aDivs[this.nOldAct].style.filter = "alpha(opacity="+(100 - ieop)+")"; 
}



if (this.nTime == this.nDur) { 
clearInterval( this.nID2 ); 


if (this.nOldAct > -1) 
this.aDivs[this.nOldAct].style.visibility = "hidden"; 

var p=this; 

this.nID1 = setInterval(function() { p._newfade() }, this.nDelay); 
}

}

_bsn.Crossfader.prototype._easeInOut = 

function(t,b,c,d) { 

return c/2 * (1 - Math.cos(Math.PI*t/d)) + b; 
}

