/*------------------------------------------------------------------------------ 

Librairie générique pour l'implémentation de AJAX
AJAX est une implémentation de la norme W3C qui fonctionne en Javascript / XML

Dernière mise à jour : 05 juin 2006

en entrée :  
@param : box_id est un calque : document.getElementById("nomducalque")
@param : url est la page qui contient les données transmises sous forme de flux XML

en sortie :
le résultat apparait à l'intérieur du calque

-------------------------------------------------------------------------------*/



//---------------------------
//
// Retourne un objet XML_HTTP
//
//---------------------------

function getHTTPObject(box_id)

{

  var xmlhttp = false;

  /* Compilation conditionnelle d'IE */

  /*@cc_on

  @if (@_jscript_version >= 5)

     try

     {

        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

     }

     catch (e)

     {

        try

        {

           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

        }

        catch (E)

        {

           xmlhttp = false;

        }

     }

  @else

     xmlhttp = false;

  @end @*/



  /* on essaie de créer l'objet si ce n'est pas déjà fait */

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined')

  {

     try

     {

        xmlhttp = new XMLHttpRequest();

     }

     catch (e)

     {

        xmlhttp = false;

     }

  }



  if (xmlhttp)

  {

     /* on définit ce qui doit se passer quand la page répondra */

     xmlhttp.onreadystatechange=function()

     {

        if (xmlhttp.readyState == 4) /* 4 : état "complete" */

        {

           if (xmlhttp.status == 200) /* 200 : code HTTP pour OK */

           {

              /* Traitement de la réponse. */
			
              box_id.innerHTML = "";
              //xmlhttp.setRequestHeader("Content-type","text/html; charset=utf-8")  
              box_id.innerHTML = xmlhttp.responseText;
              //alert(xmlhttp.responseText);

           }

        }

     }

  }

  return xmlhttp;

}

//------------------------------------------
//
// Affiche les infos selon l'url dans box_id
//
//------------------------------------------

function vd_get_data(str_methode,str_url,str_params,obj_box_id) 
{
// alert('vd_get_data......... str_url : '+str_url);
  /* Création de l'objet : */
  var xmlhttp = getHTTPObject(obj_box_id); 
  /* Effectue la requête : */
  if (str_methode == "GET")
  {  
    /* Préparation d'une requête asynchrone de type GET : */
    xmlhttp.open(str_methode, str_url + "?" + str_params,true); 
    xmlhttp.send(null); 
  }
  else
  {
/* Préparation d'une requête asynchrone de type POST : */
   xmlhttp.open(str_methode, str_url, true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send(str_params);
  }
}


