// Copyright Perkz Ltd 2009
var marrayRotatorObj = new Array();
var miRotatorSpeed = 4000;

function RotatorAdd(arrayRotatorObj, objImage, iSpeed)
{
 var i = 0;
 if (arrayRotatorObj)
 {
  if (arrayRotatorObj.length)
  {
   i = arrayRotatorObj.length;
  }
 }
 arrayRotatorObj[i] = objImage;
 objImage.iRotatorFrameCount = 0;
 objImage.iRotatorFrameTotal = 0;
 if ((0 + iSpeed)>0)
  miRotatorSpeed = 0 + iSpeed;
}
function RotatorAddAnimation(objImage, strFilename, strURL, strAltText)
{
 var i = 0;
 i = objImage.iRotatorFrameTotal;
 if (0==i)
 {
  objImage.arrayImage = new Array();
  objImage.arrayImageFilename = new Array();
  objImage.arrayImageURL =  new Array();
  objImage.arrayImageAltText =  new Array();
 }
 objImage.arrayImageFilename[i] = strFilename;
 objImage.arrayImageURL[i] = strURL;
 objImage.arrayImageAltText[i] = strAltText;
 if (0==i)
 {
  objImage.alt = strAltText;
  objImage.title = strAltText;
 }
 objImage.iRotatorFrameTotal++;
}
function RotatorQueueImageLoads(arrayRotatorObj)
{
 var r;
 var objImage;
 var f;
 for (r=0;r<arrayRotatorObj.length;r++)
 {
  objImage = arrayRotatorObj[r];
  for (f=0;f<objImage.iRotatorFrameTotal;f++)
  {
   objImage.arrayImage[f] = new Image();
   objImage.arrayImage[f].src = objImage.arrayImageFilename[f];
  }
 }
}
function RotatorNextAnimationFrame(arrayRotatorObj)
{
 var r;
 var objImage;
 var f;
 for (r=0;r<arrayRotatorObj.length;r++)
 {
  objImage = arrayRotatorObj[r];
  objImage.iRotatorFrameCount++;
  if ( objImage.iRotatorFrameCount >= objImage.iRotatorFrameTotal )
   objImage.iRotatorFrameCount = 0;
  f = objImage.iRotatorFrameCount;
  if (objImage.arrayImage[f].complete)
  {
   objImage.src = objImage.arrayImage[f].src;
   objImage.style.cursor = (''==objImage.arrayImageURL[f]) ? 'default' : 'pointer';
   objImage.alt = objImage.arrayImageAltText[f];
   objImage.title = objImage.arrayImageAltText[f];
   window.setTimeout("RotatorDummyRefresh()",1);
  }
  else
  {
   objImage.iRotatorFrameCount--;
   if (objImage.iRotatorFrameCount < 0)
    objImage.iRotatorFrameCount = 0;
  }
 }
}
function RotatorDummyRefresh()
{
 var i;
 var j;
 //this is called to allow some window message queue processing
 //in order for mouse cursor and title tooltip to update
 for(i=0;i<1000;i++)
 {
  j = i;
 }
}
function RotatorClick(objImage)
{
 var f;
 f = objImage.iRotatorFrameCount;
 location.href = objImage.arrayImageURL[f];
 return false;
}
