3 <title>The source code</title>
\r
4 <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
\r
5 <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
\r
7 <body onload="prettyPrint();">
\r
8 <pre class="prettyprint lang-js">Ext.onReady(function(){
\r
12 function createMenu(name){
\r
13 var el = Ext.get(name+'-link');
\r
14 var tid = 0, menu, doc = Ext.getDoc();
\r
16 var handleOver = function(e, t){
\r
17 if(t != el.dom && t != menu.dom && !e.within(el) && !e.within(menu)){
\r
22 var hideMenu = function(){
\r
25 el.setStyle('text-decoration', '');
\r
26 doc.un('mouseover', handleOver);
\r
27 doc.un('mousedown', handleDown);
\r
31 var handleDown = function(e){
\r
32 if(!e.within(menu)){
\r
37 var showMenu = function(){
\r
42 menu = new Ext.Layer({shadow:'sides',hideMode: 'display'}, name+'-menu');
\r
44 menu.hideMenu = hideMenu;
\r
47 if(activeMenu && menu != activeMenu){
\r
48 activeMenu.hideMenu();
\r
52 if (!menu.isVisible()) {
\r
54 menu.alignTo(el, 'tl-bl?');
\r
56 el.setStyle('text-decoration', 'underline');
\r
58 doc.on('mouseover', handleOver, null, {buffer:150});
\r
59 doc.on('mousedown', handleDown);
\r
63 el.on('mouseover', function(e){
\r
65 tid = showMenu.defer(150);
\r
69 el.on('mouseout', function(e){
\r
70 if(tid && !e.within(el, true)){
\r
77 createMenu('products');
\r
78 createMenu('support');
\r
79 createMenu('store');
\r
82 Ext.getBody().on('click', function(e, t){
\r
86 var bd = t.next('div.expandable-body');
\r
87 bd.enableDisplayMode();
\r
88 var bdi = bd.first();
\r
89 var expanded = bd.isVisible();
\r
96 bdi.slideIn('l', {duration:0.2, stopFx: true, easing:'easeOut'});
\r
99 t.update(!expanded ? 'Hide details' : 'Show details');
\r
101 }, null, {delegate:'a.expander'});
\r