var msg_EmailRequired = "Please include your email address or your message probably won't be delivered. We'll only use your address to respond to your request."; 
var msg_NoMessage = "Please tell us a little about why you're contacting us.";
var msg_emailFailed = "We couldn't send your message at this time. Please try again later.";
var msg_sending = "Sending your message, please wait...";
function validateFields(e) {
	var frmEl = $('cForm');
	var posName = $('posName');
	var posEmail = $('posEmail');
	var posRegard = $('posRegard');
	var posText = $('posText');
	var strCC = $('selfCC');
	var whiteSpace = /^[\s]+$/;
	
	if ( posText.value == '' || whiteSpace.test(posText.value) ) {
		alert(msg_NoMessage);
		posText.focus();
	}
	else if ( posEmail.value == '') {
		alert(msg_EmailRequired);
		posEmail.focus();
	}
	else {
		sendPosEmail();
	}
	Event.stop(e);
}

var pos = null;
function sendPosEmail () {
	var page = "scripts/xmlHttpRequest.php?contact=true&xml=true";
	var frm = $('cForm');
	frm.action = page;
	var msg = $('msg');
	msg.className = "";
	msg.update(msg_sending);
	$('msg_cont').setStyle({'visibility':'visible'});
	$('load_img').setStyle({'visibility':'visible'});
	
	frm.request({
		onComplete:function(t) {
			pos = t;				
			$('load_img').setStyle({'visibility':'hidden'});
			var success,conf,msg =$('msg');
			if (!t.responseXML) {
				success = false;
				conf = msg_emailFailed;
			} else {
				success = (grabPosXML('status') == "OK");
				conf = grabPosXML("confirmation");
			}
			msg.className = (success)?"success":"failed";
			msg.update(conf);
		}});
		
}



function grabPosXML (tagName) {
	if (!pos.responseXML) return false;
	var ns = pos.responseXML.documentElement.getElementsByTagName(tagName);
	if (ns && ns[0] && ns[0].childNodes && ns[0].childNodes[0]) 	
		return ns[0].childNodes[0].nodeValue;
	else return false;
}

function ajaxContact() {
	$('msg_cont').setStyle({'visibility':'hidden' });
	var frmEl = $('cForm');
	Event.observe(frmEl,'submit', validateFields);
	frmEl.onsubmit = function() { return false; }
}
Event.observe(window, 'load',ajaxContact);