function check(cokoliv, stav) {
    if ((document.getElementById('zmeny'+cokoliv).checked == true) && (document.getElementById('onlyzmeny'+cokoliv).checked==true)) {
      if (stav == 1) document.getElementById('onlyzmeny'+cokoliv).checked = false;
      else if (stav == 2) document.getElementById('zmeny'+cokoliv).checked = false;
      else {
        alert("Položky 'objednat normu včetně změn' a 'objednat pouze změny' nemohou být označené zároveň");
        document.getElementById('onlyzmeny'+cokoliv).checked = false;
      }
    }
}

function testObjed() {
  var a = document.getElementById("obchodni").value;
  var b1 = document.getElementById("adresadul").value;
  var b2 = document.getElementById("adresadpsc").value;
  var b3 = document.getElementById("adresadme").value;
  
  var c1 = document.getElementById("adresaful").value;
  var c2 = document.getElementById("adresafpsc").value;
  var c3 = document.getElementById("adresafme").value;

  var d = document.getElementById("doruceni").value;
  var e = document.getElementById("jmobj").value;
  var f = document.getElementById("konobj").value;

  var chyba;
  chyba = 0;
  var b, c;
  if (b1 == "" || b2 == "" || b3 == "") b = "";
  else b = "1";
  if ((b == "") && (c == "") && (d == "dob")) chyba = 1;
  if (e == "") chyba = 5;
  if (a == "") chyba = 2;
  if (f == "") chyba = 3;
  if (f != "") {
    mail=/^.+@.+\..{2,4}$/
    if (mail.test(f) != true) chyba = 4;
  }
  switch (chyba) {
    case 1:
      alert("Nebyla zadána adresa.");
      return false;
      break;
    case 2:
      alert("Nebylo zadáno jméno firmy.");
      return false;
      break;
    case 3:
      alert("Nebyla zadána e-mailová adresa objednávajícího.");
      return false;
      break;
    case 4:
      alert("Špatně zadaná e-mailová adresa.");
      return false;
      break;
    case 5:
      alert("Nebylo zadáno jméno objednávajícího.");
      return false;
      break;
  }
  return true;

}

function testPlatbaChange() {
	if (document.getElementById("platba").value == "dob") {
     	  document.getElementById("postovne").style.display = "block";
     		document.getElementById("ppl").style.display = "none";
     } else if (document.getElementById("platba").value == "ppl") {
       	document.getElementById("postovne").style.display = "none";
     		document.getElementById("ppl").style.display = "block";
     } else {
        document.getElementById("postovne").style.display = "none";
     		document.getElementById("ppl").style.display = "none";
     }
	return true;
}

function testDoruceniChange() {
	if (document.getElementById("doruceni").value == "dob") {
     	document.getElementById("postovne").style.display = "block";
     	document.getElementById("ppl").style.display = "none";
     } else if (document.getElementById("doruceni").value == "ppl") {
     	document.getElementById("postovne").style.display = "none";
     	document.getElementById("ppl").style.display = "block";
     } else {
     	document.getElementById("postovne").style.display = "none";
     	document.getElementById("ppl").style.display = "none";
     }

	return true;
}

function hideNotDob() {
  if (document.getElementById("doruceni")) {
        if (document.getElementById("doruceni").value == "dob") {
             document.getElementById("postovne").style.display = "block";
             document.getElementById("ppl").style.display = "none";
        } else if (document.getElementById("doruceni").value == "ppl") {
             document.getElementById("postovne").style.display = "none";
             document.getElementById("ppl").style.display = "block";

        } else {
             document.getElementById("postovne").style.display = "none";
             document.getElementById("ppl").style.display = "none";
        }
     }
  if (document.getElementById("platba")) {
        if (document.getElementById("platba").value == "dob") {
             document.getElementById("postovne").style.display = "block";
             document.getElementById("ppl").style.display = "none";
        } else if (document.getElementById("platba").value == "ppl") {
             document.getElementById("postovne").style.display = "none";
             document.getElementById("ppl").style.display = "block";
        } else {
             document.getElementById("postovne").style.display = "none";
             document.getElementById("ppl").style.display = "none";
        }
     }
}


function testPocetKusu(katalog) {
  var a = "katcis" + katalog;
  var b;
  if (document.getElementById(a)) b = document.getElementById(a).value;
  b = parseInt(b);
  if (b == 0) {
    alert("Změnil(a) jste počet kusů na nula, položka bude po stisknutí tlačítka Přepočítat z košíku vymazána.");
  } else if (isNaN(b)) {
    alert("Změnil(a) jste počet kusů na nečíselnou hodnotu, položka bude po stisknutí tlačítka Přepočítat z košíku vymazána."); 
  }  
}

