var lmOver;
var lmOpened = '';
var lmTimeout=null;

var lmEnter = function lmOpenMenu(evt) {
	  var smId = /.*CategRepeat:\d*:/.exec(evt.target.id)+'lmSubmenu';
      lmOver = true;
	  lmShowMenu(smId);
	}
var lmExit = function lmCloseMenu(evt) {
      lmOver = false;
      lmCheckForClose();
	}
var lmClose = function(evt) {
	lmLastCheckForClose();
}

var lmInit = function() {
  dojo.query("[id*='CategRepeat:']").
  onmouseover(lmEnter).
  onmouseout(lmExit);
  document.body.onclick = lmClose; 
}

dojo.addOnLoad(lmInit);

	function lmLref(id)	{
		return(document.getElementById(id));
	}
	
	function lmShowMenu(id)	{
		clearTimeout(lmTimeout);
		lmTimeout = setTimeout('lmShowMenuNow("'+id+'")', 200);
	}

	function lmShowMenuNow(id) {
		clearTimeout(lmTimeout);
		if(id!=lmOpened) {
			lmCloseAll();
		}
		lmOpened = id;
		if(lmLref(id)) {
			lmLref(id).style.visibility = 'visible';
		}
	}

	function lmCloseAll() 	{
		if(lmOpened != '') 	{
			if(lmLref(lmOpened)) {
				lmLref(lmOpened).style.visibility='hidden';
				lmOpened ='';
			}
		}
	}
	
	function lmCheckForClose() {
		clearTimeout(lmTimeout);
		lmTimeout = setTimeout('lmLastCheckForClose()', 1000);
	}
	
	function lmLastCheckForClose() {
		if(!lmOver) {
			lmCloseAll();
		}
	}
	
