

/*******************************************************************************************/
//créé l'instance pour Ajax
function newXMLHttpRequest() {
	var xhr_object = null; 
	
	if(window.XMLHttpRequest) // Firefox 
	   xhr_object = new XMLHttpRequest(); 
	else if(window.ActiveXObject) // Internet Explorer 
	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	   return;
   } 

     //Créé le connecteur Ajax ncessaire selon le navigateur
     //Cr le connecteur Ajax ncessaire selon le navigateur
     /*try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
     try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
     try { return new XMLHttpRequest(); } catch(e) {}
     alert("XMLHttpRequest non support");
     return null;*/
    return xhr_object;
}


/*******************************************************************************************/
//Charge le résultat de la page appelée par l'url et l'affiche dans le DIV demandé
function AjaxDivRequest(url, div, fid){
     //Version asynchrone
     //url = url appelé
     //div = le résultat de l'url appelée est affiché dans div
     //fid = le focus est mis sur l'élément fid si il est défini

     var stop = 1;
     setTimeout(function(){ if(stop){ $(div).innerHTML= '<div style="height:100px; padding-top:40px;"><img src="/img/patienter.gif" /></div>';} },1200);

     var xhr = newXMLHttpRequest();

     xhr.onreadystatechange = function ( ){
          if(xhr.readyState == 4){ // Requête terminée
               stop = 0;
               if (xhr.status == 200){
                    //alert(xhr.responseText);

                    if($(div)) {

                       $(div).innerHTML = xhr.responseText;
                    }
                  /* if(typeof(fid)!='undefined'){
                         if(navigator.appName == "Microsoft Internet Explorer") setTimeout(function(){$(fid).focus();},50);
                         else $(fid).focus();
                    }
                    */

               }
               else{ //alert("Problème de réception de la requête Ajax:"+xhr.status);
               }
          }
     }

     xhr.open("GET", url, true);
     //xhr.setRequestHeader("Content-type", "charset=iso-8859-15");
     if(typeof(fid)!='undefined'){
         if(navigator.appName != "Microsoft Internet Explorer") {
         // xhr.overrideMimeType('text/html; charset=ISO-8859-15');
        }
    }
     xhr.send(null);
}

/*******************************************************************************************/
//Charge le résultat de la page appelée par l'url et l'affiche dans le DIV demandé *** BUGGé ***
function AjaxDivRequestSynchrone(url, div, fid){
     //Version synchrone
     var xhr = newXMLHttpRequest();
     xhr.open("GET", url, false);
     xhr.send(null);
     if(xhr.readyState == 4){ // Requête terminée
          if (xhr.status != 200){
               //alert("Problème de réception de la requête Ajax:"+xhr.status);
               return 0;
          }
          else{
               $(div).innerHTML = xhr.responseText;
               if(typeof(fid)!='undefined') $(fid).focus();
          }
     }
}

/*******************************************************************************************/
//Charge le résultat de la page appelée par l'url et l'affiche dans le DIV demandé
//Puis rappel la dernière fonction de navigation pour rafraichissement
function AjaxDivRequestLastFunction(url, div){
     var xhr = newXMLHttpRequest();
     xhr.onreadystatechange = function ( ){
          if(xhr.readyState == 4){ // Requte termine
               if (xhr.status == 200){
                    //alert(xhr.responseText);
                    $(div).innerHTML = xhr.responseText;
                    lastFunction();
               }
               else{
                    //alert("Problème de réception de la requête Ajax:"+xhr.status);
               }
          }
     }
     xhr.open("GET", url, true);
     xhr.setRequestHeader("Content-type", "charset=iso-8859-15");
     //xhr.overrideMimeType('text/html; charset=ISO-8859-15');
     xhr.send(null);
}

/*******************************************************************************************/
//Charge le résultat de la page appelée par l'url et l'affiche dans le DIV demandé
//Puis éxécute la commande fct
function AjaxDivRequestExecuteCmd(url, div, fct){
     $(div).innerHTML= '<img src="/img/patienter.gif">';
     var xhr = newXMLHttpRequest();
     xhr.onreadystatechange = function ( ){
          if(xhr.readyState == 4){
               if (xhr.status == 200){
                    //alert(xhr.responseText);
                    $(div).innerHTML = xhr.responseText;
                    eval(fct);
               }
               else{
                    //alert("Problème de réception de la requête Ajax:"+xhr.status);
               }
          }
     }
     xhr.open("GET", url, true);
     //xhr.overrideMimeType('text/html; charset=ISO-8859-15');
     xhr.send(null);
}

/*******************************************************************************************/
//Charge le résultat de la page appelée par l'url et revoie les données affichées par php
function AjaxRequestSynchroneReturnResult(url){
     //alert(url);
     var xhr = newXMLHttpRequest();
     xhr.open("GET", url, false);
     xhr.send(null);
     if(xhr.readyState == 4){ // Requte termine
          if (xhr.status == 200){
               return xhr.responseText;
          }
          else{
               //alert("Problème de réception de la requête Ajax:"+xhr.status);
          }
     }
}

/*******************************************************************************************/
//Charge le résultat de la page appelée par l'url et l'affiche dans le DIV demandé
//Puis éxécute la commande fct
//VERSION SYNCHRONE
function AjaxDivRequestExecuteCmdSynchrone(url, div, fct){
     var xhr = newXMLHttpRequest();
     xhr.open("GET", url, false);
     xhr.send(null);
     if(xhr.readyState == 4){ // Requte termine
          if (xhr.status == 200){
               $(div).innerHTML = xhr.responseText;
               eval(fct);
          }
          else{
               //alert("Problème de réception de la requête Ajax:"+xhr.status);
          }
     }
}

/*******************************************************************************************/
//Charge le résultat de la page appelée par l'url
//Puis éxécute le retour de la page PHP
function AjaxRequestExecuteReturn(url){
     var xhr = newXMLHttpRequest();
     xhr.onreadystatechange = function ( ){
          if(xhr.readyState == 4){ // Requête termine
               if (xhr.status == 200){
                    //alert(xhr.responseText);
                    eval(xhr.responseText);
               }
               else{
                    //alert("Problème de réception de la requête Ajax:"+xhr.status);
               }
          }
     }
     xhr.open("GET", url, true);
     //xhr.overrideMimeType('text/html; charset=ISO-8859-15');
     xhr.send(null);
}

/*******************************************************************************************/
//Exécute la page et renvoye le résultat sour forme de texte
function AjaxRequest(url){
     //Exécute la page sans renvoyer de résultat
     var xhr = newXMLHttpRequest();
     xhr.open("GET", url, false);
     xhr.send(null);
     if(xhr.readyState == 4){ // Requête terminée
          if (xhr.status != 200){
               //alert("Problème de réception de la requête Ajax:"+xhr.status);
               return 0;
          }
          else {
               //alert(url+'***'+xhr.responseText);
               return xhr.responseText;
          }
     }
}

/*******************************************************************************************/
//Exécute la page et renvoye le résultat sour forme de texte
//Puis rappel la dernière fonction de navigation pour rafraichissement
function AjaxRequestLastFunction(url){

     var xhr = newXMLHttpRequest();
     xhr.open("GET", url, false);
     xhr.send(null);
     if(xhr.readyState == 4){ // Requête terminée
          if (xhr.status != 200){
               //alert("Problème de réception de la requête Ajax:"+xhr.status);
               return 0;
          }
          else{
               //alert(xhr.responseText);
               return xhr.responseText;
               lastFunction();
          }
     }
}



