//on remet à 0 le listing dans le combo
function vider_liste(nomliste){
	for(i=0; i < nomliste.length; i++){
		nomliste[i] = null;
	}
}
//on affecte les valeur retournés par la requete php dans le combo
function affecter_liste(nomliste,returnstring,type){
	var tab=returnstring.split("|");
	nomliste.options[0] = new Option("----- Votre choix -----", "");
	for(i=0;i<tab.length;i++){
		if (tab[i].indexOf('~') != -1) {
      		var option = tab[i].split('~');
			if(option[2]!="" && option.length==3){
				if(type==1){
					nomliste.options[i + 1] = new Option("("+option[2]+") "+option[1],option[0]);
				}else{
					nomliste.options[i + 1] = new Option(option[2]+" ("+option[1]+")",option[0]);
				}
			}else{
				nomliste.options[i + 1] = new Option(option[1],option[0]);
			}
    	}
	}
}
//on remet le pointeur sur la selection
function select_liste(nomliste,selection){	
	for(i=0;i<nomliste.options.length;i++){
		if(nomliste.options[i].value == selection){	
			nomliste.options[i].selected = true;
		}
	}
}

//fonction principal
function liste(nomliste,returnstring, type){
		if(nomliste.indexOf('[]') != -1){
			var decoupage = nomliste.split('[]');
			nomliste = "['"+decoupage[0]+"[]']"+decoupage[1];
		}else{
			nomliste = "['"+nomliste+"']";
		}
		if(!returnstring){							
			eval("document.forms['form']"+nomliste+".options[0].selected = true");
			eval("document.forms['form']"+nomliste+".disabled=true");	
		}else{
			eval("document.forms['form']"+nomliste+".disabled=false");	
			selection = eval("document.forms['form']"+nomliste+"[document.forms['form']"+nomliste+".selectedIndex].value");
			nomliste = eval("document.forms['form']"+nomliste);	
			vider_liste(nomliste);
			affecter_liste(nomliste,returnstring, type);
			select_liste(nomliste,selection);
		}
}