﻿// TEXTY
//**********************************************************************************************************
var text_destinace_disable = "<select disabled><option>Vyberte zemi</option></select>";
var text_destinace_mateVybrano = "<a onclick='destinace_plus_click();return false;' href=''>Zvoleno více destinací:</a>";
var text_letiste_mateVybrano = "<a onclick='letiste_plus_click();return false;' href=''>Zvoleno více letišť:</a>";
var text_destinace_viceZemi = "<a onclick='destinace_plus_click();return false;' href=''>Destinaci vyberte zde</a> ->";
var text_zeme_mateVybrano = "<a onclick='zeme_plus_click();return false;' href=''>Zvoleno více zemí:</a>";
var text_pocetZajezdu_busy = "<img src='pics/nacitam.gif' width='16' height='16' alt='Čekejte prosím' title='Čekáte-li příliš dlouho (např. více než minutu), prosím zkuste upravit některý parametr a případně obnovte stránku klávesou F5.'>";

//dalsi
var text_aktivity_mateVybrano = "<a class='plus pad' id='PV_Dalsi_Plus_A' onclick='dalsi_plus_click();return false;' href=''>Zvoleno toto vybavení: <img width='1' id='PV_Dalsi_Plus_Img' alt='Výběr více vybavení hotelu, resortu' src='pics/blank.gif'/></a>";
var text_fulltext_mateVybrano = "<b>Fulltext(klíčová slova):</b> ";
var text_dalsi_nevybrano = "<a onclick='dalsi_plus_click();return false;' href=''>Vybavení vyberte zde</a> -> ";

//ck
var text_CK_mateVybrano = "<a class='plus pad' id='PV_CK_Plus_A' onclick='CK_plus_click();return false;' href=''>Zvoleno tyto ck: <img width='1' id='PV_CK_Plus_Img' alt='Výběr více CK' src='pics/blank.gif'/></a>";



// PROMENNE
//**********************************************************************************************************
var _nenacitatPocet = 0;
var requestString_variables;
var requestString;
if (window.location != null && window.location.search.length > 1) {
    requestString = window.location.search.substring(1);
}
else {
    //administrace
    var PV_RS = document.getElementById("PV_RS");
    if (PV_RS != null) {
        requestString = PV_RS.value;
    }
    else {
        requestString = "";
    }
}
var temp_seznamIDdestinace = new Array();
var prefixZemeVybrane = "xx";

var razeni = "-1";
// UDALOSTI
//**********************************************************************************************************

function hledani_cislo(IDz,IDt)
{
  if (isNaN(IDz) || isNaN(IDt))
  {
      document.getElementById("CISinfo").innerHTML = "<span class='red'>Zadávejte prosím jen čísla.</span>";   
  }
  else
  {
      if (IDz != '' && IDt != ''){
         window.location = "/dovolena/" + IDz + "/" + IDt;
      }
      else if (IDz == '' && IDt != ''){
         window.location = "/dovolena/0/" + IDt;
      }
      else if (IDz != '' && IDt == ''){
         window.location = "/dovolena/" + IDz;
      }
  }
};

function zalozka_change(co) {
    if(co=="All"){
      document.getElementById("PV_CheckBox_LM").checked = false;
      document.getElementById("PV_CheckBox_FM").checked = false;
      document.getElementById("PV_CheckBox_LM").onchange();
      inicializujZalozky("All");   
    }
    else if(co=="LM" && document.getElementById("PV_CheckBox_LM").checked == false){
      document.getElementById("PV_CheckBox_LM").checked = true;
      document.getElementById("PV_CheckBox_FM").checked = false;
      document.getElementById("PV_CheckBox_LM").onchange();
      inicializujZalozky("LM");
    }
    else if (co=="FM" && document.getElementById("PV_CheckBox_FM").checked == false){
      document.getElementById("PV_CheckBox_LM").checked = false;
      document.getElementById("PV_CheckBox_FM").checked = true;
      document.getElementById("PV_CheckBox_FM").onchange();
      inicializujZalozky("FM");
    }
    else if(co=="CIS"){
      document.getElementById("PV_CheckBox_LM").checked = false;
      document.getElementById("PV_CheckBox_FM").checked = false;
      inicializujZalozky("CIS");   
    }
    else if(co=="LET"){
      document.getElementById("PV_Select_Doprava").selectedIndex = 1;
      inicializujZalozky2("LET");   
    }
    else if(co=="AUTO"){
      document.getElementById("PV_Select_Doprava").selectedIndex = 5;
      inicializujZalozky2("AUTO");   
    }
}

function zobrazZajezdy(url) {
    var urlPom = getRequestString();
    //alert(url + "?" + encodeURI(urlPom));

    //administrace
    var PV_RS = document.getElementById("PV_RS");
    if (PV_RS != null) {
        PV_RS.value = urlPom;
        alert("Hotovo: " + urlPom);
        return;
    }
    
    if (urlPom == "")
        window.location.href = url;
    else
        window.location.href = url + "?" + encodeURI(urlPom);
}


// DOPRAVA + LETISTE
function doprava_select_change()
{
    var selectedID = getSelected_RS("Doprava");
    inicializujDopravaLetiste(selectedID, new Array("-1"));
}

function letiste_plus_click() {
    var seznamID = getSeznamID_select("PV_Select_Letiste");
    if (seznamID != null && seznamID.length == 1)
        changeCheckBoxStatus("Letiste", seznamID, 1);

    nastavViditelnostTabulek("letiste");
}

function letiste_OK_click() {
    var seznamID = getSeznamID_checkBoxes("Letiste");

    inicializujLetiste(seznamID);

    nastavViditelnostTabulek();
    nactiPocetZajezdu('letiste');
}


//DALSI
function dalsi_plus_click() {
    
    nastavViditelnostTabulek("dalsi");
}

function dalsi_OK_click() {
    var seznamID = getSeznamID_checkBoxes("Dalsi");
    
    inicializujDalsi(seznamID);

    nastavViditelnostTabulek();
    nactiPocetZajezdu('dalsi');
}

//CK
function CK_plus_click() {

    nastavViditelnostTabulek("CK");
}

function CK_OK_click() {
    var seznamID = getSeznamID_checkBoxes("CK");

    inicializujCK(seznamID);

    nastavViditelnostTabulek();
    nactiPocetZajezdu('CK');
}


// CENA
function cena_select_change()
{
    var selectedID = getSelected_RS("Cena");
    var pole = new Array("","");
    
    if(selectedID != null && selectedID != "-2" && selectedID != "-1")
        pole = selectedID.split("-");
    else if(selectedID != null && selectedID == "-2")
        pole[0] = "-2";
        
    inicializujCenu(pole[0],pole[1]);
    
    if(selectedID != "-2")
        nactiPocetZajezdu('cena');
}

// UBYTOVANI
function ubytovani_select_change()
{
    var selectedID = getSelected_RS("Ubytovani");
    inicializujUbytovaniKategorie(selectedID);
    nactiPocetZajezdu('ubytovani');
}

// ZEME + DESTINACE
function zeme_OK_click()
{
    var seznamID = getSeznamID_checkBoxes("Zeme");
    
    inicializujZeme(seznamID);
    inicializujDestinace(seznamID, null, "zeme");
    
    nastavViditelnostTabulek();
}

