nereidFadeObjects = new Object();
nereidFadeTimers = new Object();

function nereidFade(object, destOp, rate, delta)
{


    if(typeof(object)!="object")
		object=(document.all)?document.all[""+object+""]:document.getElementById(""+object+"");
		
	//if (!document.all)
	//	return;
	
	

	clearTimeout(nereidFadeTimers[object.sourceIndex]);

    if(object.style.MozOpacity == "")
    {
		/*
		diff = destOp-object.style.MozOpacity;	
		
		direction = 1;
		
		if (object.style.MozOpacity > destOp)
		{
			direction = -1;
		}

		delta=Math.min(direction*diff,delta);
		object.style.MozOpacity+=direction*delta;
		


		if (object.style.MozOpacity != destOp)
		{
			nereidFadeObjects[object.sourceIndex]=object;
			nereidFadeTimers[object.sourceIndex]=
			setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"], "+destOp+","+rate+","+delta+")",rate);
		}
		*/
		
	}
	else
	{
		if (object != "[object]")
		{
		
			setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
			return;
		}
		
		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);
		}
	}
}