function FrontPage_Form1_Validator(theForm)
{

  if (theForm.r_fname.value == "")
  {
    alert("Please enter a value for the \"r_fname\" field.");
    theForm.r_fname.focus();
    return (false);
  }

  if (theForm.r_lname.value == "")
  {
    alert("Please enter a value for the \"r_lname\" field.");
    theForm.r_lname.focus();
    return (false);
  }

  var radioSelected = false;
  for (i = 0;  i < theForm.r_sex.length;  i++)
  {
    if (theForm.r_sex[i].checked)
        radioSelected = true;
  }
  if (!radioSelected)
  {
    alert("Please select one of the \"Sex\" options.");
    return (false);
  }

  var radioSelected = false;
  for (i = 0;  i < theForm.marital.length;  i++)
  {
    if (theForm.marital[i].checked)
        radioSelected = true;
  }
  if (!radioSelected)
  {
    alert("Please select one of the \"Marital Status\" options.");
    return (false);
  }

  if (theForm.r_zip.value == "")
  {
    alert("Please enter a value for the \"Zip Code\" field.");
    theForm.r_zip.focus();
    return (false);
  }

  if (theForm.r_zip.value.length < 5)
  {
    alert("Please enter at least 5 characters in the \"Zip Code\" field.");
    theForm.r_zip.focus();
    return (false);
  }

  if (theForm.r_zip.value.length > 10)
  {
    alert("Please enter at most 10 characters in the \"Zip Code\" field.");
    theForm.r_zip.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.r_zip.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"Zip Code\" field.");
    theForm.r_zip.focus();
    return (false);
  }

  if (theForm.r_pphone.value == "")
  {
    alert("Please enter a value for the \"r_pphone\" field.");
    theForm.r_pphone.focus();
    return (false);
  }

  if (theForm.email.value == "")
  {
    alert("Please enter a value for the \"email\" field.");
    theForm.email.focus();
    return (false);
  }

  if (theForm.r_birthmonth.value == "")
  {
    alert("Please enter a value for the \"Month of Birth\" field.");
    theForm.r_birthmonth.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.r_birthmonth.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"Month of Birth\" field.");
    theForm.r_birthmonth.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal >= "1" && prsVal <= "12"))
  {
    alert("Please enter a value greater than or equal to \"1\" and less than or equal to \"12\" in the \"Month of Birth\" field.");
    theForm.r_birthmonth.focus();
    return (false);
  }

  if (theForm.r_dateofbirth.value == "")
  {
    alert("Please enter a value for the \"Date (of month) of birth\" field.");
    theForm.r_dateofbirth.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.r_dateofbirth.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"Date (of month) of birth\" field.");
    theForm.r_dateofbirth.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal >= "1" && prsVal <= "31"))
  {
    alert("Please enter a value greater than or equal to \"1\" and less than or equal to \"31\" in the \"Date (of month) of birth\" field.");
    theForm.r_dateofbirth.focus();
    return (false);
  }

  if (theForm.r_yearofbirth.value == "")
  {
    alert("Please enter a value for the \"Year of Birth\" field.");
    theForm.r_yearofbirth.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.r_yearofbirth.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"Year of Birth\" field.");
    theForm.r_yearofbirth.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal >= "0" && prsVal <= "99"))
  {
    alert("Please enter a value greater than or equal to \"0\" and less than or equal to \"99\" in the \"Year of Birth\" field.");
    theForm.r_yearofbirth.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.yearofcar.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"yearofcar\" field.");
    theForm.yearofcar.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.yearofcar2.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"yearofcar2\" field.");
    theForm.yearofcar2.focus();
    return (false);
  }

  var radioSelected = false;
  for (i = 0;  i < theForm.PDA.length;  i++)
  {
    if (theForm.PDA[i].checked)
        radioSelected = true;
  }
  if (!radioSelected)
  {
    alert("Please select one of the \"PDA\" options.");
    return (false);
  }

  var radioSelected = false;
  for (i = 0;  i < theForm.online.length;  i++)
  {
    if (theForm.online[i].checked)
        radioSelected = true;
  }
  if (!radioSelected)
  {
    alert("Please select one of the \"online\" options.");
    return (false);
  }

  var radioSelected = false;
  for (i = 0;  i < theForm.vidgame.length;  i++)
  {
    if (theForm.vidgame[i].checked)
        radioSelected = true;
  }
  if (!radioSelected)
  {
    alert("Please select one of the \"Video Games\" options.");
    return (false);
  }

  var checkOK = "0123456789-.,";
  var checkStr = theForm.vidgamehours.value;
  var allValid = true;
  var validGroups = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch == ".")
    {
      allNum += ".";
      decPoints++;
    }
    else if (ch == "," && decPoints != 0)
    {
      validGroups = false;
      break;
    }
    else if (ch != ",")
      allNum += ch;
  }
  if (!allValid)
  {
    alert("Please enter only digit characters in the \"vidgamehours\" field.");
    theForm.vidgamehours.focus();
    return (false);
  }

  if (decPoints > 1 || !validGroups)
  {
    alert("Please enter a valid number in the \"vidgamehours\" field.");
    theForm.vidgamehours.focus();
    return (false);
  }
  return (true);
}