function validate_form(thisform){
	with (thisform){
	
		hideAllErrors();
		
		if (validate_requiredCB(formPrivacy)==false){		
			formName.focus();
			document.getElementById("privError").style.display = "inline";
		}else{			
			document.getElementById("privError").style.display = "none";
		}		
		
		/* Validate Required Field: Message Field */
		if (validate_required(formMessage)==false){
			formName.focus();
			document.getElementById("messError").style.display = "inline";
		}else{			
			document.getElementById("messError").style.display = "none";
		}

		/* Validate Field: Telephone Field */
		if (validate_phone(formTelephone)==false){
			formTelephone.focus();
		}
	
		/* Validate Field: Email Address Field */
		if (validate_email(formEmail)==false){
			formEmail.focus();
		}
		
		/* Validate Required Field: Name */		
		if (validate_required(formName)==false){
			formName.focus();
			document.getElementById("nameError").style.display = "inline";
		}else{			
			document.getElementById("nameError").style.display = "none";
		}
		
				if ((validate_required(formName)==false)
				||(validate_email(formEmail)==false)
				||(validate_required(formMessage)==false)
				||(validate_phone(formTelephone)==false)
				||(validate_requiredCB(formPrivacy)==false)){
				
					return false;
				}
				
				else {
					return true;
  				}
	}		
} 

function validate_required(field){
	with (field){
		if (value==null||value==""){
			return false;
		}
		else {return true;}
	}
}

function validate_requiredCB(field){
	with (field){
		if (checked==false){
			return false;
		}
		else {return true;}
	}
}

function validate_email(field){
	with (field){
		var apos=value.indexOf("@");
		var dotpos=value.lastIndexOf(".");
		if (value==null||value==""){
			document.getElementById("emailErrorR").style.display = "inline";
			return false;
		} 
		else if (apos<1||dotpos-apos<2){		
			document.getElementById("emailErrorF").style.display = "inline";
			return false;
		}
		else {return true;}	
	}
}

function validate_phone(field){
	with (field){		
	var stripped = value.replace(/[\(\)\.\-\ ]/g, '');	
		if (value==null||value==""){
			document.getElementById("teleErrorR").style.display = "inline";	
			return false;
		} 
		else if (isNaN(parseInt(stripped))){
	       	document.getElementById("teleErrorF").style.display = "inline";
	        return false;
        }
		else {return true;}
	}
}

function hideAllErrors(){
	document.getElementById("privError").style.display = "none";
	document.getElementById("messError").style.display = "none";
	document.getElementById("nameError").style.display = "none";
	document.getElementById("emailErrorR").style.display = "none";			
	document.getElementById("emailErrorF").style.display = "none";
	document.getElementById("teleErrorF").style.display = "none";
	document.getElementById("teleErrorR").style.display = "none";	
}