
function fade_in(node, fading_time, final_fraction)
{
    if(fading_time == null)
        fading_time = 200;
    if(final_fraction == null)
        final_fraction = 1;

    node.style.filter = "alpha(opacity: 0)";
    node.style.opacity = "0";

    var start_time = new Date().getTime();

    function update()
    {
        var fraction = (new Date().getTime() - start_time)/fading_time;
        if(fraction < 0) fraction = 0;
        if(fraction > 1) fraction = 1;

        // console.log("fraction:%s", fraction);

        node.style.filter = "alpha(opacity: "+fraction*final_fraction*100+")";
        node.style.opacity = fraction*final_fraction;

        if(fraction < 1)
            setTimeout(update, 50);
    };

    setTimeout(update, 50);
}

