var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
var ns6=document.getElementById&&!document.all
var ns4=document.layers
var menuCenter;

function showmenu(e,which,ycoord){
	if(menuCenter) {
		var cx;
		dom = (document.getElementById)? true : false;
		nn4a = (document.layers)? true : false;
		ie4a = (!dom && document.all)? true : false;
		if (dom) {
		  cx=document.body.offsetWidth;
		};
		if (nn4a) {
		  cx=window.innerWidth;
		};
		cx=cx / 2 + menuLeftPosition;
	} else {
		cx = 0;
	}
	
	if (!document.all&&!document.getElementById&&!document.layers)
	return
	
	clearhidemenu()
	
	menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
	menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj
	
	if (ie4||ns6)
	menuobj.innerHTML=which
	else{
	menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
	menuobj.document.close()
	}
	
	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
	
	//Find out how close the mouse is to the corner of the window
	var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
	if(ycoord == -1)
		var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY
	else
		var bottomedge=ie4? document.body.clientHeight-ycoord : window.innerHeight-ycoord
	
	//if the horizontal distance isn't enough to accomodate the width of the context menu
	if (rightedge<menuobj.contentwidth)
	//move the horizontal position of the menu to the left by it's width
	if(cx > 0) menuobj.thestyle.left = cx; else menuobj.thestyle.left = menuLeftPosition;
	else
	//position the horizontal position of the menu where the mouse was clicked
	if(cx > 0) menuobj.thestyle.left = cx; else menuobj.thestyle.left = menuLeftPosition;
	
	//same concept with the vertical position
		if(ycoord==-1)
			menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY-15 : ns6? window.pageYOffset+eventY-15 : eventY-15
		else
			menuobj.thestyle.top=ycoord;
		
	menuobj.thestyle.visibility="visible"
	return false
}

function contains_ns6(a, b) {
//Determines if 1 element in contained in another- by Brainjar.com
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function hidemenu(){
if (window.menuobj)
menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
}

function dynamichide(e){
if (ie4&&!menuobj.contains(e.toElement))
hidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
hidemenu()
}

function delayhidemenu(){
if (ie4||ns6||ns4)
delayhide=setTimeout("hidemenu()",500)
}

function clearhidemenu(){
if (window.delayhide)
clearTimeout(delayhide)
}

function highlightmenu(e,state){
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")? "mouseoverstyle" : ""
}
else{
while(source_el.id!="popmenu"){
source_el=document.getElementById? source_el.parentNode : source_el.parentElement
if (source_el.className=="menuitems"){
source_el.id=(state=="on")? "mouseoverstyle" : ""
}
}
}
}

if (ie4||ns6)
document.onclick=hidemenu

