/*
Gradual-Highlight Image Script II- 
By J. Mark Birenbaum (birenbau@ugrad.cs.ualberta.ca)
Permission granted to Dynamicdrive.com to feature script in archive
For full source to script, visit http://dynamicdrive.com
*/

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]"){  //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);
    }
}












drg_ie = document.all; drg_ns6 = document.getElementById && !document.all; drg_dragapproved = false;
var drg_z, drg_x, drg_y;

function drg_move(e){
	if (drg_dragapproved){
	drg_z.style.left = drg_ns6 ? drg_temp1 + e.clientX - drg_x + 'px' : drg_temp1 + event.clientX - drg_x + 'px'; 
	drg_z.style.top = drg_ns6 ? drg_temp2 + e.clientY - drg_y + 'px' : drg_temp2 + event.clientY - drg_y + 'px';
	return false 
	}
}

function drg_drags(e){
	if (!drg_ie && !drg_ns6) return
	var drg_firedobj = drg_ns6 ? e.target : event.srcElement; var drg_topelement = drg_ns6 ? 'html' : 'BODY';
	while (drg_firedobj.tagName != drg_topelement && drg_firedobj.className != 'FinestraTrascinabile'){
		drg_firedobj = drg_ns6 ? drg_firedobj.parentNode : drg_firedobj.parentElement; 
	}
		
	if (drg_firedobj.className == 'FinestraTrascinabile'){
		drg_dragapproved = true; drg_z = drg_firedobj;
		drg_temp1 = parseInt(drg_z.style.left + 0); drg_temp2 = parseInt(drg_z.style.top + 0);
		drg_x = drg_ns6 ? e.clientX : event.clientX; drg_y = drg_ns6 ? e.clientY : event.clientY;
		document.onmousemove = drg_move; return false; 
	}
}

document.onmousedown = drg_drags;
document.onmouseup = new Function('drg_dragapproved = false');