From eff200a55c64dd89d33b69603a5bd12b5c8b6ad4 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Wed, 5 May 2010 14:12:12 -0600 Subject: [PATCH] Fix positioning when popup is too far right. --- horde/js/KeyNavList.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/horde/js/KeyNavList.js b/horde/js/KeyNavList.js index 435b8f848..22700e607 100644 --- a/horde/js/KeyNavList.js +++ b/horde/js/KeyNavList.js @@ -150,15 +150,22 @@ var KeyNavList = Class.create({ _sizeDiv: function() { - var l, w, + var l = parseInt(this.div.getStyle('left'), 10); t = parseInt(this.div.getStyle('top'), 10), - v = document.viewport.getDimensions(); - - if ((this.div.getHeight() + t + 10) > v.height) { - l = parseInt(this.div.getStyle('left'), 10); + v = document.viewport.getDimensions(), w = (this.div.offsetWidth * 2) - this.div.scrollWidth; - this.div.setStyle({ height: (v.height - t - 10) + 'px', left: (((l + w + 10) > v.width) ? (v.width - w - 20) : l) + 'px', width: (w + 10) + 'px' }); + if ((this.div.getWidth() + l + 10) > v.width) { + l = (v.width - w - 10); + this.div.setStyle({ left: l + 'px' }); + } + + if ((this.div.getHeight() + t + 10) > v.height) { + this.div.setStyle({ + height: (v.height - t - 10) + 'px', + left: (l - 10) + 'px', + width: (w + 10) + 'px' + }); } if (this.iefix) { -- 2.11.0