I have a simple timesheet calculator and, since it would be used with the numeric keypad on the right, how could I produce intermediate results and go to the next field when the Enter or + key was entered?

This is my script from the above page.
Code:
function calculate() {
  var pattn = /\D*(\d+)\D+(\d+)\D*/;
  var localBeg, localEnd, totalMin=0, result = new Array;
  for (var i=0; i < 60; i+=3) {
    result = document.timeform.elements[i].value.match(pattn);
	if (result == null)
	  continue;
	else {
      localBeg = parseInt(result[1]) * 60 + parseInt(result[2]);
      result = document.timeform.elements[i+1].value.match(pattn);
      if (result == null) {
	    document.timeform.elements[i+1].value = "missing";
		continue;}	
      localEnd = parseInt(result[1]) * 60 + parseInt(result[2]);
      if (localEnd < localBeg)
        localEnd += 720; // Add 12 hours worth of minutes, e.g., back from lunch at 12:45, leave at 5:20
	  var thisCell = localEnd - localBeg;
	  var localMin = thisCell % 60;
	  document.timeform.elements[i+2].value = Math.floor(thisCell/60) + ":" + (localMin < 10 ? "0"+localMin : localMin);
      totalMin += localEnd - localBeg;
	}  }
	var dispHours = Math.round(totalMin / 60 * 1000) / 1000;
	document.timeform.totals.value = dispHours;    
}
and every third element is disabled to show the elapsed time in the first two.
Code:
<form name="timeform">
<table>
<tr><th>Beg Time</th><th>End Time</th><th></th><th>Beg Time</th><th>End Time</th><th></th></tr>
<tr><td><input type="text" size=8></td><td><input type="text" size=8></td><td><input type="text" size=8 disabled>
</td><td><input type="text" size=8></td><td><input type="text" size=8></td><td><input type="text" size=8 disabled></td></tr>
Thanks in advance.