﻿  <!--
/*
************************************************************
文件名:			menu.js
功能:			实现各种文件弹出菜单和桌面弹出菜单，执行效率更高，减少弹出延迟时间
1、定位弹出菜单以及右键弹出菜单功能；
2、自定义菜单图标、文字和事件
3、自动判断菜单所需宽度和高度
4、自定义菜单风格，实现包括win2000\windowXP\visual studio.net等菜单的风格
5、更好的兼容性

版本:			2.0
创建日期:		2006-9-14
作者:			宋宇晨
***********************************************************
待办任务列表：
***********************************************************

*/
var n=navigator.userAgent.toLowerCase();
var isIE = !!(n.indexOf("msie") >= 0 && document.all );
  
	var JustMenuList=new Array();	//全局菜单数组，用来判断不同的菜单
	var  menuRootUrl
	var objToolBar=null
	
if(typeof(siteRootUrl)!="undefined")
menuRootUrl=siteRootUrl+"/";
else
menuRootUrl="/";

var iconBaseUrl=menuRootUrl+"images/UI/";
 
/*
*****************************************************
函数名：	RightMenu
输入值:	MenuSign,菜单的标签
输出：	HTMLstr，菜单界面代码

*****************************************************
*/

function RightMenu(MenuSign,isHorizontal,ifShowLeftBar)
  {
    this.id=MenuSign;
    this.AddExtendMenu=AddExtendMenu;
    this.AddItem=AddItem;
    
    this.GetMenu=GetMenu;
    this.HideAll=HideAll;
    this.I_OnMouseOver=I_OnMouseOver;
    this.I_OnMouseOut=I_OnMouseOut;
    this.I_OnMouseUp=I_OnMouseUp;
    this.P_OnMouseOver=P_OnMouseOver;
    this.P_OnMouseOut=P_OnMouseOut;
    
    
    this.AddToolBarItem=AddToolBarItem;
    this.AddExtendToolBarMenu=AddExtendToolBarMenu;
    this.T_OnMouseOver=T_OnMouseOver;
    this.T_OnMouseOut=T_OnMouseOut;
    eval("A_"+this.id+"_rbpm=new Array();");
    JustMenuList[JustMenuList.length] = this.id+"_rbpm";
    
    HTMLstr="";

    var HTMLstrBuilder  = [];
    if(!isHorizontal)
    {
        HTMLstrBuilder.push("<!-- vvMenu -->\n");
        HTMLstrBuilder.push("\n");
        HTMLstrBuilder.push("<!-- vvMenu Starts -->\n");
        HTMLstrBuilder.push("<div id='E_"+this.id+"_rbpm' class='rm_div'><div class='innerBox'>\n");
        // rbpm = right button pop menu
        HTMLstrBuilder.push("<table  class='menutable2' border='0' cellspacing='0'>\n");
        
        if(ifShowLeftBar) HTMLstrBuilder.push("<tr><td  valign='bottom' class='menuLeftBar'  >&nbsp;</td>   <td ><table width='100%' border='0' cellspacing='0'  >\n");
        HTMLstrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+this.id+"_rbpm -->\n");
        HTMLstrBuilder.push("</table>\n");
        
	    if(ifShowLeftBar) HTMLstrBuilder.push("</td>  </tr></table>\n");
        HTMLstrBuilder.push("</div></div>\n");
        HTMLstrBuilder.push("<!-- Insert A Extend_Menu Area on Here For E_"+this.id+"_rbpm -->");
        HTMLstrBuilder.push("\n");
        HTMLstrBuilder.push("<!-- vvMenu Ends -->\n");
    }
    else
    {
        HTMLstrBuilder.push("<!-- vvMenu -->\n");
        HTMLstrBuilder.push("\n");
        HTMLstrBuilder.push("<!-- vvMenu Starts -->\n");
        HTMLstrBuilder.push("<div  class='toolBarDiv' >\n");
        // rbpm = right button pop menu
        HTMLstrBuilder.push("<table id='T_"+this.id+"_rbpm' class='TopGroupTable' border='0' cellpadding='' cellspacing='0'><tr class='noStyle'>\n");
        

        HTMLstrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+this.id+"_rbpm -->\n");
        HTMLstrBuilder.push("</tr></table>\n");
        
        HTMLstrBuilder.push("</div>\n");
        HTMLstrBuilder.push("<!-- Insert A Extend_Menu Area on Here For E_"+this.id+"_rbpm -->");
        HTMLstrBuilder.push("\n");
        HTMLstrBuilder.push("<!-- vvMenu Ends -->\n");    
        
    }
    HTMLstr=HTMLstrBuilder.join("");
    
  }
  //==========================================================================================================  
