function populate_timings(ordrenaturel)
{

    var depart = $('#depart').val();
    var arrivee = $('#arrivee').val();

    var liste_depart  = [];
    var liste_arrivee = [];
    var html = '';
    if ($('#arrivee option:selected').hasClass('itl-1') && $('#depart option:selected').hasClass('itl-1') )
    {
        html = '<div class="error" style="padding:8px">Les arrêts marqués d\' un astérisque sont frappés d\' une interdiction de transport local (ITL) ;' +
         ' si vous montez à l\'un de ces arrêts, nous n\'avons pas le droit de vous déposer à un autre arrêt marqué d\'une ITL.</div>';
        $('#times').find('div.ct').html(html).end().show();        
        return;
    }
    
    if (!depart || !arrivee) return;
    
    var temp = depart.split('|');
    var departDetail = temp[1].split(':');
    var departLabel = departDetail[0].trim() + ' : ' + departDetail[1].trim();    

    temp = arrivee.split('|');
    var arriveeDetail = temp[1].split(':');
    var arriveeLabel = arriveeDetail[0].trim() + ' : ' + arriveeDetail[1].trim();
    for ( var i=0;i<2;i++)
    {
      var sens = 'R';
      if (i===0) sens = 'A';
      for ( var arret in timings[sens])
      {
        if (timings[sens][arret])
        {
          detailArret = arret.split('|');
          detailArret = detailArret[1].split(':');
          label = detailArret[0].trim() + ' : ' + detailArret[1].trim(); 

          if (label == departLabel)
          {
            for ( var course in timings[sens][arret])
            {
              if (timings[sens][arret][course]!='-')
              {
                liste_depart.push({h:timings[sens][arret][course],c:sens + '-'+course});
              }
            }
          }

          if (label == arriveeLabel)
          {
            for ( var cou in timings[sens][arret])
            {
              if (timings[sens][arret][cou]!='-')
              {
                liste_arrivee.push({h:timings[sens][arret][cou],c:sens + '-'+cou});
              }
            }
          }   
        }
      }
    }
    // console.log(liste_depart);
    // console.log(liste_arrivee);
    // A CE STADE ON A DEUX TABLEAUX ; liste_départ contient tous les passages à l'arrêt sélectionné à gauche, avec en clé sens+course

    var cote = Object();
    cote[1] = 'gauche';
    cote[0] = 'droite';
    var datas = Object();
    datas.gauche = Array();
    datas.droite = Array();

    for (var j in liste_depart)
    {
      // console.log('DEPART ++++++++ ' + liste_depart[j].c);
      for (var k in liste_arrivee)
      {
        // console.log('ARRIVEE ++++++++ ' + liste_arrivee[k].c);
        if (liste_depart[j].c == liste_arrivee[k].c) // MEME COURSE : ok
        {
          // console.log(liste_depart[j].c);
          if (liste_arrivee[k].h>liste_depart[j].h)
          {
            datas[cote[(ordrenaturel)?1:0]].push(liste_depart[j].h + ' ' + liste_arrivee[k].h + '|' + liste_arrivee[k].c);
          } else {
            datas[cote[(!ordrenaturel)?1:0]].push(liste_arrivee[k].h + ' ' + liste_depart[j].h + '|' + liste_arrivee[k].c);
          }
        }
        
      }
    }
    var finalDatas = {gauche:datas.gauche.sort(),droite:datas.droite.sort()};
    
    html = '<table id="table_horaire"><tr><th>aller</th><th class="rounded">retour</th></tr><tr>' +
    '<td class="scTd"><div><table><tr><td colspan="2"> de : <span class="d"><a href="spip.php?article'+idArticleGeo+'&amp;addr='+escape(departLabel.substring(0,departLabel.length-2))+'" title="localiser sur la carte">'+departLabel.split(':')[1]+
    '</a></span><br />'+
    'à :<span class="a"><a href="spip.php?article'+idArticleGeo+'&amp;addr='+escape(arriveeLabel.substring(0,arriveeLabel.length-2))+'" title="localiser sur la carte">'+arriveeLabel.split(':')[1] +
    '</a></span></td></tr>';
    var color = ['class="even"','class="odd"'];
    var counter = 0;
    
    for (var g in finalDatas.gauche)
    {
      temp = finalDatas.gauche[g].split('|');
      couID = temp[1];
      temp = temp[0].split(' ');
      debut = temp[0];
      fin = temp[1];
      counter ++;
      html += '<tr '+color[counter%2]+' id="'+couID+'"><td>'+debut + '</td><td>' + fin + '</td></tr>';
    }
    
    html +='</table></div></td><td class="scTd"><div><table><td colspan="2"> de : <span class="d"><a href="spip.php?article'+idArticleGeo+'&amp;addr='+escape(arriveeLabel.substring(0,arriveeLabel.length-2))+'" title="localiser sur la carte">'+arriveeLabel.split(':')[1]+'</a></span><br />à :<span class="a"><a href="spip.php?article'+idArticleGeo+'&amp;addr='+escape(departLabel.substring(0,departLabel.length-2))+'" title="localiser sur la carte">'+departLabel.split(':')[1]+'</a></span></td></tr>';
    
    for (var d in finalDatas['droite'])
    {
      temp = finalDatas.droite[d].split('|');
      couID = temp[1];
      temp = temp[0].split(' ');
      debut = temp[0];
      fin = temp[1];
      counter ++;
      html += '<tr '+color[counter%2]+' id="'+couID+'"><td>'+debut + '</td><td>' + fin + '</td></tr>';
    }
    
    html +='</table></div></td></tr></table>';

    $('#times').find('div.ct').html(html).end().show();
    
}
