( function ( $ ) { 'use strict'; $( document ).ready( function ( $ ) { if ( typeof opalestate_mortgage !== 'undefined' ) { var currency = opalestate_mortgage.currency; $( '.opalestate-mortgage-form input' ).change( function ( e ) { e.preventDefault(); var $el = $( this ), $widget = $el.closest( '.opalestate-mortgage-widget-wrap' ); var sale_price = $widget.find( 'input[name="sale_price"]' ).val(); var precent_down = $widget.find( 'input[name="deposit"]' ).val(); var years = parseInt( $widget.find( 'input[name="years"]' ).val(), 10 ); var interest_rate = parseFloat( $widget.find( 'input[name="interest_rate"]' ).val(), 10 ) / 100; var interest_rate_month = interest_rate / 12; var number_of_payments_month = years * 12; var loan_amount = sale_price - precent_down; var monthly_payment = parseFloat( ( loan_amount * interest_rate_month ) / ( 1 - Math.pow( 1 + interest_rate_month, -number_of_payments_month ) ) ) .toFixed( 2 ); if ( monthly_payment === 'NaN' ) { monthly_payment = 0; } var total = parseFloat( precent_down ) + parseFloat( monthly_payment * number_of_payments_month ); var price_percent = loan_amount / total * 100; var deposit_percent = precent_down / total * 100; $widget.find( '.opalestate-monthly-value' ).html( currency + monthly_payment ); $widget.find( '.opalestate-loan-amount-value' ).html( currency + loan_amount ); $widget.find( '.opalestate-mortgage-chart-svg' ).html( '' + '' + '' + '' + '' + '' ); } ); } } ); } )( jQuery );