function buildHttpRequest()
{
  var http_request = false;
  if (window.XMLHttpRequest) // Mozilla, Safari,...
  {
    http_request = new XMLHttpRequest();
  } 
  else if (window.ActiveXObject) // IE
  {
    try
    {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e)
    {
      try
      {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  return http_request;
}

// Asynchrone
function sendRequestCB(szURL_p,szParams_p, fCallBack_p, obCallBackParam_p)
{
  setBusy();
  var hr = buildHttpRequest();
  hr.onreadystatechange = function() { if(hr.readyState == 4) { if(hr.status == 200) { fCallBack_p(hr,obCallBackParam_p); setReady(); hr = null; }
                                       else { hr = null; setError(); sendRequestCB (szURL_p,szParams_p,fCallBack_p, obCallBackParam_p);}}};
  hr.open('POST', szURL_p, true);
  hr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  hr.send(szParams_p);
}

function sendRequest(szURL_p,szParams_p)
{
  setBusy();
  var hr = buildHttpRequest();
  hr.onreadystatechange = function() { if(hr.readyState == 4) { setReady(); hr = null; }};
  hr.open('POST', szURL_p, true);
  hr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  hr.send(szParams_p);
}

// Synchrone
function xmlRequest(szURL_p,szParams_p)
{
  var xmlDoc = null;
  var hr = buildHttpRequest();
  hr.open('POST', szURL_p, false);
  hr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  hr.send(szParams_p);
  if(hr.status != 200)
  {   
    alert("Erreur AJAX");
  }
  else
  {
    xmlDoc = hr.responseXML;
  }
  hr=null;
  return xmlDoc;
}

function autoFillCB(hr_p)
{
  var arNodes=hr_p.responseXML.getElementsByTagName('X');
  for(var i=0;i<arNodes.length;i++)
  {
    var elt=document.getElementById(arNodes[i].getAttribute('I'));
    if(elt)
    {
      elt.innerHTML = arNodes[i].getAttribute('V');
      var c = arNodes[i].getAttribute('C');
      if(c!=null)
      {
        elt.className = c;
      }
    }
  }
}

function autoFillNewsCB(hr_p)
{
  var elt=document.getElementById(hr_p.responseXML.documentElement.getAttribute('I'));
  if(elt)
  {
    elt.innerHTML = '';
    elt.className = hr_p.responseXML.documentElement.getAttribute('C');
    
    var arNodes=hr_p.responseXML.getElementsByTagName('N');
    for(var i=0;i<arNodes.length;i++)
    {
      var szImgUrl = arNodes[i].getAttribute('I');
      if(szImgUrl==null)
      {
        szImgUrl='Images/puce.gif';
      }
      
      var img = document.createElement('IMG');
      img.src = szImgUrl;
      img.height = 10;
      elt.appendChild(img);
      elt.appendChild(document.createTextNode(' '));
      var a = document.createElement('A');
      a.target = '_blank';
      a.href = 'redirect.php?'+escape(arNodes[i].getAttribute('L'));
      a.onmouseover = "return escape('<table border=0 cellpadding=0 cellspacing=0><tr><td><img src=\\'"+szImgUrl+"\\' height=40></td><td><font size=1>Source: "+arNodes[i].getAttribute('S')+"<br/><i>"+arNodes[i].getAttribute('R')+"</i><br/>Publié le "+arNodes[i].getAttribute('D')+"</font></td></tr></table>')";
      var at = document.createElement('SPAN');
      at.innerHTML = arNodes[i].getAttribute('T');
      a.appendChild(at);
      elt.appendChild(a);
      elt.appendChild(document.createElement('BR'));
    }
  }
}

function setBusy()
{
}

function setReady()
{
}

function setError()
{
}
