function ValidateContact(theForm)
{

  if (theForm.Name.value == "")
  {
    alert("Please enter a value for the \"Name\" field.");
    theForm.Name.focus();
    return (false);
  }

  if (theForm.Name.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"Name\" field.");
    theForm.Name.focus();
    return (false);
  }

  if (theForm.Name.value.length > 30)
  {
    alert("Please enter at most 30 characters in the \"Name\" field.");
    theForm.Name.focus();
    return (false);
  }

  if (theForm.EmailAddress.value == "")
  {
    alert("Please enter a value for the \"Email Address\" field.");
    theForm.EmailAddress.focus();
    return (false);
  }

  if (theForm.EmailAddress.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"Email Address\" field.");
    theForm.EmailAddress.focus();
    return (false);
  }

  if (theForm.EmailAddress.value.length > 50)
  {
    alert("Please enter at most 50 characters in the \"Email Address\" field.");
    theForm.EmailAddress.focus();
    return (false);
  }

  if (theForm.City.value == "")
  {
    alert("Please enter a value for the \"City\" field.");
    theForm.City.focus();
    return (false);
  }

  if (theForm.City.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"City\" field.");
    theForm.City.focus();
    return (false);
  }

  if (theForm.City.value.length > 30)
  {
    alert("Please enter at most 30 characters in the \"City\" field.");
    theForm.City.focus();
    return (false);
  }

  if (theForm.State.selectedIndex < 0)
  {
    alert("Please select one of the \"State\" options.");
    theForm.State.focus();
    return (false);
  }

  var numSelected = 0;
  var i;
  for (i = 0;  i < theForm.State.length;  i++)
  {
    if (theForm.State.options[i].selected)
        numSelected++;
  }
  if (numSelected < 1)
  {
    alert("Please select at least 1 of the \"State\" options.");
    theForm.State.focus();
    return (false);
  }

  if (numSelected > 15)
  {
    alert("Please select at most 15 of the \"State\" options.");
    theForm.State.focus();
    return (false);
  }

  if (theForm.phonenumber.value == "")
  {
    alert("Please enter a value for the \"Phone Number\" field.");
    theForm.phonenumber.focus();
    return (false);
  }

  if (theForm.phonenumber.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"Phone Number\" field.");
    theForm.phonenumber.focus();
    return (false);
  }

  if (theForm.phonenumber.value.length > 50)
  {
    alert("Please enter at most 50 characters in the \"Phone Number\" field.");
    theForm.phonenumber.focus();
    return (false);
  }

  if (theForm.subject.selectedIndex < 0)
  {
    alert("Please select one of the \"Subject\" options.");
    theForm.subject.focus();
    return (false);
  }

  if (theForm.subject.selectedIndex == 0)
  {
    alert("The first \"Subject\" option is not a valid selection.  Please choose one of the other options.");
    theForm.subject.focus();
    return (false);
  }

  if (theForm.QuestionComment.value == "")
  {
    alert("Please enter a value for the \"Comments or Question\" field.");
    theForm.QuestionComment.focus();
    return (false);
  }

  if (theForm.QuestionComment.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"Comments or Question\" field.");
    theForm.QuestionComment.focus();
    return (false);
  }

  if (theForm.QuestionComment.value.length > 5000)
  {
    alert("Please enter at most 5000 characters in the \"Comments or Question\" field.");
    theForm.QuestionComment.focus();
    return (false);
  }
  return (true);
}
