// var TimeToFade = 1000.0;
// 
// function fade(eid)
// {
//   var element = document.getElementById(eid);
//   if(element == null)
//     return;
//    
//   if(element.FadeState == null)
//   {
//     if(element.style.opacity == null
//         || element.style.opacity == ''
//         || element.style.opacity == '1')
//     {
//       element.FadeState = 2;
//     }
//     else
//     {
//       element.FadeState = -2;
//     }
//   }
//    
//   if(element.FadeState == 1 || element.FadeState == -1)
//   {
//     element.FadeState = element.FadeState == 1 ? -1 : 1;
//     element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
//   }
//   else
//   {
//     element.FadeState = element.FadeState == 2 ? -1 : 1;
//     element.FadeTimeLeft = TimeToFade;
//     setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
//   }  
// }
// 
// function animateFade(lastTick, eid)
// {  
//   var curTick = new Date().getTime();
//   var elapsedTicks = curTick - lastTick;
//  
//   var element = document.getElementById(eid);
//  
//   if(element.FadeTimeLeft <= elapsedTicks)
//   {
//     element.style.opacity = element.FadeState == 1 ? '1' : '0';
//     element.style.filter = 'alpha(opacity = '
//         + (element.FadeState == 1 ? '100' : '0') + ')';
//     element.FadeState = element.FadeState == 1 ? 2 : -2;
//     return;
//   }
//  
//   element.FadeTimeLeft -= elapsedTicks;
//   var newOpVal = element.FadeTimeLeft/TimeToFade;
//   if(element.FadeState == 1)
//     newOpVal = 1 - newOpVal;
// 
//   element.style.opacity = newOpVal;
//   element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
//  
//   setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
// }
// 
// function makeHttpRequest(url, callback_function, return_xml)
// {
//    var http_request = false;
// 
//    if (window.XMLHttpRequest) { // Mozilla, Safari,...
//        http_request = new XMLHttpRequest();
//        if (http_request.overrideMimeType) {
//            http_request.overrideMimeType('text/xml');
//        }
// 
//    } else if (window.ActiveXObject) { // IE
//        try {
//            http_request = new ActiveXObject("Msxml2.XMLHTTP");
//        } catch (e) {
//            try {
//                http_request = new ActiveXObject("Microsoft.XMLHTTP");
//            } catch (e) {}
//        }
//    }
// 
//    if (!http_request) {
//        alert('Unfortunatelly you browser doesn\'t support this feature.');
//        return false;
//    }
//    http_request.onreadystatechange = function() {
//        if (http_request.readyState == 4) {
//            if (http_request.status == 200) {
//                if (return_xml) {
//                    eval(callback_function + '(http_request.responseXML)');
//                } else {
//                    eval(callback_function + '(http_request.responseText)');
//                }
//            } else {
//                alert('There was a problem with the request.(Code: ' + http_request.status + ')');
//            }
//        }
//    }
//    http_request.open('GET', url, true);
//    http_request.send(null);
// }
// 
// function loadBanner(xml)
// {
//     var html_content = xml.getElementsByTagName('content').item(0).firstChild.nodeValue;
//     var reload_after = xml.getElementsByTagName('reload').item(0).firstChild.nodeValue;
//     fade('ajax-banner');
// //     document.getElementById('ajax-banner').innerHTML = html_content;
// 
//     try {
//         clearTimeout(to);
//     } catch (e) {}
// 
//     to = setTimeout("nextAd()", parseInt(reload_after));
// 
// 
// }
// 
// function nextAd()
// {
//     var now = new Date();
//     var url = 'ajax-banner.php?ts=' + now.getTime();
//     makeHttpRequest(url, 'loadBanner', true);
// }
// 
// window.onload = nextAd;
/**
 *  author:		Timothy Groves - http://www.brandspankingnew.net
 *	version:	1.3 - 2006-11-02
 *				1.2 - 2006-11-01
 *				1.1 - 2006-09-29
 *				1.0 - 2006-09-25
 *
 *	requires:	nothing
 *
 */

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++)
	{
		document.getElementById(divs[i]).style.opacity = 0;
// 		document.getElementById(divs[i]).style.position = "absolute";
		document.getElementById(divs[i]).style.filter = "alpha(opacity=0)";
		document.getElementById(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;
	
	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( this._easeInOut(this.nTime, 0, 1, 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);
	}
}



_bsn.Crossfader.prototype._easeInOut = function(t,b,c,d)
{
	return c/2 * (1 - Math.cos(Math.PI*t/d)) + b;
}
