function box(args)
{
    return $.colorbox($.extend({ close: 'zavřít okno', overlayClose: false }, args));
}

function pozice_ze_seznamu()
{
    document.poziceVybranePocet = 0;
    var e = document.getElementById(document.idPolePozice);
    var vybrane = e.value.split(/,/);
    for (i in vybrane)
        if (vybrane[i] && (typeof(D.pozice[vybrane[i]]) != 'undefined'))
        {
            document.poziceVybranePocet++;
            document.poziceVybrane[vybrane[i]] = true;
        }
}

function pozice_do_seznamu()
{
    document.poziceVybranePocet = 0;
    var vysledek = '';
    for (i in document.poziceVybrane)
        if (document.poziceVybrane[i])
        {
            document.poziceVybranePocet++;
            vysledek += i + ',';
        }
    document.getElementById(document.idPolePozice).value = vysledek;
}

function pozice_regeneruj_prehled()
{
    pozice_ze_seznamu();
    var vysledek = '';
    for (i in document.poziceVybrane)
        if (document.poziceVybrane[i])
            vysledek += ' <span class="zrusit" onclick="pozice_zrusit(' + i + ');">' + D.pozice[i] + '</span>';
    document.poziceVybranePrehled = vysledek.replace(/^,/, '');
}

function pozice_synchronizuj_prehled()
{
    pozice_regeneruj_prehled();
    var jsouVybranePozice = (document.poziceVybranePocet ? true : false);
    if (document.poziceHlaseniVyberte)
        document.getElementById('pozice_vyberte_obor').style.display = ((!jsouVybranePozice && (document.getElementById('pozice_obor').selectedIndex == 0)) ? 'block' : 'none');
    if (!document.poziceSynchronizovatPrehled)
        return;
    document.getElementById('pozice_prehled').innerHTML = document.poziceVybranePrehled;
    document.getElementById('pozice_prehled_kontejner').style.display = (jsouVybranePozice ? 'block' : 'none')
}

function pozice_zrusit(pozice)
{
    pozice_zatrhnout(pozice, false);
}

function pozice_zatrhnout(pozice, checked)
{
    var e_label = document.getElementById('pozice_label_' + pozice);
    var e_checkbox = document.getElementById('pozice_' + pozice);
    pozice_ze_seznamu();
    document.poziceVybrane[pozice] = checked;
    if (e_checkbox)
        e_checkbox.checked = checked;
    if (e_label)
        e_label.className = ((checked) ? 'checkboxSelected' : '');
    pozice_do_seznamu();
    pozice_synchronizuj_prehled();
}

function pozice_zatrhnout_udalost(eventObject)
{
    pozice_zatrhnout(this.pozice, this.checked);
}

function pozice_zvol_obor(obor)
{
    var e_obor = document.getElementById('pozice_obor');
    e_obor.selectedIndex = obor;
    pozice_vybrat_obor();
}

