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 validateForm() 
{
	//alert("oh yes");
	var okSoFar=true
	with (document.contacts_form)
	{	
		if (uname.value=="" && okSoFar)
		  {
			okSoFar=false
			alert("Please enter your name.")
			thesubject.focus()
		  }
		var foundAt = uemail.value.indexOf("@",0)
		var foundAt2 = uemail.value.indexOf(" ",0)
		var foundAt3 = uemail.value.indexOf(".",0)
		if (foundAt < 1 && okSoFar)
		{
			okSoFar = false
			alert ("Please enter a valid email address.")
			uemail.focus()
		}
		if (foundAt2 > 0 && okSoFar)
		{
			okSoFar = false
			alert ("Please enter a valid email address. Spaces are not allowed")
			uemail.focus()
		}
		if (foundAt3 < 1 && okSoFar)
		{
			okSoFar = false
			alert ("Please enter a valid email address.")
			uemail.focus()
		}
		var e1 = uemail.value
		var e2 = uemail2.value
		if (!(e1==e2) && okSoFar)
		{
			okSoFar = false
			alert ("Email addresses you entered do not match.  Please re-enter.")
			uemail.focus()
		}
		if (thesubject.value=="" && okSoFar)
		  {
			okSoFar=false
			alert("Please enter the subject.")
			thesubject.focus()
		  }
		  if (themessage.value=="" && okSoFar)
		  {
			okSoFar=false
			alert("Please enter the message.")
			themessage.focus()
		  }
		if (mobile.value=="" && okSoFar)
		  {
			okSoFar=false
			alert("Please enter your phone number.")
			mobile.focus()
		  }
		if (mobile.value!="" && okSoFar)
		{
			// 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 checkInternationalPhone(strPhone){
			s=stripCharsInBag(strPhone,validWorldPhoneChars);
			return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
		}
			if (checkInternationalPhone(mobile.value)==false){
				okSoFar=false
				alert("Please Enter a Valid Mobile Number")
				mobile.focus()
				return false
			}
		}
		if (okSoFar==true) {
			submit();
		}
	}
}