var loanCalculator = {
 
  fetchRepaymentsTable : function (type)
  {
    loanCalculator.fetchTableData(type);
  },
  fetchTableData : function (type)
  {
    var formData = $('loan-form').serialize(true);
    new Ajax.Request('calculator.php?do=getPaymentResults', {
      method: 'get', parameters : formData,
      onSuccess: function(transport) {
        $('results-wrapper').innerHTML = transport.responseText;

        $('repayment_amount_span').innerHTML = $('results_base_repayment_amount_span').value;
        $('term_years_span').innerHTML = $('results_comparison_term_years_span').value;
		
        var base = $('base_interest_amount').value;
        var comparison = $('comparison_interest_amount').value;
        var interest_saved = (base * 1.0) - (comparison * 1.0);
        var interest_saved_amount_colour = interest_saved > -0.01 ? 'saving' : 'loss';
        interest_saved = interest_saved.toFixed(2);

        if (interest_saved.length >= 8) {
          interest_saved = interest_saved.substr(0,interest_saved.length-6) + ',' + interest_saved.substr(interest_saved.length-6);
        }
        
        $('interest_saved').innerHTML = '<span class="'+interest_saved_amount_colour+'">$' + interest_saved+'</span>';
      }
    });
    
  },
  formInit : function ()
  {
    var baseFormElements = $('loan-form').getElements();
    // var comparisonFormElements = $('comparison-loan-form').getElements();
    
    baseFormElements.each(
      function(item){ 
        item.observe('change', function (e) { loanCalculator.fetchRepaymentsTable('base'); });
        item.observe('keyup', function (e) { 
          loanCalculator.fetchTableData('base');
          loanCalculator.fetchTableData('comparison');
          
          if (e.keyCode == Event.KEY_RETURN) {
            e.stop();
          }
        });
      }
    );
    
    loanCalculator.fetchTableData('base');
    loanCalculator.fetchTableData('comparison');     
  }  
};


document.observe('dom:loaded', function ()
{
  loanCalculator.formInit();
});
