/* Copyright (c) 2006 Harrison Digital Media, Inc. All rights reserved. */

var zoomTimer;
var zoomTable;
var zoomStatus = 0;
var wStart;
var wEnd;
var hStart;
var hEnd;
var curTime;
var timeStep;

function startZoom(tbl, startW, startH, endW, endH)
{
  //do not start a zoom if its already begun
  if (zoomStatus!=0)
    return;
  
  zoomStatus = 1;
    
  wStart = startW;
  wEnd = endW;
  hStart = startH;
  hEnd = endH;
  
  var frameRate = 60.0;

  timeStep = (2.0*Math.PI)/frameRate;  
  
  zoomTable = tbl;
  curTime = 0.0;
  zoomTimer = window.setInterval(zoomEvent, 1000.0 / frameRate);
}

function zoomEvent()
{
  var interp = 0.5 - (0.5*Math.cos(curTime));
  
  zoomTable.style.width = wStart + (wEnd-wStart)*interp;
  zoomTable.style.height = hStart + (hEnd-hStart)*interp;
  
  if (curTime >= Math.PI)
  {
    clearInterval(zoomTimer);
    zoomFinished();
  }
  
  curTime += timeStep;
}

