//Copyright © 2006 ABS Technology plc. All rights reserved.
//Project:		ABS Technology plc Corporate Website
//Title:		/_common/_include/footer_image_animation.js
//Author:		Andrew Stanton Consulting Ltd (www.andrewstantonconsulting.co.uk)
//Date:			21 Apr 2006
//Description:	Footer image animation functionality.


<!--
// Page footer image arrays
var aFooterImageBankLandscape = new Array();
var aFooterImageBankPortrait = new Array();
var aFooterImageBankSquare = new Array();


// Pre-cache footer images for client-side animation
function preCacheFooterImages(strEnvironmentRoot) {

	aFooterImageBankLandscape[0] = new Image();
	aFooterImageBankLandscape[0].src = strEnvironmentRoot + '_common/_images/banner_landscape_1.jpg';
	aFooterImageBankLandscape[1] = new Image();
	aFooterImageBankLandscape[1].src = strEnvironmentRoot + '_common/_images/banner_landscape_2.jpg';
	aFooterImageBankLandscape[2] = new Image();
	aFooterImageBankLandscape[2].src = strEnvironmentRoot + '_common/_images/banner_landscape_3.jpg';

	aFooterImageBankPortrait[0] = new Image();
	aFooterImageBankPortrait[0].src = strEnvironmentRoot + '_common/_images/banner_portrait_1.jpg';
	aFooterImageBankPortrait[1] = new Image();
	aFooterImageBankPortrait[1].src = strEnvironmentRoot + '_common/_images/banner_portrait_2.jpg';
	aFooterImageBankPortrait[2] = new Image();
	aFooterImageBankPortrait[2].src = strEnvironmentRoot + '_common/_images/banner_portrait_3.jpg';

	aFooterImageBankSquare[0] = new Image();
	aFooterImageBankSquare[0].src = strEnvironmentRoot + '_common/_images/banner_square_1.jpg';
	aFooterImageBankSquare[1] = new Image();
	aFooterImageBankSquare[1].src = strEnvironmentRoot + '_common/_images/banner_square_2.jpg';
	aFooterImageBankSquare[2] = new Image();
	aFooterImageBankSquare[2].src = strEnvironmentRoot + '_common/_images/banner_square_3.jpg';
	aFooterImageBankSquare[3] = new Image();
	aFooterImageBankSquare[3].src = strEnvironmentRoot + '_common/_images/banner_square_4.jpg';
	aFooterImageBankSquare[4] = new Image();
	aFooterImageBankSquare[4].src = strEnvironmentRoot + '_common/_images/banner_square_5.jpg';
	aFooterImageBankSquare[5] = new Image();
	aFooterImageBankSquare[5].src = strEnvironmentRoot + '_common/_images/banner_square_6.jpg';

	// Begin animation sequence
	setFooterImageTimeout();
}


// Set the timeout period until the next image is animated
function setFooterImageTimeout() {

	var TIMEOUT_MIN_SECS = 6;	// Minimum inclusive random timeout value in seconds
	var TIMEOUT_MAX_SECS = 11;	// Maximum inclusive random timeout value in seconds

	var lTimeout;				// Randomised timeout value in seconds


	// Select a random timeout period in between the min and max values
	lTimeout = Math.floor(TIMEOUT_MIN_SECS + ((TIMEOUT_MAX_SECS + 1) - TIMEOUT_MIN_SECS) * Math.random());
	
	// Set the animation to run after timeout period
	setTimeout('performAnimation()', lTimeout * 1000);
}


