/*
 	File name: imagerotate.js
 	Date: 11/07/2006
 	Author: Brian Schemp

	Purpose: Rotate images with their associated links 

 */
 
//variables
var slideshow_width;
var slideshow_height;
var pause;
var ie4;
var dom;
var curcanvas;
var nextimageindex;
var fadeimages;
var golinks;
var dropslide;

/*
	Purpose: Constructor
 */
function imagerotate(canvasName, imageWidth, imageHeight, pauseBetweenSlides)
{
	//define functions to be used with the object
	this.init = init;
	this.addImageArray = addImageArray;
	this.addLinkArray = addLinkArray;
	this.rotateimage = rotateimage;
	
	//define variables to be used with the object
	this.fadeimages = new Array();
	this.golinks = new Array();
	this.slideshow_width = imageWidth;
	this.slideshow_height = imageHeight;
	this.pause = pauseBetweenSlides;
	this.ie4 = document.all;
	this.dom = document.getElementById;
	this.curcanvas = canvasName;
	this.nextimageindex = 0;
	this.dropslide = "";
}

/*
	Purpose: Add objects to the image array
 */
function addImageArray(value)
{
	this.fadeimages.push(value);
}

/*
	Purpose: Add objects to the link array
 */
function addLinkArray(value)
{
	this.golinks.push(value);
}

/*
	Purpose: Start the image rotate
 */
function init()
{
	var preloadedimages=new Array();
	for(p = 0;p < this.fadeimages.length;p++)
	{
		preloadedimages[p]=new Image();
		preloadedimages[p].src=this.fadeimages[p];
	}
	
	if (this.ie4||this.dom)
	{
		document.write('<div style="position:relative;width:'+this.slideshow_width+';height:'+this.slideshow_height+'"><div id="' + this.curcanvas + '" style="position:absolute;width:'+this.slideshow_width+';height:'+this.slideshow_height+';top:0;left:0;"></div></div>');
		this.rotateimage();
	}
}

/*
	Purpose: Rotate images and links
 */
function rotateimage()
{
	//get instance of the object
	var oInstance = this;
	
	clearInterval(this.dropslide);
	
	if (this.ie4||this.dom)
	{
		if(document.getElementById(this.curcanvas))
		{
			tempobj = document.getElementById(this.curcanvas);
			tempobj.innerHTML = '<a href="'+this.golinks[this.nextimageindex]+'"><img src="'+this.fadeimages[this.nextimageindex]+'" border=0></a>';
	
			if(this.nextimageindex < this.fadeimages.length - 1)
				 this.nextimageindex++;
			else
				this.nextimageindex = 0;
				
			//set variable to hold the interval id
			this.dropslide = setInterval(function(){oInstance.rotateimage()},this.pause);
		}
	}
}
