/* @author Soup */

function validation(MyForm)
{
	
	var dFName 		= document.getElementById("txtfirstname");
	var dLName 		= document.getElementById("txtlastname");
	var dEmail 		= document.getElementById("txtemail");	
	var dCity=document.getElementById("txtcity");
	var dState 		= document.getElementById("Selstate");
	var dZip 		= document.getElementById("txtzip");
	var dhomephone 		= document.getElementById("txthomephone")
	var dhomephone1 	= document.getElementById("txthomephone1")
	var dhomephone2 	= document.getElementById("txthomephone2")

	var Errors = 0;
	
	/************************ First Name ************************/
	var dfirstnamelength = dFName.value
	if(dFName.value =="")
	{
		document.getElementById("FName").style.display = "block";
		document.getElementById("FName").innerHTML = "Please provide your first name.<BR>";
//		dFName.focus();
		Errors |= 1;
	}
	else if (!isAlpha(dFName.value)) 
	{ 
		 document.getElementById("FName").style.display = "block";
		 document.getElementById("FName").innerHTML = "You first name contains invalid characters.<BR>";
//		 dFName.focus();
		 Errors |= 1;
	}
	else if(dfirstnamelength.length > 30 )
	{
		document.getElementById("FName").style.display = "block";
		document.getElementById("FName").innerHTML = "You've exceeded the maximum length for your first name.<BR>";
//		dFName.focus();
		Errors |= 1;
	} else {
		document.getElementById("FName").style.display = "none";
		Errors |= 0;
	}
	
	
	/************************ Last Name ************************/
	var dlastnamelength = dLName.value
	if(dLName.value =="")
	{
		document.getElementById("LName").style.display = "block";
		document.getElementById("LName").innerHTML = "Please provide your last name.<BR>";
//		dLName.focus();
		Errors |= 2
	}
	else if (!isAlpha(dLName.value)) 
	{ 
		 document.getElementById("LName").style.display = "block";
		 document.getElementById("LName").innerHTML = "Your last name contains invalid characters.<BR>";
//		 dLName.focus();
		 Errors |= 2
	}
	else if(dlastnamelength.length > 30 )
	{
		document.getElementById("LName").style.display = "block";
		document.getElementById("LName").innerHTML = "You've exceeded the maximum length for your last name.<BR>";
//		dLName.focus();
		Errors |= 2
	}else {
		document.getElementById("LName").style.display = "none";
		Errors |= 0;
	}

	/************************ Email Address ************************/
	var demaillength = dEmail.value
	if(dEmail.value =="")
	{
		document.getElementById("EmailAddress").style.display = "block";
		document.getElementById("EmailAddress").innerHTML = "Please provide your E-mail address.<BR>";
//		dEmail.focus();
		Errors |= 4
	}
	else if (!validateEmail(dEmail.value)) 
	{ 
		 document.getElementById("EmailAddress").style.display = "block";
		 document.getElementById("EmailAddress").innerHTML = "Please provide a valid E-mail address.<BR>";
//		 dEmail.focus();
		 Errors |= 4
	}
	else if(demaillength.length > 30 )
	{
		document.getElementById("EmailAddress").style.display = "block";
		document.getElementById("EmailAddress").innerHTML = "You've exceeded the maximum length for an E-mail address.<BR>";
//		dEmail.focus();
		Errors |= 4
	}else {
		document.getElementById("EmailAddress").style.display = "none";
		Errors |= 0
	}
		
			/************************ City ************************/
	var dcitylength = dCity.value;
	if(dCity.value =="")
	{
		document.getElementById("City").style.display = "block";
		document.getElementById("City").innerHTML = "Please provide your city.<BR>";	
//		dCity.focus();
		Errors |= 8
	}
	else if (!isAlpha(dCity.value)) 
	{ 
		document.getElementById("City").style.display = "block";
		document.getElementById("City").innerHTML = "Your city contains invalid characters.<BR>";	
//		dCity.focus();
		Errors |= 8
	}
	else if(dcitylength.length > 30 )
	{
		document.getElementById("City").style.display = "block";
		document.getElementById("City").innerHTML = "You've exceeded the maximum length for your city.<BR>";	
//		dCity.focus();
		Errors |= 8
	}else {
		document.getElementById("City").style.display = "none";
		Errors |= 0
	}
	
	
	
	/************************ State / Provience ************************/
	if(dState.value == "DNS" || dState.value == "USA" || dState.value == "CANADA")
	{
		document.getElementById("State").style.display = "block";
		document.getElementById("State").innerHTML = "Please provide your state.<BR>";	
//		dState.focus();
		Errors |= 16
	}else {
		document.getElementById("State").style.display = "none";
		Errors |= 0
	}
	
	
	/************************ Zip Code ************************/
	var dziplength = dZip.value;
	if(dZip.value =="")
	{
		document.getElementById("Zip").style.display = "block";
		document.getElementById("Zip").innerHTML = "Please provide your postal code.<BR>";	
//		dZip.focus();
		Errors |= 32
	}
	else if (!validZip(dZip.value)) 
	{ 
		document.getElementById("Zip").style.display = "block";
		document.getElementById("Zip").innerHTML = "Your postal code contains invalid characters.<BR>";	
//		dZip.focus();
		Errors |= 32
	}
	else {
		document.getElementById("Zip").style.display = "none";
		Errors |= 0
	}
	
	/************************  Home Phone Number  ************************/
	if(dhomephone.value =="" || dhomephone1.value =="" || dhomephone2.value =="" )
	{
		//document.getElementById("HomePhone").innerHTML = "Please provide your phone number.<BR>";	
		if (dhomephone.value =="")
		{
			document.getElementById("HomePhone").style.display = "block";
			document.getElementById("HomePhone").innerHTML = "Please provide your valid phone number.<BR>";	
//			dhomephone.focus();
			Errors |= 64
		}
		else if (dhomephone1.value =="")
		{
			document.getElementById("HomePhone").style.display = "block";
			document.getElementById("HomePhone").innerHTML = "Please provide your valid phone number.<BR>";	
//			dhomephone1.focus();
			Errors |= 64
		}
		else if (dhomephone2.value =="")
		{
			document.getElementById("HomePhone").style.display = "block";
			document.getElementById("HomePhone").innerHTML = "Please provide your valid phone number.<BR>";	
//			dhomephone2.focus();
			Errors |= 64
		}
		else {
			document.getElementById("HomePhone").style.display = "none";
			Errors |= 0
		}
	}
	else
	{
		document.getElementById("HomePhone").style.display = "none";
		Errors |= 0
	}
	
	if(Errors != 0)
	{
	return false;
	}
}


