Помогите исправить калькулятор на js

есть код кредитного калькулятора, помогите настроить чтобы считал проценты по годам, дням и месяцам. И еще нужно чтобы были не сом, а рубли. Буду очень признателен

var P, R, N, pie, line;
var loan_amt_slider = document.getElementById("loan-amount");
var int_rate_slider = document.getElementById("interest-rate");
var loan_period_slider = document.getElementById("loan-period");

// update loan amount
loan_amt_slider.addEventListener("input", (self) => {
  document.querySelector("#loan-amt-text").innerText =
    parseInt(self.target.value).toLocaleString("en-US") + "сом";
  P = parseFloat(self.target.value);
  displayDetails();
});

// update Rate of Interest
int_rate_slider.addEventListener("input", (self) => {
  document.querySelector("#interest-rate-text").innerText =
    self.target.value + "%";
  R = parseFloat(self.target.value);
  displayDetails();
});

// update loan period
loan_period_slider.addEventListener("input", (self) => {
  document.querySelector("#loan-period-text").innerText =
    self.target.value + " год (лет)";
  N = parseFloat(self.target.value);
  displayDetails();
});

// calculate total Interest payabl1
function calculateLoanDetails(p, r, emi) {
  /*
    p: principal
    r: rate of interest
    emi: monthly emi
  */
  let totalInterest = 0;
  let yearlyInterest = [];
  let yearPrincipal = [];
  let years = [];
  let year = 1;
  let [counter, principal, interes] = [0, 0, 0];
  while (p > 0) {
    let interest = parseFloat(p) * parseFloat(r);
    p = parseFloat(p) - (parseFloat(emi) - interest);
    totalInterest += interest;
    principal += parseFloat(emi) - interest;
    interes += interest;
    if (++counter == 12) {
      years.push(year++);
      yearlyInterest.push(parseInt(interes));
      yearPrincipal.push(parseInt(principal));
      counter = 0;
    }
  }
  line.data.datasets[0].data = yearPrincipal;
  line.data.datasets[1].data = yearlyInterest;
  line.data.labels = years;
  return totalInterest;
}

// calculate details
function displayDetails() {
  let r = parseFloat(R) / 1200;
  let n = parseFloat(N) * 12;

  let num = parseFloat(P) * r * Math.pow(1 + r, n);
  let denom = Math.pow(1 + r, n) - 1;
  let emi = parseFloat(num) / parseFloat(denom);

  let payabaleInterest = calculateLoanDetails(P, r, emi);

  let opts = '{style: "decimal", currency: "US"}';

  document.querySelector("#cp").innerText =
    parseFloat(P).toLocaleString("en-US", opts) + " сом";

  document.querySelector("#ci").innerText =
    parseFloat(payabaleInterest).toLocaleString("en-US", opts) + " сом";

  document.querySelector("#ct").innerText =
    parseFloat(parseFloat(P) + parseFloat(payabaleInterest)).toLocaleString(
      "en-US",
      opts
    ) + " сом";

  document.querySelector("#price").innerText =
    parseFloat(emi).toLocaleString("en-US", opts) + " сом";

  pie.data.datasets[0].data[0] = P;
  pie.data.datasets[0].data[1] = payabaleInterest;
  pie.update();
  line.update();
}

// Initialize everything
function initialize() {
  document.querySelector("#loan-amt-text").innerText =
    parseInt(loan_amt_slider.value).toLocaleString("en-US") + " сом";
  P = parseFloat(document.getElementById("loan-amount").value);

  document.querySelector("#interest-rate-text").innerText =
    int_rate_slider.value + "%";
  R = parseFloat(document.getElementById("interest-rate").value);

  document.querySelector("#loan-period-text").innerText =
    loan_period_slider.value + " лет (год)";
  N = parseFloat(document.getElementById("loan-period").value);

  line = new Chart(document.getElementById("lineChart"), {
    data: {
      datasets: [{
          type: "line",
          label: "Yearly Principal paid",
          borderColor: "rgb(54, 162, 235)",
          data: []
        },
        {
          type: "line",
          label: "Yearly Interest paid",
          borderColor: "rgb(255, 99, 132)",
          data: []
        }
      ],
      labels: []
    },
    options: {
      plugins: {
        title: {
          display: true,
          text: "Yearly Payment Breakdown"
        }
      },
      scales: {
        x: {
          title: {
            color: "grey",
            display: true,
            text: "Years Passed"
          }
        },
        y: {
          title: {
            color: "grey",
            display: true,
            text: "Money in Rs."
          }
        }
      }
    }
  });

  pie = new Chart(document.getElementById("pieChart"), {
    type: "doughnut",
    data: {
      labels: ["Сумма кредита", "Переплата"],
      datasets: [{
        label: "Home Loan Details",
        data: [0, 0],
        backgroundColor: ["rgb(54, 162, 235)", "rgb(255, 99, 132)"],
        hoverOffset: 4
      }]
    },
    options: {
      plugins: {
        title: {
          display: true,
          text: "График"
        }
      }
    }
  });
  displayDetails();
}
initialize();


Ответы (0 шт):