/* scripts pour métro connexion */
/* septembre 2010 */
/* Apport principal : affichage des résultats par ajax pour alléger la charge serveur */
/* Ne sera mis en service que lorsqu'on aura trouvé une solution pour Jaws sous IE 6 qui ne raffraîchit pas le buffer */
/*---------------------------------*/
/* Constantes pour libellés de l'interface */
var rech_etendue = false;
var sel_provenance = 0;
var sel_direction = 0;
var sel_station = 0;

/* Initialisation des élément pour la home 
* Prend un paramètres les intitulés de liens fournis par les tableaux php de gestion de langue */
function initAccueil(ext_engine_label, classical_engine_label) {
$("#for_jfw").val(false);
$("#sidebar_forms").append('<a href="#" id="change_formulaire">' +ext_engine_label+ '</a>');
 var moteur = LireCookie("moteur");
 if(moteur == null) { // première connexion
  $("#rech_etendue").hide();
  var date = new Date;
  date.setFullYear(date.getFullYear()+1);
  EcrireCookie("moteur", 1, date);
     $("#change_formulaire").text(ext_engine_label);
 }
 else {
  switch(moteur) {
   case "0" : 
    $("#rech_station").hide();
    $("#rech_etendue").show();
   $("#change_formulaire").text(classical_engine_label);
   break;
   case "1" :
    $("#rech_station").show();
    $("#rech_etendue").hide();
$("#change_formulaire").text(ext_engine_label);
break;
  } // fin switch
 } // fin else
$("#change_formulaire").click(function() {
 moteur = LireCookie("moteur");
 var date = new Date;
  date.setFullYear(date.getFullYear()+1);
 switch(moteur){
   case "0" :
    $("#rech_etendue").hide();
    $("#rech_station").show();
   $("#change_formulaire").text(ext_engine_label);
    EcrireCookie("moteur", 1, date);
   break;
   case "1" :
    $("#rech_etendue").show();
    $("#rech_station").hide();
$("#change_formulaire").text(classical_engine_label);
    EcrireCookie("moteur", 0, date);
   break;
  } // fin switch
  change_for_jfw();
 });
} // fin initAccueil

function afficherMasquerDiv(id) {
$("#" + id).toggle();
change_for_jfw();
} // fin afficherMasquerDiv

// règle l'affichage sur la page decrire_correspondance.php
// prend en paramètres les intitulés des boutons fournis par les tableaux php de gestion de langue
function initAffichage(afficher_quai, masquer_quai, afficher_detail, masquer_detail) {
$("#php_confort").hide();
$("#sidebar").append(creerJsConfort() );
$("#for_jfw").val(false);
 var desc_quai = LireCookie("desc_quai");
 if(desc_quai == null) { // première connexion
  $("#description_quai").hide();
  var date = new Date;
  date.setFullYear(date.getFullYear()+1);
  EcrireCookie("desc_quai", 0, date);
      $("#js_msk_quai").text(afficher_quai);
 }
 else {
  switch(desc_quai) {
   case "0" : 
    $("#description_quai").hide();
    $("#js_msk_quai").text(afficher_quai);
   break;
   case "1" :
    $("#description_quai").show();
    $("#js_msk_quai").text(masquer_quai);
break;
  } // fin switch
 } // fin else
 // pour la description détaillée
 var desc_detail = LireCookie("desc_detail");
 if(desc_detail == null) { // première connexion
  $("#description_detaillee").hide();
  var date = new Date;
  date.setFullYear(date.getFullYear()+1);
  EcrireCookie("desc_detail", 0, date);
      $("#js_msk_detail").text(afficher_detail);
 }
 else {
  switch(desc_detail) {
   case "0" : 
    $("#description_detaillee").hide();
    $("#js_msk_detail").text(afficher_detail);
   break;
   case "1" :
    $("#description_detaillee").show();
    $("#js_msk_detail").text(masquer_detail);
break;
  } // fin switch
 } // fin else

 $("#js_confort").show();
$("#js_msk_quai").click(function() {
 desc_quai = LireCookie("desc_quai");
  var date = new Date;
 date.setFullYear(date.getFullYear()+1);
 switch(desc_quai) {
  case "0" : 
    $("#description_quai").show();
    $("#js_msk_quai").text(masquer_quai);
    EcrireCookie("desc_quai", 1, date);
  break;
  case "1" :
    $("#description_quai").hide();
    $("#js_msk_quai").text(afficher_quai);
    EcrireCookie("desc_quai", 0, date);
  break;
 } // fin switch
change_for_jfw();
});
$("#js_msk_detail").click(function() {
 desc_detail = LireCookie("desc_detail");
  var date = new Date;
 date.setFullYear(date.getFullYear()+1);
 switch(desc_detail) {
  case "0" : 
    $("#description_detaillee").show();
    $("#js_msk_detail").text(masquer_detail);
    EcrireCookie("desc_detail", 1, date);
  break;
  case "1" :
    $("#description_detaillee").hide();
    $("#js_msk_detail").text(afficher_detail);
    EcrireCookie("desc_detail", 0, date);
  break;
 } // fin switch
change_for_jfw();
});
} // fin initagffichage

