function faderJs(){
	this.divId = 'faderId';
	this.faderDelay = 50;
	this.initShowFor = 5000;
	this.faderShowFor = 5000;
	this.faderHideFor = 20000;
	this.faderColor = '#FFFFFF';
	this.layerObj = new Object();
	
	this.opacCnt = 0;
	this.opacInc = 5;
	this.delayVar = 0;
	this.cleanWhitespace = function(node) {
		var notWhitespace = /\S/;
		for(var i=0;i<node.childNodes.length; i++) {
			var childNode = node.childNodes[i];
			if ((childNode.nodeType == 3)&&(!notWhitespace.test(childNode.nodeValue))) {
				node.removeChild(node.childNodes[i]);
				i--;
			}
			if(childNode.nodeType == 1) {
				this.cleanWhitespace(childNode);
			}
		}
	};
	this.initfader = function(){
		var faderObj = document.getElementById(this.divId);
		faderObj.orgObj = this;
		this.cleanWhitespace(faderObj);
		this.layerObj = document.createElement('div');
		this.layerObj.style.position = 'absolute';
		this.layerObj.style.zIndex = '2';
		this.layerObj.style.visibility = 'hidden';
		this.layerObj.style.display = 'none';
		this.layerObj.style.width = faderObj.offsetWidth + 'px';
		this.layerObj.style.height = faderObj.offsetHeight + 'px';
		faderObj.parentNode.insertBefore(this.layerObj, faderObj);
		this.layerObj.innerHTML = '&nbsp;';
		this.startFader();
	};
	this.startFader = function(){
		var faderObj = document.getElementById(this.divId);
		this.opacDelay('changeOpacInc');
	}
	this.opacDelay = function(func){
		var _self = this;
		this.delayVar = (this.initShowFor) ? this.initShowFor : this.faderDelay;
		this.initShowFor = 0;
		setTimeout(function(){eval('_self.'+func+'()');}, _self.delayVar);
	}
	this.changeOpacInc = function(){
		this.opacCnt = this.opacCnt + this.opacInc;
		this.layerObj.style.opacity = (this.opacCnt / 100); 
		this.layerObj.style.MozOpacity = (this.opacCnt / 100); 
		this.layerObj.style.KhtmlOpacity = (this.opacCnt / 100); 
		this.layerObj.style.filter = "alpha(opacity=" + this.opacCnt + ")";
		this.layerObj.style.visibility = 'visible';
		this.layerObj.style.display = 'block';
		this.layerObj.style.backgroundColor = this.faderColor;
		if(this.opacCnt < 100){
			this.opacDelay('changeOpacInc');
		}else{
			this.waitOffBannerImage();
		}
	}
	this.startOpecDec = function(func){
		var _self = this;
		setTimeout(function(){eval('_self.'+func+'()');}, this.faderDelay);
	}
	this.changeOpacDec = function(){
		this.opacCnt = this.opacCnt - this.opacInc;
		this.layerObj.style.opacity = (this.opacCnt / 100); 
		this.layerObj.style.MozOpacity = (this.opacCnt / 100); 
		this.layerObj.style.KhtmlOpacity = (this.opacCnt / 100); 
		this.layerObj.style.filter = "alpha(opacity=" + this.opacCnt + ")";
		this.layerObj.style.visibility = 'visible';
		this.layerObj.style.display = 'block';
		this.layerObj.style.backgroundColor = this.faderColor;
		if(this.opacCnt > 0){
			this.startOpecDec('changeOpacDec');
		}else{
			this.waitOnBannerImage();
		}
	}
	this.changeBannerFocus = function(){
		var faderObj = document.getElementById(this.divId);
		faderObj.appendChild(faderObj.firstChild);
		this.startOpecDec('changeOpacDec');
	}
	this.waitOnBannerImage = function(){
		this.layerObj.style.visibility = 'hidden';
		this.layerObj.style.display = 'none';
		this.waitOnBannerDelay('changeOpacInc');
	}
	this.waitOnBannerDelay = function(func){
		var _self = this;
		setTimeout(function(){eval('_self.'+func+'()');}, _self.faderShowFor);
	};
	this.waitOffBannerImage = function(){
		this.layerObj.style.visibility = 'visible';
		this.layerObj.style.display = 'block';
		this.waitOffBannerDelay('changeBannerFocus');
	}
	this.waitOffBannerDelay = function(func){
		var _self = this;
		// alert('wait longer');
		this.delayVar = (this.initHideFor) ? this.initHideFor : this.faderHideFor;
		this.initHideFor = 0;
		setTimeout(function(){eval('_self.'+func+'()');}, _self.delayVar);
	};
}
