{"id":32591,"date":"2025-12-09T22:06:03","date_gmt":"2025-12-10T03:06:03","guid":{"rendered":"https:\/\/thomasdruckrealtor.com\/hypothekenrechner\/"},"modified":"2026-11-10T14:41:32","modified_gmt":"2026-11-10T19:41:32","slug":"hypothekenrechner","status":"publish","type":"page","link":"https:\/\/thomasdruckrealtor.com\/de\/hypothekenrechner\/","title":{"rendered":"Hypothekenrechner"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"32591\" class=\"elementor elementor-32591 elementor-1202\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-23d1070 banner-first-sec e-flex e-con-boxed e-con e-parent\" data-id=\"23d1070\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-1e617b7 e-con-full e-flex e-con e-child\" data-id=\"1e617b7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4e6612e elementor-widget elementor-widget-heading\" data-id=\"4e6612e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Hypothekenrechner\n<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6cb06a7 elementor-absolute elementor-widget elementor-widget-image\" data-id=\"6cb06a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"920\" height=\"1024\" src=\"https:\/\/thomasdruckrealtor.com\/wp-content\/uploads\/2025\/10\/image-3.png\" class=\"attachment-full size-full wp-image-32315\" alt=\"Palme vor einem Himmel in Miami\" srcset=\"https:\/\/thomasdruckrealtor.com\/wp-content\/uploads\/2025\/10\/image-3.png 920w, https:\/\/thomasdruckrealtor.com\/wp-content\/uploads\/2025\/10\/image-3-270x300.png 270w, https:\/\/thomasdruckrealtor.com\/wp-content\/uploads\/2025\/10\/image-3-768x855.png 768w\" sizes=\"(max-width: 920px) 100vw, 920px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c74265b e-flex e-con-boxed e-con e-parent\" data-id=\"c74265b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-73c8238 e-con-full e-flex e-con e-child\" data-id=\"73c8238\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-48b51df elementor-widget elementor-widget-heading\" data-id=\"48b51df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ein zu 100 % kostenloser Rechner f\u00fcr Hypotheken und Erschwinglichkeit\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fab3af8 elementor-widget elementor-widget-text-editor\" data-id=\"fab3af8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Dieser Rechner erm\u00f6glicht es Ihnen, Ihre monatliche Rate basierend auf Faktoren wie den folgenden zu berechnen:<\/p><ul><li style=\"text-align: left;\">Darlehensbetrag<\/li><li style=\"text-align: left;\">Zinssatz<\/li><li style=\"text-align: left;\">Anzahlung<\/li><li style=\"text-align: left;\">Grundsteuer<\/li><li style=\"text-align: left;\">Versicherungskosten<\/li><li style=\"text-align: left;\">HOA-Geb\u00fchren<\/li><\/ul><p>Der Erschwinglichkeitsrechner kehrt den Ansatz um und erm\u00f6glicht es Ihnen, Ihren maximalen Darlehensbetrag f\u00fcr eine gew\u00fcnschte monatliche Rate unter Verwendung derselben Parameter wie oben zu finden.<\/p><p>Wenn Sie den maximalen Darlehensbetrag ermitteln m\u00fcssen, f\u00fcr den Sie sich qualifizieren k\u00f6nnen, empfehle ich Ihnen dringend, mit einem qualifizierten Kreditgeber \/ Hypothekenmakler zu sprechen. Sie k\u00f6nnen jedoch <span style=\"text-decoration: underline;\"><span style=\"color: #ffffff; text-decoration: underline;\"><a style=\"color: #ffffff; text-decoration: underline;\" href=\"https:\/\/thomasdruckrealtor.com\/de\/finanzierungsrechner\/\">dieses Tool nutzen, um eine Sch\u00e4tzung<\/a><\/span><\/span> basierend auf Ihrem Einkommen und Ihrem Schulden-Einkommens-Verh\u00e4ltnis zu erhalten.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fd2e4b0 e-flex e-con-boxed e-con e-parent\" data-id=\"fd2e4b0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bcedbb3 elementor-widget elementor-widget-html\" data-id=\"bcedbb3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--<div class=\"tabs\"><button class=\"tab-button active\" data-tab=\"regular\">Regular Calculator<\/button> <button class=\"tab-button\" data-tab=\"affordability\">Affordability Calculator<\/button><\/div>-->\r\n<div id=\"regular-tab\" class=\"tab-content active\">\r\n<div class=\"calculator\">\r\n<h2>Hypothekenrechner<\/h2>\r\n<form id=\"mortgageForm\">\r\n<div class=\"input-group\"><label for=\"homePrice\">Immobilienpreis ($):<\/label> <input id=\"homePrice\" min=\"0\" required=\"\" step=\"1000\" type=\"number\" value=\"300000\"><\/div>\r\n<div class=\"input-group\"><label for=\"downPaymentType\">Anzahlung:<\/label>\r\n<div class=\"downpayment-container\"><input id=\"downPaymentValue\" min=\"0\" required=\"\" type=\"number\" value=\"60000\"\/><select id=\"downPaymentType\">\r\n<option value=\"amount\">Dollarbetrag<\/option>\r\n<option value=\"percentage\">Prozentsatz<\/option>\r\n<\/select><\/div>\r\n<\/div>\r\n<div class=\"input-group\"><label for=\"loanTerm\">Laufzeit (Jahre):<\/label><select id=\"loanTerm\">\r\n<option value=\"30\">30 Jahre<\/option>\r\n<option value=\"25\">25 Jahre<\/option>\r\n<option value=\"20\">20 Jahre<\/option>\r\n<option value=\"15\">15 Jahre<\/option>\r\n<option value=\"10\">10 Jahre<\/option>\r\n<\/select><\/div>\r\n<div class=\"input-group\"><label for=\"interestRate\">Zinssatz (%):<\/label> <input id=\"interestRate\" max=\"30\" min=\"0\" required=\"\" step=\"0.01\" type=\"number\" value=\"6.5\"><\/div>\r\n<div class=\"input-group\"><label for=\"propertyTax\">J\u00e4hrliche Grundsteuer ($):<\/label> <input id=\"propertyTax\" min=\"0\" type=\"number\" value=\"3600\"><\/div>\r\n<div class=\"input-group\"><label for=\"homeInsurance\">J\u00e4hrliche Geb\u00e4udeversicherung ($):<\/label> <input id=\"homeInsurance\" min=\"0\" type=\"number\" value=\"1200\"><\/div>\r\n<div class=\"input-group\"><label for=\"hoaFee\">Monatliche HOA-Geb\u00fchr ($):<\/label> <input id=\"hoaFee\" min=\"0\" type=\"number\" value=\"250\"><\/div>\r\n<button id=\"calculateBtn\" type=\"button\">Berechnen<\/button><\/form>\r\n<div id=\"result\" class=\"result\">\r\n<h2>Aufschl\u00fcsselung der monatlichen Rate<\/h2>\r\n<div class=\"result-row\">Tilgung & Zinsen:<span id=\"principalInterest\">$0<\/span><\/div>\r\n<div class=\"result-row\">Grundsteuer:<span id=\"propertyTaxMonthly\">$0<\/span><\/div>\r\n<div class=\"result-row\">Geb\u00e4udeversicherung:<span id=\"insuranceMonthly\">$0<\/span><\/div>\r\n<div class=\"result-row\">HOA-Geb\u00fchr:<span id=\"hoaMonthly\">$0<\/span><\/div>\r\n<div class=\"total-payment\">Monatliche Gesamtrate:<span id=\"totalPayment\">$0<\/span><\/div>\r\n<div class=\"total-payment\">Darlehensbetrag:<span id=\"loanAmount\">$0<\/span><\/div>\r\n<\/div>\r\n<div class=\"amortization\"><button id=\"toggleAmortization\" class=\"toggle-amortization\" type=\"button\">Tilgungsplan anzeigen<\/button>\r\n<div id=\"amortizationTable\">\r\n<h2>Tilgungsplan<\/h2>\r\n<table id=\"amortizationSchedule\">\r\n<thead>\r\n<tr>\r\n<th>Jahr<\/th>\r\n<th>Anfangssaldo<\/th>\r\n<th>Zinsen des Jahres<\/th>\r\n<th>Tilgung des Jahres<\/th>\r\n<th>Endsaldo<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody><!-- Will be filled with JavaScript --><\/tbody>\r\n<\/table>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div id=\"affordability-tab\" class=\"tab-content\">\r\n<div class=\"calculator\">\r\n<h1>Rechner f\u00fcr Hypotheken-Erschwinglichkeit<\/h1>\r\n<form id=\"affordabilityForm\">\r\n<div class=\"input-group\"><label for=\"monthlyPayment\">Gew\u00fcnschte monatliche Rate ($):<\/label> <input id=\"monthlyPayment\" min=\"0\" required=\"\" step=\"100\" type=\"number\" value=\"2000\"><\/div>\r\n<div class=\"input-group\"><label for=\"affordDownPaymentType\">Anzahlung:<\/label>\r\n<div class=\"downpayment-container\"><input id=\"affordDownPaymentValue\" min=\"0\" required=\"\" type=\"number\" value=\"20\"\/><select id=\"affordDownPaymentType\">\r\n<option value=\"percentage\">Prozentsatz<\/option>\r\n<option value=\"amount\">Dollarbetrag<\/option>\r\n<\/select><\/div>\r\n<\/div>\r\n<div class=\"input-group\"><label for=\"affordLoanTerm\">Laufzeit (Jahre):<\/label><select id=\"affordLoanTerm\">\r\n<option value=\"30\">30 Jahre<\/option>\r\n<option value=\"25\">25 Jahre<\/option>\r\n<option value=\"20\">20 Jahre<\/option>\r\n<option value=\"15\">15 Jahre<\/option>\r\n<option value=\"10\">10 Jahre<\/option>\r\n<\/select><\/div>\r\n<div class=\"input-group\"><label for=\"affordInterestRate\">Zinssatz (%):<\/label> <input id=\"affordInterestRate\" max=\"30\" min=\"0\" required=\"\" step=\"0.01\" type=\"number\" value=\"6.5\"><\/div>\r\n<div class=\"input-group\"><label for=\"affordPropertyTax\">J\u00e4hrliche Grundsteuer ($):<\/label> <input id=\"affordPropertyTax\" min=\"0\" required=\"\" type=\"number\" value=\"3600\"><\/div>\r\n<div class=\"input-group\"><label for=\"affordHomeInsurance\">J\u00e4hrliche Geb\u00e4udeversicherung ($):<\/label> <input id=\"affordHomeInsurance\" min=\"0\" required=\"\" type=\"number\" value=\"1200\"><\/div>\r\n<div class=\"input-group\"><label for=\"affordHoaFee\">Monatliche HOA-Geb\u00fchr ($):<\/label> <input id=\"affordHoaFee\" min=\"0\" type=\"number\" value=\"250\"><\/div>\r\n<button id=\"calculateAffordBtn\" type=\"button\">Maximalen Immobilienpreis berechnen<\/button><\/form>\r\n<div id=\"affordResult\" class=\"result\">\r\n<h2>Analyse der Erschwinglichkeit<\/h2>\r\n<div class=\"total-payment\">Maximaler Immobilienpreis:<span id=\"maxHomePrice\">$0<\/span><\/div>\r\n<div class=\"total-payment\">Maximaler Darlehensbetrag:<span id=\"maxLoanAmount\">$0<\/span><\/div>\r\n<div class=\"total-payment\">Empfohlene Anzahlung:<span id=\"recommendedDownPayment\">$0<\/span><\/div>\r\n<div class=\"result-row\">Tilgung & Zinsen (vom Maximalbetrag):<span id=\"affordPrincipalInterest\">$0<\/span><\/div>\r\n<div class=\"result-row\">Gesch\u00e4tzte Grundsteuer:<span id=\"affordPropertyTax\">$0<\/span><\/div>\r\n<div class=\"result-row\">Gesch\u00e4tzte Geb\u00e4udeversicherung:<span id=\"affordInsurance\">$0<\/span><\/div>\r\n<div class=\"result-row\">HOA-Geb\u00fchr:<span id=\"affordHoa\">$0<\/span><\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<p><script>\r\n        document.addEventListener('DOMContentLoaded', function() {\r\n            \/\/ Tab navigation\r\n            const tabButtons = document.querySelectorAll('.tab-button');\r\n            const tabContents = document.querySelectorAll('.tab-content');\r\n            \r\n            tabButtons.forEach(button => {\r\n                button.addEventListener('click', function() {\r\n                    const tabId = this.getAttribute('data-tab');\r\n                    \r\n                    \/\/ Remove active class from all buttons and tabs\r\n                    tabButtons.forEach(btn => btn.classList.remove('active'));\r\n                    tabContents.forEach(content => content.classList.remove('active'));\r\n                    \r\n                    \/\/ Add active class to current button and tab\r\n                    this.classList.add('active');\r\n                    document.getElementById(tabId + '-tab').classList.add('active');\r\n                });\r\n            });\r\n            \r\n            \/\/ Regular calculator elements\r\n            const homePrice = document.getElementById('homePrice');\r\n            const downPaymentValue = document.getElementById('downPaymentValue');\r\n            const downPaymentType = document.getElementById('downPaymentType');\r\n            const loanTerm = document.getElementById('loanTerm');\r\n            const interestRate = document.getElementById('interestRate');\r\n            const propertyTax = document.getElementById('propertyTax');\r\n            const homeInsurance = document.getElementById('homeInsurance');\r\n            const hoaFee = document.getElementById('hoaFee');\r\n            const calculateBtn = document.getElementById('calculateBtn');\r\n            const toggleAmortization = document.getElementById('toggleAmortization');\r\n            const amortizationTable = document.getElementById('amortizationTable');\r\n            \r\n            \/\/ Output elements\r\n            const principalInterest = document.getElementById('principalInterest');\r\n            const propertyTaxMonthly = document.getElementById('propertyTaxMonthly');\r\n            const insuranceMonthly = document.getElementById('insuranceMonthly');\r\n            const hoaMonthly = document.getElementById('hoaMonthly');\r\n            const totalPayment = document.getElementById('totalPayment');\r\n            const loanAmountDisplay = document.getElementById('loanAmount');\r\n            \r\n            \/\/ Affordability calculator elements\r\n            const monthlyPayment = document.getElementById('monthlyPayment');\r\n            const affordDownPaymentValue = document.getElementById('affordDownPaymentValue');\r\n            const affordDownPaymentType = document.getElementById('affordDownPaymentType');\r\n            const affordLoanTerm = document.getElementById('affordLoanTerm');\r\n            const affordInterestRate = document.getElementById('affordInterestRate');\r\n            const affordPropertyTax = document.getElementById('affordPropertyTax');\r\n            const affordHomeInsurance = document.getElementById('affordHomeInsurance');\r\n            const affordHoaFee = document.getElementById('affordHoaFee');\r\n            const calculateAffordBtn = document.getElementById('calculateAffordBtn');\r\n            \r\n            \/\/ Affordability output elements\r\n            const maxHomePrice = document.getElementById('maxHomePrice');\r\n            const maxLoanAmount = document.getElementById('maxLoanAmount');\r\n            const recommendedDownPayment = document.getElementById('recommendedDownPayment');\r\n            const affordPrincipalInterest = document.getElementById('affordPrincipalInterest');\r\n            const affordPropertyTaxOutput = document.getElementById('affordPropertyTax');\r\n            const affordInsurance = document.getElementById('affordInsurance');\r\n            const affordHoa = document.getElementById('affordHoa');\r\n            \r\n            \/\/ Down payment type change handler for regular calculator\r\n            downPaymentType.addEventListener('change', function() {\r\n                \/\/ Reset the down payment value when switching between types\r\n                if (this.value === 'percentage') {\r\n                    \/\/ Set a default percentage (20%)\r\n                    downPaymentValue.value = 20;\r\n                } else {\r\n                    \/\/ Set a default dollar amount (20% of current home price)\r\n                    const price = parseFloat(homePrice.value) || 0;\r\n                    downPaymentValue.value = Math.round(price * 0.2);\r\n                }\r\n            });\r\n            \r\n            \/\/ Down payment type change handler for affordability calculator\r\n            affordDownPaymentType.addEventListener('change', function() {\r\n                if (this.value === 'percentage') {\r\n                    affordDownPaymentValue.value = 20;\r\n                } else {\r\n                    affordDownPaymentValue.value = 60000; \/\/ Default dollar amount\r\n                }\r\n            });\r\n            \r\n            \/\/ Calculate mortgage for regular calculator\r\n            calculateBtn.addEventListener('click', function() {\r\n                \/\/ Get values from inputs and ensure they're numbers\r\n                const homePriceValue = parseFloat(homePrice.value) || 0;\r\n                const downPaymentInputValue = parseFloat(downPaymentValue.value) || 0;\r\n                const loanTermValue = parseInt(loanTerm.value) || 30;\r\n                const interestRateValue = parseFloat(interestRate.value) || 0;\r\n                const propertyTaxValue = parseFloat(propertyTax.value) || 0;\r\n                const homeInsuranceValue = parseFloat(homeInsurance.value) || 0;\r\n                const hoaFeeValue = parseFloat(hoaFee.value) || 0;\r\n                \r\n                let downPaymentAmount;\r\n                \r\n                \/\/ Calculate down payment based on type\r\n                if (downPaymentType.value === 'percentage') {\r\n                    downPaymentAmount = homePriceValue * (downPaymentInputValue \/ 100);\r\n                } else {\r\n                    downPaymentAmount = downPaymentInputValue;\r\n                }\r\n                \r\n                \/\/ Calculate loan amount\r\n                const loanAmount = homePriceValue - downPaymentAmount;\r\n                \r\n                \/\/ Monthly interest rate\r\n                const monthlyInterestRate = (interestRateValue \/ 100) \/ 12;\r\n                \r\n                \/\/ Number of payments (months)\r\n                const numberOfPayments = loanTermValue * 12;\r\n                \r\n                \/\/ Calculate monthly mortgage payment (principal + interest)\r\n                let monthlyPayment = 0;\r\n                if (monthlyInterestRate > 0) {\r\n                    monthlyPayment = loanAmount * (\r\n                        (monthlyInterestRate * Math.pow(1 + monthlyInterestRate, numberOfPayments)) \/ \r\n                        (Math.pow(1 + monthlyInterestRate, numberOfPayments) - 1)\r\n                    );\r\n                } else {\r\n                    \/\/ Handle 0% interest rate\r\n                    monthlyPayment = loanAmount \/ numberOfPayments;\r\n                }\r\n                \r\n                \/\/ Monthly property tax\r\n                const monthlyPropertyTax = propertyTaxValue \/ 12;\r\n                \r\n                \/\/ Monthly home insurance\r\n                const monthlyInsurance = homeInsuranceValue \/ 12;\r\n                \r\n                \/\/ Total monthly payment\r\n                const monthlyTotal = monthlyPayment + monthlyPropertyTax + monthlyInsurance + hoaFeeValue;\r\n                \r\n                \/\/ Update results\r\n                principalInterest.textContent = '$' + monthlyPayment.toFixed(2);\r\n                propertyTaxMonthly.textContent = '$' + monthlyPropertyTax.toFixed(2);\r\n                insuranceMonthly.textContent = '$' + monthlyInsurance.toFixed(2);\r\n                hoaMonthly.textContent = '$' + hoaFeeValue.toFixed(2);\r\n                totalPayment.textContent = '$' + monthlyTotal.toFixed(2);\r\n                loanAmountDisplay.textContent = '$' + loanAmount.toFixed(2);\r\n                \r\n                \/\/ Generate amortization schedule\r\n                generateAmortizationSchedule(loanAmount, monthlyInterestRate, numberOfPayments, monthlyPayment);\r\n            });\r\n            \r\n            \/\/ Calculate affordability\r\n            calculateAffordBtn.addEventListener('click', function() {\r\n                \/\/ Get values from inputs and ensure they're numbers\r\n                const desiredMonthlyPayment = parseFloat(monthlyPayment.value) || 0;\r\n                const affordDownPaymentInputValue = parseFloat(affordDownPaymentValue.value) || 0;\r\n                const affordLoanTermValue = parseInt(affordLoanTerm.value) || 30;\r\n                const affordInterestRateValue = parseFloat(affordInterestRate.value) || 0;\r\n                const affordPropertyTaxValue = parseFloat(affordPropertyTax.value) || 0;\r\n                const affordHomeInsuranceValue = parseFloat(affordHomeInsurance.value) || 0;\r\n                const affordHoaFeeValue = parseFloat(affordHoaFee.value) || 0;\r\n                \r\n                \/\/ Monthly interest rate\r\n                const monthlyInterestRate = (affordInterestRateValue \/ 100) \/ 12;\r\n                \r\n                \/\/ Number of payments (months)\r\n                const numberOfPayments = affordLoanTermValue * 12;\r\n                \r\n                \/\/ Monthly property tax and insurance\r\n                const monthlyPropertyTax = affordPropertyTaxValue \/ 12;\r\n                const monthlyInsurance = affordHomeInsuranceValue \/ 12;\r\n                \r\n                \/\/ Calculate how much of the monthly payment is available for principal & interest\r\n                const availableForPI = desiredMonthlyPayment - affordHoaFeeValue - monthlyPropertyTax - monthlyInsurance;\r\n                \r\n                \/\/ Calculate maximum loan amount\r\n                let maxLoanAmt = 0;\r\n                if (monthlyInterestRate > 0) {\r\n                    \/\/ This formula calculates the maximum loan amount given a monthly payment\r\n                    maxLoanAmt = availableForPI * (\r\n                        (Math.pow(1 + monthlyInterestRate, numberOfPayments) - 1) \/\r\n                        (monthlyInterestRate * Math.pow(1 + monthlyInterestRate, numberOfPayments))\r\n                    );\r\n                } else {\r\n                    \/\/ Handle 0% interest rate\r\n                    maxLoanAmt = availableForPI * numberOfPayments;\r\n                }\r\n                \r\n                \/\/ Calculate maximum home price based on down payment type and value\r\n                let maxHomePriceValue = 0;\r\n                let downPaymentAmount = 0;\r\n                \r\n                if (affordDownPaymentType.value === 'percentage') {\r\n                    \/\/ Convert percentage to decimal\r\n                    const downPaymentPercentage = affordDownPaymentInputValue \/ 100;\r\n                    \r\n                    \/\/ Calculate max home price: loan amount is (1 - down payment percentage) of home price\r\n                    maxHomePriceValue = maxLoanAmt \/ (1 - downPaymentPercentage);\r\n                    downPaymentAmount = maxHomePriceValue * downPaymentPercentage;\r\n                } else {\r\n                    \/\/ Down payment is a dollar amount\r\n                    downPaymentAmount = affordDownPaymentInputValue;\r\n                    maxHomePriceValue = maxLoanAmt + downPaymentAmount;\r\n                }\r\n                \r\n                \/\/ Calculate monthly principal and interest payment for validation\r\n                let monthlyPIPayment = 0;\r\n                if (monthlyInterestRate > 0) {\r\n                    monthlyPIPayment = maxLoanAmt * (\r\n                        (monthlyInterestRate * Math.pow(1 + monthlyInterestRate, numberOfPayments)) \/ \r\n                        (Math.pow(1 + monthlyInterestRate, numberOfPayments) - 1)\r\n                    );\r\n                } else {\r\n                    monthlyPIPayment = maxLoanAmt \/ numberOfPayments;\r\n                }\r\n                \r\n                \/\/ Display results\r\n                maxHomePrice.textContent = '$' + maxHomePriceValue.toFixed(2);\r\n                maxLoanAmount.textContent = '$' + maxLoanAmt.toFixed(2);\r\n                recommendedDownPayment.textContent = '$' + downPaymentAmount.toFixed(2);\r\n                affordPrincipalInterest.textContent = '$' + monthlyPIPayment.toFixed(2);\r\n                affordPropertyTaxOutput.textContent = '$' + monthlyPropertyTax.toFixed(2);\r\n                affordInsurance.textContent = '$' + monthlyInsurance.toFixed(2);\r\n                affordHoa.textContent = '$' + affordHoaFeeValue.toFixed(2);\r\n            });\r\n            \r\n            \/\/ Toggle amortization schedule\r\n            toggleAmortization.addEventListener('click', function() {\r\n                if (amortizationTable.style.display === 'block') {\r\n                    amortizationTable.style.display = 'none';\r\n                    toggleAmortization.textContent = 'Show Amortization Schedule';\r\n                } else {\r\n                    amortizationTable.style.display = 'block';\r\n                    toggleAmortization.textContent = 'Hide Amortization Schedule';\r\n                }\r\n            });\r\n            \r\n            \/\/ Function to generate amortization schedule (yearly)\r\n            function generateAmortizationSchedule(loanAmount, monthlyRate, totalMonths, monthlyPayment) {\r\n                const tbody = document.querySelector('#amortizationSchedule tbody');\r\n                tbody.innerHTML = '';\r\n                \r\n                let balance = loanAmount;\r\n                let year = 1;\r\n                let yearlyInterest = 0;\r\n                let yearlyPrincipal = 0;\r\n                \r\n                for (let month = 1; month <= totalMonths; month++) {\r\n                    \/\/ Monthly interest\r\n                    const interestPayment = balance * monthlyRate;\r\n                    \r\n                    \/\/ Monthly principal\r\n                    const principalPayment = monthlyPayment - interestPayment;\r\n                    \r\n                    \/\/ Update balance\r\n                    balance = balance - principalPayment;\r\n                    \r\n                    \/\/ Accumulate yearly totals\r\n                    yearlyInterest += interestPayment;\r\n                    yearlyPrincipal += principalPayment;\r\n                    \r\n                    \/\/ At the end of each year or loan term, add a row to the table\r\n                    if (month % 12 === 0 || month === totalMonths) {\r\n                        const beginningBalance = loanAmount - (yearlyPrincipal * year - yearlyPrincipal);\r\n                        const endingBalance = Math.max(0, balance);\r\n                        \r\n                        const row = document.createElement('tr');\r\n                        row.innerHTML = `\r\n                            <td>${year}<\/td>\r\n                            <td>$${beginningBalance.toFixed(2)}<\/td>\r\n                            <td>$${yearlyInterest.toFixed(2)}<\/td>\r\n                            <td>$${yearlyPrincipal.toFixed(2)}<\/td>\r\n                            <td>$${endingBalance.toFixed(2)}<\/td>\r\n                        `;\r\n                        tbody.appendChild(row);\r\n                        \r\n                        \/\/ Reset yearly totals\r\n                        yearlyInterest = 0;\r\n                        yearlyPrincipal = 0;\r\n                        year++;\r\n                    }\r\n                }\r\n            }\r\n            \r\n            \/\/ Calculate on page load with default values\r\n            calculateBtn.click();\r\n            calculateAffordBtn.click();\r\n        });\r\n    <\/script><\/p>\r\n<!-- \/wp:html -->\r\n\r\n<!-- wp:image {\"id\":25513,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" class=\"wp-image-25513\" src=\"https:\/\/thomasdruckrealtor.com\/wp-content\/uploads\/2025\/04\/mortgage-calculator-1024x529.jpg\" alt=\"\"\/>\r\n<figcaption class=\"wp-element-caption\">Berechnen Sie Ihre monatliche Rate oder wie viel Darlehen Sie sich basierend auf Ihrer gew\u00fcnschten Zahlung leisten k\u00f6nnen<\/figcaption>\r\n<\/figure>\r\n<!-- \/wp:image -->\r\n\r\n<!-- wp:paragraph -->\r\n<p>Wenn Sie Fragen zu diesen Rechnern haben oder Hilfe bei der Berechnung Ihrer monatlichen Rate oder Ihres maximalen Darlehensbetrags ben\u00f6tigen, z\u00f6gern Sie bitte nicht, mich zu kontaktieren.<\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:shortcode -->\r\n<p>[metform form_id=\"296\"]<\/p>\r\n<!-- \/wp:shortcode -->\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Hypothekenrechner Ein zu 100 % kostenloser Rechner f\u00fcr Hypotheken und Erschwinglichkeit Dieser Rechner erm\u00f6glicht es Ihnen, Ihre monatliche Rate basierend auf Faktoren wie den folgenden zu berechnen: Darlehensbetrag Zinssatz Anzahlung Grundsteuer Versicherungskosten HOA-Geb\u00fchren Der Erschwinglichkeitsrechner kehrt den Ansatz um und erm\u00f6glicht es Ihnen, Ihren maximalen Darlehensbetrag f\u00fcr eine gew\u00fcnschte monatliche Rate unter Verwendung derselben Parameter [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-32591","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/thomasdruckrealtor.com\/de\/wp-json\/wp\/v2\/pages\/32591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thomasdruckrealtor.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/thomasdruckrealtor.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/thomasdruckrealtor.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/thomasdruckrealtor.com\/de\/wp-json\/wp\/v2\/comments?post=32591"}],"version-history":[{"count":3,"href":"https:\/\/thomasdruckrealtor.com\/de\/wp-json\/wp\/v2\/pages\/32591\/revisions"}],"predecessor-version":[{"id":32594,"href":"https:\/\/thomasdruckrealtor.com\/de\/wp-json\/wp\/v2\/pages\/32591\/revisions\/32594"}],"wp:attachment":[{"href":"https:\/\/thomasdruckrealtor.com\/de\/wp-json\/wp\/v2\/media?parent=32591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}