var menuItems;
var subMenuItems;

getElement = function(ele)
{
	if (ele && typeof ele == "string")
		return document.getElementById(ele);
	return ele;
};


hasClassName = function(ele, className)
{
	if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
	{
		return false;
	}
	return true;
};

addClassName = function(id, className)
{
	var ele = getElement(id);
	if (!ele || !className || this.hasClassName(ele, className))
		return;
	ele.className += (ele.className ? " " : "") + className;
};

addClassName = function(id, className, offset)
{
	var ele = getElement(id);
	if (!ele || !className || this.hasClassName(ele, className))
		return;
	ele.className += (ele.className ? " " : "") + className;
	ele.style.left = offset +"px";
};

removeClassName = function(id, className)
{
	var ele = getElement(id);
	if (!ele || !className || !this.hasClassName(ele, className))
		return;
	ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
	ele.style.left = "-1000px";
};

registerMenuItems = function(items, subItems) {
	menuItems = items;			
	subMenuItems = subItems;
}

clickMenu = function(id, offset) {

	var ele = getElement(id);
	if (hasClassName(ele, 'visibleMenuItemDiv')) 
		removeClassName(id, 'visibleMenuItemDiv');
	else {
		disableMenus(id);
		addClassName(id, 'visibleMenuItemDiv', offset);
	}
};

openSubMenuItem = function(id) {
	
	var ele = getElement(id);
	closeSubMenuItems(id);
	addClassName(id, 'subMenuItemOpenDiv');
};

disableMenus = function(exception) {
	for(var i = 0; i < menuItems.length; i++) {
		if (menuItems[i] != exception) {
			removeClassName(menuItems[i], "visibleMenuItemDiv");
		}	
	}
};

closeSubMenuItems = function(exception) {
	for(var i = 0; i < subMenuItems.length; i++) {
		if (subMenuItems[i] != exception) {
			removeClassName(subMenuItems[i], "subMenuItemOpenDiv");
		}	
	}	
};
