function tqhk_getLoanKind(){
 var obj = document.getElementById('fk_tqhk_loanKind'); 
 return obj.value;
}

function tqhk_getLoanAmount(){
 var obj = document.getElementById('aaafangchan_tqhk_loanAmount');
 var val = 0;
 if(isNum(obj.value)){
  val = obj.value * 10000;
 }
 return val; 
}

function tqhk_getYears(){
 var obj = document.getElementById('fk_dx_years');
 return obj.value; 
}

function tqhk_getRateClass(){
 var obj = document.getElementById('fk_dx_loanRate');
 return obj.value;
}

function tqhk_getClfs(){
 var val = 0;
 var obj = document.getElementsByName('rad_tqhk_clfs');
 if(obj[0].checked){
  val = 1; 
 }else if(obj[1].checked){
  val = 2; 
 }
 return val; 
}

function tqhk_getTqhkfs(){
 var obj = document.getElementsByName('rad_tqhk_tqhkfs');
 if(obj[0].checked){
  return 1; 
 }else{
  return 2; 
 }
}

function tqhk_chgtqhkfs(){
 var val = tqhk_getTqhkfs();
 var obj1 = document.getElementsByName('rad_tqhk_clfs');
 var obj2 = document.getElementById('aaafangchan_tqhk_payAmount');
 if(val == 1){
  obj1[0].disabled = true;
  obj1[1].disabled = true;
  obj2.disabled = true;
 }else{
  obj1[0].disabled = false;
  obj1[1].disabled = false;
  obj2.disabled = false; 
 }
}

function tqhk_getTqhkAmount(){
 var obj = document.getElementById('aaafangchan_tqhk_payAmount');
 if(isNum(obj.value)){
  return obj.value * 10000; 
 }else{
  return 0;
 }
}

function tqhk_getFirstYear(){
 var obj = document.getElementById('fk_tqhk_firstYear');
 return obj.value; 
}

function tqhk_getFirstMonth(){
 var obj = document.getElementById('fk_tqhk_firstMonth');
 return obj.value; 
}

function tqhk_getCurYear(){
 var obj = document.getElementById('fk_tqhk_curYear');
 return obj.value; 
}

function tqhk_getCurMonth(){
 var obj = document.getElementById('fk_tqhk_curMonth');
 return obj.value; 
}

function tqhk_getLastMonth(payedMonths){
 var firstYear = tqhk_getFirstYear();
 var firstMonth = tqhk_getFirstMonth();
 var totalMonth = firstMonth * 1 + payedMonths * 1 - 1;
 var tmpYears = Math.floor(totalMonth / 12);
 var tmpMonths = totalMonth - tmpYears * 12;
 if(tmpMonths == 0){
  tmpYears = tmpYears -1;
  tmpMonths = 12; 
 }
 return (firstYear * 1 + tmpYears * 1) + '年' + tmpMonths + '月';  
}

function tqhk_calcPayedMonth(){
 var firstYear = tqhk_getFirstYear();
 var firstMonth = tqhk_getFirstMonth();
 var curYear = tqhk_getCurYear();
 var curMonth = tqhk_getCurMonth();
 
 var firstMonths = firstYear * 12 + firstMonth * 1;
 var curMonths = curYear * 12 + curMonth * 1;
 if(curMonths>firstMonth){
  return curMonths - firstMonths; 
 }else{
  return 0; 
 }
}

function tqhk_calcDxPayedBj(amount,rate,months,curMonth){
 var bjAmount = 0;
 for(i=1;i<=curMonth;i++){
  bjAmount = bjAmount + getDxMonthPayBj(amount,rate,months,i);
 }
 return bjAmount;
}

function tqhk_calcDxPayedLx(amount,rate,months,curMonth){
 var lxAmount = 0;
 for(i=1;i<=curMonth;i++){
  //alert(getDxMonthPayLx(amount,rate,months,curMonth));
  lxAmount = lxAmount + getDxMonthPayLx(amount,rate,months,i); 
 }
 return lxAmount;
}

function tqhk_Calc(){
 tqhk_Clac_dx();
}

function tqhk_calcNewPayMonths(amount,rate,oldMonthPay,leftMonths){
 var monthLx = 0;
 var monthBj = 0;
 var monthRate = rate /12;
 var newMonths = 0;
 
 for(i=1;i<=leftMonths;i++){
  monthLx = amount * monthRate;
  monthBj = oldMonthPay - monthLx;
  amount = amount - monthBj;
  newMonths++;
  if(amount<=0) break;
 }
 return newMonths; 
}

