// JavaScript Document
<!--
		//number of seconds to wait
		var sec = 10;

		function updateImage(thiscam) {
			t = new Date();
			time = t.getTime();
			
			//src + the time to prevent caching
			document.getElementById('webcam').src = "http://www.outercam.co.uk/ssc/" + thiscam + ".jpg?" + t.getTime();
			setTimeout("updateImage('" + thiscam + "')",sec*1000)
		}

//-->

	//*************************
	//validateMailingList();
	//function to validate the mailing list details
	function validateMailingList(){
		
		//initialise the error variables
		errorList 		= "";
		errorCount 		= 0;
		errorMessage 	= "";
		
		//get the required values	
		title 			= document.getElementById("Title").value;
		forename 		= document.getElementById("Forename").value;
		surname 		= document.getElementById("Surname").value;
		address1 		= document.getElementById("Address1").value;
		postcode 		= document.getElementById("Postcode").value;
		email 			= document.getElementById("Email").value;
		
		//title
		if(isBlank(title)){
			errorList 	+= "\n- You must enter your title.     ";
			errorCount 	+= 1;
		}
		//forename
		if(isBlank(forename)){
			errorList 	+= "\n- You must enter your forename.     ";
			errorCount 	+= 1;
		}
		//surname
		if(isBlank(surname)){
			errorList 	+= "\n- You must enter your surname.     ";
			errorCount 	+= 1;
		}
		//address1
		if(isBlank(address1)){
			errorList 	+= "\n- You must enter the first line of your address.     ";
			errorCount 	+= 1;
		}
		//postcode
		if(isBlank(postcode)){
			errorList 	+= "\n- You must enter your postcode.     ";
			errorCount 	+= 1;
		}
		//email
		if(!isEmail(email)){
			errorList 	+= "\n- You must enter a valid email address.     ";
			errorCount 	+= 1;
		}
		
		//check for errors!
		if(errorCount > 0){
			
			if(errorCount == 1){
				errorMessage = "The following error occurred whilst processing your details.     ";
				errorMessage += "\n" + errorList + "\n";
				errorMessage += "\nPlease fix this error before clicking 'Continue'.     ";
			} else {
				errorMessage = "The following errors occurred whilst processing your details.     ";
				errorMessage += "\n" + errorList + "\n";
				errorMessage += "\nPlease fix these errors before clicking 'Continue'.     ";	
			}
			alert(errorMessage);
			return false;
		} else {
			return true;
		}
	}
	//*************************


	//*************************
	//checkboxValue(thisid)
	//function to return the checked value of a checkbox
	function checkboxValue(thisid,type){
				
		checkbox = new Object(document.getElementById(thisid));
		
		if(type=="checked"){
			return checkbox.checked;	
		}
		
		if(type=="value" && checkbox.checked){
			return checkbox.value;	
		} else {
			return "";	
		}
				
	}
	//*************************


	//*************************
	//selectValues(thisid,thiselement)
	//function to access parts of a select box value...the label, value or selectedIndex
	function selectValues(thisid,thiselement){
	
		var si 		= document.getElementById(thisid).selectedIndex;
		var value   = document.getElementById(thisid).options[si].value;
		var label	= document.getElementById(thisid).options[si].text;
		var output 	= new String("");
		
		switch(thiselement){
		
			case "selectedIndex":
				output = si;
				break;
			case "value":
				output = value;
				break;
			case "label":
				output = label;
				break;
			default:
				output = value;
		}
		
		//return the output
		return output;
	}
	//*************************
	
	
/* ------------------------- JS VALIDATION TOOLS ------------------------- */	
	//isBlank
	//function to check if there is a value present.
	function isBlank(val){
		if(val==null){return true;}
		if(val.length==0) {return true;}
		return false;     
	}
	
	//isEmail
	//function to check the validity of an email
	function isEmail(email) {
		if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)){
			return true
		}
		else {
			return false;	
		}
	}
	
	//isInteger
	//function to check if a value is numeric
	function isInteger(txt){
	
		var validChars = "0123456789";
		var isNumber=true;
		var char;
	
		for(i=0;i<txt.length && isNumber == true; i++){
			char = txt.charAt(i);
			if(validChars.indexOf(char) == -1){
				isNumber = false;
			}
		}
		
		//return the value;
		return isNumber;
	}

	
	//isNull
	//function to check if a value isNull!
	function isNull(val){return(val==null);}

	//isNumeric
	//function to check if a value is numeric
	function isNumeric(txt){
	
		var validChars = "0123456789.";
		var isNumber=true;
		var char;
	
		for(i=0;i<txt.length && isNumber == true; i++){
			char = txt.charAt(i);
			if(validChars.indexOf(char) == -1){
				isNumber = false;
			}
		}
		
		//return the value;
		return isNumber;
	}
	
	
	
	
<!--
	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}
	function MM_swapImage() { //v3.0
	  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	function MM_swapImgRestore() { //v3.0
	  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	
	function MM_preloadImages() { //v3.0
	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}
//-->	
	
