////////////////////////////////////////////////////////////////////////
//                 uuuuuuuuuuuu u
//           uuuuuuuu  uu  u  uuuuuuuu
//        uuuuu                     uuuuu
//       uuo     iiii         iiii      ouu
//       oo      /   \       /   \       oo
//       o      ( (O) )     ( (O) )       oo
//      oo       \___/   /\  \___/         o
//      o               /  \               o
//      o      U        O O         U     oo
//      oo      UU                UU     oo
//       oo       UUUU        UUUU     oo
//        ooo         UUUUUUUU        ooo
//          ooooo                 ooooo
//              oooooo       oooooo
//                   ooooooooo
//
//   Vytvoril: Jiri Vintera, J.Vinteraseznam.cz
////////////////////////////////////////////////////////////////////////
/*nastaveni funkci*/
var idMysNa = "menu1";
//var idKlik = "menu1";
//var idDblKlik = "menu";
//var idKlavesy = "menu2";
//var barva = "red";  //pro nastaveni barvy zvyraznene polozky u fKlavesy
////////////////////////////////////////////////////////////////////////

/*Zruseni bublani, funkce prevzata z:*/
/*Resig, J. Javascrip a Ajax. Moderni programovani webovzch aplikaci. Brno: Computer Press a.s., 2007. 1. vzdani.*/
function zrusBublani(e){
  if ( e && e.stopPropagation ) {
    e.stopPropagation();
  }
  else {
    window.event.cancelBubble = true;
  }
}

/*funkce rozbali menu po najeti mysi*/
function fMysNa(idMysNa){
  var prvek = document.getElementById(idMysNa).getElementsByTagName("div");
  for (var i = 0; i < prvek.length; i++) {
  	prvek[i].onmouseover = prvek[i].onmouseout = function(e){
  	  e = e || window.event;
	  this.getElementsByTagName("UL")[0].style.display = e.type == "mouseover" ? "block" : "none";
  	}
  }
}

/*funkce pro rozbaleni 1 urovnoveho menu po kliknuti mysi*/
function fKlik(idKlik){
  var prvek = document.getElementById(idKlik).getElementsByTagName("div");
  var odkaz = document.getElementById(idKlik).getElementsByTagName("a");
  for (var i = 0; i < prvek.length; i++) {
  	odkaz[i].onclick = function(e){
  	  zrusBublani(e);
  	}
  	prvek[i].onclick = function(e){
  	  if (this.getElementsByTagName('UL')[0].style.display == 'none') {
  		this.getElementsByTagName('UL')[0].style.display = 'block';
  		zrusBublani(e);
  	  }
  	  else {
  	    this.getElementsByTagName('UL')[0].style.display = 'none';
  	    zrusBublani(e);
  	  }
  	}
  }
}

/*funkce pro rozbaleni 1 urovnoveho menu po kliknuti mysi a sbaleni po dvojtem kliknuti*/
/*nefunguje v Opere, nevim jak zakazat vychozi akci pro dvojklik*/
function fDblKlik(idDblKlik){
  var prvek = document.getElementById(idDblKlik).getElementsByTagName("div");
  for (var i = 0; i < prvek.length; i++) {
	prvek[i].onclick = prvek[i].ondblclick = function(e){
	  e = e || window.event;
	  this.firstChild.nextSibling.style.display = e.type == "click" ? "block" : "none";
	  zrusBublani(e);
	}	
  }
}

