	var submitted = "no";

	function emptyValidation(fldid,fldnm) {
		if(document.getElementById(fldid).value=="") {
			document.getElementById("err_"+fldid).innerHTML = "Please enter "+fldnm;
			document.getElementById(fldid).focus();
			return false;
		} else {
			document.getElementById("err_"+fldid).innerHTML = "";
			return true;
		}
	}
	function ZipCodeValidation(fldid)
	{
		if(emptyValidation(fldid,'Zipcode')) {
			var Val = document.getElementById(fldid);
			var alp = "0123456789";
			var errorflag = "no";
			for (var i=0;i<Val.value.length;i++) {
				temp=Val.value.substring(i,i+1);
				if (alp.indexOf(temp)==-1){
					var errorflag = "yes";
					document.getElementById("err_"+fldid).innerHTML = "Please provide a Number";
					document.getElementById(fldid).focus();
					return false;
				}
			} // closing the for loop
			if(errorflag == "no") {
				if(Val.value.length < 5) {
					var errorflag = "yes";
					document.getElementById("err_"+fldid).innerHTML = "Zipcode must be at least 5 digits long";
					document.getElementById(fldid).focus();
					return false;
				}
			}
			if(errorflag == "no") {
				document.getElementById("err_"+fldid).innerHTML = "";
				return true;
			}
		}
	}
	function PhoneFormatValidate(fldid, lnth)
	{
		var Element = document.getElementById(fldid);
		if(lnth!="") {
			if(lnth==10) {
				var fst = 3;
			} else if(lnth==9) {
				var fst = 2;
			}
		}
		if(emptyValidation(fldid,'Phone')) {
			var FmtStr="";
			var index = 0;
			var LimitCheck;
			PhoneNumberInitialString = Element.value;
			LimitCheck = PhoneNumberInitialString.length;
			while (index != LimitCheck)
			{
				if (isNaN(parseInt(PhoneNumberInitialString.charAt(index)))){ }
				else {
					FmtStr = FmtStr + PhoneNumberInitialString.charAt(index); 
				}
				index = index + 1;
			}
			if (FmtStr.length == lnth)
			{
				FmtStr = FmtStr.substring(0,fst) + "-" + FmtStr.substring(3,6) + "-" + FmtStr.substring(6,10);
				Element.value = FmtStr;
			}
			else
			{
				FmtStr=PhoneNumberInitialString;
				Element.value = FmtStr;
				document.getElementById("err_"+fldid).innerHTML = "Phone must have exactly "+lnth+" digits.";
				Element.focus();
				return false;
			}
			return true;
		}
	}
	
	function validEmail(fldid)
	{
		var Element = document.getElementById(fldid);
		if(emptyValidation(fldid,'Email Address')) {
			Flag  = 1;
			count = 0;
		
			var alp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@.-";
			
			if(Element.value.length > 0)
			{
				for (var i=0; i<Element.value.length; i++)
				{
					temp = Element.value.substring(i, i+1);
		
					if (alp.indexOf(temp) == -1)
					{
						Flag = 0;
					}
				} // closing the for loop
			}
			else
			{
				Flag = 0;
			}
		
			for(var i=0; i <= Element.value.length; i++)
			{
				if(Element.value.charAt(0)=='@')
				{
					Flag = 0;
					break;
				}
	
				if(Element.value.charAt(Element.value.length-1)=='@')
				{
					Flag = 0;
					break;
				}
	
				if(Element.value.charAt(i)=='@') 
				{
					count = count + 1;
	
					if(count>1)
					{
						Flag = 0;
						break;
					}
				  
					if((Element.value.charAt(i-1)=='.') || (Element.value.charAt(i+1)=='.'))
					{
						Flag = 0;
						break;
					}
				}
				if(Element.value.indexOf('@')==-1)
				{
					Flag = 0;		    	
					break;
				}
				if(Element.value.charAt(0)=='.')
				{
					Flag = 0;
					break;
				}
				if(Element.value.indexOf('.')==-1)
				{
					Flag = 0;		    	
					break;
				}
			  } //closing the for loop
			
			if(Element.value.charAt(Element.value.length-1) == '.')
				Flag = 0;
				
			if(Flag != 1)
			{
				document.getElementById("err_"+fldid).innerHTML = "Invalid Email Address.";
				document.getElementById(fldid).focus();
				return 0;
			}	
			else
				return 1;
		}
	}
	function validTextArea(fldid, fldnm, minlen, maxlen)
	{
		var fldval = document.getElementById(fldid).value;
		if(fldval=="") {
			document.getElementById("err_"+fldid).innerHTML = "Please enter "+fldnm;
			document.getElementById(fldid).focus();
			return false;
		} else if( fldval.length < minlen || fldval.length > maxlen  ) {
			document.getElementById("err_"+fldid).innerHTML = fldnm+" should be between "+minlen+" to "+maxlen+" characters.";
			document.getElementById(fldid).focus();
			return false;
		} else {
			document.getElementById("err_"+fldid).innerHTML = "";
			return true;
		}
	}
	function emptyValidation(fldid,fldnm) {
		if(document.getElementById(fldid).value=="") {
			document.getElementById("err_"+fldid).innerHTML = "Please enter "+fldnm;
			document.getElementById(fldid).focus();
			return false;
		} else {
			document.getElementById("err_"+fldid).innerHTML = "";
			return true;
		}
	}
	function ZipCodeValidation(fldid)
	{
		if(emptyValidation(fldid,'Zipcode')) {
			var Val = document.getElementById(fldid);
			var alp = "0123456789";
			var errorflag = "no";
			for (var i=0;i<Val.value.length;i++) {
				temp=Val.value.substring(i,i+1);
				if (alp.indexOf(temp)==-1){
					var errorflag = "yes";
					document.getElementById("err_"+fldid).innerHTML = "Please provide a Number";
					document.getElementById(fldid).focus();
					return false;
				}
			} // closing the for loop
			if(errorflag == "no") {
				if(Val.value.length < 5) {
					var errorflag = "yes";
					document.getElementById("err_"+fldid).innerHTML = "Zipcode must be at least 5 digits long";
					document.getElementById(fldid).focus();
					return false;
				}
			}
			if(errorflag == "no") {
				document.getElementById("err_"+fldid).innerHTML = "";
				return true;
			}
		}
	}
	function PhoneFormatValidate(fldid, lnth)
	{
		var Element = document.getElementById(fldid);
		if(lnth!="") {
			if(lnth==10) {
				var fst = 3;
			} else if(lnth==9) {
				var fst = 2;
			}
		}
		if(emptyValidation(fldid,'Phone')) {
			var FmtStr="";
			var index = 0;
			var LimitCheck;
			PhoneNumberInitialString = Element.value;
			LimitCheck = PhoneNumberInitialString.length;
			while (index != LimitCheck)
			{
				var tmpvr = fst+1;
				if (isNaN(parseInt(PhoneNumberInitialString.charAt(index))) ){ }
				else {
//					alert("nn")
					FmtStr = FmtStr + PhoneNumberInitialString.charAt(index); 
				}
				index = index + 1;
			}
			if (FmtStr.length == lnth)
			{
				var fst2 = fst + 3;
				var fst3 = fst2 + 4;
				FmtStr = FmtStr.substring(0,fst) + "-" + FmtStr.substring(fst,fst2) + "-" + FmtStr.substring(fst2,fst3);
				Element.value = FmtStr;
			}
			else
			{
				FmtStr=PhoneNumberInitialString;
				Element.value = FmtStr;
				document.getElementById("err_"+fldid).innerHTML = "Phone must have exactly "+lnth+" digits.";
				Element.focus();
				return false;
			}
			return true;
		}
	}
	
	function validEmail(fldid)
	{
		var Element = document.getElementById(fldid);
		if(emptyValidation(fldid,'Email Address')) {
			Flag  = 1;
			count = 0;
		
			var alp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@.-";
			
			if(Element.value.length > 0)
			{
				for (var i=0; i<Element.value.length; i++)
				{
					temp = Element.value.substring(i, i+1);
		
					if (alp.indexOf(temp) == -1)
					{
						Flag = 0;
					}
				} // closing the for loop
			}
			else
			{
				Flag = 0;
			}
		
			for(var i=0; i <= Element.value.length; i++)
			{
				if(Element.value.charAt(0)=='@')
				{
					Flag = 0;
					break;
				}
	
				if(Element.value.charAt(Element.value.length-1)=='@')
				{
					Flag = 0;
					break;
				}
	
				if(Element.value.charAt(i)=='@') 
				{
					count = count + 1;
	
					if(count>1)
					{
						Flag = 0;
						break;
					}
				  
					if((Element.value.charAt(i-1)=='.') || (Element.value.charAt(i+1)=='.'))
					{
						Flag = 0;
						break;
					}
				}
				if(Element.value.indexOf('@')==-1)
				{
					Flag = 0;		    	
					break;
				}
				if(Element.value.charAt(0)=='.')
				{
					Flag = 0;
					break;
				}
				if(Element.value.indexOf('.')==-1)
				{
					Flag = 0;		    	
					break;
				}
			  } //closing the for loop
			
			if(Element.value.charAt(Element.value.length-1) == '.')
				Flag = 0;
				
			if(Flag != 1)
			{
				document.getElementById("err_"+fldid).innerHTML = "Invalid Email Address.";
				document.getElementById(fldid).focus();
				return 0;
			}	
			else
				return 1;
		}
	}
	function validTextArea(fldid, fldnm, minlen, maxlen)
	{
		var fldval = document.getElementById(fldid).value;
		if(fldval=="") {
			document.getElementById("err_"+fldid).innerHTML = "Please enter "+fldnm;
			document.getElementById(fldid).focus();
			return false;
		} else if( fldval.length < minlen || fldval.length > maxlen  ) {
			document.getElementById("err_"+fldid).innerHTML = fldnm+" should be between "+minlen+" to "+maxlen+" characters.";
			document.getElementById(fldid).focus();
			return false;
		} else {
			document.getElementById("err_"+fldid).innerHTML = "";
			return true;
		}
	}
	function validateallfields() {
		var submitted = "yes";
		if( !emptyValidation('name','Name') || !emptyValidation('address','Address') || !emptyValidation('city','City') || !emptyValidation('state','State') || !ZipCodeValidation('zipcode') || !PhoneFormatValidate('phone','10') || !validEmail('email') || !validTextArea('comments','Message','6','200') ) {
			return false;
		} else {
			return true;
		}
	}
	