let currentDay = 0; const baseDate = new Date(); const studentsData = [ { name: "Jan Kowalski", behavior: {} }, { name: "Anna Nowak", behavior: {} }, { name: "Piotr Wiśniewski", behavior: {} }, { name: "Katarzyna Zielińska", behavior: {} } ]; function showTab(tabName) { const tabs = document.querySelectorAll('.tab'); tabs.forEach(tab => tab.classList.remove('active')); document.getElementById(tabName).classList.add('active'); if (tabName === 'criteria') { loadDayData(); } else if (tabName === 'points') { calculateStats(); } } function generateTable() { const table = document.getElementById('student-table'); table.innerHTML = ''; studentsData.forEach(student => { const row = document.createElement('tr'); row.innerHTML = ` ${student.name} `; table.appendChild(row); }); } function changeDay(direction) { saveDayData(); currentDay += direction; const newDate = new Date(baseDate); newDate.setDate(baseDate.getDate() + currentDay); document.getElementById('current-date').innerText = newDate.toLocaleDateString(); loadDayData(); } function loadDayData() { studentsData.forEach(student => { const studentId = student.name.replace(' ', '-'); const behavior = student.behavior[`day${currentDay}`] || {}; document.getElementById(`frekwencja-${studentId}`).checked = behavior.frekwencja || false; document.getElementById(`brak-godzin-${studentId}`).checked = behavior.brak_godzin || false; document.getElementById(`min-85-${studentId}`).checked = behavior.min_85 || false; document.getElementById(`etap-szkolny-${studentId}`).checked = behavior.etap_szkolny || false; document.getElementById(`etap-rejonowy-${studentId}`).checked = behavior.etap_rejonowy || false; document.getElementById(`etap-wojewodzki-${studentId}`).checked = behavior.etap_wojewodzki || false; document.getElementById(`etap-ogolnopolski-${studentId}`).checked = behavior.etap_ogolnopolski || false; document.getElementById(`udzial-konkurs-${studentId}`).checked = behavior.udzial_konkurs || false; document.getElementById(`wyroznienie-konkurs-${studentId}`).checked = behavior.wyroznienie_konkurs || false; document.getElementById(`reprezentacja-indywidualna-${studentId}`).checked = behavior.reprezentacja_indywidualna || false; document.getElementById(`reprezentacja-zespolowa-${studentId}`).checked = behavior.reprezentacja_zespolowa || false; document.getElementById(`udzial-zawody-${studentId}`).checked = behavior.udzial_zawody || false; document.getElementById(`organizacja-imprez-${studentId}`).checked = behavior.organizacja_imprez || false; document.getElementById(`funkcja-klasa-${studentId}`).checked = behavior.funkcja_klasa || false; document.getElementById(`uroczystosci-${studentId}`).checked = behavior.uroczystosci || false; document.getElementById(`poczta-sztandar-${studentId}`).checked = behavior.poczta_sztandar || false; document.getElementById(`pomoc-nauczyciel-${studentId}`).checked = behavior.pomoc_nauczyciel || false; document.getElementById(`wolontariat-${studentId}`).checked = behavior.wolontariat || false; }); calculateStats(); } function saveDayData() { studentsData.forEach(student => { const studentId = student.name.replace(' ', '-'); const behavior = { frekwencja: document.getElementById(`frekwencja-${studentId}`).checked, brak_godzin: document.getElementById(`brak-godzin-${studentId}`).checked, min_85: document.getElementById(`min-85-${studentId}`).checked, etap_szkolny: document.getElementById(`etap-szkolny-${studentId}`).checked, etap_rejonowy: document.getElementById(`etap-rejonowy-${studentId}`).checked, etap_wojewodzki: document.getElementById(`etap-wojewodzki-${studentId}`).checked, etap_ogolnopolski: document.getElementById(`etap-ogolnopolski-${studentId}`).checked, udzial_konkurs: document.getElementById(`udzial-konkurs-${studentId}`).checked, wyroznienie_konkurs: document.getElementById(`wyroznienie-konkurs-${studentId}`).checked, reprezentacja_indywidualna: document.getElementById(`reprezentacja-indywidualna-${studentId}`).checked, reprezentacja_zespolowa: document.getElementById(`reprezentacja-zespolowa-${studentId}`).checked, udzial_zawody: document.getElementById(`udzial-zawody-${studentId}`).checked, organizacja_imprez: document.getElementById(`organizacja-imprez-${studentId}`).checked, funkcja_klasa: document.getElementById(`funkcja-klasa-${studentId}`).checked, uroczystosci: document.getElementById(`uroczystosci-${studentId}`).checked, poczta_sztandar: document.getElementById(`poczta-sztandar-${studentId}`).checked, pomoc_nauciciel: document.getElementById(`pomoc-nauczyciel-${studentId}`).checked, wolontariat: document.getElementById(`wolontariat-${studentId}`).checked }; student.behavior[`day${currentDay}`] = behavior; }); } function calculateStats() { const frekwencjaPoints = parseInt(document.getElementById('frekwencja-punkty').value); const brakGodzinPoints = parseInt(document.getElementById('brak-godzin-punkty').value); const min85Points = parseInt(document.getElementById('min-85-punkty').value); const etapSzkolnyPoints = parseInt(document.getElementById('etap-szkolny-punkty').value); const etapRejonowyPoints = parseInt(document.getElementById('etap-rejonowy-punkty').value); const etapWojewodzkiPoints = parseInt(document.getElementById('etap-wojewodzki-punkty').value); const etapOgolnopolskiPoints = parseInt(document.getElementById('etap-ogolnopolski-punkty').value); const udzialKonkursPoints = 5; // stała wartość const wyroznienieKonkursPoints = 10; // stała wartość const reprezentacjaIndPoints = 5; // stała wartość const reprezentacjaZesPoints = 10; // stała wartość const udzialZawodyPoints = 15; // stała wartość const organizacjaImprezPoints = 10; // stała wartość const funkcjaKlasyPoints = 10; // stała wartość const uroczystosciPoints = 10; // stała wartość const pocztaSztandarPoints = 20; // stała wartość const pomocNauczycielaPoints = 10; // stała wartość const wolontariatPoints = 10; // stała wartość let stats = ''; studentsData.forEach(student => { let totalPoints = 0; Object.keys(student.behavior).forEach(day => { const behavior = student.behavior[day]; let dayPoints = 0; // Startowa liczba punktów if (behavior.frekwencja) dayPoints += frekwencjaPoints; if (behavior.brak_godzin) dayPoints += brakGodzinPoints; if (behavior.min_85) dayPoints += min85Points; if (behavior.etap_szkolny) dayPoints += etapSzkolnyPoints; if (behavior.etap_rejonowy) dayPoints += etapRejonowyPoints; if (behavior.etap_wojewodzki) dayPoints += etapWojewodzkiPoints; if (behavior.etap_ogolnopolski) dayPoints += etapOgolnopolskiPoints; if (behavior.udzial_konkurs) dayPoints += udzialKonkursPoints; if (behavior.wyroznienie_konkurs) dayPoints += wyroznienieKonkursPoints; if (behavior.reprezentacja_indywidualna) dayPoints += reprezentacjaIndPoints; if (behavior.reprezentacja_zespolowa) dayPoints += reprezentacjaZesPoints; if (behavior.udzial_zawody) dayPoints += udzialZawodyPoints; if (behavior.organizacja_imprez) dayPoints += organizacjaImprezPoints; if (behavior.funkcja_klasa) dayPoints += funkcjaKlasyPoints; if (behavior.uroczystosci) dayPoints += uroczystosciPoints; if (behavior.poczta_sztandar) dayPoints += pocztaSztandarPoints; if (behavior.pomoc_nauciciel) dayPoints += pomocNauczycielaPoints; if (behavior.wolontariat) dayPoints += wolontariatPoints; totalPoints += dayPoints; }); stats += `${student.name}: ${totalPoints} punktów (${getGrade(totalPoints)})\n`; }); document.getElementById('stats').innerText = stats; } function getGrade(points) { if (points >= 250) return "Wzorowe"; if (points >= 180) return "Bardzo dobre"; if (points >= 100) return "Dobre"; if (points >= 50) return "Poprawne"; if (points >= 0) return "Nieodpowiednie"; return "Naganne"; } // Ustawienie daty na dziś document.getElementById('current-date').innerText = baseDate.toLocaleDateString(); // Generowanie tabeli przy starcie generateTable();