function getDiamondPriceString(price) {

  switch (price) {
    case 1:
      return "1 diamant";

    case 2:
    case 3:
    case 4:
      return price.toString() + " diamanty";

    default:
      return fnumber("s.0", price) + " diamantů";
  }
}




function getShortDiamondPriceString(price) {

  switch (price) {
    case 1:
      return "diamant";

    case 2:
    case 3:
    case 4:
      return "diamanty";

    default:
      return "diamantů";
  }
}




function checkField(rule, obj) {
  
  var l = "";
  if (obj.label != null) {
    if (obj.label.toUpperCase() == obj.label)
      l = " " + obj.label;
    else
      l = " " + obj.label.toLowerCase();
  }
    

  switch (rule) {

    case "required":
      if (jQuery.trim(obj.elem.value) == "") {
        alert("Vstupní údaj" + l + " musí být vyplněn.");
        obj.elem.select();
        obj.elem.focus();
        return false;
      }
      break;

      
    case "passwd":
      if (obj.elem.value == "") {
        alert(obj.label + " nesmí být prázdné.");
        obj.elem.select();
        obj.elem.focus();
        return false;
      }
      if (obj.elem2.value == "") {
        alert(obj.label2 + " nesmí být prázdná.");
        obj.elem2.select();
        obj.elem2.focus();
        return false;
      }
      if (obj.elem.value != obj.elem2.value) {
        alert("Hesla se neshodují.");
        obj.elem.select();
        obj.elem.focus();
        return false;
      }
      break;

      
    case "psc":
      var psc = new RegExp("^[0-9]{5}$");
      if (!psc.test(obj.elem.value)) {
        alert("Nesprávně zadaný údaj" + l + ".");
        obj.elem.select();
        obj.elem.focus();
        return false;
      }
      break;


    case "mail":
      var mail = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$", "i");
      if (!mail.test(obj.elem.value)) {
        alert("Nesprávně zadaný údaj" + l + ".");
        obj.elem.select();
        obj.elem.focus();
        return false;
      }
      break;


    case "int":
      var intre = new RegExp("^[0-9]+$");
      if (!intre.test(obj.elem.value)) {
        alert("Nesprávně zadaný číselný údaj" + l + ".");
        obj.elem.select();
        obj.elem.focus();
        return false;
      }
      break;


    case "cartitem":
      var count = new RegExp("^[0-9]+$");
      if (!count.test(obj.elem.value) || (parseInt(obj.elem.value) < 1)) {
        alert("Nesprávně zadaný počet kusů.");
        obj.elem.select();
        obj.elem.focus();
        return false;
      }
      break;

      
    case "diamonditem":
      var items = parseInt(obj.elem.value);
      if (obj.available < obj.used + items * obj.price) {
        var missing = obj.used + items * obj.price - obj.available;
        alert("K nákupu tohoto zboží Vám chybí " + getDiamondPriceString(missing) + ".");
        obj.elem.select();
        obj.elem.focus();
        return false;
      }
      break;
  }

  return true;
}




