	
/** Copyright (c) 2008 Zenex Solutions Ltd.  
  *
  */
	
	
	/** 
	  * Arrays of image file names.
	  */
	var ims ;
	var ims_bower ;
	var ims_canisbay ; 
	var ims_dunnet ;
	var ims_halkirk ;
	var ims_keiss ;
	var ims_watten ;
	
	/**
	 * Arrays of the names of images that have been pre-loaded.
	 */
	var loaded_ims ;
	var loaded_ims_bower ;
	var loaded_ims_canisbay ; 
	var loaded_ims_dunnet ;
	var loaded_ims_halkirk ;
	var loaded_ims_keiss ;
	var loaded_ims_watten ;
	 		
	/** Sets the src of the img tag identified by its name attribute
	  *
	  * imageName - The value of the name attribute
	  */	
	function setRandomImage(imageName) {
		
		var loaded_ims_selected = loaded_ims ;
		
		switch(imageName) {
		
			case 'firstimage':
				loaded_ims_selected = loaded_ims_bower ;
				break;
	
			case 'secondimage':
				loaded_ims_selected = loaded_ims_canisbay ;
				break;

			case 'thirdimage':
				loaded_ims_selected = loaded_ims_dunnet ;
				break;

			case 'forthimage':
				loaded_ims_selected = loaded_ims_halkirk ;
				break;
	
			case 'fifthimage':
				loaded_ims_selected = loaded_ims_keiss ;
				break;

			case 'sixthimage':
				loaded_ims_selected = loaded_ims_watten ;
				break;

			default:
				loaded_ims_selected = loaded_ims ;
				break;
		}

		if(loaded_ims_selected.length > 0) {
			var i = Math.round(Math.random() * 5000) ;
			
			i = i % loaded_ims_selected.length ;
			
			var selectName = loaded_ims_selected[i] ;
			
			//alert('Selected ' + selectName + '') ;
			
			var swapIn = $('#'+selectName).attr('src') ;
			
			document.images[imageName].src = swapIn ;
		}

	}

	/**
	  *	This function fades an image in and out on the splash screen
	  * flg = 1 to decrement by del, otherwise increment 
	  */
	function splash_fader(old_opA, flgA, old_opB, flgB, old_opC, flgC, mx_op, del, tm) {
		
		// For image A
		if( old_opA >= 0 && old_opA <= mx_op ) {
			if ( flgA == 1 ) {
				new_opA = old_opA - del ;
			} else {
				new_opA = old_opA + del ;
			}
		}
		if( old_opA < 0 ) {
			new_opA = old_opA + del ;
			flgA = 0 ;
			
			//swap images (sneaky!!)
			setRandomImage('firstimage') ;
			setRandomImage('forthimage') ;
		}
		if( old_opA > mx_op ) {
			new_opA = old_opA - del ;
			flgA = 1 ;
		}
		
		// For image B
		if( old_opB >= 0 && old_opB <= mx_op ) {
			if ( flgB == 1 ) {
				new_opB = old_opB - del ;
			} else {
				new_opB = old_opB + del ;
			}
		}
		if( old_opB < 0 ) {
			new_opB = old_opB + del ;
			flgB = 0 ;
			
			//swap images (sneaky!!)
			setRandomImage('secondimage') ;
			setRandomImage('fifthimage') ;
		}
		if( old_opB > mx_op ) {
			new_opB = old_opB - del ;
			flgB = 1 ;
		}
	
		// For image C
		if( old_opC >= 0 && old_opC <= mx_op ) {
			if ( flgC == 1 ) {
				new_opC = old_opC - del ;
			} else {
				new_opC = old_opC + del ;
			}
		}
		if( old_opC < 0 ) {
			new_opC = old_opC + del ;
			flgC = 0 ;
			
			//swap images (sneaky!!)
			setRandomImage('thirdimage') ;
			setRandomImage('sixthimage') ;
		}
		if( old_opC > mx_op ) {
			new_opC = old_opC - del ;
			flgC = 1 ;
		}
		

		//set new values
		document.images['firstimage'].style.opacity = new_opA / 10.0 ; 
		document.images['firstimage'].style.filter = 'alpha(opacity=' + (new_opA * 10.0) + ')' ; 
		document.images['forthimage'].style.opacity = new_opA / 10.0 ; 
		document.images['forthimage'].style.filter = 'alpha(opacity=' + (new_opA * 10.0) + ')' ; 

		document.images['secondimage'].style.opacity = new_opB / 10.0 ; 
		document.images['secondimage'].style.filter = 'alpha(opacity=' + (new_opB * 10.0) + ')' ; 
		document.images['fifthimage'].style.opacity = new_opB / 10.0 ; 
		document.images['fifthimage'].style.filter = 'alpha(opacity=' + (new_opB * 10.0) + ')' ; 

		document.images['thirdimage'].style.opacity = new_opC / 10.0 ; 
		document.images['thirdimage'].style.filter = 'alpha(opacity=' + (new_opC * 10.0) + ')' ; 
		document.images['sixthimage'].style.opacity = new_opC / 10.0 ; 
		document.images['sixthimage'].style.filter = 'alpha(opacity=' + (new_opC * 10.0) + ')' ; 

		// Iterate	
		setTimeout("splash_fader(" + new_opA + "," + flgA + "," 
									+ new_opB + "," + flgB + ","
									+ new_opC + "," + flgC + ","
									+ mx_op + "," + del + "," + tm + ")", tm) ;
	
	}
	  
	/** Collectively alter the style of a class
	  * http://twelvestone.com/forum_thread/view/31411
	  */
	/*function changeRule(theNumber,op) {
	
		var theRules = new Array();
	
		if (document.styleSheets[0].cssRules) {
			theRules = document.styleSheets[0].cssRules;
		} else if (document.styleSheets[0].rules) {
			theRules = document.styleSheets[0].rules;
		}
		
		var i;
		for(i = 0; i < theRules.length; i++) {
			if(theRules[i].selectorText == theNumber)
				break 
		}
		
		if(i != theRules.length) {
			theRules[i].style.opacity = op / 10.0 ; 
			theRules[i].style.filter = 'alpha(opacity=' + (op * 10.0) + ')' ; 
		}
	}*/


	/** AJAX - get the request object
	  *
	  */
	/*function getReqObj() {
	
		var result = null ;
		
		if( window.XMLHttpRequest ) {
			result = new XMLHttpRequest() ;
		} else {
			try{
				result = new ActiveXObject("Msxml2.XMLHTTP") ;				
			} catch(e) {
				result = null ;
			}
		}
		
		return result ;
	}*/

	/** AJAX - a global request object
	  *
	  */
	/*var req ;*/

	/** Get url parameter. Based on:
	  * http://www.netlobo.com/url_query_string_javascript.html
	  */
	/*function gup( name ) {
	
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]") ;
		var regexS = "[\\?&]"+name+"=([^&#]*)" ;
		var regex = new RegExp( regexS ) ;
		var results = regex.exec( window.location.href ) ;
		if( results == null ) {
  			return "" ;
		} else {
			return results[1];
		}
	}*/
	
	/**
	 *
	 */
	function populateImsArray(ims_select, set_select, load_array, name_prefix) {
		
		var kv_pairs ;
		if (set_select != null) {
			kv_pairs = {set : set_select} ;
		} else {
			kv_pairs = null ;
		}
		
		$.get("ajax_imgs.php", kv_pairs, function(xml) {
		
			//success				
			var aryLeng = ims_select.length ;

			//Results list
			$("image", $("images", xml)).each(function (i) {

				//Update list of images
				//alert($(this).text()) ; //for debug
				ims_select[aryLeng] = $(this).text() ;
				aryLeng += 1 ;
						
			});
			
			//pre-load images
			var counter = 0 ;
			
			$.each(ims_select, function(e) {
				jQuery("<img />").load(function() {
					
					ctr = load_array.length ;					
					
					load_array[ctr] = ''+$(this).attr('id') ;

					//alert($(this).attr('id') + 'has loaded!'); //debug

				//Note that the src must be set _after_ the id otherwise there are problems with IE					
				}).attr('id', name_prefix+(counter++)).attr('src',this).appendTo($("#imageshidden")) ;
			});				
			
			
		} );
	}
	
	/**
	 * Image pre-loading based on:
	 * http://www.mattfarina.com/2007/02/01/preloading_images_with_jquery
	 */
	/*jQuery.preloadImages = function() {
		var a = (typeof arguments[0] == 'object')? arguments[0] : arguments;
		for(var i = a.length -1; i > 0; i--) {
			jQuery("<img>").attr("src", a[i]);
		}  		
	}*/	 
	
	/** Main entry point for the scripts.
	  *
	  */
	//function main(animation) {
	$(document).ready(function() {
	
		switch(page_type) {

			case 'm': 		
				
				//Do AJAX
				// send request
				//
				ims_bower = new Array() ;
				ims_canisbay = new Array() ; 
				ims_dunnet = new Array() ;
				ims_halkirk = new Array() ;
				ims_keiss = new Array() ;
				ims_watten = new Array() ;
				ims = new Array() ;

				//pre-load image arrays				
				loaded_ims_bower = new Array() ;
				loaded_ims_canisbay = new Array() ; 
				loaded_ims_dunnet = new Array() ;
				loaded_ims_halkirk = new Array() ;
				loaded_ims_keiss = new Array() ;
				loaded_ims_watten = new Array() ;
				loaded_ims = new Array() ;

				populateImsArray(ims_bower, 	'bower', 	loaded_ims_bower, 	'bower_im') ;
				populateImsArray(ims_canisbay, 	'canisbay', loaded_ims_canisbay,'canisbay_im') ;
				populateImsArray(ims_dunnet, 	'dunnet', 	loaded_ims_dunnet, 	'dunnet_im') ;
				populateImsArray(ims_halkirk, 	'halkirk', 	loaded_ims_halkirk, 'halkirk_im') ;
				populateImsArray(ims_keiss, 	'keiss', 	loaded_ims_keiss, 	'keiss_im') ;
				populateImsArray(ims_watten, 	'watten', 	loaded_ims_watten, 	'watten_im') ;
				populateImsArray(ims, 			null, 		loaded_ims, 		'gen_im') ;
				
				//	After 1 sec images fade in sequence as per other pages			
				new_opA = 10.0 ;
				document.images['firstimage'].style.opacity = new_opA / 10.0 ; 
				document.images['firstimage'].style.filter = 'alpha(opacity=' + (new_opA * 10.0) + ')' ; 
				document.images['forthimage'].style.opacity = new_opA / 10.0 ; 
				document.images['forthimage'].style.filter = 'alpha(opacity=' + (new_opA * 10.0) + ')' ; 
				new_opB = 3.33 ;
				document.images['secondimage'].style.opacity = new_opB / 10.0 ; 
				document.images['secondimage'].style.filter = 'alpha(opacity=' + (new_opB * 10.0) + ')' ; 
				document.images['fifthimage'].style.opacity = new_opB / 10.0 ; 
				document.images['fifthimage'].style.filter = 'alpha(opacity=' + (new_opB * 10.0) + ')' ; 
				new_opC = 3.33 ;
				document.images['thirdimage'].style.opacity = new_opC / 10.0 ; 
				document.images['thirdimage'].style.filter = 'alpha(opacity=' + (new_opC * 10.0) + ')' ; 
				document.images['sixthimage'].style.opacity = new_opC / 10.0 ; 
				document.images['sixthimage'].style.filter = 'alpha(opacity=' + (new_opC * 10.0) + ')' ; 
				
				splash_fader(new_opA, 1, new_opB, 1, new_opC, 0, 10.0, 0.3, 150) ;
				
				break ;

			case 'd':
				
				alert('This is a preview screen only. Please use you browser back button to close this window to return to the editing screen. (Links on the menu at the top of the screen will not work.)') ;
			
				break ;
		
		}
	});