var menuData = { // construction du menu en notation JSON menuObject : [ { id:'18872', label:"Market information",url_href:'',children: [ { id:'18918', label:"Overview",url_href:'/landing/productLookup-18918-EN.html',children: [ ]}, { id:'1615', label:"Euronext N.V. Financials",url_href:'',children: [ { id:'1969', label:"Home",url_href:'/aboutus/investor/investor-1969-EN.html',children : [ ]}, { id:'8511', label:"NYSE Euronext merger history",url_href:'',children : [ { id:'8660', label:"Offer",url_href:'/editorial/wide/editorial-8661-EN.html', children: []}, { id:'7703', label:"Regulatory Filings",url_href:'/editorial/wide/editorial-7703-EN.html', children: []} ]}, { id:'1963', label:"Euronext N.V.",url_href:'',children : [ { id:'1947', label:"History",url_href:'/editorial/wide/editorial-1993-EN.html', children: []} ]}, { id:'1966', label:"IR archives",url_href:'',children : [ { id:'2032', label:"Results",url_href:'/aboutus/documentation/documentation-2032-EN.html', children: []}, { id:'2029', label:"Annual reports",url_href:'/editorial/wide/editorial-2029-EN.html', children: []}, { id:'2024', label:"Shareholders meeting",url_href:'/editorial/wide/editorial-2024-EN.html', children: []}, { id:'2031', label:"AMF prospectus",url_href:'/editorial/wide/editorial-2031-EN.html', children: []} ]} ]}, { id:'12508', label:"Global Market Data",url_href:'',children: [ { id:'12702', label:"Overview",url_href:'/landing/landingGeneral-12702-EN.html',children : [ ]}, { id:'2412', label:"Selection",url_href:'',children : [ { id:'3290', label:"Contracts",url_href:'/editorial/wide/editorial-3290-EN.html', children: []}, { id:'3989', label:"Fees",url_href:'/editorial/wide/editorial-3989-EN.html', children: []}, { id:'2403', label:"Technical documentation",url_href:'/editorial/wide/editorial-3988-EN.html', children: []} ]} ]}, { id:'59119', label:"Prime Source",url_href:'',children: [ { id:'59120', label:"About Prime Source",url_href:'/landing/landingGeneral-59120-EN.html',children : [ ]}, { id:'59121', label:"A comprehensive offer",url_href:'',children : [ { id:'59126', label:"An informed choice",url_href:'/landing/landingGeneral-59126-EN.html', children: []}, { id:'59127', label:"A unique combination of services",url_href:'/landing/landingGeneral-59127-EN.html', children: []}, { id:'59128', label:"Bespoke solutions",url_href:'/landing/landingGeneral-59128-EN.html', children: []} ]}, { id:'59718', label:"Prime Source Integral",url_href:'',children : [ { id:'59122', label:"An independent valuation service",url_href:'/landing/landingGeneral-59122-EN.html', children: []}, { id:'59720', label:"The Integral process",url_href:'/landing/landingGeneral-59720-EN.html', children: []} ]}, { id:'59719', label:"Prime Source Echo",url_href:'',children : [ { id:'59123', label:"A swift and simple valuation solution",url_href:'/landing/landingGeneral-59123-EN.html', children: []}, { id:'59721', label:"The Echo process",url_href:'/landing/landingGeneral-59721-EN.html', children: []}, { id:'158920', label:"Contributors",url_href:'/editorial/wide/editorial-158920-EN.html', children: []} ]}, { id:'59124', label:"Publications",url_href:'/landing/landingGeneral-59124-EN.html',children : [ ]}, { id:'60368', label:"Prime Source in 30’’",url_href:'/editorial/wide/editorial-60368-EN.html',children : [ ]}, { id:'59125', label:"Contacts",url_href:'/landing/landingGeneral-59125-EN.html',children : [ ]} ]}, { id:'12507', label:"Indices",url_href:'',children: [ { id:'12701', label:"Overview",url_href:'/landing/equitiesOP-12701-EN.html',children : [ ]}, { id:'8810', label:"Indices news",url_href:'',children : [ { id:'8811', label:"New indices",url_href:'/editorial/wide/editorial-8812-EN.html', children: []}, { id:'1729', label:"Indices news",url_href:'/news/allnews/productnews/news-1729-EN.html', children: []} ]}, { id:'1908', label:"Index Rules",url_href:'/editorial/documentation/wide/documents-1908-EN.html',children : [ ]}, { id:'1702', label:"Global indices",url_href:'',children : [ { id:'1864', label:"Global indices",url_href:'/trader/indices/globalIndices-1864-EN.html', children: []}, { id:'1866', label:"Market watch",url_href:'/trader/marketwatch/marketwatch-2915-EN.html', children: []}, { id:'1863', label:"Price list",url_href:'/trader/priceslists/priceslistsindices-1863-EN.html', children: []}, { id:'1867', label:"Indices composition",url_href:'/trader/indicescomposition/allindices-1867-EN.html', children: []}, { id:'1868', label:"Licensing",url_href:'/editorial/wide/editorial-1868-EN.html', children: []}, { id:'1865', label:"News",url_href:'/news/notices/notices-2750-EN.html', children: []} ]}, { id:'1700', label:"National indices",url_href:'',children : [ { id:'1876', label:"National indices",url_href:'/trader/indices/nationalIndices-1876-EN.html', children: []}, { id:'1875', label:"Market watch",url_href:'/trader/marketwatch/marketwatch-2935-EN.html', children: []}, { id:'1879', label:"Price list",url_href:'/trader/priceslists/priceslistsindices-1879-EN.html', children: []}, { id:'1878', label:"Indices composition",url_href:'/trader/indicescomposition/compoindices_national-1878-EN.html', children: []}, { id:'1877', label:"Licensing",url_href:'/editorial/wide/editorial-1877-EN.html', children: []}, { id:'1874', label:"News",url_href:'/news/notices/notices-2766-EN.html', children: []} ]}, { id:'1703', label:"Sectorial indices",url_href:'',children : [ { id:'1906', label:"Sectorial indices",url_href:'/trader/indices/sectorialIndices-1906-EN.html', children: []}, { id:'1907', label:"Market watch",url_href:'/trader/marketwatch/marketwatch-2908-EN.html', children: []}, { id:'1904', label:"Price list",url_href:'/trader/priceslists/priceslistsindices-1904-EN.html', children: []}, { id:'1909', label:"Indices composition",url_href:'/trader/indicescomposition/allindices_sectorialindices-1909-EN.html', children: []}, { id:'1905', label:"Licensing",url_href:'/editorial/wide/editorial-1905-EN.html', children: []}, { id:'1902', label:"News",url_href:'/news/notices/notices-2772-EN.html', children: []}, { id:'1903', label:"ICB classification",url_href:'/trader/productinfo/ftseclassification/ftseclassification-1903-EN.html', children: []} ]}, { id:'1701', label:"Other indices",url_href:'',children : [ { id:'1883', label:"Other indices",url_href:'/trader/indices/otherIndices-1883-EN.html', children: []}, { id:'1827', label:"Volatility indices",url_href:'/editorial/wide/editorial-3955-EN.html', children: []}, { id:'1880', label:"Licensing",url_href:'/editorial/wide/editorial-1880-EN.html', children: []}, { id:'1884', label:"News",url_href:'/news/notices/notices-2850-EN.html', children: []} ]}, { id:'7321', label:"Statistics",url_href:'',children : [ { id:'7345', label:"Summary",url_href:'/editorial/wide/editorial-7345-EN.html', children: []}, { id:'7347', label:"Global",url_href:'/editorial/wide/editorial-7347-EN.html', children: []}, { id:'7346', label:"Amsterdam",url_href:'/editorial/wide/editorial-7346-EN.html', children: []}, { id:'7348', label:"Brussels",url_href:'/editorial/wide/editorial-7348-EN.html', children: []}, { id:'7349', label:"Lisbon",url_href:'/editorial/wide/editorial-7349-EN.html', children: []}, { id:'7350', label:"Paris",url_href:'/editorial/wide/editorial-7350-EN.html', children: []} ]}, { id:'2404', label:"Index services",url_href:'',children : [ { id:'3974', label:"Index services",url_href:'/editorial/wide/editorial-3974-EN.html', children: []}, { id:'3975', label:"Market data modules",url_href:'/editorial/wide/editorial-3975-EN.html', children: []}, { id:'3976', label:"Index File Service",url_href:'/editorial/wide/editorial-3976-EN.html', children: []}, { id:'3978', label:"Licenses",url_href:'/editorial/wide/editorial-3978-EN.html', children: []}, { id:'3977', label:"Customized indices",url_href:'/editorial/wide/editorial-3977-EN.html', children: []}, { id:'3994', label:"Ordering",url_href:'/editorial/wide/editorial-3994-EN.html', children: []} ]} ]}, { id:'20563', label:"Statistics",url_href:'',children: [ { id:'8301', label:"Overview",url_href:'/statisticscentre/landing/statistics-8301-EN.html',children : [ ]}, { id:'20565', label:"Equities",url_href:'',children : [ { id:'20767', label:"Per period/topic",url_href:'/editorial/wide/editorial-20770-EN.html', children: []}, { id:'20768', label:"Per region",url_href:'/editorial/wide/editorial-20786-EN.html', children: []}, { id:'20769', label:"Discontinued reports",url_href:'/editorial/wide/editorial-20769-EN.html', children: []} ]}, { id:'20566', label:"Futures/Options",url_href:'',children : [ { id:'20792', label:"Per period/topic",url_href:'/editorial/wide/editorial-20795-EN.html', children: []}, { id:'20793', label:"Per region",url_href:'/editorial/wide/editorial-20801-EN.html', children: []}, { id:'20794', label:"Discontinued reports",url_href:'/editorial/wide/editorial-20794-EN.html', children: []} ]}, { id:'20567', label:"Indices",url_href:'',children : [ { id:'21919', label:"Per region",url_href:'/editorial/wide/editorial-20779-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) { menuData.anchorElement = elt; menuData.channelIDSelected = visibleNode ; menuData.buildSubMenu(elt, menuData.menuObject, 1); menuData.anchorElement.select("li.extensible").each(function(item) { item.addClassName("collapsed"); item.addClassName("collapsed-level"+item.level); }); var referenceChannel=$(visibleNode); menuData.focusedElement = $(visibleNode) ; 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("
"+item.label+"
"); li.addClassName("extensible"); li.collapseMenu=menuFct.collapseMenu; li.expandMenu=menuFct.expandMenu; var subUl = menuData.buildSubMenu(li, item.children, level+1); subUl.hide(); } else li.update("
"+item.label+"
"); ul.insert(li); }); elt.insert(ul); return ul; } }; var menuFct = { collapseMenu : function () { var elt = $(this); if (elt.hasClassName("collapsed")) return; elt.removeClassName("expanded"); elt.removeClassName("expanded-level"+elt.level); elt.addClassName("collapsed"); elt.addClassName("collapsed-level"+elt.level); var toHide = elt.childElements()[1]; Effect.BlindUp(toHide, { duration: 0.2 }); // collapse children recursively elt.select('li.expanded').each(function(child) { child.collapseMenu() ; }) ; }, expandMenu : function () { var elt = $(this); // expand if not done yet if (!elt.hasClassName("expanded")) { elt.addClassName("expanded"); elt.addClassName("expanded-level"+elt.level); elt.removeClassName("collapsed"); elt.removeClassName("collapsed-level"+elt.level); var toShow = elt.childElements()[1]; Effect.BlindDown(toShow, { duration: 0.3 }); } // collapse sibblings elt.siblings().each(function(sib) { if (sib.match("li.extensible", "expanded")) sib.collapseMenu(); }); // expand father recursively var fatherToExpand = elt.up('.extensible'); if (fatherToExpand != undefined) fatherToExpand.expandMenu(); } }; var backToRefID = null; function menuOverObserver(e) { var element = Event.element(e); if (element.descendantOf(menuData.anchorElement)) // Over menu { // Just entered -> Cancel the back to reference channel callback if (backToRefID != null) { clearTimeout(backToRefID); backToRefID = null; } } // Not over menu and trigger not set yet else if (backToRefID == null) { // Trigger the back to reference channel callback backToRefID = setTimeout(function() { // open the reference node if (menuData.referenceChannel != undefined) { menuData.referenceChannel.expandMenu(); // collpase the children of the reference element menuData.referenceChannel.select('.expanded').each(function(child) { child.collapseMenu() ; }) ; } // collapse the brothers of the active element if (menuData.focusedElement != undefined) { menuData.focusedElement.siblings().each(function(sib) { if (sib.match("li.extensible", "expanded")) sib.collapseMenu() ; }) ; } }, 5000); } } function menuClickObserver(e) { var elt = Event.element(e); // Skip links if (elt.match("a div")||elt.match("a")) return; // Get the first extensible parent var extensibleParent = elt.match("li.extensible")?elt:elt.up("li.extensible"); // If not found, we're not in the menu if (extensibleParent == undefined) return; if (extensibleParent.expandMenu != undefined) // If found { if (extensibleParent.hasClassName("expanded")) extensibleParent.collapseMenu(); else extensibleParent.expandMenu(); e.stop(); } }