// 判断浏览器
<!--
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
var ns6=document.getElementById&&!document.all
var ns4=document.layers
var g_elename
var g_java_check = -1	// -1：初始值，0：浏览器不支持此 javascript，1：浏览器支持此 javascript
var g_last_check = -1

function showmenu(e, eleindex)
{
	// 判断浏览器是否支持程序所需的 javascript
	if (g_java_check == -1)
	{
		if (!document.all&&!document.getElementById&&!document.layers)
		{
			g_java_check = 0
			return
		}
		else	g_java_check = 1
	}
		
	clearhidemenu()	// 清除触发标志
	g_elename = 'popmenu' + eleindex	// 对象名

	// 根据对象名得到对象
	menuobj=ie4? document.all(g_elename) : ns6? document.getElementById(g_elename) : ns4? document(g_elename) : ""
	menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj
	// 如果存在上次“层”，并且上次“层”与当前“层”不同，则隐藏上次“层”
	if(g_last_check == 0)	// 存在上次“层”
	{
		if(g_last_menuobj != menuobj)	// 判断上次“层”是否与当前“层”相同
		{
			hidelastmenu()		// 隐藏上次“层”
			g_last_check = -1	// 上次“层”取消
		}
	}
	if (g_last_check == -1)	// 如果没有上次层，则记录上次“层”
	{
		g_last_menuobj = menuobj
		g_last_check = 0
	}

	menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
	menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height

	// 得到鼠标点的位置
	eventX=ie4? event.clientX : ns6? e.clientX : e.x
	eventY=ie4? event.clientY : ns6? e.clientY : e.y

	var tall_width=ie4? document.body.clientWidth : window.innerWidth	// 整个界面宽度
	var tall_height=ie4? document.body.clientHeight : window.innerHeight	// 整个界面高度

	if (eventY > 20)	eventY -= 20
	if (eventX < tall_width - 30)	eventX += 30
	
	var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX	// 鼠标点距离右边界的宽度
	var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY	// 鼠标点距离下边界的宽度

	if (rightedge<menuobj.contentwidth)	// 如果右边容纳不下对象
	{
		//menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
		if (tall_width<menuobj.contentwidth)	// 如果整个高度都容纳不下对象
			menuobj.thestyle.left = ie4? document.body.scrollLeft+5 : ns6? window.pageXOffset+5 : 5
		else	menuobj.thestyle.left = ie4? document.body.scrollLeft+tall_width-menuobj.contentwidth : ns6? window.pageXOffset+tall_width-menuobj.contentwidth : tall_width-menuobj.contentwidth
	}
	else	// 如果右边能够容纳对象，则直接在鼠标点显示对象
		menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX : eventX

	if (bottomedge<menuobj.contentheight)	// 如果下边容纳不下对象
	{
		//menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
		if (tall_height<menuobj.contentheight)	// 如果整个高度都容纳不下对象
			menuobj.thestyle.top = ie4? document.body.scrollTop+5 : ns6? window.pageYOffset+5 : 5
		else	menuobj.thestyle.top = ie4? document.body.scrollTop+tall_height-menuobj.contentheight : ns6? window.pageYOffset+tall_height-menuobj.contentheight : tall_height-menuobj.contentheight
	}
	else	// 如果下边能够容纳对象，则直接在鼠标点显示对象
		menuobj.thestyle.top=ie4? document.body.scrollTop+eventY : ns6? window.pageYOffset+eventY : eventY
		
	menuobj.thestyle.visibility="visible"
	return false
}

function contains_ns6(a, b)
{
	if (g_java_check < 1)	return false
	// 判断 a 是否是 b 的一个元素
	while (b.parentNode)	if ((b = b.parentNode) == a)	return true;
	return false;
}

function hidemenu()
{
	if (g_java_check < 1)	return
	if (window.menuobj)	menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
}

function hidelastmenu()
{
	if (g_java_check < 1)	return
	if (window.g_last_menuobj)	g_last_menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
}

function dynamichide(e)
{
	if (g_java_check < 1)	return
	// 如果鼠标不在“层”上，则清除“层”
	if (ie4&&!menuobj.contains(e.toElement))	hidemenu()
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))	hidemenu()
}

function delayhidemenu()
{
	if (g_java_check < 1)	return
	if (ie4||ns6||ns4)	delayhide=setTimeout("hidemenu()",200)	// 200毫秒以后，调 hidemenu()
}

function clearhidemenu()
{
	if (g_java_check < 1)	return
	if (window.delayhide)	clearTimeout(delayhide)	// 清除时间触发标志
}

function highlightmenu(e, state)
{
	if (g_java_check < 1)	return
	if (document.all)	source_el=event.srcElement
	else if (document.getElementById)	source_el=e.target
	if (source_el.className=="menuitems")	source_el.id=(state=="on")? "xmwjmouseover-2" : ""
	else
	{
		while(source_el.id!=g_elename)
		{
			source_el=document.getElementById? source_el.parentNode : source_el.parentElement
			if (source_el.className=="menuitems")	source_el.id=(state=="on")? "xmwjmouseover-2" : ""
		}
	}
}
//-->
