
fadeObjects = new Object();
fadeTimers = new Object();

/* @param object - image to be faded (actual object, not name);
 * @param destop - destination transparency level (ie 80, for mostly solid)
 * @param rate   - time in milliseconds between trasparency changes (best under 100)
 * @param delta  - amount of change each time (ie 5, for 5% change in transparency)
 */
function fade(object, destOp, rate, delta, autohide)
{
	if (!document.all) return
    	if (object != "[object]")
    	{  
       		setTimeout("fade("+object+","+destOp+","+rate+","+delta+","+autohide+")",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+","+autohide+")",rate);
    	}
		else if (object.filters.alpha.opacity == 100 && autohide == true)
		{
			setTimeout("fade(fadeObjects["+object.sourceIndex+"],0,"+rate+","+delta+","+autohide+")",1000)
			
		}
		else if (object.filters.alpha.opacity == 0)
			object.style.visibility = "hidden";
}

/*
* call this script like that:
* <img 
* 	border="0" src="Part1s.gif" width="193" height="60" BORDER="0" 
* 	style="filter:alpha(opacity=25)" 
* 	onmouseover="fade(this,100,30,5)" 
* 	onmouseout="fade(this,25,50,5)" align="left"
* >
*/

