recount_value = function(id, price) {
  var quantity = document.getElementById('quantity_' + id);
  if (!isInteger(quantity.value) && quantity.value != "") {
    alert('Niepoprawna wartość. Podaj liczbę.');
    return false;
  }
  var priceDiv = document.getElementById('price_' + id);
  priceDiv.innerHTML = number_format(quantity.value*price, 2, ',', ' ') + ' PLN';
}
submit = function (name) {
	document.forms[name].submit();
}
disableEnable = function () {
  // disableEnableById('billing_name', tablica.name, tablica_object.name);
  disableEnableById('billing_name', 
		  document.getElementById('address_name').value, 
		  document.getElementById('billing_name').value);
  // disableEnableById('billing_surname', tablica.surname, tablica_object.surname);
  disableEnableById('billing_surname', 
		  document.getElementById('address_surname').value, 
		  document.getElementById('billing_surname').value);  
  // disableEnableById('billing_firm_name', tablica.firm_name, tablica_object.firm_name);
  disableEnableById('billing_firm_name', 
		  document.getElementById('address_firm_name').value, 
		  document.getElementById('billing_firm_name').value);
  // disableEnableById('billing_street', tablica.street, tablica_object.street);
  disableEnableById('billing_street', 
		  document.getElementById('address_street').value, 
		  document.getElementById('billing_street').value);
  // disableEnableById('billing_city', tablica.city, tablica_object.city);
  disableEnableById('billing_city', 
		  document.getElementById('address_city').value, 
		  document.getElementById('billing_city').value);
  // disableEnableById('billing_zip_code', tablica.zip_code, tablica_object.zip_code);
  disableEnableById('billing_zip_code', 
		  document.getElementById('address_zip_code').value, 
		  document.getElementById('billing_zip_code').value);  
}
disableEnableById = function (id_name, new_value, new_value_object) {
  if (document.getElementById('that_same').checked == true) {
    document.getElementById(id_name).disabled = true;
    document.getElementById(id_name).value = new_value;
    document.getElementById('hidden_that_same').value = 1;
  } else {
    document.getElementById(id_name).disabled = false;
    document.getElementById(id_name).value = new_value_object;
    document.getElementById('hidden_that_same').value = 0;
  }
}
enableFax = function () {
  document.getElementById("fax").disabled = false;
}
disableFax = function () {
  document.getElementById("fax").disabled = true;
}
enableGift = function () {
  document.getElementById("gift_name").disabled = false;
  document.getElementById("gift_surname").disabled = false;
  document.getElementById("gift_firm_name").disabled = false;
  document.getElementById("gift_street").disabled = false;
  document.getElementById("gift_city").disabled = false;
  document.getElementById("gift_zip_code").disabled = false;
}
disableGift = function () {
  document.getElementById("gift_name").disabled = true;
  document.getElementById("gift_surname").disabled = true;
  document.getElementById("gift_firm_name").disabled = true;
  document.getElementById("gift_street").disabled = true;
  document.getElementById("gift_city").disabled = true;
  document.getElementById("gift_zip_code").disabled = true;
}
function number_format (number, decimals, dec_point, thousands_sep) {
  var exponent = "";
  var numberstr = number.toString ();
  var eindex = numberstr.indexOf ("e");
  if (eindex > -1)
  {
    exponent = numberstr.substring (eindex);
    number = parseFloat (numberstr.substring (0, eindex));
  }
  
  if (decimals != null)
  {
    var temp = Math.pow (10, decimals);
    number = Math.round (number * temp) / temp;
  }
  var sign = number < 0 ? "-" : "";
  var integer = (number > 0 ? 
      Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
  
  var fractional = number.toString ().substring (integer.length + sign.length);
  dec_point = dec_point != null ? dec_point : ".";
  fractional = decimals != null && decimals > 0 || fractional.length > 1 ? 
               (dec_point + fractional.substring (1)) : "";
  if (decimals != null && decimals > 0)
  {
    for (i = fractional.length - 1, z = decimals; i < z; ++i)
      fractional += "0";
  }
  
  thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? 
                  thousands_sep : null;
  if (thousands_sep != null && thousands_sep != "")
  {
	for (i = integer.length - 3; i > 0; i -= 3)
      integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
  }
  
  return sign + integer + fractional + exponent;
}
function isInteger (s) {
      var i;

      if (isEmpty(s))
      if (isInteger.arguments.length == 1) return 0;
      else return (isInteger.arguments[1] == true);

      for (i = 0; i < s.length; i++)
      {
         var c = s.charAt(i);

         if (!isDigit(c)) return false;
      }

      return true;
}
function isEmpty(s) {
      return ((s == null) || (s.length == 0))
}

function isDigit (c) {
      return ((c >= "0") && (c <= "9"))
}
