function validator(thisform){
	var validation = true;
	var msg = "";
	var myElements = thisform.elements;

	//Loop through all elememt
	for(var i=0;i<myElements.length;i++){
		//Validate Text Box
		if(myElements[i].type == 'text') {
			//Check for Empty String		
			if (myElements[i].value.length == 0){
				msg += " - " + myElements[i].id + "\n"; 
				changeCSS(myElements[i].id,"invalidEntry");
				validation = false;
			}else{				
				if (myRegex(myElements[i].value, myElements[i].id)) {
					changeCSS(myElements[i].id,"validEntry");
				} else {					
					msg += " - " + myElements[i].id + "\n"; 
				    changeCSS(myElements[i].id,"invalidEntry");
				    validation = false;
				}
			}
		}  
		//Validate Dropdown box
		if(myElements[i].type == 'select-one') {
			if (myElements[i].selectedIndex == 0){ 	//Check if option box was selected	
				msg += " - " + myElements[i].id + "\n"; 
				changeCSS(myElements[i].id,"invalidEntry");
				validation = false		;		
			}else{
				changeCSS(myElements[i].id,"validEntry");
			}
		}
		
		//Validate Check box - Must be checked to confirm over 18 years of age
		if(myElements[i].type == 'checkbox') {
				
				if (myElements[i].checked==false){
					msg += " - I am over 18 years of age\n"; 
				changeCSS(myElements[i].id,"invalidEntry");
				validation = false		;		
				}else{
					changeCSS(myElements[i].id,"validEntry");
				}
				
		}		
	}
	
	//dont submit form if validation failed
	if (validation == false){
		//display error message
		//document.getElementById("errorMessage").style.visibility = "visible";
		//alert error message
	    msg = "You have entered invalid or missing information , please check the following field(s) :\n\n" + msg; 
        msg += "\nPlease complete the form and re-submit." 
        alert(msg);
		return false;
	}else{
		return true;
	
	}

}
function changeCSS(id,CSSname){
	document.getElementById(id).className = CSSname;		
}

function myRegex(str,elemID) {
	var strRegEx = ""
	if (elemID=="firstname"||elemID=="lastname") {strRegEx = "^[a-zA-Z0-9 '-.]+$"; }
	if (elemID=="postcode") {strRegEx = "^\[0-9]{4}$";}
	if (elemID=="emailaddress") {strRegEx = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;}
	
	var re = new RegExp(strRegEx);
	re.ignorecase;
	return str.match(re);
} 