// JavaScript Document
function checkfrm(frm)
{
	if(document.frm.FirstName.value=="")
	{
		alert("Please enter your First Name.");
		document.frm.FirstName.focus();
		return (false);
	}
	if(document.frm.LastName.value=="")
	{
		alert("Please enter your Last Name.");
		document.frm.LastName.focus();
		return (false);
	}
	if(document.frm.company.value=="")
	{
		alert("Please enter your Company name.");
		document.frm.company.focus();
		return (false);
	}
	if(document.frm.designation.value=="")
	{
		alert("Please enter your Designation.");
		document.frm.designation.focus();
		return (false);
	}
	if (! emailCheck(document.frm))
   {
	document.frm.txtemail.focus();
	return (false);
	}		
	if(document.frm.phone.value=="")
	{
		alert("Please enter your phone number");
		document.frm.phone.focus();
		return (false);
	}
	if(document.frm.state.value=="")
	{
		alert("Please enter your State / Province.");
		document.frm.state.focus();
		return (false);
	}
	if(document.frm.country.value=="")
	{
		alert("Please select your Country.");
		document.frm.country.focus();
		return (false);
	}
	if(document.frm.questions.value=="")
	{
		alert("Please enter your question/s.");
		document.frm.questions.focus();
		return (false);
	}

return (true);	
}

function emailCheck(obj)
{
	var emailStr=obj.txtemail.value;
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var firstChars=validChars
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom="(" + firstChars + validChars + "*" + ")"
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	
	//var result = true;
	var beginPos = emailStr.indexOf("@");
	var tempvar = emailStr.substring(beginPos+1);
	var endPos = tempvar.indexOf(".");
	var provider = tempvar.substring(0,endPos);
	provider = provider.toLowerCase();
	
	if ((provider == "hotmail") || (provider == "lycos") || (provider == "msn") || (provider == "anywhereemail") || (provider == "rediffmail") || (provider == "gmail") || (provider == "rediff") || (provider == "indiatimes") || (provider == "vsnl") || (provider == "mtnl") || (provider == "gawab") || (provider == "netscape") || (provider == "aol") || (provider == "pacbell") || (provider == "sbcglobal") || (provider == "comcast") || (provider == "fsmail") || (provider == "infy") || (provider == "caribsurf") || (provider == "bol") || (provider == "earthlink") || (provider == "yahoo") || (provider == "googlemail"))
	{
 		alert("Please provide your corporate E-mail ID. We do not accept E-mail ID's from free services.")
		//theForm.focus();		
		return false	
	} 
	if (matchArray==null) 
	{
	  	alert("Please enter valid e-mail address.")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) 
	{
	    alert("Please enter valid E-mail ID.")
	    return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) 
	{
	    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 is not 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 (domArr[domArr.length-1].length==5 && len<3) 
	{
	   var errStr="This address ends in two characters, which is a country"
	   errStr+=" code.  Country codes must be preceded by "
	   errStr+="a hostname and category (like com, co, pub, pu, etc.)"
	   alert(errStr)
	   return false
	}
	if (domArr[domArr.length-1].length==3 && len<2) 
	{
	   var errStr="This address is missing a hostname!"
	   alert(errStr)
	   return false
	}
	return true;
}
