// *********************************************************************************** //
// TENTO KOD PSAL ANN3! K OSTATNIMU BASTLU SE NEMINIM HLASIT, NEJHORSI SEM ALE OPRAVIL //
// *********************************************************************************** //
/*                           http://dean.edwards.name/packer/                          */

/*
var = konfigurace

get_PM     -> denni provoz v mesici
get_PDVZM  -> pocet dnu ve zvolenem mesici
get_JD     -> jmeno dne
get_PD     -> poradi dne (vyuzuju na urceni pondelka (1)
get_JM     -> jmeno mesice
get_TJDUB  -> test jestli datum uz bylo
select_H   -> volba/vyber hodiny
select_cH  -> volba/vyber doby prohlidky ctvrthodiny
*/
var xmlHttp     = createXmlHttpRequestObject();
var y_rok       = 2012;
var y           = 2012;
var m_mesic     = 0;
var d_den       = 0;
var h_hodina    = 1;
var odHod       = 7;
var doHod       = 18;
var denOld      = "";
var hodinaOld   = "";
var act         = 0;
var msg         = "";
var m           = -1;

var oldtID      = "1-1";
var oldtClsName = "tdfree";
var id_cH_old   = "";
var r_ctvrt     = "--";
var clsName     = "";
var r_class     = "";

function createXmlHttpRequestObject(){
/* fce vytvoreni objektu XMLHTTP, zaklad asynchroniho volani */
var xmlHttp;
  try{
    xmlHttp = new XMLHttpRequest();
  }
  catch(e) {
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP");
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++){
      try { xmlHttp = new ActiveXObject(XmlHttpVersions[i]);}
      catch (e) {}
    }
  }
  if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else
    return xmlHttp;
}

function handleRequestStateChange(){
/* fce zachyceni stavu ajaxu */

document.getElementById('id_h').innerHTML ="";
 if      (xmlHttp.readyState == 1){ document.getElementById('id_info').innerHTML ="<table class='tableR' border='1'><tr><td>Čekejte dotaz se zavádí....<td><tr></table>"; }
 else if (xmlHttp.readyState == 2){ document.getElementById('id_info').innerHTML ="<table class='tableR' border='1'><tr><td>Čekejte dotaz se zpracovává<td><tr></table>"; }
 else if (xmlHttp.readyState == 3){ document.getElementById('id_info').innerHTML ="<table class='tableR' border='1'><tr><td>Čekejte pomocné zpracování.<td><tr></table>"; }
 else if (xmlHttp.readyState == 4){ document.getElementById('id_info').innerHTML = "";
    if (xmlHttp.status == 200){
      try {
      handleServerResponse();
      }
      catch(e) {
        //alert("Chyba při načítání odpovědi: " + e.toString());
        }
    }
    else {
        alert("Problém ve zpracování odpovědi:\n" + xmlHttp.statusText);
      }
  }
}

