// This is a Java Script Validation File

//This function is to check validations of contact page
function validate_contact()
{
	if(document.formcontact.txtname.value=="")
	{
		alert("Please input your name.");
		document.formcontact.txtname.focus();
		return false;
	}
	if(document.formcontact.txtemail.value=="")
	{
		alert("Please input your e-mail id.");
		document.formcontact.txtemail.focus();
		return false;
	}
	else
	{
		if(!checkemail(document.formcontact.txtemail.value))
		{
			alert("Please input valid email");	
			document.formcontact.txtemail.focus();
			return false;
		}
	}	
	if(document.formcontact.txtphone.value=="")
	{
		alert("Please input your phone no.");
		document.formcontact.txtphone.focus();
		return false;
	}
	if(document.formcontact.tarcomments.value=="")
	{
		alert("Please input some comment or query.");
		document.formcontact.tarcomments.focus();
		return false;
	}
	return true;
}


// This function is to resnt contact fields
function reset_contact()
{
	document.formcontact.txtname.value=""
	document.formcontact.txtemail.value=""
	document.formcontact.txtphone.value=""
	document.formcontact.tarcomments.value=""
	return false;
}

//this is newsletter validation function
function validate_newsletter()
{
	if(document.formNewletter.txtnewletter.value=="")
	{
		alert("Please enter your e-mail id.");
		document.formNewletter.txtnewletter.focus();
		return false;
	}
	else
	{
		if(!checkemail(document.formNewletter.txtnewletter.value))
		{
			alert("Please input valid email");	
			document.formNewletter.txtnewletter.focus();
			return false;
		}
	}
	return true;
}

// This function is used to validate quote
function validate_quote()
{
 
	 
	if(document.formQuote.txtName.value=="")
	{
		alert("Please enter your name.");
		document.formQuote.txtName.focus();
		return false;		
	}
	
	if(document.formQuote.txtEmail.value=="")
	{
		alert("Please enter your e-mail id.");
		document.formQuote.txtEmail.focus();
		return false;
	}
	else
	{
		if(!checkemail(document.formQuote.txtEmail.value))
		{
			alert("Please input valid email.");	
			document.formQuote.txtEmail.value = "";
			document.formQuote.txtEmail.focus();
			return false;
		}
	}
	
	if(document.formQuote.txtPhone.value=="")
	{
		alert("Please enter your phone no.");
		document.formQuote.txtPhone.focus();
		return false;		
	}
	
	if(document.formQuote.txtPages.value=="")
	{
		alert("Please enter estimated number of pages needed.");
		document.formQuote.txtPages.focus();
		return false;
	}
	else
	{
		if(!isNum(document.formQuote.txtPages.value))
		{
			alert("Please input only digits.");	
			document.formQuote.txtPages.value = "";
			document.formQuote.txtPages.focus();
			return false;
		}
	}
	 
	/*
	var radioChkD = false;
	for(i=0; i<6;i++)
	{
		if(document.formQuote.rdbDesign[i].checked)
		{
			radioChkD = true;
		}
	}	
	if(!radioChkD)
	{
		alert("Please select one of the design options.");			
		return false;
	}
	
	var radioChkF = false;
	for(i=0;i<6;i++)
	{
		if(document.formQuote.rdbFunction[i].checked)
		{
			radioChkF = true;
		}
	}
	if(!radioChkF)
	{
		alert("Please select one of the functionality options.");			
		return false;
	}	
	*/

	return true;	
	
}

// This function is to resent quote fields
function reset_quote()
{
	document.formQuote.txtName.value=""
	document.formQuote.txtEmail.value=""
	document.formQuote.txtPhone.value=""
	document.formQuote.txtTime.value=""
	document.formQuote.txtPages.value=""
	document.formQuote.txtarDesignComments.value=""
	document.formQuote.txtarFunctionComments.value=""
	document.formQuote.txtEgURL.value=""
	document.formQuote.txtRange.value=""
	document.formQuote.txtarGeneralComments.value=""
	for(var i=0; i < document.formQuote.chkDesign.length; i++)
	{
		document.formQuote.chkDesign[i].checked = false;		
	}
	for(var j=0; j < document.formQuote.chkfunction.length; j++)
	{
		document.formQuote.chkfunction[j].checked = false;		
	}
	return false;
}

// This function is used to validate code
function validate_code()
{	
	var doc=document.validatecode;
	if(doc.username.value=="")
	{
		alert("Please enter Username");
		document.validatecode.username.focus();
		return false;
	}
	if(doc.regno.value=="")
	{
		alert("Please enter Activation Code");
		document.validatecode.regno.focus();
		return false;
	}
	return true;
}


function isNum(argvalue) 
{
	argvalue = argvalue.toString();	
	if (argvalue.length == 0)
		return false;
	
	for (var n = 0; n < argvalue.length; n++)
		if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
			return false;
	
	return true;
}

//This function validates email id
function checkemail(email)
{
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=email.match(emailPat);
if (matchArray==null) {
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
return false;
   }
}
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 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 false;
   }
}
if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
return false;
}
if (len<2) {
  return false;
   }
  return true;
}

