/**
 * Calculate Mortgage
 */
function updateMortgage()
{
    // Get info
    var _initialAmount = document.getElementById( 'initialAmount' ).value;
    var _term = document.getElementById( 'term' ).value;
    var _rate = document.getElementById( 'rate' ).value;
    
    // If valid input, calculate mortgage
    if( ( /^\d+$/.test( _initialAmount ) ) && ( /^\d+$/.test( _term ) ) && ( /^\d+[.]?\d*$/.test( _rate ) ) && parseFloat(_initialAmount) > 0 && parseFloat(_term) > 0 && parseFloat(_rate) > 0 ) 
    {
        // Calculate & Display
        var _paymentsPerYear = 12;
        var _totalPayments   = parseInt( _term * _paymentsPerYear );
    
        _rate = parseFloat( (_rate / 100) / _paymentsPerYear );
    
        var _foo = Math.pow( ( 1 + _rate ), ( -1 * _totalPayments ) );
    
        var _bar = _rate / ( 1 - ( _foo ) );
    
        var _monthlyPayment = parseFloat( _bar * _initialAmount );
        document.getElementById( 'monthlyRepayment' ).value = _monthlyPayment.toFixed( 2 );
        
        var _totalRepayment = parseFloat( _monthlyPayment * _totalPayments );
        document.getElementById( 'repayment' ).value = _totalRepayment.toFixed( 2 );
    
        var _totalInterest = parseFloat( _totalRepayment - _initialAmount );
        document.getElementById( 'interest' ).value = _totalInterest.toFixed( 2 );
    }
    // If invalid input alert user
    else
    {
        alert('You must enter a valid Mortgage Amount, Term & Rate.');
    }
}

/**
 * Limit Text in text area
 */
function limitText( limitField, limitNum )
{
    if ( limitField.value.length > limitNum )
    {
        limitField.value = limitField.value.substring( 0, limitNum );
    }
}
