function isNumeric(str)
{
var pattern = "0123456789+-)( ";
var i = 0;
	do
	{
		var pos = 0;
		for (var j=0;j<pattern.length;j++)
			if (str.charAt(i)==pattern.charAt(j))
				pos = 1;
		i++;
	}
	while (pos==1 && i<str.length)
	if (pos==0)
		return false;
	return true;
}

function emailCheck (emailStr) 
{
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
var matchArray=emailStr.match(emailPat)
	if (matchArray==null) 
	{
	alert("Please enter a valid email address (check @ and .'s)")
	return false
	}
var user=matchArray[1]
var domain=matchArray[2]
	if (user.match(userPat)==null) 
	{
   	// user is not valid
   	alert("The username doesn't seem to be valid.")
   	return false
	}
var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) 
	{
   	// this is an IP address
  	for (var i=1;i<=4;i++) 
	{
    if (IPArray[i]>255) 
		{
        alert("Destination IP address is invalid!")
		return false
    	}
   	}
   	return true
}
var domainArray=domain.match(domainPat)
	if (domainArray==null) 
	{
	alert("The domain name doesn't seem to be valid.")
   	return false
	}
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) 
	{
	alert("The address must end in a three-letter domain, or two letter country.")
   	return false
	}
	if (len<2) 
	{
	var errStr="This address is missing a hostname!"
	alert(errStr)
	return false
	}
	return true;
}

function validate(theForm) {
	if (theForm.title.value=='') {
		alert("Please select your Title");
		theForm.title.focus();
		return false;
	}
	if (theForm.firstname.value=='') {
		alert("Please enter your First Name");
		theForm.firstname.focus();
		return false;
	}
	if (theForm.lastname.value=='') {
		alert("Please enter your Last Name");
		theForm.lastname.focus();
		return false;
	}
	if (theForm.tel.value==''){
		alert("Please enter a contact number");
		theForm.tel.focus();
		return false;
	}
	if (theForm.tel.value!=''){
		if ((!isNumeric(theForm.tel.value))||(theForm.tel.value.length < 6)){
			alert("Please enter a valid number");
			theForm.tel.value = '';
			theForm.tel.focus();
			return false;
		}
	}
	if (!emailCheck(theForm.email.value)){
		theForm.email.value = '';
		theForm.email.focus();
		return false;
	}
	return true;
}