{"id":26195,"date":"2024-12-10T22:44:37","date_gmt":"2024-12-11T03:44:37","guid":{"rendered":"https:\/\/palegoldenrod-mosquito-296296.hostingersite.com\/calculator\/"},"modified":"2024-12-11T09:15:48","modified_gmt":"2024-12-11T14:15:48","slug":"calculator","status":"publish","type":"page","link":"https:\/\/maxxfinance.ca\/en\/calculator\/","title":{"rendered":"Calculator"},"content":{"rendered":"\n<div class=\"maxx-calculateur\" style=\"max-width: 800px; margin: 0 auto; padding: 20px; background: #FFFFFF; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);\">\n    <form id=\"calculateur-financement\" onsubmit=\"calculerFinancement(event)\">\n        <div style=\"margin-bottom: 15px;\">\n            <label for=\"montant\" style=\"display: block; margin-bottom: 5px; font-weight: bold; color: #202020;\">Amount of equipment ($)<\/label>\n            <input type=\"number\" id=\"montant\" min=\"5000\" max=\"500000\" style=\"width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px;\" required=\"\"\/>\n        <\/div>\n\n        <div style=\"margin-bottom: 15px;\">\n            <label for=\"duree\" style=\"display: block; margin-bottom: 5px; font-weight: bold; color: #202020;\">Duration (months)<\/label>\n            <select id=\"duree\" style=\"width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px;\" required=\"\">\n                <option value=\"24\">24 months<\/option>\n                <option value=\"36\">36 months<\/option>\n                <option value=\"48\">48 months<\/option>\n                <option value=\"60\">60 months<\/option>\n                <option value=\"72\">72 months<\/option>\n                <option value=\"84\">84 months<\/option>\n            <\/select>\n        <\/div>\n\n        <div style=\"margin-bottom: 15px;\">\n            <label for=\"taux\" style=\"display: block; margin-bottom: 5px; font-weight: bold; color: #202020;\">Interest rate (%)<\/label>\n            <input type=\"number\" id=\"taux\" step=\"0.01\" min=\"0\" max=\"20\" value=\"7.49\" style=\"width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px;\" required=\"\"\/>\n        <\/div>\n\n        <div style=\"margin-bottom: 15px;\">\n            <label for=\"residuel-type\" style=\"display: block; margin-bottom: 5px; font-weight: bold; color: #202020;\">Type of residual<\/label>\n            <select id=\"residuel-type\" onchange=\"changerTypeResiduel()\" style=\"width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px;\">\n                <option value=\"amount\">Amount ($)<\/option>\n                <option value=\"percentage\">Percentage (%)<\/option>\n            <\/select> \n        <\/div>\n\n        <div style=\"margin-bottom: 15px;\">\n            <label for=\"residuel\" id=\"residuel-label\" style=\"display: block; margin-bottom: 5px; font-weight: bold; color: #202020;\">Residual value ($)<\/label>\n            <input type=\"number\" id=\"residuel\" min=\"0\" value=\"100\" style=\"width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px;\"\/>\n        <\/div>\n\n        <button type=\"submit\" style=\"background: #80cc28; color: #FFFFFF; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; width: 100%; font-weight: bold;\">Calculate<\/button>\n    <\/form>\n\n    <div id=\"resultats\" style=\"display: none; margin-top: 20px; padding: 15px; background: #FFFFFF; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);\">\n        <h3 style=\"color: #202020;\">Estimated results<\/h3>\n        <div id=\"paiement-mensuel\" style=\"color: #202020; margin-bottom: 10px;\"><\/div>\n        <div id=\"cout-total\" style=\"color: #202020; margin-bottom: 10px;\"><\/div>\n        <div id=\"residuel-final\" style=\"color: #202020; margin-bottom: 20px;\"><\/div>\n        \n        <div style=\"margin-top: 20px; display: flex; gap: 10px;\">\n             <button onclick=\"toggleAmortissement()\" style=\"background: #80cc28; color: #FFFFFF; padding: 8px 16px; border: none; border-radius: 4px; cursor: pointer; font-weight: bold;\">\n See the amortization table\n <\/button>\n            <a href=\"https:\/\/www.quebecfinancement.ca\" target=\"_blank\" style=\"background: #202020; color: #FFFFFF; padding: 8px 16px; border: none; border-radius: 4px; cursor: pointer; text-decoration: none; font-weight: bold;\">\n Make an appointment\n <\/a> \n        <\/div>\n\n        <div id=\"table-amortissement\" style=\"display: none; margin-top: 20px; overflow-x: auto;\">\n            <table style=\"width: 100%; border-collapse: collapse; min-width: 600px;\">\n                <thead>\n                    <tr style=\"background: #80cc28; color: #FFFFFF;\">\n                        <th style=\"padding: 8px; border: 1px solid #ddd; text-align: left;\">Payment<\/th>\n                        <th style=\"padding: 8px; border: 1px solid #ddd; text-align: left;\">Date<\/th>\n                        <th style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">Payment<\/th>\n                        <th style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">Interest<\/th>\n                        <th style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">Capital<\/th>\n                        <th style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">Balance<\/th>\n                    <\/tr>\n                <\/thead>\n                <tbody id=\"amortissement-body\">\n                <\/tbody>\n            <\/table>\n        <\/div>\n    <\/div>\n\n    <div class=\"disclaimer\" style=\"margin-top: 15px; font-size: 12px; color: #666; text-align: center;\">\n  * Calculations are estimates. Contact us for a personalized quote.\n    <\/div>\n<\/div>\n\n<script>\nfunction changerTypeResiduel() {\n    const type = document.getElementById('residuel-type').value;\n    const label = document.getElementById('residuel-label');\n    const input = document.getElementById('residuel');\n    \n    if (type === 'montant') {\n        label.textContent = 'Valeur r\u00e9siduelle ($)';\n        input.value = '100';\n    } else {\n        label.textContent = 'Valeur r\u00e9siduelle (%)';\n        input.value = '20';\n    }\n}\n\nfunction PMT(rate, nper, pv, fv) {\n    const r = rate \/ 12;\n    const pmt = (pv - fv * Math.pow(1 + r, -nper)) * \n                (r * Math.pow(1 + r, nper)) \/ \n                (Math.pow(1 + r, nper) - 1) \/\n                (1 + r);\n    return pmt;\n}\n\nfunction formatDate(date) {\n    const options = { year: 'numeric', month: 'long', day: 'numeric' };\n    return date.toLocaleDateString('fr-CA', options);\n}\n\nfunction formatNumber(number) {\n    return Math.abs(number).toFixed(2).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, \" \");\n}\n\nfunction genererTableAmortissement(montant, tauxAnnuel, duree, residuel, paiementMensuel) {\n    const tauxMensuel = tauxAnnuel \/ 12;\n    let solde = montant;\n    let html = '';\n    const dateDebut = new Date();\n\n    \/\/ Ligne initiale\n    html += '<tr style=\"border-bottom: 1px solid #ddd;\">';\n    html += '<td style=\"padding: 8px; border: 1px solid #ddd;\">0';\n    html += '<td style=\"padding: 8px; border: 1px solid #ddd;\">' + formatDate(dateDebut) + '';\n    html += '<td style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">-';\n    html += '<td style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">-';\n    html += '<td style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">-';\n    html += '<td style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">' + formatNumber(solde) + ' \\$';\n    html += '';\n\n    \/\/ Lignes de paiement\n    for (let i = 1; i <= duree; i++) { const interet = solde * tauxMensuel; const capital = paiementMensuel - interet; solde = solde - capital; if (i === duree) { solde = residuel; } const date = new Date(dateDebut); date.setMonth(dateDebut.getMonth() + i - 1); html += '<tr style=\"border-bottom: 1px solid #ddd;\">';\n        html += '<td style=\"padding: 8px; border: 1px solid #ddd;\">' + i + '';\n        html += '<td style=\"padding: 8px; border: 1px solid #ddd;\">' + formatDate(date) + '';\n        html += '<td style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">' + formatNumber(paiementMensuel) + ' $';\n        html += '<td style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">' + formatNumber(interet) + ' $';\n        html += '<td style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">' + formatNumber(capital) + ' $';\n        html += '<td style=\"padding: 8px; border: 1px solid #ddd; text-align: right;\">' + formatNumber(solde) + ' $';\n        html += '';\n    }\n\n    return html;\n}\n\nfunction toggleAmortissement() {\n    const table = document.getElementById('table-amortissement');\n    table.style.display = table.style.display === 'none' ? 'block' : 'none';\n}\n\nfunction calculerFinancement(event) {\n    event.preventDefault();\n    \n    const montant = parseFloat(document.getElementById('montant').value);\n    const duree = parseInt(document.getElementById('duree').value);\n    const tauxAnnuel = parseFloat(document.getElementById('taux').value) \/ 100;\n    const residuelType = document.getElementById('residuel-type').value;\n    const residuelValeur = parseFloat(document.getElementById('residuel').value);\n    \n    let residuel;\n    if (residuelType === 'pourcentage') {\n        residuel = (residuelValeur \/ 100) * montant;\n    } else {\n        residuel = residuelValeur;\n    }\n\n    const paiementMensuel = PMT(tauxAnnuel, duree, montant, residuel);\n\n    document.getElementById('paiement-mensuel').innerHTML = 'Paiement mensuel: ' + formatNumber(paiementMensuel) + ' $';\n    document.getElementById('cout-total').innerHTML = 'Co\u00fbt total: ' + formatNumber((Math.abs(paiementMensuel) * duree) + residuel) + ' $';\n    document.getElementById('residuel-final').innerHTML = 'Valeur r\u00e9siduelle: ' + formatNumber(residuel) + ' $';\n    document.getElementById('resultats').style.display = 'block';\n\n    \/\/ G\u00e9n\u00e9rer la table d'amortissement\n    document.getElementById('amortissement-body').innerHTML = genererTableAmortissement(\n        montant, \n        tauxAnnuel, \n        duree, \n        residuel, \n        Math.abs(paiementMensuel)\n    );\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Amount of equipment ($) Duration (months) 24 months36 months48 months60 months72 months84 months Interest rate (%) Type of residual Amount ($)Percentage (%) Residual value ($) Calculate Estimated results See the amortization table Make an appointment Payment Date Payment Interest Capital Balance * Calculations are estimates. Contact us for a personalized quote.<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-26195","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/maxxfinance.ca\/en\/wp-json\/wp\/v2\/pages\/26195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maxxfinance.ca\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/maxxfinance.ca\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/maxxfinance.ca\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/maxxfinance.ca\/en\/wp-json\/wp\/v2\/comments?post=26195"}],"version-history":[{"count":16,"href":"https:\/\/maxxfinance.ca\/en\/wp-json\/wp\/v2\/pages\/26195\/revisions"}],"predecessor-version":[{"id":26233,"href":"https:\/\/maxxfinance.ca\/en\/wp-json\/wp\/v2\/pages\/26195\/revisions\/26233"}],"wp:attachment":[{"href":"https:\/\/maxxfinance.ca\/en\/wp-json\/wp\/v2\/media?parent=26195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}