function populateMessage(msg, msgType)
{
/**
 * msg = Contents to be displayed
 * msgType = ERROR | WARN | INFO
 */
  $('.messages').removeClass('ERROR');
  $('.messages').removeClass('WARN');
  $('.messages').removeClass('INFO');
  $('.messages').addClass(msgType);
  $('.messages').html(msg);
  $('.messages').slideDown('medium');
}

function processResults(msg)
{
  if (msg.success) { populateMessage(msg.message, 'INFO'); }
  else             { populateMessage(msg.message, 'ERROR'); }
}

function validatePositiveInteger(e1)
{
  if(e1 > 0) { return true  ; }
  else       { return false ; }
}

function showForm(trigger)
{
  $('.messages').slideUp("medium");
  
  var oldID = $('.calc_nav_selected').attr('id');
  if(oldID){
    oldID='#' + oldID;
    $(oldID).removeClass('calc_nav_selected');
    $(oldID).addClass('calc_nav');
  }
  var item="#" + trigger;
  $(item).addClass('calc_nav_selected');
  
  if (trigger == 'home_afford') { $('#form_home_afford').slideDown('medium') ;}
  else if (trigger == 'home_repay')  { $('#form_home_repay').slideDown('medium') ;} 
  else if (trigger == 'car_afford')  { $('#form_car_afford').slideDown('medium') ;} 
  else if (trigger == 'car_repay')   { $('#form_car_repay').slideDown('medium') ;} 

  $('.calc_form').hide();

}

function submitHomeAffordForm() 
{
  var interest =  $('#form_home_afford .i_interest').val() ;
  var repay    = $('#form_home_afford .i_repay').val();
  var years    = $('#form_home_afford .years').val();

  var formStat=true;
  var errMsg='';
  if (!validatePositiveInteger(interest)) {
    errMsg+="Interest Rate should be more than 0 <br/>";
    formStat=false;
  }
  if (!validatePositiveInteger(repay)) {
    errMsg+="Repayment should be more than 0 <br/>";
    formStat=false;
  }
  if (!validatePositiveInteger(years)) {
    errMsg+="Repayment Period should be more than 0 <br/>";
    formStat=false;
  }

  if(formStat){
    $.ajax({
          url:"/process/pHomeLoanAfford.php",
          data:"interest=" + interest + "&repay=" + repay + "&years=" + years,
          dataType: "json" ,
          success: function(msg) { processResults(msg); }
        });
  } else { populateMessage(errMsg, "WARN");  }
}

function submitHomeRepayForm()
{
  var loan     = $('#form_home_repay .i_loan').val();
  var interest = $('#form_home_repay .i_interest').val();
  var years    = $('#form_home_repay .years').val();

  var formStat=true;
  var errMsg='';
  if (!validatePositiveInteger(interest)) {
    errMsg+="Interest Rate should be more than 0 <br/>";
    formStat=false;
  }
  if (!validatePositiveInteger(loan)) {
    errMsg+="Loan Amount should be more than 0 <br/>";
    formStat=false;
  }
  if (!validatePositiveInteger(years)) {
    errMsg+="Repayment Period should be more than 0 <br/>";
    formStat=false;
  }

  if(formStat) {
    $.ajax({
          url:"/process/pHomeLoanRepay.php",
          data:"interest=" + interest + "&loan=" + loan + "&years=" + years,
          dataType: "json",
          success: function(msg) { processResults(msg); }
    });
  }else { populateMessage(errMsg, "WARN"); }

}

function submitCarAffordForm()
{
  var repay    = $('#form_car_afford .i_repay').val();
  var interest = $('#form_car_afford .i_interest').val();
  var years    = $('#form_car_afford .years').val();


  var formStat=true;
  var errMsg='';
  if (!validatePositiveInteger(interest)) {
    errMsg+="Interest Rate should be more than 0 <br/>";
    formStat=false;
  }
  if (!validatePositiveInteger(repay)) {
    errMsg+="Repayment should be more than 0 <br/>";
    formStat=false;
  }
  if (!validatePositiveInteger(years)) {
    errMsg+="Repayment Period should be more than 0 <br/>";
    formStat=false;
  }

  if(formStat){
    $.ajax({
          url:"/process/pCarLoanAfford.php",
          data:"interest=" + interest + "&repay=" + repay + "&years=" + years,
          dataType: "json",
          success: function(msg) { processResults(msg); }
    });
  } else { populateMessage(errMsg); }

}

function submitCarRepayForm()
{
  var loan     = $("#form_car_repay .i_loan").val();
  var interest = $('#form_car_repay .i_interest').val();
  var years    = $("#form_car_repay .years").val();


  var formStat=true;
  var errMsg='';
  if (!validatePositiveInteger(interest)) {
    errMsg+="Interest Rate should be more than 0 <br/>";
    formStat=false;
  }
  if (!validatePositiveInteger(loan)) {
    errMsg+="Loan Amount should be more than 0 <br/>";
    formStat=false;
  }
  if (!validatePositiveInteger(years)) {
    errMsg+="Repayment Period should be more than 0 <br/>";
    formStat=false;
  }

  if(formStat){
    $.ajax({
          url:"/process/pCarLoanRepay.php",
          data:"interest=" + interest + "&loan=" + loan + "&years=" + years,
          dataType: "json",
          success: function(msg) { processResults(msg); }
    });
  } else { populateMessage(errMsg, "WARN"); }
}

function submitForm(idName)
{
  if (idName=='home_afford_btn') { submitHomeAffordForm(); }
  else if (idName=='home_repay_btn')  { submitHomeRepayForm();  }
  else if (idName=='car_afford_btn')  { submitCarAffordForm();  }
  else if (idName=='car_repay_btn')   { submitCarRepayForm();   }
}

$(document).ready(function() {
  $('.calc_nav').click(function() { showForm( $(this).attr("id") );});
  $('.calculate_btn').click(function() { 
    $('.messages').slideUp('medium');  
    submitForm ( $(this).attr("id") );
  });
});
