/*******************************************************************************
* js/ajax.js
* 
* -- skript js ajax funkci pro web
* 
* 2007-08-27 Machalek Miroslav
* 
* 2007-11-02 Chaloupka Jaromír
* 
*******************************************************************************/

/*******************************************************************************
* vytvari http object
*******************************************************************************/
function getHTTPObject() {
  var xmlhttp = null;
  if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest()
  }
  else if (window.ActiveXObject) {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
  }
  
  return xmlhttp;
}

/*******************************************************************************
* zjistuje predbeznou kalkulaci pojistneho
*******************************************************************************/
function vypocitej_kalkulaci_pojistneho(iframe) {
  parametry = '1=1'; 

  var inputy = document.getElementById('sjednani_pojisteni').getElementsByTagName('input');
  
  for (i = 0; i < inputy.length; i++) {
    if (inputy[i].id.indexOf('id_typy_men') >= 0) {
      parametry = parametry + '&id_typy_men=' + inputy[i].value;
    }
    else if (inputy[i].checked && inputy[i].id.indexOf('pojistna_rizika_') >= 0) {
      parametry = parametry + '&pojistna_rizika[]=' + inputy[i].value;
    }
    else if (inputy[i].checked && inputy[i].id.indexOf('typ_uzemi_') >= 0) {
      parametry = parametry + '&typ_uzemi=' + inputy[i].value;
    }
    else if (inputy[i].checked && inputy[i].id.indexOf('typ_cesty_') >= 0) {
      parametry = parametry + '&typ_cesty=' + inputy[i].value;
    }
    else if (inputy[i].id.indexOf('pocet_dnu') >= 0) {
      parametry = parametry + '&pocet_dnu=' + inputy[i].value;
    }
    else if (inputy[i].id.indexOf('typy_pojistenych_kdo_') >= 0) {
      parametry = parametry + '&' + inputy[i].name + '=' + inputy[i].value;
    }
  }
  
  if (iframe) {
    parametry = parametry + '&iframe='+iframe;
  }

  var xmlhttp = getHTTPObject();

  xmlhttp.open('POST', 'ajax/vypocitej_kalkulaci_pojistneho.php', true);
  
  xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

  xmlhttp.onreadystatechange = function()
  {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      var odpoved = xmlhttp.responseText;      

      casti = odpoved.split('#');

      // pokud se jedna o navrat chybove hlasky
      if (casti[0] == 1) {
        document.getElementById('pojistne_kalkulace').innerHTML = '';

        alert(casti[1]);
      }
      else {
        document.getElementById('pojistne_kalkulace').innerHTML = casti[1];
      }
    }
  };

  xmlhttp.send(parametry);

  return false;
}

/*******************************************************************************
* vrati true pro IE7 jinak false - kvuli ajaxu a https
*******************************************************************************/
function vrat_zda_je_to_ie7()
{
    var s = new String(navigator.appVersion);
    var re = /MSIE 7/i;
    return re.test(s);
}

/*******************************************************************************
* pojistuje osobu
*******************************************************************************/
function pojisti_osobu(pojistnik, id_typy_zemi_cz) {
  var prefix_poli = 'pojisteny';

  if (pojistnik) {
    prefix_poli = 'pojistnik';
  }

  var xmlhttp = getHTTPObject();

  /* Ofajc kvuli IE 7, tam to nefungovalo
  if (vrat_zda_je_to_ie7() == true) {
    xmlhttp.open('POST', 'http://www.pojistovna-adria.cz/ajax/pojisti_osobu.php', true);
  } else {
    xmlhttp.open('POST', 'https://www.pojistovna-adria.cz/ajax/pojisti_osobu.php', true);
  }
  */
  xmlhttp.open('POST', 'https://www.pojistovna-adria.cz/ajax/pojisti_osobu.php', true);
  
  xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

  xmlhttp.onreadystatechange = function()
  {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      var odpoved = xmlhttp.responseText;      

      casti = odpoved.split('#');

      // pokud se jedna o navrat chybove hlasky
      if (casti[1] == 1) {
        alert(casti[2]);
        
        // odskrtneme checkbox, ze pojistnik je zaroven pojisteny
        if (casti[0]) {
          document.getElementById('pojistnik_zaroven_pojisteny').checked = false;
        }
      }
      else {      
        document.getElementById('pojistne_pojistene_osoby').innerHTML = casti[2];

        // procistime formular pro zadani pojistene osoby
        if (casti[0] == 0) {
          var inputy = document.getElementById('sjednani_pojisteni').getElementsByTagName('input');
          
          for (i = 0; i < inputy.length; i++) {
            if (inputy[i].id.indexOf('pojisteny_') >= 0) {
              inputy[i].value = '';
            }
          }
          
          document.getElementById('pojisteny_id_typy_zemi').value = id_typy_zemi_cz;
        }
      }
    }
  };

  xmlhttp.send('pojistnik=' + pojistnik +
               '&titul=' + document.getElementById(prefix_poli + '_titul').value + 
               '&jmeno=' + document.getElementById(prefix_poli + '_jmeno').value +
               '&prijmeni=' + document.getElementById(prefix_poli + '_prijmeni').value +
               '&datum_narozeni=' + document.getElementById(prefix_poli + '_datum_narozeni').value +
               '&ulice_cp=' + document.getElementById(prefix_poli + '_ulice_cp').value +
               '&obec=' + document.getElementById(prefix_poli + '_obec').value +
               '&psc=' + document.getElementById(prefix_poli + '_psc').value +
               '&id_typy_zemi=' + document.getElementById(prefix_poli + '_id_typy_zemi').value);

  return false;
}

