diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js index bf15bbd58..64b6bbad8 100644 --- a/UI/WebServerResources/MailerUI.js +++ b/UI/WebServerResources/MailerUI.js @@ -1896,7 +1896,7 @@ function _onMenuLabelFlagX(flag) { if (document.menuTarget.tagName == "DIV") // Menu called from message content view messages.set(Mailer.currentMessages[Mailer.currentMailbox], - $('tr#row_' + Mailer.currentMessages[Mailer.currentMailbox]).getAttribute("labels")); + $('row_' + Mailer.currentMessages[Mailer.currentMailbox]).getAttribute("labels")); else if (Object.isArray(document.menuTarget)) // Menu called from multiple selection in messages list view $(document.menuTarget).collect(function(row) { diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index 6fb99f911..c4e3b4a6b 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -1216,29 +1216,36 @@ function initMenus() { } function initMenu(menuDIV, callbacks) { - var lis = menuDIV.down("ul").childNodesWithTag("li"); - for (var j = 0; j < lis.length; j++) { - var node = $(lis[j]); - node.observe("mousedown", listRowMouseDownHandler, false); - var callback = callbacks[j]; - if (callback) { - if (typeof(callback) == "string") { - if (callback == "-") - node.addClassName("separator"); - else { - node.submenu = callback; - node.addClassName("submenu"); - node.observe("mouseover", popupSubmenu); - } - } - else { - node.observe("mouseup", onBodyClickMenuHandler); - node.menuCallback = callback; - node.observe("click", onMenuClickHandler); + var uls = menuDIV.childNodesWithTag("ul"); + for (var i = 0; i < uls.length; i++) { + var lis = $(uls[i]).childNodesWithTag("li"); + for (var j = 0; j < lis.length; j++) { + var node = $(lis[j]); + node.observe("mousedown", listRowMouseDownHandler, false); + var callback; + if (i > 0) + callback = callbacks[i+j+1]; + else + callback = callbacks[i+j]; + if (callback) { + if (typeof(callback) == "string") { + if (callback == "-") + node.addClassName("separator"); + else { + node.submenu = callback; + node.addClassName("submenu"); + node.observe("mouseover", popupSubmenu); + } + } + else { + node.observe("mouseup", onBodyClickMenuHandler); + node.menuCallback = callback; + node.observe("click", onMenuClickHandler); + } } + else + node.addClassName("disabled"); } - else - node.addClassName("disabled"); } }