function destinace_OK_click()
{
    var seznamID_destinace = getSeznamID_checkBoxes("Destinace");
    var seznamID_zeme = getSeznamID_both("Zeme");
    var selectCtrl_destinace = document.getElementById("PV_Select_Destinace");
    
    if(isNull(seznamID_zeme)) {
        document.getElementById("PV_Select_Destinace_Span").innerHTML = "";
        document.getElementById("PV_Select_Destinace_Info_Span").innerHTML = text_destinace_disable;
        noVisibleElement("PV_Select_Destinace");
        changeCheckBoxStatus("Destinace", null, 1);
    } 
    //jedna zeme, zadna destinace
    else if (seznamID_zeme.length == 1 && isNull(seznamID_destinace)) {
        document.getElementById("PV_Select_Destinace_Span").innerHTML = "";
        document.getElementById("PV_Select_Destinace_Info_Span").innerHTML = text_destinace_viceZemi;
        //visibleElement("PV_Select_Destinace");
        //changeSelectedOption("PV_Select_Destinace", "-1");
    } 
    //vice zemi, zadna destinace
    else if (seznamID_zeme.length > 1 && isNull(seznamID_destinace)) {
        document.getElementById("PV_Select_Destinace_Span").innerHTML = "";
        document.getElementById("PV_Select_Destinace_Info_Span").innerHTML = text_destinace_viceZemi;
        noVisibleElement("PV_Select_Destinace");
    } 
    //jedna zeme, jedna destinace
    else if (seznamID_zeme.length == 1 && seznamID_destinace.length == 1) {
        document.getElementById("PV_Select_Destinace_Span").innerHTML = changeCheckBoxStatus("Destinace", seznamID_destinace);
        document.getElementById("PV_Select_Destinace_Info_Span").innerHTML = text_destinace_mateVybrano;
        //visibleElement("PV_Select_Destinace");
        //changeSelectedOption("PV_Select_Destinace", seznamID_destinace);
    } 
    //jedna zeme, vice destinaci nebo vice zemi
    else if ((seznamID_zeme.length == 1 && seznamID_destinace.length > 1) || (seznamID_zeme.length > 1)) {
        document.getElementById("PV_Select_Destinace_Span").innerHTML = changeCheckBoxStatus("Destinace", seznamID_destinace);
        document.getElementById("PV_Select_Destinace_Info_Span").innerHTML = text_destinace_mateVybrano;
        noVisibleElement("PV_Select_Destinace");
    }
    
    nastavViditelnostTabulek();
    nactiPocetZajezdu('destinace');
}

function isNull(pole) {
    if(pole == null || pole.length == 0 || (pole.length == 1 && pole[0]=="-1"))
        return true;
    else return false;
}


function zeme_select_change() {
    var selectCtrl_zeme = document.getElementById("PV_Select_Zeme");
    var IDzeme = selectCtrl_zeme.options[selectCtrl_zeme.selectedIndex].value;
    inicializujDestinace(new Array(IDzeme),null,"zeme");
}

function zeme_plus_click()
{
    var seznamID = getSeznamID_select("PV_Select_Zeme");
    if(seznamID != null && seznamID.length == 1)
        changeCheckBoxStatus("Zeme", seznamID, 1);
    
    nastavViditelnostTabulek("zeme");
    
}
function destinace_plus_click()
{
    var seznamID = getSeznamID_select("PV_Select_Destinace");
    if(seznamID != null && seznamID.length == 1)
        changeCheckBoxStatus("Destinace", seznamID, 1);
        
    nastavViditelnostTabulek("destinace");
}







// INICIALIZACE
//**********************************************************************************************************
function inicializuj() {

    resetujPrvky();
    
    nastavViditelnostTabulek();
    parseRS(requestString);

    
    //zamereni
    if (isExistRSvalue("zamereni")) {
        changeSelectedOption("PV_Select_Zamereni", getRSvalue("zamereni"));
    }

    //zeme + destinace
    var seznamIDzemi = new Array();
    var seznamIDdestinaci = new Array();
    if(isExistRSvalue("zeme")){
        seznamIDzemi = getRSvalue("zeme").split(",");    
    }
    if(isExistRSvalue("destinace")){
        seznamIDdestinaci = getRSvalue("destinace").split(",");    
    }

    inicializujZeme(seznamIDzemi);
    inicializujDestinace(seznamIDzemi,seznamIDdestinaci,"inicializace");

    //termin
    if (isExistRSvalue("tod")) {
        if(zkontrolujDatumOdDo(getRSvalue("tod")))
            document.getElementById("PV_Text_TerminOd").value = getRSvalue("tod");
    }
    if (isExistRSvalue("tdo")) {
        if (zkontrolujDatumOdDo(getRSvalue("tdo")))
            document.getElementById("PV_Text_TerminDo").value = getRSvalue("tdo");
    }

    //delka
    if (isExistRSvalue("dod") && isExistRSvalue("ddo")) {
        changeSelectedOption("PV_Select_DelkaPobytu", getRSvalue("dod") + "-" + getRSvalue("ddo"));
    }

    //doprava + letiste
    if (isExistRSvalue("doprava")) {
        var seznamDopravy = getRSvalue("doprava").split(",");
        if (isExistRSvalue("letiste")) {
            var seznamLetist = getRSvalue("letiste").split(",");
        }
        else{
            var seznamLetist = ""
        }
        inicializujDopravaLetiste(seznamDopravy,seznamLetist);
    }

    //ubytovani + kategorie
    if (isExistRSvalue("ubytovani")) {
        var vybraneUbytovani = getRSvalue("ubytovani");
        if (isExistRSvalue("kategorie")) {
            var vybranaKategorie = getRSvalue("kategorie");
        }
        inicializujUbytovaniKategorie(vybraneUbytovani, vybranaKategorie);
    }

    //strava
    if (isExistRSvalue("strava")) {
        changeSelectedOption("PV_Select_Strava", getRSvalue("strava"));
    }

    //cena
    if (isExistRSvalue("cod")) 
        var cenaOd = getRSvalue("cod");
    if (isExistRSvalue("cdo")) 
        var cenaDo = getRSvalue("cdo");
    inicializujCenu(cenaOd,cenaDo);

    //fulltext
    if (isExistRSvalue("fulltext")) {
        var fullText_ctrl = document.getElementById("PV_Text_Fulltext");
        if (fullText_ctrl != null)
            fullText_ctrl.value = decodeURI(getRSvalue("fulltext"));
    }

    //IDzajezdu
    if (isExistRSvalue("zajezd")) {
        var ctrl_IDzajezdu = document.getElementById("PV_Text_Zajezdy");
        if (ctrl_IDzajezdu != null) {
            ctrl_IDzajezdu.value = getRSvalue("zajezd");
        } 
    }

    //IDterminu
    if (isExistRSvalue("termin")) {
        var ctrl_IDterminu = document.getElementById("PV_Text_Terminy");
        if (ctrl_IDterminu != null) {
            ctrl_IDterminu.value = getRSvalue("termin");
        }
    }

    //LM
    inicializujZalozky("All");
    var lm_ctrl = document.getElementById("PV_CheckBox_LM");
    if (lm_ctrl != null) {
        if (isExistRSvalue("lm")) {
            lm_ctrl.checked = true;
            inicializujZalozky("LM");
        } else {
            lm_ctrl.checked = false;
        }
    }

    //FM
    var fm_ctrl = document.getElementById("PV_CheckBox_FM");
    if (fm_ctrl != null) {
        if (isExistRSvalue("fm")) {
            fm_ctrl.checked = true;
            inicializujZalozky("FM");
        } else {
            fm_ctrl.checked = false;
        }
    }

    //dalsi
    if (isExistRSvalue("aktivity")) {
        inicializujDalsi(getRSvalue("aktivity").split(","));
    }

    //ck
    if (isExistRSvalue("im")) {
        inicializujCK(getRSvalue("im").split(","));
    }

    //akce
    if (isExistRSvalue("akce")) {
        inicializujAkce(getRSvalue("akce").split(","));
    }

    //razeni
    if (isExistRSvalue("razeni")) {
        razeni = getRSvalue("razeni");
    }
    

    nactiPocetZajezdu('');
}

