
	function checkForm() {
	    var doc = document.submit_form;
		if (doc.first_name.value == "") {
			alert("You must provide your First Name");
			doc.first_name.focus();
			return false;
		}
		if (doc.last_name.value == "") {
			alert("You must provide your Last Name");
			doc.last_name.focus();
			return false;
		}
		if (doc.email.value == "") {
			alert("You must provide your eMail address");
			doc.email.focus();
			return false;
		}
		if (doc.email.value == "" || doc.email.value == null) {
			alert("You must provide your email address");
			doc.email.value.focus();
			return false;
		} else {
			if ( ! echeck(doc.email.value)) {
				alert("Invalid email address, please try again.");
				return false;
				doc.email.value.focus();
			}
		}
		if (doc.phone.value == "" || doc.phone.value == null) {
			alert("You must provide your Phone number");
			doc.phone.focus();
			return false;
		} else {
			var phoneNumberDelimiters = "()- ";
			var validWorldPhoneChars = phoneNumberDelimiters + "+";
			var minDigitsInIPhoneNumber = 10;
			if (checkInternationalPhone(doc.phone.value)==false){
				alert("Please enter a valid phone number - 10 digits long");
				doc.phone.focus();
				return false;
			}
		}
		if (doc.street.value == "" || doc.street.value == null) {
			alert("You must provide your Address");
			doc.street.focus();
			return false;
		}
		if (doc.city.value == "" || doc.city.value == null) {
			alert("You must provide your City");
			doc.city.focus();
			return false;
		}
		if (doc.zip.value == "" || doc.zip.value == null) {
			alert("You must provide your Zip Code");
			doc.zip.focus();
			return false;
		} else {
			/***
			if( ! checkZip(doc.zip.value)) {
				alert( doc.zip.value + " is not a valid zip code for this offer.  It is only valid in selected Denver areas");
				doc.zip.focus();
				return false;
			}
			***/
			if (! validateZIP(doc.zip.value)) {
				alert("Your zipcode does not appear to be in the correct format.\n\rPlease try either of the following formats: xxxxx or xxxxx-xxxx");
				return false;
				doc.zip.focus();
			}
		}
		if (doc.lead_source.value == "") {
			alert("You must choose how you heard about us");
			doc.lead_source.focus();
			return false;
		}

		function validateZIP(field) {
			var valid = "0123456789-";
			var hyphencount = 0;

			if (field.length!=5 && field.length!=10) {
				return false;
			}
			for (var i=0; i < field.length; i++) {
				temp = "" + field.substring(i, i+1);
				if (temp == "-") hyphencount++;
				if (valid.indexOf(temp) == "-1") {
					return false;
				}
				if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
					return false;
				}
			}
			return true;
		}
		
		function echeck(str) {
			var at="@"
			var dot="."
			var lat=str.indexOf(at)
			var lstr=str.length
			var ldot=str.indexOf(dot)
			if (str.indexOf(at)==-1){
				return false
			}

			if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
				return false
			}

			if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
				return false
			}

			if (str.indexOf(at,(lat+1))!=-1){
				return false
			}

			if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
				return false
			}

			if (str.indexOf(dot,(lat+2))==-1){
				return false
			}

			if (str.indexOf(" ")!=-1){
				return false
			}

			return true
		}

		function isInteger(s) {   
			var i;
			for (i = 0; i < s.length; i++) {   
				var c = s.charAt(i);
			    if (((c < "0") || (c > "9"))) return false;
			}
		    return true;
		}	

		function stripCharsInBag(s, bag) {   
			var i;
		  	var returnString = "";
		   	for (i = 0; i < s.length; i++) {   
				var c = s.charAt(i);
			    if (bag.indexOf(c) == -1) returnString += c;
			}
		    return returnString;
		}

		function checkInternationalPhone(strPhone){
			s=stripCharsInBag(strPhone,validWorldPhoneChars);
			return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
		}


		function checkZip(zip) {
		    var i;
			var myarray = [ '80533', '80111', '80110', '80107', '80104', '80046', '80016', '80015', '80014', '80013', '80651', '80645', '80639', '80638', '80634', '80631', '80623', '80620', '80543', '80542', '80540', '80537', '80534', '80516', '80513', '80504', '80503', '80501', '80481', '80474', '80471', '80466', '80455', '80452', '80427', '80422', '80419', '80403', '80402', '80401', '80329', '80328', '80323', '80322', '80321', '80314', '80310', '80309', '80308', '80307', '80306', '80305', '80304', '80303', '80302', '80301', '80260', '80234', '80232', '80228','80227', '80226', '80225', '80221', '80215', '80214', '80212', '80211', '80204', '80202', '80038', '80036', '80035', '80034', '80033', '80031', '80030', '80028', '80027', '80026', '80025', '80021', '80020', '80007', '80006', '80005', '80004', '80003', '80002', '80001', '80112', '80116', '80120', '80121', '80122', '80123', '80124', '80125', '80126', '80127', '80128', '80129', '80130', '80134', '80135', '80138', '80150', '80151', '80155', '80208', '80209', '80210', '80219', '80222', '80223', '80224', '80231', '80235', '80236', '80237', '80246', '80250', '80261', '80263', '80421', '80425', '80433', '80439', '80465', '80470', '80475', '80827', '80010', '80011', '80012', '80017', '80018', '80019', '80022', '80024', '80037', '80040', '80041', '80042', '80044', '80045', '80102', '80103', '80136', '80137', '80203', '80205', '80206', '80207', '80216', '80218', '80220', '80229', '80230', '80233', '80238', '80239', '80241', '80249', '80252', '80254', '80266', '80279', '80280', '80601', '80602', '80603', '80621', '80640', '80642', '80643', '80644', '80652' ];
			for(i = 0; i < myarray.length; i++) {
				if(myarray[i] == zip) {
					alert("found it " + myarray[i] + " == " + zip);
					return true;
				}
			}
			return false;
		}
	}
