// JavaScript Document


function fadeClass(id){
	this.element = gid(id);
	this.name = id;
	this.op = 0;
	this.maxOp=10;
	this.t;
	this.cbin=false;
	this.callbackin='';
	this.cbout=false;
	this.callbackout='';
	this.param = '';
	this.useParam=false;
	this.addCallBackOut = function(callout){
		if(callout){
			this.cbout=true;
			this.callbackout=callout;
		}
	}
	this.addCallBackIn = function(callin,para){
		if(para){ this.param = para; this.useParam=true; }
		if(callin){
			this.cbin=true;
			this.callbackin=callin;
		}
	}
	this.setOpacity = function(){
		var x = this.op/10;
		var z = this.op*10;
		this.element.style.opacity=x;
		this.element.style.MozOpacity=x;
		this.element.style.KhtmlOpacity=x;
		this.element.style.filter="alpha(opacity="+z+")";
	}
	this.fadeOut = function(){
		clearTimeout(this.t);
		if(this.op<1){
			if(this.cbout)eval(this.callbackout+"()");
			return;
		}
		this.op=this.op-1;
		this.setOpacity();
		this.t = setTimeout("gsa.fade."+this.name+".fadeOut()",50);
	}
	this.fadeIn = function(setMax){
		clearTimeout(this.t);
		if(setMax) this.maxOp=setMax;
		if(this.op>=this.maxOp){
			if(this.cbin){
				if(this.useParam)
				eval(this.callbackin+"("+this.param+")"); 
				else
				eval(this.callbackin+"()");
			}
			return;
		}
		this.op=this.op+1;
		this.setOpacity();
		this.t = setTimeout("gsa.fade."+this.name+".fadeIn()",50);
	}
}