function validateFields() {
	// grab the fields in the form and the form itself
	var name = document.getElementById('name');
	var email = document.getElementById('email');
	var fname = document.getElementById('friendname');
	var femail = document.getElementById('friendemail');
	var refer = document.getElementById('refer');

	var whiteSpace = /^[\s]+$/;
	var okToSend = true;
	
	// Check to see if a required field is blank or null. If so, set an error message.
	if ( name.value == '' || whiteSpace.test(name.value) ) {
		setError("Please enter your name");
		okToSend = false;
	}else if ( fname.value == '' || whiteSpace.test(fname.value) ) {
		setError("Please enter your friend's name");
		okToSend = false;
	} else if(!emailCheck(email.value)){
		okToSend = false;
	} else if(!emailCheck(femail.value)){
		okToSend = false;
	} else if ( refer.value == '' || whiteSpace.test(refer.value) ) {
		setError("Please tell us how you heard of us");
		okToSend = false;
	}

	// If any of the checks for required information failed, 	
	if(okToSend == true){
		sendEmail();
	}
}

function setError(message){
	//document.getElementById("feedback").innerHTML=message;
	alert(message);
}

/**
 * Sends the actual data in the form to the server via an AJAX request.
 * Change this method to extract whatever data you need to be taken from
 * the form and uploaded to the server.
**/
function sendEmail () {
	// grab the fields in the form and the form itself
	var pname = document.getElementById('name');
	var pemail = document.getElementById('email');
	var pfname = document.getElementById('friendname');
	var pfemail = document.getElementById('friendemail');
	var prefer = document.getElementById('refer');
	var pcompany = document.getElementById('company');

	// the page on the server that sends the email
	var page = "includes/tafMailer.php?contact=true&xml=true";
	showContactTimer(); // quickly begin the load bar
	
	// convert (&, +, =) to string equivs. Needed so URL encoded POST won't choke.
	var name = cleanString(pname.value);
	var email = cleanString(pemail.value);
	var fname = cleanString(pfname.value);
	var femail = cleanString(pfemail.value);
	var refer = cleanString(prefer.value);
	var company = cleanString(pcompany.value);

	// create the data that is to be sent
	var data = "name="+name+"&email="+email+"&fname="+fname+"&refer="+refer+"&femail="+femail+"&company="+company;
	// put the data into the request to be sent to the server

	loadXMLPosDoc(page,data);
}

/**
 * Cleans a string so that it can go in a string
**/
function cleanString(str){
	str = str.replace(/&/g,"**am**");
	str = str.replace(/=/g,"**eq**");
	str = str.replace(/\+/g,"**pl**");
	return str;
}

function showContactTimer () {
	var loader = document.getElementById('feedback');
	loader.innerHTML = "<img src=\"sitefiles/sending.gif\">";
	sentTimer = setTimeout("hideContactTimer()",5000);
}

function hideContactTimer () {
	var loader = document.getElementById('feedback');
	loader.innerHTML = "";
	alert(grabPosXML("confirmation"));
}

function ajaxContact() {
	var frmEl = document.getElementById('contact');
	addEventForForms(frmEl, 'submit', validateFields, false);
	frmEl.onsubmit = function() { return false; }
}
addEventForForms(window, 'load',ajaxContact, false);