function $my(id) {return document.getElementById(id);}
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}
function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
var currPcnNav=null;
var s_t_o;
function t_showmenu(o, id){
	var offLeft = findPosX(o);
	var offTop = findPosY(o);

	shwPcnNav(id,offLeft,offTop);
	o.onmouseout = function() {
		s_t_o = setTimeout(function(){hidPcnNav(id);},100);
	}
	$my(id).onmouseover = function() {
		if(s_t_o) {
			clearTimeout(s_t_o);
		}
	}
	if(!document.all){
		$my(id).onmouseout=function(e){
			e=e||window.event;
			var oRT=e.relatedTarget;

			if(oRT&&oRT!=this&&!isSubNode(this,oRT)){
				hidPcnNav(id);
			}
		}
	} else {
		$my(id).onmouseleave = function() {
			hidPcnNav(id);
		}
	}
}
function isSubNode(oNode,oSubNode){
    oNode=oNode instanceof String?$(oNode):oNode;
    oSubNode=oSubNode instanceof String?$(oSubNode):oSubNode;

    var ParNode=oSubNode.parentNode;
    var isSub=false;

    while(ParNode&&ParNode.tagName!="HTML"){
        if(ParNode==oNode){
            isSub=true;
            break;
        }else{
            ParNode=ParNode.parentNode;
        }
    }
    return isSub;
}
function shwPcnNav(o,n,t){
	//currPcnNav?hidPcnNav(currPcnNav):"";
	currPcnNav = o;
	$my(o).style.left=(n-3)+"px";
	$my(o).style.top=(t+35)+"px";
	$my(o).style.display="";
}
function hidPcnNav(o){
	$my(o).style.display="none";
}
function hide_all() {
	currPcnNav?hidPcnNav(currPcnNav):"";
}