function call_Ajax(y,m,d,pdm,h,act){
/* ajaxovy dotaz na informace o otviracce a rezarvacich */
/* y   = rok /2008; m   = mesic /0-11; d   = den; pdm = pocet dnu v mesici; h   = hodina /1-24; act = 0; act = 1; act = 2; */
if (act == "0") {
if (m == "-"){ tableClear(); return;}


   document.getElementById('id_info').innerHTML ="";
  if (xmlHttp){
    try {
      try { netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead'); }
      catch(e) {} // ignore error
      dw = -1; //den v tydnu 0-6...u akce 0 dny nevim, tak je 0...mozna bych nemosel vubec posilat

    
    //test
    var debug_y   = y;
    var debug_m   = m;
    var debug_d   = d;
    var debug_pdm = pdm;
    var debug_h   = h;
    var debug_act = act;
    
    
    
    
    var params =  "rok="+y+"&mon="+m+"&den="+d+"&pdm="+pdm+"&dw="+dw+"&act="+act;
   //// metoda GET;
   //   xmlHttp.onreadystatechange = handleRequestStateChange;
   //   xmlHttp.open("GET", "ajax_sql.php" + "?"+params, true);
   //   xmlHttp.send(null);

   //// metoda POST;  prohozeni onready az za post... IE bug
    xmlHttp.open('POST', "ajax_sql.php", true);
    xmlHttp.onreadystatechange = handleRequestStateChange;

    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    //xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(params);
    }
    catch (e) { alert("Nelze se připojit k servru:\n" + e.toString()); 
              }
  }
} // konec act=0

if (act == "1") {
msg = "";

KontrolaOdesilanychUdaju = kontrola();

if (KontrolaOdesilanychUdaju == true) {
    r_pocet = document.getElementById('fr_pocet').value;
    r_okruh = document.getElementById('fr_okruh').value;
    r_email = document.getElementById('fr_email').value;
    r_telefon = document.getElementById('fr_telefon').value;
  if (xmlHttp){
    try {
      try { netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead'); }
      catch(e) {} // ignore error

    var params = "rok="+y+"&mon="+m+"&den="+d+"&hod="+h+"&r_faze="+r_ctvrt+"&act="+act+"&r_pocet="+r_pocet+"&r_okruh="+r_okruh+"&r_telefon="+r_telefon+"&r_email="+r_email;
    //// metoda GET;
    //   xmlHttp.onreadystatechange = handleRequestStateChange;
    //   xmlHttp.open("GET", "ajax_sql.php" + "?"+params, true);
    //   xmlHttp.send(null);
    //// metoda POST;
    xmlHttp.onreadystatechange = handleRequestStateChange;
    xmlHttp.open('POST', "ajax_sql.php", true);
    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", params.length);
    //xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send(params);
    }
    catch (e) { alert("Nelze se připojit k servru:\n" + e.toString()); 
              }
  }
       pdm =  get_PDVZM(m);
       msg = "<br><b>DATA ODESLÁNA!</b>";
       r_m =parseInt(m)+1; // jen pro yobrayeni bo mesice yacinaji 0 tak bz se ukazoval o jeden min
       msg = msg+"<br>Rezervace na: "+d+"."+r_m+"."+y+", "+h+":"+r_ctvrt+" hod";  // , akce: "+act
       msg = msg+"<br>Počet: "+r_pocet+",okruh:  "+r_okruh+", e-mail: "+r_email+", telefon: "+r_telefon+"<br><br>";
       setTimeout("get_PM(document.getElementById('s_mesice').value,0,-1);",1500);
       document.getElementById('id_status').innerHTML = msg;
}

if (KontrolaOdesilanychUdaju == false) {
  //  document.getElementById('id_status').innerHTML ="";
  msg="Stornováno nebo špatně vyplněná data";
  document.getElementById('id_status').innerHTML = msg;
  }
} // konec act=1

if (act == "2") {
// alert("ACT 2");
} // konec act=2
}

function handleServerResponse(){
/* fce zpracovani vraceneho vysledku ajax dozazu */
   var response = xmlHttp.responseText;
   if (response!="") {
   var responseArray = response.split("#",2);
   mydiv = responseArray[0];
   if (mydiv =="") mydiv = "id_h";
   document.getElementById(mydiv).innerHTML = responseArray[1];
   }
}

function tableClear(){
/* fce vymazani dat z DIV */      /* žš */

/*
msg = "Instrukce:<br>&nbsp;1)  zvolte měsíc <br>&nbsp;2)* klikněte na den a hodinu <br>&nbsp;3)* vyberte čas prohlídky <br>&nbsp;4)  vyplňte formulářové údaje<br>&nbsp;5)  odešlete data OK<br><br>&nbsp;*)  vysvětlivky k barvám: <br>-&nbsp;&nbsp;&nbsp;rezervované (modré)<br>-&nbsp;&nbsp;&nbsp;čekající na potvrzení (zelené)<br>-&nbsp;&nbsp;&nbsp;kulturní akce (červené)<br>o&nbsp;&nbsp;&nbsp;prohlídky jsou každých 15 minut<br>&nbsp;&nbsp;&nbsp;&nbsp;a jdou zamlouvat pouze volné časy.";
msg = msg+"<br><br><table class='tableR'><tr>";
msg = msg+"<td id='td_X' align='center' class='tbN0'><b>LEGENDA: </b></td></tr>";
msg = msg+"<tr><td id='td_2' align='center' class='tbZ0'><b><span class='white'>&nbsp;žádost&nbsp;</span></b></td>";
msg = msg+"<td id='td_3' align='center' class='tbR0'><b><span class='white'>&nbsp;rezervace&nbsp;</span></b></td>";
msg = msg+"<td id='td_4' align='center' class='tbA0'><b><span class='white'>&nbsp;kult.akce&nbsp;</span></b></td></tr>";
msg = msg+"</table>";
*/
   document.getElementById('id_h').innerHTML = msg;
//   document.getElementById('s_mesice').options[0].selected = true;
   document.getElementById('id_info').innerHTML ="";
msg = "";

document.getElementById('nocni').style.display ="block";
document.getElementById('nocni').style.visibility ="visible";

}

function tablePocasi(){
/* uprava informace o pocasi*/
msg = "<center>";
msg = msg+"<img border='0' src='http://www.meteopress.cz/pictures/mesta/uherske_hradiste_1.png' width='128' height='143'>";
msg = msg+"<img border='0' src='http://www.meteopress.cz/pictures/mesta/uherske_hradiste_2.png' width='128' height='143'>";
msg = msg+"<img border='0' src='http://www.meteopress.cz/pictures/mesta/uherske_hradiste_3.png' width='128' height='143'>";
msg = msg+"</center>";
document.getElementById('id_picture').innerHTML = msg;
msg = "";
}

function get_JD(y,m,d){
/* fce na ziskani jména dne v tydnu */
   tydenarray = new Array("neděle", "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota");
   datum = new Date(y,m,d);
       with(datum) {
          myDen = getDay();
          }
   return tydenarray[myDen];
}

function get_PD(y,m,d){
/* fce na ziskani poradoveho cisla dne 0=neděle */
   datum = new Date(y,m,d);
       with(datum) {
          myDen = getDay();
          }
   return myDen;
}

function get_JM(y,m){
/* fce na ziskani jména mesice v roce */
   mesicarray = new Array("Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec");
   return mesicarray[m];
}

function get_PM(mesic,act,klavesa){
/* fce provoz v mesici - po vyberu mesice zavolaj ajax */
document.getElementById('nocni').style.display ="none";
document.getElementById('nocni').style.visibility ="hidden";

document.getElementById('id_status').innerHTML = "";
   pdm = "";
   pdm = get_PDVZM(mesic);

denOld = "";
hodinaOld = "";

// vsechny 4 sipky + 4 na numpadu
// if ( klavesa == -1 || klavesa == 37 || klavesa == 38 || klavesa == 39 || klavesa == 40 || klavesa == 98 || klavesa == 100 || klavesa == 102 || klavesa == 104 ) {
// jen nahoru dolu, -1 je kdyz poslano pri onChange
   if ( klavesa == -1 || klavesa == 38 || klavesa == 40 || klavesa == 98 || klavesa == 104 ){
      call_Ajax(y_rok,mesic,-1,pdm,-1,act);
      }
}

function get_PDVZM(m){
/* fce získej kolik je dnů ve zvoleném měsíci + ošetření února */
   daysArray=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
   days=daysArray[m];
	if (m==1){
		if((y_rok% 4) == 0) {
			if(((y_rok% 100) == 0) && (y_rok% 400) != 0)
				days = 28;
			else
				days = 29;
		}
	}
	return days;
}

function select_H(den,hodina,clsName) {
/* fce, interakce dny-hodiny */
idPredesle = denOld+"-"+hodinaOld;
if(idPredesle!="-"){
   document.getElementById(idPredesle).style.borderWidth = '1px';
   document.getElementById(idPredesle).style.property = clsName;
   document.getElementById(idPredesle).style.backgroundColor = '';
}
idAktualni = den+"-"+hodina;
   document.getElementById(idAktualni).style.borderWidth = '3px';
   document.getElementById(idAktualni).style.backgroundColor = 'yellow';
   document.getElementById(idAktualni).innerHTML = "";

denOld = den;
hodinaOld = hodina;

if (clsName != "tbA") { if (!kont_je_nejaka_cvrthodinka_volna(clsName)) clsName = "tbO"; }
document.getElementById('id_info').innerHTML = "";
document.getElementById('id_status').innerHTML = "";
AkceTitle = document.getElementById(den+"-"+hodina).title;
   switch(clsName) {
/*
      case "tb0" : document.getElementById('id_info').innerHTML = "<br><div id='id_ctvrt' class='bold'>Hrad je v tuto hodinu a den zavřený!</div>"; break;
      case "tbZ" : document.getElementById('id_info').innerHTML = "<br><div id='id_ctvrt' class='bold'>Čeká na potvrzení rezervace</div>"; break;
      case "tbR" : document.getElementById('id_info').innerHTML = "<br><div id='id_ctvrt' class='bold'>Tato hodina je již rezervována!</div>"; break;
      case "tbO" : document.getElementById('id_info').innerHTML = "<br><div id='id_ctvrt' class='bold'>V tého hodině jsou již všechny prohlídky rezervované nebo čekají na potvrzení</div>"; break;
      case "tbA" : document.getElementById('id_info').innerHTML = "<br><div id='id_ctvrt' class='bold'>Kulturní akce - "+AkceTitle+", prohlídku nelze zarezervovat!</div>"; break;
*/      
      case "tb0" : document.getElementById('id_status').innerHTML = "Hrad je v tuto hodinu a den zavřený!"; break;
      case "tbZ" : document.getElementById('id_status').innerHTML = "Čeká na potvrzení rezervace</div>"; break;
      case "tbR" : document.getElementById('id_status').innerHTML = "Tato hodina je již rezervována!"; break;
      case "tbO" : document.getElementById('id_status').innerHTML = "Prohlídky rezervované nebo čekají na potvrzení"; break;
      case "tbA" : document.getElementById('id_status').innerHTML = "Kulturní akce - "+AkceTitle+", nelze rezervovat!"; break;
      
      
      default    : frmRezervace(den,hodina,clsName); break;
   }
}

function select_cH(id,clsName) {
/* fce interakce upresneni casu prohlídky */
if(id_cH_old != ""){
   document.getElementById(id_cH_old).style.borderWidth = '1px';
   document.getElementById(id_cH_old).style.property = clsName;
   document.getElementById(id_cH_old).style.backgroundColor = '';
}
   document.getElementById(id).style.borderWidth = '2px';
   document.getElementById(id).style.backgroundColor = 'yellow';
id_cH_old = id;
document.getElementById('id_status').innerHTML = "";
   switch(clsName) {
      case "tbZ" : {
                   r_ctvrt = "--";
                   //document.getElementById('id_ctvrt').innerHTML  = "Zamluveno. Zvolte jiný čas.";
                   document.getElementById('id_status').innerHTML = "Čeká na potvrzení rezervace. Zvolte jinou."; return r_ctvrt;  break;
                   }
      case "tbR" : {
                   r_ctvrt = "--";
                   //document.getElementById('id_ctvrt').innerHTML  = "Rezervováno. Zvolte jiný čas.";
                   document.getElementById('id_status').innerHTML = "Tato doba je již rezervována. Zvolte jinou."; return r_ctvrt;  break;
                   }
      case "tbA" : {
                   r_ctvrt = "--";
                   //document.getElementById('id_ctvrt').innerHTML  = "Kulturní akce. Zvolte jiný čas. ";
                   document.getElementById('id_status').innerHTML = "Kulturní akce, prohlídku nelze zarezervovat!"; return r_ctvrt; break;
                   }
      case "tbN" : {
                   r_ctvrt = "--";
                   if (id == "c1") { r_ctvrt = "00"; }
                   if (id == "c2") { r_ctvrt = "15"; }
                   if (id == "c3") { r_ctvrt = "30"; }
                   if (id == "c4") { r_ctvrt = "45"; }

                   //document.getElementById('id_ctvrt').innerHTML  = "REZERVACE NA:" + r_den+"."+r_m+"."+y_rok+", "+r_hodina+":"+r_ctvrt+" hodin";
                   document.getElementById('id_status').innerHTML = "Ok, tento čas prohlídky je volný."; return r_ctvrt; break;
                   }
   }
}

//
function infoT(tID) {
   switch(tID) {
      case "fr_pocet"   : document.getElementById('id_status').innerHTML = "Méně než 5 a více než 35 nelze rezervovat."; break;
      case "fr_telefon" : document.getElementById('id_status').innerHTML = "Váš telefon, 9 nebo 420 a 9 čísel."; break;
      case "fr_email"   : document.getElementById('id_status').innerHTML = "Váš kontaktní email, musí existovat."; break;
      case "fr_okruh"   : document.getElementById('id_status').innerHTML = "Volba prohlídkového okruhu. A(90min), B(60min)."; break;
      default           : document.getElementById('id_status').innerHTML = ""; break;
   }
}

function frmRezervace(den,hodina,clsName) {
document.getElementById('id_status').innerHTML = "";
// zpracovani clsName hodiny na styly 1/4 hodiny
   if (clsName == "tbN") {
     faze1 = "tbN";
     faze2 = "tbN";
     faze3 = "tbN";
     faze4 = "tbN";
   }
   else {
     faze1 = "tb"+clsName.substr(0,1);
     faze2 = "tb"+clsName.substr(1,1);
     faze3 = "tb"+clsName.substr(2,1);
     faze4 = "tb"+clsName.substr(3,1);
   }

   r_class    = clsName;
   r_ctvrthodinovka = "<table class='tableR' border='1'><tr><td class='tbN bold'>Zvolte čas:&nbsp;</td><td id='c1' onClick='select_cH(this.id,this.className);' class='"+faze1+"'>"+hodina+":00</td><td id='c2' onClick='select_cH(this.id,this.className); 'class='"+faze2+"'>"+hodina+":15</td><td id='c3' onClick='select_cH(this.id,this.className);' class='"+faze3+"'>"+hodina+":30</td><td id='c4' onClick='select_cH(this.id,this.className);' class='"+faze4+"'>"+hodina+":45</td></tr></table>";

   r_mesic    = document.getElementById('s_mesice').value;
   r_den      = den;
   r_hodina   = hodina;
   r_m        = parseInt(r_mesic)+1;
if ( get_TJDUB(r_mesic,r_den,r_hodina)== true ) {
   //r_1        = "<div id='id_ctvrt' class='bold'>REZERVACE NA: "+r_den+"."+r_m+"."+y_rok+", "+r_hodina+":"+r_ctvrt+" hodin</div>";
   r_formular = "<table class='tableN' border='0' cellspacing='0' cellpadding='0'><tr><td><form action='javascript:call_Ajax(y_rok,r_mesic,r_den,get_PDVZM(r_mesic),r_hodina,1);'>"+r_ctvrthodinovka+"<span class=''><b>Počet:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></span><input onfocus='javascript:infoT(this.id);' class='btn' type='text' name='r_pocet' id='fr_pocet' size='6' title='Počet návštěvníků, 5-35' maxlength='2'>&nbsp;<select onfocus='javascript:infoT(this.id);' class='' size='1' id='fr_okruh' name='r_okruh' ><option selected value='-'>&nbsp;zvolte okruh:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.</option><option class='wb' value=A>&nbsp;A - velký</option><option class='wb' value=B>&nbsp;B - malý</option><option class='wb' value=C>&nbsp;C - věž</option></select><br><span class=''><b>Telefon:&nbsp;</b></span><input onfocus='javascript:infoT(this.id);' class='btn' type='text' name='r_telefon' id='fr_telefon' size='29' title='Váš kontaktní telefon, 9 čísel nebo tvar 420 572 595 161'><br><span class=''><b>E-mail:&nbsp;&nbsp;</b></span><input onfocus='javascript:infoT(this.id);' class='btn' type='text' name='r_email' id='fr_email' size='29' title='Váš kontaktní email'><input class='btn rgt' type='button' onClick='javascript:call_Ajax(y_rok,r_mesic,r_den,-1,r_hodina,1);' value='OK' name='btn_submit' title='Odeslání formuláře, bude zaznamenán čas a vaše IP'></form></td></tr></table>";
   //document.getElementById('id_info').innerHTML = r_1+r_formular;
   document.getElementById('id_info').innerHTML = r_formular;
}
else {
   document.getElementById('id_info').innerHTML = "<div id='id_ctvrt' class='bold'>Nelze rezervovat datum co už bylo!</div><br>";
     }
}

function get_TJDUB(m,d,h){
// fce jestli datum uz bylo
dnes = new Date();

with(dnes) {
dnesMesic = getMonth();
dnesDen = getDate();
dnesHodina = getHours();
}
//alert (dnesMesic+":"+m+"   "+dnesDen+":"+d+"   "+dnesHodina+":"+h);

msg = false;
if (dnesMesic < m) msg = true;
if (dnesMesic > m) msg = false;

if (dnesMesic == m)
   {
      if (dnesDen < d) msg = true;
      if (dnesDen > d) msg = false;

      if (dnesDen == d) {

      if (dnesHodina < h)
           {
           msg = true;
           }
      else {
           msg = false;
           }
      }
   }
return (msg);
}

function get_NM() {
dnes = new Date();
with(dnes) {
mesic = getMonth();
document.getElementById('s_mesice').options[mesic].selected = true;
get_PM(document.getElementById('s_mesice').value,0,-1);
}
}



function kontrola() {
// fce kontrola zadanych dat
  if(kont_ctvrt_hodina(r_ctvrt,faze1,faze2,faze3,faze4)) {
  ok = true;
     if (confirm("Opravdu chcete odeslat Vámi vyplněná data?\n\nUPOZORNĚNÍ: \nOdesláním potvrzujete, že uvedené údaje jsou platné\nBude zalogována Vaše IP a čas!")==true) {
        a = document.getElementById('fr_pocet');
        if(!kont_pocet(a.value)) chyba(a);
        a = document.getElementById('fr_telefon');
        if(!kont_telefon(a.value)) chyba(a);
        a = document.getElementById('fr_email');
        if(!kont_email(a.value)) chyba(a);
        a = document.getElementById('fr_okruh');
        if(!kont_okruh(a.value)) chyba(a);
     }
     else {
       ok = false;
     }

   // debug, vypnuti kontroly teda kontrola probehne ale i kdyz je false budou poslane data...
   // ok = true;
   return ok;
  }
  else {
    document.getElementById('id_status').innerHTML = "Není vybraný čas prohlídky. Klikěte na volnou čtvrthodinu.";
  }
}

function kont_pocet(t) {
// fce kontrola poctu - jestli je cislo
t = parseInt(t);
//    var m = /^[1-4][0-9]?$/i.test(t);
// return m;
if ( t >= 5 && t <= 35 ) { m = true; }
else {
m = false;
}
return m;
}

function kont_ctvrt_hodina(t,faze1,faze2,faze3,faze4) {
// fce kontrola volne ctvrthodiny
m = false;
if ( t == "00" && faze1 == "tbN") m = true;
if ( t == "15" && faze2 == "tbN") m = true;
if ( t == "30" && faze3 == "tbN") m = true;
if ( t == "45" && faze4 == "tbN") m = true;
return m;
}

function kont_telefon(t) {
// fce kontrola telefonu
    var m = /^(\+420|420|\(+420\)|\(420\))? ?[0-9]{3} ?[0-9]{3} ?[0-9]{3}$/i.test(t);
    return m;
}

function kont_email(t) {
// fce kontrola emailu
    var m = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[_a-z0-9-]+(\.[a-z0-9-]+)*$/i.test(t);
    return m;
}

function kont_okruh(t) {
// fce kontrola okruhu
    var m = /^(A|B|C)$/i.test(t);
    return m;
}

function kont_je_nejaka_cvrthodinka_volna(t) {
// fce kontrola okruhu
    var m = /(N|tbN)/i.test(t);
    return m;
}

function chyba(a) {
// fce chybové hlášení
    if (ok == true) a.focus();
    ok = false;
}
