// Rotator Class
//
// Kevin McHugh
// April 4, 2009
//

function Rotator()
	{
	this.images = null;
	this.frames = null;
	this.linkid = null;
	this.imgid = null;
	this.frame = 1;
	this.delay = 1;

	this.setImages = function(a)
		{
		this.images = a;
		this.preLoadImages();
		}


	this.isArray = function(obj)
		{
		return obj.constructor == Array;
		}


	this.preLoadImages = function()
		{
		this.frames = new Array(this.images.length);

		for(c = 0; c < this.images.length; c++)
			{
			if(this.isArray(this.images[c]))
				{
				this.frames[c] = new Image();
				this.frames[c].src = this.images[c]["src"];
				}
			else
				{
				this.frames[c] = new Image();
				this.frames[c].src = this.images[c];
				}
			}
		}


	this.setRotateDelay = function(s)
		{
		this.delay = s;
		}


	this.getRotateDelay = function()
		{
		return (this.delay * 1000);
		}


	this.setImageID = function(id)
		{
		this.imgid = id;
		}


	this.setLinkID = function(id)
		{
		this.linkid = id;
		}


	this.start = function()
		{
		var delay = this.getRotateDelay();
		var _self = this;

		window.setInterval(function(){_self.rotateImgs();}, delay);
		}


	this.rotateImgs = function()
		{
		var img = document.getElementById(this.imgid);
		img.src = this.frames[this.frame].src;

		if(this.linkid && this.isArray(this.images[this.frame]))
			{
			var lnk = document.getElementById(this.linkid);

			lnk.href = this.images[this.frame]["href"];
			lnk.title = this.images[this.frame]["alt"];
			}

		this.frame++;

		if(this.frame == this.images.length)
			this.frame = 0;
		}
	}
