// Presteligence.FX
//
// 2007 - Presteligence
// JDBunnell

window.addEventListener ? window.addEventListener("load", _fx_initialize, false) : window.attachEvent("onload", _fx_initialize);

var _fx_lEffects = new Array();

function _fx_initialize()
{
   if (!document.getElementById || !document.createElement)
      return;
   
   var lFxs = document.getElementsByTagName("div");
   for (ifx = 0; ifx < lFxs.length; ifx++)
   {
      if (!_fx_haveIdAlready(lFxs[ifx].getAttribute("id")))
      {
         switch (lFxs[ifx].getAttribute("type"))
         {
         default:
            break;
         case "imgFadeRotator":
            _fx_lEffects[_fx_lEffects.length] = new _fx_imgFadeRotator(lFxs[ifx]);
            break;
         };
      }
   }
   
   setTimeout(_fx_update, 100);
}

function _fx_haveIdAlready(id)
{
   for (var ihad = 0; ihad < _fx_lEffects.length; ihad++)
   {
      if (_fx_lEffects[ihad].Id == id)
         return true;
   }
   
   return false;
}

function _fx_update()
{
   for (var i = 0; i < _fx_lEffects.length; i++)
   {
      _fx_lEffects[i].iTick++;
      switch (_fx_lEffects[0].Type)
      {
      default:
         break;
      case "imgFadeRotator":
         _fx_updateImgFadeRotator(_fx_lEffects[0]);
         break;
      };
   }
   
   setTimeout(_fx_update, 100);
}

function _fx_setOpacity(obj)
{
   if (obj._fx_Opacity > 0.99)
   {
      obj._fx_Opacity = 0.99; 
      return;
   }
   
   obj.style.opacity = obj._fx_Opacity;
   obj.style.MozOpacity = obj._fx_Opacity;
   obj.style.filter = "alpha(opacity=" + (obj._fx_Opacity * 100) + ")";
}

function _fx_imgFadeRotator(obj)
{
   this.Id = obj.getAttribute("id");
   if (this.Id == null)
      this.Id = "imgFadeRotator1";
      
   this.Type = "imgFadeRotator";
   this.iTick = 0;
   this.cState = 0;
   this.iFrame = 0;
   this.lImages = obj.getElementsByTagName("img");
   for (i = 1; i < this.lImages.length; i++)
   {
      this.lImages[i]._fx_Opacity = 0;
      this.lImages[i].style.display = "none";
   }
        
   this.lImages[0].style.display = "block";
   this.lImages[0]._fx_Opacity = 0.99;   
}

function _fx_updateImgFadeRotator(fx)
{
   if (fx.cState == 0 && fx.iTick < 10)
      return;
 
   if (fx.cState == 0)
   {
      fx.cState = 1;
      fx.iTick = 0;
   }
   else if (fx.cState == 1)
   {
      var nIdx = fx.lImages[fx.iFrame + 1] ? fx.iFrame + 1 : 0;
      
      fx.lImages[fx.iFrame]._fx_Opacity = fx.lImages[fx.iFrame]._fx_Opacity - 0.05;
      fx.lImages[nIdx]._fx_Opacity = fx.lImages[nIdx]._fx_Opacity + 0.05;
      fx.lImages[nIdx].style.display = "block";
      
      _fx_setOpacity(fx.lImages[fx.iFrame]);
      _fx_setOpacity(fx.lImages[nIdx]);
      
      fx.iTick = 0;
   }
   
   if (fx.lImages[fx.iFrame]._fx_Opacity <= 0)
   {
      fx.lImages[fx.iFrame].style.display = "none";
      fx.iFrame = nIdx;
      fx.cState = 0;
   }
}