FadeObjects = new Object();
FadeTimers = new Object();
function Fade(object, destOp, rate, delta){
	try{
		if (typeof(object) != "object"){
			setTimeout("Fade(object,"+destOp+","+rate+","+delta+")",0);
			return;
		}
		clearTimeout(FadeTimers[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){
			FadeObjects[object.sourceIndex]=object;
			FadeTimers[object.sourceIndex]=setTimeout("Fade(FadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
		}
    }catch(e){
    }
}
