
var httpsub = createRequestObject();

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

function subscribe(email, first_name, last_name){

	if (!validateEmailv2(email)) {
		document.getElementById('email').style.color = "#b5121b";
		document.getElementById('email').style.fontWeight = "bold";

		document.forms['subscribe_form'].email.value = 'Cet email n\'est pas correct';
	} else if (first_name == "") {
        alert('Merci de remplir tous les champs.');
    } else if (last_name == "") {
        alert('Merci de remplir tous les champs.');
    } else {
		document.getElementById('email').style.color = "#000000";
	    document.getElementById('email').style.fontWeight = "normal";

httpsub.open('get', '/subscribe.php?email=' + escape(email) + '&first_name=' + escape(first_name) + '&last_name=' + escape(last_name));
		httpsub.onreadystatechange = handleSubscribeResponse;
		httpsub.send(null);
	}
}

function handleSubscribeResponse() {
     if(httpsub.readyState == 4){
        var response = httpsub.responseText;

		if (response == 1) {
			//document.forms['subscribe_form'].email.value = 'Champ rempli correctement.';
			//document.forms['subscribe_form'].first_name.value = 'Champ rempli correctement.';
			//document.forms['subscribe_form'].last_name.value = 'Champ rempli correctement.';
			document.getElementById('email').style.color = "#000000";
	        document.getElementById('email').style.fontWeight = "normal";

            alert('Merci. Vous êtes maintenant inscrit à notre Newsletter.');
		} else if (response == 2) {
			document.getElementById('email').style.color = "#b5121b";
		    document.getElementById('email').style.fontWeight = "bold";

			document.forms['subscribe_form'].email.value = 'Cet email est déjà abonné';
		} else  {
			document.getElementById('email').style.color = "#b5121b";
		    document.getElementById('email').style.fontWeight = "bold";

			document.forms['subscribe_form'].email.value = 'Une erreur s\'est produite';
		}
    }
}

function subscribe_submit() {
	if (document.forms['subscribe_form'].email.value !='' && document.forms['subscribe_form'].first_name.value != '' && document.forms['subscribe_form'].last_name.value != '') {
		subscribe(document.forms['subscribe_form'].email.value,document.forms['subscribe_form'].first_name.value,document.forms['subscribe_form'].last_name.value);
		return false;
	} else alert('Merci de remplir tous les champs.');
}

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;
}
