function formatDateString(dateStr) { if (/^\d{4}-\d{2}-\d{2}$/.test(dateStr)) { const parts = dateStr.split('-'); const result = `${parts[2]}.${parts[1]}.${parts[0]}`; return result; } else { const d = new Date(dateStr); if (!isNaN(d)) { const result = d.toLocaleDateString('it-IT', { day: '2-digit', month: '2-digit', year: 'numeric' }).replace(/\//g, '.'); return result; } return dateStr; } } function formatTimeString(dateStr) { if (/(AM|PM)/i.test(dateStr)) { dateStr = "Jan 1, 1970 " + dateStr; } const d = new Date(dateStr); if (!isNaN(d)) { const formatted = d.toLocaleTimeString('it-IT', { hour: '2-digit', minute: '2-digit' }); return formatted; } return dateStr; } let today = new Date(); let currentYear = today.getFullYear(); let currentMonth = today.getMonth() + 1; function createCalendar(year, month) { const calendarDiv = document.getElementById('calendar'); const daysOfWeek = ['Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab', 'Dom']; const date = new Date(year, month - 1); let table = '
| ${day} | `).join('') + ''; let firstDayIndex = (date.getDay() + 6) % 7; let daysInMonth = new Date(year, month, 0).getDate(); let row = '|
|---|---|
| '; } for (let day = 1; day <= daysInMonth; day++) { let currentDate = new Date(year, month - 1, day); const formattedDate = currentDate.toLocaleDateString('en-US', { month: 'short', day: '2-digit', year: 'numeric' }); let isToday = (currentDate.getDate() === today.getDate() && currentDate.getMonth() === today.getMonth() && currentDate.getFullYear() === today.getFullYear()); let todayClass = isToday ? " today" : ""; // try to match any of the possible date fields from the event let eventObj = [...eventi, ...eventi26].find(evento => { const evDate = evento.date || evento.startDate || evento.endDate; return evDate === formattedDate; }); let extraClass = eventObj ? ' has-event' : ''; const eventDateAttr = eventObj ? (eventObj.date || eventObj.startDate || eventObj.endDate || '') : ''; row += ` | ${day} ${eventObj ? `` : ''} | `; if ((firstDayIndex + day) % 7 === 0) { row += '
| '; } } table += row + ' | |
| '.repeat(7) + ' |