function creerJsConfort() {
var div = document.createElement("div");
div.setAttribute("id", "js_confort");
var a = document.createElement("a");
a.setAttribute("href", "#");
a.setAttribute("id", "js_msk_quai");
div.appendChild(a);
var a = document.createElement("a");
a.setAttribute("href", "#");
a.setAttribute("id", "js_msk_detail");
div.appendChild(a);
return div;
}

/* Modifie la valeur du champ for_jfw pour forcer le rafraîchissement du buffer virtuel */
function change_for_jfw() {
 $("#for_jfw").val() == false ? $("#for_jfw").val(true) : $("#for_jfw").val(false);
}

function afficherDescription(titre, sous_titre, quai, court, detail, inverse, lien_mp3, mains, sidebars) {
 var chaine = "<h1>"+ titre +"</h1>";
 if(sous_titre != null)
 chaine += "<p>("+ sous_titre +")</p>"; 
 chaine += "<div id=\"les_descriptions\">";
 chaine += "<div id=\"description_quai\"><h2>"+ sidebars.track_desc_text +"</h2>";
 chaine += quai;
 chaine += "</div>";
 chaine += "<div id=\"description_courte\"><h2>"+ sidebars.short_desc_text +"</h2>";
 chaine += court;
 chaine += "</div>";
 chaine += "<div id=\"description_detaillee\"><h2>"+ sidebars.long_desc_text +"</h2>";
 chaine += detail;
 chaine += "</div>";
 chaine += "</div>"; // fin les_descriptions
 chaine += "<div id=\"outils\">";
 chaine += "<h2>"+ mains.tools.tool_header +"</h2>";
 chaine += "<ul><li>"+ inverse +"</li>";
 chaine += "<li>"+ lien_mp3 +"</li></ul>";
 chaine += "</div>";
  $("#main").empty();
  $("#main").html(chaine);
 }
 
 function init_ajax(mains, sidebars) {
 // Lancement d'une recherche étendue
 $("#valider").click(function() {
sel_provenance = $("#provenance > option:selected");
sel_direction = $("#direction > option:selected");
sel_station = $("#station > option:selected");
 vers = "";
  if(sel_provenance.val() == sel_direction.val()) 
    vers = " "+ mains.common.back +" "; 
   else vers = " "+ mains.common.to +" ";
  var donnee = {"mode_recherche": 0, "provenance": sel_provenance.val(),  "direction":  sel_direction.val(), "station": sel_station.val()};
  recup_data(donnee, mains, sidebars, 0);
  return false; // fin post
}); // fin click sur recherche étendue
// recherche classique
$("#valider0").click(function() {
  sel_sta_dep = $("#sta_dep > option:selected");
  sel_sta_arr = $("#sta_arr > option:selected");
  vers = "";
  nom_sta_dep = sel_sta_dep.text();
  nom_sta_arr = sel_sta_arr.text();
  if(sel_sta_dep.val() == sel_sta_arr.val()) vers = " "+ mains.common.back +" "; 
  else vers = " "+ mains.common.to +" ";
  var donnee = {"mode_recherche": 1, "sta_dep": sel_sta_dep.val(), "sta_arr":  sel_sta_arr.val(), "nom_sta_dep": nom_sta_dep, "nom_sta_arr": nom_sta_arr};
  recup_data(donnee, mains, sidebars, 1);
  return false;
}); // fin click sur recherche classique
} // fin init_ajax

