function checkRequired(){
var emailreg = /^[a-zA-Z0-9_.\-]+@[a-zA-Z0-9_.\-]+\.[a-zA-Z0-9_.]+$/;
var formArray = document.forms;
for(n=0;n<formArray.length;n++){
	formArray[n].onsubmit = function(){
		var bRequired = false;
		var errors = [];
		var inputs = this.getElementsByTagName("input");
		var tareas = this.getElementsByTagName("textarea");
		for(i=0;i<inputs.length;i++)
		{
			if(/(^|\s)required(\s|$)/.test(inputs[i].className)){
				if(inputs[i].value == "" || inputs[i].value.length < 1){
				bRequired = true;
				}			
			}
			
			if(/(^|\s)fname(\s|$)/.test(inputs[i].className)){
				if(inputs[i].value == ""){
				errors.push("Please supply a Contact Name.");
				}			
			}


			if(/(^|\s)phone(\s|$)/.test(inputs[i].className)){
				if(inputs[i].value == ""){
				errors.push("Please enter your phone number");
				}			
			}
			
			if(/(^|\s)sname(\s|$)/.test(inputs[i].className)){
				if(inputs[i].value == ""){
				errors.push("Please supply an surname.");
				}			
			}


			if(/(^|\s)emaila(\s|$)/.test(inputs[i].className)){
				if(!emailreg.test(inputs[i].value)){
				errors.push("Please supply a valid Email Address.");
				}			
			}
			
		}		
		if(errors.length > 0)
		{
			var alertString = "";
			for(i=0;i<errors.length;i++){
				alertString = alertString + "- " +  errors[i] + "\n";
			}
			if(bRequired){alertString = alertString + "- " + "Please ensure all required fields are filled out!\n";}
			alert(alertString);
			return false;
		}
	}
}
}


function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}


addLoadEvent(checkRequired);
