nereidFadeObjects = new Object(); 
nereidFadeTimers = new Object(); 

function nereidFade(object, destOp, rate, delta){ 

	if (!document.all) 
		return 
	if (object != "[object]"){ 
		setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0); 
		return; 
	} 
	
	clearTimeout(nereidFadeTimers[object.sourceIndex]); 
		
		diff = destOp-object.filters.alpha.opacity; 
		direction = 1; 
		
		if (object.filters.alpha.opacity > destOp){ 
			direction = -1; 
		} 
		delta=Math.min(direction*diff,delta); 
		object.filters.alpha.opacity+=direction*delta; 
		
		if (object.filters.alpha.opacity != destOp){ 
			nereidFadeObjects[object.sourceIndex]=object; 
			nereidFadeTimers[object.sourceIndex]=setTimeout ("nereidFade(nereidFadeObjects["+object.sourceIndex+"], "+destOp+", "+rate+", "+delta+")", rate); 
		}
	}
