// JavaScript Document
		function form_submit(form) {
			// set up some variables
			var alertMessage = '';
			var formPassed = true;
			var requiredComplete = true;

			// loop through all the elements in the form
			for(var i = 0; i < form.elements.length; i++) {

				// shorten name and value to 'n' and 'v' and clean up white space in values
				var n = form.elements[i].name;
				form.elements[i].value = trim(form.elements[i].value);
				var v = form.elements[i].value;
				var t = form.elements[i].title;
				if(n == 'address2') continue; // this field isn't required
				if(n == 'address1') continue; // this field isn't required
				if(n == 'state') continue; // this field isn't required
				if(n == 'zip_code') continue; // this field isn't required
				if(n == 'homephone') continue; // this field isn't required
				if(n == 'workphone') continue; // this field isn't required
				if(n == 'email') continue; // this field isn't required
				if(n == 'besttime') continue; // this field isn't required
				if(n == 'contactby') continue; // this field isn't required
				if(n == 'comments') continue; // this field isn't required
				if (n == 'email') {
					var reg = new RegExp("^[0-9a-zA-Z]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
					if (!reg.test(v)) { // compare email to that huge Regular Expression test
						setErrorClass(form.elements[i]);
						alertMessage += (t + ' appears to be the wrong format.\n');
						formPassed = false;
						continue;
					}
				}
				// now comes a series of form value checks
				if( v == null || // <- means skipped entirely
					v == '' || // <- means not skipped, but nothing there
					// 'comments' is never empty, but we don't want the default
					(n == 'comments' && v == 'Enter your comments here') ||
					// besttime and contactby drop-downs also set a default
					((n == 'besttime' || n == 'contactby') && v == 'default')
				) {
					setErrorClass(form.elements[i]); // add class name 'error' if not set
					alertMessage += (t + ' is required.\n'); // add field to alert message
					formPassed = false;
					requiredComplete = false;
				} else {
					var cn = form.elements[i].className.replace('error', ''); // remove error class
					form.elements[i].className = cn;
				}
			}
			if (formPassed) { // if it's not set to false, it will be true :)
				form.submit();  // sent the form
			} else {
				// highlight the instructions so people notice this time
				if (!requiredComplete) document.getElementById("required").className += ' highlight';
				alert(alertMessage); // show alert box with all our messages
			}
		}

		function setErrorClass(el) {
			if(el.className.search('error') == -1)
				el.className += ' error'; // add class name 'error' if not set
			return false;
		}

		function trim(str) {
			var newstr = str.replace(/(^\s*)|(\s*$)/g, ""); // removes white space from both ends
			return newstr;
		}

