/*
* Fichier regroupant les principales fonction javascript nécessaire pour la communication AJAX.
*
*
*
*
*
*
*
*
*/

/*
* Fonction permettant d'écrire dans un div du code html.
*
*
*/
function writit(text,id)
{
   if (document.getElementById)
   {
      x = document.getElementById(id);
      if(x) {
        x.innerHTML = '';
        x.innerHTML = text;
      }
   }
   else if (document.all)
   {
      x = document.all[id];
      if(x)
        x.innerHTML = text;
   }
   else if (document.layers)
   {
      x = document.layers[id];
      if(x) {
        text2 = '<p>' + text + '</p>';
        x.document.open();
        x.document.write(text2);
        x.document.close();
      }
   }
}

/*
* Fonction d'ajouter dans un div du code html.
*
*
*/
function addit(text,id)
{
   if (document.getElementById)
   {
      x = document.getElementById(id);
      if(x)
        x.innerHTML = x.innerHTML + text;
   }
   else if (document.all)
   {
      x = document.all[id];
      if(x)
        x.innerHTML = x.innerHTML + text;
   }
   else if (document.layers)
   {
      x = document.layers[id];
      if(x) {
          text2 = '<p>' + text + '</p>';
          x.document.open();
          x.document.write(text2);
          x.document.close();
      }
   }
}


// Compteur de commande envoyé à l'API.
var commandeSend = 0;
var buffer = Array();

/*
* Fonction permettant d'envoyer une requête à l'API.
*
*
*
*/

function sendRequest(address, text_request) {
    
    if(commandeSend < 20) {
        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...");
        }
            
        xhr_object.onreadystatechange = function() {
            if(xhr_object.readyState == 4) {
                eval(xhr_object.responseText);
                commandeSend--;
            }
        }
            
        xhr_object.open("POST", address, true);
        xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xhr_object.send(text_request);
        commandeSend++;
    } else {
        // On renvoit la même commande 2 secondes plus tard.
        setTimeout("sendRequest('"+address+"', '"+text_request+"');", 2000);
    }
}