guestbookForm.addEventListener('submit', (e) => {
e.preventDefault();
const nameInput = document.getElementById('guest-name');
const messageInput = document.getElementById('guest-message');
const newEntry = {
name: nameInput.value.trim().substring(0, 30), // Simple character limit
message: messageInput.value.trim().substring(0, 100)
};
if (newEntry.name && newEntry.message) {
// Update simulated storage
const entries = JSON.parse(sessionStorage.getItem('neocitiesGuestbook')) || [];
entries.push(newEntry);
sessionStorage.setItem('neocitiesGuestbook', JSON.stringify(entries));
// Reload display
loadGuestbook();
// Clear form
nameInput.value = '';
messageInput.value = '';
// Increment simulated counter
let count = parseInt(visitorCount.textContent);
visitorCount.textContent = count + 1;
} else {
// Custom, non-alert message box for errors
const errorMessageDiv = document.createElement('div');
errorMessageDiv.className = 'mt-2 p-2 bg-red-500 text-white rounded-md';
errorMessageDiv.textContent = 'ERROR: Please fill in both your name and message!';
guestbookForm.after(errorMessageDiv);
setTimeout(() => errorMessageDiv.remove(), 3000);
}
});