function testEmail(value) {
  var match = /[a-zA-Z0-9\._-]+@[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}/;
  return match.test(value);
}

function testIC(x) {
  try
  {
    var a = 0;
    x = x.replace(/\s/g, "");
    if ((x.length > 0) && (x.length < 8)) {
      for (var i = x.length; i < 8; i++) x = "0" + x;
    }    
    if(x.length == 0) return true;
    if(x.length != 8) throw 1;

    var b = x.split('');
    var c = 0;
    for(var i = 0; i < 7; i++) a += (parseInt(b[i]) * (8 - i));
    a = a % 11;
    c = 11 - a;
    if(a == 1) c = 0;
    if(a == 0) c = 1;
    if(a == 10) c = 1;
    if(parseInt(b[7]) != c) throw(1);
  }
  catch(e)
  {
    return false;
  }
  return true;
}


function testPokladnaStep1() {
  // kontrola vyplneni formulare
  var a = document.getElementById("jmeno").value;
  var b = document.getElementById("email").value;
  var c = document.getElementById("faktul").value;
  var d = document.getElementById("faktmes").value;
  var e = document.getElementById("faktpsc").value;
  var f = document.getElementById("ic").value;
  var g = document.getElementById("dodstejna").checked;
  var h1, h2, h3, h4;
  if (g) h1 = h2 = h3 = h4 = "";
  else {
    h1 = document.getElementById("dodfirma").value;
    h2 = document.getElementById("dodul").value;
    h3 = document.getElementById("dodmes").value;
    h4 = document.getElementById("dodpsc").value;
  }
  
  var chybi = "";
  if (a == "") chybi += "- jméno objednávajícího\n";
  if (b == "") chybi += "- e-mail objednávajícího\n";
  if (c == "") chybi += "- ulice\n";
  if (d == "") chybi += "- město\n";
  if (e == "") chybi += "- PSČ\n";
  if (chybi != "") {
    alert("Následující povinná pole je nutno vyplnit:\n" + chybi);
    return false;
  } else {
    if (!g && (h1 == "" && h2 == "" && h3 == "" && h4 == "")) {
      alert("Nebyla zadána dodací adresa. Buď musíte zaškrtnout, že dodací adresa je stejná jako fakturační, nebo vyplnit kompletní dodací adresu."); 
      return false;
    }
    if (!testEmail(b)) {
      alert("E-mailová adresa má nesprávný formát."); 
      return false;
    } 
    if (!testIC(f)) {
      var conf = confirm("Zadané IČ zřejmě není platné. Chcete jej opravdu použít?");
      if (!conf) return false;
    }
    return true;
  }
}

function testRegistrace(checkMujUcet) {
  // kontrola vyplneni formulare
  var a = document.getElementById("jmeno").value;
  var b = document.getElementById("email").value;
  var c = document.getElementById("faktul").value;
  var d = document.getElementById("faktmes").value;
  var e = document.getElementById("faktpsc").value;
  var f = document.getElementById("ic").value;
  var g = document.getElementById("dodstejna").checked;
  var h1, h2, h3, h4;
  if (checkMujUcet) {
    var i = true;
    var p1 = "ab";
    var p2 = "ab";
    var u = "abc";
  } else {  
    var i = document.getElementById("podminkysouhlas").checked;
    var p1 = document.getElementById("upasswd1").value;
    var p2 = document.getElementById("upasswd2").value;
    var u = document.getElementById("uname").value;
  }
  if (g) h1 = h2 = h3 = h4 = "";
  else {
    h1 = document.getElementById("dodfirma").value;
    h2 = document.getElementById("dodul").value;
    h3 = document.getElementById("dodmes").value;
    h4 = document.getElementById("dodpsc").value;
  }
  
  var chybi = "";
  if (u == "") chybi += "- uživatelské jméno\n"; 
  if (p1 == "") chybi += "- heslo\n";
  if (p2 == "") chybi += "- heslo (znovu)\n";
  if (a == "") chybi += "- jméno objednávajícího\n";
  if (b == "") chybi += "- e-mail objednávajícího\n";
  if (c == "") chybi += "- ulice\n";
  if (d == "") chybi += "- město\n";
  if (e == "") chybi += "- PSČ\n";
  
  if (chybi != "") {
    alert("Následující povinná pole je nutno vyplnit:\n" + chybi);
    return false;
  } else {
    if (!g && (h1 == "" && h2 == "" && h3 == "" && h4 == "")) {
      alert("Nebyla zadána dodací adresa. Buď musíte zaškrtnout, že dodací adresa je stejná jako fakturační, nebo vyplnit kompletní dodací adresu."); 
      return false;
    }
    if (!testEmail(b)) {
      alert("E-mailová adresa má nesprávný formát."); 
      return false;
    } 
    if (!testIC(f)) {
      var conf = confirm("Zadané IČ zřejmě není platné. Chcete jej opravdu použít?");
      if (!conf) return false;
    }
    if (!i) {
      alert("Pro dokončení registrace je nutno souhlasit s obchodními podmínkami");
      return false;
    }
    if (p1 != p2) {
      alert("Zadaná hesla se neshodují. Do kolonky 'Heslo' a 'Heslo (znovu)' musíte vyplnit stejné heslo.");
      return false;
    }
    return true;
  }
}


