Long-Term Care Expense Budget Planner

  • Basic Information
  • Care Expenses
  • Projected Costs & Summary

Step 1: Basic Information

Step 2: Estimate Care Expenses

Home Care Details

$0

Assisted Living Details

Nursing Home Details

Additional Monthly Expenses

One-Time Initial Expenses

Step 3: Projected Costs & Summary

Please fill in the details in the previous tabs to see the summary.

Enter valid duration of care to see projections.

`; } summaryOutputEl.innerHTML = summaryHtml; } // Attach event listeners to all input fields to recalculate on change/input const allInputs = document.querySelectorAll('#ltcBudgetPlannerApp input, #ltcBudgetPlannerApp select'); allInputs.forEach(input => { input.addEventListener('input', calculateAndDisplaySummary); input.addEventListener('change', calculateAndDisplaySummary); // For select elements and some input types }); // --- PDF Download Functionality --- downloadPdfButton.addEventListener('click', () => { const printSectionContainer = document.getElementById('ltcBudgetPlannerAppPrintSectionContainer'); const printSection = document.getElementById('ltcBudgetPlannerAppPrintSection'); if(!printSection || !printSectionContainer) { console.error("Print section not found."); alert("Error: Could not prepare content for printing."); return; } // Clone the summary output and app title for printing const titleClone = document.querySelector('#ltcBudgetPlannerApp .ltc-planner-title').cloneNode(true); const summaryClone = summaryOutputEl.cloneNode(true); // Add an intro to the print version with current date const date = new Date(); const dateString = date.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }); const intro = document.createElement('p'); intro.innerHTML = `Long-Term Care Expense Budget Projection - Generated on ${dateString}
`; // ltc-no-print class won't apply here as it's for the main app context. // The @media print styles will target #ltcBudgetPlannerAppPrintSection elements. printSection.innerHTML = ''; // Clear previous content printSection.appendChild(titleClone); printSection.appendChild(intro); printSection.appendChild(summaryClone); // Temporarily make the print section visible for the print dialog // The @media print styles will handle final visibility for printing. // This step isn't strictly necessary if @media print handles it all, but can be useful for some browsers. // printSectionContainer.style.display = 'block'; window.print(); // printSectionContainer.style.display = 'none'; // Hide it again after printing (or if print was cancelled) }); // --- Initialization --- showTab(0); // Show the first tab initially updateCareSettingOptionsVisibility(); // Set initial visibility for care options updateHomeCareMonthlyCost(); // Calculate initial home care cost if applicable calculateAndDisplaySummary(); // Calculate initial summary based on default values });
Scroll to Top