// JavaScript Document
function isValidEmail(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) {
		return "Email address seems incorrect (check @ and .'s)";
		//alert("Email address seems incorrect (check @ and .'s)");
		//return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	// Start by checking that only basic ASCII characters are in the strings (0-127).
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			return "Ths username contains invalid characters.";
			//return false;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			return "Ths domain name contains invalid characters.";
			//return false;
		}
	}
	if (user.match(userPat)==null) {
		return "The 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) {
				return "Destination IP address is invalid!";
				//return false;
	   		}
		}
		return 0;
	}
	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) {
			return "The 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) {
		return "The address must end in a well-known domain or two letter " + "country.";
		//return false;
	}

// Make sure there's a host name preceding the domain.

	if (len<2) {
		return "This address is missing a hostname!";
		//return false;
	}	
	return 0;
}

// Function Contact Us By: GauranG
function ConactUS()
{
	var dom = document.contact;
	if(dom.address.value == "")
	{
		alert("Please Select Office.");
		dom.address.focus();
		return false;
	}
	if(dom.Cname.value == "")
	{
		alert("Please Enter Name.");
		dom.Cname.focus();
		return false;
	}
	if(dom.phone.value == "")
	{
		alert("Please Enter Phone.");
		dom.phone.focus();
		return false;
	}
	if(dom.email.value == "")
	{
		alert("Please Enter E-mail.");
		dom.email.focus();
		return false;
	}
	if(dom.email.value != "")
	{
		var msg = isValidEmail(dom.email.value);
		if(msg)
		{			
			alert(msg);
			dom.email.focus();
			return false;
		}
	}
	if(dom.postcode.value == "")
	{
		alert("Please Enter Postal code.");
		dom.postcode.focus();
		return false;
	}
	if(dom.subject.value == "")
	{
		alert("Please Enter Subject.");
		dom.subject.focus();
		return false;
	}
	if(dom.message.value == "")
	{
		alert("Please Enter Message.");
		dom.message.focus();
		return false;
	}
}

function ExpressInfo()
{
	if(document.frmexp.fname.value == "")
	{
		alert("Please Enter First Name.");
		document.frmexp.fname.focus();
		return false;
	}
	if(document.frmexp.lname.value == "")
	{
		alert("Please Enter Last Name.");
		document.frmexp.lname.focus();
		return false;
	}
	if(document.frmexp.email.value == "")
	{
		alert("Please Enter E-mail.");
		document.frmexp.email.focus();
		return false;
	}
	if(document.frmexp.email.value != "")
	{
		var msg = isValidEmail(document.frmexp.email.value);
		if(msg)
		{			
			alert(msg);
			document.frmexp.email.focus();
			return false;
		}
	}
//	document.frmexp.submit();
}
function SendFriend()
{
	var dim = document.frnd;
	if(dim.yname.value == "")
	{
		alert("Please Enter Your Name.");
		dim.yname.focus();
		return false;
	}
	if(dim.yemail.value == "")
	{
		alert("Please Enter Your E-mail.");
		dim.yemail.focus();
		return false;
	}
	if(dim.yemail.value != "")
	{
		var msg = isValidEmail(dim.yemail.value);
		if(msg)
		{			
			alert(msg);
			dim.yemail.focus();
			return false;
		}
	}
	if(dim.fname.value == "")
	{
		alert("Please Enter Friend Name.");
		dim.fname.focus();
		return false;
	}
	if(dim.femail.value == "")
	{
		alert("Please Enter Friend E-mail.");
		dim.femail.focus();
		return false;
	}
	if(dim.femail.value != "")
	{
		var msg = isValidEmail(dim.femail.value);
		if(msg)
		{			
			alert(msg);
			dim.femail.focus();
			return false;
		}
	}
}


function Place()
{
	
	var dom = document.place;
	if(dom.pbuss.value == "")
	{
		alert("Please Enter Business .");
		dom.pbuss.focus();
		return false;
	}
		// commented by Ncode on July 29, 2010
		/*if(dom.psm.value == "")
	{
		alert("Please Enter Serial machine.");
		dom.psm.focus();
		return false;
	}*/
	// comment ends here
		if(dom.pptc.value == "")
	{
		alert("Please Enter Person to contact.");
		dom.pptc.focus();
		return false;
	}
	
	if(dom.pemail.value == "")
	{
		alert("Please Enter E-mail.");
		dom.pemail.focus();
		return false;
	}
	if(dom.pemail.value != "")
	{
		var msg = isValidEmail(dom.pemail.value);
		if(msg)
		{			
			alert(msg);
			dom.pemail.focus();
			return false;
		}
	}
	if(dom.pphone.value == "")
	{
		alert("Please Enter Phone.");
		dom.pphone.focus();
		return false;
	}
	if(dom.address.value == "")
	{
		alert("Please Select Office.");
		dom.address.focus();
		return false;
	}
	if(dom.ppdesc.value == "")
	{
		alert("Please Enter Problem Description.");
		dom.ppdesc.focus();
		return false;
	}
}

