function ForceNumeric(nValue) {
  var validChars = "0123456789.";
  var newValue="", thisChar="";
  for ( var k = 0; k < nValue.length; k++) {
    thisChar = nValue.charAt(k);
    if(validChars.indexOf(thisChar) != -1) newValue += thisChar;
  }
  return Number(newValue);
}

function AddValue(before,elementId) {
   var elementValue = document.getElementById(elementId).value;
   elementValue = ForceNumeric(elementValue);
   return before + elementValue;
}

function calcBudget() {
  var income = AddValue(0, "income1");
  income = AddValue(income, "income2");

  var outgoings = AddValue(0, "rent");
  outgoings = AddValue(outgoings, "food");
  outgoings = AddValue(outgoings, "electric");
  outgoings = AddValue(outgoings, "ctax");
  outgoings = AddValue(outgoings, "gas");
  outgoings = AddValue(outgoings, "water");
  outgoings = AddValue(outgoings, "phone");
  outgoings = AddValue(outgoings, "repairs");
  outgoings = AddValue(outgoings, "clothing");
  outgoings = AddValue(outgoings, "other");
  outgoings = AddValue(outgoings, "loans");
  outgoings = AddValue(outgoings, "ccards");
  outgoings = AddValue(outgoings, "pension");
  outgoings = AddValue(outgoings, "savings");
  outgoings = AddValue(outgoings, "isa");
  outgoings = AddValue(outgoings, "insurance");
  outgoings = AddValue(outgoings, "fun");
  outgoings = AddValue(outgoings, "tv");
  outgoings = AddValue(outgoings, "holidays");
  outgoings = AddValue(outgoings, "clubs");
  outgoings = AddValue(outgoings, "childcare");
  outgoings = AddValue(outgoings, "childmaint");
  outgoings = AddValue(outgoings, "schoolfees");
  outgoings = AddValue(outgoings, "cother");
  outgoings = AddValue(outgoings, "fuel");
  outgoings = AddValue(outgoings, "car");
  outgoings = AddValue(outgoings, "tother");
  outgoings = AddValue(outgoings, "misc1");
  outgoings = AddValue(outgoings, "misc2");
  outgoings = AddValue(outgoings, "misc3");

  document.getElementById("totalout").value = outgoings.toFixed(2);
  document.getElementById("totalin").value = income.toFixed(2);
  var balance = income-outgoings;
  document.getElementById("balance").value = balance.toFixed(2);

}

function SubmitToPrint() {
   var win = window.open('budgetprint.php', 'budgetprint', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, width=580, height=800');
   var thisform = document.getElementById("budgetplanner");
   thisform.target='budgetprint';
   thisform.submit();
}
