	function isEmailAddr(email)
	{
	  var result = false;
	  var theStr = new String(email);
	  var index = theStr.indexOf("@");
	  if (index > 0)
	  {
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1))
		result = true;
	  }
	  return result;
	}
	
	function validRequired(formField, alert_msg)
	{
		var result = true;
		
		if (formField.value == "")
		{
			alert(alert_msg);
			formField.select();
			result = false;
		}
		
		return result;
	}
	
	function allDigits(str)
	{
		return inValidCharSet(str,"0123456789");
	}

	function allFloat(str)
	{
		return inValidCharSet(str,"0123456789.");
	}

	
	function inValidCharSet(str,charset)
	{
		var result = true;
	
		// Note: doesn't use regular expressions to avoid early Mac browser bugs	
		for (var i=0;i<str.length;i++)
			if (charset.indexOf(str.substr(i,1))<0)
			{
				result = false;
				break;
			}
		
		return result;
	}
	
	function validEmail(formField, alert_msg, required)
	{
		var result = true;
		
		if (required && !validRequired(formField,alert_msg))
			result = false;
	
		if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
		{
			alert(alert_msg);
			formField.select();
			result = false;
		}
	   
	  return result;
	
	}
	
	function validInt(formField, alert_msg, required)
	{
		var result = true;
	
		if (required && !validRequired(formField, alert_msg))
			result = false;
	  
		if (result)
		{
			if( (!allDigits(formField.value)) && (formField.value != "") )
			{
				alert(alert_msg);
				formField.select();		
				result = false;
			}
		} 
		
		return result;
	}
	
	
	function validNum(formField, alert_msg, required)
	{
		var result = true;
	
		if (required && !validRequired(formField, alert_msg))
			result = false;
	  
		if (result)
		{
			if (isNaN(formField.value) && (formField.value != "") )
			{
				alert(alert_msg);
				formField.select();		
				result = false;
			}
		} 
		return result;
	}
	
	function validDate(formField, alert_msg, required)
	{
		var result = true;
	
		if (required && !validRequired(formField, alert_msg))
			result = false;
	  
		if (result)
		{
			var elems = formField.value.split("/");
			
			result = (elems.length == 3); // should be three components
			
			if (result)
			{
				var month = parseInt(elems[0],10);
				var day = parseInt(elems[1],10);
				var year = parseInt(elems[2],10);
				result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
						 allDigits(elems[1]) && (day > 0) && (day < 32) &&
						 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
			}
			if (!result)
			{
				alert(alert_msg);
				formField.select();		
			}
		} 
		return result;
	}
	
	function formvalidation(theForm)
	{
		if(!validRequired(theForm.name,"Please enter your name")) return false;
/*
		if( (theForm.phone.value == ""))
		{
			alert("Please enter a phone number");
			return false;
		}
*/
		if(!validEmail(theForm.email,"Please enter an email address in the form: somename@somedomain.com",true)) return false;
		if( (theForm.num_pass.value == ""))
		{
			alert("Please enter the number of passengers");
			return false;
		}
		
		alert("Thank you for your inquiry.  Someone will get back to you soon.");
		return true;
	}

	function formvalidation2(theForm)
	{
		if(!validRequired(theForm.name,"Please enter your name")) return false;
/*
	if( (theForm.homePhone.value == "") && (theForm.cellPhone.value == "") && (theForm.officePhone.value == ""))
		{
			alert("Please enter at least one phone number");
			return false;
		}
*/
		if(!validEmail(theForm.email,"Please enter an email address in the form: somename@somedomain.com",true)) return false;
		
		alert("Thank you for your inquiry.  Someone will get back to you soon.");
		return true;
	}
