

//------------------- FadeIn Class: To fade in an object -------------------------- 

// object id, time interval, opacity limit, code to execute when limit reached
function FadeIn(objId, ti, lim, handler) {
	
	this.handler = handler;	
	
	this.opacity = 0;
	this.limit = lim;
	this.interval = ti;

	this.object = $(objId);
	this.object.style.opacity = 0;
	
	var oself = this;
	function startFade() { oself.tf(); }
	this.ti = setInterval(startFade, this.interval);
	
	this.tf = function fade_tf() {			
		//$('srchItem_field').value = this.name +':'+this.opacity;		
		if ((this.opacity == 10) || (this.opacity >= this.limit)) {
			clearInterval(this.ti);
			this.object.style.opacity = this.limit/10;
			eval(this.handler);
			//$('srchItem_field').value = this.fOpacity;	
		}
		else {
			this.object.style.opacity = this.opacity/10;
			this.opacity += 2;
		}	
	}
}



//------------------- FadeOut Class: To fade out an object -------------------------- 

// object id, time interval, code to execute when opacity becomes 0
function FadeOut(objId, ti, handler) {
	
	this.handler = handler;	
	
	this.opacity = this.object.style.opacity * 10;
	this.interval = ti;

	this.object = $(objId);
	this.object.style.opacity = this.opacity / 10;
	
	var oself = this;
	function startFade() { oself.tf(); }
	this.ti = setInterval(startFade, this.interval);
	
	this.tf = function fade_tf() {
		//$('srchItem_field').value = this.name +':'+this.opacity;		
		if (this.opacity <= 0) {
			clearInterval(this.ti);
			eval(this.handler);
			//$('srchItem_field').value = this.fOpacity;	
		}
		else {
			this.object.style.opacity = this.opacity/10;
			this.opacity -= 2;
		}	
	}
}
