/**
 * IHT Calculator
 * @author Anthony Ogden
 */

function Currency(num) {
  var s = num.toString();
  var l = s.length;
  if (l == 0) {
    s = "0.00";
  } else {
    var p = s.indexOf('.');
    if (p < 1) {
      s = s + ".00";
    } else {
      s = s + "0";
      l = p + 3;
      s = s.substring(0,l);
    }
  }
  return s;
}

function calculateIHT() {

	var taxThreshold = 312000;
	var taxRate = 0.40;
	var amount = 0;

	/* grab the form assets and total up */
	var assetVals = document.forms[0]["assets[]"];
	var assetSubTotal = 0;
	for ( var i = 0; i<assetVals.length; i++) {
		amount = parseFloat(assetVals[i].value);
		if ( !isNaN(amount) ) {
			assetSubTotal += amount;
		}		
	}

	/* grab the form liabilities and total up */
	var liablVals = document.forms[0]["liabl[]"];
	var liablSubTotal = 0;
	for ( var i = 0; i<liablVals.length; i++) {
		amount = parseFloat(liablVals[i].value);
		if ( !isNaN(amount) ) {
			liablSubTotal += amount;
		}		
	}

	/* calc amount liable for tax and total to pay */
	var amountForTax = assetSubTotal - liablSubTotal;
	var amountLessThreshold = amountForTax - taxThreshold;
	var amountOfTax = amountLessThreshold * taxRate;
	if (amountForTax < 0) amountForTax = 0;
	if (amountLessThreshold < 0) amountLessThreshold = 0;
	if (amountOfTax < 0) amountOfTax = 0;

	/* display the totals */
	document.getElementById("taxThreshold").value = Currency(taxThreshold);
	document.getElementById("assetSubTotal").value = Currency(assetSubTotal);
	document.getElementById("liablSubTotal").value = Currency(liablSubTotal);
	document.getElementById("amountForTax").value = Currency(amountForTax);
	document.getElementById("amountLessThreshold").value = Currency(amountLessThreshold);
	document.getElementById("amountOfTax").value = Currency(amountOfTax);
	
}
