function validate_email(oEmail){
	if (document.layers||document.getElementById||document.all) {
		var str=oEmail.value;
		if (str!=''){
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
			if (!filter.test(str)) {
				//alert("Please input a valid email address!");
				oEmail.select();
				oEmail.focus();
				return false;
			} 
			else return true;
		}
		else return false;
	}
	else return false;
}

function validate(){
	<!--- Validate form --->
	with (document.sendapp){
		
		//friend's email may be blank or invalid
		if (first_name.value.length <= 0) {
			alert('Please enter your first name.'); 
			document.sendapp.first_name.select();
			document.sendapp.first_name.focus();
			return false;
		}
		else if (last_name.value.length <= 0) {
			alert('Please enter your last name.'); 
			document.sendapp.last_name.select();
			document.sendapp.last_name.focus();
			return false;
		}
		else if (email.value.length <= 0) {
			alert('Please enter an email address.'); 
			document.sendapp.last_name.select();
			document.sendapp.last_name.focus();
			return false;
		}

		else if (!validate_email(document.sendapp.email)) {
			alert('Please enter a valid e-mail address.'); 
			document.sendapp.email.select();
			document.sendapp.email.focus();
			return false;
		}

		//this person's name may be blank
		else if (address.value.length <= 0) {
			alert('Please enter a contact address in the form.'); 
			document.sendapp.address.select();
			document.sendapp.address.focus();
			return false;
		}
		
		//this person's email should not be blank or invalid
		else if (city.value.length <= 0) {
			alert('Please enter a city in the form.'); 
			document.sendapp.city.select();
			document.sendapp.city.focus();
			return false;
		}
		else if (state.value.length <= 0) {
			alert('Please enter state or region.'); 
			document.sendapp.state.select();
			document.sendapp.state.focus();
			return false;
		}

		else if (zip.value.length <= 0) {
			alert('Please enter a zip or post code.');
			document.sendapp.message.select();
			document.sendapp.message.focus();
			 return false;
		}
		else if (country.value.length <= 0) {
			alert('Please enter a country.'); 
			document.sendapp.country.select();
			document.sendapp.country.focus();
			return false;
		}
		/**else if (phone.value.length <= 0) {
			alert('Please enter phone number.'); 
			document.sendapp.phone.select();
			document.sendapp.phone.focus();
			return false;
		}**/
		else if (!ValidatePhone()) {
			return false;		
		}
		else if (arival_date.value.length < 10) {
			alert('Please select an arrival date by clicking on the calendar.'); 
			document.sendapp.arival_date.select();
			document.sendapp.arival_date.focus();
			return false;
		}
		else if (departure_date.value.length < 10) {
			alert('Please select a departure date by clicking on the calendar.'); 
			document.sendapp.departure_date.select();
			document.sendapp.departure_date.focus();
			return false;
		}
		else if (group_size.value.length <= 0) {
			alert('Please enter a group size.'); 
			document.sendapp.group_size.select();
			document.sendapp.group_size.focus();
			return false;
		}

		//all is good ...proceed
		else return true;
	}
}

/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidatePhone(){
	var Phone=document.sendapp.phone
	
	if ((Phone.value==null)||(Phone.value=="")){
		alert("Please enter your phone number.")
		Phone.select()
		Phone.focus()
		return false
	}
	if (checkInternationalPhone(Phone.value)==false){
		alert("Please enter a valid phone number.")
		Phone.value=""
		Phone.focus()
		return false
	}
	return true
 }



