var gmm_Ary = '';
var Temp = ""
var TempString = ""

function mm_ElemOverOut(bOver, ID, bLeftImg, bRightImg, PositionAndAligment)
{
  var e = mm_GetElement(gParentControlsID + 'id_Elem'+ID)
  var g = mm_GetElement(gParentControlsID + 'id_Group'+ID)
  var lImg = mm_GetElement('id_LImg'+ID)
  var rImg = mm_GetElement('id_RImg'+ID)


     if(ID == Temp){
        return;
     }
     if(ID != Temp){
          if(Temp != ""){
               eval(TempString);
               mm_AryCheck()
          }
          Temp = ID
          TempString = "hiddenMenu("+bOver+","+ID+","+bLeftImg+","+bRightImg+",'TR-L')";
      }

  //animujem levy obrazek
  if(bLeftImg && bOver) {
      eval("lImg.src=id_LImg"+ID+"Over.src")
    }
  //animujem pravy obrazek
  if(bRightImg && bOver) {
      eval("rImg.src=id_RImg"+ID+"Over.src")
    }
  //zmena stylu tabulky polozky, + zmena visibility submenu
  {
    if(bOver)
    {
      e.className = e.className+'Over';
      //jestlize existuje submenu, ukaz ho
      if (typeof g == 'object')
      {
        mm_AryAdd(ID)
        mm_GroupShow(ID, PositionAndAligment);
      }
    }
  }
}

////////////////////////////////////////////////////////////////////////////////
function Epilogue(id){
    //vraceni stylu a obrazku pri celkovem opusteni menu
 var e = mm_GetElement(gParentControlsID + 'id_Elem'+id)
 var il = mm_GetElement('id_LImg'+id)
 var ir = mm_GetElement('id_RImg'+id)
    e.className = e.className.replace('Over','');
    eval("if(typeof il ==  'object')il.src=id_LImg"+id+".src;");
    eval("if(typeof ir ==  'object')ir.src=id_RImg"+id+".src;");    
 }  

function hiddenMenu(bOver, ID, bLeftImg, bRightImg, PositionAndAligment)
{
  var e = mm_GetElement(gParentControlsID + 'id_Elem'+ID)
  var g = mm_GetElement(gParentControlsID + 'id_Group'+ID)
  var lImg = mm_GetElement('id_LImg'+ID)
  var rImg = mm_GetElement('id_RImg'+ID)

  //vratime styly a obrazky do puvodniho stavu pri opusteni polozky  
  e.className = e.className.replace('Over','');
  if (typeof lImg == 'object'){ eval("lImg.src=id_LImg"+ID+".src")}
  if (typeof rImg == 'object'){ eval("rImg.src=id_RImg"+ID+".src")}
      if (typeof g == 'object'){
        //ale jen pokud neprejel mysi nad toto submenu
       if (!mm_MouseFocused(g))
        {
          mm_AryDel(ID)
          mm_GroupHide(ID)
        }
    }

}
////////////////////////////////////////////////////////////////////////////////
function mm_AryAdd(ID)
{
  var sID = '|'+ID+'|'
  if (gmm_Ary.indexOf(sID) >= 0)
    gmm_Ary = gmm_Ary.substring(0, gmm_Ary.indexOf(sID) + sID.length);
  else
    gmm_Ary += sID;
}

function mm_AryDel(ID)
{
  var sID = '|'+ID+'|'
  if (gmm_Ary.indexOf(sID) >= 0)
    gmm_Ary = gmm_Ary.substring(0, gmm_Ary.indexOf(sID));
}
////////////////////////////////////////////////////////////////////////////////
function mm_AryCheck()
{
  var A = new Array();
  var new_Ary = '';
  if (gmm_Ary.indexOf('|') >= 0)
  {
    A = gmm_Ary.split('|');
    AL = A.length

    for(i=AL; i>0; i--)
    {
      if (!isNaN(A[i]) && A[i].length>0)
      {
        if (!mm_MouseFocused(mm_GetElement(gParentControlsID + 'id_Group'+A[i])))
        {
          mm_AryDel(A[i])
          mm_GroupHide(A[i])
        }
        else
        {
          sID = '|' + A[i] + '|'
          gmm_Ary = gmm_Ary.substring(0, gmm_Ary.indexOf(sID) + sID.length);
          i = 0
        }
      }
    }
  }
}
////////////////////////////////////////////////////////////////////////////////
function mm_GroupShow(ID, PositionAndAligment)
{
  var e = mm_GetElement(gParentControlsID + 'id_Elem'+ID)
  var g = mm_GetElement(gParentControlsID + 'id_Group'+ID)

  mm_PositionAndAligment(g, e, PositionAndAligment)
  g.style.visibility = 'visible';
}

function mm_GroupHide(ID)
{
  mm_GetElement(gParentControlsID + 'id_Group'+ID).style.visibility = 'hidden';
}

function mm_PositionAndAligment(g, e, PositionAndAligment)
{
  
  var SpanObject=mm_GetElement(gUniqueID);
  var Xposition=0;
  var Yposition=0;
  
  if(typeof(SpanObject)=='object')
  {
	if(SpanObject.style.left!='')
		Xposition=mm_ElementX(mm_GetElement(gUniqueID));
	if(SpanObject.style.top!='')
		Yposition=mm_ElementY(mm_GetElement(gUniqueID));			
  }
  
  switch (PositionAndAligment)
  {
    case 'BL-L':
      g.style.left = mm_ElementX(e) - Xposition;
      g.style.top = mm_ElementY(e) + e.offsetHeight - Yposition;
      break;
    case 'TR-L':
      g.style.left = mm_ElementX(e) + e.offsetWidth - Xposition;
      g.style.top = mm_ElementY(e) - Yposition;
      break;
    default:
      g.style.left = mm_ElementX(e) - Xposition;
      g.style.top = mm_ElementY(e) + e.offsetHeight - Yposition;
      break;
  }
}
////////////////////////////////////////////////////////////////////////////////

function mm_MouseFocused(o)
{
  var L = mm_ElementX(o) - window.document.body.scrollLeft + 1;
  var T = mm_ElementY(o) - window.document.body.scrollTop + 1;
  var R = L + o.offsetWidth + 1;
  var B = T + o.offsetHeight + 1;

  if ((event.x > L) && (event.x < R) && (event.y > T) && (event.y < B)){
    return true;
    }else{
    return false;
    }
}

function mm_ElementX(o)
{
  var x = 0;
  do x += o.offsetLeft; while ((o = o.offsetParent));
  return x;
}

function mm_ElementY(o)
{
  var y = 0;
  do y += o.offsetTop; while ((o = o.offsetParent));
  return y;
}

function mm_GetElement(o)
{
  if (document.all)  return document.all[o];
  else        return document.getElementById(o);
}

function ActionHide(){
	if(Temp > "") 
	{
		var strName = event.srcElement.tagName
		if(strName != "TABLE" && strName != "TD" && strName != "IMG")
		{
			mm_AryCheck();
			Epilogue(Temp);
			Temp = "";
			TempString = "";
		}
	}
}
function AlwaysHide()
{
	if(Temp > "") 
	{
		var strName = event.srcElement.tagName
		mm_AryCheck();
        Epilogue(Temp);
        Temp = "";
        TempString = "";
	}
}

document.onclick = AlwaysHide;