// INICIALIZACE PRVKU
//**********************************************************************************************************

function inicializujZalozky(co) {
    try {
        var fm_zal = document.getElementById("PV_Zalozka_All");
        if (fm_zal != null) {
            document.getElementById("PV_Zalozka_All").className = "bck0";
            document.getElementById("PV_Zalozka_LM").className = "bck0";
            document.getElementById("PV_Zalozka_FM").className = "bck0";
            document.getElementById("PV_Zalozka_CIS").className = "bck2";

            if (co == "CIS"){
              document.getElementById("PV_Zalozka_" + co).className = "bck3 sel";
              document.getElementById("parametry").className = "skryte";
              document.getElementById("parametry-CIS").className = "";              
            }
            else{
              document.getElementById("PV_Zalozka_" + co).className = "bck1 sel";
              document.getElementById("parametry").className = "";
              document.getElementById("parametry-CIS").className = "skryte";
            }
        } 
    } catch (err) { } //pro pripad, ze zalozky neexistuji
}

function inicializujZalozky2(co) {
    try {
         document.getElementById("PV_Zalozka_LET").className = "bck0";
         document.getElementById("PV_Zalozka_AUTO").className = "bck0";

         if (co == "LET"){
              document.getElementById("PV_Zalozka_LET").className = "bck1";
         }
         else{
              document.getElementById("PV_Zalozka_AUTO").className = "bck1";
         }
         
         doprava_select_change();
         nactiPocetZajezdu('doprava');
        } 
    catch (err) { } //pro pripad, ze zalozky neexistuji
}

function inicializujTable_destinace(jadro) {
    var prefix = "<table id='PV_Table_Destinace' cellspacing='0' cellpadding='0'><tr><td></td><td></td><td></td></tr>";
    var postfix = "</table>";
    var div_destinace = document.getElementById("PV_Span_Destinace");
    div_destinace.innerHTML = prefix + jadro + postfix;
}

//cena
function inicializujCenu(Cod, Cdo)
{
    if(Cod == null)
        Cod = "";
    if(Cdo == null)
        Cdo = "";

    var textCtrl_Cod = document.getElementById("PV_Text_CenaOd");
    var textCtrl_Cdo = document.getElementById("PV_Text_CenaDo");
    
    var selectNastaven = false;
    if(Cod == "" && Cdo == "")
    {
        selectNastaven = changeSelectedOption("PV_Select_Cena", "-1");
    }
    else if(Cod == "-2")
    {
        Cod = "";
    }
    else if(Cod != "")
    {
        selectNastaven = changeSelectedOption("PV_Select_Cena", Cod + "-" + Cdo);
    }
    if(selectNastaven == false)
    {
        changeSelectedOption("PV_Select_Cena", "-2");
        textCtrl_Cod.value = Cod;
        textCtrl_Cdo.value = Cdo;
        visibleElement("PV_CenaOdDo");
    }
    else
    {
        noVisibleElement("PV_CenaOdDo");
    }
}

//ubytovani + kategorie
function inicializujUbytovaniKategorie(selectedID_ubytovani, selectedID_kategorie)
{
    if(selectedID_kategorie == null)
        selectedID_kategorie = "-1";

    changeSelectedOption("PV_Select_Ubytovani", selectedID_ubytovani);
    if(selectedID_ubytovani != null && selectedID_ubytovani == "1")//hotely
    {
        visibleElement("PV_Kategorie");
        changeSelectedOption("PV_Select_Kategorie", selectedID_kategorie);
    }
    else
    {
        noVisibleElement("PV_Kategorie");
    }    
}

//doprava + letiste
function inicializujDopravaLetiste(selectedID_doprava, seznamID_letiste)
{
    if(selectedID_doprava == null)
        selectedID_doprava = "-1";

    changeSelectedOption("PV_Select_Doprava", selectedID_doprava);
    if (selectedID_doprava != null && selectedID_doprava == "2") { //letiste
        inicializujLetiste(seznamID_letiste);
    }
    else{
        inicializujLetiste('-2');
    }
    
}

//dalsi
function inicializujDalsi(seznamID_aktivity){

    if (seznamID_aktivity != null && seznamID_aktivity.length > 0 && seznamID_aktivity[0] != "-1"){
        document.getElementById("PV_Dalsi_Span").innerHTML = changeCheckBoxStatus("Dalsi", seznamID_aktivity, 1);
        document.getElementById("PV_Dalsi_Info_Span").innerHTML = text_aktivity_mateVybrano;
    }
    else{
        document.getElementById("PV_Dalsi_Span").innerHTML = "";
        document.getElementById("PV_Dalsi_Info_Span").innerHTML = "<a class='plus pad' id='PV_Dalsi_Plus_A' onclick='dalsi_plus_click();return false;' href=''>Vyberte si vybavení<img width='1' id='PV_Dalsi_Plus_Img' alt='Výběr více vybavení hotelu, resortu' src='pics/blank.gif'/></a>";
    }
}

//akce
function inicializujAkce(seznamID_akce) {

    if (seznamID_akce == null || seznamID_akce.length == 0) {
        return;
    }
    
    for (i = 3; i <= 9; i++) {
        var ctrl_v = document.getElementById("PV_CheckBox_FAT" + i);
        if (ctrl_v != null) {
            ctrl_v.checked = false;
            for (v = 0; v < seznamID_akce.length; v++) {
                if (seznamID_akce[v] == i) {
                    ctrl_v.checked = true;
                } 
            }
        } 
    }
}

//ck
function inicializujCK(seznamID_ck) {

    if (seznamID_ck != null && seznamID_ck.length > 0 && seznamID_ck[0] != "-1") {
        try{
        document.getElementById("PV_CK_Span").innerHTML = changeCheckBoxStatus("CK", seznamID_ck, 1);
        document.getElementById("PV_CK_Info_Span").innerHTML = text_CK_mateVybrano;
        }
        catch(err){}
        changeSelectedOption("PV_Select_CK", seznamID_ck[0]);
    }
    else {
        document.getElementById("PV_CK_Span").innerHTML = "";
        document.getElementById("PV_CK_Info_Span").innerHTML = "<a class='plus pad' id='PV_CK_Plus_A' onclick='CK_plus_click();return false;' href=''>Vyberte si CK<img width='1' id='PV_CK_Plus_Img' alt='Výběr více CK' src='pics/blank.gif'/></a>";
    }
}

