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 nom 			 = document.getElementsByName("nom")[0].value;
	var prenom 		 = document.getElementsByName("prenom")[0].value;
	var telephone  = document.getElementsByName("telephone")[0].value;
	var mail 			 = document.getElementsByName("mail")[0].value;
 	var sujet 		 = document.getElementsByName("sujet")[0].options[document.getElementsByName("sujet")[0].selectedIndex].text
	var txtmessage = document.getElementsByName("txtmessage")[0].value;

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

	if (nom == '') {
		erreur = "Vous devez saisir votre nom";
	} else if (prenom == '') {
		erreur = "Vous devez saisir votre prénom";
	} else if (mail == '') {
		erreur = "Vous devez saisir votre adresse e-mail";
	} else if (reg.test(mail) == false) {
		erreur = "Le format de votre email est incorrect";
	} else if (txtmessage == '') {
		erreur = "Vous devez saisir un message";
	}

	if (erreur != '') {

		// En cas d'erreur, popu et fin du script
		alert(erreur);

	} 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 éé envoyé
						document.getElementById('reponse_mail').style.visibility = 'visible';

						// On vide les champs du formulaire
						document.getElementsByName("nom")[0].value = '';
						document.getElementsByName("prenom")[0].value = '';
						document.getElementsByName("telephone")[0].value = '';
						document.getElementsByName("mail")[0].value = '';
						document.getElementsByName("sujet")[0].selectedIndex = 0;
						document.getElementsByName("txtmessage")[0].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 += "nom=" + nom;
		post += "&prenom=" + prenom;
		post += "&telephone=" + telephone;
		post += "&mail=" + mail;
		post += "&sujet=" + sujet;
		post += "&txtmessage=" + txtmessage;

		xhr.send(post);

	}
}

