nereidFadeObjects = new Object();
nereidFadeTimers = new Object();

function nereidFade(object, destOp, rate, delta){
	if (!document.all)
		return
   	if (object != "[object]"){  
		//do this so I can take a string too
        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);
	}
}