//fulltext
function inicializujFulltext(fulltext_string) {
    document.getElementById("PV_Text_Fulltext").value = fulltext_string;
}

//letiste
function inicializujLetiste(seznamID_letiste)
{
    if(seznamID_letiste == '-2' || seznamID_letiste == null)
    {
        noVisibleElement("PV_Letiste");
        document.getElementById("PV_Select_Letiste_Span").innerHTML = "";
        document.getElementById("PV_Select_Letiste_Info_Span").innerHTML = "";
    }
    else if(seznamID_letiste != null && seznamID_letiste.length == 0)
    {
        visibleElement("PV_Letiste");
        visibleElement("PV_Select_Letiste");
        changeSelectedOption("PV_Select_Letiste", "-1");
        document.getElementById("PV_Select_Letiste_Span").innerHTML = "";
        document.getElementById("PV_Select_Letiste_Info_Span").innerHTML = "";
    }
    else if(seznamID_letiste != null && seznamID_letiste.length == 1)
    {
        visibleElement("PV_Select_Letiste");
        visibleElement("PV_Letiste");
        changeSelectedOption("PV_Select_Letiste", seznamID_letiste[0]);
        document.getElementById("PV_Select_Letiste_Span").innerHTML = "";
        document.getElementById("PV_Select_Letiste_Info_Span").innerHTML = "";
    }
    else if(seznamID_letiste != null && seznamID_letiste.length > 1)
    {
        visibleElement("PV_Letiste");
        noVisibleElement("PV_Select_Letiste");
        visibleElement("PV_Letiste_Plus_A");
        document.getElementById("PV_Select_Letiste_Span").innerHTML = changeCheckBoxStatus("Letiste",seznamID_letiste,1);
        document.getElementById("PV_Select_Letiste_Info_Span").innerHTML = text_letiste_mateVybrano;
    }
}

//zeme
function inicializujZeme(seznamIDzemi) {
    if (seznamIDzemi.length > 1) 
    {//vice zemi
        document.getElementById("PV_Select_Zeme_Span").innerHTML = changeCheckBoxStatus("Zeme",seznamIDzemi,1);
        document.getElementById("PV_Select_Zeme_Info_Span").innerHTML = text_zeme_mateVybrano;
        noVisibleElement("PV_Select_Zeme");
    }
    else if (seznamIDzemi.length == 1) 
    {//jedna zeme
        document.getElementById("PV_Select_Zeme_Span").innerHTML = "";
        document.getElementById("PV_Select_Zeme_Info_Span").innerHTML = "";
        changeSelectedOption("PV_Select_Zeme", seznamIDzemi);
        visibleElement("PV_Select_Zeme");
    }
    else
    {
        document.getElementById("PV_Select_Zeme_Span").innerHTML = "";
        document.getElementById("PV_Select_Zeme_Info_Span").innerHTML = "";
        changeSelectedOption("PV_Select_Zeme", "-1");
        visibleElement("PV_Select_Zeme");
    }
 }

//destinace
function inicializujDestinace(seznamIDzemi, seznamIDdestinaci, from) {

    var nenacitatPocet = false;
    if (from == "inicializace")
        nenacitatPocet = true;

    if(seznamIDzemi != null && seznamIDzemi.length == 1 && seznamIDzemi[0] == "-1")
        seznamIDzemi.length = 0;
    
    if (seznamIDzemi.length == 0) 
    {
        document.getElementById("PV_Select_Destinace_Span").innerHTML = "";
        document.getElementById("PV_Select_Destinace_Info_Span").innerHTML = text_destinace_disable;
        noVisibleElement("PV_Destinace_Plus_A");
        var seznamIDdestinaceElement = document.getElementById("PV_SeznamID_Destinace");
        seznamIDdestinaceElement.value = "";
        
        if(from!="inicializace")//pocet se nacte az na konci inicializace 
            PV_GetFORMdata_v4(getRequestString(from),"pocet");
    }
    else if (seznamIDzemi.length == 1 && (seznamIDdestinaci == null || seznamIDdestinaci.length == 0))
    {
        PV_GetFORMdata_v4(getRequestString(from), "tableSelect", nenacitatPocet);
        document.getElementById("PV_Select_Destinace_Span").innerHTML = "";
        visibleElement("PV_Destinace_Plus_A");
    }
    else if (seznamIDzemi.length == 1 && (seznamIDdestinaci != null && seznamIDdestinaci.length == 1))
    {
        temp_seznamIDdestinace = seznamIDdestinaci;
        PV_GetFORMdata_v4(getRequestString(from), "tableSelect", nenacitatPocet);
        document.getElementById("PV_Select_Destinace_Span").innerHTML = "";
        //changeSelectedOption("PV_Select_Destinace", seznamIDdestinaci);
        visibleElement("PV_Destinace_Plus_A");
    }
    else if (seznamIDzemi.length == 1 && (seznamIDdestinaci != null && seznamIDdestinaci.length > 1))
    {
        PV_GetFORMdata_v4(getRequestString(from), "table", nenacitatPocet);
        
        
        var pom = changeCheckBoxStatus("Destinace", seznamIDdestinaci);
        document.getElementById("PV_Select_Destinace_Span").innerHTML = pom;
        //document.getElementById("PV_Span_Destinace").innerHTML = pom;
        
        document.getElementById("PV_Select_Destinace_Info_Span").innerHTML = text_destinace_mateVybrano;
        visibleElement("PV_Destinace_Plus_A");
    }
    else if (seznamIDzemi.length > 1 && (seznamIDdestinaci == null || seznamIDdestinaci.length == 0))
    {
        document.getElementById("PV_Select_Destinace_Span").innerHTML = "";
        document.getElementById("PV_Select_Destinace_Info_Span").innerHTML = text_destinace_viceZemi;
        PV_GetFORMdata_v4(getRequestString(from), "table", nenacitatPocet);
        visibleElement("PV_Destinace_Plus_A");
    }
    else if (seznamIDzemi.length > 1 && (seznamIDdestinaci != null && seznamIDdestinaci.length > 0))
    {
        PV_GetFORMdata_v4(getRequestString(from), "table", nenacitatPocet);
        document.getElementById("PV_Select_Destinace_Span").innerHTML = changeCheckBoxStatus("Destinace",seznamIDdestinaci);
        document.getElementById("PV_Select_Destinace_Info_Span").innerHTML = text_destinace_mateVybrano;
        visibleElement("PV_Destinace_Plus_A");
    }
 }