function checkForm(form) {
  
  var trim = false;
  var trimTypes = new Array();

  var operations = form.className.split(" ");

  var re = new RegExp("^alert-insufficient-diamonds-([0-9]+)-([0-9]+)-([0-9]+)$");

  for (var i = 0; i < operations.length; i++) {

    var parts = operations[i].split("-");
    if (parts[0] == "trim") {
      trim = true;
      for (var j = 1; j < parts.length; j++)
        trimTypes.push(parts[j]);
    }

    if (operations[i] == "alert-not-registered") {
      alert("Diamantové zboží mohou nakupovat jen registrovaní zákazníci. Prosím, zaregistrujte se. Za registraci získáte 1 diamant.");
      return false;
    }
    
    if (re.test(operations[i])) {
      var str = re.exec(operations[i]);
      var p = parseInt(str[1]);
      var a = parseInt(str[2]);
      var u = parseInt(str[3]);
      var m = u + p - a;
      alert("K nákupu tohoto zboží Vám chybí " + getDiamondPriceString(m) + ".");
      return false;
    }

  }

  
  if (trim) {
    for (var i = 0; i < form.elements.length; i++)
      for (var j = 0; j < trimTypes.length; j++)
        if (form.elements[i].type == trimTypes[j])
          form.elements[i].value = jQuery.trim(form.elements[i].value);
  }
  
  
  for (var i = 0; i < form.elements.length; i++) {

    if (form.elements[i].className != "") {

      var tests = form.elements[i].className.split(" ");
      for (var j = 0; j < tests.length; j++) {
        
        var obj = new Object();
        obj.elem = form.elements[i];
        obj.elem2 = null;
        obj.label = null;
        obj.label2 = null;
        obj.price = null;
        obj.account = null;

        var id = form.elements[i].id;
        var elem = $(form).find("label[for='" + id + "']");
        if ((elem != null) && (elem.length == 1))
          obj.label = $(elem).text();
        elem = $(form).find("#hidden-label-" + id);
        if ((elem != null) && (elem.length == 1))
          obj.label = elem.text();

/*
        var id = form.elements[i].id;
        if ((form.name.constructor == String) && (form.name != "")) {
          var label = $("form[name='" + form.name + "'] label[for='" + id + "']").text();
          if (label != "")
            obj.label = label;
        }
        else if ((form.id.constructor == String) && (form.id != "")) {
          var label = $("#" + form.id + " label[for='" + id + "']").text();
          if (label != "")
            obj.label = label;
        }
*/

        var rule = "notest";
        var parts = tests[j].split("-");
        
        if (parts.length == 1)
          rule = parts[0];
        
        if ((parts.length == 3) && (parts[0] == "ifc")) {
          var index = -1;
          for (var k = 0; k < form.elements.length; k++) {
            if (form.elements[k].name == parts[1]) {
              index = k;
              break;
            }
          }
          if ((index != -1) && (form.elements[index].type == "checkbox") && (form.elements[index].checked))
            rule = parts[2];
        }
        
        if ((parts.length == 4) && (parts[0] == "ifr")) {
          for (var k = 0; k < form.elements.length; k++) {
            if ((form.elements[k].name == parts[1]) && (form.elements[k].type == "radio")
            && (form.elements[k].value == parts[2])  && (form.elements[k].checked)) {
              rule = parts[3];
              break;
            }
          }
        }
        
        if ((parts.length == 2) && (parts[0] == "passwd")) {
          for (var k = 0; k < form.elements.length; k++) {
            if ((form.elements[k].name == parts[1]) && (form.elements[k].type == "password")) {
              rule = "passwd";
              obj.elem2 = form.elements[k];
              id = form.elements[k].id;
              var label = $(form).find("label[for='" + id + "']").text();
              if (label != null)
                obj.label2 = label;
              break;
            }
          }
        }

        if ((parts.length == 4) && (parts[0] == "diamonditem")) {
          rule = "diamonditem";
          obj.price = parseInt(parts[1]);
          obj.available = parseInt(parts[2]);
          obj.used = parseInt(parts[3]);
        }

/*        
        if (obj.elem2 == null) {
          obj.elem2 = new Object ();
          obj.elem2.value = new String("");
        }  
        alert(form.elements[i].name + "(" + tests[j] + ") => " + rule + ", value => " + obj.elem.value + ", value2 => " + obj.elem2.value + ", label => " + obj.label);
*/        
        
        if ((rule != "notest") && (!checkField(rule, obj)))
          return false;

      }

    }

  }  
  
  return true;
    
}




function xurl(str, name, value) {

  value = encodeURIComponent(value);

  var i = str.indexOf("?" + name + "=");
  var j = str.indexOf("&" + name + "=");

  if ((i == -1) && (j == -1)) {
    if (str.indexOf("?") == -1)
      return str + "?" + name + "=" + value;
    else
      return str + "&" + name + "=" + value;
  }

  if (i != -1) {
    var par = "?" + name + "=";
  }
  else {
    var par = "&" + name + "=";
    i = j;
  }

  k = str.indexOf("&", i + 1);

  if (k == -1)
    return str.substr(0, i) + par + value;
  else
    return str.substr(0, i) + par + value + str.substr(k);

}




function fnumber(f, n) {

  var format = "s.2";
  
  if (f.length >= 3)
    format = f.substr(0, 3);
  else {
    var l = f.length;
    format = f.concat(format.substr(l, 3 - l));
  }
  
  var thousandsSeparator = format.charAt(0);
  var decimalPoint = format.charAt(1);
  var decimals = format.charAt(2);
  
  if (thousandsSeparator == "s")
   thousandsSeparator = " ";
  if (thousandsSeparator == "n")
    thousandsSeparator = "";

  var str = (new Number(n)).toFixed(decimals).replace(".", decimalPoint);
  var i = str.indexOf(".");
  if (i == -1)
    i = str.length;
  var j = 0;
  while (i > 0) {
    if ((j > 0) && (j % 3 == 0))
      str = str.substr(0, i) + thousandsSeparator + str.substr(i);
    i--;
    j++;
  }
  
  return str;
}




