
function LTrim(str)
{  var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(0)) != -1) {
       var j=0, i = s.length;
       while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
              j++;
       s = s.substring(j, i);
   }
return s;
}
function RTrim(str)
{  var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
       var i = s.length - 1;       
       while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
              i--;
       s = s.substring(0, i+1);
   }
return s;
}
function Trim(str)  { return RTrim(LTrim(str)); }

function ValidateGroup(theForm) {
	  var myOption = -1;
for (i=0; i < theForm.GroupType.length; i ++) 
{
	if (theForm.GroupType[i].checked) 
	{
		myOption = i; 
		break;
	}
}
  if (myOption == theForm.GroupType.length || myOption == -1) 
{
	alert("Please select type of group.");
	theForm.GroupType[0].focus();
	return false;
}
	
	if (Trim(theForm.FirstChoiceMonth.value) == "")
  {
    alert("Please enter month of your date requested.");
    theForm.FirstChoiceMonth.focus();
    return (false);
  }
  if (Trim(theForm.FirstChoiceDay.value) == "")
  {
    alert("Please enter day of your date requested.");
    theForm.FirstChoiceDay.focus();
    return (false);
  }
  if (Trim(theForm.FirstChoiceYear.value) == "")
  {
    alert("Please enter year of your date requested.");
    theForm.FirstChoiceYear.focus();
    return (false);
  }
	if (Trim(theForm.Name1.value) == "")
  {
    alert("Please enter contact name.");
    theForm.Name1.focus();
    return (false);
  } 
  if (Trim(theForm.MAddress.value) == "")
  {
    alert("Please enter mailing address.");
    theForm.MAddress.focus();
    return (false);
  }
  if (Trim(theForm.MCity.value) == "")
  {
    alert("Please enter mailing city.");
    theForm.MCity.focus();
    return (false);
  }
  if (Trim(theForm.MState.value) == "")
  {
    alert("Please enter mailing state.");
    theForm.MState.focus();
    return (false);
  }
  if (Trim(theForm.MZip.value) == "")
  {
    alert("Please enter mailing zip code.");
    theForm.MZip.focus();
    return (false);
  }
  if (Trim(theForm.MCountry.value) == "")
  {
    alert("Please enter mailing country.");
    theForm.MCountry.focus();
    return (false);
  }

  if (Trim(theForm.Phone.value) == "")
  {
    alert("Please enter phone number.");
    theForm.Phone.focus();
    return (false);
  }

   if (Trim(theForm.Email.value) == "")
  {
    alert("Please enter your email.");
    theForm.Email.focus();
    return (false);
  }

	var checkStr = theForm.Email.value;
	var ch = checkStr.indexOf('@');

	if (ch==0 || ch==-1) {
		alert("Please enter a valid email address.");
		theForm.Email.focus();
		return (false);
	}
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzfSOZsozYÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789-@.-_'";
	var checkStr = theForm.Email.value;
	var allValid = 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.Adult.value=="")
{
   alert("Please enter number of adults in group.");
   theForm.Adult.focus();
   return (false);
}

return (true);
}
