var objXMLHttp

function subscribe(str) {
var regEx = /^[\w\.\+-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,6}$/;
if (!regEx.test(str)) {
document.getElementById('nlmsg').innerHTML = 'Invalid email';
alert('Invalid email!');
return false;
}

objXMLHttp=createXmlHttpObject()

if (objXMLHttp==null) {
alert ('Your browser does not support the XMLHttpRequest object!');
return;
}

var url='dosubscribe.lasso?email=' + str;
objXMLHttp.onreadystatechange = stateChanged;
objXMLHttp.open('GET',url,true); // GET method
objXMLHttp.send(null); // always use null for GET method
}

function createXmlHttpObject() {
var req = null;
try {
req = new XMLHttpRequest(); //ie7, ff, safari
}
catch (e) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP"); //later ie
}
catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP") // earlier ie
}
catch (e) {
// could not create XMLHttpRequest object
return false;
}
}
}
return req;
}

function stateChanged()
{
if (objXMLHttp.readyState == 0){
document.getElementById("nlmsg").innerHTML = "Processing..."; //uninitialized
}
else if(objXMLHttp.readyState == 1){
document.getElementById("nlmsg").innerHTML = "Processing..."; //loading
}
else if(objXMLHttp.readyState == 2){
document.getElementById("nlmsg").innerHTML = "Processing..."; //loaded
}
else if(objXMLHttp.readyState == 3){
document.getElementById("nlmsg").innerHTML = "Processing..."; //interactive
}
else if (objXMLHttp.readyState == 4 || objXMLHttp.readyState == "complete") {
document.getElementById("nlmsg").innerHTML=objXMLHttp.responseText // completed
}
}