	function isValidEmail(str) 
	{
  		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	}
	
	// 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 checkForm()
	{
		var errorMsg = "";
		
		if(document.getElementById('name').value.length < 1)
		{	errorMsg += "Your full name is required\n";		}
		
		if(document.getElementById('email').value.length >0 && !isValidEmail(document.getElementById('email').value))
		{	errorMsg += "Please supply a valid email address\n";	}

		if(document.getElementById('phone').value.length == 0 && document.getElementById('phone2').value.length == 0 && document.getElementById('phone3').value.length == 0)
		{
			errorMsg += "Please provide at least one phone number\n";
		}
		else
		{
			if(document.getElementById('phone').value.length > 0 && !checkInternationalPhone(document.getElementById('phone').value))
			{	errorMsg += "Please supply a valid phone number\n";	}
		
			if(document.getElementById('phone2').value.length > 0 && !checkInternationalPhone(document.getElementById('phone2').value))
			{	errorMsg += "Please supply a valid evening phone number\n";	}

			if(document.getElementById('phone3').value.length > 0 && !checkInternationalPhone(document.getElementById('phone3').value))
			{	errorMsg += "Please supply a valid mobile phone number\n";	}

		}

		if(document.getElementById('arrivalDate1').value.length==0)
		{	errorMsg += "Please indicate your planned arrival date\n";	}

		if(document.getElementById('departureDate1').value.length==0)
		{	errorMsg += "Please indicate your planned departure date\n";	}

		if(errorMsg.length>0)
		{	alert(errorMsg);	}
		else
		{	sendForm();	}
	}
	
	function resetForm(start)
	{
		var el = start;
		for(var i=0; i < el.childNodes.length;i++)
		{
			var node = el.childNodes[i];
			if(node.nodeName!='input' && node.nodeName!='INPUT'){
				resetForm(node);
			}
			else if(node.type!="button")
			{
				
				node.value = "";
			}
		}
	}



