﻿var rotator =
{
  active : 1,
  img : 0,
  imgs : ["/Common/Img/banner_miner.jpg", 
    "/Common/Img/banner_welder.jpg", 
    "/Common/Img/banner_tank.jpg", 
    "/Common/Img/banner_jet.jpg"],
  TimeToFade : 1000.0,
    
  init : function()  
  {
    $('img1').src = rotator.imgs[0];
    $('img1').FadeState = 2;
    $('img2').FadeState = -2;
       
    //preload remaining images
    Image1 = new Image(800,225)
    Image1.src = rotator.imgs[1];

    Image2 = new Image(800,225)
    Image2.src = rotator.imgs[2];
    
    Image3 = new Image(800,225)
    Image3.src = rotator.imgs[3];
    
    setTimeout(rotator.rotate, 5000);
  },
      
  rotate : function()
  { 
    var last = rotator.active;
    rotator.active = rotator.active == 1 ? 2 : 1;
    
    rotator.img = rotator.img + 1;
    if (rotator.img >= rotator.imgs.length)
      rotator.img = 0;
      
    $('img' + rotator.active).src = rotator.imgs[rotator.img];
    
    rotator.fade('img' + last)
    rotator.fade('img' + rotator.active);
            
    setTimeout(rotator.rotate, 5000);   
  },  

  fade : function(eid)
  {
    var element = $(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 == 1 || element.FadeState == -1)
    {
      element.FadeState = element.FadeState == 1 ? -1 : 1;
      element.FadeTimeLeft = rotator.TimeToFade - element.FadeTimeLeft;
    }
    else
    {
      element.FadeState = element.FadeState == 2 ? -1 : 1;
      element.FadeTimeLeft = rotator.TimeToFade;
      setTimeout("rotator.animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
    }  
  },
  
  animateFade : function(lastTick, eid)
  {  
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;
   
    var element = $(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;
      return;
    }
   
    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft/rotator.TimeToFade;
    if(element.FadeState == 1)
      newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
   
    setTimeout("rotator.animateFade(" + curTick + ",'" + eid + "')", 33);
  }
}
