// requires jquery for events/animations
var rotate = 
{
	// global vars
	thisNum: null,
	image_url: new Array(),
	arrayLength: null,
	
	loadNewImage: function()
	{
		// determine next image
		rotate.thisNum = (rotate.thisNum < rotate.arrayLength) ? (rotate.thisNum+1) : 0;
		
		// force image to load
		var nextImage = new Image(); 
		nextImage.src = rotate.image_url[rotate.thisNum];
		
		if(nextImage.complete)
		{
			// call animate function if image loaded
			rotate.changeImage(nextImage);							
		}
		else
		{
			nextImage.onload = function()
			{
				// call animate function if image loaded
				rotate.changeImage(nextImage);
			}								
		}		
	},
	
	changeImage: function(newImage)
	{
		// fade image out
		$('#rotateImage').animate({ opacity: 0.1}, 'slow', function()
		{			
			// fade new image in
			$('#rotateImage').attr('src', rotate.image_url[rotate.thisNum]);
			$('#rotateImage').animate({ opacity: 1}, 'slow');								
		});
		
		// loop again
		setTimeout("rotate.loadNewImage()", 3000);	
	},

	// initalizer function
	init: function()
	{
		// show ad images
		rotate.image_url[0] = 'images/ad1.jpg';
		rotate.image_url[1] = 'images/ad2.jpg';
		rotate.image_url[2] = 'images/ad3.jpg';
				
		// get array length (account for 0)
		rotate.arrayLength = rotate.image_url.length;
		rotate.arrayLength -= 1;
		
		// get random starting point
		//rotate.thisNum = Math.floor(Math.random() * rotate.image_url.length);		
		rotate.thisNum = 0; 
		
		// change image
		setTimeout("rotate.loadNewImage()", 2000);
	}
}

$(document).ready( function(){ rotate.init() });