Effects = {};

Effects.fade = function(id, opacStart, opacEnd, duration, callback) {
  Effects.changeOpacity(0, id);
  var speed = Math.round(duration/100);
  var timer = 0;

  if(opacStart > opacEnd)
  {
   for(var i=opacStart; i>=opacEnd; i--)
   {
    setTimeout("Effects.changeOpacity("+ i +", '"+ id +"', "+ opacEnd +", '"+ callback +")", (timer*speed));
    timer++;
   }
  }
  else if(opacStart < opacEnd)
  {
   for(var i=opacStart; i<=opacEnd; i++)
   {
    setTimeout("Effects.changeOpacity("+ i +", '"+ id +"', "+ opacEnd +", '"+ callback +"')", (timer*speed));
    timer++;
   }
  }
}

Effects.changeOpacity = function(opacity, id, endPoint, callback) {
  document.getElementById(id).innerHTML=callback;
  var _style = document.getElementById(id).style;
 _style.opacity = (opacity / 100);
 _style.MozOpacity = (opacity / 100);
 _style.KhtmlOpacity = (opacity / 100);
 _style.filter = "alpha(opacity=" + opacity + ")";
  
}

