<!DOCTYPE html>
<html lang="sv">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Pi-utmaning</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f5f5f5;
            color: #333;
            margin: 0;
            padding: 0;
        }

        h1 {
            text-align: center;
            color: #008080;
        }

        .container {
            max-width: 600px;
            margin: 0 auto;
            padding: 20px;
            background-color: #fff;
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        p {
            margin-bottom: 10px;
        }

        button {
            padding: 10px 20px;
            background-color: #008080;
            color: #fff;
            border: none;
            border-radius: 3px;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        button:hover {
            background-color: #005555;
        }

        input[type="text"], input[type="password"] {
            padding: 10px;
            width: calc(100% - 80px);
            border: 1px solid #ccc;
            border-radius: 3px;
            margin-right: 10px;
        }

        #result {
            font-weight: bold;
        }

        #highScore {
            margin-top: 20px;
        }

        #highScore ul {
            list-style-type: none;
            padding: 0;
        }

        #highScore li {
            margin-bottom: 5px;
        }

        #passwordContainer {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }

        #mainContent {
            display: none;
        }
    </style>
</head>
<body>
    <div id="passwordContainer">
        <div class="container">
            <h1>Enter Password</h1>
            <input type="password" id="passwordInput" placeholder="Password">
            <button onclick="checkPassword()">Submit</button>
            <p id="passwordResult"></p>
        </div>
    </div>

    <div id="mainContent">
        <div class="container">
            <h1>Pi-utmaning!</h1>
            <p><span id="piSequence">3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679</span></p>
            <button onclick="togglePiSequence()">Växla Pi-sekvens</button>
            <p>Skriv in så många siffror av Pi du kommer ihåg i ordning (efter 3,...):</p>
            <input type="text" id="userInput">
            <button onclick="submitGuess()">Skicka in</button>
            <button onclick="startNewRound()">Starta ny runda</button>
            <button onclick="resetHighScore()">Återställ High Score</button>
            <p id="result"></p>
            <p id="highScore"></p>
        </div>
    </div>

    <script>
        var pi = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679";
        var current_index = 2;
        var guessed = false;

        function togglePiSequence() {
            var piSequence = document.getElementById("piSequence");
            piSequence.innerText = (piSequence.innerText === "") ? pi : "";
        }

        function saveHighScore(name, score) {
            var highScores = JSON.parse(localStorage.getItem('highScores')) || [];
            highScores.push({ name: name, score: score });
            highScores.sort((a, b) => b.score - a.score);
            localStorage.setItem('highScores', JSON.stringify(highScores));
        }

        function showHighScore() {
            var highScores = JSON.parse(localStorage.getItem('highScores')) || [];
            var highScoreText = "<h2>High Score</h2><ul>";
            highScores.forEach(function (entry, index) {
                highScoreText += "<li>" + entry.name + ": " + entry.score + "</li>";
            });
            highScoreText += "</ul>";
            document.getElementById("highScore").innerHTML = highScoreText;
        }

        function submitGuess() {
            if (guessed) {
                alert("Du har redan skickat in ditt svar. Starta en ny runda för att fortsätta!");
                return;
            }
            
            var userInput = document.getElementById("userInput").value.trim();
            var score = 0;

            for (var i = 0; i < userInput.length; i++) {
                if (userInput[i] === pi[current_index]) {
                    score += 10;
                    current_index++;
                } else {
                    break;
                }
            }

            var name = prompt("Skriv ditt namn för att spara din poäng (lämna blankt för att inte spara):");
            if (name !== null && name !== "") {
                saveHighScore(name, score);
            }

            document.getElementById("result").innerText = "Din poäng: " + score;
            showHighScore();
            guessed = true;
        }

        function startNewRound() {
            current_index = 2;
            document.getElementById("userInput").value = "";
            document.getElementById("result").innerText = "";
            guessed = false;
            showHighScore();
        }

        function resetHighScore() {
            localStorage.removeItem('highScores');
            showHighScore();
        }

        window.onload = showHighScore;

        function checkPassword() {
            var password = document.getElementById("passwordInput").value;
            var correctPassword = "yourPassword"; // Set your password here

            if (password === correctPassword) {
                document.getElementById("passwordContainer").style.display = "none";
                document.getElementById("mainContent").style.display = "block";
            } else {
                document.getElementById("passwordResult").innerText = "Incorrect password. Please try again.";
            }
        }
    </script>
</body>
</html>
