var reference = false; var client = false; var titre = false; var bandeau = false; var data = ''; var timerID = 0; var i = 0; var requeteReferenceFini = false; var enchaineFini = true; var titreFini = true; function Requete() { this.xmlhttp = false; this.getHTTPObject = function() { /* Compilation conditionnelle d'IE */ /*@cc_on @if (@_jscript_version >= 5) try { this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { this.xmlhttp = false; } } @else this.xmlhttp = false; @end @*/ /* on essaie de créer l'objet si ce n'est pas déjà fait avec IE */ if (!this.xmlhttp && typeof XMLHttpRequest != 'undefined') { try { this.xmlhttp = new XMLHttpRequest(); this.xmlhttp.overrideMimeType('text/html'); } catch (e) { this.xmlhttp = false; } } if (this.xmlhttp) { /* on définit ce qui doit se passer quand la requete répondra */ this.attenteFin(); } } /** * Envoie des données à l'aide d'XmlHttpRequest? * @param string methode d'envoi ['GET'|'POST'] * @param string url * @param string données à envoyer sous la forme var1=value1&var2=value2... */ this.sendData = function(method, url, data ) { this.getHTTPObject(); if (!this.xmlhttp) { return false; } if(method == "GET") { if(data == 'null') { this.xmlhttp.open("GET", maBase+url, true); //ouverture asynchrone //alert("envoi GET " + url); } else { this.xmlhttp.open("GET", maBase+url+"?"+data, true); //alert("envoi GET " + url+"?"+data); } this.xmlhttp.send(null); } else if(method == "POST") { this.xmlhttp.open("POST", maBase+url, true); //ouverture asynchrone //alert("envoi POST " + url); this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); this.xmlhttp.send(data); } return true; } this.resultat = function() { } this.attenteFin = function () { } } RequeteReference.prototype = new Requete(); function RequeteReference() { this.attenteFin = function () { this.xmlhttp.onreadystatechange = function() { if (reference.xmlhttp.readyState == 4) { /* 4 : état "complete" */ //alert(reference.xmlhttp.status); if (reference.xmlhttp.status == 200 || reference.xmlhttp.status == 0) { /* 200 : code HTTP pour OK */ /* Traitement de la réponse */ // reference.resultat();//termine //timerID = setTimeout("traceRequete(data);", 2000); //timerID = 0; requeteReferenceFini = true; } } } } this.resultat = function() { var element = document.getElementById('derniereReference'); element.innerHTML = this.xmlhttp.responseText; insereOnClickReference(); } } RequeteClient.prototype = new Requete(); function RequeteClient() { this.attenteFin = function () { this.xmlhttp.onreadystatechange = function() { if (client.xmlhttp.readyState == 4) { /* 4 : état "complete" */ //alert(reference.xmlhttp.status); if (client.xmlhttp.status == 200 || client.xmlhttp.status == 0) { /* 200 : code HTTP pour OK */ /* Traitement de la réponse */ client.resultat();//termine //timerID = setTimeout("traceRequete(data);", 2000); //timerID = 0; clientFini = true; } } } } this.resultat = function() { var element = document.getElementById('clients'); element.innerHTML = this.xmlhttp.responseText; element.tabIndex=-1; element.focus(); insereOnClickClient(); } } RequeteTitre.prototype = new Requete(); function RequeteTitre(idH1) { this.idH1=idH1; this.attenteFin = function () { this.xmlhttp.onreadystatechange = function() { if (titre.xmlhttp.readyState == 4) { /* 4 : état "complete" */ //alert(reference.xmlhttp.status); if (titre.xmlhttp.status == 200 || titre.xmlhttp.status == 0) { /* 200 : code HTTP pour OK */ /* Traitement de la réponse */ titre.resultat();//termine //timerID = setTimeout("traceRequete(data);", 2000); //timerID = 0; titreFini = true; } } } } this.resultat = function() { var element = document.getElementById(this.idH1); //alert(this.xmlhttp.responseText); element.innerHTML = this.xmlhttp.responseText; element.className="h1SansImage"; var mesImages = element.getElementsByTagName("img"); if(mesImages.length > 0) { monImageTitre = mesImages[0]; enchaineElement('monImageTitre'); } } } RequeteBandeau.prototype = new Requete(); function RequeteBandeau() { this.attenteFin = function () { this.xmlhttp.onreadystatechange = function() { if (bandeau.xmlhttp.readyState == 4) { /* 4 : état "complete" */ //alert(reference.xmlhttp.status); if (bandeau.xmlhttp.status == 200 || bandeau.xmlhttp.status == 0) { /* 200 : code HTTP pour OK */ /* Traitement de la réponse */ bandeau.resultat();//termine //timerID = setTimeout("traceRequete(data);", 2000); //timerID = 0; } } } } this.resultat = function() { var element = document.getElementById('images'); element.innerHTML = this.xmlhttp.responseText; } }