function adresaDoruceni() {
  var a = document.getElementById("dodstejna");
  if (a && a.checked) {
    document.getElementById("dodfirma").value = document.getElementById("obchodnijmeno").value;
    if (document.getElementById("obchodnijmeno").value == "") document.getElementById("dodfirma").value = document.getElementById("jmeno").value;
    document.getElementById("dodul").value = document.getElementById("faktul").value;
    document.getElementById("dodmes").value = document.getElementById("faktmes").value;
    document.getElementById("dodpsc").value = document.getElementById("faktpsc").value;
    document.getElementById("dodstatid").value = document.getElementById("faktstatid").value;
    document.getElementById("dodfirma").disabled = true;
    document.getElementById("dodul").disabled = true;
    document.getElementById("dodmes").disabled = true;
    document.getElementById("dodpsc").disabled = true;
    document.getElementById("dodstatid").disabled = true;
  } else {
    if (a) {
      document.getElementById("dodfirma").disabled = false;
      document.getElementById("dodul").disabled = false;
      document.getElementById("dodmes").disabled = false;
      document.getElementById("dodpsc").disabled = false;
      document.getElementById("dodstatid").disabled = false;
    }  
  }
}

var cenaPostovne = 0;
var cenaDobirka = 0;
var cenaZbozi = 0;

function testDoprava(zeme) {
  var a = document.getElementById("dop");
  var b = document.getElementById("plat");
  var cenaCelkem = "";
  cenaDobirka = 0;
  if (a && b) {
    var aval = a.value;
    var bval = b.value;
    if (zeme == 54) {
      if (aval == "osob") {
        if (bval == "dob") { b.selectedIndex = 0; testPlatba(zeme); }
        cenaPostovne = 0;
      } else if (aval == "posta") {
        if (bval == "hot") { b.selectedIndex = 1; testPlatba(zeme); }
        cenaPostovne = 140;
      } else if (aval == "ems") {
        if (bval != "dob") { b.selectedIndex = 1; testPlatba(zeme); }
        cenaPostovne = 300;
      }
    } else if (zeme == 194) {
      cenaPostovne = 300;
    } else {
      cenaPostovne = null;
    }
    updatePostovne();
  }
}

function updatePostovne() {
  if (document.getElementById("cenaZbozi")) cenaZbozi = parseInt(document.getElementById("cenaZbozi").value);
  
  if (cenaPostovne == null) {
    if (document.getElementById("cenaPostovne")) document.getElementById("cenaPostovne").innerHTML = "dle domluvy";
  } else {
    if (document.getElementById("cenaPostovne")) document.getElementById("cenaPostovne").innerHTML = (parseInt(cenaPostovne) + parseInt(cenaDobirka)) + " Kč";
  }
  if (cenaPostovne == null) {
    if (document.getElementById("cenaCelkem")) document.getElementById("cenaCelkem").innerHTML = parseInt(cenaZbozi) + " Kč";
  } else {
    if (document.getElementById("cenaCelkem")) document.getElementById("cenaCelkem").innerHTML = (parseInt(cenaZbozi) + parseInt(cenaPostovne) + parseInt(cenaDobirka)) + " Kč";
  } 
}

function testPlatba(zeme) {
  var a = document.getElementById("dop");
  var b = document.getElementById("plat");
  if (a && b) {
    var aval = a.value;
    var bval = b.value;
    if (zeme == 54) {
      if (bval == "dob" && aval == "osob") {
        a.selectedIndex = 1; testDoprava(zeme);
      } 
      if (bval == "hot") {
        a.selectedIndex = 0; testDoprava(zeme);
      }
      if (aval == "ems" && bval == "prof") {
        a.selectedIndex = 1; testDoprava(zeme);
      }
      if (bval == "prof") {
        var isIE = document.all && !window.opera;
        if (isIE) document.getElementById("platbaProformaUpozorneni").style.display = "block";
        else document.getElementById("platbaProformaUpozorneni").style.display = "table-row";
      } else {
        document.getElementById("platbaProformaUpozorneni").style.display = "none";
      }
    } else if (zeme == 194) {
      cenaPostovne = 300;
    } else {
      cenaPostovne = null;
    }    
    updatePostovne();
  }
}