/*******************************************************************************
* odebira osobu ze seznamu pojistenych
*******************************************************************************/
function odeber_osobu(id_pojisteny, pojistnik) {
  var xmlhttp = getHTTPObject();
  
  /*
  if (vrat_zda_je_to_ie7() == true) {
    xmlhttp.open('POST', 'http://www.pojistovna-adria.cz/ajax/odeber_osobu.php', true);
  } else {
    xmlhttp.open('POST', 'https://www.pojistovna-adria.cz/ajax/odeber_osobu.php', true);
  }
  */
  xmlhttp.open('POST', 'https://www.pojistovna-adria.cz/ajax/odeber_osobu.php', true);
  
  xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

  xmlhttp.onreadystatechange = function()
  {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      var odpoved = xmlhttp.responseText;      

      document.getElementById('pojistne_pojistene_osoby').innerHTML = odpoved;
    }
  };

  xmlhttp.send('id_pojisteny=' + id_pojisteny + '&pojistnik=' + pojistnik);

  return false;
}

/*******************************************************************************
* vyhodnocuje, zda je pojistnik zaroven pojisteny
*******************************************************************************/
function pojistnik_zaroven_pojisteny_zmen(id_typy_zemi_cz) {
  if (document.getElementById('pojistnik_zaroven_pojisteny').checked) {
    pojisti_osobu(1, id_typy_zemi_cz);
  }
  else {
    odeber_osobu(0, 1)
  }
}

/*******************************************************************************
* prejde na dalsi krok sjednani pojisteni
*******************************************************************************/
function prejdi_na_dalsi_krok() {
  document.getElementById('form_sjednat_pojisteni').submit();

  return false;
}

/*******************************************************************************
* kontroluje vyplneni formulare v kroku 4
*******************************************************************************/
function zkontrolovat_formular_krok4(typ_doruceni_emailem, typ_uhrady_karta) {
  if (document.getElementById('typ_doruceni_' + typ_doruceni_emailem).checked &&
      !document.getElementById('zaslani_emailem_souhlas').checked) {
    alert('Označte pole s potvrzením zaslání dokumentů ke sjednávanému pojištění prostřednictvím e-mailu!');
    
    return false;
  }
  else {
    if (document.getElementById('typ_uhrady_' + typ_uhrady_karta).checked) {
      window.open('https://www.pojistovna-adria.cz/platba_kartou_temp.php', 'muzo', 'top=0,left=0,width=' + screen.availWidth + ', height=' + screen.availHeight);

      return false;
    }
    else {
      return prejdi_na_dalsi_krok();
    }
  }
}

/*******************************************************************************
* zjistuje typ doruceni dokumentu a podle toho disabluje checkbox
*******************************************************************************/
function zmena_typu_doruceni(typ_doruceni_emailem) {
  if (document.getElementById('typ_doruceni_' + typ_doruceni_emailem).checked) {
    document.getElementById('zaslani_emailem_souhlas').disabled = '';
    document.getElementById('zaslani_emailem_souhlas').checked = true;
  }
  else {
    document.getElementById('zaslani_emailem_souhlas').disabled = 'disabled';
    document.getElementById('zaslani_emailem_souhlas').checked = false;
  }
}

/*******************************************************************************
* zjistuje typ uhrady po toho nastavuje typ doruceni a disabluje checkbox
*******************************************************************************/
function zmena_typu_uhrady(typ_uhrady_karta, typ_doruceni_emailem) {
  if (document.getElementById('typ_uhrady_' + typ_uhrady_karta).checked) {
    document.getElementById('zaslani_emailem_souhlas').disabled = '';
  }

  var inputy = document.getElementById('sjednani_pojisteni').getElementsByTagName('input');

  for (i = 0; i < inputy.length; i++) {
    if (document.getElementById('typ_uhrady_' + typ_uhrady_karta).checked) {
      if (inputy[i].id.indexOf('typ_doruceni_') >= 0) {
        if (inputy[i].id == 'typ_doruceni_' + typ_doruceni_emailem) {
          inputy[i].checked = 'checked';
        }
        else {
          inputy[i].disabled = 'disabled';
        }
      }
    }
    else {
      inputy[i].disabled = '';
    }
  }
}

/*******************************************************************************
* kontroluje vyplneni formulare pri vlozeni nove smlouvy prodejcem v kroku 3
*******************************************************************************/
function zkontrolovat_formular_krok3() {
  if (document.getElementById('rekapitulace_souhlas').checked) {
    return prejdi_na_dalsi_krok();
  } else {
    alert('Označte pole Prohlášení s potvrzením pravdivosti údajů a seznámením s pojistnými podmínkami. Bez označení pole nelze váš požadavek odeslat!');
    return false;
  }
}
