Holiday Shopping Budget Planner
Holiday Budget Setup
Recipients & Gift List
Add New Recipient & Gift Plan
Your Recipient Gift Plans
No recipients added yet.
Overall Budget: $0.00 |
Total Budgeted for Gifts: $0.00 |
Status: Awaiting setup...
Track Purchases
Purchase Log for Selected Recipient:
- No purchases logged or no recipient selected.
Budget Overview & Summary
Overall Figures
Overall Holiday Budget: N/A
Total Budgeted for Gifts: N/A
Total Actually Spent: N/A
Remaining Budget / Overspend: N/A
Recipient Breakdown
No recipient data to summarize yet.
Overall Holiday Budget: $${overallBudget.toFixed(2)}
`; pdfHtml += `Total Budgeted for Gifts: $${totalBudgetedForGifts.toFixed(2)}
`; pdfHtml += `Total Actually Spent: $${totalActualSpent.toFixed(2)}
`; pdfHtml += `Remaining / Overspend: $${remainingOrOverspend.toFixed(2)} ${remainingOrOverspend >= 0 ? '(Remaining)' : '(Overspent)'}
`; pdfHtml += `Recipient Gift & Spending Details
`; if (holidayData.recipients.length > 0) { pdfHtml += `| Recipient | Gift Idea(s) | Budgeted ($) | Actual Spent ($) | Difference ($) | Purchases & Status |
|---|---|---|---|---|---|
| ${r.name} | ${r.giftIdeas.replace(/\n/g, ' ') || 'N/A'} |
${r.budget.toFixed(2)} | ${spentOnRecipient.toFixed(2)} | ${diff.toFixed(2)} ${diff >=0 ? '' : '(Over)'} | ${purchasesDetails} |
No recipients planned.
`; } pdfPrintEl.innerHTML = pdfHtml; window.print(); pdfPrintEl.innerHTML = ''; }); // --- Initialization --- function setDefaultHolidayDates() { const today = new Date().toISOString().split('T')[0]; if (holidayPurchaseDateInput) holidayPurchaseDateInput.value = today; } updateHolidayTabDisplay(); setDefaultHolidayDates(); renderHolidayRecipients(); renderHolidaySummaryTab(); });