function validate_form(theForm)
{
  if (theForm.AccommodationName.selectedIndex  < 2)
  {
    alert("Please select the venue.");
    theForm.AccommodationName.focus();
    return (false);
  }
  if (theForm.FullName.value == "")
  {
    alert("Please enter your full name.");
    theForm.FullName.focus();
    return (false);
  }


  if (theForm.Email.value == "")
  {
    alert("Please enter your email address");
    theForm.Email.focus();
    return (false);
  }

  if (theForm.Email.value.length < 6)
  {
    alert("The email address you entered is invalid");
    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 Email field.");
    theForm.Email.focus();
    return (false);
  }
  
  
  if (theForm.ConfirmEmail.value == "")
  {
    alert("Please confirm your email address");
    theForm.ConfirmEmail.focus();
    return (false);
  }

  if (theForm.ConfirmEmail.value.length < 6)
  {
    alert("The confirmation email address you entered is invalid");
    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 confirm Email field.");
    theForm.ConfirmEmail.focus();
    return (false);
  }
    if (theForm.PhoneCode.value == "")
  {
    alert("Please enter your phone code.");
    theForm.PhoneCode.focus();
    return (false);
  }
  if (theForm.PhoneNumber.value == "")
  {
    alert("Please enter your phone number.");
    theForm.PhoneNumber.focus();
    return (false);
  }
  if (theForm.StartDay.selectedIndex  < 2)
  {
    alert("You have not selected a start day.");
    theForm.StartDay.focus();
    return (false);
  }
  if (theForm.StartMonth.selectedIndex  < 2)
  {
    alert("You have not selected a start month.");
    theForm.StartMonth.focus();
    return (false);
  }
    if (theForm.StartYear.selectedIndex  < 2)
  {
    alert("You have not selected a start Year.");
    theForm.StartYear.focus();
    return (false);
  }
    if (theForm.EndDay.selectedIndex  < 2)
  {
    alert("You have not selected an end day.");
    theForm.EndDay.focus();
    return (false);
  }
  if (theForm.EndMonth.selectedIndex  < 2)
  {
    alert("You have not selected an end month.");
    theForm.EndMonth.focus();
    return (false);
  }
    if (theForm.EndYear.selectedIndex  < 2)
  {
    alert("You have not selected an end Year.");
    theForm.EndYear.focus();
    return (false);
  }

  if (theForm.NoOfAdults.value == "")
  {
    alert("Please enter the number of adults.");
    theForm.NoOfAdults.focus();
    return (false);
  }
  if (theForm.CountryOfOrigin.value == "")
  {
    alert("Please enter your country of origin.");
    theForm.CountryOfOrigin.focus();
    return (false);
  }
    if (theForm.DailyBudget.selectedIndex  < 2)
  {
    alert("You have not selected your prefered daily budget.");
    theForm.DailyBudget.focus();
    return (false);
  }
  if (theForm.SpamCheck.value == "")
  {
    alert("Please enter the red number.");
    theForm.SpamCheck.focus();
    return (false);
  }
  
  
  
  
  
  
  
  
  return (true);
}
