function validateFields() {
var frmEl = document.getElementById('cForm');
var name = document.getElementById('name');
var address = document.getElementById('address');
var city = document.getElementById('city');
var state = document.getElementById('state');
var zip = document.getElementById('zip');
var phone = document.getElementById('phone');
var fax = document.getElementById('fax');
var email = document.getElementById('email');
var startdate = document.getElementById('startdate');
var enddate = document.getElementById('enddate');
var adults = document.getElementById('adults');
var children = document.getElementById('children');
var source = document.getElementById('source');
var other = document.getElementById('other');
var comments = document.getElementById('comments');

var whiteSpace = /^[\s]+$/;
	if ( name.value == '' || whiteSpace.test(name.value) ) {
		alert("Please enter your name.");
	}else if ( address.value == '' || whiteSpace.test(address.value) ) {
		alert("Please enter your address.");
	}else if ( city.value == '' || whiteSpace.test(city.value) ) {
		alert("Please enter your city.");
	}else if ( state.value == '' || whiteSpace.test(state.value) ) {
		alert("Please enter your state.");
	}else if ( zip.value == '' || whiteSpace.test(zip.value) ) {
		alert("Please enter your zip code.");
	}else if ( phone.value == '' || whiteSpace.test(phone.value) ) {
		alert("Please enter your phone number.");
	}else if ( email.value == '' || whiteSpace.test(email.value) ) {
		alert("Please enter your email.");
	}else if ( startdate.value == '' || whiteSpace.test(startdate.value) ) {
		alert("Please enter the start date.");
	}else if (startdate.value.split('-').length == 1){
		alert("Please enter the start date in the mm-dd-yyyy format");
	}else if ( enddate.value == '' || whiteSpace.test(enddate.value) ) {
		alert("Please enter the end date.");
	}else if(enddate.value.split('-').length == 1){
		alert("Please enter the end date in the mm-dd-yyyy format");
	}else if ( adults.value == '' || whiteSpace.test(adults.value) ) {
		alert("Please enter the number of adults.");
	}else if ( children.value == '' || whiteSpace.test(children.value) ) {
		alert("Please enter the number of children.");
	}else {
		var aStDate = startdate.value.split('-');
		var aEndDate = enddate.value.split('-');
		if(aStDate == null || aEndDate == null)
		{
			alert("Arrival Date and Departure Date should be of the mm-dd-yyyy format");
			return;
		}else{
			var stMonth = aStDate[0];
			var stDay = aStDate[1];
			var stYr = aStDate[2];

			var endMonth = aEndDate[0];
			var endDay = aEndDate[1];
			var endYr = aEndDate[2];

			var oStDate = new Date();
			oStDate.setMonth(stMonth);
			oStDate.setDate(stDay);
			oStDate.setYear(stYr);

			var oEndDate = new Date();
			oEndDate.setMonth(endMonth);
			oEndDate.setDate(endDay);
			oEndDate.setYear(endYr);

			if(oStDate.getTime() >= oEndDate.getTime()){
				alert("Arrival Date needs to be less than Departure Date");
				return;
			}
		}
		sendPosEmail();
	}
}
function sendPosEmail () {
	var name = document.getElementById('name');
	var address = document.getElementById('address');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var zip = document.getElementById('zip');
	var phone = document.getElementById('phone');
	var fax = document.getElementById('fax');
	var email = document.getElementById('email');
	var startdate = document.getElementById('startdate');
	var enddate = document.getElementById('enddate');
	var adults = document.getElementById('adults');
	var children = document.getElementById('children');
	var source = document.getElementById('source');
	var other = document.getElementById('other');
	var comments = document.getElementById('comments');

	var page = "xmlHttpRequest.php?contact=true&xml=true";
	var success = document.getElementById('emailSuccess');
	showContactTimer(); // quickly begin the load bar
	success.style.display = 'none'; // hide the success bar (incase this is a multi-email

	var stuff = "name=" + name.value +
				"&address=" + address.value +
				"&city=" + city.value +
				"&state=" + state.value +
				"&zip=" + zip.value +
				"&phone=" + phone.value +
				"&fax=" + fax.value +
				"&email=" + email.value +
				"&startdate=" + startdate.value +
				"&enddate=" + enddate.value +
				"&adults=" + adults.value +
				"&children=" + children.value +
				"&source=" + source.value +
				"&other=" + other.value +
				"&comments=" + comments.value;
	loadXMLPosDoc(page,stuff);
}

function reloadCaptcha(){
	var securityCode = document.getElementById('security_code');
	securityCode.value='';
	var captchaImage = document.getElementById('captchaImage');
	var now = new Date();
	captchaImage.src = 'CaptchaSecurityImages.php?width=100&amp;height=40&amp;characters=5&t=' + now.getTime();
}

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 style="color:green;">'+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 = '';
	}*/
	reloadCaptcha();
}

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