function validate(theForm){
  
  document.getElementById("EmailAddressError").style.display = "none";
  document.getElementById("PasswordError").style.display = "none";
  document.getElementById("RetypeError").style.display = "none"; 
  document.getElementById("FirstnameError").style.display = "none";
  document.getElementById("LastNameError").style.display = "none";
  document.getElementById("AddressError").style.display = "none";
  document.getElementById("TelephoneError").style.display = "none";
  
  PassValidation = true;
  
  if (theForm.email_address.value == ""){
    document.getElementById("EmailAddressError").innerHTML = "Please enter an email";
    document.getElementById("EmailAddressError").style.display ="inline";
    PassValidation = false;
  }
  else {
    var eMailRegExp = /^[a-zA-Z]\w*(\.\w+)*(-\w+)*(\.\w+)*@(\w+(-\w+)*\.)+[a-zA-Z]{2,9}$/
    var pass = eMailRegExp.test(theForm.email_address.value);
    if (!pass){
      document.getElementById("EmailAddressError").innerHTML = "Please enter a valid email";
      document.getElementById("EmailAddressError").style.display ="inline";
      PassValidation = false;
    }
  }
  
  if (theForm.users_password.value == ""){
    document.getElementById("PasswordError").innerHTML = "Please enter a password";
    document.getElementById("PasswordError").style.display ="inline";
    PassValidation = false;
  }
  
  if (theForm.re_users_password.value == ""){
    document.getElementById("RetypeError").innerHTML = "Please re-type the password";
    document.getElementById("RetypeError").style.display ="inline";
    PassValidation = false;
  }
  if (theForm.users_password.value != theForm.re_users_password.value){
    document.getElementById("RetypeError").innerHTML = "Your password does not match the re-typed password";
    document.getElementById("RetypeError").style.display ="inline";
    PassValidation = false;
  }
  
  if (theForm.first_name.value == ""){
    document.getElementById("FirstnameError").innerHTML = "Please enter your first name";
    document.getElementById("FirstnameError").style.display ="inline";
    PassValidation = false;
  }
  
  if (theForm.last_name.value == ""){
    document.getElementById("LastNameError").innerHTML = "Please enter your last name";
    document.getElementById("LastNameError").style.display ="inline";
    PassValidation = false;
  }

  if (theForm.address.value == ""){
    document.getElementById("AddressError").innerHTML = "Please enter your address";
    document.getElementById("AddressError").style.display ="inline";
    PassValidation = false;
  }

  if (theForm.telephone.value == ""){
    document.getElementById("TelephoneError").innerHTML = "Please enter your telephone";
    document.getElementById("TelephoneError").style.display ="inline";
    PassValidation = false;
  }
  
  return PassValidation;
}