//==========================================================================================================
//==========================================================================================================
//==========================================================================================================
//==========================================================================================================
  
  function AddToolBarItem(id,name,parent,location,icon,target)
  {
    var TempStr = "";
    var TempStrBuilder  = [];
    var ItemStr = "<!-- ITEM : I_"+id+" -->";
	var thelink ="";
	if(icon&&icon!="")
	{
		icon = "<img border=0 id=\"I_Img"+id+"\" src=\""+iconBaseUrl+icon+"\">";
	}
	else
	{
		icon = "&nbsp";
	}
	

	if(location&&location!="")
	{
		thelink += "<a href=\""+location+"\" ";
		if(target&&target!="")
		{
			thelink += "  ";
			thelink += "target=\""+target+"\" ";
		}
		thelink += ">"+name+"</a>";
	}
	else
	{
	    thelink=name;
	}
    if(id == "sperator")
    {
      TempStrBuilder.push(ItemStr+"\n");
      TempStrBuilder.push("<td ><table width='100%' border='0' cellpadding='0' cellspacing='0'>  <tr  onclick='window.event.cancelBubble=true;' onmouseup='window.event.cancelBubble=true;' >     <td class='menuhrH' id='sp_"+id+"'></td>  </tr></table></td>");
      TempStrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->");
      TempStr=TempStrBuilder.join("");
      
      HTMLstr = HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
      
      return;
    }
    if(HTMLstr.indexOf(ItemStr) != -1)
    {
      alert("I_"+id+"already exist!");
      return;
    }
    TempStrBuilder.push(ItemStr+"\n");
    TempStrBuilder.push("<td id='I_"+id+"' onselectstart='return false;'  onmouseup='window.event.cancelBubble=true;'");
    TempStrBuilder.push(" onmouseover='I_OnMouseOver(\""+id+"\",\""+parent+"\",event)'");
    TempStrBuilder.push(" onmouseout='I_OnMouseOut(\""+id+"\",event)' ");
    TempStrBuilder.push(" onmousedown='MtrClick(\"I_"+id+"\")' ");
    TempStrBuilder.push(">");
    TempStrBuilder.push("<table  border='0' cellpadding='0' cellspacing='0'><tr><td class='firstNormal' id='I1_"+id+"' >"+icon+"</td>");
    TempStrBuilder.push("<td nowrap class='secondNormal' id='I2_"+id+"' >");
    TempStrBuilder.push(thelink+"</nobr>&nbsp;");
    TempStrBuilder.push("</td><td class='thirdNormal'  id='I3_"+id+"'>&nbsp;</td></tr></table></td>\n");
    TempStrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->");
    TempStr=TempStrBuilder.join("");
    HTMLstr = HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);


  }
  
  
  
  
  function AddExtendToolBarMenu(id,word,parent,icon)
  {
    var TempStr = "";
    var TempStrBuilder  = [];
	if(icon&&icon!="")
	{
		icon = '<img border="0" id="I_Img'+id+'" src="'+iconBaseUrl+icon+'">';
	}
	else
	{
		icon = '&nbsp';
	}
    eval("A_"+parent+".length++;");
    eval("A_"+parent+"[A_"+parent+".length-1] = id;");  // 将此项注册到父菜单项的ID数组中去
    
    
    TempStrBuilder.push("<div id='E_"+id+"' class='rm_div' ><div class='innerBox'>\n");
  //  TempStrBuilder.push("<table class='menutable2' border="0" border='0' cellspacing='0' cellpadding='0' >  <tr>    <td width='22' valign='top'  >&nbsp;</td>   <td ></td>  </tr></table>"
    TempStrBuilder.push("<table  class='toolBartable' border='0' cellspacing='0'  >\n");


    TempStrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+id+" -->");
    TempStrBuilder.push("</table>\n");

    TempStrBuilder.push("</div></div>\n");
    TempStrBuilder.push("<!-- Insert A Extend_Menu Area on Here For E_"+id+" -->");
    TempStrBuilder.push("<!-- Insert A Extend_Menu Area on Here For E_"+parent+" -->");
    TempStr=TempStrBuilder.join("");
    HTMLstr = HTMLstr.replace("<!-- Insert A Extend_Menu Area on Here For E_"+parent+" -->",TempStr);
    
    eval("A_"+id+" = new Array();");
    TempStrBuilder  = [];
    TempStrBuilder.push("<!-- Extend Item : P_"+id+" -->\n");
    TempStrBuilder.push("<td id='P_"+id+"' onselectstart='return false;'   onmousedown='window.event.cancelBubble=true;' onmouseup='window.event.cancelBubble=true;'");
    TempStrBuilder.push(" onmouseover='T_OnMouseOver(\""+id+"\",\""+parent+"\",event)'");
    TempStrBuilder.push(" onmouseout='T_OnMouseOut(\""+id+"\",\""+parent+"\",event)'");
    TempStrBuilder.push(">");
    TempStrBuilder.push("<table  border='0' cellpadding='0' cellspacing='0'><tr ><td class='firstNormal' id='P1_"+id+"'>"+icon+"</td>");
    TempStrBuilder.push("<td nowrap class='secondNormal' id='P2_"+id+"'  >");
    if(word!="")TempStrBuilder.push("&nbsp;&nbsp;"+word+"&nbsp;&nbsp;&nbsp");
    TempStrBuilder.push("</td><td class='thirdNormal' id='P3_"+id+"'><img id='Parrow_"+id+"'src='"+iconBaseUrl+"arrow_right_hover_down.gif' border='0'>");
    TempStrBuilder.push("</td></tr></table></td>\n");
    TempStrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->");
    TempStr=TempStrBuilder.join("");
    HTMLstr = HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
  
  }