// VIDITELNOSTI
//**********************************************************************************************************
function nastavViditelnostTabulek(viditelna)
{
    if(viditelna == "zeme")
    {
        visibleElement("PV_Div_Zeme");
        noVisibleElement("PV_Div_Destinace");
        noVisibleElement("PV_Div_Letiste");
        noVisibleElement("PV_Div_Dalsi");
    }
    else if(viditelna == "dalsi")
    {
        noVisibleElement("PV_Div_Zeme");
        noVisibleElement("PV_Div_Destinace");
        noVisibleElement("PV_Div_Letiste");
        visibleElement("PV_Div_Dalsi");
    }
    else if(viditelna == "letiste")
    {
        noVisibleElement("PV_Div_Zeme");
        noVisibleElement("PV_Div_Destinace");
        visibleElement("PV_Div_Letiste");
        noVisibleElement("PV_Div_Dalsi");
    }
    else if(viditelna == "destinace")
    {
        noVisibleElement("PV_Div_Zeme");
        visibleElement("PV_Div_Destinace");
        noVisibleElement("PV_Div_Letiste");
        noVisibleElement("PV_Div_Dalsi");
    }
    else if (viditelna == "CK") {
        noVisibleElement("PV_Div_Zeme");
        noVisibleElement("PV_Div_Destinace");
        noVisibleElement("PV_Div_Letiste");
        noVisibleElement("PV_Div_Dalsi");
        visibleElement("PV_Div_CK");
    }
    else 
    {
        noVisibleElement("PV_Div_Zeme");
        noVisibleElement("PV_Div_Destinace");
        noVisibleElement("PV_Div_Letiste");
        noVisibleElement("PV_Div_Dalsi");
        noVisibleElement("PV_Div_CK");
    }
}




// PARSER
//**********************************************************************************************************
function parseRS(rs) {
    var vars = rs.split("&");
    requestString_variables = new Array(vars.length);
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        pair[0] = pair[0].toLowerCase();
        requestString_variables[i] = pair;
    }
}
 
function getRSvalue(variable)
{
    for (var i=0;i<requestString_variables.length;i++) {
        if(requestString_variables[i][0] == variable)
            return requestString_variables[i][1];
  }   
}

function isExistRSvalue(variable) {

    variable = variable.toLowerCase();
    
    for (var i=0;i<requestString_variables.length;i++) {
        if(requestString_variables[i][0] == variable)
            return true;
  }  
  return false; 
}










// AJAX
//**********************************************************************************************************
var url = "DAILY_WS_v4.asmx";

function nactiPocetZajezdu(from)
{
    PV_GetFORMdata_v4(getRequestString(from), "pocet");
}


function PV_GetFORMdata_v4(requestString, typPozadavku, nenacitatPocet) {

    //pokud neexistuje div destinaci neni nutne nacitat jeho tabulku(pro nizsi variantu vyhledavace)
    if (document.getElementById("PV_Div_Destinace") == null && (typPozadavku == "table" || typPozadavku == "tableSelect"))
        typPozadavku = "select";
    
    if (nenacitatPocet == null)
        nenacitatPocet = 0;
    if(nenacitatPocet == 1 || _nenacitatPocet == 1)
        nenacitatPocet = 1;

    var span_pocetZajezdu = document.getElementById("PV_PocetZajezdu");
    span_pocetZajezdu.innerHTML = text_pocetZajezdu_busy;

    var async = false;
    if (typPozadavku == "pocet")
        async = true;
    /**
    var pl = new SOAPClientParameters();
    pl.add("requestString", requestString);
    pl.add("typPozadavku", typPozadavku);
    pl.add("nenacitatPocet", nenacitatPocet);

    

    SOAPClient.invoke(url, "GetFORMdata", pl, async, PV_OnComplete_getFORMdata_v4);
    **/

    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "DAILY_WS_v4.asmx/GetFORMdata",
        data: "{requestString:'" + requestString + "',typPozadavku : '" + typPozadavku + "',nenacitatPocet:'" + nenacitatPocet + "'}",
        
        dataType: "json",
        //dataType: "xml",

        async: async,
        success: PV_OnComplete_getFORMdata_v4,
        error: OnError
    });

    function OnError(request, status, error) {
        $("#lblResult").html(request.statusText);
    }


}

function PV_OnComplete_getFORMdata_v4(data, status) {
    var result = data;
   
   if (result.error) {
       //chyba

   }
   else {
       try {

           var xmlDoc;
           if (document.implementation && document.implementation.createDocument) {
               var Parser = new DOMParser();
               xmlDoc = Parser.parseFromString(result, "text/xml");
           }
           else if (window.ActiveXObject) {
               xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
               xmlDoc.loadXML(result);
           }
           else {
               //chyba

               return;
           }
       } catch (err) {
           //chyba

       }

       //try {
          var typ = xmlDoc.getElementsByTagName("TypPozadavku")[0].firstChild.nodeValue;
          if(typ == "table" || typ == "tableSelect")
          {

              var table_xml = xmlDoc.getElementsByTagName("TableDestinace")[0].firstChild.nodeValue;
              if (table_xml == "") {
                  inicializujDestinace(new Array("-1"), null, ""); 
              }
              else {
                  inicializujTable_destinace(table_xml);


                  var seznamIDdestinaceElement = document.getElementById("PV_SeznamID_Destinace");
                  seznamIDdestinaceElement.value = xmlDoc.getElementsByTagName("SeznamIDDestinace")[0].firstChild.nodeValue;

                  if (temp_seznamIDdestinace.length > 0) {
                      changeCheckBoxStatus("Destinace", temp_seznamIDdestinace, 1);
                  } 
              }
          }
          if(typ == "select" || typ == "tableSelect")
          {
              var selectCtrl_xml = xmlDoc.getElementsByTagName("SelectDestinace")[0].firstChild.nodeValue;
              var selectCtrl_destinace = document.getElementById("PV_Select_Destinace_Info_Span");
              selectCtrl_destinace.innerHTML = selectCtrl_xml;
              
              if(temp_seznamIDdestinace.length > 0)
              {  
                  changeSelectedOption("PV_Select_Destinace", temp_seznamIDdestinace);
              }
          }
        
          if(temp_seznamIDdestinace.length > 0)
             temp_seznamIDdestinace = [];
          
          var pocet = xmlDoc.getElementsByTagName("PocetZajezdu")[0].firstChild.nodeValue;
          var span_pocetZajezdu = document.getElementById("PV_PocetZajezdu");
          var pocetZajezduNula = document.getElementById("PV_PocetZajezduNula");
          if (pocet == "0"){
              span_pocetZajezdu.innerHTML = "<strong>0</strong>";
              pocetZajezduNula.className = "";
          }
          else if (pocet == "-1"){
              span_pocetZajezdu.innerHTML = "";
              pocetZajezduNula.className = "skryte";
          }
          else{
              span_pocetZajezdu.innerHTML = "<strong>" + pocet + "</strong>";
              pocetZajezduNula.className = "skryte";
          }
       //} catch (err) {
       //    alert("chyba:" + err);
       //}
          
   }
}


var pole_radkyTabulky;

function tabulka_naplnPole() {
    pole_radkyTabulky = [["Zeme", "0"], ["Zamereni", "0"], ["Destinace", "0"], ["Termin_od", "0"], ["Termin_do", "0"], ["Termin_delka", "0"],
    ["Doprava", "0"], ["Letiste", "0"], ["Ubytovani", "0"], ["Kategorie", "0"], ["Strava", "0"], ["Cena", "0"], ["CenaOdDo", "0"], ["Fulltext", "0"], 
    ["LM", "0"], ["Dalsi", "0"]];
}