/*funkce pro ovladani menu klavesnici*/
function fKlavesy(idKlavesy, barva){
  var index = 0, i, polozka = null, odkaz = null;
  var prvek = document.getElementById(idKlavesy).getElementsByTagName("div");
  var ul=document.getElementById(idKlavesy).getElementsByTagName("ul");
  document.onkeyup = function(e){
  	e = e || window.event;
	switch(e.keyCode){
	  case 32:  //mezernik
	  	polozka = prvek[0];
        for (i=0;i<ul.length;i++) {
          if(e.shiftKey){
		  	ul[i].style.display = "block";
			polozka.style.color = polozka.nodeType == "3" ? "inherit" : "";
		  }
		  else{
		  	ul[i].style.display = "none";
		  	polozka.style.color = barva;
		  }
        }
	    break;
	  case 13:  //enter
	    if (polozka !== null) {
	      if (polozka.getElementsByTagName("A")[0] != undefined) {
		  	odkaz = polozka.getElementsByTagName("A")[0].getAttribute("href");
		  	window.location = odkaz;
		  }
	    }
	    break;
	  case 37:  //vlevo
	    if (polozka !== null) {
		  if (polozka.parentNode.id != idKlavesy) {
		  	while (polozka.nodeName != "DIV") {
			  polozka.style.color = polozka.nodeType == "3" ? "inherit" : "";
		  	  polozka = polozka.parentNode;
			  polozka.style.display = polozka.nodeName == "UL" ? "none" : "";
			  polozka.style.color = barva;
		  	}
		  }
		  if(polozka.nodeName == "DIV"){
			if(polozka.parentNode.id != idKlavesy){
		  	  polozka.style.color = polozka.nodeType == "3" ? "inherit" : "";
			  polozka = polozka.parentNode;
			  polozka.style.color = barva;
			}
		  }
	    }
	    break;
	  case 38:  //nahoru
	    if (polozka !== null) {
		  while((polozka.previousSibling != null)){
		  	if ((!window.event) && (polozka.previousSibling.previousSibling == null)){
			  return 0;
			}
		  	if ((polozka.nodeType == "1")) {
			  polozka.style.color = polozka.nodeType == "3" ? "inherit" : "";
			}
			polozka = polozka.previousSibling;
			if(polozka.nodeType == "1"){
			  polozka.style.color = barva;
			  return 0;
			}
		  }
	    }
	    break;
	  case 39:  //vpravo
	    if (polozka !== null) {
		  if((polozka.nodeName == "LI") && (polozka.getElementsByTagName("DIV")[0] != undefined)){
			polozka.style.color = polozka.nodeType == "3" ? "inherit" : "";
			polozka = polozka.getElementsByTagName("DIV")[0];
		  }
		  if (polozka.nodeName == "DIV") {
			polozka.style.color = polozka.nodeType == "3" ? "inherit" : "";
		  	polozka = polozka.getElementsByTagName("UL")[0];
			polozka.style.display = "block";
			polozka = polozka.getElementsByTagName("LI")[0];
			polozka.style.color = barva;
		  }
	    }
	    break;
	  case 40:  //dolu
	    if (polozka !== null) {
		  while((polozka.nextSibling != null)){
		  	if ((navigator.appName != 'Microsoft Internet Explorer') && (polozka.nextSibling.nextSibling == null)){
			  return 0;
			}
		  	if ((polozka.nodeType == "1")) {
			  polozka.style.color = polozka.nodeType == "3" ? "inherit" : "";
			}
			polozka = polozka.nextSibling;
			if(polozka.nodeType == "1"){
			  polozka.style.color = barva;
			  return 0;
			}
		  }
	    }
	    break;
	}
  }
}

/*funkce pro kontextovou napovedu*/
function fNapoveda(){
  var vseDiv = document.getElementsByTagName("span");
  var osaX = 0, osaY = 0;
  for (var i = 0; i < vseDiv.length; i++) {
  	if(vseDiv[i].className == "napoveda"){
      vseDiv[i].onclick = function(e){
        if (this.nextSibling.nextSibling.style.display == 'none') {
		  this.nextSibling.nextSibling.style.display = 'block';
		  if(e){
		  	osaX = e.pageX + "px" || 0;
		    osaY = e.pageY + "px" || 0;
		  }
		  else {
		  	osaX = window.event.clientX + document.body.scrollLeft || 0;
		    osaY = window.event.clientY + document.body.scrollTop || 0;
		  }
		  this.nextSibling.nextSibling.style.top = osaY;
		  this.nextSibling.nextSibling.style.left = osaX;
		}
		else {
		  this.nextSibling.nextSibling.style.display = 'none';
		}
	  }
	  vseDiv[i].onmouseout = function(e){
		this.nextSibling.nextSibling.style.display = "none";
      }
      vseDiv[i].nextSibling.nextSibling.onmouseover = vseDiv[i].nextSibling.nextSibling.onmouseout = function(e){
  	    e = e || window.event;
	    this.style.display = e.type == "mouseover" ? "block" : "none";
      }
	}
  }
}

document.documentElement.className = "js";