function pozice_vybrat_obor()
{
    var e_obor = document.getElementById('pozice_obor');
    var obor = e_obor.selectedIndex;

    var e_tabulka = document.getElementById('pozice_tabulka');
    var tabulka_radku = e_tabulka.rows.length;
    for (i = tabulka_radku - 1; i >= 0; i--)
        e_tabulka.deleteRow(i);

    var e_kontejner = document.getElementById('pozice_kontejner');
    if (obor)
    {
        e_kontejner.style.display = 'block';
        document.getElementById('pozice_pridat_dalsi').style.display = 'block';
    }
    else
    {
        e_kontejner.style.display = 'none';
        document.getElementById('pozice_pridat_dalsi').style.display = 'none';
    }

    pozice_ze_seznamu();
    pozice_synchronizuj_prehled();

    if (!obor)
        return;

    var tabulka_radek = -1, tabulka_sloupec = -1, tabulka_sloupcu = 3;
    var pocet_pozic_v_oboru = D.obor_pozice[obor].length;
    tabulka_radku = Math.ceil(pocet_pozic_v_oboru / tabulka_sloupcu);
    for (i = 0; i < pocet_pozic_v_oboru; i++)
    {
        tabulka_sloupec = (tabulka_sloupec + 1) % tabulka_sloupcu;
        if (tabulka_sloupec == 0)
        {
            tabulka_radek++;
            e_tabulka.insertRow(tabulka_radek);
            for (j = 0; j < tabulka_sloupcu; j++)
                e_tabulka.rows[tabulka_radek].insertCell(j);
        }
    }

    for (i = 0; i < pocet_pozic_v_oboru; i++)
    {
        tabulka_radek = i % tabulka_radku;
        tabulka_sloupec = Math.floor(i / tabulka_radku);
        var e_bunka = e_tabulka.rows[tabulka_radek].cells[tabulka_sloupec];

        var pozice = D.obor_pozice[obor][i];
        var e_pozice = document.createElement('input');
        var e_label = document.createElement('label');
        var q_pozice = $(e_pozice);

        e_pozice.type = 'checkbox';
        e_pozice.id = 'pozice_' + pozice;
        e_bunka.appendChild(e_pozice);

        e_label.id = 'pozice_label_' + pozice;
        e_label.htmlFor = 'pozice_' + pozice;
        e_label.innerHTML = D.pozice[pozice];
        e_bunka.appendChild(e_label);

        e_pozice.pozice = pozice;
        q_pozice.click(pozice_zatrhnout_udalost);
        if (document.poziceVybrane[pozice])
        {
            e_pozice.checked = true;//setAttribute('checked', true);
            e_label.className = 'checkboxSelected';
        }
    }
}

function pozice_pridat_dalsi_obor()
{
    document.poziceSynchronizovatPrehled = true;
    pozice_zvol_obor(0);
}







function okres_ze_seznamu()
{
    document.okresVybranePocet = 0;
    var e = document.getElementById(document.idPoleokres);
    var vybrane = e.value.split(/,/);
    for (i in vybrane)
        if (vybrane[i] && (typeof(D.okres[vybrane[i]]) != 'undefined'))
        {
            document.okresVybranePocet++;
            document.okresVybrane[vybrane[i]] = true;
        }
}

function okres_do_seznamu()
{
    document.okresVybranePocet = 0;
    var vysledek = '';
    for (i in document.okresVybrane)
        if (document.okresVybrane[i])
        {
            document.okresVybranePocet++;
            vysledek += i + ',';
        }
    document.getElementById(document.idPoleokres).value = vysledek;
}

function okres_regeneruj_prehled()
{
    okres_ze_seznamu();
    var vysledek = '';
    var v = {};
    for (j in D.kraj)
        v[j] = [];
    for (i in document.okresVybrane)
        if (document.okresVybrane[i])
        {
            j = D.okres[i][1];
            v[j][v[j].length] = ' <span class="zrusit" onclick="okres_zrusit(' + i + ');">' + D.okres[i][0] + '</span>';
        }
    for (j in v)
        if (v[j].length)
            vysledek += '<div class="vybranyKraj"><strong>' + D.kraj[j] + ':</strong> ' + v[j].join(' ') + '<div class="clearing"></div></div>';
    document.okresVybranePrehled = vysledek;
}

function okres_synchronizuj_prehled()
{
    okres_regeneruj_prehled();
    var jsouVybraneokres = (document.okresVybranePocet ? true : false);
    if (document.okresHlaseniVyberte)
        document.getElementById('okres_vyberte_kraj').style.display = ((!jsouVybraneokres && (document.getElementById('okres_kraj').selectedIndex == 0)) ? 'block' : 'none');
    if (!document.okresSynchronizovatPrehled)
        return;
    document.getElementById('okres_prehled').innerHTML = document.okresVybranePrehled;
    document.getElementById('okres_prehled_kontejner').style.display = (jsouVybraneokres ? 'block' : 'none')
}

