if(window.RegExp){
  var regexNum = /^[0-9]+$/;
  var regexMoney = /^((([0-9]+)?([\.\,])?)|([0-9]+))[0-9]+$/;
  
  var regexNotEmpty = /^.+$/;
  var regexOnlySpace = /^ +$/;
}

function validateField(field, regex){
  return regex.test(document.getElementById(field).value);
}

function validateCalc(f) {
  var fn = f.name;
  var ofn = document.forms[fn];
	var erreur = false;
  var nb_err = 0;
  
  var cashdown = document.getElementById('cashdown').value;
  cashdown = cashdown.replace(/ /,'');
  cashdown = cashdown.replace(/,/g,'.');
  if(cashdown.charAt(cashdown.length - 1) == '.')
    cashdown = cashdown.substring(0, cashdown.length - 1);
  if (!validateField('cashdown', regexMoney))
    cashdown = "0.00";
  document.getElementById('cashdown').value = cashdown;
  
  calcPayment();
}

function calcPayment(){
  var price = document.getElementById('pricetotalt1').value;
  var cashdown = parseFloat(document.getElementById('cashdown').value,10);
  var rate = document.getElementById('rate').value;
  var term = document.getElementById('term').value;
  var adjrate = 0;
  var fincalc = 0;
  
  totalpayment = calculatePayment(rate, term, price, cashdown);
  
  document.getElementById('calc-total').innerHTML = totalpayment;
}

function calculatePayment(rate, months, price, cashdown) {
  if(rate > 0)
    adjrate = rate / 1200;
  else
    adjrate = 0;
  
  fincalc = Math.pow(1 + adjrate,months);
  
  price = price - cashdown;
  
  if(adjrate > 0)
    price = price * adjrate * fincalc / (fincalc - 1);
  else
    price = price / months;
  
  return (((Math.round(price * 100,0)) / 100).toFixed(2));
}
