/***** Contact Form Ajax Functions */
function displayStatus(string) {
	var reqDisplay = document.getElementById("reqDisplay");
	reqDisplay.innerHTML = "<p>" + string + "</p>";
}

function createXMLHttpRequest() {
	var req = null;
	
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		if (req.overrideMimeType) {
			req.overrideMimeType("text/xml");
		}
	} else if (window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	if (!req) {
		displayStatus("<b>Cannot create an XMLHTTP instance.</b> Please try emailing us at <a href='mailto:info@swaykatz.com'>info@swaykatz.com</a>.");
		return false;
	}
	
	return req;
}

function makeMailRequest() {
	// Get form values
	var form = document.getElementById("contact");
	var name = form.name.value;
	var email = form.email.value;
	var message = form.message.value;
	
	var req = createXMLHttpRequest();
	
	req.onreadystatechange = function() { handleChange(req); };
	
	req.open("POST", "lib/mail.php", true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	// Escape bad characters
	function escapeBadChars(str) {
		str = str.replace(/&/g, "%26amp;");
		str = str.replace(/</g, "%26lt;");
		str = str.replace(/>/g, "%26gt;");
		str = str.replace(/\n/g, "<br />");
		return str;
	}
	name = escapeBadChars(name);
	message = escapeBadChars(message);
	
	req.send("name=" + name + "&email=" + email + "&message=" + message);
	
	return false;
}

function handleChange(req) {
	if (req.readyState == 4) {
		if (req.status == 200) {
			displayStatus(req.responseText);
		} else {
			displayStatus("<b>Error " + req.status + "</b> while processing request.");
		}
	} else {
		displayStatus("<div class='loading'>sending</div>");
	}
}
