
// kdyz neni zapnuty javascript, tak to zustane zobrazene obracene
function hideAndShow() {
      document.getElementById("e_show").style.display = "block";
      document.getElementById("e_hide").style.display = "none";
}


// promenna pro zapamatovani cisla pred zmenou
var puvodniPocet = 0;

// zapise do promenne poet kusu, co byl v policku pred zmenou
function zapisPuvodniPocet(policko) {
      puvodniPocet = policko.value;
}

// zkontroluje, zda-li je zadana hodnota kladne cislo
// kdyz ne, vrati 0
function zkontrolujCislo(policko) {
      var hodnota = policko.value;
      // regularni vyraz, na ktery pasuje jen sada cislic
      var vzor = new RegExp("^\\d+$"); 
      
      if(hodnota.search(vzor) == -1) {
            // vyraz neodpovida vzoru
            policko.value = 0;
            return 0;
      } else {
            // vyraz odpovida
            return hodnota;
      }
}

function zmenPocetKusuACenu(policko, isbn) {
      // spocitam rozdil kusu
      var noveCislo = zkontrolujCislo(policko);
      var rozdil = noveCislo - puvodniPocet;
      
      // zavolam php skript
      aktualizujObjednavku(rozdil, isbn);
      
      if(noveCislo == 0) policko.style.fontWeight = 'normal';
      else policko.style.fontWeight = 'bold';
}


// vrati cislo stisknute klavesy pri eventu e
function getKeyCode(e) {
  if (e) {
    return e.charCode ? e.charCode : e.keyCode;
  }
  else {
    return window.event.charCode ? window.event.charCode : window.event.keyCode;
  }
}

// pri stisku klavesy enter nad polickem se spusti to same jako pri odznaceni
function rozpoznejEnter(event, policko) {
      if (getKeyCode(event) != 13) return;
      // je to enter
      //zmenPocetKusu(policko);
      policko.blur();
}


// ajax funkce ktera ziska odpoved v podobe textu
function getTextFromFile(soubor, data, callbackFunkce) {
      var XMLHttpRequestObject = false;
      
      if(window.XMLHttpRequest) {
            XMLHttpRequestObject = new XMLHttpRequest();
      } else if(window.ActiveXObject) {
            XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
      }
      
      
      if(XMLHttpRequestObject) {
            
            XMLHttpRequestObject.open("POST", soubor);
            XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            
            XMLHttpRequestObject.onreadystatechange = function()
            {
                  if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {     
                        // vratim ziskany text
                        callbackFunkce(XMLHttpRequestObject.responseText);
                        
                        delete XMLHttpRequestObject;
                        XMLHttpRequestObject = null;
                  }
                  
            }
            
            XMLHttpRequestObject.send(data);
            
      } else {
            document.getElementById("e_show").innerHTML = "Prohlizec nepodporuje AJAX.";
      }
}

// AJAX, aktualizace aktualni objednavky
function aktualizujObjednavku(kusyRozdil, isbn) {
      var soubor = "pages/mapy/prodej-map/e-objednavka_files/upgrage_objednavky.php";
      var promenne = "k=" + kusyRozdil + "&is=" + isbn;
      
      getTextFromFile(soubor, promenne, eval);
}

// zapise aktualni pocet kusus a cenu nahoru do policka
function zmenPoleCenyAKusy(kusy, cena) {
      var mistoKusy = document.getElementById("aktualni_kusy");
      var mistoCena = document.getElementById("aktualni_cena");
      
      // zapisu kusy do policka nahore
      mistoKusy.innerHTML = kusy;
      // zapisu cenu do policka nahore
      mistoCena.innerHTML = cena;
}

// zobrazeni okna s produktem
function zobrazDetail(isbn) {
      var cover = document.getElementById("black_cover");
      
      // zakrej obrazovku
      var wid = document.body.scrollWidth;
      // promenna winhei obsahuje vysku okna prohlizece
      var winhei = (window.innerHeight > document.body.clientHeight) ? window.innerHeight : document.body.clientHeight;
      var hei = (document.body.scrollHeight > winhei) ? document.body.scrollHeight : winhei;
      cover.innerHTML = '<div id="black_cover_cover" style="width: ' + wid + 'px; height: ' + hei + 'px">&nbsp;</div>';
      cover.style.display = "";
      
      // ziskam data ze souboru
      var soubor = "pages/mapy/prodej-map/e-objednavka_files/detail_produktu.php";
      var promenne = "is=" + isbn;
      
      // odeslu dotaz a odpoved zobrazim
      var odpoved = getTextFromFile(soubor, promenne, zobrazVnitrekDetailu);
}

function zobrazVnitrekDetailu(obsah) {
      var win = document.getElementById("product_detail");
      // zobraz okno s produktem
      var posTop = ((document.body.scrollTop != 0) ? document.body.scrollTop : document.documentElement.scrollTop) + 100;
      var posLeft = Math.round((document.body.scrollWidth - 500) / 2); // 500 je sirka detailu (jako v CSS!!)
      
      win.innerHTML = '<div id="product_detail_detail" style="top: ' + posTop + 'px; left: ' + posLeft + 'px">' + obsah + '</div>';
      win.style.display = "";
}

function zavriDetail() {
      var win = document.getElementById("product_detail");
      var cover = document.getElementById("black_cover");
      
      win.style.display = "none";
      cover.style.display = "none";
}


