Foreclosure Countdown Calculator
Your Foreclosure Timeline
‘ +
‘Timeline‘ +
‘‘ + data.minDays + ‘-‘ + data.maxDays + ‘ days‘ +
‘
‘ +
‘‘ +
‘State‘ +
‘‘ + data.state + ‘ (‘ + data.type + ‘)‘ +
‘
‘ +
‘‘ +
‘Status‘ +
‘‘ + data.urgencyText + ‘‘ +
‘
‘ +
‘‘ +
‘Money at Risk‘ +
‘$’ + data.totalMissed.toLocaleString() + ‘‘ +
‘
‘ +
‘‘ +
‘Your Equity‘ +
‘$’ + data.equity.toLocaleString() + ‘‘ +
‘
‘ +
‘‘ +
‘Potential Loss‘ +
‘$’ + data.potentialLoss.toLocaleString() + ‘‘ +
‘
‘;
resultsDiv.style.display = ‘block’;
}
const form = document.getElementById(‘foreclosureForm’);
if (form) {
form.addEventListener(‘submit’, function(e) {
e.preventDefault();
const zip = document.getElementById(‘zipCode’).value;
const missedPayments = parseInt(document.getElementById(‘missedPayments’).value);
const monthlyPayment = parseFloat(document.getElementById(‘monthlyPayment’).value);
const homeValue = parseFloat(document.getElementById(‘homeValue’).value);
const owedAmount = parseFloat(document.getElementById(‘owedAmount’).value);
const noticeStage = document.getElementById(‘noticeStage’).value;
const stateInfo = getStateInfo(zip);
let minDays = stateInfo.timeline[0];
let maxDays = stateInfo.timeline[1];
// Adjust timeline based on current stage
const stageAdjustments = {
‘none’: [0, 0],
‘demand’: [-30, -30],
‘default’: [-60, -60],
‘sale’: [-90, -90]
};
const adjustments = stageAdjustments[noticeStage] || [0, 0];
minDays = Math.max(minDays + adjustments[0], 7);
maxDays = Math.max(maxDays + adjustments[1], 30);
// Calculate financial impact
const equity = homeValue – owedAmount;
const totalMissed = missedPayments * monthlyPayment;
const potentialLoss = Math.max(equity * 0.75, 0);
// Determine urgency level
let urgencyClass = ‘safe’;
let urgencyText = ‘You have time to explore options’;
if (maxDays < 60) {
urgencyClass = 'urgent';
urgencyText = 'URGENT: Very little time left';
} else if (maxDays < 120) {
urgencyClass = 'warning';
urgencyText = 'Time is running short';
}
displayResults({
state: stateInfo.state,
type: stateInfo.type,
minDays: minDays,
maxDays: maxDays,
urgencyClass: urgencyClass,
urgencyText: urgencyText,
totalMissed: totalMissed,
equity: equity,
potentialLoss: potentialLoss
});
});
}
});