function checkMailForm(theForm)
	{
		var formOK;
		
		formOK = false;
		
		if(checkReq(theForm))
		{
			if(checkValid(theForm))			

				formOK = true;
		}

	return formOK;

	}

function checkReq(theForm)
	{
		var formReqOK, textAlert;
		
		formReqOK = true;
		textAlert = '\n';

		if(theForm.em.value == "")
		{
			textAlert = 'Please fill in your email address...\n';
				if(formReqOK == true)
					theForm.em.focus();
			formReqOK = false;
		}

		if(!formReqOK)
		{
			alert(textAlert);
		}

	return formReqOK;	
	}
	
function checkValid(theForm)
	{
		var formValOK, textAlert;
		
		formValOK = true;
		textAlert = '\n';

		if(!isEmail(theForm.em.value))
		{
			textAlert = textAlert + 'Invalid e-mail address.\n';
				if(formValOK == true)
				{
					theForm.em.select();
					theForm.em.focus();
				}
			formValOK = false;
		}	

		if(!formValOK)
		{
			alert (textAlert);
		}

		return formValOK;

	}
	
function isEmail(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) {
			return false
		}
		var user=matchArray[1]
		var domain=matchArray[2]

		if (user.match(userPat)==null) {
			return false
		}

		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			  for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
				return false
				}
			}
			return true
		}

		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			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>5) {
		   return false
		}

		if (len<2) {
		   return false
		}

		return true;
	}