Holy Cross Lake View S.S.S - Wanyange | Excellence in Education
Holy Cross Lake View SSS | Exam Timetables – Per Scientiam Ad Serviendum

Exam Timetables

Access and manage examination timetables for UCE, UACE, internal, and mock exams. Real-time editing with unlimited year support.

Real-time updates

UCE Examination Timetable

Term I, 2025

DateDayTimeSubjectPaperVenue
Loading timetable...

Admin Control

Quick Actions
Year Management
Add / Edit Exam

Add New Exam

Data Management
Action completed
`); printWindow.document.close(); printWindow.print(); document.title = originalTitle; } // Event Listeners document.addEventListener('DOMContentLoaded', () => { initData(); renderTimetable(); // Flatpickr date picker flatpickr("#examDate", { dateFormat: "Y-m-d", minDate: "today", onChange: function(selectedDates, dateStr, instance) { // Date selected } }); // Admin panel toggle const adminToggle = document.getElementById('adminToggleBtn'); const adminPanel = document.getElementById('adminPanel'); const closeAdmin = document.getElementById('closeAdminBtn'); adminToggle.addEventListener('click', () => { adminPanel.classList.toggle('active'); adminToggle.classList.toggle('active'); resetForm(); }); closeAdmin.addEventListener('click', () => { adminPanel.classList.remove('active'); adminToggle.classList.remove('active'); }); // Selector changes document.getElementById('examTypeSelect').addEventListener('change', () => { renderTimetable(); updateYearManager(); }); document.getElementById('termSelect').addEventListener('change', renderTimetable); document.getElementById('applyYearBtn').addEventListener('click', renderTimetable); document.getElementById('yearSelect').addEventListener('change', renderTimetable); // Admin buttons document.getElementById('addExamBtn').addEventListener('click', () => { resetForm(); adminPanel.classList.add('active'); adminToggle.classList.add('active'); }); document.getElementById('editExamBtn').addEventListener('click', editSelectedExam); document.getElementById('deleteExamBtn').addEventListener('click', deleteSelectedExam); document.getElementById('addYearBtn').addEventListener('click', addNewYear); document.getElementById('exportExcelBtn').addEventListener('click', exportToExcel); document.getElementById('exportJsonBtn').addEventListener('click', exportBackup); document.getElementById('importBackupBtn').addEventListener('click', importBackup); document.getElementById('clearAllBtn').addEventListener('click', clearAllData); document.getElementById('printBtn').addEventListener('click', printTimetable); document.getElementById('importFileInput').addEventListener('change', handleFileImport); // Save exam form document.getElementById('saveExamBtn').addEventListener('click', () => { const examData = { date: document.getElementById('examDate').value, time: document.getElementById('examTime').value, subject: document.getElementById('examSubject').value, paper: document.getElementById('examPaper').value, venue: document.getElementById('examVenue').value }; if (!examData.date || !examData.subject || !examData.venue) { showToast('Please fill in all required fields', true); return; } if (currentEditId) { updateExam(currentEditId, examData); } else { addExam(examData); } resetForm(); }); }); // Scroll Animation const faders = document.querySelectorAll('.fade-up'); const appearOptions = { threshold: 0.2, rootMargin: "0px 0px -20px 0px" }; const appearOnScroll = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('visible'); appearOnScroll.unobserve(entry.target); } }); }, appearOptions); faders.forEach(el => appearOnScroll.observe(el));