Monotone-Parent: 2303b51b776f8ba14da83e3a05e92f43b13279cc

Monotone-Revision: eeacd02d8b13bdfa77275e74d14f7175e508e254

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-05-25T21:12:46
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-05-25 21:12:46 +00:00
parent 8b02b7fe51
commit c452905cb6
5 changed files with 360 additions and 112 deletions
+33 -31
View File
@@ -621,36 +621,37 @@ function backtrace() {
}
function dropDownSubmenu(event) {
var node = this;
if (this.submenu && this.submenu != "") {
var submenuNode = document.getElementById(this.submenu);
var parentNode = getParentMenu(node);
if (parentNode.submenu)
hideMenu(event, parentNode.submenu);
submenuNode.parentMenuItem = node;
submenuNode.parentMenu = parentNode;
parentNode.submenuItem = node;
parentNode.submenu = submenuNode;
var menuTop = (node.offsetTop - 2);
var heightDiff = (window.innerHeight
- (menuTop + submenuNode.offsetHeight));
if (heightDiff < 0)
menuTop += heightDiff;
var menuLeft = parentNode.offsetWidth - 3;
if (window.innerWidth
< (menuLeft + submenuNode.offsetWidth
+ parentNode.cascadeLeftOffset()))
menuLeft = - submenuNode.offsetWidth + 3;
parentNode.setAttribute('onmousemove', 'checkDropDown(event);');
node.setAttribute('class', 'submenu-selected');
submenuNode.setStyle({ top: menuTop + "px",
left: menuLeft + "px",
visibility: "visible" });
}
var node = this;
if (this.submenu && this.submenu != "") {
log ("submenu: " + this.submenu);
var submenuNode = $(this.submenu);
var parentNode = getParentMenu(node);
if (parentNode.submenu)
hideMenu(event, parentNode.submenu);
submenuNode.parentMenuItem = node;
submenuNode.parentMenu = parentNode;
parentNode.submenuItem = node;
parentNode.submenu = submenuNode;
var menuTop = (node.offsetTop - 2);
var heightDiff = (window.innerHeight
- (menuTop + submenuNode.offsetHeight));
if (heightDiff < 0)
menuTop += heightDiff;
var menuLeft = parentNode.offsetWidth - 3;
if (window.innerWidth
< (menuLeft + submenuNode.offsetWidth
+ parentNode.cascadeLeftOffset()))
menuLeft = - submenuNode.offsetWidth + 3;
parentNode.setAttribute('onmousemove', 'checkDropDown(event);');
node.setAttribute('class', 'submenu-selected');
submenuNode.setStyle({ top: menuTop + "px",
left: menuLeft + "px",
visibility: "visible" });
}
}
function checkDropDown(event) {
@@ -957,7 +958,8 @@ function initMenu(menuDIV, callbacks) {
}
}
else
Event.observe(node, "mouseup", callback);
Event.observe(node, "mouseup",
$(callback).bindAsEventListener(node));
}
else
node.addClassName("disabled");