var garbage = 0;
emailRegExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
//phoneRe = /^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$/
//phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/

phoneRegExp = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(-| )?(\d{0,1})(( x| ext)\d{1,5}){0,1}$/

/*		Zip/Postal Codes

\d{5}(-\d{4})?								//US ZipCode
\d{6}										//P.R.C. Postal Code
\d{3}(-(\d{4}|\d{2}))?						//Japanese Postal Code
(D-)?\d{5}									//German Postal Code
(0( \d|\d ))?\d\d \d\d(\d \d| \d\d )\d\d	//French Postal Code
\d{2,}										//Pakistan Postal Code
*/

zipRegExp = /^(\d{5}(-\d{4})?)|(\d{6})|(\d{3}(-(\d{4}|\d{2}))?)|((D-)?\d{5})|((0( \d|\d ))?\d\d \d\d(\d \d| \d\d )\d\d)|\d{2,}$/

allowOnlyLetters = /^[^0-9]+[A-Za-z ]$/


function SetCtrl(helem,delem,msg)
{
	helem.style.border='1px solid #B22200';
	document.getElementById(delem).innerHTML = msg;
	document.getElementById(delem).style.display = "inline";
}

function ReSetCtrl(helem,delem,msg)
{
	document.getElementById(delem).innerHTML = "";
	document.getElementById(delem).style.display = "none";
	helem.style.border='1px solid #7F91CC';
}


function verify()
{

//Name Verification

if(document.fed_frm.name.value.length == 0){
	//alert("Please Enter Your Name");
	SetCtrl(document.fed_frm.name,'div_name','<br>Please provide your Name');	
	document.fed_frm.name.focus();
	return false;
}else{
	if (document.fed_frm.name.value.length < 3){
		//alert("Please Enter Your Name with minimum 3 characters");
		SetCtrl(document.fed_frm.name,'div_name','<br>Please provide a valid Name');
		document.fed_frm.name.focus();
		return false;
	}else{
		if(!allowOnlyLetters.test(document.fed_frm.name.value)){
		//alert("Only letters are allowed in Full Name ...");
		SetCtrl(document.fed_frm.name,'div_name','<br>Please provide a valid Name');
		document.fed_frm.name.focus();
		return false;
		}
	}		
}
ReSetCtrl(document.fed_frm.name,'div_name','');


//Email Address Varification
if(document.fed_frm.email.value.length == 0)
{
	//alert("Please Enter Your Email Address");
	SetCtrl(document.fed_frm.email,'div_email','<br>Please provide your Email Address');
	document.fed_frm.email.focus();	
	return false;
}

if (!emailRegExp.test(document.fed_frm.email.value))
{
	 //alert ("Please Enter a Valid Email Address");
	 SetCtrl(document.fed_frm.email,'div_email','<br>Please provide a valid Email Address');
	 document.fed_frm.email.focus();
	 return false;
}
ReSetCtrl(document.fed_frm.email,'div_email','');


// Optional Fields
if(document.fed_frm.phone.value.length != 0){
	if(!phoneRegExp.test(document.fed_frm.phone.value))
	{
		 /*alert ("Please Enter a Valid Phone Number \ne.g.,\n "+
				"+61 (0) 2 1234 5678 \n"+
				"+1 123 123 4567 \n"+
				"(021)123-4578-9 \n"+
				"123 123 4567 x890 \n"+
				"123 123 4567 ext89");
		 document.fed_frm.phone.focus();*/
		 SetCtrl(document.fed_frm.phone,'div_phone',"<br>Please provide a valid Phone Number");

		 return false;
	}
}
ReSetCtrl(document.fed_frm.phone,'div_phone','');



//Address/Locality --- Compulsory Field
if(document.fed_frm.address.value.length == 0){
	SetCtrl(document.fed_frm.address,'div_address','<br>Please provide your Address');	
	document.fed_frm.address.focus();
	return false;
}
ReSetCtrl(document.fed_frm.address,'div_address','');


if(document.fed_frm.city.value.length != 0){
	if(!validateText( document.fed_frm.city.value )){
		SetCtrl(document.fed_frm.city,'div_city','<br>Please provide a correct city name');	 
		document.fed_frm.city.focus();
		return false;
	}
}
ReSetCtrl(document.fed_frm.city,'div_city','');


if(document.fed_frm.zip.value.length != 0){
	if(!zipRegExp.test(document.fed_frm.zip.value)){
		 //alert ("Please Enter a Valid Zip/Postal Code");
		 SetCtrl(document.fed_frm.zip,'div_zip','<br>Please provide a valid Zip/Postal Code');
		 document.fed_frm.zip.focus();
		 return false;
	}
}
ReSetCtrl(document.fed_frm.zip,'div_zip','');


if(document.fed_frm.state.value.length != 0){
	if(document.fed_frm.state.value.toLowerCase() != "sindh"){
		if(garbageCollector(document.fed_frm.state.id)==false){
			SetCtrl(document.fed_frm.state,'div_state','<br>Please provide a correct State');
			return false;
		}
	}
}else if(!validateText( document.fed_frm.state.value )){
	SetCtrl(document.fed_frm.state,'div_state','<br>Please provide a correct State');	 
	document.fed_frm.state.focus();
	return false;
}
ReSetCtrl(document.fed_frm.state,'div_state','');


//Which Dollar Product you want to buy  Code  Varification


//Compulsory Field --  Comments, country

if(document.fed_frm.country.selectedIndex == 0){
	 //alert ("Please Select Country");
	 SetCtrl(document.fed_frm.country,'div_country','<br>Please select Country');
	 document.fed_frm.country.focus();
	 return false;
}
ReSetCtrl(document.fed_frm.country,'div_country','');


if(document.fed_frm.comments.value.length == 0){
	 //alert ("Please Enter your Comments ");
	 SetCtrl(document.fed_frm.comments,'div_comments','<br>Please provide your Comments');			 
	 document.fed_frm.comments.focus();
	 return false;
}else{
	if(garbageCollector(document.fed_frm.comments.id)==false){
		SetCtrl(document.fed_frm.comments,'div_comments','<br>Please make sure your comments are spam-free');		
		return false;
	}
}
ReSetCtrl(document.fed_frm.comments,'div_comments','');

//Robot Verification
if(document.apply_form.robot.value.length != 0){
	SetCtrl(document.apply_form.robot,'div_robot','<br>You are a ROBOT');	
	document.apply_form.robot.focus();
	return false;	
}
ReSetCtrl(document.apply_form.robot,'div_robot','');

return true;
}

