/* Copyright (c) 2006 Harrison Digital Media, Inc. All rights reserved. */

var fadeTimer;
var fadeFrame1;
var fadeFrame2;
var fadeStatus = 0;
var fadeCurTime;
var fadeTimeStep;

function startFade(frame1, frame2)
{
  //do not start a fade if its already started
  if (fadeStatus!=0)
    return;
  
  fadeStatus = 1;
    
  var frameRate = 60.0;
  
  fadeTimeStep = (2.0*Math.PI)/frameRate;
  
  fadeFrame1 = frame1;
  fadeFrame2 = frame2;
  
  fadeCurTime = 0.0;
  fadeTimer = window.setInterval(fadeEvent, 1000.0 / frameRate);
}

function setOpacity(element, ratio)
{
  if (element.filters)
  {
    var percent = Math.floor(ratio * 100.0);  
    element.filters.alpha.opacity = percent;  
  }
  else
    element.style.opacity = ratio;
}

function fadeEvent()
{
  var interp = 0.5 - (0.5*Math.cos(fadeCurTime));

  setOpacity(fadeFrame1, interp);
  setOpacity(fadeFrame2, interp);
  
  if (fadeCurTime >= Math.PI)
  {
    window.clearInterval(fadeTimer);
  }
  
  fadeCurTime += fadeTimeStep;
}