function okres_zrusit(okres)
{
    okres_zatrhnout(okres, false);
}

function okres_zatrhnout(okres, checked)
{
    var e_label = document.getElementById('okres_label_' + okres);
    var e_checkbox = document.getElementById('okres_' + okres);
    okres_ze_seznamu();
    if (e_checkbox)
        e_checkbox.checked = checked;
    if (e_label)
        e_label.className = ((checked) ? 'checkboxSelected' : '');
    document.okresVybrane[okres] = checked;
    okres_do_seznamu();
    okres_synchronizuj_prehled();
}

function okres_zatrhnout_udalost(eventObject)
{
    okres_zatrhnout(this.okres, this.checked);
}

function okres_zatrhnout_kraj(checked)
{
    var e_kraj = document.getElementById('okres_kraj');
    var kraj = e_kraj.selectedIndex;
    if (!kraj)
        return;
    for (i in D.okres)
        if (D.okres[i][1] == kraj)
            okres_zatrhnout(i, checked);
}

function okres_zvol_kraj(kraj)
{
    var e_kraj = document.getElementById('okres_kraj');
    e_kraj.selectedIndex = kraj;
    okres_vybrat_kraj();
}

function okres_vybrat_kraj()
{
    var e_kraj = document.getElementById('okres_kraj');
    var kraj = e_kraj.selectedIndex;

    var e_tabulka = document.getElementById('okres_tabulka');
    var tabulka_radku = e_tabulka.rows.length;
    for (i = tabulka_radku - 1; i >= 0; i--)
        e_tabulka.deleteRow(i);

    var e_kontejner = document.getElementById('okres_kontejner');
    if (kraj)
    {
        e_kontejner.style.display = 'block';
        document.getElementById('okres_pridat_dalsi').style.display = 'block';
    }
    else
    {
        e_kontejner.style.display = 'none';
        document.getElementById('okres_pridat_dalsi').style.display = 'none';
    }

    okres_ze_seznamu();
    okres_synchronizuj_prehled();

    var e_okres_odkazy_vse = document.getElementById('okres_odkazy_vse');
    if (!kraj) {
        e_okres_odkazy_vse.style.display = 'none';
        return;
    }
    else
        e_okres_odkazy_vse.style.display = 'block';
        

    var okresy = {};
    var pocet_okresu_v_kraji = 0;
    for (i in D.okres)
        if (D.okres[i][1] == kraj)
        {
            pocet_okresu_v_kraji++;
            okresy[i] = D.okres[i][0];
        }

    var tabulka_radek = -1, tabulka_sloupec = -1, tabulka_sloupcu = 3;
    tabulka_radku = Math.ceil(pocet_okresu_v_kraji / tabulka_sloupcu);
    for (i = 0; i < pocet_okresu_v_kraji; i++)
    {
        tabulka_sloupec = (tabulka_sloupec + 1) % tabulka_sloupcu;
        if (tabulka_sloupec == 0)
        {
            tabulka_radek++;
            e_tabulka.insertRow(tabulka_radek);
            for (j = 0; j < tabulka_sloupcu; j++)
                e_tabulka.rows[tabulka_radek].insertCell(j);
        }
    }

    i = -1;
    for (okres in okresy)
    {
        i++;
        tabulka_radek = i % tabulka_radku;
        tabulka_sloupec = Math.floor(i / tabulka_radku);
        var e_bunka = e_tabulka.rows[tabulka_radek].cells[tabulka_sloupec];

        var e_okres = document.createElement('input');
        var e_label = document.createElement('label');
        var q_okres = $(e_okres);

        e_okres.type = 'checkbox';
        e_okres.id = 'okres_' + okres;
        e_bunka.appendChild(e_okres);

        e_label.id = 'okres_label_' + okres;
        e_label.htmlFor = 'okres_' + okres;
        e_label.innerHTML = okresy[okres];
        e_bunka.appendChild(e_label);

        e_okres.okres = okres;
        q_okres.click(okres_zatrhnout_udalost);
        if (document.okresVybrane[okres])
        {
            e_okres.checked = true;//setAttribute('checked', true);
            e_label.className = 'checkboxSelected';
        }
    }
}

