//----------------------------------------------------------------------------------------------------
// prommenne potrebne pro beh scriptu
  var CelkovaCena = 0; // celkova pojistna castka
  var PojDomacnosti = 0; // castka za pojisteni domacnosti
  var PojHS = 0; // castka za pojisteni hlavni stavby
  var PojVS = 0; // castka za pojisteni vedlejsi stavby<br>
  var PojZivot = 0; // castka za pojisteni v beznem obcanskem zivote
  var PojVlastnik = 0; // castka za pojisteni odpovednosti vlastnika nemovitosti
//----------------------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------------------
// SPECIALNI FCE start - urcene pro krok 2
//----------------------------------------------------------------------------------------------------

// zkontroluje pocet VS a kdyztak shova odkaz na pridani dalsi stavby
function checkAddVS() {
  var shovat = true;
  for (idx = 1; idx < VedlejsiStavbaMaxPocet; idx++) {
    var d = document.getElementById('VS'+idx+'Castka');
    if (d) {
      if ((d.value == '') ||  (d.value == '0')) {
        shovat = false;
      }
    }
  }
  var d = document.getElementById('VSaddOdkaz');
  if (shovat) {
    d.style.display = 'none';
  } else {
    d.style.display = '';
  }
  
}

// nastaveni hodnot vedlejsi stavby podle hlavni stavby
  function NastavVS(cislo) {
    var radek = document.getElementById('VS'+cislo);
    radek.style.display = '';
   
    var frm = document.getElementById('form1'); 
    if (frm.elements.VedlejsiStavbaUlice) {
      setValueToEl('VS'+cislo+'Ulice', frm.elements.VedlejsiStavbaUlice.value, 1);
      setValueToEl('sVS'+cislo+'Ulice', frm.elements.VedlejsiStavbaUlice.value, 2);
    }
    if (frm.elements.VedlejsiStavbaCislo) {
      setValueToEl('VS'+cislo+'Cislo', frm.elements.VedlejsiStavbaCislo.value, 1);
      setValueToEl('sVS'+cislo+'Cislo', frm.elements.VedlejsiStavbaCislo.value, 2);
    }
    if (frm.elements.VedlejsiStavbaMesto) {
      setValueToEl('VS'+cislo+'Mesto', frm.elements.VedlejsiStavbaMesto.value, 1);
      setValueToEl('sVS'+cislo+'Mesto', frm.elements.VedlejsiStavbaMesto.value, 2);
    }
    if (frm.elements.VedlejsiStavbaPsc) {
      setValueToEl('VS'+cislo+'Psc', frm.elements.VedlejsiStavbaPsc.value, 1);
      setValueToEl('sVS'+cislo+'Psc', frm.elements.VedlejsiStavbaPsc.value, 2);
    }
    var c = frm.elements.TypNemovitostiVedlejsiStavba;
    var i = c.selectedIndex;
    setValueToEl('VS'+cislo+'Typ', c.value, 1);
    setValueToEl('sVS'+cislo+'Typ', c[i].text, 2);

    c = frm.elements.PojistnaCastkaVedlejsiStavba;
    i = c.selectedIndex;
    setValueToEl('VS'+cislo+'Castka', c.value, 1);
    setValueToEl('sVS'+cislo+'Castka', c[i].text, 2);

    // VycistiVedlejsiStavbu();
    RecountVedlejsiStavbu();
    recountCelkovaCena();

    checkAddVS();    
     var chkBox = document.getElementById('chkPojistenyVS');
     if (chkBox != null) {
       chkBox.checked = false;
       setAdresaVS(chkBox, 'VedlejsiStavba');
       VycistiVedlejsiStavbu();
     }
     
     chkBox = document.getElementById('chkPojNemovitosti_VS');
     if (chkBox != null) { chkBox.checked = true; }
    
    return false;
  }
  
// pridani vedlejsi stavby
  function addVS() {
    // nejdrive kontrola, jestli jsou vyplneny vsechny udaje vedlejsi stavby
    var frm = document.getElementById('form1'); 

    if (! checkStr(frm.elements.VedlejsiStavbaUlice, 'ulici vedlejší stavby, aby šel přidat další objekt')) return false;
    if (! checkStr(frm.elements.VedlejsiStavbaCislo, 'číslo ulice vedlejší stavby, aby šel přidat další objekt')) return false;
    if (! checkStr(frm.elements.VedlejsiStavbaMesto, 'město vedlejší stavby, aby šel přidat další objekt')) return false;
    if (! checkStr(frm.elements.VedlejsiStavbaPsc, 'PSČ vedlejší stavby, aby šel přidat další objekt')) return false;

    var idx = 1;
    for (idx = 1; idx < VedlejsiStavbaMaxPocet; idx++) {
      var d = document.getElementById('VS'+idx+'Castka');
      if (d != null) {
        if (d.value == '') {
          NastavVS(idx);
          return false;
        } else {
          showHide('VS'+idx, true)
        }
      }
    }
    // uz je pridan maximalni pocet staveb - oznamim hlaskou
    alert('Již je přidán maximální (='+VedlejsiStavbaMaxPocet+') počet vedlejších staveb!');
    return false;
  }

