var req = false;
if (window.XMLHttpRequest) {
	req = new XMLHttpRequest();
} else {
	if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
}


addLoadEvent(function () {
	if (document.forms.newsletter)
	{
		var nwsltr = document.forms.newsletter;
		nwsltr.onsubmit = function () {
			doRequest('mailing_list/add.php?e=' + encodeURI(nwsltr.e.value), '', function () {
				if (req.readyState == 4 && req.status == 200)
				{
					var el = document.getElementById("newsMsg");
					if (!el)
					{
						el = document.createElement("div");
						el.id = "newsMsg";
						if (nwsltr.nextSibling) nwsltr.parentNode.insertBefore(el, nwsltr.nextSibling);
						else nwsltr.parentNode.appendChild(el);
					}
					el.innerHTML = req.responseText;
				}
			});
			return false;
		};
	}
});

//Thanks Simon Willison
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

function doRequest (url, data, rsChgFunc) {
	req.open("POST", url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", data.length);
	req.setRequestHeader("Connection", "close");
	req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	req.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	req.setRequestHeader("Pragma", "no-cache");
	req.onreadystatechange = rsChgFunc;
	req.send(data);
}