function validateFields() {
	// grab the fields in the form and the form itself
	var frmEl = document.getElementById('contactUsT');
	var name = document.getElementById('nameT');
	var friendEmail = document.getElementById('friendEmailT');
	var email = document.getElementById('emailT');
	var friendName = document.getElementById('friendNameT');
	var message = document.getElementById('messageT');

	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) ) {
		alert("Please enter your name.");
		okToSend = false;
	} else if ( friendName.value == '' || whiteSpace.test(friendName.value) ) {
		alert("Please enter your friend's name.");
		okToSend = false;
	} else if ( message.value == '' || whiteSpace.test(message.value) ) {
		alert("Please enter a message to send.");
		okToSend = false;
	} else if(!emailCheck(email.value)){
		okToSend = false;
	} else if(!emailCheck(friendEmail.value)){
		okToSend = false;
	}

	// If any of the checks for required information failed, 	
	if(okToSend == true){
		sendPosEmail();
	}
}

/**
 * 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 sendPosEmail () {
	// grab the fields in the form and the form itself
	var frmEl = document.getElementById('contactUsT');
	var posName = document.getElementById('nameT');
	var posEmail = document.getElementById('emailT');
	var posFriendName = document.getElementById('friendNameT');
	var posFriendEmail = document.getElementById('friendEmailT');
	var posMessage = document.getElementById('messageT');
	var posListing = document.getElementById('listing');

	// the page on the server that sends the email
	var page = "includes/emailer/sendEmailTellAFriend.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(posName.value);
	var email = cleanString(posEmail.value);
	var friendName = cleanString(posFriendName.value);
	var friendEmail = cleanString(posFriendEmail.value);
	var message = cleanString(posMessage.value);
	var listing = cleanString(posListing.value);

	// create the data that is to be sent
	var data = "name="+name+"&email="+email+"&friendName="+friendName+"&friendEmail="+friendEmail+"&message="+message+"&listing="+listing;
	// 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('formSubmitButtonT');
	loader.innerHTML = "<img src=\"images/site/ajax-loader.gif\">";
	sentTimer = setTimeout("hideContactTimer()",6000);
}

function hideContactTimer () {
	// Replace the load bar with whatever the server sent back
	var mainPage = document.getElementById('formSubmitButtonT');
	mainPage.style.color="#FFFFFF";
	mainPage.innerHTML = ''+grabPosXML("confirmation");
}

function ajaxContact() {
var frmEl = document.getElementById('tellAFriend');
addEventForForms(frmEl, 'submit', validateFields, false);
frmEl.onsubmit = function() { return false; }
}
addEventForForms(window, 'load',ajaxContact, false);