// Check each word in Comments for three 3 consecutive consonants
function garbageCollector(txtFieldID){
	garbage = 0;
	var lowerCase_consonants = "";
	var txtFieldObj = document.getElementById(txtFieldID);
	var txtField_LowerCase = txtFieldObj.value.toLowerCase();
	var strArr = txtField_LowerCase.split(" ");
		
	for(a=0;a<strArr.length;a++)	{
		if(!consecutiveConsonants(strArr[a])){
			garbage++;
			break;
		}
	}
	
	if(garbage>0){
		//alert ("Please Enter your "+txtFieldObj.name+".\nNo Garbage allowed.");
	 	txtFieldObj.focus();
	 	return false;
	}
	
return true;
}

function consecutiveConsonants(str){
	var consonants_regExp = /b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z/;
	//var vowels_regExp = /a|e|i|o|u/;
	var vowels_regExp = /a|e|i|o|u|\d|\.|\,|\?|\_|\-|\'|\(|\)|\[|\]/;
	var first3Char = "";
	garbage = 0;
	v=0;

	//////////////Changed//////////////////
	if(str.substring(str.length-1,str.length) == 's')
		str = str.substring(0,str.length-1)
	//////////////Changed//////////////////

	if(str.length>2){
			for(v=0;v<str.length-2;v++){
				first3Char = str.substring(v,v+3);
				if (first3Char.length > 2){
						if(first3Char!="str"){
							if(first3Char.search(vowels_regExp)==-1)
							return false;
						}
					}
			}
	}

return true;
}

function validateText( value ){
	RegExp = /^[a-zA-Z\s.]+$/;
	return RegExp.test( value );
}

function validateAlphaNumeric( value ){
	RegExp = /^[a-zA-Z0-9\s.]+$/;
	return RegExp.test( value );
}
