function recompute() {
  var workdays = 235;
  var monthdays = Math.round(workdays / 12);

  var roiform = document.roiform;

  var nemp = roiform.employees.value; // employees
  var cpem = nemp > 100 ? 1.75 : 2.00;  // cost per employee per month
	
  var spams = Math.round(roiform.emails.value * roiform.spampct.value / 100.0);
  var ssalary = roiform.salary.value / (workdays * 8 * 3600); // per second

  var wtp = spams * roiform.readtime.value * workdays / 3600;
  var wte = wtp * nemp;
  roiform.wtp.value = new Number(wtp).toFixed(1) + ' hours';
  roiform.wte.value = new Number(wte).toFixed(1) + ' hours';

  var dlsp = (spams * roiform.readtime.value) * ssalary;
  var dlse = dlsp * nemp;
  roiform.dlsp.value = '$' + new Number(dlsp).toFixed(2);
  roiform.dlse.value = '$' + new Number(dlse).toFixed(2);

  var mlsp = dlsp * monthdays;
  var mlse = dlse * monthdays;
  roiform.mlsp.value = '$' + new Number(mlsp).toFixed(2);
  roiform.mlse.value = '$' + new Number(mlse).toFixed(2);

  var filtercost = 54.95;
  var additionalCost = 0;
  if(nemp >= 11 && nemp <=25) {
	  additionalCost = (nemp - 10) * 1.6;
  }
  else if(nemp >= 26 && nemp <= 50) {
	  additionalCost = (nemp - 10) * 1.55;
  }
  else if(nemp >= 51 && nemp <= 100) {
	  additionalCost = (nemp - 10) * 1.45;
  }
  else if(nemp >= 101 && nemp <= 250) {
	  additionalCost = (nemp - 10) * 1.35;
  }
  else if(nemp > 251) {
	  additionalCost = (nemp - 10) * 1.25;
  }
  filtercost = filtercost + additionalCost;
  
  var savings = mlse - filtercost;
  roiform.filtercost.value = '$' + new Number(filtercost).toFixed(2);
  roiform.savings.value = '$' + new Number(savings).toFixed(2);

  var roi = filtercost / savings * monthdays;
  roiform.roi.value = new Number(roi).toFixed(1) + ' days';

  return false;
}