/* Zakryvani formulare a kontrola */

function zobrazBlok(blok) {
      el = document.getElementById(blok).style;
      el.display = "block";
}

function skryjBlok(blok) {
      el = document.getElementById(blok).style;
      el.display = "none";
}

// skopiruje text ze zadaneho do ciloveho policka
function kopiruj(zdroj, cilid) {
      var cil = document.getElementById(cilid);
      var stejnaJakDodaci = document.getElementById("sano");
      
      // musim zkontrolovat, jestli to bylo predtim stejne, abych neprepsal nece zmeneneho
      // pocitam jak s psanim, tak mazanim znaku !!
      if(stejnaJakDodaci.checked == true) {
            // bylo tam to same
            cil.value = zdroj.value;
      }
}

// zkontroluje, jestli jsou vyplnena vsechna povinna pole
function kontrolaZadani(formular) {
      var emailVzor = new RegExp("^.+@.+\..+$"); 
      
      if(formular.jmeno1.value == "") {
            window.alert('Vyplňte prosím Vaše jméno!');
            formular.jmeno1.focus();
            return false;
      } else if(formular.prijmeni1.value == "") {
            window.alert('Vyplňte prosím Vaše příjmení!');
            formular.prijmeni1.focus();
            return false;
      } else if(formular.email.value.search(emailVzor) == -1) {
            window.alert('Vyplňte prosím správně Váš e-mail!');
            formular.email.focus();
            return false;
      } else if(formular.ulice1.value == "") {
            window.alert('Vyplňte prosím ulici dodací adresy!');
            formular.ulice1.focus();
            return false;
      } else if(formular.cp1.value == "") {
            window.alert('Vyplňte prosím popisné číslo dodací adresy!');
            formular.cp1.focus();
            return false;
      } else if(formular.mesto1.value == "") {
            window.alert('Vyplňte prosím město dodací adresy!');
            formular.mesto1.focus();
            return false;
      } else if(formular.psc1.value == "") {
            window.alert('Vyplňte prosím PSČ dodací adresy!');
            formular.psc1.focus();
            return false;
      }
      
      if(document.getElementById("fano").checked == true) {
            // jedna se o firmu, ma povinne dalsi udaje 
            if(formular.firma.value == "") {
                  window.alert('Vyplňte prosím název Vaší firmy!');
                  formular.firma.focus();
                  return false;
            } else if(formular.ico.value == "") {
                  window.alert('Vyplňte prosím IČO Vaší firmy!');
                  formular.ico.focus();
                  return false;
            } else if(formular.dic.value == "") {
                  window.alert('Vyplňte prosím DIČ Vaší firmy!');
                  formular.dic.focus();
                  return false;
            }
      }
      
      if(document.getElementById("sne").checked == true) {
            // je jina fakturacni adresa
            if(formular.jmeno2.value == "") {
                  window.alert('Vyplňte prosím jméno do fakturační adresy!');
                  formular.jmeno2.focus();
                  return false;
            } else if(formular.prijmeni2.value == "") {
                  window.alert('Vyplňte prosím příjmení do fakturační adresy!');
                  formular.prijmeni2.focus();
                  return false;
            } else if(formular.ulice2.value == "") {
                  window.alert('Vyplňte prosím ulici fakturační adresy!');
                  formular.ulice2.focus();
                  return false;
            } else if(formular.cp2.value == "") {
                  window.alert('Vyplňte prosím popisné číslo fakturační adresy!');
                  formular.cp2.focus();
                  return false;
            } else if(formular.mesto2.value == "") {
                  window.alert('Vyplňte prosím město fakturační adresy!');
                  formular.mesto2.focus();
                  return false;
            } else if(formular.psc2.value == "") {
                  window.alert('Vyplňte prosím PSČ fakturační adresy!');
                  formular.psc2.focus();
                  return false;
            }
      }
      
      // zmenim cilovou stranku formulare
      formular.action = 'index.php?page=mapy/prodej-map/objednani&krok=2';
      return true;
}

function zakaz(id) {
      var co = document.getElementById(id);
      
      co.disabled = true;
}
function povol(id) {
      var co = document.getElementById(id);
      
      co.disabled = false;
}
function zaskrtni(id) {
      var co = document.getElementById(id);
      
      co.checked = true;
}
function odskrtni(id) {
      var co = document.getElementById(id);
      
      co.checked = false;
}

function kontrolaZadaniDP(formular) {
      var zaskrtnuto = false;
      var i;
      
      // kontrola vybrani dopravy
      for(i = 0; i < formular.doprava.length; i++) {
            if(formular.doprava[i].checked) zaskrtnuto = true;
      }
      if(!zaskrtnuto) {
            // doprava neni vybrana
            window.alert("Vyberte prosím způsob dopravy!");
            return false;
      }
      
      zaskrtnuto = false;
      // kontrola vybrani platby
      for(i = 0; i < formular.platba.length; i++) {
            if(formular.platba[i].checked) zaskrtnuto = true;
      }
      if(!zaskrtnuto) {
            // platba neni vybrana
            window.alert("Vyberte prosím způsob platby!");
            return false;
      }
      
      // zmenim cilovou stranku formulare
      formular.action = 'index.php?page=mapy/prodej-map/objednani&krok=4';
      return true;
}

