// Definition des valeurs du premier champ de Localisation
//
function InitLocation(locationCountryValue) {
   var i=0;
   var j=0;

   // le second champ est par défaut desactive
   document.selection_form.locationDetails.disabled=true;
   document.selection_form.locationDetails.options[0].selected=true;

   for (i=0;i<Loc.length; i++) { 
       // on construit le champ "pays" en ne considerant
       // que les valeurs "", "2car", "3car"
       if ((Loc[i].value.length==0) || (Loc[i].value.length==2) || (Loc[i].value.length==3)) {
           document.selection_form.locationCountry.options[j] = new Option( Loc[i].text,Loc[i].value);
           
           // on marque la valeur selectionnee precedemment si on a 
           // effectivement selectionne quelque chose precedemment
           if (((Loc[i].value!="")) && (Loc[i].value==locationCountryValue)) {
              document.selection_form.locationCountry.options[j].selected=true;
           }
           j=j+1;
       }
   }
}

// Definition des valeurs de detail de localisation en fonction
// du choix du pays dans le premier champ
function DefineLocationDetail(locationDetailsValue) {
   var countryRef;
   var i;
      
   // La boite est par defaut desactivee
   document.selection_form.locationDetails.disabled=true;
   document.selection_form.locationDetails.options[0].selected=true;

   // On determine la valeur du premier champ
   var selectedElmt = document.selection_form.locationCountry.selectedIndex;
   if ((selectedElmt == null) || (selectedElmt == 0)) {
       countryRef="";
   } else {
        countryRef=document.selection_form.locationCountry.options[selectedElmt].value;
   }
   
   // On détermine la premiere valeur du second champ
   document.selection_form.locationDetails.options[0] = new Option(DetailDefaultValue,countryRef);

   // si la reference commence par "#" alors il s'agit de la
   // reference d'un groupe de pays. Dans ce cas le second champ
   // doit rester vide. On sort
   if (countryRef.substr(0,1)=="#") return;

   // On remet à blanc les valeurs du second champ
   for (i=document.selection_form.locationDetails.options.length; i>0;i--) { 
          document.selection_form.locationDetails.options[i] = null;
   } 
   
   // on determine toutes les valeurs possibles du second champ          
   var j=1;
   for (i=0;i<Loc.length; i++) { 
          // on ne considère que subcountry1 et subcountry2 s'ils existent
          // on ne prend pas le nom du pays.
          if ((Loc[i].value.length>2) && (Loc[i].value.substr(0,2)==countryRef)) {
              document.selection_form.locationDetails.options[j] = new Option( 
                    Loc[i].text,
                    Loc[i].value);

              // on marque la valeur selectionnee precedemment si on a 
              // effectivement selectionne quelque chose precedemment
              if (((Loc[i].value!="")) && (Loc[i].value==locationDetailsValue)) {
                 document.selection_form.locationDetails.options[j].selected=true;
              }
              j=j+1;
          }
   }           
   
   // Si le tableau n'est pas vide alors le champ est active
   if (document.selection_form.locationDetails.options.length>1) {
       document.selection_form.locationDetails.disabled=false;
   }
}      

