// Gestion de l'envoi du mail par Ajax
var msg_Ajax_Traitment = "please, wait";
var msg_Error_Ajax = "Erreur Ajax :";
var msg_Error_Ajax_RequestException = " - La requête Ajax ne s'est pas terminée correctement."
var msg_Error_Ajax_CreationException = " - Impossible de créer l'objet 'HttpRequest'.";
var oHTTPRequest = false;
	
function ajax_send_Message(url){
	
	// Si validation du  formulaire est incorrecte, on arrête l'envoi 
	if (!valid_Form()){return false;}
	ges_Ajax_infosbox(msg_Ajax_Traitment);


	// Sinon construction requête Ajax
	var s_Post_Parameters = "mail_Subject=" + document.getElementById("mail_Subject").value  +
							"&mail_Message=" + document.getElementById("mail_Message").value  +
							"&email_Sender=" + document.getElementById("email_Sender").value;

						
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
        oHTTPRequest = new XMLHttpRequest();
        if (oHTTPRequest.overrideMimeType) {
            oHTTPRequest.overrideMimeType('text/html');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            oHTTPRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
               oHTTPRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
	
    if (!oHTTPRequest) {
		ges_Ajax_infosbox("");
		ges_msg(msg_Error_Ajax + "\n\n" + msg_Error_Ajax_CreationException);
        return false;
    }

    oHTTPRequest.onreadystatechange = test_RequestState;
/*
	oHTTPRequest.open("GET", url + "?" + s_Post_Parameters, true);
	oHTTPRequest.send(null);
*/

    oHTTPRequest.open("POST", url, true);
    oHTTPRequest.setRequestHeader("Content-length", s_Post_Parameters.length);
    oHTTPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    oHTTPRequest.setRequestHeader("Connection", "close");
    oHTTPRequest.send(s_Post_Parameters);

}

function test_RequestState() {
	if (oHTTPRequest.readyState == 4) {
		if (oHTTPRequest.status == 200) {
			var sReturn = oHTTPRequest.responseText;
			if (trim(sReturn).length > 0){
				ges_Ajax_infosbox("");
				ges_msg(sReturn);
			} else {
				ges_Ajax_infosbox("");
				ges_msg(msg_Ok);
			}			
		} else {
			ges_Ajax_infosbox("");
			ges_msg(msg_Error_Ajax + " Status = " +oHTTPRequest.status + "\n\n" + msg_Error_Ajax_RequestException );
		}
	}
}

// Traitement Ajax infosbox
function ges_Ajax_infosbox(msg){
	if (msg.length > 0){
		document.getElementById('infosbox_Content').innerText = msg;
		document.getElementById("Ajax_infosbox").style.display = 'block';
	} else {
		document.getElementById('infosbox_Content').innerText = "";
		document.getElementById("Ajax_infosbox").style.display = 'none';
	}
}
