Sbi Fd Interest Rate Calculator
.calculator-widget {
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
background: #fff;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.calc-header {
text-align: center;
margin-bottom: 30px;
}
.calc-header h2 {
color: #2c3e50;
margin-bottom: 10px;
}
.calc-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.input-group {
margin-bottom: 15px;
}
.input-group label {
display: block;
margin-bottom: 5px;
font-weight: 600;
color: #555;
}
.input-group input, .input-group select {
width: 100%;
padding: 12px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
}
.input-group input:focus {
border-color: #3498db;
outline: none;
}
.calc-btn-container {
grid-column: 1 / -1;
text-align: center;
margin-top: 10px;
}
.calc-button {
background-color: #2ecc71;
color: white;
border: none;
padding: 15px 40px;
font-size: 18px;
font-weight: bold;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}
.calc-button:hover {
background-color: #27ae60;
}
.results-section {
margin-top: 30px;
background-color: #f8f9fa;
padding: 20px;
border-radius: 8px;
border-left: 5px solid #3498db;
display: none; /* Hidden by default */
}
.results-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.result-item {
text-align: center;
}
.result-label {
font-size: 14px;
color: #7f8c8d;
text-transform: uppercase;
letter-spacing: 1px;
}
.result-value {
font-size: 24px;
font-weight: bold;
color: #2c3e50;
margin-top: 5px;
}
.big-result {
grid-column: 1 / -1;
margin-bottom: 20px;
padding-bottom: 20px;
border-bottom: 1px solid #e0e0e0;
}
.big-result .result-value {
font-size: 36px;
color: #2980b9;
}
.seo-content {
margin-top: 50px;
line-height: 1.6;
color: #333;
}
.seo-content h3 {
color: #2c3e50;
margin-top: 30px;
}
.seo-content ul {
margin-bottom: 20px;
padding-left: 20px;
}
@media (max-width: 600px) {
.calc-grid, .results-grid {
grid-template-columns: 1fr;
}
}
function calculateMortgage() {
// 1. Get input values strictly using getElementById
var priceInput = document.getElementById("homePrice").value;
var downInput = document.getElementById("downPayment").value;
var rateInput = document.getElementById("interestRate").value;
var termInput = document.getElementById("loanTerm").value;
// 2. Validate inputs
if (priceInput === "" || downInput === "" || rateInput === "") {
alert("Please fill in all fields (Home Price, Down Payment, and Interest Rate) to calculate.");
return;
}
var price = parseFloat(priceInput);
var down = parseFloat(downInput);
var rate = parseFloat(rateInput);
var termYears = parseInt(termInput);
if (isNaN(price) || isNaN(down) || isNaN(rate) || isNaN(termYears)) {
alert("Please enter valid numbers.");
return;
}
if (price <= 0) {
alert("Home Price must be greater than zero.");
return;
}
// 3. Perform Calculations
// Loan Amount = Price – Down Payment
var principal = price – down;
// If down payment is greater than price
if (principal < 0) {
alert("Down payment cannot be greater than the home price.");
return;
}
// Monthly Interest Rate (r) = Annual Rate / 100 / 12
var monthlyRate = rate / 100 / 12;
// Total Number of Payments (n) = Years * 12
var numberOfPayments = termYears * 12;
var monthlyPayment = 0;
// Handle edge case where interest rate is 0
if (rate === 0) {
monthlyPayment = principal / numberOfPayments;
} else {
// Standard Mortgage Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1 ]
// Using Math.pow for exponents
var x = Math.pow(1 + monthlyRate, numberOfPayments);
monthlyPayment = (principal * x * monthlyRate) / (x – 1);
}
var totalPayment = monthlyPayment * numberOfPayments;
var totalInterest = totalPayment – principal;
// 4. Update the DOM with results
// Formatter for currency
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
document.getElementById("displayMonthly").innerHTML = formatter.format(monthlyPayment);
document.getElementById("displayPrincipal").innerHTML = formatter.format(principal);
document.getElementById("displayInterest").innerHTML = formatter.format(totalInterest);
document.getElementById("displayTotalCost").innerHTML = formatter.format(totalPayment);
// Show the result container
document.getElementById("resultContainer").style.display = "block";
}