//contextMenus

var lastMousePosition = null
var lastMenu = null
var mnuTimer = null

function hideMenu()
{
  if (lastMenu)
  {
    lastMenu.style.display = 'none'
    setStatus('hideMenu')
//    lastMenu=null
  }
}

function showMenuByName(e, name)
{
  
// hide the previous menu
  hideMenu()

/*  
  var target
  
	if (e)
	{
		target = e.target
		target = target.parentNode ? target.parentNode : target.parentElement
	}
	else
	{
		target = event.srcElement
	  target = target.parentNode
	}


	if (target)
	{
//	  alert ('target='+target.id)
	  
	  var mnu = document.getElementById(target.id+'_menu')
	  
	  if (mnu)
	  {
	    lastMenu = mnu
	    
  		var m = getMousePosition(e)
  		lastMousePosition = m
  		var s = getScrollPosition(e)
      setStatus2 ('m={'+m.x+','+m.y+'}, s={'+s.x+','+s.y+'}')
  		mnu.style.position = 'absolute'
  		mnu.style.left = m.x + s.x + 'px'
  		mnu.style.top = m.y + s.y + 'px'
  		mnu.style.display = 'block'
  		mnu.style.zIndex=2000
  		mnu.onclick = hideMenu // a menu selection hides the menu
  		mnu.onmouseover = function() { clearTimeout (mnuTimer); setStatus('mnu mouseover')}
  		return false
  	}
	}
*/

  var mnu = document.getElementById(name)
  
  if (mnu)
  {
    lastMenu = mnu
    
		var m = getMousePosition(e)
		lastMousePosition = m
		var s = getScrollPosition(e)
//    setStatus2 ('m={'+m.x+','+m.y+'}, s={'+s.x+','+s.y+'}')
		mnu.style.position = 'absolute'
		mnu.style.left = (m.x + s.x -10) + 'px'
		mnu.style.top = (m.y + s.y -5) + 'px'
		mnu.style.display = 'block'
		mnu.style.zIndex=2000
		mnu.onclick = hideMenu // a menu selection hides the menu
		mnu.onmouseover = mnu.onmousemove = function() { clearTimeout (mnuTimer); setStatus('mnu mouseover')}
		clearTimeout (mnuTimer)
    return false
	}
}

// private method. Returns mouse position
function getMousePosition (e)
{
	e = e ? e : window.event

	return {'x' : e.clientX, 'y' : e.clientY}
}


// private method. Get document scroll position
function getScrollPosition ()
{

	var x = 0
	var y = 0

	if( typeof( window.pageYOffset ) == 'number' ) {
		x = window.pageXOffset;
		y = window.pageYOffset;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}

	return {'x' : x, 'y' : y}
}