function hasClass (ele,cls)
{
	if(ele != null)
		return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass (ele,cls)
{
	if(!hasClass(ele,cls)) ele.className += " " + cls;
}

function removeClass(ele,cls)
{
	if (hasClass(ele,cls))
	{
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className = ele.className.replace(reg,' ');
	}
}




function luna_addEvent(obj, evType, fn)
{
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, false);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

var menuList = ["menu"];
function menuHandler()
{
	if(menuList.length>0)
	{
		for(i=0; i<menuList.length; i++)
		{
			var menu_element = getel(menuList[i]);
			var sub_menues = menu_element.getElementsByTagName('ul');
			if(sub_menues)
			{
				if(sub_menues.length>0)
				{
					for(u=0; u<sub_menues.length; u++)
					{
						sub_menues[u].style.display = 'none';
						sub_menues[u].parentNode.onmouseover = function()
						{
							var sub_menu_list = this.getElementsByTagName('ul')[0];
							if(sub_menu_list)
							{
								holder_li = sub_menu_list.parentNode;
								holder_a = holder_li.getElementsByTagName('a')[0];

								sub_menu_list.style.display = 'block';
								addClass(getel(holder_a), "active");
							}
						};
						
						sub_menues[u].parentNode.onmouseout = function()
						{
							
							var sub_menu_list = this.getElementsByTagName('ul')[0];
							if(sub_menu_list)
							{
								removeClass(getel(holder_a), "active");
								removeClass(getel(this.getElementsByTagName("A")[0]), "active");
								sub_menu_list.style.display = 'none';
							}
						};
					}
				}
			}
		}
	}
}
luna_addEvent(window, 'load', menuHandler);
function getel(elementID)
{
	if( typeof elementID == "string")
		return document.getElementById(elementID);
	else
		return elementID;
}