// charge les informations de la page en AJAX
function ajaxLoadInfos(jour)
{
  //alert('ajaxLoadIndex');
  //alert(url2006UsaLoadIndex);
  var strURL = url2006UsaLoadIndex;
  //alert(jour);
  if (jour == null)
  {
    var strQueryString = window.location.href;
    var i = strQueryString.lastIndexOf('jour=');
    if (i > 0)
      strURL += '?jour=' + strQueryString.substr(i + 5);
  }
  else
  {
    strURL += '?jour=' + jour;
  }

  //alert(strURL);
  var xhr = getXHR();
  xhr.onreadystatechange = function() { ajaxDisplayInfos(xhr); };
  xhr.open('GET', strURL, true);
  xhr.send(null);
}

function ajaxDisplayInfos(xhr)
{
  //alert('ajaxDisplayInfos');
  if(xhr.readyState == 4 && xhr.status == 200) // le serveur est disponible && la lecture du fichier XML a bien été effectuée
  {
    var docXML = xhr.responseXML.documentElement;
    var items = docXML.childNodes;

    //alert(items.length);
    if (items.length == 9)
    {
      // Suppression des noeuds exsitants
      var td = document.getElementById('jours');
      while (td.childNodes.length > 0)
        td.removeChild(td.firstChild);

      var dateFirst = Date.parseDate(items.item(0).firstChild.nodeValue, 'Y-m-d H:i:s');
      var dateLast = Date.parseDate(items.item(1).firstChild.nodeValue, 'Y-m-d H:i:s');
      var dateCurrent = Date.parseDate(items.item(2).firstChild.nodeValue, 'Y-m-d H:i:s');

      // Détermination de la date courante calculée
      var dateCurrentCalc = dateCurrent;
      if (dateCurrentCalc < dateFirst)
        dateCurrentCalc = dateFirst;
      else if (dateCurrentCalc > dateLast)
        dateCurrentCalc = dateLast;

      var iFirstDate = parseInt(items.item(0).firstChild.nodeValue.substring(8, 10));
      var iLastDate = parseInt(items.item(1).firstChild.nodeValue.substring(8, 10));

      var str;
      var a = null;
      var href = null;
      var textNode = null;
      var img = null;
      var src = null;
      var width = null;
      var height = null;
      var src = null;
      var border = null;
      //var class = null;
      var onmouseover = null;
      var onmouseout = null;
      var div = null;

      if (dateCurrentCalc.dateFormat('Y-m-d') == dateFirst.dateFormat('Y-m-d') ||
          dateCurrentCalc.dateFormat('Y-m-d') != dateCurrent.dateFormat('Y-m-d'))
      {
        img = document.createElement('img');
        src = document.createAttribute('src');
        src.nodeValue = 'images/fleche_prec_vide.gif';
        img.setAttributeNode(src);
        width = document.createAttribute('width');
        width.nodeValue = '13';
        img.setAttributeNode(width);
        height = document.createAttribute('height');
        height.nodeValue = '11';
        img.setAttributeNode(height);
        border = document.createAttribute('border');
        border.nodeValue = '0';
        img.setAttributeNode(border);
        td.appendChild(img);
      }
      else
      {
        a = document.createElement('a');
        href = document.createAttribute('href');
        href.nodeValue = 'javascript:onClickPrec(\'' + dateCurrentCalc.dateFormat('Y-m-d') + '\')';
        a.setAttributeNode(href);
        img = document.createElement('img');
        src = document.createAttribute('src');
        src.nodeValue = 'images/fleche_prec.gif';
        img.setAttributeNode(src);
        width = document.createAttribute('width');
        width.nodeValue = '13';
        img.setAttributeNode(width);
        height = document.createAttribute('height');
        height.nodeValue = '11';
        img.setAttributeNode(height);
        border = document.createAttribute('border');
        border.nodeValue = '0';
        img.setAttributeNode(border);
        a.appendChild(img);
        td.appendChild(a);
      }

      textNode = document.createTextNode(' (sept.) ');
      td.appendChild(textNode);

      for (var i = iFirstDate; i < iLastDate; i++)
      {
        if (dateCurrentCalc.getDate() == i)
        {
          textNode = document.createTextNode(i);
          td.appendChild(textNode);
        }
        else
        {
          a = document.createElement('a');
          href = document.createAttribute('href');
          href.nodeValue = 'index.php?jour=' + i;
          a.setAttributeNode(href);
          textNode = document.createTextNode(i);
          a.appendChild(textNode);
          td.appendChild(a);
        }

        textNode = document.createTextNode('-');
        td.appendChild(textNode);
      }

      if (dateCurrentCalc.dateFormat('Y-m-d') == dateLast.dateFormat('Y-m-d') &&
          dateCurrentCalc.dateFormat('Y-m-d') == dateCurrent.dateFormat('Y-m-d'))
      {
        textNode = document.createTextNode(i);
        td.appendChild(textNode);
      }
      else
      {
        a = document.createElement('a');
        href = document.createAttribute('href');
        href.nodeValue = 'index.php?jour=' + i;
        a.setAttributeNode(href);
        textNode = document.createTextNode(i);
        a.appendChild(textNode);
        td.appendChild(a);
      }

      textNode = document.createTextNode(' ');
      td.appendChild(textNode);

      if (dateCurrentCalc.dateFormat('Y-m-d') == dateLast.dateFormat('Y-m-d') ||
          dateCurrentCalc.dateFormat('Y-m-d') != dateCurrent.dateFormat('Y-m-d'))
      {
        img = document.createElement('img');
        src = document.createAttribute('src');
        src.nodeValue = 'images/fleche_suiv_vide.gif';
        img.setAttributeNode(src);
        width = document.createAttribute('width');
        width.nodeValue = '13';
        img.setAttributeNode(width);
        height = document.createAttribute('height');
        height.nodeValue = '11';
        img.setAttributeNode(height);
        border = document.createAttribute('border');
        border.nodeValue = '0';
        img.setAttributeNode(border);
        td.appendChild(img);
      }
      else
      {
        a = document.createElement('a');
        href = document.createAttribute('href');
        href.nodeValue = 'javascript:onClickSuiv(\'' + dateCurrentCalc.dateFormat('Y-m-d') + '\')';
        a.setAttributeNode(href);

        img = document.createElement('img');
        src = document.createAttribute('src');
        src.nodeValue = 'images/fleche_suiv.gif';
        img.setAttributeNode(src);
        width = document.createAttribute('width');
        width.nodeValue = '13';
        img.setAttributeNode(width);
        height = document.createAttribute('height');
        height.nodeValue = '11';
        img.setAttributeNode(height);
        border = document.createAttribute('border');
        border.nodeValue = '0';
        img.setAttributeNode(border);
        a.appendChild(img);
        td.appendChild(a);
      }

      td = document.getElementById('etape_image');
      while (td.childNodes.length > 0)
        td.removeChild(td.firstChild);

      img = document.createElement('img');
      src = document.createAttribute('src');
      if (dateCurrentCalc.dateFormat('Y-m-d') != dateCurrent.dateFormat('Y-m-d'))
      {
        src.nodeValue = 'images/image_etape_25.jpg';
        str = 'return overlib(\'<img src="images/image_etape_25_big.jpg" />\');';
      }
      else
      {
        src.nodeValue = 'images/image_etape_' + dateCurrentCalc.dateFormat('d') + '.jpg';
        str = 'overlib(\'<img src="images/image_etape_' + dateCurrentCalc.dateFormat('d') + '_big.jpg" />\');';
      }
      img.setAttributeNode(src);
      width = document.createAttribute('width');
      width.nodeValue = '140';
      img.setAttributeNode(width);
      height = document.createAttribute('height');
      height.nodeValue = '89';
      img.setAttributeNode(height);
      border = document.createAttribute('border');
      border.nodeValue = '0';
      img.setAttributeNode(border);
      onmouseover = document.createAttribute('onmouseover');
      onmouseover.nodeValue = str;
      img.setAttributeNode(onmouseover);
      onmouseout = document.createAttribute('onmouseout');
      onmouseout.nodeValue = 'return nd();';
      img.setAttributeNode(onmouseout);
      td.appendChild(img);

      td = document.getElementById('titre_resume');
      td.innerHTML = items.item(3).firstChild.nodeValue;

      td = document.getElementById('resume');
      td.innerHTML = items.item(4).firstChild.nodeValue;

      str = '<b>DERNIER EXTRAIT DU CARNET DE ROUTE</b><br/>';
      str += items.item(5).firstChild.nodeValue;
      str += '...</span><span class="texte_petit_noir"><br/><br/><b>>> <a href="etape.php?jour=';
      str += dateCurrentCalc.getDate();
      str += '"&affichcarte=no&affichvideo=no">lire le résumé complet</a> | <a href="carnet.php">accès au carnet de route</a> <<</b></span>';

      td = document.getElementById('carnet');
      td.innerHTML = str;

      img = document.getElementById('trajet');
      img.src = items.item(6).firstChild.nodeValue;

      div = document.getElementById('voiture');
      if (items.item(7).firstChild != null && items.item(8).firstChild != null)
      {
        div.style.display = 'block';
        div.style.left = items.item(7).firstChild.nodeValue + 'px';
        div.style.top = items.item(8).firstChild.nodeValue + 'px';
      }
      else
      {
        div.style.display = 'none';
      }
    }
  }
  else
  {
    var td = document.getElementById('jours');
    while (td.childNodes.length > 0)
      td.removeChild(td.firstChild);

    td = document.getElementById('titre_resume');
    td.innerHTML = '';

    td = document.getElementById('resume');
    td.innerHTML = '';

    td = document.getElementById('carnet');
    td.innerHTML = '';

    img = document.getElementById('trajet');
    img.src = 'images.trajet_initial.png';

    div = document.getElementById('voiture');
    div.style.display = 'none';
  }
}

function onClickPrec(str)
{
  var date_prec = Date.parseDate(str, 'Y-m-d');
  var jour = date_prec.getDate();
  if (jour > 1 && jour <= 24)
    jour = jour - 1;
  else
    jour = null;

  ajaxLoadInfos(jour);
}

function onClickSuiv(str)
{
  var date_suiv = Date.parseDate(str, 'Y-m-d');
  var jour = date_suiv.getDate();
  if (jour >= 1 && jour < 24)
    jour = jour + 1;
  else
    jour = null;

  ajaxLoadInfos(jour);
}

