
	function chkFormValidation(arrFld)
	{
		    var error=false;
		    var prevElement;
		    var prevMsg;
		    var varisChecked;
		    var xExp
			var error_message="Please provide information for!\n";
			//alert(arrFld);
			//alert(document.getElementById("pageSource").value);
			if(document.getElementById("pageSource").value == "0" || (document.getElementById("pageSource").value == "0" && arrFld!=undefined)){
			//alert('here');
			if(arrFld!=undefined){
			//alert('there');
			for(i=0;i<=arrFld.length-1;i++){
				if(i%2==0){
					varisChecked=false;
					for(j=0;j<document.frm.elements.length;j++){
						//alert(document.frm.elements[j].type);
						if(document.frm.elements[j].name==arrFld[i]){
							switch(document.frm.elements[j].type){
								case "select-one":
									if(document.frm.elements[j].value=="" || document.frm.elements[j].value=="0"){
										error_message+=arrFld[i+1];
										error=true;									
										}
									varisChecked=true;
									break;
								case "radio":
									if(document.frm.elements[j].checked){
										//alert('santanu');
										varisChecked=true;
									}
									break;
								case "checkbox":
									if(document.frm.elements[j].checked){
										varisChecked=true;
									}
									break;
								case "text":
									//alert(document.frm.elements[j].value);
									if(trim(document.frm.elements[j].value)==""){
										error_message+=arrFld[i+1];
										error=true;
									}
									varisChecked=true;
									break;
							}
						}

					}
					if(!varisChecked){
						error_message+=arrFld[i+1];
						error=true;				
					}
					//alert(document.frm.elements[4].value + arrFld[i]);
				}
				
			  }
			 
			 }
			
			}
			
			//alert(document.frm.elements.length);
			if(document.getElementById("pageSource").value=="0"){
				var strname=String(Trim(document.getElementById("FirstName")));			
				var stremail=String(Trim(document.getElementById("Email")));
				var strzip=String(Trim(document.getElementById("Zip")));
				var strphone=String(Trim(document.getElementById("Phone")));
				var strcode=String(Trim(document.getElementById("AreaCode")));
				var straddress=String(Trim(document.getElementById("Address")));
			}

			if(document.getElementById("pageSource").value=="0"){
				if(straddress.length==0)
				{
					error_message+="Your address\n";
					error=true;
				}
				if(strname.length==0)
				{
					error_message+="Your name\n";
					error=true;
				}
				if(strname.length>0)
				{
					if(!charcheck(document.getElementById("FirstName")))
					{
						error_message+="A valid Name\n";
						error=true;
					}
				}
				if(stremail.length==0)
				{
					error_message+="Your e-mail\n";
					error=true;
				}
				if(stremail.length>0)
				{
					if (!emailCheck(Trim(document.getElementById("Email"))))
					{
						alert("Please enter Email id in correct format!");
						document.getElementById("Email").focus();
						return false;
					}
				}
				if(document.getElementById("UnIDStates").value=="0")
				{
					error_message+="Your state\n";
					error=true;
				}
				
				if(strphone.length==0)
				{
					error_message+="Your phone number\n";
					error=true;
				}
				if(strzip.length==0)
				{
					error_message+="Your zip code\n";
					error=true;
				}
				
				if(strzip.length>0)
					{
						if(charcheck(document.getElementById("Zip")))
						{
							alert("Please enter a valid zip code");
							document.getElementById("Zip").focus();
							return false;
						}
						if(strzip.length<5)
						{
							alert("Please enter zip in 5 digits");
							document.getElementById("Zip").focus();
							return false;
						}
					}
					
				if(strcode.length>0)
					{
						if(charcheck(document.getElementById("AreaCode")))
						{
							error_message+="A valid code number\n";
							document.getElementById("AreaCode").focus();
							error=true;
						}
						if(strcode.length<3)
						{
							error_message+="Area code of minimum 3 digits\n";
							document.getElementById("AreaCode").focus();
							error=true;
						}
					}
				if(document.frm.ddlMonth.value=='0'){
					alert("Please Select month in Date of Birth.");
					document.getElementById("ddlMonth").focus();
					error=true;
				}
				if(document.frm.ddlDay.value=='0'){
					alert("Please Select day in Date of Birth.");
					document.getElementById("ddlDay").focus();
					error=true;
				}
				if(document.frm.ddlYear.value=='0'){
					alert("Please Select year in Date of Birth.");
					document.getElementById("ddlYear").focus();
					error=true;
				}
				if(document.frm.ddlYear.value!='0' && document.frm.ddlDay.value!='0' && document.frm.ddlMonth.value!='0'){
					dateStr = document.frm.ddlMonth.value  + '/' + document.frm.ddlDay.value + '/' + document.frm.ddlYear.value;
					if (isDate(dateStr)==false){
						alert("Please Enter a valid Date of Birth.");
						document.getElementById("ddlYear").focus();
						error=true;
					}
					else{
						document.frm.txtDOB.value = dateStr;
					}
					//alert(dateStr);
					//return false;
				}
			}
						
			
			
			
			
			
			
			if(document.getElementById("14").value=="0")
				{
					error_message+="How far are you willing to Travel\n";
					error=true;
				}
			
			if(document.getElementById("pageSource").value=="0"){	
				var regEx = /^[0-9]{3}([\-][0-9]{4})?/;
				if(strphone.length>0)
				{
					
					var indexHome=strphone.indexOf('-');
					if(strphone.length>0)
					{
						if(indexHome<0)
						{
							
							if(strphone.length!=7)
							{
								alert("Please enter Phone Number of 7 digits!!!");
								document.getElementById("Phone").focus();
								return false;
							}
							if(charcheck(document.getElementById("Phone")))
							{						
								alert("Please enter phone number in digits!!!");
								document.getElementById("Phone").focus();
								return false;
							}
						}
						else if(!(regEx.test(strphone) && indexHome==3))
						{
							alert("Please enter the phone number either in 1111111 or 111-1111 format!!!");
							document.getElementById("Phone").focus();
							return false;	
							//return false;
							//return true;
						}
							
					}	
				} 
			}
			
			if(error == true)
			{
				alert(error_message);
				return false;
			}
			else if(error==false)
			{
				return true;
			}
	}
	
	var dtCh= "/";
	var minYear=1900;
	var maxYear=2100;
	
	function isInteger(s){
		var i;
		for (i = 0; i < s.length; i++){   
			// Check that current character is number.
			var c = s.charAt(i);
			if (((c < "0") || (c > "9"))) return false;
		}
		// All characters are numbers.
		return true;
	}
	
	function stripCharsInBag(s, bag){
		var i;
		var returnString = "";
		// Search through string's characters one by one.
		// If character is not in bag, append to returnString.
		for (i = 0; i < s.length; i++){   
			var c = s.charAt(i);
			if (bag.indexOf(c) == -1) returnString += c;
		}
		return returnString;
	}
	
	function daysInFebruary (year){
		// February has 29 days in any year evenly divisible by four,
		// EXCEPT for centurial years which are not also divisible by 400.
		return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
	}
	function DaysArray(n) {
		for (var i = 1; i <= n; i++) {
			this[i] = 31
			if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
			if (i==2) {this[i] = 29}
	   } 
	   return this
	}
	
	function isDate(dtStr){
		var daysInMonth = DaysArray(12)
		var pos1=dtStr.indexOf(dtCh)
		var pos2=dtStr.indexOf(dtCh,pos1+1)
		var strMonth=dtStr.substring(0,pos1)
		var strDay=dtStr.substring(pos1+1,pos2)
		var strYear=dtStr.substring(pos2+1)
		strYr=strYear
		if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
		if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
		for (var i = 1; i <= 3; i++) {
			if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
		}
		month=parseInt(strMonth)
		day=parseInt(strDay)
		year=parseInt(strYr)
		if (pos1==-1 || pos2==-1){
			alert("The date format should be : mm/dd/yyyy")
			return false
		}
		if (strMonth.length<1 || month<1 || month>12){
			alert("Please enter a valid month")
			return false
		}
		if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
			alert("Please enter a valid day")
			return false
		}
		if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
			alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
			return false
		}
		if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
			alert("Please enter a valid date")
			return false
		}
	return true
	}

	function emailCheck(emailStr)
  	{
  	  	var emailPat=/^(.+)@(.+)$/

  	  	//var emailStr = document.frmcontact.Email.value;

  	  	if(emailStr.length > 0)
  	  	{
			var matchArray = emailStr.match(emailPat);


			if (matchArray == null)
			{
				//alert("Please Enter Correct Email Address");
				return false;
			}
			else{
				return true;
			}
  		}

    }

	function charcheck(fieldname)
		{
		var fieldvalue= new String("");
		fieldvalue = fieldname.value;
		for(i=0;i<fieldvalue.length;i++)
		{
			fieldvalue=fieldvalue.replace(" ","");
		} 
		for(i=0;i<fieldvalue.length;i++)
			{        			
			var single;
			single=fieldvalue.charAt(i);
			if(!((single>='A')&&(single<='Z')||(single>='a')&&(single<='z')))
				{
				return false;
				break;
				}	     
			}
			return true;     
		}
		function Trim(text)
		{

			while(text.value.charAt(0)==' ')
				text.value=text.value.substring(1,text.value.length )
			while(text.value.charAt(text.value.length-1)==' ')
				text.value=text.value.substring(0,text.value.length-1)
			return text.value;
		}
	function onCount(txtarea,event)
		{
			
			if(document.getElementById(txtarea).value.length>256)
			{
				var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
				if (keyCode == 8)
				{	
						
						return true;
				}
				else	
				alert("Note should not exceed 256 Characters");
				document.getElementById(txtarea).focus ();
				return false;
			}
		}	
		
	function trim(str, chars) {
		return ltrim(rtrim(str, chars), chars);
		}
		
		function ltrim(str, chars) {
			chars = chars || "\\s";
			return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
		}
		
		function rtrim(str, chars) {
			chars = chars || "\\s";
			return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
	}
