function workz_fade(eid)
{
    var element = document.getElementById(eid);
    if(element == null)return;
    clearTimeout(element.TimmerID);
    if(element.FadeState == null)
    {
        if(element.style.opacity == null || element.style.opacity == '' || element.style.opacity == '1')
            element.FadeState = 2;
        else
            element.FadeState = -2;
    }

    if(element.FadeState == 1 || element.FadeState == -1)
    {
        element.FadeState = element.FadeState == 1 ? -1 : 1;
        element.FadeTimeLeft = element.TimeToFade - element.FadeTimeLeft;
    }
    else
    {
        element.FadeState = element.FadeState == 2 ? -1 : 1;
        element.FadeTimeLeft = element.TimeToFade;
        element.TimmerID = setTimeout("workz_animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
    }  
}

function workz_animateFade(lastTick, eid)
{  
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;

    var element = document.getElementById(eid);
    clearTimeout(element.TimmerID);

    if(element.FadeTimeLeft <= elapsedTicks)
    {
        element.style.opacity = element.FadeState == 1 ? '1' : '0';
        element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '0') + ')';
        element.FadeState = element.FadeState == 1 ? 2 : -2;
        if(element.FadeState==-2) 
        {
            if(element.CurrentDiv < element.TotalDiv)element.CurrentDiv++;
            else element.CurrentDiv = 1;
            for(i=1; i<=element.TotalDiv; i++)
            {
                element2 = document.getElementById(eid+'_'+i);
                element3 = document.getElementById(eid+'_c'+i);
                if(i == element.CurrentDiv)
                {
                    element2.style.display = 'block';
                    element3.style.backgroundColor = element.ActiveControlBackground;
                    element3.style.color = element.ActiveControlColor;
                }
                else 
                {
                    element2.style.display = 'none';
                    element3.style.backgroundColor = element.NormalControlBackground;
                    element3.style.color = element.NormalControlColor;
                }
            }
            workz_fade(eid);
        }
        else 
        {
            element.TimmerID = setTimeout("workz_fade('" + eid + "')", element.TimeToShow);
        }
        return;
    }

    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft/element.TimeToFade;
    if(element.FadeState == 1)newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
    element.TimmerID = setTimeout("workz_animateFade(" + curTick + ",'" + eid + "')", 33);
    return;
}

function workz_moveFade(eid, newDiv)
{
    var element = document.getElementById(eid);    
    if(element == null)return;       
    clearTimeout(element.TimmerID);
    element.CurrentDiv = newDiv;
    element.FadeState = null;
    
    for(i=1; i<=element.TotalDiv; i++)
    {
        element2 = document.getElementById(eid+'_'+i);
        element3 = document.getElementById(eid+'_c'+i);
        if(i == element.CurrentDiv)
        {
            element2.style.display = 'block';
            element3.style.backgroundColor = element.ActiveControlBackground;
            element3.style.color = element.ActiveControlColor;
        }
        else 
        {
            element2.style.display = 'none';
            element3.style.backgroundColor = element.NormalControlBackground;
            element3.style.color = element.NormalControlColor;
        }
    }
    element.TimmerID = setTimeout("workz_fade('" + eid + "')", element.TimeToShow);
}

function workz_startFade(eid, current, total, timetofade, timetoshow, bbn, bba, btn, bta)
{
    var element = document.getElementById(eid);
    if(element == null)return;
    element.CurrentDiv = current;
    element.TotalDiv = total;
    element.TimeToFade = timetofade;
    element.TimeToShow = timetoshow;
    element.NormalControlBackground = bbn;
    element.ActiveControlBackground = bba;
    element.NormalControlColor = btn;
    element.ActiveControlColor = bta;
    element.TimmerID = setTimeout("workz_fade('" + eid + "')", element.TimeToShow);  
}