/*======================================New Function========================================*/
function validation1(MyForm)
{
	
	var dFName 		= document.getElementById("txtfirstname");
	var dLName 		= document.getElementById("txtlastname");
	var dEmail 		= document.getElementById("txtemail");		
	var dZip 		= document.getElementById("txtzip");
	var dhomephone 		= document.getElementById("txthomephone")
	var dhomephone1 	= document.getElementById("txthomephone1")
	var dhomephone2 	= document.getElementById("txthomephone2")

	var Errors = 0;
	
	/************************ First Name ************************/
	var dfirstnamelength = dFName.value
	if(dFName.value =="")
	{
		document.getElementById("FName").style.display = "block";
		document.getElementById("FName").innerHTML = "Please provide your first name.<BR>";
//		dFName.focus();
		Errors |= 1;
	}
	else if (!isAlpha(dFName.value)) 
	{ 
		 document.getElementById("FName").style.display = "block";
		 document.getElementById("FName").innerHTML = "You first name contains invalid characters.<BR>";
//		 dFName.focus();
		 Errors |= 1;
	}
	else if(dfirstnamelength.length > 30 )
	{
		document.getElementById("FName").style.display = "block";
		document.getElementById("FName").innerHTML = "You've exceeded the maximum length for your first name.<BR>";
//		dFName.focus();
		Errors |= 1;
	} else {
		document.getElementById("FName").style.display = "none";
		Errors |= 0;
	}
	
	
	/************************ Last Name ************************/
	var dlastnamelength = dLName.value
	if(dLName.value =="")
	{
		document.getElementById("LName").style.display = "block";
		document.getElementById("LName").innerHTML = "Please provide your last name.<BR>";
//		dLName.focus();
		Errors |= 2
	}
	else if (!isAlpha(dLName.value)) 
	{ 
		 document.getElementById("LName").style.display = "block";
		 document.getElementById("LName").innerHTML = "Your last name contains invalid characters.<BR>";
//		 dLName.focus();
		 Errors |= 2
	}
	else if(dlastnamelength.length > 30 )
	{
		document.getElementById("LName").style.display = "block";
		document.getElementById("LName").innerHTML = "You've exceeded the maximum length for your last name.<BR>";
//		dLName.focus();
		Errors |= 2
	}else {
		document.getElementById("LName").style.display = "none";
		Errors |= 0;
	}

	/************************ Email Address ************************/
	var demaillength = dEmail.value
	if(dEmail.value =="")
	{
		document.getElementById("EmailAddress").style.display = "block";
		document.getElementById("EmailAddress").innerHTML = "Please provide your E-mail address.<BR>";
//		dEmail.focus();
		Errors |= 4
	}
	else if (!validateEmail(dEmail.value)) 
	{ 
		 document.getElementById("EmailAddress").style.display = "block";
		 document.getElementById("EmailAddress").innerHTML = "Please provide a valid E-mail address.<BR>";
//		 dEmail.focus();
		 Errors |= 4
	}
	else if(demaillength.length > 30 )
	{
		document.getElementById("EmailAddress").style.display = "block";
		document.getElementById("EmailAddress").innerHTML = "You've exceeded the maximum length for an E-mail address.<BR>";
//		dEmail.focus();
		Errors |= 4
	}else {
		document.getElementById("EmailAddress").style.display = "none";
		Errors |= 0
	}
		
	
	
	/************************ Zip Code ************************/
	var dziplength = dZip.value;
	if(dZip.value =="")
	{
		document.getElementById("Zip").style.display = "block";
		document.getElementById("Zip").innerHTML = "Please provide your postal code.<BR>";	
//		dZip.focus();
		Errors |= 32
	}
	else if (!validZip(dZip.value)) 
	{ 
		document.getElementById("Zip").style.display = "block";
		document.getElementById("Zip").innerHTML = "Your postal code contains invalid characters.<BR>";	
//		dZip.focus();
		Errors |= 32
	}
	else {
		document.getElementById("Zip").style.display = "none";
		Errors |= 0
	}
	
	/************************  Home Phone Number  ************************/
	if(dhomephone.value =="" || dhomephone1.value =="" || dhomephone2.value =="" )
	{
		//document.getElementById("HomePhone").innerHTML = "Please provide your phone number.<BR>";	
		if (dhomephone.value =="")
		{
			document.getElementById("HomePhone").style.display = "block";
			document.getElementById("HomePhone").innerHTML = "Please provide your valid phone number.<BR>";	
//			dhomephone.focus();
			Errors |= 64
		}
		else if (dhomephone1.value =="")
		{
			document.getElementById("HomePhone").style.display = "block";
			document.getElementById("HomePhone").innerHTML = "Please provide your valid phone number.<BR>";	
//			dhomephone1.focus();
			Errors |= 64
		}
		else if (dhomephone2.value =="")
		{
			document.getElementById("HomePhone").style.display = "block";
			document.getElementById("HomePhone").innerHTML = "Please provide your valid phone number.<BR>";	
//			dhomephone2.focus();
			Errors |= 64
		}
		else {
			document.getElementById("HomePhone").style.display = "none";
			Errors |= 0
		}
	}
	else
	{
		document.getElementById("HomePhone").style.display = "none";
		Errors |= 0
	}
	
	if(Errors != 0)
	{
	return false;
	}
}


