/* écrit par Michel HOËL Urbilog (http://www.urbilog.fr) Novembre 2005 Pas de distribution sans accord de la Société Urbilog. */ var timeout = 1000; var largeur = new Array(); var tm = new Array(); function Navigateur () { var agent = navigator.userAgent.toLowerCase(); this.cestIE = ((agent.indexOf('msie') != -1) && (agent.indexOf('opera') == -1) && (agent.indexOf('webtv') == -1)); } function cacheUl(id,type) { if(type=="mv"){ document.getElementById(id).getElementsByTagName('ul')[0].style['visibility'] = 'hidden'; document.getElementById(id).getElementsByTagName('ul')[0].style['left'] = '0px'; } else{ document.getElementById(id).getElementsByTagName('ul')[0].style['display'] = 'none'; document.getElementById(id).getElementsByTagName('ul')[0].style['left'] = '0px'; } } function MenuBase() { this.type = "mv"; this.navigateur = new Navigateur; this.init = function() { if(!document.getElementById && !document.createTextNode){return;} var menu = document.getElementById(this.type); if (menu != null) { var lis = menu.getElementsByTagName('li'); for ( var i=0; i 0 ) { if ( this.navigateur.cestIE ) this.ajouteUnEvt(lis.item(i),'keyup',this.montre); if ( this.navigateur.cestIE ) this.ajouteUnEvt(lis.item(i),'keydown',this.timeoutCache); this.ajouteUnEvt(lis.item(i),'mouseover',this.montre); this.ajouteUnEvt(lis.item(i),'mouseout',this.timeoutCache); this.ajouteUnEvt(lis.item(i),'blur',this.timeoutCache); this.ajouteUnEvt(lis.item(i),'focus',this.montre); lis.item(i).setAttribute( 'id', this.type + "li"+i ); lis.item(i).getElementsByTagName('a')[0].className = this.type + 'repere'; } } } } this.ajouteUnEvt= function(cible, nomEvt, nomFct) { if (this.navigateur.cestIE) eval('cible.on'+nomEvt+'=nomFct'); else cible.addEventListener( nomEvt , nomFct , true ); } this.timeoutCache= function() { tm[this.id] = window.setTimeout("cacheUl('" + this.id + "','" + this.type + "')", timeout); } this.montre = function (){ if(this.type=="mv"){ this.getElementsByTagName('ul')[0].style['visibility'] = 'visible'; this.getElementsByTagName('ul')[0].style['left'] = 'auto'; clearTimeout(tm[this.id]); var ul = this.parentNode; for (var i=0; i