function validName(form) {
  var checkStr = form.name.value;
  var checkOk = /^[A-Za-z]+ +[A-Za-z]+$/;
  if (form.name.value == "")
  {
    alert("Please enter a value for the \"What is your Name?\" field.");
    form.name.focus();
    return (false);
  }
  if (checkOk.test(checkStr))
  {
  return true;
  }
    alert("Please enter first and last Name.");
    form.name.select();
    form.name.focus();
    return (false);
}
function validStreet(form) {
  var checkStr = form.street.value;
  var checkOk = / *(\d)? *(\w)? *(\w\.)?/;
  if (form.street.value == "")
  {
    alert("Please enter a value for the \"Address:\" field.");
    form.street.focus();
    return (false);
  }
  if (checkOk.test(checkStr))
  {
  return true;
  }
    alert(""+checkStr+" is incorrect; Please enter Number and Name.");
    form.street.select();
    form.street.focus();
    return (false);
}
function validCity(form) {
  var checkStr = form.city.value;
  var checkOk = /\w/;
  if (form.city.value == "")
  {
    alert("Please enter a value for the \"City:\" field.");
    form.city.focus();
    return (false);
  }
  if (checkOk.test(checkStr))
  {
  return true;
  }
    alert(""+checkStr+" is incorrect; Please enter a City Name.");
    form.city.select();
    form.city.focus();
    return (false);
}
function validState(form) {
  var checkStr = form.state.value;
  var checkOk = /^[A-Z][A-Z]$/;
  if (form.state.value == "")
  {
    alert("Please enter a value for the \"State:\" field.");
    form.state.focus();
    return (false);
  }
  if (checkOk.test(checkStr))
  {
  return true;
  }
    alert(""+checkStr+" is incorrect; Please enter a State Abbreviation.");
    form.state.select();
    form.state.focus();
    return (false);
}
function validZip(form) {
  var checkStr = form.zip.value;
  var checkOk = /^ *([0-9][0-9][0-9][0-9][0-9]) *-? *([0-9][0-9][0-9][0-9])? *$/;
  if (form.zip.value == "")
  {
    alert("Please enter a value for the \"Zip Code:\" field.");
    form.zip.focus();
    return (false);
  }
  if (checkOk.test(checkStr))
  {
  return true;
  }
    alert(""+checkStr+" is incorrect; Please enter 00000 or 00000-0000.");
    form.zip.select();
    form.zip.focus();
    return (false);
}
function validPhone(form) {
  var checkStr = form.phone.value;
  var checkOk = /^ *\(? *(\d\d\d)? *(\ ?-?) *\)? *(\d\d\d) *(\ ?-?) *(\d\d\d\d) *$/;
  if (form.phone.value == "")
  {
    alert("Please enter a value for the \"What is your Phone Number?\" field.");
    form.phone.focus();
    return (false);
  }
  if (checkOk.test(checkStr))
  {
  return true;
  }
    alert(""+checkStr+" is incorrect; Please enter a valid Phone Number.");
    form.phone.select();
    form.phone.focus();
    return (false);
}
function formValidator(form) {
   if (validName(form) && validStreet(form) && validCity(form) && validState(form) && validZip(form) && validPhone(form)) {
     return true;
   } else {
     return false;
   }
}
