//////////////////////////////////////////////////////////////////////////////
function monthly_calc_do(aForm, aPriceName, aPercName, aMonthsName, aSelfPaymentName, aResultName) {
  var aPrice = parseItem(aForm[aPriceName].value,'int');
  var aPerc = parseItem(aForm[aPercName].value,'float');   
  for(var i=0;i<aForm[aMonthsName].length;i++){
    if(aForm[aMonthsName][i].selected==true){
      var aMonths=parseItem(aForm[aMonthsName][i].value,'int');
    }
  }  
  var aYears = aMonths/12;  
  var aSelfPayment = parseItem(aForm[aSelfPaymentName].value,'int');
  if(aPrice==null || isNaN(aPrice)) aPrice=0;
  if(aPerc==null || isNaN(aPerc)) aPerc=0;
  if(aSelfPayment==null || isNaN(aSelfPayment)) aSelfPayment=0;
  

  aPercFloat = aPerc/100;
  q = 1 + aPercFloat/12;    
  q_pow_n = Math.pow((q),(aYears*12));
  
  aRealAmount = aPrice-aSelfPayment;
  if(aRealAmount > 0 && !isNaN(aRealAmount)){
    aResult = aRealAmount * q_pow_n * (q-1)/(q_pow_n-1);
    if(!isNaN(aResult))
      aResult = round_amount(aResult,2);
    else  
      aResult = round_amount(0,2);
  }
  else{
    aResult = round_amount(0,2);
  }
  aForm[aPriceName].value = aPrice;
  aForm[aPercName].value = aPerc;
  aForm[aSelfPaymentName].value = aSelfPayment;
  aForm[aResultName].value = aResult;
  return false;  
}
//////////////////////////////////////////////////////////////////////////////
function credit_calc_do(aForm, aMonthlyPaymentName, aPercName, aMonthsName, aResultName) {
  var aMonthlyPayment = parseItem(aForm[aMonthlyPaymentName].value,'int');
  var aPerc = parseItem(aForm[aPercName].value,'float');   
  for(var i=0;i<aForm[aMonthsName].length;i++){
    if(aForm[aMonthsName][i].selected==true){
      var aMonths=parseItem(aForm[aMonthsName][i].value,'int');
    }
  }  
  var aYears = aMonths/12;    
  if(aMonthlyPayment==null || isNaN(aMonthlyPayment)) aMonthlyPayment=0;
  if(aPerc==null || isNaN(aPerc)) aPerc=0;
  

  aPercFloat = aPerc/100;
  q = 1 + aPercFloat/12;    
  q_pow_n = Math.pow((q),(aYears*12));
  
  if(aMonthlyPayment > 0 && !isNaN(aMonthlyPayment)){
    aResult = aMonthlyPayment / (q_pow_n * (q-1)/(q_pow_n-1));
    if(!isNaN(aResult))
      aResult = round_amount(aResult,2);
    else  
      aResult = round_amount(0,2);
  }
  else{
    aResult = round_amount(0,2);
  }
  aForm[aMonthlyPaymentName].value = aMonthlyPayment;
  aForm[aPercName].value = aPerc;  
  aForm[aResultName].value = aResult;
  return false;  
}


