function validateFields() {
	// grab the fields in the form and the form itself
	var name = document.getElementById('name');
	var email = document.getElementById('email');
	var phone = document.getElementById('phone');
	var position = document.getElementById('position');
	var company = document.getElementById('company');
	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 ( phone.value == '' || whiteSpace.test(phone.value) ) {
		setError("Please enter your telephone number");
		okToSend = false;
	} else if(!emailCheck(email.value)){
		okToSend = false;
	}else if ( position.value == '' || whiteSpace.test(position.value) ) {
		setError("Please enter your position within the company");
		okToSend = false;
	}else if ( company.value == '' || whiteSpace.test(company.value) ) {
		setError("Please enter your company's name");
		okToSend = false;
	} else if ( refer.value == '' || whiteSpace.test(refer.value) ) {
		setError("Please tell us how you heard of P-tek");
		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 pphone = document.getElementById('phone');
	var pwebsite = document.getElementById('website');
	var paddress = document.getElementById('address');
	var pposition = document.getElementById('position');
	var prefer = document.getElementById('refer');
	var phelp = document.getElementById('help');
	var pcompany = document.getElementById('company');

	// the page on the server that sends the email
	var page = "includes/contactusMailer.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 phone = cleanString(pphone.value);
	var website = cleanString(pwebsite.value);
	var address = cleanString(paddress.value);
	var position = cleanString(pposition.value);
	var refer = cleanString(prefer.value);
	var help = cleanString(phelp.value);
	var company = cleanString(pcompany.value);

	// create the data that is to be sent
	var data = "name="+name+"&help="+help+"&position="+position+"&email="+email+"&address="+address+"&phone="+phone+"&refer="+refer+"&website="+website+"&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);