function remove_fields(link) {
  $(link).previous("input[type=hidden]").value = "1";
  $(link).up(".row").hide();
  $(link).up(".row").down(".amount").value = 0;
  $(link).up('form').fire('invoice:update');
}

function add_fields(link, association, content) {
  // console.log('link=' + link);
  // console.log('association=' + association);
  // console.log('content=' + content);
  // var new_id = new Date().getTime();
  var new_id = $('invoice_details_table').select('.row').size();
  // console.log('new_id=' + new_id);
  var regexp_new = new RegExp("new_" + association, "g")
  var regexp_rate = new RegExp("link_to_add_fields_index", "g")
  // console.log('regexp=' + regexp);
  // console.log('after replace=' + content.replace(regexp, new_id));
  // console.log('link up=' + $(link).up(2));
  var row_count = $$('tr[class^=row]').size();
  content = content.replace(regexp_rate, row_count);
  $(link).up(2).insert({
    before: content.replace(regexp_new, new_id)
  });
  $(link).up('form').fire('invoice:update');
  // console.log('booyakasha!');
}
