// ------------------------------------
//  script to animate jpg or any other
// image type from separate image files
// 
// (c) eightize 2006
// modified:
//	June 10 2007	by: mb
//		changed preload to array, so not constantly re-loading from server
//	July 15 2006
// ------------------------------------
// To setup animations, add a script to the end of the page calling setupAnim()
//		All images must have different names, otherwise they will not animate
//			(set by name='imageName' in the <img> tag) 
//		Pass this information for each animation:
//			setupAnim(seconds between images,name of image,Array(list of images))

// initialise variables for animation
var animImages = new Array();
var thisImg = new Array();
var imgCt = new Array();
var imgSpd = new Array();
var preImage = new Array();

//  pass (speed in seconds between frames,name of image to animate,Array(list of images))
//	note: the current image coded into the page is added by the script to
//		the list of images, so don't include that image in the array.
function setupAnim(imgSpeed,imgName,imgList) {
	animImages[imgName] = imgList;
	var arrayLength = animImages[imgName].length;
	animImages[imgName][arrayLength] = document.images[imgName].src;
	thisImg[imgName] = 0;
	imgCt[imgName] = arrayLength + 1;
	imgSpd[imgName] = imgSpeed;
	preImage[imgName] = new Array();
	preImage[imgName][0] = new Image;
	preImage[imgName][0].src = animImages[imgName][0];
	setTimeout("rotate('"+imgName+"')", imgSpeed * 1000);
}

function rotate(imgName) {
	if (document.images) {
		var curImg = thisImg[imgName];
		if (preImage[imgName][curImg].complete) {
			document.images[imgName].src=preImage[imgName][curImg].src;
			// preload next image
			var nxtImg = ++thisImg[imgName];
			if (nxtImg == imgCt[imgName])
				nxtImg = thisImg[imgName] = 0;
			if (!preImage[imgName][nxtImg]) {
				preImage[imgName][nxtImg] = new Image;
				preImage[imgName][nxtImg].src = animImages[imgName][nxtImg];
			}
			var imgSpeed = imgSpd[imgName];
		} else { // not loaded yet;  check again 1/10 second
			var imgSpeed = 0.1;
		}
	  	setTimeout("rotate('"+imgName+"')", imgSpeed * 1000);
  	}
}

