ZMenu = {
	_curmenu: null,
	_hidefunc: null,
	findPos: function(obj) {
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft;
			curtop = obj.offsetTop;
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			}
		}
		return [curleft,curtop];
	},
	open: function (controller, id) {
		ZMenu.hide();
		var pos = ZMenu.findPos(controller);
		ZMenu._curmenu = document.getElementById(id);
		ZMenu._curmenu.style.display = '';
		ZMenu._curmenu.style.left = pos[0] + "px";
		ZMenu._curmenu.style.top = (pos[1]+controller.offsetHeight) + "px";
	},
	hide: function () {
		if (ZMenu._curmenu) ZMenu._curmenu.style.display = 'none';
		ZMenu.clear();
	},
	close: function ()
	{
		ZMenu._hidefunc = setTimeout(ZMenu.hide, 250);
	},
	clear: function() {
		clearTimeout(ZMenu._hidefunc);
	}
};