    function validate (formName){

  // make sure they put their first name in
  if (formName.elements.firstname.value == ""){
    alert ("Please enter your First Name");
    formName.elements.firstname.focus();
    return false;
  }
  
  // make sure first name is more than 3 characters long
  if (formName.elements.firstname.value.length < 3){
    alert("Please enter at least 3 characters in the First Name field.");
    formName.elements.firstname.focus();
    return false;
  }
  
  // Check for valid characters in the first name
  var checkStr = formName.elements.firstname.value;
  var regEx = /^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \t\r\n\f]*$/;
  if (!checkStr.match(regEx)){
    alert("Please enter only letters, spaces and . - / ( ) \\ characters in the First Name field.");
    return false;
  }
  
  // make sure they put their last name in
  if (formName.elements.surname.value == ""){
    alert ("Please enter your Last Name");
    formName.elements.surname.focus();
    return false;
  }
  
  // make sure last name is more than 3 characters long
  if (formName.elements.surname.value.length < 3){
    alert("Please enter at least 3 characters in the Last Name field.");
    formName.elements.surname.focus();
    return false;
  }
  
  // Check for valid characters in the last name
  var checkStr = formName.elements.surname.value;
  var regEx = /^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \t\r\n\f]*$/;
  if (!checkStr.match(regEx)){
    alert("Please enter only letters, spaces and . - / ( ) \\ characters in the Last Name field.");
    return false;
  }
  
  // validate company field
  if (formName.elements.company.value == ""){
    alert ("Please enter your Company Name");
    formName.elements.company.focus();
    return false;
  }
  
  // validate email
  if (formName.elements.email.value == "") {
    alert ("Please enter your e-mail address");
    formName.elements.email.focus();
    return false;
  }
  
  // Check for valid email
  checkStr = formName.elements.email.value;
  if (!checkStr.match(/^[A-Za-z0-9_\.]+@([A-Za-z0-9-]+\.)+[A-Za-z]{2,}$/)){
    alert("Please enter a valid e-mail address.");
    return false;
  }
  
  // validate telephone field
  if (formName.elements.telephone.value == ""){
    alert ("Please enter your Telephone number");
    formName.elements.telephone.focus();
    return false;
  }
  
  if (formName.elements.telephone.value != ""){
    // Check for valid characters in the phone number
    checkStr = formName.elements.telephone.value;
    if (!checkStr.match(/^[0123456789 --()]*$/)){
      alert("Please enter only numbers, spaces and - ( ) characters in the Telephone number field.");
      return false;
    }
  
    // make sure they give a long enough number (7 characters)
    if (formName.elements.telephone.value.length < 7){
      alert("Your Phone Number must have at least 7 digits");
      formName.elements.telephone.focus();
      return false;
    }
  }
  
  // Everything is OK, so submit the form.
  return true;
  //return false; // falsed for testing
  
}

