function round2 (x) {
  return Math.round(x*100)/100;
}

function upd_total(total1, total2, msg, cur) {
  var p1 = round2(total1);
  document.tests.sum1.value = p1*1;
  var p2 = round2(total2);
  document.tests.sum2.value = p2*1;
  var p = round2(p1 + p2);
  document.tests.sum.value = p*1;
  self.status = msg+': '+p+' '+cur+'.';
}

function check1(name, sum, msg, cur) {
  var total1 = parseFloat(document.tests.sum1.value);
  var total2 = parseFloat(document.tests.sum2.value);
  if(document.tests.elements[name].checked) {
     total1 = total1 + sum;
  } else {
     total1 = total1 - sum;
  }
  upd_total(total1, total2, msg, cur);
} 

function check2(id, sum, msg, cur) {
  var total1 = parseFloat(document.tests.sum1.value);
  var total2 = parseFloat(document.tests.sum2.value);
  if(document.tests.elements['TEST2.'+id].checked) {
     if(document.tests.elements['TEST1.'+id].checked) {
       document.tests.elements['TEST1.'+id].checked = false;
       var sum1 = parseFloat(document.tests.elements['TEST1.'+id].value);
       total1 = total1 - sum1;
     }
     document.tests.elements['TEST1.'+id].disabled = true;
     total2 = total2 + sum;
  } else {
     document.tests.elements['TEST1.'+id].disabled = false;
     total2 = total2 - sum;
  }
  upd_total(total1, total2, msg, cur);
} 