//==========================================================================================================  
//==============eeeeeeeeeeeeeeeee============================================================================================
//===============eeeeeeeeeeeeeeee===========================================================================================
//==================eeeeeeeeeeeeeeee========================================================================================
//======================eeeeeeeeeeeeee====================================================================================
  
  
  function AddExtendMenu(id,word,parent,icon)
  {
    var TempStr = "";
    var TempStrBuilder  = [];
	if(icon&&icon!="")
	{
		icon = '<img border="0" id="I_Img'+id+'" src="'+iconBaseUrl+icon+'">';
	}
	else
	{
		icon = '&nbsp';
	}
    eval("A_"+parent+".length++;");
    eval("A_"+parent+"[A_"+parent+".length-1] = id;");  // 将此项注册到父菜单项的ID数组中去
    
    
    TempStrBuilder.push("<div id='E_"+id+"' class='rm_div' ><div class='innerBox'>\n");
  //  TempStrBuilder.push("<table class='menutable2' border="0" border='0' cellspacing='0' cellpadding='0' >  <tr>    <td width='22' valign='top'  >&nbsp;</td>   <td ></td>  </tr></table>"
    TempStrBuilder.push("<table  class='menutable2' border='0' cellspacing='0'  >\n");


    TempStrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+id+" -->");
    TempStrBuilder.push("</table>\n");

    TempStrBuilder.push("</div></div>\n");
    TempStrBuilder.push("<!-- Insert A Extend_Menu Area on Here For E_"+id+" -->");
    TempStrBuilder.push("<!-- Insert A Extend_Menu Area on Here For E_"+parent+" -->");
    TempStr=TempStrBuilder.join("");
    HTMLstr = HTMLstr.replace("<!-- Insert A Extend_Menu Area on Here For E_"+parent+" -->",TempStr);
    
    eval("A_"+id+" = new Array();");
    TempStrBuilder  = [];
    TempStrBuilder.push("<!-- Extend Item : P_"+id+" -->\n");
    TempStrBuilder.push("<tr id='P_"+id+"' onselectstart='return false;'   onmousedown='window.event.cancelBubble=true;' onmouseup='window.event.cancelBubble=true;'");
    TempStrBuilder.push(" onmouseover='P_OnMouseOver(\""+id+"\",\""+parent+"\",event)'");
    TempStrBuilder.push(" onmouseout='P_OnMouseOut(\""+id+"\",\""+parent+"\",event)'");
    TempStrBuilder.push(">");
    TempStrBuilder.push("<td class='firstNormal' id='P1_"+id+"'>"+icon+"</td>");
    
    TempStrBuilder.push("<td nowrap class='secondNormal' id='P2_"+id+"'  >");
    TempStrBuilder.push(""+word+"&nbsp;&nbsp;&nbsp</td><td class='thirdNormal' id='P3_"+id+"'><img id='Parrow_"+id+"'src='"+iconBaseUrl+"arrow_right.gif' border='0'>");
    TempStrBuilder.push("</td></tr>\n");
    TempStrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->");
    TempStr=TempStrBuilder.join("");
    HTMLstr = HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
  }
  function AddItem(id,name,parent,location,icon,target)
  {
    var TempStr = "";
    var TempStrBuilder  = [];
    var ItemStr = "<!-- ITEM : I_"+id+" -->";
	var thelink ="";
	if(icon&&icon!="")
	{
		icon = "<img border=0 id=\"I_Img"+id+"\" src=\""+iconBaseUrl+icon+"\">";
	}
	else
	{
		icon = "&nbsp";
	}
	

	if(location&&location!="")
	{
		thelink += "<a href=\""+location+"\" ";
		if(target&&target!="")
		{
			thelink += "  ";
			thelink += "target=\""+target+"\" ";
		}
		thelink += ">"+name+"</a>";
	}
	else
	{
	    thelink=name;
	}
    if(id == "sperator")
    {
      TempStrBuilder.push(ItemStr+"\n");
      TempStrBuilder.push("<tr onselectstart='return false;' class='spTD'   onmouseup='window.event.cancelBubble=true;'><td colspan='3' class='spTD' ><table width='100%' border='0' cellpadding='0' cellspacing='2'>  <tr class='menuhr' onclick='window.event.cancelBubble=true;' onmouseup='window.event.cancelBubble=true;'>     <td  id='sp_"+id+"'></td>  </tr></table></td></tr>");
      TempStrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->");
      TempStr=TempStrBuilder.join("");
      
      HTMLstr = HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);
      
      return;
    }
    if(HTMLstr.indexOf(ItemStr) != -1)
    {
      alert("I_"+id+"already exist!");
      return;
    }
    TempStrBuilder.push(ItemStr+"\n");
    TempStrBuilder.push("<tr id='I_"+id+"' onselectstart='return false;' onmouseup='window.event.cancelBubble=true;' ");
    TempStrBuilder.push(" onmouseover='I_OnMouseOver(\""+id+"\",\""+parent+"\",event)'");
    TempStrBuilder.push(" onmouseout='I_OnMouseOut(\""+id+"\",event)' ");
    TempStrBuilder.push(" onmousedown='MtrClick(\"I_"+id+"\")' ");
    TempStrBuilder.push(">");
    TempStrBuilder.push("<td class='firstNormal' width='20' id='I1_"+id+"' >"+icon+"</td>");
    TempStrBuilder.push("<td nowrap class='secondNormal' id='I2_"+id+"' >");
    TempStrBuilder.push(thelink+"</nobr>&nbsp;&nbsp;");
    TempStrBuilder.push("</td><td class='thirdNormal' width='45' id='I3_"+id+"'>&nbsp;</td></tr>\n");
    TempStrBuilder.push("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->");
    TempStr=TempStrBuilder.join("");
    HTMLstr = HTMLstr.replace("<!-- Insert A Extend Menu or Item On Here For E_"+parent+" -->",TempStr);

  }
  function GetMenu()
  {

    return HTMLstr;

  }
  
  //----------MtrClick(obj)-----------------//

