function verifyForm(frm) {
	frm.JScheck.value = 1;
	var _return = false;
	var formErrors = document.getElementById('formErrors');
	var formErrorsHTML = "";
	var formErrorsAlert = "";
	var focusSet = false;
	
	// Reset everything
	if (formErrors) formErrors.innerHTML = "";
	if (frm.name.parentNode) frm.name.parentNode.style.backgroundColor = "transparent";
	if (frm.email.parentNode) frm.email.parentNode.style.backgroundColor = "transparent";
	if (frm.phone.parentNode) frm.phone.parentNode.style.backgroundColor = "transparent";
	if (frm.interests.parentNode) frm.interests.parentNode.style.backgroundColor = "transparent";
	if (frm.reference.parentNode) frm.reference.parentNode.style.backgroundColor = "transparent";
	
	// Make sure name field is not blank and is at least 4 characters
	if (frm.name.value == "" || frm.name.value.length < 4) {
		formErrorsHTML += "- Please provide your full name.<br />";
		frm.name.parentNode.style.backgroundColor = "#480712";
		if (!focusSet) {
			frm.name.focus();
			focusSet = 1;
		}
	}
	// Validate phone number
	phoneRe = new RegExp(/^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/);
	if (frm.phone.value == "" || !phoneRe.test(frm.phone.value)) {
		formErrorsHTML += "- Please provide your correct phone number.<br />";
		frm.phone.parentNode.style.backgroundColor = "#36050e";
		if (!focusSet) {
			frm.phone.focus();
			focusSet = 1;
		}
	}
	// Validate e-mail address
	var email = frm.email.value;
	emailRe = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/);
	if (email == "" || !emailRe.test(email)) {
		formErrorsHTML += "- Please provide your correct e-mail address.<br />";
		frm.email.parentNode.style.backgroundColor = "#480712";
		if (!focusSet) {
			frm.email.focus();
			focusSet = 1;
		}
	}
	// Validate interests field
	var interests = frm.interests.value;
	if (interests != "") {
		interestsFlag = spamCheck(interests);
		if (flag == 1) {
			formErrorsHTML += "- Your interests/needs text may be considered spam. Please revise.<br />";
			frm.interests.parentNode.style.backgroundColor = "#36050e";
			if (!focusSet) {
				frm.interests.focus();
				focusSet = 1;
			}
		}
	}
	// Validate reference field
	var reference = frm.reference.value;
	if (reference != "") {
		referenceFlag = spamCheck(reference);
		if (flag == 1) {
			formErrorsHTML += "- Your reference text may be considered spam. Please revise.<br />";
			frm.reference.parentNode.style.backgroundColor = "#480712";
			if (!focusSet) {
				frm.reference.focus();
				focusSet = 1;
			}
		}
	}
	if (formErrorsHTML != "") {
		if (formErrors) formErrors.innerHTML = formErrorsHTML;
		_return = false;
	}
	else _return = true;
	
	return _return;
}

function spamCheck(v) {
	var unacceptable = new Array('[url', 'url]', 'url=', '/url', '<', '>', 'href', 'click here');
	flag = 0;
	for (var i=0; i<unacceptable.length; i++) {
		if (v.toLowerCase().indexOf(unacceptable[i]) > -1) {
			flag = 1;
		}
	}
	return flag;
}
