// JavaScript Document

var currMenu = "";
var lastMenu = "";
var currParent = "";

var is4Plus = parseInt(navigator.appVersion)>=4;

var isShit = false;
var isIE = false;
var isDOMish = false;
var isOpera=navigator.userAgent.indexOf("Opera")>=0;


// FIXME: lepsi kontrola browseru :(

if(is4Plus) {
  if(document.all) {
    isIE = true;
  } else if(document.layers) {
    isShit = true;
  } else {
    isDOMish = true;
  }
}

function documentResized() {
  resizeMenu();
}

window.onResize = documentResized;

function resizeMenu() {
  moveMenu(currMenu,currParent);
}


function _true_top(obj) {
  if(obj==null)
    return 0;
  var ofsPar = obj.offsetParent;
  if(ofsPar!=null) {
    var xl = _true_top(ofsPar);
    return xl+obj.offsetTop;
  } else {
    return obj.offsetTop-16;
  }
}


function _true_left(obj) {
  if(obj==null)
    return 0;
  var ofsPar = obj.offsetParent;
  if(ofsPar!=null) {
    var xl = _true_left(ofsPar);
    return xl+obj.offsetLeft;
  } else {
    return obj.offsetLeft+150;
  }
}


function moveMenu(x,menuParent) {
  if(isShit) {
    document.layers[x].left = document.layers[menuParent].pageX;
    document.layers[x].top = document.layers[menuParent].pageY
       + document.layers[menuParent].clip.bottom - document.layers[menuParent].clip.top;
  } else if(isIE) {
    if(isOpera) {  // hack 4 Opera
      document.all(x).style.top = _true_top(document.all(menuParent)) + document.all(menuParent).style.pixelHeight;
    } else {
      var xheight = document.all(menuParent).offsetHeight;
      if(!(xheight>-20000))
        xheight = 20;
      document.all(x).style.top = _true_top(document.all(menuParent)) + xheight;
    }
    document.all(x).style.left = _true_left(document.all(menuParent));
  } else if(isDOMish){
    document.getElementById(x).style.top = _true_top(document.getElementById(menuParent))
      + document.getElementById(menuParent).offsetHeight;
    document.getElementById(x).style.left = _true_left(document.getElementById(menuParent));
  }
}


function anch_over(x,menuParent) {
  if(!is4Plus)
    return;
  if(x==currMenu)
    return;
  closeMenus();
  currMenu = x;
  if(isShit)
    menuParent = menuParent+"_layer";
  currParent= menuParent;
  moveMenu(x,menuParent);

  if(document.layers) {
    document.layers[x].visibility = "visible";
  } else if(document.all){
    document.all(x).style.visibility = "visible";
  } else {
    document.getElementById(x).style.visibility = "visible";
  }
}

function closeMenus() {
  if(!is4Plus)
    return;
  if(currMenu=="")
    return;
  lastMenu = currMenu;
  currMenu = "";

  if(document.layers) {
    document.layers[lastMenu].visibility = "hidden";
  } else if(document.all){
    document.all(lastMenu).style.visibility = "hidden";
  } else {
    document.getElementById(lastMenu).style.visibility = "hidden";
  }
}

function showMenuAgain() {
  if(!is4Plus)
    return;
  if(currMenu!="")
    return;
  currMenu = lastMenu;
  moveMenu(currMenu,currParent);

  if(document.layers) {
    document.layers[lastMenu].visibility = "visible";
  } else if(document.all){
    document.all(lastMenu).style.visibility = "visible";
  } else {
    document.getElementById(lastMenu).style.visibility = "visible";
  }
}