function MtrClick(obj)
{	


    var arrStr=obj.split("_");
    var commandName="";
    if(arrStr.length=3)commandName=arrStr[2];
  
	var obj=eval(obj);
	
if(obj.disabled)return false;
    try
    {
		if(obj.childNodes[0].getElementsByTagName("A").length>0)
		{
			obj.childNodes[0].getElementsByTagName("A")[0].click();
		}	
	
	}
	catch(ex)
	{}
	CloseMenu(); 
	
	
	if(typeof(ClientOnMenuClickHandle)=="function")
    {
         ClientOnMenuClickHandle(commandName);
    }
	

}


  function I_OnMouseOver(id,parent,e)
  {
     if(typeof(ClientOnMenuOverHandle)=="function")
    {
         ClientOnMenuOverHandle(id);
    }
    var Item;
    DoOverEvent(e);
    if(parent.indexOf("rbpm")==-1)
    {
      var ParentItem;
      ParentItem = eval("P_"+parent);
      //ParentItem.className="over";
    }
    
    Item = eval("I_"+id);
    
   // Item.className="over";
    HideAll(parent,1);
   
  }
  function I_OnMouseOut(id,e)
  {
  
  if(typeof(ClientOnMenuOutHandle)=="function")
    {
         ClientOnMenuOutHandle(id);
    }
	DoOutEvent(e);
    var Item;
    Item = eval("I_"+id);
    
    //Item.className="out";
  }
  function I_OnMouseUp(id,parent,location)
  {
    var ParentMenu;
    window.event.cancelBubble=true;
    
    ParentMenu = eval("E_"+parent);
    ParentMenu.style.visibility="hidden";
  //  if(location == null)
  //    eval("Do_"+id+"()");
 //   else
     // window.open(location);
  }
  function P_OnMouseOver(id,parent,e)
  {
    if(typeof(ClientOnMenuOverHandle)=="function")
    {
         ClientOnMenuOverHandle(id);
    }
    var Item;
    var Extend;
    var Parent;
	DoOverEvent(e);

    if(parent.indexOf("rbpm")==-1)
    {
      var ParentItem;
      ParentItem = eval("P_"+parent);
      //ParentItem.className="over";
    }
    HideAll(parent,1);
    Item = eval("P_"+id);
    Extend = eval("E_"+id);
    Parent = eval("E_"+parent);
  //  Item.className="over";
 
var documentScrollLeft=0;
var documentScrollTop=0//document.body.scrollTop
    Extend.style.visibility="visible";
    var wt=0;
     if(isIE)
     {
     ies1=2;
     ies2=0;
     }
     else
     {
     ies1=10;
     ies2=10;
     }

    var oLeft=documentScrollLeft+Parent.offsetLeft+Parent.offsetWidth-ies1;
    var oTop=Parent.offsetTop+Item.offsetTop-ies2;

    if(oLeft+Extend.offsetWidth > document.body.scrollLeft+document.body.clientWidth)
    {
        oLeft=oLeft-Parent.offsetWidth-Extend.offsetWidth;
        }
    if(oLeft < 0) 
    oLeft=documentScrollLeft+Parent.offsetLeft+Parent.offsetWidth;

    if(oTop+Extend.offsetHeight > document.body.scrollTop+document.body.clientHeight)
      oTop=documentScrollTop+document.body.clientHeight-Extend.offsetHeight;
      
    if(oTop < 0) oTop=0;
    //alert(oLeft)
    Extend.style.pixelLeft=oLeft;
    Extend.style.pixelTop=oTop;
    Extend.style.left=oLeft;
    Extend.style.top=oTop;
  }

    function P_OnMouseOut(id,parent,e)
    {
        if(typeof(ClientOnMenuOutHandle)=="function")
        {
             ClientOnMenuOutHandle(id);
        }
        DoOutEvent(e);
    }
    
    
    function T_OnMouseOver(id,parent,e)
  {
    if(typeof(ClientOnMenuOverHandle)=="function")
    {
         ClientOnMenuOverHandle(id);
    }
    var Item;
    var Extend;
    var Parent;
	DoOverEvent(e);

    if(parent.indexOf("rbpm")==-1)
    {
      var ParentItem;
      ParentItem = eval("P_"+parent);
      //ParentItem.className="over";
    }
    HideAll(parent,1);
    Item = eval("P_"+id);
    Extend = eval("E_"+id);
    Parent = eval("T_"+parent);
  //  Item.className="over";
 
var documentScrollLeft=0;
var documentScrollTop=0//document.body.scrollTop
    Extend.style.visibility="visible";
    var wt=0;
     if(isIE)
     {
     ies1=0;
     ies2=0;
     }
     else
     {
     ies1=5;
     ies2=5;
     }
    var oLeft=documentScrollLeft+Parent.offsetLeft+Item.offsetLeft-ies1;
    var oTop=Item.offsetTop+Item.offsetHeight-ies2;

    if(oLeft+Extend.offsetWidth > document.body.scrollLeft+document.body.clientWidth)
    {
        oLeft=Item.offsetLeft+Item.offsetWidth-Extend.offsetWidth  ;
        }
    if(oLeft < 0) 
    oLeft=documentScrollLeft+Item.offsetLeft;

    if(oTop+Extend.offsetHeight > document.body.scrollTop+document.body.clientHeight)
      oTop=documentScrollTop+document.body.clientHeight-Extend.offsetHeight;
      
    if(oTop < 0) oTop=0;
    //alert(oLeft)
    Extend.style.pixelLeft=oLeft;
    Extend.style.pixelTop=oTop;
    Extend.style.left=oLeft;
    Extend.style.top=oTop;
  }

    function T_OnMouseOut(id,parent,e)
    {
        if(typeof(ClientOnMenuOutHandle)=="function")
        {
             ClientOnMenuOutHandle(id);
        }
        DoOutEvent(e);
    }
    
    
    
    function DoOverEvent(e)
    {
        var e=e||window.event
        var srcEl=e.target||e.srcElement;
        var el = getObject(srcEl,"TR");
        
        if(el.disabled)return false;
        
        if(el.childNodes.length==3)
        {
        
        el.childNodes[0].className="firstEffect";
        el.childNodes[1].className = "secondEffect";
        el.childNodes[2].className = "thirdEffect";  
        }  
            // window.status = (el.desc);
    }
        
    function DoOutEvent(e)
    {
        var e=e||window.event
        var srcEl=e.target||e.srcElement;
        var el = getObject(srcEl,"TR");
        if(el.disabled)return false;
        if(el.childNodes.length==3)
        {
        el.childNodes[0].className = "firstNormal";
        el.childNodes[1].className = "secondNormal";
        el.childNodes[2].className = "thirdNormal";
        }
        window.status = '';
    }     
        
  function HideAll(id,flag)
  {
    var Area;
    var Temp;
    var i;
    if(!flag)
    {
   
      Temp = document.getElementById("E_"+id);

      if(Temp)
      Temp.style.visibility="hidden";
      
    }
    Area = eval("A_"+id);
    if(Area)
    {
        if(Area.length)
        {
          for(i=0; i < Area.length; i++)
          {
            HideAll(Area[i],0);
           
            Temp = document.getElementById("E_"+Area[i]);
            
            if(Temp)
              Temp.style.visibility="hidden";
               
            Temp = document.getElementById("P_"+Area[i]);
           // Temp.className="out";
          }
        }
    }
  }




  function CloseMenu(JustMenuID)
  {
  
    if(typeof(ClientOnMenuCloseHandle)=="function")
    {
         ClientOnMenuCloseHandle();
    }
	for(i=0;i<JustMenuList.length;i++){
		
		if(typeof(JustMenuList[i])!="undefined"){
		
		
		HideAll(JustMenuList[i],0);		
		
	}
	}
  }


  function MMPreturn(obj,e)
{
var e=e||window.event;

	var x = e.clientX;
	var y = e.clientY;

	var judgerX = x + obj.offsetWidth;
	var judgerY = y + obj.offsetHeight;

	var px = 0;
	var py = 0;
	
try
{
	if(judgerX>document.body.clientWidth)
	{
		px = 2;
	}
	if(judgerY>document.body.clientHeight)
	{
		py = 1;
	}
	}
	catch(e)
	{}
	
	return (px+py);
}
var currentToolBarLeft=220;
var currentToolBarTop=0;
function doShowToolBar(JustMenuID,oLeft,oTop)
{

    if(typeof(oLeft)=="undefined")oLeft=currentToolBarLeft;
    if(typeof(oTop)=="undefined")oTop=currentToolBarTop;
 
    if(objToolBar!=null)
    {

    objToolBar.style.visibility = "hidden";

    }

    objToolBar = document.getElementById("T_"+JustMenuID+"_rbpm");
    setToolBarPosition(JustMenuID,oLeft,oTop);
    objToolBar.style.visibility = "visible";

}

function setToolBarPosition(JustMenuID,oLeft,oTop)
{
    objToolBar = document.getElementById("T_"+JustMenuID+"_rbpm");
 
    if(objToolBar==null)return;
    objToolBar.style.pixelLeft=oLeft;
    objToolBar.style.pixelLeft=oTop;
    objToolBar.style.left=oLeft+6;
    objToolBar.style.top=oTop;
    currentToolBarLeft=oLeft;
    currentToolBarTop=oTop;
}

function doShowMenu(jugerObj,initLeft,JustMenuID,e)
{

if(JustMenuID==null){JustMenuID="SosMenu";}

      var obj;
      obj = eval("E_"+JustMenuID+"_rbpm");

		CloseMenu(JustMenuID);
	
		var judger = MMPreturn(obj,e)

			if(judger==0)
			{
				with(obj.style)
				{
				    if (jugerObj!=null){
				
				    pixelLeft = initLeft + document.body.scrollLeft;
					pixelTop  = jugerObj.style.pixelTop+jugerObj.offsetHeight;
					
					}
					else
					{
					pixelLeft = e.clientX + document.body.scrollLeft;
					pixelTop  = e.clientY + document.body.scrollTop;
					}
				}
			}
			if(judger==1)
			{
				with(obj.style)
				{	if (jugerObj!=null){
				//alert(obj.offsetHeight)
					pixelLeft = initLeft + document.body.scrollLeft;
					pixelTop  =  document.body.clientHeight-obj.offsetHeight-jugerObj.offsetHeight;
					
					}
					else
					{pixelLeft = e.clientX + document.body.scrollLeft;
					pixelTop  = e.clientY - obj.offsetHeight+ document.body.scrollTop;
					
					}
				}
			}
			if(judger==2)
			{
				with(obj.style)
				{
					pixelLeft = e.clientX - obj.offsetWidth + document.body.scrollLeft;
					pixelTop  = e.clientY + document.body.scrollTop;
				}
			}
			if(judger==3)
			{
				with(obj.style)
				{
					pixelLeft = e.clientX - obj.offsetWidth + document.body.scrollLeft;
					pixelTop  = e.clientY - obj.offsetHeight + document.body.scrollTop;
					left=pixelLeft;
					top=pixelTop;
				}
			}
			with(obj.style)
			{
			if(!isIE)
			{
			left=pixelLeft+4;
			top=pixelTop+4;
			}
			}

            if(typeof(ClientOnMenuShowHandle)=="function")
            {
                 ClientOnMenuShowHandle(JustMenuID);
            }
			obj.style.visibility = "visible";
}


  // Add Your Function on following

  function Do_help(){window.showHelp(window.location);}
  function Do_exit() {window.close();}

  function Do_back() {history.back();}
  function Do_forward() {history.forward();}
  function Do_author(){alert("(正在制作中)\n")}



          function getObject(element,tagName)
        {
                var tmp = element;
                while((tmp!=null)&&(tmp.tagName!="BODY"))
                {
                        if((tmp.tagName == tagName))
                        {
                            if(tmp.className!="noStyle")
                            {
                                element = tmp;
                                return element;
                                }
                        }
                        tmp = tmp.parentNode;
                }
                return element;
        }
        
