var currentMenu = null
var currentSubmenu = null
function showMenu(obj){
	
	if(currentSubmenu){
		currentSubmenu.style.display = "none"
	}
	currentMenu = obj
	//currentMenu.className = "main active"
	var submenu = obj.nextSibling
	while(submenu && submenu.nodeName == "#text"){
		submenu = submenu.nextSibling
	}
	currentSubmenu = submenu;
	if(submenu && submenu.className == "n_submenu"){
		submenu.style.display = "";
	}
}
function hideMenu(event){
	
	
	
	if(document.all){
		var target = event.toElement
	}else{
		var target = event.target
	}
	while(target && target.nodeName != "BODY"){
		if(target == currentMenu){
			
		}
		if(target == currentSubmenu){
		}
		target = target.parentNode		
	}
	var pos = getPosition(event)
	var res = inElem(currentSubmenu, pos, false)
	var res1 = inElem(currentMenu, pos, currentSubmenu)
	
	if(res == false && res1==false){
		if(currentSubmenu){
			currentSubmenu.style.display = "none"
			currentSubmenu = null
		}
		if(currentMenu){
			currentMenu = null
		}
	}
}

function inElem(obj, pos, addElem){
	if(!obj)
		return false;
	var coor = getAbsolutePosition(obj)
	
	if(pos.x+1 <= coor.x || pos.x>= coor.x + obj.clientWidth){
		return false
	}
	if(!addElem){
		if(pos.y+1 <= coor.y || pos.y+1 >= coor.y + obj.clientHeight){
			return false
		}
	}
	else{
		if(pos.y+1 <= coor.y || pos.y+1 >= coor.y + obj.clientHeight){
			return false
		}
	}
	return true;
}


  function getAbsolutePosition(element) {
    var r = { x: element.offsetLeft, y: element.offsetTop };
    if (element.offsetParent) {
      var tmp = getAbsolutePosition(element.offsetParent);
      r.x += tmp.x;
      r.y += tmp.y;
    }
    return r;
  };


function getPosition(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
}