function tabulka_oznacRadek(nazev) {
    for (i = 0; i < pole_radkyTabulky.length; i++) {
        if (pole_radkyTabulky[i][0] == nazev) {
            pole_radkyTabulky[i][1] = "1";
            return;
        } 
    }
}
function tabulka_nastavRadky() {
    for (i = 0; i < pole_radkyTabulky.length; i++) {
        var ctrl = document.getElementById("PV_Radek_" + pole_radkyTabulky[i][0]);
        if(ctrl == null)
            continue;
        if (pole_radkyTabulky[i][1] == "1")
            ctrl.innerHTML = "<img src='pics/sipka.png' width='8' height='12' alt='Zahrnuto ve vyhledávání'> ";
        else
            ctrl.innerHTML = "";
        
    }    
}


// GET RS
//**********************************************************************************************************
function getRequestString(from) {

    if (from == "inicializace")
        return requestString;
    
    tabulka_naplnPole();

    if(from == null)
        from = "";
    
    var rs = "";
    
    //zeme
    var seznamID_zeme = getSeznamID_both("Zeme");
    if (seznamID_zeme.length > 0 && seznamID_zeme[0] != "-1") {
        rs = rs + "&zeme=" + toString(seznamID_zeme);
        tabulka_oznacRadek("Zeme");
    }   
    //destinace
    if (from != "zeme") {
        var seznamID_destinace = getSeznamID_both("Destinace");
        if (seznamID_destinace.length > 0 && seznamID_destinace[0] != "-1") {
            rs = rs + "&destinace=" + toString(seznamID_destinace);
            tabulka_oznacRadek("Destinace");
        } 
    }
    
    //zamereni
    if (getSelected_RS("Zamereni") != null) {
        rs = rs + "&zamereni=" + getSelected_RS("Zamereni");
        tabulka_oznacRadek("Zamereni");
    }


    //doprava + letiste
    var pom_doprava_selected = getSelected_RS("Doprava");
    if (pom_doprava_selected != null) {
        rs = rs + "&doprava=" + pom_doprava_selected;
        tabulka_oznacRadek("Doprava");

        if (pom_doprava_selected) {
            var seznamID_letiste = getSeznamID_both("Letiste");
            if (seznamID_letiste.length > 0 && seznamID_letiste[0] != "-1"){
                rs = rs + "&letiste=" + toString(seznamID_letiste);
                tabulka_oznacRadek("Letiste");
            }
        }        
    }
    
    //ubytovani
    if (getSelected_RS("Ubytovani") != null) {
        rs = rs + "&ubytovani=" + getSelected_RS("Ubytovani");
        tabulka_oznacRadek("Ubytovani");
    }   
    //kategorie
    if (getSelected_RS("Kategorie") != null && from != "ubytovani") {
        rs = rs + "&kategorie=" + getSelected_RS("Kategorie");
        tabulka_oznacRadek("Kategorie");
    }   
    
    //strava
    if (getSelected_RS("Strava") != null) {
        rs = rs + "&strava=" + getSelected_RS("Strava");
        tabulka_oznacRadek("Strava");
    }
    //lm
    if (document.getElementById("PV_CheckBox_LM").checked) {
        rs = rs + "&lm=1";
    }
    //fm
    if (document.getElementById("PV_CheckBox_FM").checked) {
        rs = rs + "&fm=1";
    }
    //cena
    var selectedID_cena = getSelected_RS("Cena");
    var pole_cena = new Array("","");
    if (selectedID_cena != null && selectedID_cena == "-2") {
        pole_cena[0] = document.getElementById("PV_Text_CenaOd").value;
        pole_cena[1] = document.getElementById("PV_Text_CenaDo").value;

        if ((pole_cena[0] != "" && pole_cena[0].length != 0) || (pole_cena[1] != "" && pole_cena[1].length != 0)){
          tabulka_oznacRadek("CenaOdDo");
        }
    }
    else if(selectedID_cena != null)
    {
         pole_cena = selectedID_cena.split("-"); 
    }
    if (pole_cena[0] != "") {
        rs = rs + "&Cod=" + pole_cena[0];
        tabulka_oznacRadek("Cena");
    }
    if (pole_cena[1] != "") {
        rs = rs + "&Cdo=" + pole_cena[1];
        tabulka_oznacRadek("Cena");
    }
    
    //delkaPobytu
    var selectedID_delkaPobytu = getSelected_RS("DelkaPobytu");
    if (selectedID_delkaPobytu != null && selectedID_delkaPobytu != "-1") {
        var pole_delka = selectedID_delkaPobytu.split("-");
        if (pole_delka[0] != "") {
            rs = rs + "&Dod=" + pole_delka[0];
            tabulka_oznacRadek("Termin_delka");
        }
        if (pole_delka[1] != "") {
            rs = rs + "&Ddo=" + pole_delka[1];
            tabulka_oznacRadek("Termin_delka");
        } 
    }
    
    //termín
    var termin_od = document.getElementById("PV_Text_TerminOd").value;
    var termin_do = document.getElementById("PV_Text_TerminDo").value;
    if (zkontrolujDatumOdDo("PV_Text_TerminOd") && termin_od != null && termin_od != "") {
        rs = rs + "&Tod=" + termin_od;
        tabulka_oznacRadek("Termin_od");
    }
    if (zkontrolujDatumOdDo("PV_Text_TerminDo") && termin_do != null && termin_do != "") {
        rs = rs + "&Tdo=" + termin_do;
        tabulka_oznacRadek("Termin_do");
    }

    //dalsi
    var seznamID_aktivity = getSeznamID_checkBoxes("Dalsi");
    if (seznamID_aktivity.length > 0 && seznamID_aktivity[0] != "-1") {
        rs = rs + "&aktivity=" + toString(seznamID_aktivity);
        tabulka_oznacRadek("Dalsi");
    }

    //ck
    //var seznamID_ck = getSeznamID_checkBoxes("CK");
    var seznamID_ck = getSeznamID_both("CK");
    if (seznamID_ck.length > 0 && seznamID_ck[0] != "-1") {
        rs = rs + "&im=" + toString(seznamID_ck);
        tabulka_oznacRadek("CK");
    }


    //akce
    var seznamAkci = "";
    for (i = 3; i <= 9; i++) {
        var ctrl_v = document.getElementById("PV_CheckBox_FAT" + i);
        if (ctrl_v != null && ctrl_v.checked) {
            seznamAkci = seznamAkci + "," + i;
        }
    }
    if (seznamAkci.length > 0) {
        rs = rs + "&akce=" + seznamAkci.substring(1);
    }

    //IDzajezdu
    var ctrl_IDzajezdu = document.getElementById("PV_Text_Zajezdy");
    if (ctrl_IDzajezdu != null && ctrl_IDzajezdu.value.length > 0) {
        rs = rs + "&zajezd=" + ctrl_IDzajezdu.value;
    }

    //IDterminu
    var ctrl_IDterminu = document.getElementById("PV_Text_Terminy");
    if (ctrl_IDterminu != null && ctrl_IDterminu.value.length > 0) {
        rs = rs + "&termin=" + ctrl_IDterminu.value;
    }
    
    
    //fulltext
    var fullText_Ctrl = document.getElementById("PV_Text_Fulltext");
    if(fullText_Ctrl != null){
        var fulltext_string = fullText_Ctrl.value;
        if (fulltext_string != null && fulltext_string.length > 0) {
            rs = rs + "&fulltext=" + fulltext_string;
            tabulka_oznacRadek("Fulltext");
        }
    }
    tabulka_nastavRadky();

    //administrace
    var PV_RS = document.getElementById("PV_RS");
    if (PV_RS != null) {
        PV_RS.value = rs;
    }

    if (razeni != "-1")
        rs = rs + "&razeni=" + razeni;
    
    return rs;
}

