function validateFields() {
	var frmEl = document.getElementById('cForm');
	var contact_name = document.getElementById('contact_name');
	var contact_email = document.getElementById('contact_email');
	var contact_subject = document.getElementById('contact_subject');
	var contact_message = document.getElementById('contact_message');
	var submit_language = document.getElementById('submit_language');
	var whiteSpace = /^[\s]+$/;

	var errorText = '';

	if ( contact_name.value == '' || whiteSpace.test(contact_name.value ) ) {

		if (submit_language.value == 'en') {
			errorText="* A contact name is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText="* Un nom est nécessaire.\n";
		}

	} 
	
	if ( contact_email.value == '' || whiteSpace.test(contact_email.value ) ) {
	
		if (submit_language.value == 'en') {
			errorText = errorText + "* An email address is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText = errorText + "* Une adresse courriel est nécessaire.\n";
		}
		
	} else if ( !emailValidator(contact_email.value) ) {	
	
		if (submit_language.value == 'en') {
			errorText = errorText + "* A valid email address is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText = errorText + "* Une adresse courriel valide est nécessaire.\n";
		}

	}
	 
	if ( contact_subject.value == '' || whiteSpace.test(contact_subject.value ) ) {

		if (submit_language.value == 'en') {
			errorText = errorText + "* A message subject is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText = errorText + "* Un sujet est nécessaire.\n";
		}
		
	}
	 
	if ( contact_message.value == '' || whiteSpace.test(contact_message.value) ) {
	
		if (submit_language.value == 'en') {
			errorText = errorText + "* A message body is required.\n";
		} else if (submit_language.value == 'fr') {
			errorText = errorText + "* Un message est nécessaire.\n";
		}
	
	} 

	
	if (errorText != '') {
	
		if (submit_language.value == 'en') {
			alert("In order to proceed:\n\n" + errorText);	
		} else if (submit_language.value == 'fr') {
			alert("Afin de procéder:\n\n" + errorText);		
		}
		contact_name.focus();
	} else {
		sendcontact_email();
	}
}


function sendcontact_email () {
	var success = document.getElementById('emailSuccess');
	var contact_name = document.getElementById('contact_name');
	var contact_email = document.getElementById('contact_email');
	var contact_service = document.getElementById('contact_service');
	var contact_subject = document.getElementById('contact_subject');
	var contact_message = document.getElementById('contact_message');
	var submit_language = document.getElementById('submit_language');
	var page = "contactus.xmlHttpRequest.php?contact=true&xml=true&lang=" + submit_language.value;
	
	showContactTimer(); // quickly begin the load bar
	success.style.display = 'none'; // hide the success bar (incase this is a multi-email
	
	var str1 = contact_name.value;
	str1 = clearAllWhiteSpace(str1);
	str1 = encodeURIComponent(str1);

	var str2 = contact_email.value;
	str2 = clearAllWhiteSpace(str2);
	str2 = encodeURIComponent(str2);

	var str3 = contact_subject.value;
	str3 = clearAllWhiteSpace(str3);
	str3 = encodeURIComponent(str3);

	var str4 = contact_message.value;
	str4 = clearAllWhiteSpace(str4);
	str4 = encodeURIComponent(str4);

	var str5 = contact_service.value;
	str5 = clearAllWhiteSpace(str5);
	str5 = encodeURIComponent(str5);

	var stuff = "contact_name="+str1+"&contact_email="+str2+"&contact_subject="+str3+"&contact_message="+str4+"&contact_service="+str5;
	loadXMLPosDoc(page,stuff)
}

function showContactTimer () {
	var loader = document.getElementById('loadBar');
	loader.style.display = 'block';
	sentTimer = setTimeout("hideContactTimer()",6000);
}

function hideContactTimer () {
	var loader = document.getElementById('loadBar');
	var success = document.getElementById('emailSuccess');
	var fieldArea = document.getElementById('contactFormArea');
	var inputs = fieldArea.getElementsByTagName('input');
	var inputsLen = inputs.length;
	var tAreas = fieldArea.getElementsByTagName('textarea');
	var tAreasLen = tAreas.length;
	// Hide the load bar alas! Done Loading
	loader.style.display = "none";
	success.style.display = "block";
	success.innerHTML = '<strong class="greenTiny">'+grabPosXML("confirmation")+'</strong>';
	// Now Hijack the form elements
	for ( i=0;i<inputsLen;i++ ) {
		if ( inputs[i].getAttribute('type') == 'text' ) {
			inputs[i].value = '';
		}
	}
	for ( j=0;j<tAreasLen;j++ ) {
		tAreas[j].value = '';
	}
}

function ajaxContact() {
	var frmEl = document.getElementById('cForm');
	addEvent(frmEl, 'submit', validateFields, false);
	frmEl.onsubmit = function() { return false; }
}


addEvent(window, 'load', ajaxContact, false);
