3 * Copyright(c) 2006-2010 Ext JS, Inc.
5 * http://www.extjs.com/license
7 Ext.onReady(function(){
11 function createMenu(name){
12 var el = Ext.get(name+'-link');
13 var tid = 0, menu, doc = Ext.getDoc();
15 var handleOver = function(e, t){
16 if(t != el.dom && t != menu.dom && !e.within(el) && !e.within(menu)){
21 var hideMenu = function(){
24 el.setStyle('text-decoration', '');
25 doc.un('mouseover', handleOver);
26 doc.un('mousedown', handleDown);
30 var handleDown = function(e){
36 var showMenu = function(){
41 menu = new Ext.Layer({shadow:'sides',hideMode: 'display'}, name+'-menu');
43 menu.hideMenu = hideMenu;
46 if(activeMenu && menu != activeMenu){
47 activeMenu.hideMenu();
51 if (!menu.isVisible()) {
53 menu.alignTo(el, 'tl-bl?');
55 el.setStyle('text-decoration', 'underline');
57 doc.on('mouseover', handleOver, null, {buffer:150});
58 doc.on('mousedown', handleDown);
62 el.on('mouseover', function(e){
64 tid = showMenu.defer(150);
68 el.on('mouseout', function(e){
69 if(tid && !e.within(el, true)){
76 createMenu('products');
77 createMenu('support');
81 Ext.getBody().on('click', function(e, t){
85 var bd = t.next('div.expandable-body');
86 bd.enableDisplayMode();
88 var expanded = bd.isVisible();
95 bdi.slideIn('l', {duration:0.2, stopFx: true, easing:'easeOut'});
98 t.update(!expanded ? 'Hide details' : 'Show details');
100 }, null, {delegate:'a.expander'});