/* ls2uni.js - universaalfunktionen für die LS2-Seiten  */

red_off   = 128;
green_off = 200;
blue_off  = 176;

red_on    = 255;
green_on  = 255;
blue_on   = 255;

f = 0;
fadeStat = 0;
currentElementId = 0;

AElementId = new Array();
AFadeStat  = new Array();
AFade      = new Array();

TimeOutActive = 0;

function initFade( elementId, direction )
  {

  for( var i in document.all )
    {
    if( document.all[i].id == elementId )
      {
      var newId = i;
      };
    };

  var Idx = findElement( newId );
  
  if( Idx < 0 )
    { 
    Idx = AElementId.length;
    AElementId = AElementId.concat( new Array( "0" ));
    AElementId[Idx] = newId;    
    AFadeStat  = AFadeStat.concat( new Array( "0" ));
    AFadeStat[Idx] = direction;
    AFade      = AFade.concat( new Array( "0" ));
    AFade[Idx] = 0;
    };
  AFadeStat[Idx] = direction;

  
  if( TimeOutActive == 0 )
    {
    window.setTimeout( "fadeIn()", 80 );
    TimeOutActive = 1;
    };
  };

function fadeIn()
  {
  var i;

  for( i = 0; i < AElementId.length; ++i )
    {
    if( AFadeStat[i] == 1 )
      {
      AFade[i] += 3;
      if( AFade[i] > 50 ) 
        {
        AFade[i] = 50;
        AFadeStat[i] = 0;
        };
      };

   if( AFadeStat[i] == 2 )
      {
      AFade[i] -= 1;
      if( AFade[i] < 0 ) 
        {
        AFade[i] = 0;
        AFadeStat[i] = 0;
        };
      };
      setColor( AElementId[i], AFade[i]  );
    }; /* end for */

    if( countActiveElements() > 0 ) 
      {
      TimeOutActive = 1;
      window.setTimeout( "fadeIn()", 80 );
      }
    else
      {
      TimeOutActive = 0;
      };
  }

function setColor( elementId, step )
  {
    var red   = red_off   + ( step / 50 ) * ( red_on - red_off );
    var green = green_off + ( step / 50 ) * ( green_on - green_off );
    var blue  = blue_off +  ( step / 50 ) * ( blue_on - blue_off );
    document.all[elementId].style.color = "rgb(" + red + "," + green + "," + blue + ")"; 
  };

function findElement( elementId )
  {
  var f;
  for( f = 0; f < AElementId.length; ++f )
    {
    if( AElementId[f] == elementId ) return( f );
    };
  return -1;
  };

function countActiveElements()
  {
  var eCount = 0;
  var f;
  for( f = 0; f < AFadeStat.length; ++f )
    {
    if( AFadeStat[f] > 0 ) ++eCount;
    };
  return eCount;
  };