// odstraneni vedlejsi stavby
  function delVS(cislo) {
    if (! confirm('Opravdu chcete odebrat tuto stavbu?')) {
      return false;
    }
    // vynulovani promennych
    setValueToEl('VS'+cislo+'Ulice', '', 1);  setValueToEl('sVS'+cislo+'Ulice', '', 2);
    setValueToEl('VS'+cislo+'Cislo', '', 1);  setValueToEl('sVS'+cislo+'Cislo', '', 2);
    setValueToEl('VS'+cislo+'Mesto', '', 1);  setValueToEl('sVS'+cislo+'Mesto', '', 2);
    setValueToEl('VS'+cislo+'Psc', '', 1);    setValueToEl('sVS'+cislo+'Psc', '', 2);
    setValueToEl('VS'+cislo+'Typ', '', 1);    setValueToEl('sVS'+cislo+'Typ', '', 2);
    setValueToEl('VS'+cislo+'Castka', '', 1); setValueToEl('sVS'+cislo+'Castka', '', 2);

    // shovani radku se stavbou
    var radek = document.getElementById('VS'+cislo);
    radek.style.display = 'none';

    // prepocitani hodnot
    RecountVedlejsiStavbu();
    recountCelkovaCena();

    var d = document.getElementById('VSaddOdkaz');
    d.style.display = '';

    return false;
  }


// prepocita castku pojisteni domacnosti
  function recountPojistneDomactnosti() {
    PojDomacnosti =  0;
    var chkDom = document.getElementById('chkPojDomacnost');
    if (!chkDom.checked) return;
    var castka = document.getElementById("PojistnaCastkaDomacnosti");
    var nebezpeci = document.getElementById("PojistnaNebezpeciDomacnosti");
    var div = document.getElementById("DomacnostVyslCastka");
    var radek = poleDomacnost[castka.value-1];
    var val = radek[nebezpeci.value-1];
    PojDomacnosti = val;
    div.innerHTML = PojDomacnosti;
    recountCelkovaCena();
 }
  
// prepocita castku halvni stavby
  function recountPojistneHlavniStavba() {
    var castka = document.getElementById("PojistnaCastkaHlavniStavba");
    var nebezpeci = document.getElementById("PojistnaNebezpeciHlavniStavba");
    var div = document.getElementById("HlavniStavbaVyslCastka");
    var radek = poleHS[castka.value-1];
    var val = radek[nebezpeci.value-1];
    PojHS = val;
    div.innerHTML = PojHS;
    recountPojistneVedlejsiStavba();
    recountCelkovaCena();
  }

// prepocita castku vedlejsi stavby
  function recountPojistneVedlejsiStavba() {
    PojVS = 0;
    var castka = document.getElementById("PojistnaCastkaVedlejsiStavba");
    var nebezpeci = document.getElementById("PojistnaNebezpeciHlavniStavba");
    var div = document.getElementById("VedlejsiStavbaVyslCastka");
    var radek = poleVS[castka.value-1];
    var val = radek[nebezpeci.value-1];
    // pripocitani dalsich staveb
    for (var idx = 1; idx < VedlejsiStavbaMaxPocet; idx++) {
      castka = document.getElementById('VS'+ idx +'Castka');
      if (castka.value != '') {
        radek = poleVS[castka.value - 1];
        val += radek[nebezpeci.value-1];
      }
    }
    div.innerHTML = val;
    PojVS = val;
    recountCelkovaCena();
  }

