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';
});
|