/*
vraci seznamID v poli, s ohledem na to jestli je vybrano v table/select
RETURN: pokud nevybrano u checkBoxu, vraci prazdne pole
*/
function getSeznamID_both(skupina)
{
    var selectCtrl = document.getElementById("PV_Select_" + skupina);
    var pole = new Array();
                                          
    if(selectCtrl != null && selectCtrl.className != "skryte")
    {
        var ID = selectCtrl.options[selectCtrl.selectedIndex].value;
        pole[0] = ID;
        return pole;
    }
    else
    {
        return getSeznamID_checkBoxes(skupina);
    }
}

/*
vraci vybranou polozku selectu
RETURN: null - pokud neexistuje nebo nevybrano; 
*/
function getSelected_RS(skupina)
{
    var selectCtrl = document.getElementById("PV_Select_" + skupina);
    
    if(selectCtrl == null || selectCtrl.className == "skryte")
    {
        return null;
    }
    else
    {
        var selected = "";
        try{
        selected = selectCtrl.options[selectCtrl.selectedIndex].value;
        }
        catch(err){
            selected = "-1";
        }
        if(selected == "-1" || selected == "")
            return null;
        else return selected;
    }
}



// POMOCNE
//**********************************************************************************************************

/*
meni vybranou polozku selectu
RETURN: true - poku se podarilo nastavit
*/
function changeSelectedOption(selectCtrlName, selectedValue) {
    if(selectedValue == null)
        return false;
    
    var ctrl = document.getElementById(selectCtrlName);
    if(ctrl == null)
        return false;
    
    var i = 0;
    var nastaveno = false;
    for (; i < ctrl.length; i++) {

        if (ctrl.options[i].value == selectedValue) {
            //pom = i;
            nastaveno = true;
            break;
        }
    }
    if(nastaveno == true)
        ctrl.selectedIndex = i;
    
    return nastaveno;
}

/*
meni statusy(checked) skupiny checkBoxu
RETURN: seznam nazvu vybranych polozek ve stringu oddelenych carkou
*/
function changeCheckBoxStatus(skupina, seznamIDvybrane, vycistit) {
    if (seznamIDvybrane == null)
        seznamIDvybrane = new Array();

    if(vycistit == 1){
        var seznamID = document.getElementById("PV_SeznamID_" + skupina).value.split(",");
        if(seznamID != null){
            for(i = 0;i<seznamID.length;i++)
            {
                var checkBoxElement = document.getElementById("PV_Table_" + skupina + "_CheckBox_" + seznamID[i]);
                if(checkBoxElement != null)
                    checkBoxElement.checked = false;
            }
        }
    }
    else if(vycistit == 0){
        var seznamID = document.getElementById("PV_SeznamID_" + skupina).value.split(",");
        if(seznamID != null){
            for(i = 0;i<seznamID.length;i++)
            {
                var checkBoxElement = document.getElementById("PV_Table_" + skupina + "_CheckBox_" + seznamID[i]);
                if(checkBoxElement != null)
                    checkBoxElement.checked = true;
            }
        }
    }
    
    var seznamNazvu = "";
    for (i = 0; i < seznamIDvybrane.length; i++) {
        try {
            var ctrl_v = document.getElementById("PV_Table_" + skupina + "_CheckBox_" + prefixZemeVybrane + seznamIDvybrane[i]);
            if (ctrl_v != null) {
                ctrl_v.checked = true;
                seznamNazvu = seznamNazvu + "<br/>- " + ctrl_v.name;
            }

            if (ctrl_v == null || ctrl_v.checked != true) {
                var ctrl = document.getElementById("PV_Table_" + skupina + "_CheckBox_" + seznamIDvybrane[i]);
                if (ctrl != null) {
                    ctrl.checked = true;
                    seznamNazvu = seznamNazvu + "<br/>- " + ctrl.name;
                }
            }
        }catch(err){}
    }

    return seznamNazvu.substring(5);
}

/*
vraci vybrane ID Selectu
RETURN:pokud Select neexistuje nebo je skryt, vraci prazdne pole
*/
function getSeznamID_select(name)
{
    var selectCtrl = document.getElementById(name);
    
    if(selectCtrl == null || selectCtrl.className == "skryte")
    {
        return new Array();
    }
    else
    {
        var selected = selectCtrl.options[selectCtrl.selectedIndex].value;
        return new Array(selected);
    }
}

/*
vraci vybrane ID ve skupine checkBoxu
RETURN:pokud nevybrano nebo neexistuje vraci prazdne pole
*/
function getSeznamID_checkBoxes(skupina)
{
    var seznamID_vybrane_pole = new Array();
    var PVelement = document.getElementById("PV_SeznamID_" + skupina);
    if (PVelement == null)
        return new Array();
    
    var seznamID = PVelement.value.split(",");
    if(seznamID == null || seznamID.lenght == 0 || seznamID[0] == ""){ 
        //seznamID_vybrane_pole[0] = "-1";
        //return seznamID_vybrane_pole;
        return new Array();
    }
    
    var p = 0;
    for(i = 0;i<seznamID.length;i++)
    {
         var checkBoxElement = document.getElementById("PV_Table_" + skupina + "_CheckBox_" + seznamID[i]);
         if(checkBoxElement != null && checkBoxElement.checked == true){//overim jestli element existuje a jestli je zatrzeny
             var polozka = array_existElement(seznamID_vybrane_pole, checkBoxElement.value);
             if (polozka != null) {//overim jestli jiz neni ulozen ve vystupnim poli
                 seznamID_vybrane_pole[p] = polozka;
                 p++;
             }                           
         }
     }    

    if(p == 0){ 
        //seznamID_vybrane_pole[0] = "-1";
        //return seznamID_vybrane_pole;
        return new Array();
    }
    else return seznamID_vybrane_pole;
}
function array_existElement(pole, polozka) {
//    if (polozka.charAt(0) == "xx") {
//        polozka = polozka.substring(2);
    //    }
    polozka = polozka.replace(prefixZemeVybrane,"");
    for (n = 0; n < pole.length; n++) {
        if (pole[n] == polozka) return null;    
    }
    return polozka;
}
function isDigit(c) {
    return ((c >= "0") && (c <= "9"))
}




/*
zneviditelni prvek
*/
function noVisibleElement(elementID) {
    var element = document.getElementById(elementID);
    if(element != null)
      element.className = "skryte";
}

/*
zviditelni prvek
*/
function visibleElement(elementID) {
    var element = document.getElementById(elementID);
    if(element != null)
      element.className = "";
}