// nastaveni vedlejsi adresy podle hlavni stavby
  function setAdresaVS(chkBox, prefix) {
    var ulice = chkBox.form.elements[prefix+'Ulice'];
    var cislo = chkBox.form.elements[prefix+'Cislo'];
    var mesto = chkBox.form.elements[prefix+'Mesto'];
    var psc = chkBox.form.elements[prefix+'Psc'];
    SetPole(ulice, !chkBox.checked);
    SetPole(cislo, !chkBox.checked);
    SetPole(mesto, !chkBox.checked);
    SetPole(psc, !chkBox.checked);
    if (chkBox.checked) {
      ulice.value = chkBox.form.elements['HlavniStavbaUlice'].value;
      cislo.value = chkBox.form.elements['HlavniStavbaCislo'].value;
      mesto.value = chkBox.form.elements['HlavniStavbaMesto'].value;
      psc.value = chkBox.form.elements['HlavniStavbaPsc'].value;
    }
  }


// spocita castky za vedlejsi stavby
  function RecountVedlejsiStavbu() {
    PojVS = 0; // nejdriv vynuluju
    var idx = 0;
    var nebezpeci = document.getElementById("PojistnaNebezpeciHlavniStavba");
    var radek, val, castka, input;
    recountPojistneVedlejsiStavba();
    for (idx = 1; idx < VedlejsiStavbaMaxPocet; idx++) {
      input = document.getElementById('VS'+idx+'Castka');
      if (input != null) {
        if (input.value != '') {
          // zobrazeni radku - kdyby se nahodou shovaval :-)
          showHide('VS'+idx, true)
        }
      }
    }
    setValueToEl('VedlejsiStavbaVyslCastka', PojVS, 2);
    return false;
  }

// vycisti vedlejsi stavbu
  function VycistiVedlejsiStavbu() {
    var frm = document.getElementById('form1'); 
    frm.elements.VedlejsiStavbaUlice.value = '';
    frm.elements.VedlejsiStavbaCislo.value = '';
    frm.elements.VedlejsiStavbaMesto.value = '';
    frm.elements.VedlejsiStavbaPsc.value = '';
    frm.elements.TypNemovitostiVedlejsiStavba.selectedIndex = 0;
    frm.elements.PojistnaCastkaVedlejsiStavba.selectedIndex = 0;
  }


// spocitani vysledne ceny podle zobrazeni poli a zaskrtlych checkboxu
  function recountCelkovaCena() {
    // kontrola zaskrtnutych poli
    
    var chk = document.getElementById('chkPojDomacnost'); if (!chk.checked) PojDomacnosti = 0;
    chk = document.getElementById('chkPojNemovitosti_HS'); if (!chk.checked) PojHS = 0;
    chk = document.getElementById('chkPojNemovitosti_VS'); if (!chk.checked) PojVS = 0;

    CelkovaCena = PojDomacnosti + PojHS + PojVS + PojZivot + PojVlastnik;
    var d1 = document.getElementById('celkoveRocni');
    var d2 = document.getElementById('celkovePulRocni');
    var d3 = document.getElementById('celkoveCtvrtRocni');
    var c2 = Math.round(CelkovaCena / 2);
    var c3 = Math.round(CelkovaCena / 4);

    CelkoveRocniPojistne.innerHTML = CelkovaCena;
    d1.innerHTML = CelkovaCena + ' Kč';
    if (c2 >= 500) {
      d2.innerHTML =  c2 + ' Kč';
      SetPoleDleId('volba2', true);
    } else {
      d2.innerHTML = 'nelze';    
      SetPoleDleId('volba2', false);
      if (document.getElementById('volba2'))
        document.getElementById('volba2').checked = false;
    }

    if (c3 >= 500) {
      d3.innerHTML = c3 + ' Kč';
      SetPoleDleId('volba4', true);
    } else {
      d3.innerHTML = 'nelze';
      SetPoleDleId('volba4', false);
      if (document.getElementById('volba4'))
        document.getElementById('volba4').checked = false;
    }

    return false;
  }
  

// fce zobrazi vedlejsi stavbu
  function showHideVedlejsiStavba(val) {
    showHide(val, 'tabPojnemovitosti_VS'); 
    RecountVedlejsiStavbu();
    for (idx = 1; idx < VedlejsiStavbaMaxPocet; idx++) {
      input = document.getElementById('VS'+idx+'Castka');
      if (input != null) {
        if (input.value != '') {
          // zobrazeni radku - kdyby se nahodou shovaval :-)
          showHide('VS'+idx, true)
        }
      }
    }
  }
  