function mouseCoords(ev){
    if(ev.pageX || ev.pageY){
    return {x:ev.pageX, y:ev.pageY};
    }
    return {
        x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
        y:ev.clientY + document.body.scrollTop  - document.body.clientTop
    };
}

function isMenuObj(id)
{
    if(id.indexOf("I_")>-1||id.indexOf("I1_")>-1||id.indexOf("I2_")>-1||id.indexOf("I3_")>-1)return true;
    else
    return false
}
function getMenuItem(menuName,ItemCmdName)
{
    var obj=document.getElementById("I_"+menuName+"_"+ItemCmdName)
    if(obj)
    {
    return obj;
    }
    else
    {
        obj=document.getElementById("I_"+menuName+"_disabled"+ItemCmdName)
        if(obj)
        {
        return obj;
        }
    }
    return null;
}
function EnableVvMenuItemByCmdName(MenuName,ItemCmdName,enabled)
{
    var el=document.getElementById("I_"+menuName+"_"+itemId);
    if(el==null)document.getElementById("I_"+menuName+"_disabled"+ItemCmdName);
    if(e!=null)
    EnableVvMenuItem(el,enabled);
}
function EnableVvMenuItem(el,enabled)
{

    if(el==null)return;

    if(enabled)
    {

    el.disabled=false;
        
    }
    else
    {
    el.disabled=true;
    
     try
     {
        el.childNodes[0].className = "firstNormal";
        el.childNodes[1].className = "secondNormal";
        el.childNodes[2].className = "thirdNormal";
        }
        catch(ex)
        {}
    }
}


