summaryrefslogtreecommitdiff
path: root/assets/js/pages/mstartpage-index.js
blob: db518ab0ac4ae83eeaee54e9c30f409f142a023c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
// Date and time functionality
        function updateDateRealtime() {
            const dateElement = document.getElementById("realtime-date");
            const clockElement = document.getElementById("realtime-clock");

            const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
            const months = ["January", "February", "March", "April", "May", "June",
                "July", "August", "September", "October", "November", "December"];

            const now = new Date();

            // Date parts
            const dayName = days[now.getDay()];
            const month = months[now.getMonth()];
            const dayNumber = now.getDate();
            const year = now.getFullYear();

            const ordinal = (dayNumber > 3 && dayNumber < 21) ? 'th' :
                            (dayNumber % 10 === 1) ? 'st' :
                            (dayNumber % 10 === 2) ? 'nd' :
                            (dayNumber % 10 === 3) ? 'rd' : 'th';

            dateElement.textContent = `${dayName}, ${month} ${dayNumber}${ordinal}, ${year}.`;

            // Clock parts (12-hour format)
            let hours = now.getHours();
            const minutes = now.getMinutes();
            const seconds = now.getSeconds();

            const period = hours >= 12 ? 'PM' : 'AM';
            hours = hours % 12 || 12;

            const formattedHours = hours.toString().padStart(2, "0");
            const formattedMinutes = minutes.toString().padStart(2, "0");
            const formattedSeconds = seconds.toString().padStart(2, "0");

            clockElement.textContent = `${formattedHours}:${formattedMinutes}:${formattedSeconds} ${period}`;
        }

        updateDateRealtime();
        setInterval(updateDateRealtime, 1000);

        // Menu toggle functionality
        document.getElementById('menu-toggle').addEventListener('click', function() {
            const menu = document.getElementById('main-menu');
            menu.classList.toggle('show');
        });

        // Collapsible sections
        const collapsibles = document.getElementsByClassName("collapsible");
        
        for (let i = 0; i < collapsibles.length; i++) {
            collapsibles[i].addEventListener("click", function() {
                this.classList.toggle("active");
                const content = this.nextElementSibling;
                if (content.style.display === "block") {
                    content.style.display = "none";
                } else {
                    content.style.display = "block";
                }
            });
        }

        // XXX Verification functionality
        const xxxToggle = document.getElementById('xxx-toggle');
        const xxxModal = document.getElementById('xxx-modal');
        const xxxConfirm = document.getElementById('xxx-confirm');
        const xxxDeny = document.getElementById('xxx-deny');
        const xxxList = document.getElementById('xxx-list');

        // Check if already verified
        let isVerified = localStorage.getItem('xxx-verified') === 'true';
        let isContentVisible = localStorage.getItem('xxx-visible') === 'true';

        // Initialize based on stored state
        if (isVerified && isContentVisible) {
            xxxToggle.textContent = 'Hide XXX Content';
            xxxList.style.display = 'block';
        } else if (isVerified && !isContentVisible) {
            xxxToggle.textContent = 'Show XXX Content';
            xxxList.style.display = 'none';
        }

        xxxToggle.addEventListener('click', function() {
            if (isVerified) {
                // Toggle visibility if already verified
                if (xxxList.style.display === 'block') {
                    // Hide the content
                    xxxList.style.display = 'none';
                    xxxToggle.textContent = 'Show XXX Content';
                    localStorage.setItem('xxx-visible', 'false');
                } else {
                    // Show the content
                    xxxList.style.display = 'block';
                    xxxToggle.textContent = 'Hide XXX Content';
                    localStorage.setItem('xxx-visible', 'true');
                }
            } else {
                // Show verification modal if not verified
                xxxModal.style.display = 'flex';
            }
        });

        xxxConfirm.addEventListener('click', function() {
            // Set verification status
            isVerified = true;
            localStorage.setItem('xxx-verified', 'true');
            localStorage.setItem('xxx-visible', 'true');
            
            // Hide modal and show content
            xxxModal.style.display = 'none';
            xxxList.style.display = 'block';
            xxxToggle.textContent = 'Hide XXX Content';
        });

        xxxDeny.addEventListener('click', function() {
            xxxModal.style.display = 'none';
        });