/*** funkce pro odsraneni bilych znaku z koncu retezce ***/

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

/*** test vyskytu hodnoty v poli ***/
Array.prototype.inArray = function(str) {
  for (var i = 0; i < this.length; i++) {
    if (this[i] == str) return true;
  }
	return false;
}

/*** preload obrazku ***/
var obrazky = new Array("bannery/aslab_hover.gif","bannery/ceho_hover.gif","bannery/dibavod_hover.gif","bannery/heis_vuv_hover.gif","bannery/knihovna_vuv_hover.gif",
"ikonky/vice_aku_js_ld_hover.gif","ikonky/vice_aku_js_lh_hover.gif","ikonky/vice_aku_js_pd_hover.gif","ikonky/vice_aku_js_ph_hover.gif","ikonky/vice_hover.gif","ikonky/vice_js_ld_hover.gif","ikonky/vice_js_lh_hover.gif","ikonky/vice_js_pd_hover.gif","ikonky/vice_js_ph_hover.gif",
"ikonky/ok_hover.gif","ikonky/h3_uvod_hover.gif","menu_leve/polozka2_odkaz_hover.gif","menu_leve/polozka2_odkaz_posl_hover.gif","menu_leve/polozka2_posl_hover.gif");
var cesta = "http://" + location.hostname + "/fileadmin/aslab/img/";
var preload = new Array();
for (var i = 0; i < obrazky.length; i++) {
  preload[i] = new Image();
  preload[i].src = cesta + obrazky[i];
}

//nastavi udalosti u vyhledavaciho policka
function vyhledavaniNastavUdalosti() {
  if (!document.getElementById('vyhledavani') || !document.getElementById('vyhledavani').getElementsByTagName('input') || !document.getElementById('vyhledavani').getElementsByTagName('input')[0]) {
    return;
  }
  var reg_en=/\/en/;
  var reg_de=/\/de/;
  var reg_ru=/\/ru/;
  var text = "hledej...";
  //alert(location.pathname.search(reg_en));
  if (location.pathname.search(reg_en) == 0) text = "search...";
  else if (location.pathname.search(reg_de) == 0) text = "suche...";
  else if (location.pathname.search(reg_ru) == 0) text = "?????...";

  var input = document.getElementById('vyhledavani').getElementsByTagName('input')[0];

  if (input.value == '') {
    input.value = text;
  }
  input.onblur = function() {
    if (input.value == '') {
      input.value = text;
    }
  };
  input.onclick = function() {
    if (input.value == text) {
      input.value = '';
    }
  };
  if (!document.getElementById('vyhledavani').getElementsByTagName('input')[1] || !document.getElementById('vyhledavani').getElementsByTagName('input')[2]) {
    return;
  }
  tlacitko = document.getElementById('vyhledavani').getElementsByTagName('input')[1];
  tlacitko.onclick = function() {
    if (input.value == text) {
      input.value = '';
    }
  };
  tlacitko.onmousemove = function() {
    var hover = this.nextSibling;
    if (!hover) return;
    if (hover.nodeName != "INPUT") {
      var hover = hover.nextSibling;
    }
    if (!hover || hover.nodeName != "INPUT") return;
    this.style.display = "none";
    hover.style.display = "inline";
  };
  tlacitko=document.getElementById('vyhledavani').getElementsByTagName('input')[2];
  tlacitko.onclick = function() {
    if (input.value == text) {
      input.value = '';
    }
  };
  tlacitko.onmouseout = function() {
    var normal = this.previousSibling;
    if (!normal) return;
    if (normal.nodeName != "INPUT") {
      var normal = normal.previousSibling;
    }
    if (!normal || normal.nodeName != "INPUT") return;
    this.style.display = "none";
    normal.style.display = "inline";
  };
}


function obarvitTabulky() {
  var tabulky = document.getElementsByTagName("table"); //vsechny tabulky
  tabulka:
  for (var i = 0; i < tabulky.length; i++) {
    var tridy = tabulky[i].className.split(" "); //tridy v poli
    if (!tridy.inArray("obecna")) continue; //preskocit tabulky, pokud neni tridy obecna
    var bunky = tabulky[i].getElementsByTagName("th");
    for (var j = 0; j < bunky.length; j++) {
      if (bunky[j].getAttribute("colspan") > 1) continue tabulka; //preskoceni tabulky, pokud v ni jsou slucovane bunky
      if (bunky[j].getAttribute("rowspan") > 1) continue tabulka;
    }
    var bunky = tabulky[i].getElementsByTagName("td");
    for (var j = 0; j < bunky.length; j++) {
      if (bunky[j].getAttribute("colspan") > 1) continue tabulka; //preskoceni tabulky, pokud v ni jsou slucovane bunky
      if (bunky[j].getAttribute("rowspan") > 1) continue tabulka;
    }
    //pruchod po radcih
    var radky = tabulky[i].getElementsByTagName("tr");
    var cisloRadku = 0; //pocitadlo radku, ve kterych nejsou bunky zahlavi
    for (var j = 0; j < radky.length; j++) {
      //pruchod po bunkach v radku
      var bunky = radky[j].getElementsByTagName("td");
      if (bunky.length == 0) continue; //preskoceni radku, ve kterem jsou jen bunky zahlavi
      cisloRadku ++;
//      if (cisloRadku % 2 == 1) radky[j].className += (radky[j].className.length > 0 ? " " : "") + "radek_lichy";
      var bunky = bunky[0].parentNode.childNodes;
      var cisloBunky = 0; //pocitadlo bunek v radku
      for (var k = 0; k < bunky.length; k++) {
        if (!bunky[k].nodeName || (bunky[k].nodeName != "TH" && bunky[k].nodeName != "TD")) continue; //pouze bunky
        cisloBunky ++;
        if (bunky[k].nodeName == "TH") continue; //bunce zahlavi se styl nenastavuje, pouze se inkrementuje pocitadlo
        if (cisloBunky % 2 == 1 && cisloRadku % 2 == 1) bunky[k].className += (bunky[k].className.length > 0 ? " " : "") + "sloupec_lichy"; //licha bunka licheho radku
        if (cisloBunky % 2 == 0 && cisloRadku % 2 == 0) bunky[k].className += (bunky[k].className.length > 0 ? " " : "") + "sloupec_sudy";  //suda bunka sudeho radku
      }
    }
  }
}

