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)
{
    var _style = document.getElementById('screenshot').style;
    _style.opacity = (opacity / 100);
    _style.MozOpacity = (opacity / 100);
    _style.KhtmlOpacity = (opacity / 100);
    _style.filter = "alpha(opacity=" + opacity + ")";
    
    if(opacity == endPoint && callback != null)
    {
        eval(callback);
    }
}

Effects.onFaded = function()
{
    // Add callback code here
}