function calc_sum(form, SenderID) {

  var count, countUpgrade, maxCount, pricePerOne;
  var product = form.platforma.value; 

  switch (SenderID) {
    case 'chb': // sleva pro fyzicke osoby
      form.count.value = 1;
      pricePerOne = ((form.fyz_osoba.checked) ? price(product, 0) : price(product, 1));
      count = 1;
    break;
    case 'num': // cena pro firmy

      count = parseInt(form.count.value);
      count = (count < 1) ? 0 : count;
      countUpgrade = parseInt(form.count_upgrade.value);
      countUpgrade = (countUpgrade < 1) ? 0 : countUpgrade;
      maxCount = (count > countUpgrade) ? count : countUpgrade;

      form.fyz_osoba.checked = false;
      pricePerOne = (count < 1) ? 0 : price(product, maxCount); 
      // pokud je pocet 0, cena je 0 jinak viz cenik

      pricePerOne = (pricePerOne*count < price(product, 1))
        ? price(product, 1) : pricePerOne;
      // cena za vsechny nove licence 
      // musi byt vetsi nez cena 1 licence

    break;
  }

  form.morekeys.disabled = (form.count.value <= 1);

  form.price_per_1.value   = pados(pricePerOne);
  form.price_total.value   = pados(pricePerOne * count);
  form.price_total_d.value = pados(pricePerOne * count * 1.20);

}

function pados(penez) {
  return Math.round(penez);
}

function check_all(formObj) {
  var i, field;
  var errormsg = '';
  for (var i=0;i < formObj.length;i++){
    fldObj = formObj.elements[i]; 
    switch(fldObj.name) {
      case 'jmeno':
        errormsg += (fldObj.value.length < 3) ? "Jméno nebo název společnosti\n" : "";
      break;
      case 'adresa':
        errormsg += (fldObj.value.length < 3) ? "PSČ, město\n" : "";
      break;
      case 'email':
        errormsg += (!fldObj.value.match('^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$')) ? "E-mail\n" : "";
      break;
      default:
      break;
    }
  }

  if (errormsg.length > 0) {
    result = confirm("Je možné, že některé položky nejsou správně vyplněné, zkontrolujte prosím položky:\n\n"+errormsg+"\nPokud chcete údaje opravit klikněte na tlačítko \"Storno\".\n");
    return result;
  }
  return true; 

}

function showonly(form, hid) {
  var i;
  var which;

  for (i = 1; i <= form.hcount.value; i++) {
    which = document.getElementById('h'+i);
    which.style.display="none";
  }
  which = document.getElementById(hid);
  which.style.display="inline";
}

function setCookie(name,value,expires,path,domain,secure) { 
    var cookieString = name + "=" +escape(value) + 
       ( (expires) ? ";expires=" + expires.toGMTString() : "") + 
       ( (path) ? ";path=" + path : "") + 
       ( (domain) ? ";domain=" + domain : "") + 
       ( (secure) ? ";secure" : ""); 
    document.cookie = cookieString; 
} 

function saveForm(formObj){
  var fldObj;

  var str = '';

  for (var i=0;i < formObj.length;i++){
    fldObj = formObj.elements[i]; 
    if ((fldObj.type == 'submit' ) || (fldObj.type == 'reset')) { // neukladat: 'submit' a 'reset'
    } else if (fldObj.type == 'checkbox') {
//      str += '(checkbox)'+fldObj.name+ ': '+ (fldObj.checked ? 'true' : 'false') +'\n' ;
      setCookie(fldObj.name, (fldObj.checked ? 'true' : 'false'));
    } else { 
//      str += '('+fldObj.type+')' + fldObj.name+': ' + fldObj.value+'\n';
      
      setCookie(fldObj.name, fldObj.value);
    }
  }
//  alert(str);          
}
