// Zjistovani pozice mysi 
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var mouseX = 0;
var mouseY = 0;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
mouseX = event.clientX + document.body.scrollLeft;
mouseY = event.clientY + document.body.scrollTop;
}
else {  // grab the x-y pos.s if browser is NS
mouseX = e.pageX;
mouseY = e.pageY;
}  
if (mouseX < 0){mouseX = 0;}
if (mouseY < 0){mouseY = 0;}  
return true;
}
// Konec zjistovani pozice mysi


var menu_menuVisible = [];
var menu_waiting = false;
var menu_fadeDirection = [];
var menu_fadeValue = [];

function menu_showMenu(id, status){
  var menuItem = document.getElementById("menuItem"+id);
  var desiredDirection = (status==true ? true : false);
  if(menu_fadeDirection[id]!=desiredDirection) {
    menu_fadeDirection[id]=desiredDirection;
	if(menu_fadeValue[id]<=0 || menu_fadeValue[id] >= 100) {
	  menu_fade(id);
	}
    if(status == true){
	  var menuMainItem = document.getElementById("menuMain"+id);
      menuItem.style.left = (findPosX(menuMainItem)-28) + 'px';
	  menuItem.style.top = (findPosY(menuMainItem.offsetParent)+menuMainItem.offsetParent.offsetHeight) + 'px';
	  menuItem.style.width = (menuMainItem.offsetWidth+50) + 'px';
    }
  }
}

function menu_fade(id) {
  var menuItem = document.getElementById("menuItem"+id); 
  var desiredDisplay;
  var step;
  
  if(menu_fadeDirection[id]==true) step = 8; else step = -4;
  menu_fadeValue[id] += step;
  
  if(menu_fadeValue[id]<=0){
    menu_fadeValue[id] = 0;
	desiredDisplay = 'none';
  } else {
    desiredDisplay = 'block';
    menuItem.style.opacity = menu_fadeValue[id]/100;
	menuItem.style.filter = 'alpha(opacity=' + menu_fadeValue[id] + ')';
  }
  
  if(menuItem.style.display != desiredDisplay) menuItem.style.display = desiredDisplay;
  
  if(menu_fadeValue[id]>100) menu_fadeValue[id] = 100;

  if(menu_fadeValue[id]>0 && menu_fadeValue[id] < 100) setTimeout("menu_fade("+id+")", 10);
}



function menu_mouseOut(id){
  menu_menuVisible[id] = false;
  menu_waitForMenuUpdate(id);
}

function menu_mouseOver(id){
  menu_menuVisible[id] = true;
  if(typeof(menu_fadeValue[id]) == "undefined") {
    menu_fadeValue[id] = 0;
	menu_fadeDirection[id] = false;
  }
  menu_showMenu(id, true);
}

function  menu_waitForMenuUpdate(id) {
  if(!menu_waiting) {
    setTimeout("menu_updateMenu("+id+")", 500);
	menu_waiting = true;
  }
}

function menu_updateMenu(id){
  menu_waiting = false;
  menu_showMenu(id, menu_menuVisible[id]);
}


  function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }