function FrontPage_Form1_Validator(theForm)
{
	normalsubmit();
  if (theForm.donor1.value == "")
  {
    alert("Please enter a name for the \"Donor\" field.");
    theForm.donor1.focus();
    return (false);
  }

  if (theForm.email.value == "")
  {
    alert("Please enter a valid email address for the \"Email\" field.");
    theForm.email.focus();
    return (false);
  }

  if (theForm.donor1street.value == "")
  {
    alert("Please enter a value for the \"Street\" field.");
    theForm.donor1street.focus();
    return (false);
  }

  if (theForm.donor1city.value == "")
  {
    alert("Please enter a value for the \"City\" field.");
    theForm.donor1city.focus();
    return (false);
  }

  if (theForm.donor1state.value == "")
  {
    alert("Please enter a value for the \"State\" field.");
    theForm.donor1state.focus();
    return (false);
  }

  if (theForm.donor1zip.value == "")
  {
    alert("Please enter a number for the \"Zip\" field.");
    theForm.donor1zip.focus();
    return (false);
  }

  if (theForm.cc.selectedIndex < 0)
  {
    alert("Please select one of the \"Credit Card Type\" options.");
    theForm.cc.focus();
    return (false);
  }

  if (theForm.cc.selectedIndex == 0)
  {
    alert("Please choose one of the Credit Card options.");
    theForm.cc.focus();
    return (false);
  }

  if (theForm.ccnumber1.value == "")
  {
    alert("Please enter a number for the \"Credit Card Digits, First Four\" field.");
    theForm.ccnumber1.focus();
    return (false);
  }

  if (theForm.ccnumber1.value.length < 4)
  {
    alert("Please enter at least 4 numbers in the \"Credit Card Digits, First Four\" field.");
    theForm.ccnumber1.focus();
    return (false);
  }

  if (theForm.ccnumber1.value.length > 4)
  {
    alert("Please enter at most 4 numbers in the \"Credit Card Digits, First Four\" field.");
    theForm.ccnumber1.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.ccnumber1.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 numbers in the \"Credit Card Digits, First Four\" field.");
    theForm.ccnumber1.focus();
    return (false);
  }

  if (theForm.ccnumber2.value == "")
  {
    alert("Please enter a number for the \"Credit Card Digits, Second Four\" field.");
    theForm.ccnumber2.focus();
    return (false);
  }

  if (theForm.ccnumber2.value.length < 4)
  {
    alert("Please enter at least 4 numbers in the \"Credit Card Digits, Second Four\" field.");
    theForm.ccnumber2.focus();
    return (false);
  }

  if (theForm.ccnumber2.value.length > 4)
  {
    alert("Please enter at most 4 numbers in the \"Credit Card Digits, Second Four\" field.");
    theForm.ccnumber2.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.ccnumber2.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 numbers in the \"Credit Card Digits, Second Four\" field.");
    theForm.ccnumber2.focus();
    return (false);
  }

  if (theForm.ccnumber3.value == "")
  {
    alert("Please enter 4 numbers for the \"Credit Card Digits, Third Four\" field.");
    theForm.ccnumber3.focus();
    return (false);
  }

  if (theForm.ccnumber3.value.length < 4)
  {
    alert("Please enter at least 4 numbers in the \"Credit Card Digits, Third Four\" field.");
    theForm.ccnumber3.focus();
    return (false);
  }

  if (theForm.ccnumber3.value.length > 4)
  {
    alert("Please enter at most 4 numbers in the \"Credit Card Digits, Third Four\" field.");
    theForm.ccnumber3.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.ccnumber3.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 numbers in the \"Credit Card Digits, Third Four\" field.");
    theForm.ccnumber3.focus();
    return (false);
  }

  if (theForm.ccnumber4.value == "")
  {
    alert("Please enter 4 numbers for the \"Credit Card Digits, Last Four\" field.");
    theForm.ccnumber4.focus();
    return (false);
  }

  if (theForm.ccnumber4.value.length < 4)
  {
    alert("Please enter at least 4 numbers in the \"Credit Card Digits, Last Four\" field.");
    theForm.ccnumber4.focus();
    return (false);
  }

  if (theForm.ccnumber4.value.length > 4)
  {
    alert("Please enter at most 4 numbers in the \"Credit Card Digits, Last Four\" field.");
    theForm.ccnumber4.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.ccnumber4.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 numbers in the \"Credit Card Digits, Last Four\" field.");
    theForm.ccnumber4.focus();
    return (false);
  }

  if (theForm.cc_Expiration_Month.value == "")
  {
    alert("Please enter a number for the \"Expiration Month\" field.");
    theForm.cc_Expiration_Month.focus();
    return (false);
  }

  if (theForm.cc_Expiration_Month.value.length < 1)
  {
    alert("Please enter at least 1 number in the \"Expiration Month\" field.");
    theForm.cc_Expiration_Month.focus();
    return (false);
  }

  if (theForm.cc_Expiration_Month.value.length > 2)
  {
    alert("Please enter at most 2 numbers in the \"Expiration Month\" field.");
    theForm.cc_Expiration_Month.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.cc_Expiration_Month.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 numbers in the \"Expiration Month\" field.");
    theForm.cc_Expiration_Month.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal >= "1" && prsVal <= "12"))
  {
    alert("Please enter a number 1-12 for the  \"Expiration Month\" field.");
    theForm.cc_Expiration_Month.focus();
    return (false);
  }

  if (theForm.cc_Expiration_Year.value == "")
  {
    alert("Please enter a number 1-12 for the \"Expiration Year\" field.");
    theForm.cc_Expiration_Year.focus();
    return (false);
  }

  if (theForm.cc_Expiration_Year.value.length < 2)
  {
    alert("Please enter at least 2 numbers in the \"Expiration Year\" field.");
    theForm.cc_Expiration_Year.focus();
    return (false);
  }

  if (theForm.cc_Expiration_Year.value.length > 2)
  {
    alert("Please enter at most 2 numbers in the \"Expiration Year\" field.");
    theForm.cc_Expiration_Year.focus();
    return (false);
  }

  var checkOK = "0123456789-,";
  var checkStr = theForm.cc_Expiration_Year.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 += ch;
  }
  if (!allValid)
  {
    alert("Please enter only numbers in the \"Expiration Year\" field.");
    theForm.cc_Expiration_Year.focus();
    return (false);
  }

  if (theForm.NameOnCard.value == "")
  {
    alert("Please enter a value for the \"Name on Card\" field.");
    theForm.NameOnCard.focus();
    return (false);
  }

  if (theForm.DayPhone.value == "")
  {
    alert("Please enter a value for the \"Daytime Phone Number\" field.");
    theForm.DayPhone.focus();
    return (false);
  }

	/// finally...
	
	pleasewait(); //makes the button say "please wait"
  return (true);
}

