function ForceNumeric(nValue) {
  var validChars = "0123456789.";
  var newValue="";
  for(k = 0; k < nValue.length; k++) {
    thisChar = nValue.charAt(k);
    if(validChars.indexOf(thisChar) != -1) newValue += thisChar;
  }
  return newValue;
}

function calcMortgage() {
  var firstincome = document.getElementById("income1").value;
  var firstincome = ForceNumeric(firstincome);
  var jointincome = document.getElementById("incomej").value;
  var jointincome = ForceNumeric(jointincome);
  var output = (jointincome*4.5) + (firstincome * 4.5);
  document.getElementById("canborrow").value = Math.round(output);
}

function updateLtV () {
  var price = document.getElementById("price").value;
  price = ForceNumeric(price);
  var deposit = document.getElementById("deposit").value;
  deposit = ForceNumeric(deposit);
  if (deposit>0 && price>0) {
    var loanoutput = ( price - deposit );
    document.getElementById("loan").value = Math.round(loanoutput);
    var ltvoutput = ( loanoutput / price )*100;
    document.getElementById("loantovalue").innerHTML = ltvoutput.toFixed(1) + "%";
  }
}

function calcRepayment() {
  var interest = document.getElementById("interestrate").value;
  interest = ForceNumeric(interest);
  var loan = document.getElementById("loan").value;
  loan = ForceNumeric(loan);
  var term = document.getElementById("term").value;
  term = ForceNumeric(term);
  if (interest>0 && loan>0 && term>0) {
    var I = interest / 12;
    var X = 1/(1+I/100);
    var N = term * 12;
    var L = loan;
    var A1 = (L * (X - 1)/(Math.pow(X,N+1)-X))
    var A2 = ((L - L * Math.pow(X,N)) * (X - 1)/(Math.pow(X,N+1)-X))
    document.getElementById("repayment").value = A1.toFixed(2);
    document.getElementById("interestonly").value = A2.toFixed(2);
  }
  else {
    document.monthlycalc.repayment.value = "*ERROR*";
    document.monthlycalc.interestonly.value = "*ERROR*";
  }
}