// Perform image animation
function performAnimation() {

	var IMAGETYPE_LANDSCAPE = 0;	// Image type - Landscape
	var IMAGETYPE_PORTRAIT = 1;		// Image type - Portrait
	var IMAGETYPE_SQUARE = 2;		// Image type - Square
	
	var lImageType;					// Randomised image type
	var eDivImage;					// Randomly selected Div target
	var eImgImage;					// Randomly selected Img target
	var lImageIndex;				// Randomly selected image to display in Img/Div target based on image type
	var bSquareImageFirstTarget;	// Randomly selected First or Second Square Img target if selected image type was IMAGETYPE_SQUARE
	var eImgImageSecondSquare;		// Second Square Img target if selected image type was IMAGETYPE_SQUARE

	
	// Select a random image type (random number between 0 and 2 inclusive)
	lImageType = Math.floor(3 * Math.random());

	
	// Animate a randomly selected image, based on image type, and not duplicating any images currently on-screen
	switch (lImageType) {
		case IMAGETYPE_LANDSCAPE:

			// Select a random image without duplicating any current on-screen images (random number between 0 and 2 inclusive)
			eImgImage = document.getElementById('imgFooterImage1');
			do {
				lImageIndex = Math.floor(3 * Math.random());
			} while (eImgImage.src.toLowerCase() == aFooterImageBankLandscape[lImageIndex].src.toLowerCase());
			
			// Perform animation
			eDivImage = document.getElementById('divFooterImage1');
			if (!(is_win && is_ie6up)) {
				eDivImage.innerHTML = '<img id="imgFooterImage1" border="0" src="' + aFooterImageBankLandscape[lImageIndex].src + '" alt="" width="240" height="120">';
			} else {				
				if (eDivImage.filters.blendTrans.status != 2) {
					eDivImage.filters.blendTrans.apply();
					eDivImage.innerHTML = '<img id="imgFooterImage1" border="0" src="' + aFooterImageBankLandscape[lImageIndex].src + '" alt="" width="240" height="120">';
					eDivImage.filters.blendTrans.play();
				}
			}			
			break;
	
		case IMAGETYPE_PORTRAIT:

			// Select a random image without duplicating any current on-screen images (random number between 0 and 2 inclusive)
			eImgImage = document.getElementById('imgFooterImage3');
			do {
				lImageIndex = Math.floor(3 * Math.random());
			} while (eImgImage.src.toLowerCase() == aFooterImageBankPortrait[lImageIndex].src.toLowerCase());

			// Perform animation
			eDivImage = document.getElementById('divFooterImage3');		
			if (!(is_win && is_ie6up)) {
				eDivImage.innerHTML = '<img id="imgFooterImage3" border="0" src="' + aFooterImageBankPortrait[lImageIndex].src + '" alt="" width="125" height="120">';
			} else {							
				if (eDivImage.filters.blendTrans.status != 2) {
					eDivImage.filters.blendTrans.apply();
					eDivImage.innerHTML = '<img id="imgFooterImage3" border="0" src="' + aFooterImageBankPortrait[lImageIndex].src + '" alt="" width="125" height="120">';
					eDivImage.filters.blendTrans.play();
				}			
			}		
			break;
			
		case IMAGETYPE_SQUARE:
		
			// Select a random Square image target (first or second)
			bSquareImageFirstTarget = Math.floor(2 * Math.random());
			
			// Select a random image without duplicating any current on-screen images (random number between 0 and 5 inclusive)
			eImgImage = document.getElementById('imgFooterImage2');
			eImgImageSecondSquare = document.getElementById('imgFooterImage4');
			do {
				lImageIndex = Math.floor(6 * Math.random());
			} while ((eImgImage.src.toLowerCase() == aFooterImageBankSquare[lImageIndex].src.toLowerCase()) || (eImgImageSecondSquare.src.toLowerCase() == aFooterImageBankSquare[lImageIndex].src.toLowerCase()));
			
			// Perform animation
			eDivImage = bSquareImageFirstTarget ? document.getElementById('divFooterImage2') : document.getElementById('divFooterImage4');			
			if (!(is_win && is_ie6up)) {
				eDivImage.innerHTML = '<img id="' + (bSquareImageFirstTarget ? 'imgFooterImage2' : 'imgFooterImage4') + '" border="0" src="' + aFooterImageBankSquare[lImageIndex].src + '" alt="" width="185" height="120">';
			} else {				
				if (eDivImage.filters.blendTrans.status != 2) {
					eDivImage.filters.blendTrans.apply();
					eDivImage.innerHTML = '<img id="' + (bSquareImageFirstTarget ? 'imgFooterImage2' : 'imgFooterImage4') + '" border="0" src="' + aFooterImageBankSquare[lImageIndex].src + '" alt="" width="185" height="120">';
					eDivImage.filters.blendTrans.play();
				}					
			}
	}
			
		
	// Continue animation sequence
	setFooterImageTimeout();
}
//-->