// fce pro provedeni akce pri zmene stavu u hlavni nemovitosti
// - musi se jeste nastavit vedlejsi stavdba, pojisteni vlastnika, pojisteni zivot
  function showHideHlavniStavba(val) {
    showHide(val, 'tabPojnemovitosti_HS'); 
    showHide(val, 'Pojnemovitosti_VS');    
    showHide(val, 'PojVlastnika');
    showHide(val, 'PojOdpovednostiZivot');
    if (!val) {
      var chk = document.getElementById("chkPojDomacnost");
      if (chk.checked) {
        showHide(true, 'PojOdpovednostiZivot');
      }
      chk = document.getElementById("chkPojOdpovednostiVlastnik");
      chk.checked = false;
      PojVlastnik = 0;
      chk = document.getElementById("chkPojOdpovednostiZivot");
      PojZivot = 0;
      chk.checked = false;
    }
    recountPojistneHlavniStavba(false);
    recountPojistneVedlejsiStavba(false);
    recountCelkovaCena();
    return true;
  }

// fce pro provedeni akce pri zmene stavu u poj domacnosti  
// musi se jeste nastavit pojisteni zivot
  function showHideDomacnost(val) {
   showHide(val, 'tabPojDomacnosti');
   showHide(val, 'PojOdpovednostiZivot');
   if (!val) {
      var chk = document.getElementById('chkPojNemovitosti_HS');
      if (chk) {
        var  chk2 = document.getElementById('chkPojOdpovednostiZivot');
        chk2.checked = chk.checked;
        recountPojOdpovednostiZivot();
        if (chk.checked) {
          showHide(true, 'PojOdpovednostiZivot');
        }
      } 
    }
   recountPojistneDomactnosti();
   recountCelkovaCena();
    return true;
  }

  
  function checkJiny(frm, povoleno) {
    SetPole(frm.elements.PojJinyNazev, povoleno);
    SetPole(frm.elements.PojJinyTypPojisteni, povoleno);
  }
  
  function changeVztah(selVztah) {
    var val = selVztah.value;
    if (val == 2) {
      // spoluvlastnik - povolit zadani pomeru vlastnictvi
      SetPole(selVztah.form.elements.PojOdpovednostiVlastnikA, true);
      SetPole(selVztah.form.elements.PojOdpovednostiVlastnikB, true);
    } else {
      // jeden majitel
      SetPole(selVztah.form.elements.PojOdpovednostiVlastnikA, false);
      SetPole(selVztah.form.elements.PojOdpovednostiVlastnikB, false);
    }
  }
    
// fce provadena pri submit formulare - kontrola vyplneni poli
  function checkForm(frm) {

    return true;
  }


  

//----------------------------------------------------------------------------------------------------
// SPECIALNI FCE konec - urcene pro krok 2
//----------------------------------------------------------------------------------------------------

  
  
//----------------------------------------------------------------------------------------------------
// OBECNE FCE start - pouzitelne kdekoliv jinde  
//----------------------------------------------------------------------------------------------------
  
// shova / zobrazei jeden prvek v formulari (tabulku, div, atd)
  function showHide(val, tabName) {
    var tab = document.getElementById(tabName);
    if (tab != null) {
      if (val)  {
        tab.style.display = '';
      } else {
        tab.style.display = 'none';
      }
    }
    return true;
  }
  
// obecna fce - nastavi form-pole na readonly nebo edit-able, nastavi pozadi pro prehled uzivatele
  function SetPole(pole, val) {
    var bColor = "white";
    if (val) {
      bColor = "white";
    } else {
      bColor = "silver";
    }
  	pole.readOnly = !val;
    pole.disabled = !val; 
  	pole.style.backgroundColor = bColor;
  }

  function SetPoleDleId(id, val) {
    var pole = document.getElementById(id);
    if (pole == null) return;
  	pole.readOnly = !val;
    pole.disabled = !val; 
  }

  
  
// obecna fce - zkontroluje jestli form-pole neni prazdne, pripadne nastavi focus a zobrazi hlasku
  function checkStr(pole, hlaska) {
    if (pole == null) return true;
    if (pole.value == "") {
      pole.focus();
      alert('Vyplňte prosím '+hlaska+'!');
      return false;
    }
    return true;
  }


  // najde v documentu element a naplni jej hodnotou dle typu
  // typ: 1 - input box, 2 - div, span nebo tak neco - plni se innerHTML
  function setValueToEl(nazev, val, typ) {
    var d = document.getElementById(nazev);
    if (d == null) return false;
    if (typ == 1) {
      d.value = val;
    } else {
      d.innerHTML = val;
    }
  }
  

//----------------------------------------------------------------------------------------------------
// OBECNE FCE konec - pouzitelne kdekoliv jinde  
//----------------------------------------------------------------------------------------------------


  
