﻿var TimeToFade = 2500.0;
function fade(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; //visible

    else

      element.FadeState = -2; //faded

  }

    

  if(element.FadeState == 1 || element.FadeState == -1)

  {

    element.FadeState = element.FadeState == 1 ? -1 : 1; //-1 fading out 1 fading in

    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;

  }

  else

  {

    element.FadeState = element.FadeState == 2 ? -1 : 1;

    element.FadeTimeLeft = TimeToFade;

    setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);

  }  
}


function animateFade(lastTick, eid)

{  

  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' : '.18';

    element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '18') + ')';

    element.FadeState = element.FadeState == 1 ? 2 : -2;

    return;

  }

 

  element.FadeTimeLeft -= elapsedTicks;

  var newOpVal = element.FadeTimeLeft/TimeToFade;

  if(element.FadeState == 1)

    newOpVal = 1 - newOpVal;


  newOpVal = newOpVal + 0.18;
  element.style.opacity = newOpVal;

  element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';

  

  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);

}
