﻿function checkvalues()
    {
        if(document.getElementById('firstname').value=="")
           {
           alert("Please enter First Name.")
           document.forms[0].firstname.focus(); 
           return false;
           }
        if(document.getElementById('lastname').value=="")
           {
           alert("Please enter Last Name.")
           document.forms[0].lastname.focus(); 
           return false;
           }        
		if(document.getElementById('lastname').value==document.getElementById('firstname').value)
           {
           alert("First Name cannot be the same as the Last Name.")
           document.forms[0].lastname.focus(); 
           return false;
           }
		if(!checkemail(document.getElementById('email').value))
           {
           document.forms[0].email.focus(); 
           return false;
           }
		if(!checkphone(document.getElementById('phone').value))
           {
           alert("Please enter valid Phone Number.  Must be 10 Digits.")
           document.forms[0].phone.focus(); 
           return false;
           }   
    return true;
    } // End of check()
 
function checkphone(pno)
    {
        if(pno=="")
            return false;
        var str="";
        var i;
        for (i = 0; i < pno.length; i++)
        {   
        var c = pno.charAt(i);
        if (((c < "0") || (c > "9"))) 
            {
            }
         else
         {
            str=str+c;
         }
        }
        if(str=="" || str.length !="10")
            return false;
        pno="";
      //pno="(";
        pno=pno+str.substring(0,3);
      //pno=pno+") ";
	  	pno=pno+"-";
        pno=pno+str.substring(3,6);
        pno=pno+"-";
        pno=pno+str.substring(6,10);
        document.forms[0].phone.value=pno;
        return true;
    } //End of checkphone(pno)
	
function checkemail(emailStr)
    {
        var checkTLD=1;
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		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];
		
		for (i=0; i<user.length; i++)
		{
			if (user.charCodeAt(i)>127)
			{
			alert("Email username contains invalid characters.");
			return false;
			}
		}
		for (i=0; i<domain.length; i++)
		{
			if (domain.charCodeAt(i)>127)
			{
			alert("Email domain name contains invalid characters.");
			return false;
			}
		}
		if (user.match(userPat)==null)
		{
		alert("Email username doesn't seem to be valid.");
		return false;
		}
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null)
		{
			for (var i=1;i<=4;i++)
			{
				if (IPArray[i]>255)
				{
				alert("Email Destination IP address is invalid!");
				return false;
				}
			}
			return true;
		}
		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		for (i=0;i<len;i++)
		{
			if (domArr[i].search(atomPat)==-1)
			{
			alert("The Email domain name does not seem to be valid.");
			return false;
			}
		}
		if (checkTLD && domArr[domArr.length-1].length!=2 && 
		domArr[domArr.length-1].search(knownDomsPat)==-1)
		{
		alert("The Email address must end in a well-known domain or two letter " + "country.");
		return false;
		}
		if (len<2)
		{
		alert("This Email address is missing a hostname!");
		return false;
		}
	return true;
    } // End of checkemail(emailStr)
        