function okres_pridat_dalsi_kraj()
{
    document.okresSynchronizovatPrehled = true;
    okres_zvol_kraj(0);
}

$(function(){
    function najitNapovedu(e) {
        if (e.id) {
            var elementId = 'napoveda_' + e.id.replace('otaznik_', '');
            var element = document.getElementById(elementId);
            if (element != null)
                return element;
            elementId = e.id.replace('otaznik_', '');
            element = document.getElementById(elementId);
            if (element != null)
                e = element;
        }
        var temp = $(e).closest('tr').find('.napoveda');
        if (temp.size() > 0)
            return temp.get(0);
        else
            return null;
    }
    
    function najitInput(e) {
        if (e.id) {
            var elementId = e.id.replace('napoveda_', '').replace('otaznik_', '');
            var element = document.getElementById(elementId);
            if (element != null)
                return element;
            elementId = e.id.replace('otaznik_', '');
            element = document.getElementById(elementId);
            if (element != null)
                e = element;
        }
        var temp = $(e).closest('tr').find('input, select, textarea');
        if (temp.size() > 0)
            return temp.get(0);
        else
            return null;
    }
    
    function zobrazitNapovedu(e) {
        if (e == null)
            return;
        var $e = $(e);
        $e.addClass('zobrazena');
        $e.css('top', - ($e.height() / 2)+14);
    }

    function skrytNapovedu(e) {
        if (e == null)
            return;
        $(e).removeClass('zobrazena');
    }

    $('.otaznik').hover(function() {
        zobrazitNapovedu(najitNapovedu(this));
    }, function() {
        var $i = $(najitInput(this));
        if (($i != null) && $i.is(':focused'))
            return;
        skrytNapovedu(najitNapovedu(this));
    });
    $('input, select, textarea').focus(function() {
        zobrazitNapovedu(najitNapovedu(this));
    }).blur(function() {
        skrytNapovedu(najitNapovedu(this));
    });
});

$(function() {
    var lastClasses = [];
    $('.hledaciPruh #h_okres').selectmenu({
        'style': 'dropdown',
        'positionOptions': { 'collision': 'none' },
        'maxHeight': 290
        // 'open': function(ev, evSelectmenu) {
            // $('.hledat_kraj.ui-selectmenu-menu').height($(window).height() - $('.hledat_kraj.ui-selectmenu-menu').offset().top + $(window).scrollTop() - 10);
        // }
    });
});

$(function() {
    var $tbody = $('.RadioCenik');
    
    $tbody.delegate('tr', 'click', function(ev) {
        $(ev.currentTarget).find('input[type="radio"]').attr('checked', 'checked').trigger('change');
    });
    
    $tbody.delegate('input[type="radio"]', 'change', function(ev) {
        var $input = $(ev.currentTarget);
        
        if (!$input.is(':checked')) {
            return;
        }
        
        $tbody.find('tr').removeClass('selected');
        $input.closest('tr').addClass('selected');
    });
});

function prejitNaStrankuFormularem(stranka, pole)
{
    for (var i in document.forms)
        if (typeof(document.forms[i][pole]) != 'undefined')
        {
            document.forms[i][pole].value = stranka;
            document.forms[i].submit();
            return true;
        }
    return false;
}

$(function() {
    var $faqs = $('.faqItem');
    $faqs.bind('click', function(ev) {
        var $question = $(ev.currentTarget);
        
        if (!$(ev.target).is('.question')) {
            return;
        }
        
        $question.find('.answer').stop(false, true).slideToggle();
        $question.find('.question').toggleClass('open');
        return false;
    });
    $faqs.find('.answer').hide();
    $faqs.find('.question').css({ 'cursor': 'pointer' });
});
