function Contact_Form_CF(){
 var errormessage = new String();
var vF = document.forms["Contact_Form"];
if(Contact_Form_WithoutContent(vF["Full Name"].value)){errormessage += "\n\nPlease fill in the \"Full Name\" edit field";}
if(Contact_Form_NotAlpha(vF["Full Name"].value)){errormessage += "\n\n \"Full Name\" can only contain alphabetical characters";}
if(Contact_Form_WithoutContent(vF["Company"].value)){errormessage += "\n\nPlease fill in the \"Company\" edit field";}
if(Contact_Form_NotAlpha(vF["Company"].value)){errormessage += "\n\n \"Company\" can only contain alphabetical characters";}
if(Contact_Form_WithoutContent(vF["Telephone"].value)){errormessage += "\n\nPlease fill in the \"Telephone\" edit field";}
if(Contact_Form_NotNumeric(vF["Telephone"].value)){errormessage += "\n\n \"Telephone\" can only contain numerical digits";}
if(Contact_Form_WithoutContent(vF["Email"].value)){errormessage += "\n\nPlease fill in the \"Email\" edit field";}
if(Contact_Form_NotEmail(vF["Email"].value)){errormessage += "\n\nThe entry for \"Email\" does not appear to be a valid email address";}

if (errormessage.length > 2){
    alert("There are errors or ommissions in the form" + errormessage + "\n");
    return false;
    }
return true;
} // end of Contact_Form_CF()

function Contact_Form_WithoutContent(ss){
  if (ss.length>0){return false;}
return true;
}

function Contact_Form_WithoutCheck(ss){
  if(ss.checked){return false;}
return true;
}

function Contact_Form_NotEmail(ss){
  var splitted = ss.match("^(.+)@(.+)$");
  if (ss.length == 0){return false;}
  if(splitted == null) return true;
  if(splitted[1] != null){
    var regexp_user=/^\"?[\w-_\.]*\"?$/;
    if(splitted[1].match(regexp_user) == null) return true;
  }
  if(splitted[2] != null){
    var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
    if(splitted[2].match(regexp_domain) == null){
	 var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
      if(splitted[2].match(regexp_ip) == null) return true;
    }
  return false;
  }
return true;
}

function Contact_Form_NotAlpha(ss){
  var charpos = ss.search("[^ A-Za-z']");
  if(ss.length > 0 &&  charpos >= 0){return true;}
return false;
}

function Contact_Form_NotNumeric(ss){
  var charpos = ss.search("[^0-9]");
  if(ss.length > 0 &&  charpos >= 0){return true;}
return false;
}
