//test for an initial value
var intDefPrincipal = -1;
var url = '';

//check for hash
var hash = document.URL.indexOf('#');
if (hash != -1) url = document.URL.substr(0, hash - 1);
else url = document.URL;

var idx = url.indexOf('?');
if (idx != -1) {
    var pairs = url.substring(idx+1, document.URL.length).split('&');
    for (var i=0; i<pairs.length; i++) {
        nameVal = pairs[i].split('=');
        if (nameVal[0] == 'price') intDefPrincipal = nameVal[1];
    }
}

var intDefYear = 30;
var intDefInterest = 5.0;
var intDefDown = .2;

function defaults() {
    document.getElementById('txtPeriod').value = intDefYear;
    document.getElementById('txtInterest').value = intDefInterest;
    
    if (intDefPrincipal != -1 ) {
        document.getElementById('txtPrincipal').value = intDefPrincipal;
        document.getElementById('txtDownPayment').value = Math.round(intDefPrincipal * intDefDown);
        calculate(false);
    } else document.getElementById('txtPrincipal').value = '';
}


function calculate(blnErrMsg) {
    var blnCalc = true;

    var intPrincipal = document.getElementById('txtPrincipal').value;
    var intDownPayment = document.getElementById('txtDownPayment').value;
    var intPeriod = document.getElementById('txtPeriod').value;
    var intInterest = document.getElementById('txtInterest').value;
    
    if ((intPrincipal.length == 0) || (intPeriod.length == 0) || (intInterest.length == 0)) {
        blnCalc = false
        if (blnErrMsg) alert('You must enter the Principal, Annual Interest Rate, and Repayment Period before you can continue.');
    }
    
    if (blnCalc) {
        if (isNaN(intPrincipal)) {
            alert('You must a valid Principal amount before you can continue.')
            document.frmMortgage.txtPrincipal.setFocus();
            blnCalc = false;
        }
    
        if (isNaN(intPeriod)) {
            alert('You must a valid Repayment Period before you can continue.')
            document.frmMortgage.txtPeriod.setFocus();
            blnCalc = false;
        }

        if (isNaN(intInterest)) {
            alert('You must a valid Annual Interest Rate before you can continue.')
            document.frmMortgage.txtInterest.setFocus();
            blnCalc = false;
        }
    }
    
    if (blnCalc) {
        if ((intDownPayment.length == 0) || (isNaN(intDownPayment))) var decLoanAmt = intPrincipal;
        else var decLoanAmt = intPrincipal - intDownPayment;
    
        var intMonths = intPeriod * 12;
        var decmInterest = (intInterest / 100) / 12;

        var decPart1 = Math.pow(1 + decmInterest, intMonths);
        decPayment = (decLoanAmt * decPart1 * decmInterest) / (decPart1 - 1); 
        document.getElementById('txtPayment').value = Math.round(decPayment);
    }
}
