// ***************
// OBJET ADRESSAGE
// ***************

// .idx (index du champs source associé au select)
// .reset (vide les listes)
// .selectidx (Did(nom_ctrl),i index a selectionner)
// .getadresse(i index ligne du tableau) -> retourne adresse idx i
// .updateidx -> maj idx / idx selection des listes

// -> Objet adressage
function AD(idx_adresse,idx_cp,idx_ville,idx_pays,idx_mrkname,idx_mrkdesc) {
         // -> propiétés
         this.idx_adresse = idx_adresse;
         this.idx_cp = idx_cp;
         this.idx_ville = idx_ville ;
         this.idx_pays = idx_pays;
         this.validated = false;
         this.idx_mrkname = idx_mrkname;
         this.idx_mrkdesc = idx_mrkdesc;
         // -> méthode
         this.reset = AD_reset;
         this.selectidx = AD_selectidx;
         this.getadresse = AD_getadresse;
         this.updateidx = AD_updateidx;
}
function AD_reset() {
         for (i=Did("field_adresse").options.length-1;i>=0;i--) {
		var selected=Did("field_adresse").selectedIndex;
		var option=Did("field_adresse").options[selected] ;
		Did("field_adresse").removeChild(option);
		option=Did("field_cp").options[selected] ;
		Did("field_cp").removeChild(option);
		option=Did("field_ville").options[selected] ;
		Did("field_ville").removeChild(option);
		option=Did("field_pays").options[selected] ;
		Did("field_pays").removeChild(option);
		option=Did("field_mrkname").options[selected] ;
		Did("field_mrkname").removeChild(option);
		option=Did("field_mrkdesc").options[selected] ;
		Did("field_mrkdesc").removeChild(option);
		Did("sample_adresse").innerHTML = "" ;
         }
}
function AD_selectidx(elmnt,idx) {
         elmnt.options[idx].selected = true;
}
function AD_getadresse(idxligne) {
         var line = Source.getcontenu().split("\n")[idxligne];
         var cels = line.split(Source.separateur);
         var adr = cels[this.idx_adresse]+" "+cels[this.idx_cp]+" "+cels[this.idx_ville]+" "+cels[this.idx_pays];
         return adr;
}
function AD_updateidx(idx_adr,idx_cp,idx_vil,idx_pay) {
         this.idx_adresse = idx_adr;
         this.idx_cp = idx_cp;
         this.idx_ville = idx_vil;
         this.idx_pays = idx_pay;
}

// -> Instanciation objet Adressage
Adressage = new AD(0,1,2,3,4,5);

// ************************

// -> Init adressage
function initialise_adressage(src_val) {

         // -> data non validée : on reset les lists
         if (src_val == false) {
            Adressage.reset();
            Adressage.validated = false;
         }

         // -> data validée : on remplit les listes & preselection exemples
         if (src_val == true) {
            Did("sample_adresse").innerHTML = "Echantillon : "+Adressage.getadresse(1) ;
            var lineArray = Source.getcontenu().split('\n');
            var fieldArray = lineArray[0].split(Source.separateur);
            for (i=0;i<fieldArray.length;i++) {
		Did("field_adresse").options[i] = new Option(fieldArray[i],fieldArray[i]);
		Did("field_cp").options[i] = new Option(fieldArray[i],fieldArray[i]);
		Did("field_ville").options[i] = new Option(fieldArray[i],fieldArray[i]);
		Did("field_pays").options[i] = new Option(fieldArray[i],fieldArray[i]);
		Did("field_mrkname").options[i] = new Option(fieldArray[i],fieldArray[i]);
		Did("field_mrkdesc").options[i] = new Option(fieldArray[i],fieldArray[i]);
	    }
	    Adressage.validated = true;
	    if (Source.autoload == true) {
               Adressage.selectidx(Did("field_adresse"),0);
	       Adressage.selectidx(Did("field_cp"),1);
	       Adressage.selectidx(Did("field_ville"),2);
	       Adressage.selectidx(Did("field_pays"),3);
	       Adressage.selectidx(Did("field_mrkname"),4);
	       Adressage.selectidx(Did("field_mrkdesc"),5);
            }
         }
}

// -> modif idx de Adressage si click sur select
function list_onchange() {
         Adressage.idx_adresse = Did("field_adresse").selectedIndex ;
         Adressage.idx_cp = Did("field_cp").selectedIndex ;
         Adressage.idx_ville = Did("field_ville").selectedIndex ;
         Adressage.idx_pays = Did("field_pays").selectedIndex ;
         Adressage.idx_mrkname = Did("field_mrkname").selectedIndex ;
         Adressage.idx_mrkdesc = Did("field_mrkdesc").selectedIndex ;

         var linearray = (Source.getcontenu()).split('\n');
         var line = linearray[1].split(Source.separateur);
         Did("sample_adresse").innerHTML = "Echantillon : " +line[Adressage.idx_adresse] +" "+line[Adressage.idx_cp] +" "+line[Adressage.idx_ville] +" "+line[Adressage.idx_pays];
}