/*
prevede pole na string
RETURN: pokud je pole prazdne nebo null, vraci ""
*/
function toString(pole)
{
    if(pole == null || pole.length == 0)
        return "";
    else
    {
        var text = "";
        for(i=0;i<pole.length;i++)
            text = text + "," + pole[i];
        if(text.length > 0)
            return text.substring(1);
        else return "";
    } 
    
}

/*
kontroluje spravny format data a zda neni datum odjezdu po datu navratu
RETURN: pokud datum neni OK, zobrazi infotext a vraci false, jinak true
*/
function zkontrolujDatumOdDo()
{
    var ok1 = zkontrolujDatum('PV_Text_TerminOd');
    var ok2 = zkontrolujDatum('PV_Text_TerminDo');
    
    if(ok1 && ok2)
    {
        var terminOd = document.getElementById('PV_Text_TerminOd').value;
        var terminDo = document.getElementById('PV_Text_TerminDo').value;
        
        if(terminOd.length != 0 && terminOd != ""){
        
            var hodnotaPole1 = terminOd.split(".");
            var den1 = parseInt(hodnotaPole1[0],10);
            var mesic1 = parseInt(hodnotaPole1[1],10);
            var rok1 = parseInt(hodnotaPole1[2],10);
            var termin1 = new Date(rok1,mesic1,den1);
            
            var hodnotaPole = terminDo.split(".");
            var den = parseInt(hodnotaPole[0],10);
            var mesic = parseInt(hodnotaPole[1],10);
            var rok = parseInt(hodnotaPole[2],10);
            var termin = new Date(rok,mesic,den);
                            
            var pom = termin - termin1;
            if(pom < 0)
            {
                var infoCtrl = document.getElementById("info_PV_Text_TerminDo");
                infoCtrl.innerHTML = getInfoTextDatum("terminDo");
                infoCtrl.className = "";
                
                return false;
            }
            else{
                return true;
            }
        }
        else {
            return true;
        }        
    }
}

function zkontrolujDatum(element)
{
    var selectCtrl = document.getElementById(element);
    var hodnota = selectCtrl.value;
    var infoCtrl = document.getElementById("info_" + element);
    infoCtrl.className = "skryte";

    if(hodnota != "")
    {
        try{
            var hodnotaPole = hodnota.split(".");
            var den = parseInt(hodnotaPole[0],10);
            var mesic = parseInt(hodnotaPole[1],10);
            var rok = parseInt(hodnotaPole[2],10);
            var termin = new Date(rok,mesic,den);
            
            if(isNaN(den))
            {
                infoCtrl.innerHTML = getInfoTextDatum("format1");
                infoCtrl.className = "";
                return false;
            }
            if(hodnotaPole[2].length < 4)
            {
                infoCtrl.innerHTML = getInfoTextDatum("format1");
                infoCtrl.className = "";
                return false;
            }
            
            var dnes1 = new Date();
            var dnes = new Date(dnes1.getFullYear(),dnes1.getMonth(),dnes1.getDate());
            var pom1 = termin - dnes;
            
            if(pom1 < 0)
            {
                //infoCtrl.innerHTML = pom1;
                infoCtrl.innerHTML = getInfoTextDatum("hist");
                infoCtrl.className = "";
                return false;
            }
            return true;
        }
        catch(err)
        {
            infoCtrl.innerHTML = getInfoTextDatum("format1");
            infoCtrl.className = "";
            return false;
        }
    }
    return true;   
    //TextBox_PVf_terminOd
}

function getInfoTextDatum(stav)
{
    if(stav == "format1")
    {
        var dnes = new Date();
        return "« Správný formát je: DD.MM.RRRR (např: " + dnes.getDate() + "." + dnes.getMonth() + "." + dnes.getFullYear() + ")";
    }
    else if(stav == "hist")
    {
        return "« Zadejte prosím dnešní nebo budoucí datum!";
    }
    else if(stav == "terminDo")
    {
        return "« Termín návratu musí být po termínu odjezdu!";
    }
    else
    {
        return "";
    }
}

//funkce pro praci s hromadnym oznacovanim checkboxu v ramci urcite skupiny (napr. letist pouze z jedne zeme apod.)
function chck(skupina)
{
    if(skupina == "chck_Česká republika")
    {
        var pom = "PV_Table_Letiste_CheckBox_";
        if(document.getElementById("chck_Česká republika").checked){
           zatrhni(pom+"2", true);
           zatrhni(pom+"3", true);
           zatrhni(pom+"4", true);
           zatrhni(pom+"5", true);
           zatrhni(pom+"6", true);
        }
        else{
           zatrhni(pom+"2", false);
           zatrhni(pom+"3", false);
           zatrhni(pom+"4", false);
           zatrhni(pom+"5", false);
           zatrhni(pom+"6", false);
        }
    }
    else if(skupina == "chck_Německo")
    {
        var pom = "PV_Table_Letiste_CheckBox_";
        if(document.getElementById("chck_Německo").checked){
           zatrhni(pom+"7", true);
           zatrhni(pom+"8", true);
           zatrhni(pom+"9", true);
           zatrhni(pom+"10", true);
           zatrhni(pom+"11", true);
           zatrhni(pom+"12", true);
           zatrhni(pom+"13", true);
           zatrhni(pom+"14", true);
           zatrhni(pom+"15", true);
           zatrhni(pom+"16", true);
        }
        else{
           zatrhni(pom+"7", false);
           zatrhni(pom+"8", false);
           zatrhni(pom+"9", false);
           zatrhni(pom+"10", false);
           zatrhni(pom+"11", false);
           zatrhni(pom+"12", false);
           zatrhni(pom+"13", false);
           zatrhni(pom+"14", false);
           zatrhni(pom+"15", false);
           zatrhni(pom+"16", false);
        }
    }
    else if(skupina == "chck_Rakousko")
    {
        var pom = "PV_Table_Letiste_CheckBox_";
        if(document.getElementById("chck_Rakousko").checked){
           zatrhni(pom+"17", true);
           zatrhni(pom+"18", true);
           zatrhni(pom+"19", true);
        }
        else{
           zatrhni(pom+"17", false);
           zatrhni(pom+"18", false);
           zatrhni(pom+"19", false);
        }
    }
    else if(skupina == "chck_Polsko")
    {
        var pom = "PV_Table_Letiste_CheckBox_";
        if(document.getElementById("chck_Polsko").checked){
           zatrhni(pom+"20", true);
        }
        else{
           zatrhni(pom+"20", false);
        }
    }
    else if(skupina == "chck_Slovensko")
    {
        var pom = "PV_Table_Letiste_CheckBox_";
        if(document.getElementById("chck_Slovensko").checked){
           zatrhni(pom+"21", true);
           zatrhni(pom+"22", true);
        }
        else{
           zatrhni(pom+"21", false);
           zatrhni(pom+"22", false);
        }
    }
}       
function zatrhni(co,oznacit){
  if (document.getElementById(co)) document.getElementById(co).checked = oznacit
}

function resetujPrvky() {

    inicializujDopravaLetiste(null, null);
    inicializujUbytovaniKategorie("-1", null);
    changeSelectedOption("PV_Select_Kategorie", "-1");
    changeSelectedOption("PV_Select_Strava", "-1");
    changeSelectedOption("PV_Select_Zamereni", "-1");
    
}