function hiddenRowsToggle() {
  var zobrazit;
  if (document.getElementById("tabulkaZbozi")) {
    var elem = document.getElementById("tabulkaZbozi").getElementsByTagName("tr");
    for (var i = 0; i < elem.length; i++) {
      if (elem[i].className == "hide") {
        //alert(elem[i].style.display);
        if (elem[i].style.display == "") {
          elem[i].style.display = "none";
          zobrazit = true;
        } else {
          elem[i].style.display = "";
          zobrazit = false;
        }
      }
    }
    if (zobrazit) document.getElementById("skryti").firstChild.innerHTML = "zobrazit položky objednávky";
    else document.getElementById("skryti").firstChild.innerHTML = "skrýt položky objednávky";
  }
  return false;
}

function odkryti() {
  if (document.getElementById("skryti")) {
    var p = document.getElementById("skryti");
    p.style.display = "block";
    hiddenRowsToggle();
  }
}

function zobrazKontroluJmena() {
  if (document.getElementById("volneJmeno")) {
    document.getElementById("volneJmeno").style.visibility = "visible";  
  }
  if (document.getElementById("volneJmeno2")) {
    document.getElementById("volneJmeno2").style.visibility = "visible";  
  }  
}

var xmlHttp;
var unameOld = "";
var clickedDelete = "";

function vytvorAjax() {
  if (window.ActiveXObject) {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else if (window.XMLHttpRequest) {
    xmlHttp = new XMLHttpRequest();
  }    
}

function testJmenoChange() {
  if (document.getElementById("uname")) {
    if (document.getElementById("uname").value != unameOld) {
      //alert("uname = " + unameOld + "\n" + document.getElementById("uname").value);
      document.getElementById("volneJmeno").innerHTML = "<a href='#' onclick='return kontrolaJmena()'>zkontroluj</a>";
      unameOld = document.getElementById("uname").value;
    }
  }
}

function kontrolaJmena() {
  var login = "";
  if (document.getElementById("uname")) login = document.getElementById("uname").value;
  if (login != "") { 
    vytvorAjax();
    var url = "ajax/test-login.php?login=" + escape(login);
     xmlHttp.open("GET", url, true);
     xmlHttp.onreadystatechange = zpracujZmenuStavu;
     xmlHttp.send(null);
  } 
  return true;
}

function zpracujZmenuStavu() {
  if (xmlHttp && xmlHttp.readyState == 4) {
    if (xmlHttp.status == 200) {
      var resp = xmlHttp.responseText;
//       alert(resp);
      if (resp == "true") {
        // jmeno volne
        if (document.getElementById("volneJmeno")) {
          document.getElementById("volneJmeno").innerHTML = "<span class='ok'>uživatelské jméno je volné</span>";
        }
      } else if (resp == "false") {
        // jmeno obsazene
        if (document.getElementById("volneJmeno")) {
          document.getElementById("volneJmeno").innerHTML = "<span class='bad'>uživatelské jméno je obsazené</span>";
        }        
      }
    }
  }
}

function deleteKosik() {
  if (clickedDelete != "") {
    var conf = confirm("Opravdu chcete vymazat položku " + clickedDelete + " z košíku?");
    clickedDelete = "";
    return conf;
  }
  return true;
}

function emptyCart() {
  var conf = confirm("Opravdu chcete z košíku vymazat všechny položky? Tato operace je nevratná.");
  return conf;
}

function testLogin() {
  var a = document.getElementById("login");
  var b = document.getElementById("heslo");
  if (a.value == "") {
    alert("Chyba: Nezadal(a) jste uživatelské jméno");
    return false;
  } else if (b.value == "") {
    alert("Chyba: Nezadal(a) jste heslo");
    return false;
  }
  return true;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
} 

window.onload = function () {
  adresaDoruceni();
  if (document.getElementById("dodstatid")) {
    testPlatba(document.getElementById("dodstatid").value);
    testDoprava(document.getElementById("dodstatid").value);
  }
  odkryti();
  zobrazKontroluJmena();
  if (document.getElementById("uname")) {
    unameOld = document.getElementById("uname").value;
  }
}