I moved much of the timesheet processing to javascript.  It now populates all of the fields using Javascript, as well as doing the averages.  It can also refresh the data.
Cleaned up the javascript.  It now updates every field in the table.