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 += ', ' + D.pozice[i] + '<img style="cursor: pointer;" onclick="pozice_zrusit(' + i + ');" src="/images/remove.gif" title="Zrušit" /> ';
    document.poziceVybranePrehled = vysledek.replace(/^,/, '');
}

function pozice_synchronizuj_prehled()
{
    pozice_regeneruj_prehled();
    var jsouVybranePozice = (document.poziceVybranePocet ? true : false);
    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 lokalita_ze_seznamu()
{
    document.lokalitaVybranePocet = 0;
    var e = document.getElementById(document.idPoleLokalita);
    var vybrane = e.value.split(/,/);
    for (i in vybrane)
        if (vybrane[i] && (typeof(D.okres[vybrane[i]]) != 'undefined'))
        {
            document.lokalitaVybranePocet++;
            document.lokalitaVybrane[vybrane[i]] = true;
        }
}

function lokalita_do_seznamu()
{
    document.lokalitaVybranePocet = 0;
    var vysledek = '';
    for (i in document.lokalitaVybrane)
        if (document.lokalitaVybrane[i])
        {
            document.lokalitaVybranePocet++;
            vysledek += i + ',';
        }
    document.getElementById(document.idPoleLokalita).value = vysledek;
}

function lokalita_regeneruj_prehled()
{
    lokalita_ze_seznamu();
    var vysledek = '';
    var v = {};
    for (j in D.kraj)
        v[j] = [];
    for (i in document.lokalitaVybrane)
        if (document.lokalitaVybrane[i])
        {
            j = D.okres[i][1];
            v[j][v[j].length] = D.okres[i][0] + '<img style="cursor: pointer;" onclick="lokalita_zrusit(' + i + ');" src="/images/remove.gif" title="Zrušit" /> ';
        }
    for (j in v)
        if (v[j].length)
            vysledek += '<strong>' + D.kraj[j] + '</strong>: ' + v[j].join(', ') + '<br />';
    document.lokalitaVybranePrehled = vysledek;
}

function lokalita_synchronizuj_prehled()
{
    lokalita_regeneruj_prehled();
    var jsouVybraneokres = (document.lokalitaVybranePocet ? true : false);
    document.getElementById('lokalita_vyberte_kraj').style.display = ((!jsouVybraneokres && (document.getElementById('lokalita_kraj').selectedIndex == 0)) ? 'block' : 'none');
    if (!document.lokalitaSynchronizovatPrehled)
        return;
    document.getElementById('lokalita_prehled').innerHTML = document.lokalitaVybranePrehled;
    document.getElementById('lokalita_prehled_kontejner').style.display = (jsouVybraneokres ? 'block' : 'none')
}

function lokalita_zrusit(okres)
{
    lokalita_zatrhnout(okres, false);
}

function lokalita_zatrhnout(okres, checked)
{
    var e_label = document.getElementById('lokalita_label_' + okres);
    var e_checkbox = document.getElementById('lokalita_' + okres);
    lokalita_ze_seznamu();
    if (e_checkbox)
        e_checkbox.checked = checked;
    if (e_label)
        e_label.className = ((checked) ? 'checkboxSelected' : '');
    document.lokalitaVybrane[okres] = checked;
    lokalita_do_seznamu();
    lokalita_synchronizuj_prehled();
}

function lokalita_zatrhnout_udalost(eventObject)
{
    lokalita_zatrhnout(this.okres, this.checked);
}

function lokalita_zatrhnout_kraj(checked)
{
    var e_kraj = document.getElementById('lokalita_kraj');
    var kraj = e_kraj.selectedIndex;
    if (!kraj)
        return;
    for (i in D.okres)
        if (D.okres[i][1] == kraj)
            lokalita_zatrhnout(i, checked);
}

function lokalita_zvol_kraj(kraj)
{
    var e_kraj = document.getElementById('lokalita_kraj');
    e_kraj.selectedIndex = kraj;
    lokalita_vybrat_kraj();
}

function lokalita_vybrat_kraj()
{
    var e_kraj = document.getElementById('lokalita_kraj');
    var kraj = e_kraj.selectedIndex;

    var e_tabulka = document.getElementById('lokalita_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('lokalita_kontejner');
    if (kraj)
    {
        e_kontejner.style.display = 'block';
        document.getElementById('lokalita_pridat_dalsi').style.display = 'block';
    }
    else
    {
        e_kontejner.style.display = 'none';
        document.getElementById('lokalita_pridat_dalsi').style.display = 'none';
    }

    lokalita_ze_seznamu();
    lokalita_synchronizuj_prehled();

    if (!kraj)
        return;

    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 = 'lokalita_' + okres;
        e_bunka.appendChild(e_okres);

        e_label.id = 'lokalita_label_' + okres;
        e_label.htmlFor = 'lokalita_' + okres;
        e_label.innerHTML = okresy[okres];
        e_bunka.appendChild(e_label);

        e_okres.okres = okres;
        q_okres.click(lokalita_zatrhnout_udalost);
        if (document.lokalitaVybrane[okres])
        {
            e_okres.checked = true;//setAttribute('checked', true);
            e_label.className = 'checkboxSelected';
        }
    }
}

function lokalita_pridat_dalsi_kraj()
{
    document.lokalitaSynchronizovatPrehled = true;
    lokalita_zvol_kraj(0);
}

