<!-- // Hide

function imgCycle(dir) { with (this)
{
 // Stop any exiting play function if this is called manually.
 stop();

 // Increment and mod by the image array length.
 currImg += dir;
 currImg = currImg % data.length;
 if (currImg < 0) currImg += data.length;

 // The image in question -- perhaps nested within its parent layer for NS4.
 var imgRef = parLyr.document.images[myName + 'Img'];

 // IE filters active?
 var f = imgRef.filters;
 if (f&&f.length&&f[0]) f[0].Apply();
 // Swap the image, and play the filter if applicable.
 imgRef.src = data[currImg].src;
 if (f&&f.length&&f[0]) f[0].Play();
}}

function imgPlay() { with (this)
{
 // Cycle one image forwards -- cycle() will stop an existing timeout if applied.
 cycle(1);
 timer = setTimeout(myName + '.play()', delay);
}}

function imgStop()
{
 // Clear the play timer to stop autocycling.
 clearTimeout(this.timer);
 this.timer = null;
}

function ImageCycle(myName, delay, parLyr)
{
 this.myName = myName;
 this.delay = delay;
 this.timer = 0;
 this.parLyr = (document.layers && parLyr ? eval(parLyr) : window);
 this.currImg = 0;

 this.data = new Array();
 for (var i = 2; i < arguments.length; i++)
 {
  // Preload images into an array before swapping.
  this.data[i - 3] = new Image();
  this.data[i - 3].src = arguments[i];
 }
 
 this.cycle = imgCycle;
 this.play = imgPlay;
 this.stop = imgStop;
}

var picRotate = new ImageCycle('picRotate', '3000', null,
 'images/banner_watercraft.jpg', 'images/banner_motox.jpg', 'images/banner_atv.jpg');

// Start onload, make sure any other functions are called as well...
var imgOldOL = window.onload;
window.onload = function()
{
 if (imgOldOL) imgOldOL();
 picRotate.play();
}

// And stop cycling in 25 seconds.
setTimeout('picRotate.stop()', 25000);

// End Hide -->
