rem: var offset = Position.getScrollOffset(); 
add: var offset = window.getScrollOffset(); 
context: 	populateData: function(data, level) {		if (!$('contentMenu0')) this.addClickmenuItem();		level = parseInt(level) || 0;		var obj = $('contentMenu' + level);		if (obj && (level == 0 || Element.visible('contentMenu' + (level-1)))) {			obj.innerHTML = data;			var x = this.mousePos.X;			var y = this.mousePos.Y;			var dimsWindow = window.getDimensions();			dimsWindow.width = dimsWindow.width-20; // saving margin for scrollbars			var dims = Element.getDimensions(obj); // dimensions for the clickmenu			var offset = Position.getScrollOffset();			var relative = { X: this.mousePos.X - offset.left, Y: this.mousePos.Y - offset.top };			// adjusting the Y position of the layer to fit it into the window frame			// if there is enough space above then put it upwards,			// otherwise adjust it to the bottom of the window			if (dimsWindow.height - dims.height < relative.Y) {				if (relative.Y > dims.height) {					y -= (dims.height - 10);				} else {					y += (dimsWindow.height - dims.height - relative.Y);				}			}			// adjusting the X position like Y above, but align it to the left side of the viewport if it does not fit completely			if (dimsWindow.width - dims.width < relative.X) {				if (relative.X > dims.width) {					x -= (dims.width - 10);				} else if ((dimsWindow.width - dims.width - relative.X) < offset.left) {					x = offset.left;				}				else {					x += (dimsWindow.width - dims.width - relative.X);				}			}			obj.style.left = x + 'px';			obj.style.top  = y + 'px';			Element.show(obj);		}		if (/MSIE5/.test(navigator.userAgent)) {			this._toggleSelectorBoxes('hidden');		}	},
meta: 9100	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/9100/020677da75dccbc161fe9845d8479d09e9d44473/clickmenu.js/buggy/typo3/js/clickmenu.js