		function getBodyScrollTop()
		{
		  return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
		}

		function hideAllMenu()
		{
			window.clearTimeout(document.timer);
			var elems = document.getElementsByTagName('div');
			for(var i in elems)
				if(elems[i].id != undefined && elems[i].id.indexOf('popupmenu') > -1)
					elems[i].style.display = 'none';
		}
		
		function showMenu(parentElement, menuElementId)
		{
			hideAllMenu();
			var menu = document.getElementById(menuElementId);
			var top, left;
			top = parentElement.getBoundingClientRect().top + parentElement.offsetHeight;
			left = parentElement.getBoundingClientRect().left;
			if(document.offsetWidth < left + menu.offsetWidth)
				left = document.offsetWidth - menu.offsetWidth;
			menu.style.top = top + getBodyScrollTop() + 3 + 'px';
			menu.style.left = left + 'px';
			menu.style.display = 'block';
		}
		
		function hideMenu()
		{
			document.timer = window.setTimeout('hideAllMenu()', 500);
		}

