/******************************************************************************/
/* Modif : Pascal CYNAMON (Completion)					15 septembre 2004     */
/* Gestion du résultat de la completion dans la fonction recherchi_pivi		  */
/* Le 15.09.04 (PC) Prise en compte des stations avec coordonnées :           */
/* Le 19.10.05 (VV) Modif pour prise en compte nouveau Produits               */
/******************************************************************************/ 
function supp(chaine,car){
reponse='';
if (chaine.length <1) return chaine;
	arrivee=chaine.split(car);
	for (i=0;i<arrivee.length;i++)
	{
	reponse+=arrivee[i]+" ";
	}
return reponse;
}

/** mise a jour du type de lexico depart */
function reset_type_dep(type_dep){
	var checked=false;
	for (i=0;i<3;i++)
	{
		var object = document.form1.type_dep[i];
		object.checked = (object.value == type_dep);
	}	
}

/** mise a jour du type de lexico arret **/
function reset_type_arr(type_arr){
	var checked=false;
	for (i=0;i<3;i++)
	{
		var object = document.form1.type_arr[i];
		object.checked = (object.value == type_arr);
	}	
}



function rech_avancee(){
//document.form1.action='/orienter/itineraire.php';
document.form1.action='/Pivi/piviweb.php';
//document.form1.query.value = "recherche"; //On force la recher pour que le nouveau pivi preremplis 
document.form1.query.disabled = true; //Supprime le champ dans le formulaire
document.form1.etape.value = "";
document.form1.etape.value = "LEX";
document.form1.Profil.value = "RATP";
document.form1.submit();
document.form1.query.disabled = false; //Revalide le champ dans le formulaire
}

// gestion des cookies dans pivi
function Lect_cook(v_nom)
	{
	cook = document.cookie;
	v_nom += "=";
	place = cook.indexOf(v_nom,0);
	if (place <= -1)
		return("0");
	else
		{
		end = cook.indexOf(";",place)
		if (end <= -1) {
			return(unescape(cook.substring(place+v_nom.length,cook.length)));
			}
		else {
			return(unescape(cook.substring(place+v_nom.length,end)));
			}
		}
	}

function init(){
// initialisation
liste_depart=document.form1.liste_perso_adp;
liste_arrivee=document.form1.liste_perso_aar;
var i=0;
var res='LISTE_PERSO[0]';
// fin initialisation
// lecture du cookie et remplissage de la table mes favoris

do
	{
val_cook=Lect_cook(res);
// remise à zero de la liste
//liste_depart.options[0] = null;
//liste_depart.options[1] = null;
//liste_arrivee.options[0] = null;
//liste_arrivee.options[1] = null;
//
if (val_cook!=0) {

				donnees=val_cook.split('\t');
				dep=new Option(supp(donnees[0],'+'),supp(val_cook,'+'));
				arr=new Option(supp(donnees[0],'+'),supp(val_cook,'+'));
				liste_depart.options[liste_depart.options.length]=dep;
				liste_arrivee.options[liste_arrivee.options.length]=arr;
				i++;
				res='LISTE_PERSO['+i+']';
				} // fin du if
				else break;
	} while(val_cook!=0);
} // fin fonction init();

function set_adp_from_perso_list(){
	obj = document.form1.liste_perso_adp;

	//recupere le contenu du cookie
	aValue = obj[obj.selectedIndex].value;
	
	//reset de la liste
	obj.selectedIndex = 0;
	
	if ( aValue == -1 || aValue == "" || document.form1.adp.type == 'hidden')
		return;
	
	//recupere les différentes info du cookie		
	var aTabInfo = new String(aValue);
	var tab_addr = aTabInfo.split('\t');
	
	//mise a jour des champs IHM
//	depart=supp(tab_addr[4],'+');
//	document.form1.adp.value=depart;
	document.form1.adp.value=tab_addr[4];
	document.form1.SAUV_TYPE_DEP.value=tab_addr[3];
	reset_type_dep(tab_addr[3]);
	document.form1.x_dep.value=tab_addr[1];
	document.form1.y_dep.value=tab_addr[2];
}


function set_aar_from_perso_list(){
	obj = document.form1.liste_perso_aar;

	//recupere le contenu du cookie
	aValue = obj[obj.selectedIndex].value;
	
	//reset de la liste
	obj.selectedIndex = 0;
	
	if ( aValue == -1 || aValue == "" || document.form1.aar.type == 'hidden')
		return;
	
	//recupere les différentes info du cookie		
	var aTabInfo = new String(aValue);
	var tab_addr = aTabInfo.split('\t');
	
	//mise a jour des champs IHM
// 	document.form1.aar.value=tab_addr[4];
// suppression des +
//	arrivee=supp(tab_addr[4],'+');
//	document.form1.aar.value=arrivee;
 	document.form1.aar.value=tab_addr[4];
	document.form1.SAUV_TYPE_ARR.value=tab_addr[3];
	reset_type_arr(tab_addr[3]);
	document.form1.x_arr.value=tab_addr[1];
	document.form1.y_arr.value=tab_addr[2];
}

