function hide(elementId){
    if (document.getElementById(elementId)) {
        document.getElementById(elementId).style.display = 'none'; 
    }
}
function show(elementId) {
    if (document.getElementById(elementId)) {
        document.getElementById(elementId).style.display = '';
    }
}
function toggle(element, fadeState) {
    if (fadeState) {
        if (fadeState == 2)
            element.style.display = 'none';
        else
            element.style.display = '';
    }
    else {
        if (element.style.display == '')
            element.style.display = 'none';
        else
            element.style.display = '';
    }
}
function autoFade(eids, startIndex) {
    if (eids == null)
        return;

    var elements = eids.split(",");
    if (elements == null)
        return;

    if (startIndex == null)
        startIndex = 0;

    for (i = 0; i < elements.length; i++) {
        //alert(elements[i]);
        if (i == startIndex)
            fadeIn(elements[i]);
        else
            fadeOut(elements[i]);
    }
    startIndex++;
    if (startIndex >= elements.length)
        startIndex = 0;
    //alert(startIndex);
    setTimeout("autoFade('" + eids + "'," + startIndex + ")", 10000);
}

function fade(eid, fadeState)
{
  var element = document.getElementById(eid);
  if(element == null)
    return;
//alert(element.FadeState);
  if (fadeState)
    element.FadeState = fadeState;

  if(element.FadeState == null)
  {
    if(element.style.opacity == null 
        || element.style.opacity == '' 
        || element.style.opacity == '1')
    {
      element.FadeState = 2;
    }
    else
    {
      element.FadeState = -2;
    }
  }
  //alert(element.FadeState);
  
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else {
      show(eid);
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "'," + fadeState + ")", 33);
  }  
}
function fadeIn(eid) {
    var element = document.getElementById(eid);
    if (element == null)
        return;

    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 == -2) {
        element.FadeState = element.FadeState == 2 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade;
        setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
    }
}
function fadeOut(eid) {
    var element = document.getElementById(eid);
    if (element == null)
        return;

    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 == 2) {
        element.FadeState = element.FadeState == 2 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade;
        setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
    }
}

var TimeToFade = 1000.0;

function animateFade(lastTick, eid, fadeState)
{ 
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;

    var element = document.getElementById(eid);

    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;
    //toggle(element, fadeState);
    //alert('here');
    return;
    }

    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft/TimeToFade;
    if(element.FadeState == 1)
        newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
    //alert(newOpVal * 100);

    setTimeout("animateFade(" + curTick + ",'" + eid + "'," + fadeState + ")", 33);
}
