<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Museum Visitor Guestbook</title>
    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        /* Scrolling marquee styles */
        .scrolling-wrapper {
            overflow: hidden;
            white-space: nowrap;
            position: fixed;
            bottom: 0;
            width: 100%;
            background-color: #f8f9fa;
            border-top: 1px solid #dee2e6;
        }

        .scrolling-content {
            display: inline-block;
            padding: 10px;
            animation: scroll-left 20s linear infinite;
        }

        @keyframes scroll-left {
            0% {
                transform: translateX(100%);
            }

            100% {
                transform: translateX(-100%);
            }
        }
    </style>
</head>

<body>
    <div class="container mt-5 mb-5">
        <h1 class="mb-4">Museum Visitor Guestbook</h1>

        <!-- Brief instructions for the form -->
        <div class="alert alert-info" role="alert">
            Please fill in your details below. First name, last name, and location are required.
            Providing your email is optional, but it helps us follow up if needed.
        </div>

        {% if error %}
        <div class="alert alert-danger" role="alert">
            {{ error }}
        </div>
        {% endif %}

        <form method="post" action="/" class="mb-4">
            <div class="mb-3">
                <label for="first_name" class="form-label">First Name(s):</label>
                <input type="text" class="form-control" id="first_name" name="first_name" required>
            </div>
            <div class="mb-3">
                <label for="last_name" class="form-label">Last Name:</label>
                <input type="text" class="form-control" id="last_name" name="last_name" required>
            </div>
            <div class="mb-3">
                <label for="email" class="form-label">Email (Optional):</label>
                <input type="email" class="form-control" id="email" name="email">
            </div>
            <div class="mb-3">
                <label for="location" class="form-label">Location:</label>
                <input type="text" class="form-control" id="location" name="location" required>
            </div>
            <!-- Comment field hidden by default -->
            <div class="mb-3" id="comment-field" style="display: none;">
                <label for="comment" class="form-label">Comment (Optional):</label>
                <textarea class="form-control" id="comment" name="comment" rows="3"></textarea>
            </div>
            <button type="submit" class="btn btn-primary">Submit</button>
        </form>
    </div>

    <!-- Scrolling Guest Entries at the Bottom -->
    <div class="scrolling-wrapper">
        <div class="scrolling-content">
            {% for guest in guests %}
            <span class="me-4">
                <strong>{{ guest[0] }}</strong> from {{ guest[1] }}
            </span>
            {% endfor %}
        </div>
    </div>

    <!-- JavaScript to reveal the comment field -->
    <script>
        document.addEventListener("DOMContentLoaded", function () {
            const firstNameInput = document.getElementById('first_name');
            const lastNameInput = document.getElementById('last_name');
            const locationInput = document.getElementById('location');
            const commentField = document.getElementById('comment-field');

            function checkFields() {
                if (firstNameInput.value.trim().length >= 3 &&
                    lastNameInput.value.trim().length >= 3 &&
                    locationInput.value.trim().length >= 3) {
                    commentField.style.display = 'block';
                } else {
                    commentField.style.display = 'none';
                }
            }

            firstNameInput.addEventListener('input', checkFields);
            lastNameInput.addEventListener('input', checkFields);
            locationInput.addEventListener('input', checkFields);
        });
    </script>

    <!-- Bootstrap JS (optional) -->
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js"></script>
</body>

</html>