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 Enter 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 Enter Your Name with minimum 3 characters');
		document.fed_frm.name.focus();
		return false;
	}
	else
	{
		if(garbageCollector(document.fed_frm.name.id)==false)
		{
			SetCtrl(document.fed_frm.name,'div_name','<br>Please Enter your name. Inappropriate value provided.');
			return false;
		}
	}
	
	if(!allowOnlyLetters.test(document.fed_frm.name.value))
	{
		//alert("Only letters are allowed in Full Name ...");
		SetCtrl(document.fed_frm.name,'div_name','<br>Only letters are allowed in Full Name ...');
		document.fed_frm.name.focus();
		return false;
	}
}
ReSetCtrl(document.fed_frm.name,'div_name','');

//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 Enter 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 Enter a Valid Email Address');
	 document.fed_frm.email.focus();
	 return false;
}
ReSetCtrl(document.fed_frm.email,'div_email','');



// Phone --- Optional Field
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"); */
		 SetCtrl(document.fed_frm.phone,'div_phone',"<br>Please Enter a Valid Phone Number <br>e.g.,<br> "+
				"+61 (0) 2 1234 5678 <br>"+
				"+1 123 123 4567 <br>"+
				"(021)123-4578-9 <br>"+
				"123 123 4567 x890 <br>"+
				"123 123 4567 ext89");	
		 document.fed_frm.phone.focus();
		 return false;
	}
}
ReSetCtrl(document.fed_frm.phone,'div_phone','');

//Address/Locality --- Compulsory Field
if(document.fed_frm.address.value.length == 0)
{
	 //alert ("Please Enter your Address ");
	 SetCtrl(document.fed_frm.address,'div_address','<br>Please Enter your Address  ');	 
	 document.fed_frm.address.focus();
	 return false;
}
else if(!validateAlphaNumeric( document.fed_frm.address.value ))
{
	SetCtrl(document.fed_frm.address,'div_address','<br>Please Enter your address. Inappropriate value provided.');	 
	document.fed_frm.address.focus();
	return false;
}
else
{
	if(garbageCollector(document.fed_frm.address.id)==false)
	{
		SetCtrl(document.fed_frm.address,'div_address','<br>Please Enter your address. Inappropriate value provided.');	 
		return false;
	}
}
ReSetCtrl(document.fed_frm.address,'div_address','');


//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 Enter 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 Enter your city. Inappropriate value provided.');	 
	document.fed_frm.city.focus();
	return false;
}
else
{
	if(garbageCollector(document.fed_frm.city.id)==false)
	{
		SetCtrl(document.fed_frm.city,'div_city','<br>Please Enter your city. Inappropriate value provided.');
		return false;
	}
}
ReSetCtrl(document.fed_frm.city,'div_city','');


//ZIP Code --- Compuslory Field
if(document.fed_frm.zip.value.length == 0)
{
	 //alert ("Please Enter your Zip / Postal Code ");
	 SetCtrl(document.fed_frm.zip,'div_zip','<br>Please Enter your Zip / Postal Code ');
	 document.fed_frm.zip.focus();
	 return false;
}
else
{
	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 Enter a Valid Zip/Postal Code');
		 document.fed_frm.zip.focus();
		 return false;
	}
}
ReSetCtrl(document.fed_frm.zip,'div_zip','');



//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 Enter 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 Enter your state. Inappropriate value provided.');	 
	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 Enter your state. Inappropriate value provided');
			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','');


//Product to buy --- Compulsory Field
if(document.fed_frm.buy.value.length == 0)
{
	 //alert ("Please Enter your Product to buy ");
	 SetCtrl(document.fed_frm.buy,'div_buy','<br>Please Enter your Product to buy ');
	 document.fed_frm.buy.focus();
	 return false;
}
else if(!validateText( document.fed_frm.buy.value ))
{
	SetCtrl(document.fed_frm.buy,'div_buy','<br>Please Enter your Product to buy. Inappropriate value provided.');	 
	document.fed_frm.buy.focus();
	return false;
}
else
{
	if(garbageCollector(document.fed_frm.buy.id)==false)
	{
		SetCtrl(document.fed_frm.buy,'div_buy','<br>Please Enter your Product to buy. Inappropriate value provided');
		return false;
	}
}
ReSetCtrl(document.fed_frm.buy,'div_buy','');


//Comments --- Optional Field
if(document.fed_frm.comments.value.length != 0)
{
	if (document.fed_frm.comments.value.length < 3)
	{
		//alert("Please Enter Your Comments with minimum 3 characters");
		SetCtrl(document.fed_frm.comments,'div_comments','Please Enter Your Comments with minimum 3 characters');		
		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 Enter your Comments. Inappropriate value provided');
			return false;
		}
	}
}
ReSetCtrl(document.fed_frm.comments,'div_comments','');

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