diff --git a/assets/1.jpg b/assets/1.jpg
deleted file mode 100644
index 591a6a8..0000000
Binary files a/assets/1.jpg and /dev/null differ
diff --git a/assets/2.jpg b/assets/2.jpg
deleted file mode 100644
index f7445b8..0000000
Binary files a/assets/2.jpg and /dev/null differ
diff --git a/assets/3.jpg b/assets/3.jpg
deleted file mode 100644
index 5e0a513..0000000
Binary files a/assets/3.jpg and /dev/null differ
diff --git a/scripts/extras.js b/scripts/extras.js
deleted file mode 100644
index efe3aa6..0000000
--- a/scripts/extras.js
+++ /dev/null
@@ -1,405 +0,0 @@
-document.getElementById("open-fin-modal").addEventListener("click", function() {
- document.getElementById("fin-modal").style.visibility = "visible";
- if (window.lockBodyScroll) window.lockBodyScroll();
-});
-
-document.querySelectorAll(".close-fin-modal").forEach(function(button) {
- button.addEventListener("click", function() {
- document.getElementById("fin-modal").style.visibility = "hidden";
- if (window.unlockBodyScroll) window.unlockBodyScroll();
- });
-});
-
-document.getElementById("open-game-modal").addEventListener("click", function() {
- document.getElementById("game-modal").style.visibility = "visible";
- if (window.lockBodyScroll) window.lockBodyScroll();
-});
-
-document.querySelectorAll(".close-game-modal").forEach(function(button) {
- button.addEventListener("click", function() {
- document.getElementById("game-modal").style.visibility = "hidden";
- if (window.unlockBodyScroll) window.unlockBodyScroll();
- });
-});
-
-document.getElementById("toggle-collapse").addEventListener("click", function() {
- const collapseDiv = document.getElementById("page-collapse");
- if (collapseDiv.style.visibility === "visible") {
- collapseDiv.style.visibility = "hidden";
- } else {
- collapseDiv.style.visibility = "visible";
- }
-});
-
-// Igra
-
-const gameState = {
- active: false,
- loading: false,
- currentEntry: null,
- normalizedAnswer: "",
- attemptsLeft: 3,
- roundPoints: 100,
- score: 0,
- correct: 0,
- failed: 0,
- guesses: 0,
- currentWordGuessed: false
-};
-
-const gameElements = {};
-
-function stripHtmlTags(html) {
- return String(html || "")
- .replace(/<\s*br\s*\/?>/gi, "\n")
- .replace(/<\s*\/p\s*>/gi, "\n")
- .replace(/<\s*p[^>]*>/gi, "")
- .replace(/<[^>]+>/g, "")
- .replace(/ /g, " ")
- .replace(/&/g, "&")
- .replace(/</g, "<")
- .replace(/>/g, ">")
- .replace(/"/g, '"')
- .replace(/'/g, "'")
- .replace(/\n{3,}/g, "\n\n")
- .trim();
-}
-
-function normalizeGuess(value) {
- return String(value || "")
- .toLowerCase()
- .normalize("NFD")
- .replace(/[\u0300-\u036f]/g, "")
- .replace(/\s+/g, "")
- .trim();
-}
-
-function parseDefinitions(html) {
- const plain = stripHtmlTags(html);
- return plain
- .split(/\n+/)
- .map(line => line.trim())
- .filter(Boolean);
-}
-
-function setGameMessage(message, type) {
- if (!gameElements.feedback) {
- return;
- }
-
- gameElements.feedback.textContent = message;
- gameElements.feedback.classList.remove("is-success", "is-error", "is-neutral");
- gameElements.feedback.classList.add(type || "is-neutral");
-}
-
-function updateGameStats() {
- if (gameElements.attemptsLeft) {
- gameElements.attemptsLeft.textContent = String(gameState.attemptsLeft);
- }
-
- if (gameElements.roundPoints) {
- gameElements.roundPoints.textContent = String(gameState.roundPoints);
- }
-
- if (gameElements.score) {
- gameElements.score.textContent = String(gameState.score);
- }
-
- if (gameElements.correct) {
- gameElements.correct.textContent = String(gameState.correct);
- }
-
- if (gameElements.failed) {
- gameElements.failed.textContent = String(gameState.failed);
- }
-
- if (gameElements.guesses) {
- gameElements.guesses.textContent = String(gameState.guesses);
- }
-}
-
-function setGameScreen(screen) {
- const screens = ["start", "play", "stats"];
- screens.forEach(name => {
- const element = gameElements[`${name}Screen`];
- if (element) {
- element.hidden = name !== screen;
- }
- });
-}
-
-function resetRoundState() {
- gameState.loading = false;
- gameState.attemptsLeft = 3;
- gameState.roundPoints = 100;
- gameState.currentWordGuessed = false;
- updateGameStats();
- setGameMessage("", "is-neutral");
- if (gameElements.guessInput) {
- gameElements.guessInput.value = "";
- gameElements.guessInput.disabled = false;
- gameElements.guessInput.focus();
- }
- if (gameElements.submitGuessButton) {
- gameElements.submitGuessButton.disabled = false;
- }
-}
-
-function renderCurrentEntry(entry) {
- const definitions = parseDefinitions(entry?.Vsebina);
- const typeText = entry?.Tip || "-";
-
- if (gameElements.wordType) {
- gameElements.wordType.textContent = typeText;
- }
-
- if (gameElements.definitions) {
- if (!definitions.length) {
- gameElements.definitions.innerHTML = '
Opis za ta vnos ni na voljo.
';
- } else {
- gameElements.definitions.innerHTML = definitions
- .map(definition => `${definition}
`)
- .join("");
- }
- }
-
- gameState.currentEntry = entry;
- gameState.normalizedAnswer = normalizeGuess(entry?.Kljuc);
- resetRoundState();
-}
-
-function showGameStats() {
- if (gameElements.statScore) {
- gameElements.statScore.textContent = String(gameState.score);
- }
- if (gameElements.statCorrect) {
- gameElements.statCorrect.textContent = String(gameState.correct);
- }
- if (gameElements.statFailed) {
- gameElements.statFailed.textContent = String(gameState.failed);
- }
- if (gameElements.statGuesses) {
- gameElements.statGuesses.textContent = String(gameState.guesses);
- }
- setGameScreen("stats");
-}
-
-function nextWord() {
- if (!gameState.active) {
- return;
- }
-
- gameState.loading = true;
- setGameMessage("Nalagam nov vnos ...", "is-neutral");
-
- fetch("https://ssnj.dcrubro.com/api/random-vnos", { method: "GET" })
- .then(response => {
- if (!response.ok) {
- throw new Error(`HTTP ${response.status}`);
- }
- return response.json();
- })
- .then(data => {
- if (!data || !data.success || !data.data) {
- throw new Error("Neveljaven odgovor strežnika");
- }
-
- renderCurrentEntry(data.data);
- setGameScreen("play");
- setGameMessage("Ugibajte besedo glede na definicijo.", "is-neutral");
- })
- .catch(error => {
- console.error("random-vnos error", error);
- setGameMessage("Napaka pri nalaganju novega vnosa. Poskusite znova.", "is-error");
- gameState.loading = false;
- })
- .finally(() => {
- gameState.loading = false;
- });
-}
-
-function finishCurrentWord(correctlyGuessed) {
- if (correctlyGuessed) {
- gameState.correct += 1;
- } else {
- gameState.failed += 1;
- gameState.score = Math.max(0, gameState.score - 30);
- }
-
- updateGameStats();
- if (gameElements.guessInput) {
- gameElements.guessInput.value = "";
- }
-
- setTimeout(() => {
- if (gameState.active) {
- nextWord();
- }
- }, 700);
-}
-
-function submitGuess() {
- if (!gameState.active || gameState.loading || !gameState.currentEntry) {
- return;
- }
-
- const guess = normalizeGuess(gameElements.guessInput ? gameElements.guessInput.value : "");
- if (!guess) {
- setGameMessage("Vnesite svoj ugib.", "is-error");
- return;
- }
-
- gameState.guesses += 1;
- updateGameStats();
-
- if (guess === gameState.normalizedAnswer) {
- gameState.currentWordGuessed = true;
- gameState.score += gameState.roundPoints;
- setGameMessage(`Pravilno. Rešitev je ${gameState.currentEntry.Kljuc}.`, "is-success");
- updateGameStats();
- finishCurrentWord(true);
- return;
- }
-
- gameState.attemptsLeft -= 1;
- gameState.roundPoints = gameState.attemptsLeft === 2 ? 50 : gameState.attemptsLeft === 1 ? 25 : 0;
- updateGameStats();
-
- if (gameState.attemptsLeft > 0) {
- setGameMessage(`Napačno. Preostali poskusi: ${gameState.attemptsLeft}.`, "is-error");
- if (gameElements.guessInput) {
- gameElements.guessInput.value = "";
- gameElements.guessInput.focus();
- }
- return;
- }
-
- setGameMessage(`Tudi tretji poskus ni uspel. Rešitev je ${gameState.currentEntry.Kljuc}.`, "is-error");
- finishCurrentWord(false);
-}
-
-function startGame() {
- gameState.active = true;
- gameState.score = 0;
- gameState.correct = 0;
- gameState.failed = 0;
- gameState.guesses = 0;
- updateGameStats();
- setGameScreen("play");
- nextWord();
-}
-
-function bindGameElements() {
- gameElements.startScreen = document.getElementById("game-start-screen");
- gameElements.playScreen = document.getElementById("game-play-screen");
- gameElements.statsScreen = document.getElementById("game-stats-screen");
- gameElements.wordType = document.getElementById("game-word-type");
- gameElements.definitions = document.getElementById("game-definitions");
- gameElements.guessInput = document.getElementById("game-guess-input");
- gameElements.submitGuessButton = document.getElementById("submit-guess-button");
- gameElements.restartGameButton = document.getElementById("restart-game-button");
- gameElements.feedback = document.getElementById("game-feedback");
- gameElements.attemptsLeft = document.getElementById("game-attempts-left");
- gameElements.roundPoints = document.getElementById("game-round-points");
- gameElements.score = document.getElementById("game-stat-score");
- gameElements.correct = document.getElementById("game-stat-correct");
- gameElements.failed = document.getElementById("game-stat-failed");
- gameElements.guesses = document.getElementById("game-stat-guesses");
- gameElements.statScore = document.getElementById("game-stat-score");
- gameElements.statCorrect = document.getElementById("game-stat-correct");
- gameElements.statFailed = document.getElementById("game-stat-failed");
- gameElements.statGuesses = document.getElementById("game-stat-guesses");
-}
-
-bindGameElements();
-
-document.getElementById("start-game-button").addEventListener("click", startGame);
-document.getElementById("submit-guess-button").addEventListener("click", submitGuess);
-document.getElementById("restart-game-button").addEventListener("click", startGame);
-document.getElementById("game-guess-input").addEventListener("keydown", function(event) {
- if (event.key === "Enter") {
- event.preventDefault();
- submitGuess();
- }
-});
-// Konec igre
-
-// Davčne stopnje in razredi za leto 2025
-const taxBrackets = [
- { razred: 1, min: 0, max: 9210.26, rate: 16 },
- { razred: 2, min: 9210.26, max: 27089.00, rate: 26 },
- { razred: 3, min: 27089.00, max: 54178.00, rate: 33 },
- { razred: 4, min: 54178.00, max: 78016.32, rate: 39 },
- { razred: 5, min: 78016.32, max: Infinity, rate: 50 }
-];
-
-const STANDARD_DEDUCTION = 5551.93;
-
-function parseEurAmount(input) {
- if (!input) return null;
- // Remove spaces, replace . with empty (thousands separator) and , with . (decimal)
- let normalized = input.trim().replace(/\s/g, "").replace(/\./g, "").replace(",", ".");
- let num = parseFloat(normalized);
- return isNaN(num) ? null : num;
-}
-
-function formatEurAmount(num) {
- // Format with thousands separator (.) and decimal separator (,)
- return num.toFixed(2).replace(".", ",").replace(/\B(?=(\d{3})+(?!\d))/g, ".");
-}
-
-function calculateTaxBracket(amount) {
- for (let bracket of taxBrackets) {
- if (amount >= bracket.min && amount < bracket.max) {
- return bracket;
- }
- }
- return taxBrackets[taxBrackets.length - 1]; // Return highest bracket
-}
-
-function calculateProgressiveTax(amount) {
- let totalTax = 0;
-
- for (let bracket of taxBrackets) {
- if (amount <= bracket.min) {
- break;
- }
-
- let upperLimit = Math.min(amount, bracket.max);
- let taxableInBracket = upperLimit - bracket.min;
- totalTax += taxableInBracket * (bracket.rate / 100);
- }
-
- return totalTax;
-}
-
-function updateCalculator() {
- const amountInput = document.getElementById("amount-input").value;
- const useDeduction = document.getElementById("deduction-checkbox").checked;
- const resultDiv = document.getElementById("calculator-result");
-
- let amount = parseEurAmount(amountInput);
-
- if (amount === null || amount < 0) {
- resultDiv.style.display = "none";
- return;
- }
-
- let taxBasis = amount;
- if (useDeduction && amount > STANDARD_DEDUCTION) {
- taxBasis = amount - STANDARD_DEDUCTION;
- }
-
- const bracket = calculateTaxBracket(taxBasis);
- const taxAmount = calculateProgressiveTax(taxBasis);
-
- document.getElementById("result-razred").textContent = bracket.razred;
- document.getElementById("result-rate").textContent = bracket.rate + " %";
- document.getElementById("result-basis").textContent = formatEurAmount(taxBasis) + " EUR";
- document.getElementById("result-tax").textContent = formatEurAmount(taxAmount) + " EUR";
-
- resultDiv.style.display = "block";
-}
-
-document.getElementById("amount-input").addEventListener("input", updateCalculator);
-document.getElementById("deduction-checkbox").addEventListener("change", updateCalculator);
\ No newline at end of file