function jepotomkem(potomek,predek) {
 while (potomek != predek && potomek != null) {
  potomek = potomek.parentNode; 
 }
  return potomek==predek;
}

function has_htmlclass(el,trida) {
 var c = el.className;
 var rv =  new RegExp("\\b("+trida+")\\b");
 return (c.search(rv,trida)>=0);
}
   
function set_htmlclass(el,novatrida,staratrida) {
 var c = el.className;
 if (staratrida!=undefined && has_htmlclass(el,staratrida)) {
  var rv =  new RegExp("\\b("+staratrida+")\\b");
  el.className = c.replace(rv,novatrida);
 } else {
  el.className += " "+novatrida;
 }
}

  function js_fadein() {
   var fadein_zpozdeni = 100;
   if (fadein_element!=null) {  
    fadein_phase++;
    if (fadein_phase<=5) {
     fadein_element.style.opacity = fadein_phase*0.2;    
     fadein_casovac = setTimeout(js_fadein);
    } else {
     fadein_phase = 1;
     fadein_element = null;
    }
   }   
  }
  
  function js_hover(el,fel,e) {
   var e = e || window.event;
   var odkud,kam;
   switch (e.type) {
    case "mouseover":
     odkud = e.relatedTarget || e.fromElement;
     if (!jepotomkem(odkud,el)) {
      if (showhide_element!=null) {
       set_htmlclass(showhide_element,"","mouseover");
      } 
      showhide_element = el;
      fadein_element = document.getElementById(fel);
      showhide_casovac = setTimeout(function(){set_htmlclass(el,"mouseover");js_fadein();},showhide_zpozdeni);
     }       
    break;
    case "mouseout":
     kam = e.relatedTarget || e.toElement;     
     if (!jepotomkem(kam,el)) {
      if (showhide_casovac!=null) {
       clearTimeout(showhide_casovac);
      } 
      showhide_casovac = null;
      set_htmlclass(el,"","mouseover");
      showhide_element = null;
      fadein_element = null;
     }  
    break;  
   }
  }
  
  var showhide_element = null;
  var showhide_casovac = null;
  var showhide_zpozdeni = 200;
  var fadein_element = null;
  var fadein_casovac = null;
  var fadein_phase = 1;

 var confirm_data = null;

 function rozmery_okna() {
  var sirka=0;
  var vyska=0;
  if(typeof(window.innerWidth)=='number') {
    sirka = window.innerWidth;
    vyska = window.innerHeight;
  } else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
    sirka = document.documentElement.clientWidth;
    vyska = document.documentElement.clientHeight;
  } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
    sirka = document.body.clientWidth;
    vyska = document.body.clientHeight;
  }
  return {"sirka":sirka,"vyska":vyska};
 }
       
 function odrolovani() {
  var x = 0, y = 0;
  if( typeof(window.pageYOffset)=='number') {
    x = window.pageXOffset;
    y = window.pageYOffset;
  } else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
    x = document.body.scrollLeft;
    y = document.body.scrollTop;
  } else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
    x = document.documentElement.scrollLeft;
    y = document.documentElement.scrollTop;
  }
  return {x:x,y:y};
 }       

 function zobrazit_alert() {
  if (arguments.length==2) {
   var nadpis = (arguments[0]) ? '<h3>'+arguments[0]+'</h3>' : '';  
   var text = arguments[1];
  } else {
   var nadpis = '';
   var text = arguments[0];
  }
  var sirka = 492;
  var vyska = 195;
  var okno_rozmery = rozmery_okna();
  var scroll = odrolovani();    
  var prekryti = document.createElement("div");
  prekryti.id = "js_hlaseni_prekryti";
  prekryti.style.height = Math.max(document.documentElement.offsetHeight,document.body.offsetHeight)+"px";    
  var alert_box = document.createElement("div");
  alert_box.id = "js_alert";
  alert_box.innerHTML = '<span id="js_alert_zavrit" onclick="odstranit_alert()"></span><div id="js_hlaseni_spodni"><div id="js_hlaseni_obsah"><div id="js_hlaseni_ikona">'+nadpis+'<p class="js_hlaseni_text">'+text+'</p><p class="js_hlaseni_ovladani"><span onclick="return odstranit_alert()" class="js_hlaseni_tlacitko fialove">OK</span></p><br class="cleaner" /></div></div></div>';
  alert_box.style.top = (Math.max((okno_rozmery.vyska-(vyska+20)),40)/2)+scroll.y+"px";
  alert_box.style.left = (Math.max((okno_rozmery.sirka-(sirka+20)),40)/2)+"px";

  document.body.appendChild(prekryti);
  document.body.appendChild(alert_box);
  window.onscroll = aktualizovat_prekryti;  
 }
   
 function odstranit_alert() {
  var alert_box = document.getElementById("js_alert");
  var prekryti = document.getElementById("js_hlaseni_prekryti");
  document.body.removeChild(alert_box);
  document.body.removeChild(prekryti);
  window.onscroll = null;  
  if(do_focus)
    document.getElementById(do_focus).focus();
  return false;    
 } 
 
 function zobrazit_dialog(selector) {
  var sirka = 492;
  var vyska = 195;
  var okno_rozmery = rozmery_okna();
  var scroll = odrolovani();    
  var prekryti = document.createElement("div");
  prekryti.id = "js_hlaseni_prekryti";
  prekryti.style.height = Math.max(document.documentElement.offsetHeight,document.body.offsetHeight)+"px";    
  var dialog_box = document.createElement("div");
  dialog_box.id = "js_alert";
  dialog_box.innerHTML = '<span id="js_alert_zavrit" onclick="odstranit_dialog()"></span><div id="js_hlaseni_spodni"><div id="js_hlaseni_obsah" style="padding-right: 20px"><div class="dialog-content"></div><br class="cleaner" /></div></div>';
  dialog_box.style.top = (Math.max((okno_rozmery.vyska-(vyska+20)),40)/2)+scroll.y+"px";
  dialog_box.style.left = (Math.max((okno_rozmery.sirka-(sirka+20)),40)/2)+"px";

	document.dialogSelector = selector;
	
  document.body.appendChild(prekryti);
  document.body.appendChild(dialog_box);
  $(".dialog-content").prepend($(selector + " > *"));
  
  window.onscroll = aktualizovat_prekryti;  
 }
 
 function odstranit_dialog() {
	 $(document.dialogSelector).prepend($(".dialog-content > *"));
  var dialog_box = document.getElementById("js_alert");
  var prekryti = document.getElementById("js_hlaseni_prekryti");
  document.body.removeChild(dialog_box);
  document.body.removeChild(prekryti);
  window.onscroll = null;  
  return false;    
 } 
 
 function zobrazit_confirm(hlasky,typ,cil,vstupni_hodnoty) {
  var nadpis = (hlasky[0]) ? '<h3>'+hlasky[0]+'</h3>' : '';
  var text = hlasky[1];
  var text_ano = hlasky[2];
  var text_ne = hlasky[3];
  confirm_data = {"typ":typ,"cil":cil,"vstupni_hodnoty":vstupni_hodnoty};
  var sirka = 492;
  var vyska = 195;
  var okno_rozmery = rozmery_okna();
  var scroll = odrolovani();    
  var prekryti = document.createElement("div");
  prekryti.id = "js_hlaseni_prekryti";
  prekryti.style.height = Math.max(document.documentElement.offsetHeight,document.body.offsetHeight)+"px";    
  var confirm_box = document.createElement("div");
  confirm_box.id = "js_confirm";
  confirm_box.innerHTML = '<div id="js_hlaseni_spodni"><div id="js_hlaseni_obsah"><div id="js_hlaseni_ikona">'+nadpis+'<p class="js_confirm_text">'+text+'</p><p class="js_hlaseni_ovladani"><span class="js_hlaseni_tlacitko fialove" onclick="provest_confirm()">'+text_ano+'</span> <span class="js_hlaseni_tlacitko sede" onclick="odstranit_confirm()">'+text_ne+'</span></p><br class="cleaner" /></div></div></div>';
  confirm_box.style.top = (Math.max((okno_rozmery.vyska-(vyska+20)),40)/2)+scroll.y+"px";
  confirm_box.style.left = (Math.max((okno_rozmery.sirka-(sirka+20)),40)/2)+"px";

  document.body.appendChild(prekryti);
  document.body.appendChild(confirm_box);
  window.onscroll = aktualizovat_prekryti;   
  return false;
 }  

  function zobrazit_confirm_reverse(hlasky,typ,cil,vstupni_hodnoty) {
  var nadpis = (hlasky[0]) ? '<h3>'+hlasky[0]+'</h3>' : '';
  var text = hlasky[1];
  var text_ano = hlasky[2];
  var text_ne = hlasky[3];
  confirm_data = {"typ":typ,"cil":cil,"vstupni_hodnoty":vstupni_hodnoty};
  var sirka = 492;
  var vyska = 195;
  var okno_rozmery = rozmery_okna();
  var scroll = odrolovani();
  var prekryti = document.createElement("div");
  prekryti.id = "js_hlaseni_prekryti";
  prekryti.style.height = Math.max(document.documentElement.offsetHeight,document.body.offsetHeight)+"px";
  var confirm_box = document.createElement("div");
  confirm_box.id = "js_confirm";
  confirm_box.innerHTML = '<div id="js_hlaseni_spodni"><div id="js_hlaseni_obsah"><div id="js_hlaseni_ikona">'+nadpis+'<p class="js_confirm_text">'+text+'</p><p class="js_hlaseni_ovladani"><span class="js_hlaseni_tlacitko fialove" onclick="odstranit_confirm()">'+text_ano+'</span> <span class="js_hlaseni_tlacitko sede" onclick="provest_confirm()">'+text_ne+'</span></p><br class="cleaner" /></div></div></div>';
  confirm_box.style.top = (Math.max((okno_rozmery.vyska-(vyska+20)),40)/2)+scroll.y+"px";
  confirm_box.style.left = (Math.max((okno_rozmery.sirka-(sirka+20)),40)/2)+"px";

  document.body.appendChild(prekryti);
  document.body.appendChild(confirm_box);
  window.onscroll = aktualizovat_prekryti;
  return false;
 }

 function odstranit_confirm() {
  var confirm_box = document.getElementById("js_confirm");
  var prekryti = document.getElementById("js_hlaseni_prekryti");
  document.body.removeChild(confirm_box);
  document.body.removeChild(prekryti);
  window.onscroll = null;    
  return false;    
 }   
   
 function provest_confirm() {
  switch (confirm_data.typ) {
   case "odkaz":
    window.location = confirm_data.cil;
   break;
   case "formular":
    confirm_data.cil.submit();
   break;
   case "funkce":
    var fce = confirm_data.cil;
    fce(confirm_data.vstupni_hodnoty);
   break;          
  }
  odstranit_confirm();
 }    
 
 function aktualizovat_prekryti() {
  var prekryti = document.getElementById("js_hlaseni_prekryti");
  if (prekryti!=null) {
   prekryti.style.height = Math.max(document.documentElement.offsetHeight,document.body.offsetHeight)+"px";
  }
 }

 window.alert = zobrazit_alert;

function zobrazSkryj(idecko){
el=document.getElementById(idecko).style;
el.display=(el.display == 'block')?'none':'block';
}

function fsize(size,unit,id){
  var vfontsize = document.getElementById(id);
  if(vfontsize){
   vfontsize.style.fontSize = size + unit;
  }
}