/*=======================================End ==============================================*/




//================================================================================================================//
//to check the state and county for onchange the state
function statevalcheck(stateval)
{
	if(document.getElementById("Selstate").value == "0" || document.getElementById("Selstate").value == "USA" || document.getElementById("Selstate").value == "CANADA")
	{
		alert("Please select your valid state");
		document.getElementById("Selstate").focus();
		return false;
	}
}

// Returns true if the string only contains alpha characters (empty string = true)&nbsp;
function isAlpha(txt)
{
	return ValidString(txt,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-. ');
}

// Returns true if the string only contains numeric characters (empty string = true)
function isNumeric(txt)
{
	return ValidString(txt,'0123456789');
}

// Returns true if the string only contains alpha numeric characters (empty string = true)
function isAlphaNumeric(txt)
{
	return ValidString(txt,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789');
}
function isPostalcode(txt)
{
	return ValidString(txt,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-');
}
// Returns true if the CheckString only contains characters passed in ValidString (empty string = true)
function ValidString(ChkString,ValidString)
{
	for (i=0; i<ChkString.length; i++)
	{
		if (ValidString.indexOf(ChkString.substring(i,i+1)) == -1) return false;
	}
	return true;
}

function validateEmail(email)
{
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

function validZip(zip)
{
if (zip.match(/^[0-9]{5}$/)) {
return true;
}
zip=zip.toUpperCase();
if (zip.match(/^[A-Z][0-9][A-Z][0-9][A-Z][0-9]$/)) {
return true;
}
if (zip.match(/^[A-Z][0-9][A-Z].[0-9][A-Z][0-9]$/)) {
return true;
}
//alert('*** Bad ZIP.');
return false;
}