// AJAX calls
function _xml() {
	var xmlhttp = false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		return xmlhttp;
	} catch(e) {
		xmlhttp = false;
	}
	try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		return xmlhttp;
	} catch(e) {
		xmlhttp = false;
	}
	try {
		xmlhttp = new XMLHttpRequest();
		return xmlhttp;
	} catch(e) {
		xmlhttp = false;
	}
}

function ajaxSendMail(formID, postTo) {
	document.body.style.cursor = 'wait';
	var form = document.forms[formID];
	var xml = _xml();
	if (xml != null) {
		var sURL = postTo;
		var content = "check=true";
		xml.open("POST", sURL, false);
		xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

		for (var i = 0; i < form.length; i++) {
			var field = form.elements[i];
			if (typeof(field.name) == "undefined" || field.name.length <= 0) {
				continue;
			} else if (field.type == "checkbox") {
				content += '&' + field.name + '=' + encodeURI(field.checked ? "true" : "false");
			} else if (field.type == "radio") {
				if (field.checked) content += '&' + field.name + '=' + encodeURI(field.value);
			} else if (field.type == "submit") {
				continue;
			} else {
				content += '&' + field.name + '=' + encodeURI(field.value);
			}
		}

		xml.setRequestHeader("Content-Length", content.length);
		xml.onreadystatechange = function(e) {
			if (typeof(e) == "undefined") return;
			if (e != null || e.status != null)
				if (e.status == 4 && e.result == 200)
					alert(xml.responseText);
		};
		try {
			xml.send(content);
            // Execute the request
			document.body.style.cursor = 'auto';
			alert(xml.responseText);
		} catch (e) {
			return true;
		}
	}

	return true;
};