function tqhk_Clac_dx(){
 var loanKind = tqhk_getLoanKind();
 var loanAmount = tqhk_getLoanAmount();
 var years = tqhk_getYears();
 var rateClass = tqhk_getRateClass();
 var loanRate = getLoanRate(rateClass,loanKind,parseInt(years));
 var monthPay = getDxMonthPay(loanRate,loanAmount,years*12);
 var payedMonth = tqhk_calcPayedMonth();
 var payedBjTotal = tqhk_calcDxPayedBj(loanAmount,loanRate,years*12,payedMonth);
 var payedLxTotal = tqhk_calcDxPayedLx(loanAmount,loanRate,years*12,payedMonth);
 var leftAmount = loanAmount - payedBjTotal;
 var tqhkfs = tqhk_getTqhkfs();
 var clfs = tqhk_getClfs();
 var tqhkAmount = 0;
 var curMonthPayBj = getDxMonthPayBj(loanAmount,loanRate,years*12,payedMonth + 1);
 var curMonthPayLx = leftAmount * loanRate / 12;
 var curMonthTotalPay = 0;
 var nextMonthLeftAmount = 0;
 var newMonthPay = 0;
 var leftMonths = 0;
 var leftTotalPay = 0;
 if(tqhkfs==1){
  tqhkAmount = leftAmount;
  curMonthTotalPay = leftAmount + curMonthPayLx;
 }else{
  tqhkAmount = tqhk_getTqhkAmount();
  if(tqhkAmount<= 0){
   alert('请填写提前还款额');return false; 
  }
  if(tqhkAmount > leftAmount){
   tqhkAmount = leftAmount; 
  }
  payedMonth = payedMonth + 1;
  leftMonths = years * 12 - payedMonth ;
  curMonthTotalPay = curMonthPayBj + curMonthPayLx + tqhkAmount;
  nextMonthLeftAmount = leftAmount - tqhkAmount - curMonthPayBj;
  if(clfs == 1){
   //alert(leftMonths);
   if(tqhkAmount > 0){
    leftMonths = tqhk_calcNewPayMonths(nextMonthLeftAmount,loanRate,monthPay,leftMonths);
   }
   newMonthPay = getDxMonthPay(loanRate,nextMonthLeftAmount,leftMonths);
   leftTotalPay = newMonthPay * leftMonths; 
  }else{
   newMonthPay = getDxMonthPay(loanRate,nextMonthLeftAmount,leftMonths);
   leftTotalPay = newMonthPay * leftMonths;
  } 
 }
 var oldTotalPay = monthPay * years * 12;
 var newTotalPay = monthPay * payedMonth + newMonthPay * leftMonths + tqhkAmount;
 document.getElementById('aaafangchan_tqhk_oldMonthPay').value = (Math.round(monthPay * 100) / 100);
 document.getElementById('aaafangchan_tqhk_oldLastMonth').value = tqhk_getLastMonth(years * 12);
 document.getElementById('aaafangchan_tqhk_payedTotalBj').value = Math.round(payedBjTotal * 100) /100;
 document.getElementById('aaafangchan_tqhk_payedTotalLx').value = Math.round(payedLxTotal * 100) /100;
 document.getElementById('aaafangchan_tqhk_curMonthTotalPay').value = Math.round(curMonthTotalPay*100)/100;
 document.getElementById('aaafangchan_tqhk_leftBj').value = Math.round(nextMonthLeftAmount*100)/100;
 document.getElementById('aaafangchan_tqhk_newMonthPay').value = Math.round(newMonthPay * 100)/100;
 document.getElementById('aaafangchan_tqhk_newLoanRate').value = Math.round(loanRate * 100000) / 1000 + '%';;
 document.getElementById('aaafangchan_tqhk_newLastMonth').value = tqhk_getLastMonth(payedMonth + leftMonths);
 document.getElementById('aaafangchan_tqhk_oldPayAmount').value = Math.round(oldTotalPay * 100) /100;
 document.getElementById('aaafangchan_tqhk_newPayAmount').value = Math.round(newTotalPay*100)/100;
 document.getElementById('aaafangchan_tqhk_lessLx').value = Math.round((oldTotalPay - newTotalPay)*100) /100 ;
}