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);
    }
}

function initImage(objId){
image = document.getElementById(objId);
setOpacity(image, 0);
image.style.visibility = 'visible';
}

function setOpacity(obj,opacity){
opacity=(opacity==100) ? 99.999 : opacity;
obj.style.KHTMLOpacity = opacity/100; // Safari<1.2, Konqueror
obj.style.MozOpacity = opacity/100;   // Older Mozilla and Firefox
obj.style.opacity = opacity/100;      // Safari 1.2, newer Firefox and Mozilla, CSS3
}

function fadeIn(objId,opacity){
if(!document.getElementById) return;
obj = document.getElementById(objId);
if(opacity <= 35){
  setOpacity(obj,opacity);
  opacity += 15;
  window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 50);
  }
}

function fadeOut(objId,opacity){
if(!document.getElementById) return;
obj = document.getElementById(objId);
if(opacity >= 0){
  setOpacity(obj,opacity);
  opacity -= 15;
  window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 50);
  }
}

//funzione aggiunta: fadeOut e fadeIn al passaggio del mouse
function setFade(objId){
el=document.getElementById(objId);
el.onmouseover=function(){fadeIn(objId,0)};
el.onmouseout=function(){fadeOut(objId,35)};
}