function tally(flds, rst, fill)
 {
  var x;
  var y;
  var z;
  var ok = false;
  var ok2 = true;
  z = flds.split(" ");
  x = 0;
  for (i = 0; i < z.length; i++)
    {
     ok = false
     y = document.custom[z[i]].value;
     if (y != '')
       {
        if (isFinite(y))
          {
           y = parseFloat(y);
           if (!isNaN(y)) if (y >= 0) ok = true;
          }
        if (ok)
          {
           document.custom[z[i]].value = y;
           x = x + y
          }
        else
          {
           document.custom[z[i]].value = '';
          }
       }
     else
       {
        ok = true;
       }
     ok2 = ok2 && ok
    }
  if (x==100 && fill)
   {
    for (i = 0; i < z.length; i++)
      {
       y = document.custom[z[i]].value;
       if (y == '') document.custom[z[i]].value = 0;
      }
   }
  if (rst!='') document.custom[rst].value = x;
  return ok2;
 }