//JavaScript Document 
// lance la recherche d'itineraire
function rechercher_pivi() 
{ 
 // on valide les coordonnées X et Y pour les stations départ et arrivée :
 document.form1.x_dep.disabled = false;
 document.form1.y_dep.disabled = false;
 document.form1.x_arr.disabled = false;
 document.form1.y_arr.disabled = false;
 document.form1.mode.disabled = false;
// on réinitialise les valeurs x et y du départ et arrivée :
 document.form1.x_dep.value = "";
 document.form1.y_dep.value = "";
 document.form1.x_arr.value = "";
 document.form1.y_arr.value = "";

 with (document.form1)
 {
  if (document.form1.adp.value == "") {
   alert ("veuillez saisir une adresse de départ");
   form1.adp.focus();
  }
  //contrôle de l'adresse d'arrivée
  else if (document.form1.aar.value == "") {
   alert ("veuillez saisir une adresse d'arrivée");
   form1.aar.focus();
  }
  //si tout est OK, on envoi le formulaire 
  else {
   //On récupère la valeur du champ départ.
   nom_stationContent_dp = document.form1.adp.value;
  //On récupère la valeur du champ arrivée.
   nom_stationContent_arr = document.form1.aar.value;
   //Pour N4.7, je récupère le tableau défini en JS + je mets le nom de la station départ et arrivée en minuscule.
   if ( navigator.userAgent.indexOf('Mozilla/4.7') != -1 ) {
    //StationsArray=stationArrayReady;
    nom_stationContent_dp = nom_stationContent_dp.toLowerCase();
    nom_stationContent_arr =  nom_stationContent_arr.toLowerCase();
   }
   //********************************************************* Gestion pour la station DÉPART **************************************************
  //Après avoir testé le nom de la station, je regarde si le champ départ est en station si c'est le cas :
  //On envoie (après avoir testé le nom de la station) directement les coordonnées X et Y.   
   if (document.form1.type_dep[1].checked==1)
   {
    //Je teste pour savoir si la station existe et lui donner les coordonnées équivalentes.
    for (var i=0; i < StationsArray.length; ++i) 
    {
     //Pour N4.7, je récupère la valeur du tableau de stations et le mets en minuscule.
	 if ( navigator.userAgent.indexOf('Mozilla/4.7') != -1 ) StationsArray[i] =  StationsArray[i].toLowerCase();
     if ( nom_stationContent_dp == StationsArray[i])
     { 
      var x = i*6; 
	  var y = i*7;
	  //les coordonnées à extraire sont chargées dans la page d'accueil du site index.php via un js "stationscoord"
	  //ils sont sous formes de chaines de caractères, on les extrait par un substring
	  var Resultatx = station_x.substring((x),(x+6)); //On récupère la coordonnée X qui a une taille de 6.
      var Resultaty = station_y.substring((y),(y+7)); //On récupère la coordonnée Y qui a une taille de 7.
      document.form1.x_dep.value = Resultatx; //La coordonnée X est récupérée pour être envoyée via le submit
      document.form1.y_dep.value = Resultaty; //La coordonnée Y est récupérée pour être envoyée via le submit
     }
    }
   } 
   //********************************************************* Gestion pour la station ARRIVÉE **************************************************   
  //Après avoir testé le nom de la station, je regarde si le champ arrivée est en station si c'est le cas :
  //On envoie (après avoir testé le nom de la station) directement les coordonnées X et Y.   
   if (document.form1.type_arr[1].checked==1)
   {
    for (var i=0; i < StationsArray.length; ++i) //Je teste pour savoir si la station existe et récupérer les coordonnées équivalentes.
    {
    //Pour N4.7, je récupère la valeur du tableau de stations et la mets en minuscule.
	 if ( navigator.userAgent.indexOf('Mozilla/4.7') != -1 ) StationsArray[i] =  StationsArray[i].toLowerCase();
     if ( nom_stationContent_arr == StationsArray[i])
     { 
	  var x = i*6; 
	  var y = i*7;
	  //les coordonnées à extraire sont chargées dans la page d'accueil du site index.php via un js "stationscoord".
	  //ils sont sous formes de chaines de caractères, on les extrait par un substring.
	  var Resultatx = station_x.substring((x),(x+6)); //On récupère la coordonnée X qui a une taille de 6.
      var Resultaty = station_y.substring((y),(y+7)); //On récupère la coordonnée Y qui a une taille de 7.
      document.form1.x_arr.value = Resultatx; //La coordonnée X est récupérée pour être envoyée via le submit
      document.form1.y_arr.value = Resultaty; //La coordonnée Y est récupérée pour être envoyée via le submit
     }
    }
   }
   //Ligne ajoutée pour permettre de forcer le mode "FERRE" si et seulement si le départ et l'arrivée sont en mode stations : 
   //Ligne ajoutée pour permettre de forcer le mode "FERRE" si et seulement si le départ et l'arrivée sont en mode stations : 
   // 2 lignes commentées suite demande gwen 02/05/05
   //   if ((document.form1.type_dep[1].checked==1) && (document.form1.type_arr[1].checked==1)) document.form1.mode.value = "FERRE"; 
   //   else 
   document.form1.mode.value = "TOUS_MODE"; //Si ce n'est pas le cas, on force le mode "TOUS_MODE"
	document.form1.Profil.value = "RATP_HOME";
   document.form1.action='/Pivi/piviweb.php';
   submit();
   }
 }
}