var menuData = { // construction du menu en notation JSON menuObject : [ { id:'18812', label:"Home",url_href:'',children: [ { id:'1613', label:"NYSE Euronext nieuws",url_href:'',children: [ { id:'1731', label:"Persberichten",url_href:'/news/press_releases/pressReleases-1731-NL.html',children : [ ]}, { id:'167721', label:"Listing events",url_href:'',children : [ { id:'21220', label:"Actueel",url_href:'/bellsceremonies/BellEventsList-21220-NL.html', children: []}, { id:'167722', label:"Archief",url_href:'/bellsceremonies/archives/BellEventsList-167722-NL.html', children: []} ]}, { id:'1732', label:"Nieuwsbrieven",url_href:'',children : [ { id:'1944', label:"Recent",url_href:'/news/newsletters/wide/newsletters-1944-NL.html', children: []}, { id:'1946', label:"Archief",url_href:'/news/newsletters/wide/newsletters-1946-NL.html', children: []} ]}, { id:'48818', label:"Evenementen & Conferenties",url_href:'',children : [ { id:'21221', label:"Conferences",url_href:'/news/generaleventscurrent/comingEvents-1927-NL.html', children: []}, { id:'284520', label:"Lisbon Awards",url_href:'/landing/landingGeneral-284520-NL.html', children: []}, { id:'61218', label:"Beurstrommelen",url_href:'/editorial/wide/editorial-61218-NL.html', children: []}, { id:'330870', label:"Global Investment Challenge",url_href:'/editorial/wide/editorial-330870-NL.html', children: []} ]} ]}, { id:'49168', label:"De gongslag",url_href:'',children: [ { id:'21967', label:"Overzicht",url_href:'/editorial/wide/editorial-21967-NL.html',children : [ ]}, { id:'22517', label:"Actueel",url_href:'/bellsceremonies/BellEventsList-22517-NL.html',children : [ ]}, { id:'167720', label:"Archief",url_href:'/bellsceremonies/archives/BellEventsList-167720-NL.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("