// Mise à jour des listes via XMLHttpRequest

function InitRequete() {
    var xhr;
            
    if(window.XMLHttpRequest) 
        xhr=new XMLHttpRequest();
      else
        if(window.ActiveXObject){
            try {
                xhr=new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
              try{
                  xhr=new ActiveXObject("Msxml2.XMLHTTP");
              } catch(e2) {
                try {
                    xhr=new ActiveXObject("Msxml2.XMLHTTP.4.0");
                } catch(e3){
                    xhr=null;
                }
              }
            }
        }

    if (!xhr) {
        alert("Votre navigateur ne supporte pas les objets XMLHTTP...");
        return ;
    }

    return xhr ;
}

// echappe les caractère spéciaux
function escapeURI(La){
  if(encodeURIComponent) {
    return encodeURIComponent(La);
  }
  if(escape) {
    return escape(La)
  }
}

function Decode(str) {
      return unescape(str); 
}

function nbexecfunc(fonction,essais,delai) {
    try {
        if(typeof(fonction) == "function") {
            if(fonction())
                return true;
        }
    }
    catch(e) {
    }
    if(essais > 0) {
        setTimeout("nbexecfunc(" + fonction + ", " + essais-- + ", " + delai * 5 + ")", delai);
    }
    return false;
}

function execfunc(fonction,delai) {
    if(typeof(fonction) != "function") return false ;
    eval(fonction) ;
    setTimeout("execfunc(" + fonction + "," + delai + ")", delai);
//    return false;
    return;
}

function refresh_adtag(divname) {
    div = document.getElementById(divname);
    div.innerHTML = div.innerHTML;
}

function getHTMLData(d) {
    d = document.getElementById(d);
    return (d? d.innerHTML : '');
}

function setHTMLData(d, html) {
    d = document.getElementById(d);
    if(d) d.innerHTML = html;
}

function delHTMLCommentTags(dat) {
    return(dat.replace(/(\<!--|--\>)/gi,''));
}

function stringCutter(str, maxi) {
    return (str.length > maxi ? str.substr(0, maxi-1) + '.' : str);
}

function maxTextarea(obj, maxi) {
    if(obj.value.length > maxi) obj.value = obj.value.substr(0, maxi);
}


function Requete(methode, lien, data, nom_div, type_envoi, idjavarx) {
    var retour ;
    var reqq = InitRequete();
    var up_methode = methode.toUpperCase() ;
    var url = lien ;
    data = data + "&idjavarx=" + idjavarx ;

    if (up_methode == "GET") {
        url = url + "&" + data ;
        data = null ;
    }
    
    reqq.open(up_methode, url, type_envoi);

    reqq.onreadystatechange = function() {
//        alert("ok");
        if (reqq.readyState != 4) return ;
        if ((reqq.readyState == 4) && (reqq.status == 200)) {
            window.status = "" ;
            document.getElementById(nom_div).innerHTML = reqq.responseText ;
//            alert(reqq.responseText);
          } else {
            window.status = "en attente des éléments ..." ;
        }
    }

    if (up_methode == "POST") {
        reqq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    }
    reqq.send(data);

}


function Requete_Func(methode, lien, data, nom_div, type_envoi, idjavarx, callback) {
    var reqq = InitRequete();
    var up_methode = methode.toUpperCase() ;
    var url = lien ;
    data = data + "&idjavarx=" + idjavarx ;

    if (up_methode == "GET") {
        url = url + "&" + data ;
        data = null ;
    }
    
    reqq.open(up_methode, url, type_envoi);

    reqq.onreadystatechange = function() {
        if (reqq.readyState != 4) return ;
        if ((reqq.readyState == 4) && (reqq.status == 200)) {
            window.status = "" ;
            if ( callback != undefined && typeof callback == 'function'){
                callback(reqq.responseText);
            }
          } else {
            window.status = "en attente des éléments ..." ;
        }
    }

    if (up_methode == "POST") 
        reqq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    reqq.send(data);

}
