
        nereidFadeObjects = new Object();
        nereidFadeTimers = new Object();

        /*
         * object - image to be faded (actual object, not name);
         * destop - destination transparency level (ie 80, for mostly solid)
         * rate   - time in milliseconds between trasparency changes (best under 100)
         * delta  - amount of change each time (ie 5, for 5% change in transparency)
         */

        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);
            }
        }
