function subtotal()
{
  var subtotal = 0;
  var pledges = getElementsByClass('pledge_textbox');

  for (var i = 0; i < pledges.length; i++) {
    if (pledges[i].value != '') {
      var v = pledges[i].value;
      v = v.replace('$', '');
      v = v.replace(',', '');
      if (v = parseInt(v)) {
        subtotal += v;
        pledges[i].value = '$'+addCommas(v);
      }
    }
  }
 
  subtotal = addCommas(subtotal);
  document.getElementById('subtotal').innerHTML = subtotal;
}

function getElementsByClass(c) 
{
  var all = document.all ? document.all :
  document.getElementsByTagName('*');
  var elements = new Array();
  for (var i = 0; i < all.length; i++) {
    if (all[i].className == c) {
      elements[elements.length] = all[i];
    }
  }
  return elements;
}

function addCommas(v)
{
  v = v.toString();
  var r = new RegExp('(-?[0-9]+)([0-9]{3})');

  // check for match to search criteria
  while (r.test(v)) {
    v = v.replace(r, '$1,$2');
  }

  return v;
}

window.onload = function()
{
  // set onchange values
  var pledges = getElementsByClass('pledge_textbox');
  for (var i = 0; i < pledges.length; i++) {
    pledges[i].onchange = subtotal;
  }

  // get subtotal
  subtotal();
}
