<!--

function put_commas(input) {
    var result, len;

    input += "";
    len = input.indexOf(".");
    if(len == -1) {
        len = input.length;
        result = "";
    } else {
        result = input.substring(len, input.length);
    }
    while(len > 3) {
        result = input.substring(len-3, len) + result;
        result = "," + result;
        len -= 3;
    }
    result = input.substring(0, len) + result;
    return result;
}

function strip_commas(input) {
        var newnum;
        var ch;

        newnum ="";
        for(var i=0; i<input.length; i++) {
                ch = input.charAt(i);
                if(ch != ",") {
                        newnum += ch;
                }
        }
        return parseFloat(newnum);
}


function checkNum(input) {
	var oldnum;
	var newnum;
	var ch;
	
	oldnum = input.value;
	newnum ="";
	for(var i=0; i<oldnum.length; i++) {
		ch = oldnum.charAt(i);
		if(ch != ",") {
			newnum += ch;
		}
	}
	return parseFloat(newnum);
}


function check(input) {
        input.value = checkNum(input);
        input.value = parseInt(input.value);
        if(input.value == null ||
         input.value.length == 0 ||
           input.value == "NaN") {
                input.value = "";
        } else {
                if(parseFloat(input.value) <= 0) {
                        input.value = "";
                }
        }
        calcTotal(input.form);
	input.value = put_commas(input.value);
}

function checkper(input) {
        input.value = checkNum(input);
        if(input.value == null ||
         input.value.length == 0 ||
           input.value == "NaN") {
                input.value = "";
        } else {
                if(parseFloat(input.value) <= 0) {
                        input.value = "";
                }
        }
        calcTotal(input.form);
	input.value = put_commas(input.value);
}

function calcTotal(input) {
        if(input.interest.value == "" ||
           input.nper.value == "" ||
           input.pmt.value == "" ||
	   input.ref_interest.value == "" ||
           input.ref_nper.value == "" ||
           input.ref_dp.value == "") {
                input.ref_pmt.value = "";
        } else {
                i = strip_commas(input.interest.value) / 100;
                i = i / 12;
                n = strip_commas(input.nper.value) * 12;
                tmp = (1/i) * (1 - Math.pow(1/(1+i), n));
                tmp = strip_commas(input.pmt.value) * tmp;
		pv = tmp;
		ref_i = strip_commas(input.ref_interest.value) / 100 / 12;
		ref_n = strip_commas(input.ref_nper.value) * 12;
		ref_dp = strip_commas(input.ref_dp.value);

		ref_tmp = ( 1 / ref_i) * ( 1 - (1/Math.pow((1+ref_i),ref_n) ) );
		ref_pmt = ( pv + ref_dp) / ref_tmp;
                ref_pmt = Math.round(ref_pmt*100) / 100;
		input.ref_pmt.value = put_commas(ref_pmt);
                if(input.ref_pmt.value == null ||
                   input.ref_pmt.value.length == 0 ||
                   input.ref_pmt.value == "NaN") {
                        input.ref_pmt.value = "";
                }
        }
}
// -->