{"id":110,"date":"2025-12-11T06:43:58","date_gmt":"2025-12-11T06:43:58","guid":{"rendered":"https:\/\/ntslcosmos.fi\/?page_id=110"},"modified":"2025-12-11T07:30:10","modified_gmt":"2025-12-11T07:30:10","slug":"110-2","status":"publish","type":"page","link":"https:\/\/ntslcosmos.fi\/index.php\/110-2\/","title":{"rendered":"Enhypen Joulukalenteri"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"fi\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>ENHYPEN Joulukalenteri &#8211; Kysymysp\u00e4iv\u00e4<\/title>\n    <style>\n        \/* Enhypen teema (musta, valkoinen, korostus v\u00e4ri oranssi\/punainen) *\/\n        body {\n            font-family: 'Arial', sans-serif;\n            background-color: #f7f7f7; \/* Vaalea tausta *\/\n            text-align: center;\n            padding: 20px;\n        }\n\n        h1 {\n            color: #d32f2f; \/* Tumman punainen \/ Oranssi korostus *\/\n            margin-bottom: 30px;\n            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n        }\n\n        .calendar-grid {\n            display: grid;\n            grid-template-columns: repeat(4, 1fr);\n            gap: 15px;\n            max-width: 700px;\n            margin: 0 auto;\n        }\n\n        \/* Luukun perusulkoasu *\/\n        .door {\n            background-color: #333333; \/* Tumman harmaa *\/\n            border: 3px solid #d32f2f;\n            aspect-ratio: 1 \/ 1; \n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 2em;\n            font-weight: bold;\n            color: white;\n            position: relative;\n            transition: transform 0.3s ease, background-color 0.3s ease;\n            box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);\n            cursor: pointer;\n        }\n\n        .door:not(.locked):hover {\n            transform: scale(1.05);\n            background-color: #e53935; \/* Kirkkaampi punainen\/oranssi *\/\n        }\n\n        .door.locked {\n            cursor: default;\n            opacity: 0.7;\n            background-color: #616161;\n        }\n\n        \/* --- Modaali-ikkunan tyylit --- *\/\n        \n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 100;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            overflow: auto;\n            background-color: rgba(0, 0, 0, 0.7);\n            padding-top: 60px;\n        }\n\n        .modal-content {\n            background-color: #fefefe;\n            margin: 5% auto;\n            padding: 20px;\n            border: 1px solid #888;\n            width: 80%;\n            max-width: 500px;\n            border-radius: 10px;\n            box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);\n            animation-name: animatetop;\n            animation-duration: 0.4s;\n            text-align: left;\n        }\n\n        @keyframes animatetop {\n            from {top: -300px; opacity: 0} \n            to {top: 0; opacity: 1}\n        }\n\n        .close-btn {\n            color: #aaa;\n            float: right;\n            font-size: 28px;\n            font-weight: bold;\n        }\n\n        .close-btn:hover,\n        .close-btn:focus {\n            color: #000;\n            text-decoration: none;\n            cursor: pointer;\n        }\n\n        #modal-title {\n            color: #d32f2f;\n            margin-bottom: 10px;\n            font-size: 1.5em;\n        }\n\n        #modal-question {\n            font-size: 1.2em;\n            font-weight: bold;\n            color: #333;\n            margin-bottom: 15px;\n            border-bottom: 2px solid #ccc;\n            padding-bottom: 10px;\n        }\n\n        #modal-answer {\n            font-size: 1.1em;\n            color: #333;\n            margin-top: 10px;\n        }\n\n        .answer-locked {\n            color: #d32f2f !important;\n            font-weight: bold;\n        }\n    <\/style>\n<\/head>\n<body>\n\n    <h1>BORDERLESS CHRISTMAS \ud83c\udf84 &#8211; ENHYPEN Joulukalenteri 2025<\/h1>\n    \n    <div class=\"calendar-grid\">\n        <div class=\"door\" data-day=\"1\" data-q=\"Miss\u00e4 tosi-tv-ohjelmassa Enhypenin j\u00e4senet muodostettiin?\" data-a=\"I-LAND\">\n            <span class=\"door-number\">1<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"2\" data-q=\"Mik\u00e4 oli Enhypenien debyyttialbumi (mini-albumi)?\" data-a=\"BORDER : DAY ONE\">\n            <span class=\"door-number\">2<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"3\" data-q=\"Mik\u00e4 kappale on Enhypenien tunnettu japanilainen single?\" data-a=\"Tamed-Dashed (japanilainen versio) tai Always\">\n            <span class=\"door-number\">3<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"4\" data-q=\"Kuka on Enhypenien vanhin j\u00e4sen (Hyung)?\" data-a=\"Heeseung (Lee Heeseung)\">\n            <span class=\"door-number\">4<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"5\" data-q=\"Mik\u00e4 oli debyyttialbumin nimikappale (title track)?\" data-a=\"Given-Taken\">\n            <span class=\"door-number\">5<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"6\" data-q=\"Mik\u00e4 on Jungwonin (Yang Jungwon) rooli ryhm\u00e4ss\u00e4?\" data-a=\"Johtaja (Leader)\">\n            <span class=\"door-number\">6<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"7\" data-q=\"Kuka j\u00e4senist\u00e4 tunnetaan 'Ice Princen\u00e4'?\" data-a=\"Sunghoon (Park Sunghoon)\">\n            <span class=\"door-number\">7<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"8\" data-q=\"Mist\u00e4 faninimest\u00e4 Enhypenien fanit tunnetaan?\" data-a=\"ENGENE\">\n            <span class=\"door-number\">8<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"9\" data-q=\"Kuka on ryhm\u00e4n Maknae (nuorin j\u00e4sen)?\" data-a=\"Ni-ki\">\n            <span class=\"door-number\">9<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"10\" data-q=\"Mink\u00e4 p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4n ja kuukauden Jungwon juhlii syntym\u00e4p\u00e4iv\u00e4\u00e4ns\u00e4?\" data-a=\"9. helmikuuta\">\n            <span class=\"door-number\">10<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"11\" data-q=\"Mik\u00e4 on Ni-kin (Nishimura Riki) syntym\u00e4maa?\" data-a=\"Japani\">\n            <span class=\"door-number\">11<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"12\" data-q=\"Mink\u00e4 urheilulajin ammattilainen Sunghoon oli aiemmin?\" data-a=\"Taitoluistelu\">\n            <span class=\"door-number\">12<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"13\" data-q=\"Mik\u00e4 Enhypen-kappale alkaa kuuluisalla kellon tikityksell\u00e4?\" data-a=\"Drunk-Dazed\">\n            <span class=\"door-number\">13<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"14\" data-q=\"Kuka on '02-linjan' (vuonna 2002 syntynyt) j\u00e4sen?\" data-a=\"Jay (Park Jongseong) tai Jake (Sim Jaeyun)\">\n            <span class=\"door-number\">14<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"15\" data-q=\"Mink\u00e4 maan kansalainen Jay (Park Jongseong) on (tai h\u00e4nell\u00e4 on kaksoiskansalaisuus)?\" data-a=\"Yhdysvallat (USA)\">\n            <span class=\"door-number\">15<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"16\" data-q=\"Mik\u00e4 on Jake'n (Sim Jaeyun) syntym\u00e4maa?\" data-a=\"Australia (h\u00e4nen vanhempansa ovat korealaisia)\">\n            <span class=\"door-number\">16<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"17\" data-q=\"Mihin el\u00e4imeen Sunoo (Kim Sunoo) usein rinnastetaan?\" data-a=\"Kettu (Fox)\">\n            <span class=\"door-number\">17<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"18\" data-q=\"Mik\u00e4 on Enhypenien virallinen tervehdys, joka sis\u00e4lt\u00e4\u00e4 'yhteyden' ja 'l\u00f6yt\u00e4misen'?\" data-a=\"Connect! Annyeonghaseyo, ENHYPEN imnida!\">\n            <span class=\"door-number\">18<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"19\" data-q=\"Mik\u00e4 on Enhypenien virallinen valoisa keppi (light stick) muoto?\" data-a=\"Kompassi (tai keih\u00e4s\/sauva, jossa on kompassi)\">\n            <span class=\"door-number\">19<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"20\" data-q=\"Mik\u00e4 on se 'teema', joka usein liittyy Enhypenien alkuaikojen musiikkivideoihin ja BORDER-sarjaan?\" data-a=\"Vampyyrit (tai mytologia\/koulu)\">\n            <span class=\"door-number\">20<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"21\" data-q=\"Kuka on ryhm\u00e4n 'aamiaiskokki'?\" data-a=\"Jay\">\n            <span class=\"door-number\">21<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"22\" data-q=\"Mik\u00e4 albumi sis\u00e4lt\u00e4\u00e4 nimikappaleen 'Future Perfect (Pass the Mic)'?\" data-a=\"MANIFESTO : DAY 1\">\n            <span class=\"door-number\">22<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"23\" data-q=\"Mik\u00e4 on Heeseungin lempinimi, joka on lyhenne h\u00e4nen nimest\u00e4\u00e4n?\" data-a=\"Hee-deung\">\n            <span class=\"door-number\">23<\/span>\n        <\/div>\n\n        <div class=\"door\" data-day=\"24\" data-q=\"Mik\u00e4 on Enhypenien lyhin j\u00e4sen?\" data-a=\"Jungwon\">\n            <span class=\"door-number\">24<\/span>\n        <\/div>\n\n    <\/div>\n\n    <div id=\"doorModal\" class=\"modal\">\n        <div class=\"modal-content\">\n            <span class=\"close-btn\">&times;<\/span>\n            <h2 id=\"modal-title\">Luukku X<\/h2>\n            <p id=\"modal-question\"><\/p>\n            <p id=\"modal-answer\"><\/p>\n        <\/div>\n    <\/div>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function() {\n            const doors = document.querySelectorAll('.door');\n            const modal = document.getElementById('doorModal');\n            const span = document.getElementsByClassName('close-btn')[0];\n            const modalTitle = document.getElementById('modal-title');\n            const modalQuestion = document.getElementById('modal-question');\n            const modalAnswer = document.getElementById('modal-answer');\n\n            \/\/ Aikam\u00e4\u00e4ritykset\n            const NOW = new Date();\n            const CURRENT_YEAR = NOW.getFullYear();\n            const CURRENT_MONTH = NOW.getMonth(); \/\/ 0-11 (Joulukuu on 11)\n            \n            \/\/ *** AUKIOLOAJAT ***\n            const QUESTION_HOUR = 7;  \/\/ Kysymys klo 07:00\n            const ANSWER_HOUR = 15;   \/\/ Vastaus klo 15:00\n            \/\/ *********************\n            \n            \/\/ T\u00e4rke\u00e4 muuttuja: Onko joulukuu jo ohitettu?\n            const IS_CALENDAR_OVER = CURRENT_MONTH !== 11 || NOW.getDate() > 24;\n\n            \/\/ Sulje modaali kun ruksia (X) klikataan\n            span.onclick = function() {\n                modal.style.display = \"none\";\n            }\n\n            \/\/ Sulje modaali kun klikataan ulkopuolelle\n            window.onclick = function(event) {\n                if (event.target == modal) {\n                    modal.style.display = \"none\";\n                }\n            }\n\n            doors.forEach(door => {\n                const doorNumber = parseInt(door.dataset.day);\n                const question = door.dataset.q;\n                const answer = door.dataset.a;\n                \n                \/\/ Tavoiteajat kyseiselle p\u00e4iv\u00e4lle (p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4 on aina joulukuussa, eli kuukausi 11)\n                const openQuestionDate = new Date(CURRENT_YEAR, 11, doorNumber, QUESTION_HOUR, 0, 0); \n                const openAnswerDate = new Date(CURRENT_YEAR, 11, doorNumber, ANSWER_HOUR, 0, 0);\n\n                let isDoorAvailable = false;\n                let isAnswerAvailable = false;\n\n                \/\/ 1. TARKISTA P\u00c4\u00c4TTYNYT KALENTERI:\n                if (IS_CALENDAR_OVER) {\n                    \/\/ Jos joulukuu on ohi, kaikki on aina auki\n                    isDoorAvailable = true;\n                    isAnswerAvailable = true;\n                } \n                \/\/ 2. TARKISTA AKTIIVINEN KALENTERI (joulukuun aikana):\n                else {\n                    \/\/ Kysymys aukeaa klo 7:00 tai luukku 1-9 on aina auki\n                    if (doorNumber <= 9 || NOW >= openQuestionDate) {\n                        isDoorAvailable = true;\n                    }\n                    \/\/ Vastaus aukeaa klo 15:00 j\u00e4lkeen\n                    if (doorNumber <= 9 || NOW >= openAnswerDate) {\n                        isAnswerAvailable = true;\n                    }\n                }\n\n                \/\/ --- LUKITUS JA KLIKKAUSLOGIIKKA ---\n\n                if (isDoorAvailable) {\n                    \/\/ Poistetaan lukitus\n                    door.classList.remove('locked');\n                    door.title = 'Avaa kysymys';\n\n                    door.addEventListener('click', function() {\n                        modalTitle.textContent = 'Luukku ' + doorNumber;\n                        modalQuestion.textContent = question;\n\n                        if (isAnswerAvailable) {\n                            \/\/ Vastaus n\u00e4kyy\n                            modalAnswer.innerHTML = 'Vastaus: **' + answer + '**';\n                            modalAnswer.classList.remove('answer-locked');\n                        } else {\n                            \/\/ Vastaus on viel\u00e4 piilossa (vain joulukuun aikana ennen klo 15:00)\n                            modalAnswer.innerHTML = 'Vastaus: **Vastaus avautuu vasta klo ' + ANSWER_HOUR + ':00!**';\n                            modalAnswer.classList.add('answer-locked');\n                        }\n\n                        modal.style.display = \"block\"; \/\/ N\u00e4yt\u00e4 modaali\n                    });\n                } else {\n                    \/\/ Luukku on viel\u00e4 lukittu (vain joulukuun aikana ennen klo 7:00)\n                    door.classList.add('locked');\n                    door.title = 'Avautuu ' + doorNumber + '.12. klo ' + QUESTION_HOUR + ':00';\n                    \n                    door.addEventListener('click', function() {\n                        alert('Luukku ' + doorNumber + ' on lukittu. Se avautuu ' + doorNumber + '. joulukuuta klo ' + QUESTION_HOUR + ':00 (laitteesi ajan mukaan).');\n                    });\n                }\n            });\n        });\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>ENHYPEN Joulukalenteri &#8211; Kysymysp\u00e4iv\u00e4 BORDERLESS CHRISTMAS \ud83c\udf84 &#8211; ENHYPEN Joulukalenteri 2025 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 &times; Luukku X<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-110","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ntslcosmos.fi\/index.php\/wp-json\/wp\/v2\/pages\/110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ntslcosmos.fi\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ntslcosmos.fi\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ntslcosmos.fi\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ntslcosmos.fi\/index.php\/wp-json\/wp\/v2\/comments?post=110"}],"version-history":[{"count":2,"href":"https:\/\/ntslcosmos.fi\/index.php\/wp-json\/wp\/v2\/pages\/110\/revisions"}],"predecessor-version":[{"id":117,"href":"https:\/\/ntslcosmos.fi\/index.php\/wp-json\/wp\/v2\/pages\/110\/revisions\/117"}],"wp:attachment":[{"href":"https:\/\/ntslcosmos.fi\/index.php\/wp-json\/wp\/v2\/media?parent=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}