function getXhr() {

    var xhr = null;

    if(window.XMLHttpRequest) {

        // Firefox et autres
        xhr = new XMLHttpRequest();

    } else if (window.ActiveXObject) {

        // Internet Explorer
        try {
            xhr = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
    } else { // XMLHttpRequest non supporté par le navigateur
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
        xhr = false;
    }
    return xhr;
}



function envoiMail() {

	// Etape 1 : récupération des champs du formulaire
	var email = document.getElementById("email").value;

	// Etape 2 : test de l'email
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if (reg.test(email) == false) {

		// En cas d'erreur, affichage d'un message et vibration
		document.getElementById('sent').style.visibility = 'hidden';
		document.getElementById('error').style.visibility = 'visible';
		jQuery('#subForm').vibrate();

	} else {

		// Le formulaire est correctement rempli, on peut enovyer le mail
		var xhr = getXhr();

		xhr.onreadystatechange = function() {

				// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
				if (xhr.readyState == 4 && xhr.status == 200) {

						var reponse = xhr.responseText;

						// On affiche le message pour annoncer que le mail a bien été envoyé
						document.getElementById('error').style.visibility = 'hidden';
						document.getElementById('sent').style.visibility = 'visible';

						// On vide les champs du formulaire
						document.getElementById("email").value = '';
				}
		}

		// Appel du script php d'envoi du mail en arriere plan
		xhr.open("POST", "ajax_mail.php", true);

		// On y joint les champs du formulaire
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

		var post = '';
		post += "email=" + email;

		xhr.send(post);

	}
}


