From 28f45434f4f19d02fa219f5e90dc11bf8e828fcf Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Wed, 31 Oct 2007 17:16:14 +0000 Subject: [PATCH] Monotone-Parent: 524b4bce2ab03027f260f0ff2d06704b97dba44c Monotone-Revision: 8598aa9f30108405c0f497eeedf0113568115c19 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-10-31T17:16:14 Monotone-Branch: ca.inverse.sogo --- UI/WebServerResources/generic.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index 5581a0084..5498edf5a 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -546,8 +546,20 @@ function popupMenu(event, menuId, target) { hideMenu(document.currentPopupMenu); var popup = $(menuId); - var menuTop = Event.pointerY(event); - var menuLeft = Event.pointerX(event); + + var deltaX = 0; + var deltaY = 0; + + var pageContent = $("pageContent"); + if (popup.parentNode.tagName != "BODY") { + var offset = pageContent.cascadeLeftOffset(); + deltaX = -($(popup.parentNode).cascadeLeftOffset() - offset); + offset = pageContent.cascadeTopOffset(); + deltaY = -($(popup.parentNode).cascadeTopOffset() - offset); + } + + var menuTop = Event.pointerY(event) + deltaY; + var menuLeft = Event.pointerX(event) + deltaX; var heightDiff = (window.height() - (menuTop + popup.offsetHeight)); if (heightDiff < 0)