function getFeesAndTotal(state, transport, payment) {

  if (state == 0) {
    var limit = parseInt($("#pblimit").text());
    var post = parseInt($("#postovneddph").text());
    if (payment == 2)
      post = parseInt($("#postovnepdph").text());
  }
  else {
    var limit = parseInt($("#pblimitsk").text());
    var post = parseInt($("#postovneddphsk").text());
    if (payment == 2)
      post = parseInt($("#postovnepdphsk").text());
  }

  var pack = parseInt($("#balneddph").text());
  if (payment == 2)
    pack = parseInt($("#balnepdph").text());

  var shortDiscount = 0;
  items = $(".discount-border")
  if (items.length > 0)
    shortDiscount = parseInt($(".short-discount").text().replace(" ", ""));

//  var sum = parseInt($(".money-sum").text().replace(" ", "")) + parseInt($(".short-discount").text().replace(" ", ""));
  var sum = parseInt($(".money-sum").text().replace(" ", "")) + shortDiscount;
  if ((sum < limit) && (transport != 2) && (payment != 3)) {
    var total = post + pack + sum;
  }
  else {
    post = 0;
    pack = 0;
    var total = sum;
  }

  return new Array(post, pack, total);
}




function updateCart() {

  if ($(".post").length > 0) {

/*
  if ($("#da").attr("checked"))
    var state = $("#dstat").attr("selectedIndex");
  else
    var state = $("#stat").attr("selectedIndex");
*/

    if (document.getElementById("da").checked)
      var state = document.getElementById("dstat").selectedIndex;
    else
      var state = document.getElementById("stat").selectedIndex;
      
    var weight = parseInt($("#weight").text());
    var heavyItem = parseInt($("#heavyitem").text());
    var weightLimit = parseInt($("#vahalimit").text());

    var transport = 1;
    if (document.getElementById("doprava_1").checked)
      transport = 2;
    if (document.getElementById("doprava_2").checked)
      transport = 3;

    var payment = 1;
    if (document.getElementById("vyrizeni_1").checked)
      payment = 2;
    if (document.getElementById("vyrizeni_2").checked)
      payment = 3;
      
    var postAvailable = true;
    if (heavyItem == 1)
      postAvailable = false;
    if (weight >= weightLimit)
      postAvailable = false;
    if (state == 1)
      postAvailable = false;
      
    var pplAvailable = false;
    if (heavyItem == 1)
      pplAvailable = true;
    if (weight >= weightLimit)
      pplAvailable = true;
    if (state == 1)
      pplAvailable = true;
      
    var codAvailable = true;
    if (state == 1)
      codAvailable = false;

    if (transport == 1) {
      if (!postAvailable) {
        transport = 3;
        document.getElementById("doprava_2").checked = true;
        $(".itransport").text("PPL");
      }
      if (payment == 3) {
        if (codAvailable) {
          payment = 1;
          document.getElementById("vyrizeni_0").checked = true;
          $(".ipayment").text("dobírkou");
        }
        else {
          payment = 2;
          document.getElementById("vyrizeni_1").checked = true;
          $(".ipayment").text("převodem");
        }
      }
      else if ((payment == 1) && !codAvailable) {
        payment = 2;
        document.getElementById("vyrizeni_1").checked = true;
        $(".ipayment").text("převodem");
      }
    }
    else if (transport == 2) {
      if (payment == 1) {
        payment = 3;
        document.getElementById("vyrizeni_2").checked = true;
        $(".ipayment").text("hotově");
      }
    }
    else if (transport == 3) {
      if (!pplAvailable) {
        transport = 1;
        document.getElementById("doprava_0").checked = true;
        $(".itransport").text("Česká pošta");
      }
      if (payment == 3) {
        if (codAvailable) {
          payment = 1;
          document.getElementById("vyrizeni_0").checked = true;
          $(".ipayment").text("dobírkou");
        }
        else {
          payment = 2;
          document.getElementById("vyrizeni_1").checked = true;
          $(".ipayment").text("převodem");
        }
      }
      else if ((payment == 1) && !codAvailable) {
        payment = 2;
        document.getElementById("vyrizeni_1").checked = true;
        $(".ipayment").text("převodem");
      }
    }

/*
    if (state == 0) {
      var limit = parseInt($("#pblimit").text());
      var post = parseInt($("#postovneddph").text());
      if (payment == 2)
        post = parseInt($("#postovnepdph").text());
    }
    else {
      var limit = parseInt($("#pblimitsk").text());
      var post = parseInt($("#postovneddphsk").text());
      if (payment == 2)
        post = parseInt($("#postovnepdphsk").text());
    }

    var pack = parseInt($("#balneddph").text());
    if (payment == 2)
      pack = parseInt($("#balnepdph").text());

    var sum = parseInt($(".money-sum").text().replace(" ", ""));
    if ((sum < limit) && (transport != 2) && (payment != 3)) {
      var total = post + pack + sum;
    }
    else {
      post = 0;
      pack = 0;
      var total = sum;
    }
*/

    var ft = getFeesAndTotal(state, transport, payment);
    var post = ft[0];
    var pack = ft[1];
    var total = ft[2];

    $(".post").text(fnumber("s.2", post));
    $(".pack").text(fnumber("s.2", pack));
    $(".total").text(fnumber("s.2", total));

    $(".ipost").html(fnumber("s.0", post).replace(/ /g, "&nbsp;"));
    $(".ipack").html(fnumber("s.0", pack).replace(/ /g, "&nbsp;"));
    $(".itotal").html(fnumber("s.0", total).replace(/ /g, "&nbsp;"));


    if (postAvailable)
      $("#doprava_0").attr("disabled", false);
    else
      $("#doprava_0").attr("disabled", true);

    if (pplAvailable)
      $("#doprava_2").attr("disabled", false);
    else
      $("#doprava_2").attr("disabled", true);


    switch (transport) {
      case 1:
      case 3:
        if (state == 0)
          $("#vyrizeni_0").attr("disabled", false);
        else if (state == 1)
          $("#vyrizeni_0").attr("disabled", true);
  //      $("#vyrizeni_1").attr("disabled", true);
        $("#vyrizeni_1").attr("disabled", false);
        $("#vyrizeni_2").attr("disabled", true);
        break;

      case 2:
        $("#vyrizeni_0").attr("disabled", true);
  //      $("#vyrizeni_1").attr("disabled", true);
        $("#vyrizeni_1").attr("disabled", false);
        $("#vyrizeni_2").attr("disabled", false);
        break;
    }

  }
  

  else if (($(".post").length == 0) && ($(".itotal").length == 1)) {

    var state = parseInt($("#state").text());
    var transport = parseInt($("#transport").text());
    var payment = parseInt($("#payment").text());

    var weight = parseInt($("#weight").text());
    var heavyItem = parseInt($("#heavyitem").text());
    var weightLimit = parseInt($("#vahalimit").text());

    var ft = getFeesAndTotal(state, transport, payment);

    $(".ipost").html(fnumber("s.0", ft[0]).replace(/ /g, "&nbsp;"));
    $(".ipack").html(fnumber("s.0", ft[1]).replace(/ /g, "&nbsp;"));
    $(".itotal").html(fnumber("s.0", ft[2]).replace(/ /g, "&nbsp;"));

    if ((transport == 1) || (transport == 3)) {
      var transportText = "Česká pošta";
      if (weight >= weightLimit)
        transportText = "PPL";
      if (heavyItem)
        transportText = "PPL";
      $(".itransport").text(transportText);
    }
  }
  
  
  if (($(".money-sum").length > 0) && ($(".presents").length > 0)) {

    var sum = parseInt($(".money-sum").text().replace(" ", ""));
    var divisor = parseInt($("#darekdelitel").text());
    var presentsLimit = parseInt($("#dareklimit").text());

    if (divisor > 0) {
      var presents = Math.floor(sum / divisor);
      if ((presentsLimit > 0) && (presents > presentsLimit))
        presents = presentsLimit;
      if (presents > 0)
        $(".present-row").removeClass("nodisplay");
      else
        $(".present-row").addClass("nodisplay");
      $(".presents").text(fnumber("s.0", presents));
    }

  }
  

  if ($(".diamond-sum").length > 0) {
  
    var sum = parseInt($(".diamond-sum").text().replace(" ", ""));
    var available = parseInt($("#pkzbyva").text().replace(" ", ""));
  
    var free = available - sum;
    if (free < 0)
      free = 0;

    if ($(".diamond-free").length > 0)
      $(".diamond-free").text(fnumber("s.0", free));
      $(".diamond-free-string").text(getShortDiamondPriceString(free));
  }
  
  
  if (($(".money-sum").length > 0) && ($("#pkdelitel").text() != "") && (parseInt($("#pkdelitel").text()) != 0)) {
    var moneySum = parseInt($(".money-sum").text().replace(" ", ""));
    var shortDiscount = 0;
    items = $(".discount-border")
    if (items.length > 0)
      shortDiscount = parseInt($(".short-discount").text().replace(" ", ""));
    var divisor = parseInt($("#pkdelitel").text());
    
    var profit = Math.floor((moneySum + shortDiscount)/ divisor);
//    var moneyIncrease = (profit + 1) * divisor - moneySum;
//    var higherProfit = profit + 1;

    if (profit == 0) {
      $(".tip").addClass("nodisplay");
    }
    else {
      $(".diamond-profit").text(getDiamondPriceString(profit));
      $(".tip").removeClass("nodisplay");
    }

//    $(".money-increase").text(fnumber("s.0", moneyIncrease));
//    $(".higher-diamond-profit").text(getDiamondPriceString(higherProfit));

  }

}