function recup_data(donnee, mains, sidebars, mode_recherche) {
switch(mode_recherche) {
case 0 : // mode étendue
$.post("mc/user/utile/chercher.php", donnee, function(data) {
 if($("statut",data).attr("id") == 1 && $("statut",data).attr("nb_resultat") == 1) {
   var lien_mp3 = $("mp3",data).text();
   lien_mp3 = replaceAll(lien_mp3, "\\","");
   var court = replaceAll($("court",data).text(), "\\","");
   var detail = replaceAll($("detail",data).text(), "\\","");
   var quai_desc_court = replaceAll($("description_courte",data).text(), "\\","");
   var inverse = $("inverse",data).text();
   var provenance = replaceAll($("provenance",data).text(), "\\","");
   var direction = replaceAll($("direction",data).text(), "\\","");
   var changement = replaceAll($("station",data).text(), "\\","");
   var titre = mains.common.from +" "+ provenance + vers + direction +" "+ mains.common.by +" "+ changement;
   $("#titre").text(titre);
afficherDescription(titre, null, quai_desc_court, court, detail, inverse, lien_mp3, mains, sidebars);
$("#trajet_inverse").click(function() {
     lien = $(this).attr("href");
      decoupe = lien.split("-");
      taille = decoupe.length;
      id = decoupe[taille-3];
   var donnee = {"mode_recherche": 0, "id": id};
  recup_data(donnee, mains, sidebars, mode_recherche);
  return false;
 });
 return false;
 }
  if($("statut",data).attr("id") == 1 && $("statut",data).attr("nb_resultat") > 1) {
  var titre = mains.common.from +" "+ sel_provenance.text() + vers + sel_direction.text() +" "+ mains.common.by +" "+ sel_station.text();
   $("#titre").text(titre);
 $("#main").html($("message",data).text()); // affiche tous les résultats
   $(".result_links").each(function(){
      $(this).click(function() {
      lien = $(this).attr("href");
      decoupe = lien.split("-");
      taille = decoupe.length;
      var id = decoupe[taille-3];
      var donnee = {"mode_recherche": 0, "id": id};
      recup_data(donnee, mains, sidebars, mode_recherche);
      return false;
      }); // fin click 
      }); // fin each
 }
 if($("statut",data).attr("id") == 0) {
  var titre = mains.common.from +" "+ sel_provenance.text() + vers + sel_direction.text() +" "+ mains.common.by +" "+ sel_station.text();
   $("#titre").text(titre);
   var titre_contenu = "<h1>"+ mains.search.search_header +"</h1>"; 
   var recap = "<p>"+ sidebars.frm_ext_start +" : "+ sel_provenance.text() + "<br />" +vers + sel_direction.text() +"<br />"+ sidebars.frm_ext_station +" : "+ sel_station.text() +"</p>";
   $("#main").html(titre_contenu + $("message",data).text() + recap); 
 }
 
 });
 break;
 case 1 : // recherche classique
 $.post("mc/user/utile/chercher.php", donnee, function(data) {
 nom_sta_dep = donnee.nom_sta_dep;
 nom_sta_arr = donnee.nom_sta_arr;
 if(donnee.nb_stations != "undefined")
 nb_stations = donnee.nb_stations;

 if($("statut",data).attr("id") == 1 && $("statut",data).attr("nb_resultat") == 1) {
  var lien_mp3 = $("mp3",data).text();
   lien_mp3 = replaceAll(lien_mp3, "\\","");
   var court = replaceAll($("court",data).text(), "\\","");
   var detail = replaceAll($("detail",data).text(), "\\","");
   var quai_desc_court = replaceAll($("description_courte",data).text(), "\\","");
   var inverse = $("inverse",data).text();
   var provenance = replaceAll($("provenance",data).text(), "\\","");
   var direction = replaceAll($("direction",data).text(), "\\","");
   var changement = replaceAll($("station",data).text(), "\\","");
   if($("nb_stations",data).text() != "")
   nb_stations = $("nb_stations",data).text();
   var titre = mains.common.from +" "+ nom_sta_dep + vers + nom_sta_arr +" "+ mains.common.by +" "+ changement +" ("+ nb_stations +" "+ mains.common.basic_stations +")";
   $("#titre").text(titre);
   var sous_titre = mains.common.from +" "+ provenance + vers + direction +" "+ mains.common.by +" "+ changement;
afficherDescription(titre, sous_titre, quai_desc_court, court, detail, inverse, lien_mp3, mains, sidebars);
 
 $("#trajet_inverse").click(function() {
     lien = $(this).attr("href");
      decoupe = lien.split("-");
      taille = decoupe.length;
      id = decoupe[taille-3];
   var donnee = {"mode_recherche": 0, "id": id, "nom_sta_dep" : nom_sta_arr, "nom_sta_arr" : nom_sta_dep, "nb_stations" : nb_stations};
  recup_data(donnee, mains, sidebars, mode_recherche);
  return false;
 });
 return false;
 }
  if($("statut",data).attr("id") == 1 && $("statut",data).attr("nb_resultat") > 1) {
  var titre = mains.common.from +" "+ nom_sta_dep + vers + nom_sta_arr; 
   $("#titre").text(titre);
   var titre_contenu = "<h1>"+ mains.search.search_header +"</h1>";
 $("#main").html(titre_contenu + $("message",data).text()); // affiche tous les résultats
   $(".result_links").each(function(){
      $(this).click(function() {
      lien = $(this).attr("href");
      decoupe = lien.split("-");
      taille = decoupe.length;
      var id = decoupe[taille-3];
      var text_nb_stations = $(this).siblings("span.nb_stations").text();
      var temp = text_nb_stations.split(" ");
      nb_stations = temp[0].substr(1, temp[0].length); // pour virer la parenthèse du début
      var donnee = {"mode_recherche": 0, "id": id, "nom_sta_dep" : nom_sta_dep, "nom_sta_arr" : nom_sta_arr, "nb_stations" : nb_stations};
      recup_data(donnee, mains, sidebars, mode_recherche);
      return false;
      }); // fin click 
      }); // fin each
 }
 if($("statut",data).attr("id") == 0) {
  var titre = mains.common.from +" "+ nom_sta_dep + vers + nom_sta_arr;
   $("#titre").text(titre);
   var titre_contenu = "<h1>"+ mains.search.search_header +"</h1>";
   var recap = "<p>"+ sidebars.frm_classical_start+ " : "+ nom_sta_dep +"<br />"+ sidebars.frm_classical_end+ " : "+ nom_sta_arr+ "</p>";
   $("#main").html(titre_contenu + $("message",data).text() + recap);
 }
});
break; 
 } // fin switch
  } // fin recup_data
  
  function get_labels(data, branche) {
  var liste = $(data).find(branche);
 var obj = new Object();
$("item",liste).each(function() {
var label = replaceAll( $(this).attr("label"), "-", "_");
if($(this).attr("type") && ($(this).attr("type") == "lnk" || $(this).attr("type") == "btn")) { 
obj[label + "_text"] = $(this).attr("text");
obj[label + "_title"] = $(this).attr("title");
}
if($(this).attr("type") && $(this).attr("type") == "image") { 
obj[label + "_alt"] = $(this).attr("alt");
obj[label + "_title"] = $(this).attr("title");
}
if(!$(this).attr("type")) {
 obj[label] = $(this).text();
}
}); 
return obj;
  }
