 slct = new Array() ;
 function selecteur(id,pselect) {
 var
 obj ,
 t = new Array() ,
 id_tmp
 ;

 slct[id] = new Array() ; // Créer le tableau
 slct[id].obj= new Array() ; // Liste de tous les objets

 slct[id].nav = function() {
 var el = slct[id].dom = new Array()

 el.version = navigator.appVersion
 el.agent = navigator.userAgent
 el.ebi = document.getElementById?1:0

 el.op5 = (el.agent.indexOf("Opera 5")>-1) ;
 el.ie5 = (el.version.indexOf("MSIE 5")>-1 && el.ebi && !el.op5)?1:0 ;
 el.ie6 = (el.version.indexOf("MSIE 6")>-1 && el.ebi && !el.op5)?1:0 ;
 el.ie7 = (el.version.indexOf("MSIE 7")>-1 && el.ebi && !el.op5)?1:0 ;
 el.ie4 = (document.all && !el.ebi && !el.op5)?1:0 ;
 el.ie = (el.ie4||el.ie5||el.ie6||el.ie7) ;
 el.be = (el.agent.indexOf("BonEcho")>-1) ;
 el.mac = (el.agent.indexOf("Mac")>-1) ;
 el.ns6 = (el.ebi && parseInt(el.version) >= 5)?1:0 ;
 el.ns4 = (document.layers && !el.ebi)?1:0 ;
 el.ok = (el.ie7 || el.ie6 || el.ie5 || el.ie4 || el.ns4 || el.ns6 || el.op5 || el.be) ;
 }
 slct[id].doc = function(id) {
 if(slct[id].dom.ie4) return document.all(id)
 if(slct[id].dom.ns4) return document.layers.id
 if(slct[id].dom.ebi) return document.getElementById(id)

 }
 slct[id].over = function() {
 var el = slct[id].obj
 if(!el.etat) {
 el.titre.style.background="url(../images/bg_select.png) no-repeat 0 -22px"
 }
 }
 slct[id].out = function() {
 var el = slct[id].obj
 if(!el.etat) {
 el.titre.style.background="url(../images/bg_select.png) no-repeat 0 -0px"
 }
 }
 slct[id].montrer= function() {
 var el = slct[id].obj
 if(!el.etat) {
 el.titre.style.background="url(../images/bg_select.png) no-repeat 0 -26px"
 el.menu.style.display="block"
 el.titre.style.color="#000000"
 el.etat = true
 el.selecteur.focus
 } else {
 el.etat = false
 slct[id].cacher()

 }
 }
 slct[id].cacher = function(e) {
 var el = slct[id].obj
 el.titre.style.background="url(../images/bg_select.png) no-repeat "
 el.menu.style.display="none"
 el.titre.style.color="#000000"
 el.etat = false
 if(e && el.etat ) {
 alert(e)
 }
 }
 slct[id].init = function() {
 var el = slct[id].obj

 el.titre.onmouseover = slct[id].over
 el.titre.onmouseout = slct[id].out
 el.titre.onclick = slct[id].montrer
 el.selecteur.onblur = slct[id].cacher
 }

 slct[id].nav() ; // Verification navigateur
 obj =(slct[id].dom.ok? slct[id].doc(id) : 0) ; // retourne le dom
 obj.style.display="none" ; // On cache le select

 t.selecteur = obj ; // Nom de l'objet
 t.dim = obj.childNodes.length ; // Nombre d'enfant dans le noeud (option)
 t.classe = obj.className ; // Classe de l'objet
 t.option = new Array() ; // Contiendras tous les options de select
 t.titre = document.createElement('ul')
 t.menu = document.createElement('ul')
 t.etat = false ; // Correspond a l'etat cacher
 with(t.menu) {
 style.display="none" ; // Cache le menu
 }

 l0 = document.createElement('li')
 l0_a = document.createElement('a')

 for( var i=0;i<t.dim;i++) { // Lecture des informations & stockage & cration des objet
 if(obj[i]) {
 t.option[i] = new Array() ;
 t.option[i].valeur = new Array() ;
 t.option[i].texte = new Array() ;
 t.option[i].valeur = obj[i].value ;
 t.option[i].texte = obj[i].innerHTML ;

 if(i==0) { // 1er ligne du menu
 l0_a_txt = document.createTextNode(t.option[i].texte) ; // Texte du titre
 l0_a.href = t.option[i].valeur ; // Lien du titre
 l0_a.appendChild(l0_a_txt) ; // Rattache le texte du titre a la balise <a>
 l0.className= "titre" ; // Classe du li
 l0.appendChild(l0_a) ; // Ratache la balise <a> au li

 t.titre.className="selecteur"
 t.titre.appendChild(l0) ; // Rattache le li au 1er ul
 //document.body.appendChild(t.titre)
 document.getElementById(pselect).appendChild(t.titre);
 } else { // création a la volé
 eval(
 "l"+i+"_a_txt = document.createTextNode(t.option[i].texte);"+
 "l"+i+" = document.createElement('li');"+
 "l"+i+"_a = document.createElement('a');"+
 "l"+i+"_a.href = t.option[i].valeur;"+
 "l"+i+".className= 'opt';"+
 "l"+i+"_a.appendChild(l"+i+"_a_txt);"+
 "l"+i+".appendChild(l"+i+"_a);"+
 "t.menu.appendChild(l"+i+");"
 )
 t.menu.className="selecteur_liste"
 }
 }
 }
 t.titre.appendChild(t.menu)
 slct[id].obj = t ; // Rattache tableau a l'objet
 slct[id].obj
 slct[id].init() ; // Initialise le comportement
 return slct[id]

 }

 onload = function() {
// slct["select_0"] = new selecteur("select_0", "fieldSelect_0")
// slct["select_1"] = new selecteur("select_1", "fieldSelect_1")
// slct["select_2"] = new selecteur("select_2", "fieldSelect_2")
// slct["select_3"] = new selecteur("select_3", "fieldSelect_3")
// slct["select_4"] = new selecteur("select_4", "fieldSelect_4")
 }