/*** upravi vzhled leveho menu, zejmena zaobleni vpravo dole ***/
function upravitLeveMenu(el) {
  //blok
  if (!el) return;
  var menu_obsah = el.childNodes;
  //seznam
  var seznam = false;
  for (var i = 0; i < menu_obsah.length; i++) {
    if (menu_obsah[i].nodeName == "UL") seznam = menu_obsah[i]
  }
  if (!seznam) return;
  var seznam_obsah = seznam.childNodes;
  //posledni polozka
  var odrazka = false;
  for (var i = 0; i < seznam_obsah.length; i++) {
    if (seznam_obsah[i].nodeName == "LI") odrazka = seznam_obsah[i]
  }
  if (!odrazka) return;
  //obsah posledni polozky
  var odrazka_obsah = odrazka.getElementsByTagName('li');
  reg=new RegExp("(aktualni)");
  //pokud posledni polozka neni aktualni, konec
  if (odrazka.className.search(reg)<0) return;
  //pokud polozka nema dalsi podmenu (druha uroven), oznaci se jako prazdna
  if (odrazka_obsah.length == 0) {
    odrazka.className += (odrazka.className.length > 0 ? " " : "") + "prazdna";
    return;
  }
  odrazka.className += (odrazka.className.length > 0 ? " " : "") + "neprazdna";
  //zpracovani dalsi urovne
  upravitLeveMenu(odrazka);
}

/*** nastavi ikonky odkazu v zapati ***/
function nastavitOdkazyZapati() {

  var zapati = document.getElementById("zapati_menu");
  
  if (!zapati) return;
  var odkazy = zapati.getElementsByTagName("a");
  for (var i = 0; i < odkazy.length; i++) {
    if (odkazy[i].href.length <= 0) continue;
    if (odkazy[i].href.indexOf("http://" + location.hostname + "/mapa-webu") == 0 || odkazy[i].href.indexOf("http://" + location.hostname + "/en/site-map") == 0) {
      odkazy[i].className += (odkazy[i].className.length > 0 ? " " : "") + "odkaz_mapa_webu";
    }
    else if (odkazy[i].href.indexOf("http://" + location.hostname + "/o-webu") == 0 || odkazy[i].href.indexOf("http://" + location.hostname + "/en/about-this-site") == 0) {
      odkazy[i].className += (odkazy[i].className.length > 0 ? " " : "") + "odkaz_o_webu";
    }
    else if (odkazy[i].href.indexOf("javascript:window.print()") == 0) {
      odkazy[i].className += (odkazy[i].className.length > 0 ? " " : "") + "odkaz_tisk";
    }
    odkazy[i].innerHTML = odkazy[i].innerHTML;
  }
}