$(document).ready(function() {

  $("a.rollover").bind("mouseover", function() {
    $(this).children().css("background-position", "bottom left");
  });

  $("a.rollover").bind("mouseout", function() {
    $(this).children().css("background-position", "top left");
  });




  $("input.big, input.mini, input.small, input.wide, input.double").bind("mouseover", function() {
    $(this).css("background-position", "bottom left");
  });

  $("input.big, input.mini, input.small, input.wide, input.double").bind("mouseout", function() {
    $(this).css("background-position", "top left");
  });




  $("img.popup,img.border-highlight").bind("mouseover", function() {
    $(this).css("border-color", "#a01442");
    this.style.cursor = "pointer";
  });

  $("img.popup,img.border-highlight").bind("mouseout", function() {
/*
    if ($(this).parent().hasClass('active'))
      $(this).css("border-color", "black");
    else
      $(this).css("border-color", "#d7d7d7");
*/
    $(this).css("border-color", "#d7d7d7");
    this.style.cursor = "auto";
  });

  $("img.popup").bind("click", function() {
    var i = $("img.popup").index(this);
//    var t = $("div#images span").eq(i).html();
    var t = $("span.popup-data").eq(i).html();
    var info = t.split("_");

    var url = xurl("detail.php", "image", this.src);
    url = xurl(url, "item", info[0]);

    var width = parseInt(info[2]) + 70;
    var height = parseInt(info[3]) + 70;

    var win = window.open(url, info[1], "history=no,toolbar=0,location=0,directories=0,status=0,menubar=0"
      + ",scrollbars=no,resizable=no,width=" + width + ",height=" + height);
    win.focus();
  });




  $("a.popup").bind("click", function() {

    var name = "popup" + $("a.popup").index(this).toString();
    var url = $(this).attr("href");
    var content = $(this).text();
    
    var parameters = "";
    var tags = $(this).prev();
    if ((tags.length == 1) && ($(tags[0]).hasClass("popup-parameters"))) {
      parameters = $(tags[0]).text();
      parameters = parameters.replace("_siwin", "history=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no");
    }

    var win = window.open(url, name, parameters);
    win.focus();
    
    return false;
  });

  

  
  $("img.click-close").bind("mouseover", function() {
    this.style.cursor = "pointer";
  });

  $("img.click-close").bind("mouseout", function() {
    this.style.cursor = "auto";
  });

  $("img.click-close").bind("click", function() {
    var o = window.opener;
    window.close();
    o.focus();
  });



  
  $(":checkbox").each(function () {

    $(this).bind("click", function() {
      var c = ".onc-" + this.name + "-active";
      if (this.checked) {
        $(":input").filter(c).attr("disabled", false);
        $(":input").filter(c).css("background-color", "white");
      }
      else {
        $(":input").filter(c).attr("disabled", true);
//        $(":input").filter(c).attr("disabled", "disabled");
        $(":input").filter(c).css("background-color", "#ebebeb");
        $(":text,:password,textarea").filter(c).attr("value", "");
      }
      updateCart();
    });

    var c = ".onc-" + this.name + "-active";
    if (this.checked) {
      $(":input").filter(c).attr("disabled", false);
//      $(":input").filter(c).css("background-color", "transparent");
      $(":input").filter(c).css("background-color", "white");
    }
    else {
      $(":input").filter(c).attr("disabled", true);
//      $(":input").filter(c).attr("disabled", "disabled");
      $(":input").filter(c).css("background-color", "#ebebeb");
    }

  });
  
  
  
  
  $("select").bind("change", function(e) {
    updateCart();
  });
  
  $(":radio").bind("click", function(e) {
    switch ($(this).attr("id")) {
      case "doprava_0": $(".itransport").text("Česká pošta"); break;
      case "doprava_1": $(".itransport").text("osobní odběr"); break;
      case "doprava_2": $(".itransport").text("PPL"); break;
      case "vyrizeni_0": $(".ipayment").text("dobírkou"); break;
      case "vyrizeni_1": $(".ipayment").text("převodem"); break;
      case "vyrizeni_2": $(".ipayment").text("hotově"); break;
    }
    updateCart();
  });




  $(".auto-recount").bind("keyup", function(e) {

    var index = $(".auto-recount").index(this);

    var itemPrice = parseInt($("td.iprice").eq(index).text().replace(" ", ""));
    var itemWeight = parseInt($("td.iweight").eq(index).text());
    var count = 0;
    if (/^ *[0-9]+ *$/.test(this.value))
      count = parseInt(this.value);
    var totalPrice = itemPrice * count;
    var totalWeight = itemWeight * count;

    if ($("td.tprice").eq(index).hasClass("money-item")) {
//      $("td.tprice").eq(index).text(totalPrice.toFixed(2));
      $("td.tprice").eq(index).text(fnumber("s.2", totalPrice));
      var items = $("td.money-item");
      var sum = 0;
      var discountSum = 0;
      for (i = 0; i < items.length; i++) {
        var val = parseInt($(items[i]).text().replace(" ", ""));
        sum += val;
        if ($(items[i]).hasClass("discount-item"))
          discountSum += val;
      }
      $(".discount-sum").text(fnumber("s.0", discountSum));

      var discountCode = "";
      var discountLimit = 0;
      var discountPercentage = 0;
      var discountValue = 0;
      items = $(".discount-border")
      
      if (items.length > 0) {
        for (i = 0; i < items.length; i++) {
          var l = parseInt($(items[i]).text());
          if (discountSum >= l) {
            discountCode = $(".discount-code").eq(i).text();
            discountLimit = l;
            discountPercentage = parseFloat($(".discount-percentage").eq(i).text());
          }
        }

        var discountValue = -Math.round(0.01 * discountPercentage * discountSum);
//        sum += discountValue;

        $(".discount-value").text(fnumber("s.2", discountValue));
        $(".short-discount").text(fnumber("s.2", discountValue));
        $(".idiscount-value").html(fnumber("s.0", discountValue).replace(/ /g, "&nbsp;"));

        if (discountValue < 0) {
//        $(".discount-catalog-code").text(discountCode);
          $(".discount-catalog-code").text("„" + discountCode + "”");
          var name = $("#slevatext").text();
          name = name.replace("##proc##", fnumber("s.1", discountPercentage));
          name = name.replace("##limit##", fnumber("s.0", discountLimit));
          name = name.replace("##zaklad##", fnumber("s.0", discountSum));
          $(".discount-name").text(name);
          $(".discount-count").text("1");
        }
        else {
          $(".discount-catalog-code").text("");
          $(".discount-name").text($("#bezslevytext").text());
          $(".discount-count").text("0");
        }
      }


      $(".money-sum").text(fnumber("s.2", sum));
      $(".imoney-sum").html(fnumber("s.0", sum).replace(/ /g, "&nbsp;"));

      if (items.length > 0) {
        var sumgd = sum + discountValue;
        $(".sumgd").text(fnumber("s.2", sumgd));
      }

    }

    else if ($("td.tprice").eq(index).hasClass("diamond-item")) {
      $("td.tprice").eq(index).text(totalPrice);
      var items = $("td.diamond-item");
      var sum = 0;
      for (i = 0; i < items.length; i++)
        sum += parseInt($(items[i]).text().replace(" ", ""));
      $(".diamond-sum").text(fnumber("s.0", sum));
    }

    $("td.tweight").eq(index).text(fnumber("s.2", 0.001 * totalWeight));

    var weight = 0;
    var counts = $("td.count :text");
    for (i = 0; i < counts.length; i++) {
      if (counts[i].value == "1*")
        weight += parseInt($("td.iweight").eq(i).text());
      else if (/^ *[0-9]+ *$/.test(counts[i].value))
        weight += parseInt(counts[i].value) * parseInt($("td.iweight").eq(i).text());
    }
    $("#weight").text(weight);


    var info = $(".auto-recount").map(function() {
      return jQuery.trim($(this).val().replace("*", ""));
    }).get().join(";");

    $("a").each(function (i) {
      this.href = xurl(this.href, "change", info);
    });

    $("form").each(function (i) {
      this.action = xurl(this.action, "change", info);
    });
    
    updateCart();

  });
  
  

  
  $("#buyButton").bind("click", function() {

    var dlimit = parseInt($("#pkobjlimit").text());
    var slimit = parseInt($("#nlimitsk").text());


    var sum = parseInt($(".money-sum:first").text().replace(" ", ""));

    if ((sum == 0) && ($(".money-sum").length == 1) && ($(".diamond-sum").length == 0)) {
      alert("Nákupní košík je prázdný.");
      return false;
    }

    if ((sum == 0) && ($(".money-sum").length == 1) && ($(".diamond-sum").length == 1)) {
      alert("Nákup zboží za diamanty je možný pouze, pokud cena zboží přesáhne " + dlimit + " Kč.");
      return false;
    }


/*
    if ($("#da").attr("checked"))
      var state = $("#dstat").attr("selectedIndex");
    else
      var state = $("#stat").attr("selectedIndex");
*/

    if (document.getElementById("da").checked)
      var state = document.getElementById("dstat").selectedIndex;
    else
      var state = document.getElementById("stat").selectedIndex;


    if ((state == 1) && (sum < slimit)) {
      alert("Při zaslání objednávky na Slovensko je nutné objednat zboží v minimální hodnotě " + slimit + " Kč.");
      return false;
    }


    if ($(".diamond-sum").length > 0) {
      var diamondSum = parseInt($(".diamond-sum").text().replace(" ", ""));
      var availableDiamonds = parseInt($("#pkzbyva").text());
      if (diamondSum > 0) {
        if (availableDiamonds == -1) {
          alert("Diamantové zboží mohou nakupovat jen registrovaní zákazníci. Prosím, zaregistrujte se. Za registraci získáte 1 diamant.");
          return false;
        }
        else if (diamondSum > availableDiamonds) {
          var m = diamondSum - availableDiamonds;
          alert("K nákupu tohoto zboží Vám chybí " + getDiamondPriceString(m) + ".");
          return false;
        }
        if (sum < dlimit) {
          alert("Nákup zboží za diamanty je možný pouze, pokud cena zboží přesáhne " + dlimit + " Kč.");
          return false;
        }
      }
    }

    
    var transport = 1;
    if (document.getElementById("doprava_1").checked)
      transport = 2;
    else if (($("#doprava2").length > 0) && document.getElementById("doprava_2").checked)
      transport = 3;

    var payment = 1;
    if (document.getElementById("vyrizeni_1").checked)
      payment = 2;
    if (document.getElementById("vyrizeni_2").checked)
      payment = 3;
      
    if ((state == 1) && (payment == 1)) {
      alert("Objednávku na Slovensko nelze zaslat na dobírku.");
      return false;
    }
      
    if ((transport == 1) && (payment == 3)) {
      alert("Objednávku přepravovanou Českou poštou nelze platit hotově. Objednávku je možné platit dobírkou nebo bankovním převodem.");
      return false;
    }
    else if ((transport == 2) && (payment == 1)) {
      alert("Objednávku předávanou osobním odběrem nelze platit dobírkou. Objednávku je možné platit bankovním převodem nebo hotově.");
      return false;
    }
    else if ((transport == 3) && (payment == 3)) {
      alert("Objednávku přepravovanou dopravou MinasGerais nelze platit hotově. Objednávku je možné platit dobírkou nebo bankovním převodem.");
      return false;
    }


    var form = document.getElementById("cart");
    if (!checkForm(form))
       return false;


    var total = $(".total").text();
    return confirm("Potvrdit objednávku? Celková cena objednávky bude " + total + " Kč.")

  });
  



  $("#answerButton").bind("click", function() {

/*
    var logged = parseInt($("#logged").text());

    if (!logged) {
      alert("Pro účast v soutěži je nutné se zaregistrovat.");
      return false;
    }
*/

    var form = document.getElementById("answer");
    if (!checkForm(form))
       return false;

    return confirm("Odeslat zadanou odpověď?");

  });

  
 

  $("form.submit-check").bind("submit", function() {
    return checkForm(this);
  });

  
  
  
  if ($(".post").length > 0) {

    if (document.getElementById("da").checked)
      var state = document.getElementById("dstat").selectedIndex;
    else
      var state = document.getElementById("stat").selectedIndex;

    var weight = parseInt($("#weight").text());
    var heavyItem = parseInt($("#heavyitem").text());
    var weightLimit = parseInt($("#vahalimit").text());

    var transport = 1;
    if (document.getElementById("doprava_1").checked)
      transport = 2;
    if (document.getElementById("doprava_2").checked)
      transport = 3;

    var payment = 1;
    if (document.getElementById("vyrizeni_1").checked)
      payment = 2;
    if (document.getElementById("vyrizeni_2").checked)
      payment = 3;

    var postAvailable = true;
    if (heavyItem == 1)
      postAvailable = false;
    if (weight >= weightLimit)
      postAvailable = false;
    if (state == 1)
      postAvailable = false;

    var pplAvailable = false;
    if (heavyItem == 1)
      pplAvailable = true;
    if (weight >= weightLimit)
      pplAvailable = true;
    if (state == 1)
      pplAvailable = true;

    var codAvailable = true;
    if (state == 1)
      codAvailable = false;

    if (transport == 1) {
      if (!postAvailable) {
        transport = 3;
        document.getElementById("doprava_2").checked = true;
        $(".itransport").text("PPL");
      }
      if (payment == 3) {
        if (codAvailable) {
          payment = 1;
          document.getElementById("vyrizeni_0").checked = true;
          $(".ipayment").text("dobírkou");
        }
        else {
          payment = 2;
          document.getElementById("vyrizeni_1").checked = true;
          $(".ipayment").text("převodem");
        }
      }
      else if ((payment == 1) && !codAvailable) {
        payment = 2;
        document.getElementById("vyrizeni_1").checked = true;
        $(".ipayment").text("převodem");
      }
    }
    else if (transport == 2) {
      if (payment == 1) {
        payment = 3;
        document.getElementById("vyrizeni_2").checked = true;
        $(".ipayment").text("hotově");
      }
    }
    else if (transport == 3) {
      if (!pplAvailable) {
        transport = 1;
        document.getElementById("doprava_0").checked = true;
        $(".itransport").text("Česká pošta");
      }
      if (payment == 3) {
        if (codAvailable) {
          payment = 1;
          document.getElementById("vyrizeni_0").checked = true;
          $(".ipayment").text("dobírkou");
        }
        else {
          payment = 2;
          document.getElementById("vyrizeni_1").checked = true;
          $(".ipayment").text("převodem");
        }
      }
      else if ((payment == 1) && !codAvailable) {
        payment = 2;
        document.getElementById("vyrizeni_1").checked = true;
        $(".ipayment").text("převodem");
      }
    }


    if (postAvailable)
      $("#doprava_0").attr("disabled", false);
    else
      $("#doprava_0").attr("disabled", true);

    if (pplAvailable)
      $("#doprava_2").attr("disabled", false);
    else
      $("#doprava_2").attr("disabled", true);


    switch (transport) {
      case 1:
      case 3:
        if (state == 0)
          $("#vyrizeni_0").attr("disabled", false);
        else if (state == 1)
          $("#vyrizeni_0").attr("disabled", true);
  //      $("#vyrizeni_1").attr("disabled", true);
        $("#vyrizeni_1").attr("disabled", false);
        $("#vyrizeni_2").attr("disabled", true);
        break;

      case 2:
        $("#vyrizeni_0").attr("disabled", true);
  //      $("#vyrizeni_1").attr("disabled", true);
        $("#vyrizeni_1").attr("disabled", false);
        $("#vyrizeni_2").attr("disabled", false);
        break;
    }

  }

});

