function FrontPage_Form1_Validator(theForm)
{

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

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

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ \t\r\n\f";
  var checkStr = theForm.FullName.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.FullName.focus();
    return (false);
  }

  if (theForm.Email.value == "")
  {
    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 == "")
  {
    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.CountryOfOrigin.selectedIndex < 0)
  {
    alert("Please select one of the \"CountryOfOrigin\" options.");
    theForm.CountryOfOrigin.focus();
    return (false);
  }

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

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

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

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

  var checkOK = "0123456789-";
  var checkStr = theForm.Number_of_adults.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 \"Number_of_adults\" field.");
    theForm.Number_of_adults.focus();
    return (false);
  }


  if ((theForm.Luxury_Room.selectedIndex == 0) && (theForm.Number_of_Suite.selectedIndex == 0))
  {
    alert("Please select at least one room....");
    theForm.Number_of_Suite.focus();
    return (false);
  }


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

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

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

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

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

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

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

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

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

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

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

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

  return (true);
}
