function FrontPage_Form2_Validator(theForm)
{

  if ((theForm.Name.value == "") || (theForm.Name.value == "Full Name"))
  {
    alert("Please enter a value for the \"FullName\" field.");
    theForm.Name.focus();
    return (false);
  }

  if (theForm.Name.value.length < 3)
  {
    alert("Please enter at least 3 characters in the \"FullName\" field.");
    theForm.Name.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\n\f";
  var checkStr = theForm.Name.value;
  var allValid = true;
  var validGroups = true;
  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 (!allValid)
  {
    alert("Please enter only letter and whitespace characters in the \"FullName\" field.");
    theForm.Name.focus();
    return (false);
  }

  if ((theForm.Email.value == "") || (theForm.Email.value == "E-mail Address"))
  {
    alert("Please enter a value for the \"Email\" field.");
    theForm.Email.focus();
    return (false);
  }

  if (theForm.Email.value.length < 6)
  {
    alert("Please enter at least 6 characters in the \"Email\" field.");
    theForm.Email.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-@.-_";
  var checkStr = theForm.Email.value;
  var allValid = true;
  var validGroups = true;
  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 (!allValid)
  {
    alert("Please enter only letter, digit and \"@.-_\" characters in the \"E-Email\" field.");
    theForm.Email.focus();
    return (false);
  }

  if ((theForm.ConfirmEmail.value == "") || (theForm.ConfirmEmail.value == "Confirm E-mail Address"))
  {
    alert("Please enter a value for the \"ConfirmEmail\" field.");
    theForm.ConfirmEmail.focus();
    return (false);
  }

  if (theForm.ConfirmEmail.value.length < 6)
  {
    alert("Please enter at least 6 characters in the \"ConfirmEmail\" field.");
    theForm.ConfirmEmail.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-@.-_";
  var checkStr = theForm.ConfirmEmail.value;
  var allValid = true;
  var validGroups = true;
  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 (!allValid)
  {
    alert("Please enter only letter, digit and \"@.-_\" characters in the \"ConfirmEmail\" field.");
    theForm.ConfirmEmail.focus();
    return (false);
  }
  
  if (theForm.ConfirmEmail.value != theForm.Email.value)
  {
    alert("Please make sure that both email fields are the same.");
    theForm.ConfirmEmail.focus();
    return (false);
  }

  if (theForm.Booking_For.selectedIndex < 0)
  {
    alert("Please select one of the \"Packages\" options.");
    theForm.Booking_For.focus();
    return (false);
  }

  if (theForm.Booking_For.selectedIndex == 0)
  {
    alert("The first \"Packages\" option is not a valid selection.  Please choose one of the other options.");
    theForm.Booking_For.focus();
    return (false);
  }

if ((theForm.NumberOfPeople.value == "") || (theForm.NumberOfPeople.value == "Number of People"))
  {
    alert("Please enter a value for the \"NumberOfPeople\" field.");
    theForm.NumberOfPeople.focus();
    return (false);
  }

  if (theForm.NumberOfPeople.value.length < 1)
  {
    alert("Please enter at least 1 characters in the \"NumberOfPeople\" field.");
    theForm.Number_of_adults.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.NumberOfPeople.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 \"NumberOfPeople\" field.");
    theForm.NumberOfPeople.focus();
    return (false);
  }


  if (theForm.ArriveDay.selectedIndex == 0 || theForm.ArriveDay.selectedIndex == 1)
  {
    alert("The \"Arrival Day\" is not a  valid selection");
    theForm.ArriveDay.focus();
    return (false);
  }
    if (theForm.ArriveMonth.selectedIndex == 0 || theForm.ArriveMonth.selectedIndex == 1)
  {
    alert("The \"Arrival Month\" is not a  valid selection");
    theForm.ArriveMonth.focus();
    return (false);
  }
      if (theForm.ArriveYear.selectedIndex == 0 || theForm.ArriveYear.selectedIndex == 1)
  {
    alert("The \"Arrival Year\" is not a  valid selection");
    theForm.ArriveYear.focus();
    return (false);
  }


    if (theForm.DepartDay.selectedIndex == 0 || theForm.DepartDay.selectedIndex == 1)
  {
    alert("The \"Departure Day\" is not a  valid selection");
    theForm.DepartDay.focus();
    return (false);
  }
    if (theForm.DepartMonth.selectedIndex == 0 || theForm.DepartMonth.selectedIndex == 1)
  {
    alert("The \"Departure Month\" is not a  valid selection");
    theForm.DepartMonth.focus();
    return (false);
  }
      if (theForm.DepartYear.selectedIndex == 0 || theForm.DepartYear.selectedIndex == 1)
  {
    alert("The \"Departure Year\" is not a  valid selection");
    theForm.DepartYear.focus();
    return (false);
  }

if (theForm.SpamCheck.value == "")
  {
    alert("Please enter the red number");
    theForm.SpamCheck.focus();
    return (false);
  }

 return (true);
}