function Orders()
{
	
	var dom = document.orders;
	if(dom.obuss.value == "")
	{
		alert("Please Enter Business .");
		dom.obuss.focus();
		return false;
	}
	if(dom.optc.value == "")
	{
		alert("Please Enter Person to contact.");
		dom.optc.focus();
		return false;
	}
	if(dom.oemail.value == "")
	{
		alert("Please Enter E-mail.");
		dom.oemail.focus();
		return false;
	}
	if(dom.oemail.value != "")
	{
		var msg = isValidEmail(dom.oemail.value);
		if(msg)
		{			
			alert(msg);
			dom.oemail.focus();
			return false;
		}
	}
	if(dom.ophone.value == "")
	{
		alert("Please Enter Phone.");
		dom.ophone.focus();
		return false;
	}
	// commented by Ncode on July 29, 2010
	/*if(dom.oext.value == "")
	{
		alert("Please Enter Ext.");
		dom.oext.focus();
		return false;
	}
		if(dom.osm.value == "")
	{
		alert("Please Enter Serial number of machine.");
		dom.osm.focus();
		return false;
	}	*/
	// comment ends here
	if(dom.address.value == "")
	{
		alert("Please Select Office.");
		dom.address.focus();
		return false;
	}
	if(dom.oodesc.value == "")
	{
		alert("Please Enter Order Description.");
		dom.oodesc.focus();
		return false;
	}
}

function Meters()
{
	
	var dom = document.meters;
	if(dom.rbuss.value == "")
	{
		alert("Please Enter Business .");
		dom.rbuss.focus();
		return false;
	}
	if(dom.rptc.value == "")
	{
		alert("Please Enter Person to contact.");
		dom.rptc.focus();
		return false;
	}
	if(dom.remail.value == "")
	{
		alert("Please Enter E-mail.");
		dom.remail.focus();
		return false;
	}
	if(dom.remail.value != "")
	{
		var msg = isValidEmail(dom.remail.value);
		if(msg)
		{			
			alert(msg);
			dom.remail.focus();
			return false;
		}
	}
	if(dom.rphone.value == "")
	{
		alert("Please Enter Phone.");
		dom.rphone.focus();
		return false;
	}
	// commented by Ncode on July 29, 2010
	/*if(dom.ext.value == "")
	{
		alert("Please Enter Ext.");
		dom.ext.focus();
		return false;
	}*/
	// comment ends here
		/*if(dom.rmsnom.value == "")
	{
		alert("Please Enter Serial number of machine.");
		dom.rmsnom.focus();
		return false;
	}	
	
	if(dom.rmmtotal.value == "")
	{
		alert("Please Enter Meters 101 Total.");
		dom.rmmtotal.focus();
		return false;
	}
	if(dom.address.value == "")
	{
		alert("Please Select Office.");
		dom.address.focus();
		return false;
	}
	if(dom.rmcom1.value == "")
	{
		alert("Please Enter Code of meters.");
		dom.rmcom1.focus();
		return false;
	}
	if(dom.rmnom1.value == "")
	{
		alert("Please Enter Number on the meter");
		dom.rmnom1.focus();
		return false;
	}
	if(dom.rmcom2.value == "")
	{
		alert("Please Enter Code of meters.");
		dom.rmcom2.focus();
		return false;
	}
	if(dom.rmnom2.value == "")
	{
		alert("Please Enter Number on the meter");
		dom.rmnom2.focus();
		return false;
	}
	if(dom.rmcom3.value == "")
	{
		alert("Please Enter Code of meters.");
		dom.rmcom3.focus();
		return false;
	}
	if(dom.rmnom3.value == "")
	{
		alert("Please Enter Number on the meter");
		dom.rmnom3.focus();
		return false;
	}
	if(dom.rmcom4.value == "")
	{
		alert("Please Enter Code of meters.");
		dom.rmcom4.focus();
		return false;
	}
	if(dom.rmnom4.value == "")
	{
		alert("Please Enter Number on the meter");
		dom.rmnom4.focus();
		return false;
	}
	if(dom.rmcom5.value == "")
	{
		alert("Please Enter Code of meters.");
		dom.rmcom5.focus();
		return false;
	}
	if(dom.rmnom5.value == "")
	{
		alert("Please Enter Number on the meter");
		dom.rmnom5.focus();
		return false;
	}*/
}
