var openMenus=new Array();var collapseMenusTimer;var isCollapsing=false;
function getCrossBrowser(name){return document.getElementById(name);}
function showMenu(isMain,level,name,caller,coordSpaceId){
  var pmenu=getCrossBrowser(name);var coordSpace=getCrossBrowser(coordSpaceId);
  if(isCollapsing){clearTimeout(collapseMenusTimer);isCollapsing = false;}
  hideMenus(level);pmenu.style.visibility = "visible";
  if(isMain){
    pmenu.style.left=findPosX(caller,coordSpace) - (pmenu.offsetWidth - caller.offsetWidth) + "px";
    pmenu.style.top=findPosY(caller,coordSpace) + caller.offsetHeight + "px";}
  else{
    pmenu.style.top=findPosY(caller,coordSpace) + "px";
    pmenu.style.left=findPosX(caller,coordSpace) - pmenu.offsetWidth - 4 + "px";}
  openMenus[openMenus.length]=pmenu;}
function hideMenus(level){
  for(i=openMenus.length - 1; i >= level; i--){
    openMenus[i].style.visibility="hidden";openMenus=openMenus.slice(0,i);}}
function outOfMenu(){
  if(isCollapsing){clearTimeout(collapseMenusTimer);isCollapsing=false;}
  collapseMenusTimer = setTimeout("hideMenus(0)",500);isCollapsing=true;}
function stopTimer(){if(isCollapsing){clearTimeout(collapseMenusTimer);isCollapsing=false;}}
function findPosX(obj, coordSpace){
  var curleft=0;
  if (obj.offsetParent){
    while(obj.offsetParent){
      curleft += obj.offsetLeft;if(obj.offsetParent == coordSpace.offsetParent)break;obj = obj.offsetParent;}}
  else if(obj.x)curleft += obj.x;
  return curleft;}
function findPosY(obj, coordSpace){
  var curtop=0;
  if(obj.offsetParent){
  while(obj.offsetParent){curtop += obj.offsetTop;if(obj.offsetParent == coordSpace.offsetParent)break;obj=obj.offsetParent;}}
  else if(obj.y)curtop += obj.y;
  return curtop;}
/*
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
var ns6=document.getElementById&&!document.all
var ns4=document.layers
function showemenu(e,which){
  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
  var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY
  //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
    menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
  else
    //position the horizontal position of the menu where the mouse was clicked
    menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX : eventX
    //same concept with the vertical position
  if (bottomedge<menuobj.contentheight)
    menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
  else
    menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY : eventY
    menuobj.thestyle.visibility="visible"
  return false}

//Determines if 1 element in contained in another- by Brainjar.com
function contains_ns6(a, b){
  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*/

