	function formChecker(form) {
		var elementsToBeChecked = ['Company','Title','YourName','areaCode','localArea','fourDigits','Address','City','State','ZipCode','EmailAddress'];
		
		for(i=0;i<form.elements.length;i++) {			
			for(j=0;j<elementsToBeChecked.length;j++) {
				if( form.elements[i].name == elementsToBeChecked[j] ) {
					if(!checkFields(form.elements[i])) {
						return false;
					} 
					break;
				}										
			}									
		}		
		form.Phone.value = "(" + form.areaCode.value + ")" + form.localArea.value + "-" + form.fourDigits.value;
		form.areaCode.disabled = true;
		form.localArea.disabled = true;
		form.fourDigits.disabled = true;
		//if(!form.OptIn.checked) {form.OptIn.checked = true; form.OptIn.style.display =  'none'; form.OptIn.value = "No"} else { form.OptIn.value = "Yes" }
		return true;							
	}
	
	function checkFields(elem) {
		if(elem.value == null || elem.value == "" || elem.name == "ZipCode" || elem.name == "State" || elem.name == "areaCode" || elem.name == "localArea" || elem.name == "fourDigits" || elem.name == "EmailAddress") {			
			if(elem.name == "EmailAddress") { if( checkEmail(elem.value) ) { return true; }	}	
			if(elem.name == "State") { if(elem.selectedIndex != 0) { return true; }	}			
			if(elem.name == "ZipCode") { if (elem.value != "" && elem.value.length == 5) { if(IsNumeric(elem.value)) { return true; } } }			
			if(elem.name == "areaCode") { if ((elem.value != "" && elem.value.length == 3) && IsNumeric(elem.value) ) { return true; } }
			if(elem.name == "localArea") { if ((elem.value != "" && elem.value.length == 3) && IsNumeric(elem.value) ) { return true; } }
			if(elem.name == "fourDigits") { if ((elem.value != "" && elem.value.length == 4) && IsNumeric(elem.value) ) { return true; } }			
			
			switch (elem.name) {
				case "Company":			alert("Please enter your company name.");break;
				case "Title":			alert("Please enter your title.");break;
				case "YourName":		alert("Please enter your name.");break;
				case "City":			alert("Please enter your city.");break;
				case "Address":			alert("Please enter your address.");break;
				case "ZipCode":			alert("Please enter your five digit zip code. eg. 02332");break;
				case "State":			alert("Please enter your state.");break;
				case "areaCode":		alert("Please enter phone number in correct ten digit format. eg. 555-555-5555");break;
				case "localArea":		alert("Please enter phone number in correct ten digit format. eg. 555-555-5555");break;
				case "fourDigits":		alert("Please enter phone number in correct ten digit format. eg. 555-555-5555");break;
				case "EmailAddress":	alert("Please enter a valid E-mail address.");break;
			}
			
			elem.focus();
			return false;
		}
		else {
			return true;
		}		
	}
	
	function IsNumeric(sText) {
		var ValidChars = "0123456789";
		var IsNumber = true;
		var Char;

		for (k = 0; k < sText.length && IsNumber == true; k++) 
		{ 
			Char = sText.charAt(k); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}		
		return IsNumber;	   
	}
	
	function checkEmail(email) {
		var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
		return emailPattern.test(email); 
	}
