/* * Meny for NKK */ var getApplicationBaseUrl = function() { var loc = window.location.pathname; loc = loc.substring(0, loc.indexOf("/", 1)); return loc; } Ext.BLANK_IMAGE_URL = getApplicationBaseUrl() + "/util/ext-2.2/resources/images/default/s.gif"; var contextMenu = function() { var h = null; var menus = new Array(); var createMenu = function(id, el) { var menu = new Ext.menu.Menu({ id: id, defaultAlign: 'tl-tr' }); if (el) { menu.on('hide', menuHidden); } menus[id] = menu; return menu; } var menuHidden = function(menu) { if (h != null) { h.className = "mainMenu"; h = null; } } var createMenuItem = function(m, data) { var cls = 'x-menu-item'; if (menu[data.id] && !data.link) { cls = 'x-menu-item x-menu-item-arrow'; } var s = m.add({ id: data.id, text: data.name, parent: m.id, itemCls: cls }); s.on('click', function(item) { location = "openIndex?ARTICLE_ID=" + item.id; }); if (data.link) return; s.on('activate', itemActivated); s.on('deactivate', itemDeactivated); return s; } var itemActivated = function(item) { var id = item.id; if (menu[id] && (menu[id].length > 0)) { if (! menus[id]) { createMenu(id); for (var i = 0; i < menu[id].length; i++) { var s = createMenuItem(menus[id], menu[id][i]); } } menus[id].show(item.getEl(), null, menus[item.parent]); } } var itemDeactivated = function(m) { var a = menus[m.id]; if (a != null && a.hide) { a.hide(); } } var showItem = function(id, el) { if (! menus[id]) { createMenu(id, el); if (menu[id].length > 0) { for (var i = 0; i < menu[id].length; i++) { var s = createMenuItem(menus[id], menu[id][i]); } } } menus[id].show(el); if (h != null) { h.className = "mainMenu"; } h = el; h.className = "mainMenuHover"; } return { show : function(el) { if (ext_menu_loading) { return; } var id = el.id.substr(el.id.indexOf('_') + 1); showItem(id, el); } } }();