var menuData = { // construction du menu en notation JSON menuObject : [ { id:'13561', label:"Selection",url_href:'/templates/genericTemplate-13561-EN.html',children: [ ]}, { id:'13614', label:"Documentation centre",url_href:'/templates/genericTemplate-13614-EN.html',children: [ ]}, { id:'13111', label:"Practical info",url_href:'',children: [ { id:'13122', label:"Trading",url_href:'/templates/genericTemplate-13122-EN.html',children: [ ]}, { id:'13123', label:"ICB classification",url_href:'/templates/genericTemplate-13123-EN.html',children: [ ]}, { id:'13112', label:"Corporate actions",url_href:'/templates/genericTemplate-13112-EN.html',children: [ ]}, { id:'13113', label:"Suspension",url_href:'/templates/genericTemplate-13113-EN.html',children: [ ]}, { id:'13114', label:"Your shareholders",url_href:'/templates/genericTemplate-13114-EN.html',children: [ ]}, { id:'13115', label:"NYSE Euronext your partner",url_href:'/templates/genericTemplate-13115-EN.html',children: [ ]}, { id:'13116', label:"Company news",url_href:'/templates/genericTemplate-13116-EN.html',children: [ ]}, { id:'13117', label:"Indices",url_href:'/templates/genericTemplate-13117-EN.html',children: [ ]}, { id:'14436', label:"Relation with CMVM",url_href:'/templates/genericTemplate-14436-EN.html',children: [ ]}, { id:'13118', label:"Out of order book trading",url_href:'/templates/genericTemplate-13118-EN.html',children: [ ]}, { id:'13119', label:"Market rules ",url_href:'/templates/genericTemplate-13119-EN.html',children: [ ]}, { id:'13120', label:"ICB Reclassification ",url_href:'/templates/genericTemplate-13120-EN.html',children: [ ]}, { id:'13126', label:"Stock Quotes & Charts",url_href:'/templates/genericTemplate-13126-EN.html',children: [ ]}, { id:'14470', label:"Listing sponsors",url_href:'/templates/genericTemplate-14470-EN.html',children: [ ]}, { id:'21217', label:"Listing sponsors",url_href:'/templates/genericTemplate-21217-EN.html',children: [ ]} ]} ], // méthodes de construction du menu en HTML referenceChannel : undefined, anchorElement : undefined, focusedElement : undefined, channelIDSelected : undefined, hasVisibleNodeChildren : false, buildMenu : function(elt, visibleNode) { var frag = document.createDocumentFragment(); var oldNode = elt.cloneNode(false); menuData.anchorElement = oldNode; menuData.channelIDSelected = visibleNode ; //menuData.buildSubMenu(elt, menuData.menuObject, 1); menuData.buildSubMenu(oldNode, menuData.menuObject, 1); frag.appendChild(oldNode); elt.parentNode.replaceChild(frag,elt); menuData.anchorElement.select("li.extensible").each(function(item) { item.addClassName("collapsed"); item.addClassName("collapsed-level"+item.level); }); var referenceChannel= $(visibleNode); menuData.focusedElement = referenceChannel; if (referenceChannel != undefined && referenceChannel != null) { level = referenceChannel.level ; if ( ! menuData.hasVisibleNodeChildren && (level == 2 || level == 3 || level == 4)) referenceChannel.addClassName("focusedLevel"+level) ; else if (level == 1) referenceChannel.addClassName("focused"); if (!referenceChannel.hasClassName("extensible")) referenceChannel = referenceChannel.up("li.extensible"); if (referenceChannel != undefined) { referenceChannel.expandMenu(); menuData.referenceChannel = referenceChannel; } } menuData.anchorElement.observe("click", menuClickObserver); $(document).observe("mouseover", menuOverObserver); }, buildSubMenu : function(elt, children, level) { var ul = new Element("ul"); children.each(function(item) { var li = new Element("li", {id : item.id}); li.level=level; if (item.children.length > 0) { if (item.id == menuData.channelIDSelected) menuData.hasVisibleNodeChildren = true ; li.update("