var timeouts = new Object;	
var openMenus = new Object; // added to keep track of open menus, so we can close them all at once if we need to

function menuOff(id) {
	if (openMenus[id] == 0) { // if this menu is already closed, return false
		return false;
	};
	
	openMenus[id] = 0; // store the 'closed' flag value

	var obj = document.getElementById(id);
	if (obj == null) { return false; };
		
	var d = obj.style.display

	document.getElementById(id).style.display = 'none';
};
	
function menuOn(caller, id) {
	if (openMenus[id] == 1) { // if this menu's already opened, return false
		return false;
	};
	
	for (i in openMenus) { // close all open menus
		menuOff(i);
	};
	
	var obj = document.getElementById(id);
	if (obj == null) { return false; };

	var x = findPosX(caller);
	var y = findPosY(caller);
/*@cc_on
		x += 0; 
		y += caller.offsetHeight + 9;
	/*@if (1)
	@else @*/
	x += caller.offsetHeight + 0;
	y += caller.offsetHeight + 9;
	/*@end
@*/
	x = x + 'px';
	y = y + 'px';
	obj.style.left = x;
	obj.style.top  = y;
	obj.style.display = 'block';
	
	openMenus[id] = 1; // store the 'open' flag value
	
	return true;
};

function toggleMenu(caller, id) { // caller: object, id: id
	var obj = document.getElementById(id);
	if (obj == null) { return false; };
		
	var d = obj.style.display
	if (d == 'block') {
		timeouts[id] = setTimeout("menuOff('" + id + "')", 200);
	} else {
		menuOn(caller, id);
	};
	return true;
};
	
function getSticky(id) {
	clearTimeout(timeouts[id]);
};
