function initForm(frm)
{
	frm.firstname.focus();	
}

function validate_form(frm)
{	
	var f;

	if (frm.firstname.value == "")
	{	alert("Please enter first name");
		frm.firstname.focus();
	  	return false;
	}
	if (frm.lastname.value == "")
	{ 	alert("Please enter last name");
		frm.lastname.focus();
	  	return false;
	}
	if (frm.address.value == "")
	{	alert("Please enter address");
		frm.address.focus();
		return false;
	}
	if (frm.city.value == "")
	{	alert("Please enter city");
		frm.city.focus();
		return false;
	}
	if (frm.zip.value == "")
	{	alert("Please enter zip code");
		frm.zip.focus();
		return false;
	}
	f = validate_zipcode(frm.zip.value);
	if (f == false)
	{
		alert("Invalid zip code entered");
		frm.zip.focus();
		return false;
	}

	if (frm.phone.value == "")
	{	alert("Please enter phone number");
		frm.phone.focus();
		return false;
	}
	f = validatePhone(frm.phone.value);
	if (f == false)
	{
		alert("Invalid phone entered");
		frm.phone.focus();
		return false;
	}
	if (frm.email.value > "")
	{
		f = validate_email(frm.email.value);
		if (f == false)
		{
			alert("Please enter a valid email address");
			frm.email.focus();
			return false;
		}
	}	
	if (frm.noadults.value == "0" || frm.noadults.value == "")
	{	alert("Please enter number of adults");
		frm.noadults.focus();
		return false;
	}
	f = isNumberString(frm.noadults.value);
	if (f == false)
	{
		alert("Please enter valid number of adults");
		frm.noadults.focus();
		return false;
	}
	if (frm.nokids.value == "0" || frm.nokids.value == "")
	{	frm.nokids.value = "0";}
	else
	{
		f = isNumberString(frm.nokids.value);
		if (f == false)
		{
			alert("Please enter valid number of children");
			frm.nokids.focus();
			return false;
		}
	}

	return true;
}

function isNumberString (InString)  
{
    if(InString.length==0) return (false);
    var RefString="1234567890";
    for (Count=0; Count < InString.length; Count++)
    {
        TempChar= InString.substring (Count, Count+1);
        if (RefString.indexOf (TempChar, 0)==-1)  
            return (false);
    }
    return (true);
}

function validatePhone(InString)
{
    var stripped = InString.replace(/[\(\)\.\-\ ]/g, '');
//strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) 
    {
   	return false;
    }
    else
    {
	if (stripped.length != 10)
	{	return false; }
    }
    return true;
}

function validate_email(field)
{
    with (field)
    {
  	var apos=indexOf("@");
  	var dotpos=lastIndexOf(".");
  	if (apos<1||dotpos-apos<2)
    	{	return false;}
  	else
	{	return true;}
    }
}

function validate_zipcode(fld)
{	var regExp = /^(0|1|2|3|4|5|6|7|8|9){5,5}(-*)(0|1|2|3|4|5|6|7|8|9){0,4}$/i;
	var match = regExp.test(fld);

	return match;
}

