﻿fadeTime = 500.0;

fadeMin = 1.0;
fadeMax = 0.5;

function fade(id, lastTick) {
        var tick = new Date().getTime();
        var element = document.getElementById(id);
        if (element.fadeState) {
                if (lastTick)
                        element.fadeTime += tick-lastTick;
                else {
                        element.fadeState = element.fadeState == 1 ? -1 : 1;
                        element.fadeTime = fadeTime-element.fadeTime;
                        return;
                }
        }
        else {
                element.fadeState = element.style.opacity == fadeMax ? -1 : 1;
                element.fadeTime = 0.0;
        }
        var opacity = element.fadeTime/fadeTime;
        if (element.fadeTime >= fadeTime)
                opacity = 1.0;
        if (element.fadeState == -1)
                opacity = 1.0-opacity;
        opacity = (fadeMax-fadeMin)*opacity+fadeMin;
        element.style.opacity = opacity;
        element.style.filter = 'alpha(opacity='+opacity*100+')';// IE
        if (element.fadeTime >= fadeTime)
                element.fadeState = null;
        else
                setTimeout("fade('"+id+"',"+tick+")", 33);
}