/*** cekani na nacteni html ***/
function nastavitOdstavecVice() {
  var odkaz = false;
  do {
    if (!odkaz) {
      if (!odkaz) {
        var odkazy = document.getElementsByTagName("a");
        for (var i = 0; i < odkazy.length; i++) {
          var tridy = odkazy[i].className.split(" "); //tridy
          if (!tridy.inArray("vice")) continue; //preskocit odstavec, pokud neni tridy vice
          if (tridy.inArray("vice_js")) continue;
          odkaz = odkazy[i];
          break;
        }
      }
      if (!odkaz) {
        var odstavce = document.getElementsByTagName("p");
        for (var i = 0; i < odstavce.length; i++) {
          var tridy = odstavce[i].className.split(" "); //tridy
          if (!tridy.inArray("vice")) continue; //preskocit odstavec, pokud neni tridy vice
          var odkazy = odstavce[i].getElementsByTagName("a");
          for (var j = 0; j < odkazy.length; j++) {
            var tridy = odkazy[j].className.split(" "); //tridy
            if (tridy.inArray("vice_js")) continue;
            odkaz = odkazy[j];
            break;
          }
          if (odkaz) break;
        }
      }
  
      if (!odkaz) return;
    }
    
  
    var odstavec = odkaz.parentNode
    var span = document.createElement("span");
    span.className = "vice_js";
    var span2 = document.createElement("span");
    var span3 = document.createElement("span");
    var odkaz2 = odkaz.cloneNode(1);
    span.appendChild(span2);
    span2.appendChild(span3);
    span3.appendChild(odkaz2);
    //odstavec.appendChild(span);
    odkaz2.className += (odkaz2.className.length > 0 ? " " : "") + "vice_js";
    odkaz.parentNode.replaceChild(span,odkaz);
    span.onmousemove = function() {
      var tridy = this.className.split(" "); //tridy
      if (tridy.inArray("vice_js_hover")) return; //preskocit odstavec, pokud neni tridy vice
      this.className += (this.className.length > 0 ? " " : "") + "vice_js_hover";
    }
    span.onmouseout = function() {
      var tridy = this.className.split(" "); //tridy
      if (!tridy.inArray("vice_js_hover")) return; //preskocit odstavec, pokud neni tridy vice
      var ntridy = "";
      for (var i = 0; i < tridy.length; i++) {
        if (tridy[i] != "vice_js_hover") {
          if (ntridy.length > 0) ntridy += " ";
          ntridy += tridy[i];
        }
      }
      this.className = ntridy;
    }
    odkaz = false;
  } while (1);
}

function nastavitBannery() {
  var odstavce = document.getElementsByTagName("p");
  for (var i = 0; i < odstavce.length; i++) {
    var tridy = odstavce[i].className.split(" ");
    if (!tridy.inArray("banner_knihovna_vuv") && !tridy.inArray("banner_heis_vuv") && !tridy.inArray("banner_dibavod") && !tridy.inArray("banner_ceho") && !tridy.inArray("banner_aslab")) return;
    var odkazy = odstavce[i].getElementsByTagName("a");
    var odkaz = false;
    for (var j = 0; j < odkazy.length; j++) {
      if (odkazy[j].href) {
        odkaz = odkazy[j].href;
        break;
      }
    }
    if (!odkaz) continue;
    odstavce[i].onclick = function() {
      var odkazy = this.getElementsByTagName("a");
      var odkaz = false;
      for (var j = 0; j < odkazy.length; j++) {
        if (odkazy[j].href) {
          odkaz = odkazy[j].href;
          break;
        }
      }
      location.href = odkaz;
    }
    odstavce[i].onmousemove = function() {
      var tridy = this.className.split(" ");
      if (tridy.inArray("banner_knihovna_vuv_hover") || tridy.inArray("banner_heis_vuv_hover") || tridy.inArray("banner_dibavod_hover") || tridy.inArray("banner_ceho_hover") || tridy.inArray("banner_aslab_hover")) return;
      if (tridy.inArray("banner_knihovna_vuv")) this.className += (this.className.length > 0 ? " " : "") + "banner_knihovna_vuv_hover";
      if (tridy.inArray("banner_heis_vuv")) this.className += (this.className.length > 0 ? " " : "") + "banner_heis_vuv_hover";
      if (tridy.inArray("banner_dibavod")) this.className += (this.className.length > 0 ? " " : "") + "banner_dibavod_hover";
      if (tridy.inArray("banner_ceho")) this.className += (this.className.length > 0 ? " " : "") + "banner_ceho_hover";
      if (tridy.inArray("banner_aslab")) this.className += (this.className.length > 0 ? " " : "") + "banner_aslab_hover";
    }
    odstavce[i].onmouseout = function() {
      var tridy = this.className.split(" "); //tridy
      if (!tridy.inArray("banner_knihovna_vuv_hover") && !tridy.inArray("banner_heis_vuv_hover") && !tridy.inArray("banner_dibavod_hover") && !tridy.inArray("banner_ceho_hover") && !tridy.inArray("banner_aslab_hover")) return;
      var ntridy = "";
      for (var i = 0; i < tridy.length; i++) {
        if (tridy[i] != "banner_knihovna_vuv_hover" && tridy[i] != "banner_heis_vuv_hover" && tridy[i] != "banner_dibavod_hover" && tridy[i] != "banner_ceho_hover" && tridy[i] != "banner_aslab_hover") {
          if (ntridy.length > 0) ntridy += " ";
          ntridy += tridy[i];
        }
      }
      this.className = ntridy;
    }
  }
}

/*** cekani na nacteni html ***/
function nacteniHtml() {
  if (!document.getElementById("zapati_kontejner")) {
    htmlCas=htmlCas*2;
    setTimeout("nacteniHtml()", htmlCas);
    return;
  }
  var menu = document.getElementById('menu_leve');
  upravitLeveMenu(menu);
  nastavitOdkazyZapati();
  nastavitOdstavecVice()
  obarvitTabulky();
  nastavitBannery();
  vyhledavaniNastavUdalosti();
}
htmlCas=2;
nacteniHtml();

