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 --- Compuslory Field
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','');


//Designation --- Compuslory Field
if(document.fed_frm.designation.value.length == 0){
	//alert("Please Enter Your Designation");
	SetCtrl(document.fed_frm.designation,'div_designation','<br>Please provide your Designation');
	document.fed_frm.designation.focus();
	return false;
}else{
	if(!validateText( document.fed_frm.designation.value )){
		SetCtrl(document.fed_frm.designation,'div_city','<br>Please provide a valid Designation');	 
		document.fed_frm.designation.focus();
		return false;
	}
}
ReSetCtrl(document.fed_frm.designation,'div_designation','');

//Company --- Compuslory Field
if(document.fed_frm.company.value.length == 0){
	///alert("Please Enter Your Company");
	SetCtrl(document.fed_frm.company,'div_company','<br>Please provide your Company name');
	document.fed_frm.company.focus();
	return false;
}
ReSetCtrl(document.fed_frm.company,'div_company','');

//Address/Locality --- Compulsory Field
//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','');

//ZIP Code --- Optional Field
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','');

//City --- Compulsory Field
if(document.fed_frm.city.value.length == 0){
	 //alert ("Please Enter your City ");
	 SetCtrl(document.fed_frm.city,'div_city','<br>Please provide your City');	 
	 document.fed_frm.city.focus();
	 return false;
}else{
	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','');


//State/Province --- Compuslory Field
if(document.fed_frm.state.value.length == 0){
	 //alert ("Please Enter your State ");
	 SetCtrl(document.fed_frm.state,'div_state','<br>Please provide your State');
	 document.fed_frm.state.focus();
	 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;
}else{
	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;
		}
	}
}
ReSetCtrl(document.fed_frm.state,'div_state','');


//Country --- Compuslory Field
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','');



// Phone --- Compulsory Field
if(document.fed_frm.phone.value.length == 0){
	 //alert ("Please Enter your Phone Number");
	 SetCtrl(document.fed_frm.phone,'div_phone',"<br>Please provide your Phone Number");	
	 document.fed_frm.phone.focus();
	 return false;
}else{
	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','');


// Fax --- Compulsory Field
if(document.fed_frm.fax.value.length == 0){
	 //alert ("Please Enter your Fax Number");
	 SetCtrl(document.fed_frm.fax,'div_fax',"<br>Please provide your Fax Number");	
	 document.fed_frm.fax.focus();
	 return false;
}else{
	if(!phoneRegExp.test(document.fed_frm.fax.value)){
		/* alert ("Please Enter a Valid Fax 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"); */
		SetCtrl(document.fed_frm.fax,'div_fax',"<br>Please provide a valid Fax Number");
		document.fed_frm.fax.focus();
		return false;
	}
}
ReSetCtrl(document.fed_frm.fax,'div_fax','');


// Cell No --- Optional Field
if(document.fed_frm.cell.value.length != 0){
	if(!phoneRegExp.test(document.fed_frm.cell.value)){
		 /*alert ("Please Enter a Valid Cell 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");*/
		SetCtrl(document.fed_frm.cell,'div_cell',"<br>Please provide a valid Cell Number");	
		 document.fed_frm.cell.focus();
		 return false;
	}
}
ReSetCtrl(document.fed_frm.cell,'div_cell','');


//Email Address --- Compulsory Field
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;
}else 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','');

//Wish Box --- Optional Field
	// Only check if Wish for Others is selected
if(document.getElementById("role") != 'null' || document.getElementById("role") != 'undefined'){
	if(document.fed_frm.role[4].checked){
		if(document.fed_frm.comments1.value.length == 0){
			//alert("Please specify your Wish");
			SetCtrl(document.fed_frm.comments1,'div_comments1',"<br>Please provide your Wish");	
			document.fed_frm.comments1.focus();	
			return false;
		}
	}
	ReSetCtrl(document.fed_frm.comments1,'div_comments1','');
}


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

//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;
}


// updated finctions from relation3_js.js. 

// Check each word in Comments (or any field) 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+".\nInappropriate value provided.");
	 	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;
}

//

/*
// Check each word in Comments (or any field) 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;

	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 );
}
