function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var httpsub = createRequestObject();;


function subscribe(email,type){

	if (validateEmailv2(email)) {

		httpsub.open('get', '/subscribe.php?email=' + email);
		httpsub.onreadystatechange = handleSubscribeResponse;
		httpsub.send(null);
	} else {
		
		document.forms['subscribe_form'].email.value = 'Invalid Email';
	}
}

function handleSubscribeResponse() {
     if(httpsub.readyState == 4){
        var response = httpsub.responseText;
        var update = new Array();

	if (response == 1) 
		document.forms['subscribe_form'].email.value = 'Thank You!!!';
	else if (response == 2) 
		document.forms['subscribe_form'].email.value = 'Duplicate Email';	
	else 
		document.forms['subscribe_form'].email.value = 'Error Subscribing';
    }
}

function validateEmailv2(email)
{
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
    if(email.length <= 5)
	{
	  return false;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}
