// JavaScript Document
function dofrm()
{
<!--- document.test.page.value=refertarget; --->
if (!validate()) return false;
if (!validate_rcp()) return false;
return true;
}
function validate()
{
sfldn=document.referform.sd_name;
sflde=document.referform.sd_mail;
sfldn.value=ltrim(sfldn.value);
sflde.value=ltrim(sflde.value);
if (sfldn.value == "")
{
alert("Please Enter Your Name");
gotofield(sfldn);
return false;
}
if (!emailCheck(sflde.value))
{
gotofield(sflde);
return false;
}
return true;
}

function gotofield(field)
{
field.focus();
field.select();
}

function validate_rcp()
{
filled=0;
for (i=1;i<=5;i++)
	{
	fldn=eval("document.referform"+".N"+i);

	flde=eval("document.referform"+".E"+i);
	nm=ltrim(fldn.value);
	fldn.value=nm;
	em=ltrim(flde.value);
	flde.value=em;
	
		if (nm!="" && em!="")
		{	 /* check email*/
				if (!emailCheck(em))
				  {
                    gotofield(flde);
		  			 return false;					 						 
				  } 	  
				  
		filled = 1;
		}
		else if (nm=="" && em != "")
  		{ /* email was provided but name was not*/
		    alert("Please enter the name of Recipient  :  "+ em);
			                    gotofield(fldn);
			return false;
	   } 
   		else if (nm!="" && em == "")
	   {
			alert("Invalid E-mail Address Entered for  :  "+ nm);
			                    gotofield(flde);
    		return false;
   		}		
	}
	if (filled== 0)
	{
	alert("You Must Provide At Least One Recipient!");
	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("Email address seems incorrect (check @ and .'s)");
	return false;
}
var user=matchArray[1];
var domain=matchArray[2];
if (user.match(userPat)==null) {
    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 ltrim(what)
{
while(''+what.charAt(0)==' ')
{what=what.substring(1,what.length);}
return what;
}