<?php
session_start();
include_once('db_connection.php');

if (!isset($_SESSION['innloggetBrukerID'])) {
    header('Location: login.php');
    exit;
}

$innloggetBrukerID = $_SESSION['innloggetBrukerID'];

// Hent brukerinformasjon
$sql_bruker = "SELECT * FROM brukere WHERE id = $innloggetBrukerID";
$result_bruker = $conn->query($sql_bruker);

if ($result_bruker->num_rows == 1) {
    $row_bruker = $result_bruker->fetch_assoc();
    $brukernavn = $row_bruker['brukernavn'];
    $navn = $row_bruker['navn'];
    $adresse = $row_bruker['adresse'];
    $mobilnummer = $row_bruker['mobilnummer'];
    $isAdmin = $row_bruker['admin'];
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $deltaker_id = $_POST['deltaker_id'];
    $arrangementer = $_POST['arrangementer'];

    $sql_deltaker_info = "SELECT * FROM deltakere WHERE bruker_id = '$innloggetBrukerID' AND deltaker_id = '$deltaker_id'";
    $result_deltaker_info = $conn->query($sql_deltaker_info);

    if ($result_deltaker_info->num_rows > 0) {
        $row_deltaker_info = $result_deltaker_info->fetch_assoc();

        $fornavn = $_POST['fornavn'];
        $etternavn = $_POST['etternavn'];
        $fodselsdato = $_POST['fodselsdato'];
        $kjonn = $_POST['kjonn']; // <-- NY
        $ovelse = $_POST['ovelse'];

        if ($ovelse == "Lysløypa 2.3 km") {
            $pulje = "Lysløypa";
        } else if ($ovelse == "Skogsløypa 350 m") {
            $pulje = "Skogsløypa";
        }

        $klasse = $_POST['klasse'];
        $klubb = $_POST['klubb'];

        // OPPDATER: inkludert kjonn
        $sql_update_info = "UPDATE deltakere 
                            SET fornavn = '$fornavn', etternavn = '$etternavn', fodselsdato = '$fodselsdato',
                                kjonn = '$kjonn',
                                ovelse = '$ovelse', pulje = '$pulje', klasse = '$klasse', klubb = '$klubb'
                            WHERE bruker_id = $innloggetBrukerID AND deltaker_id = '$deltaker_id'";

        if ($conn->query($sql_update_info) !== TRUE) {
            $feilmelding = "Feil ved oppdatering av deltakerinformasjon: " . $conn->error;
        }

        foreach ($arrangementer as $arrangementId => $deltakelse) {
            $sql_check_arrangement = "SELECT * FROM arrangementer WHERE id = $arrangementId";
            $result_check_arrangement = $conn->query($sql_check_arrangement);

            if ($result_check_arrangement->num_rows > 0) {
                $sql_update_deltakelse = "UPDATE deltakere 
                                          SET deltakelse = '$deltakelse'
                                          WHERE bruker_id = '$innloggetBrukerID' AND deltaker_id = '$deltaker_id' AND arrangement_id = $arrangementId";

                if ($conn->query($sql_update_deltakelse) !== TRUE) {
                    $feilmelding = "Feil ved oppdatering av deltakelsesstatus: " . $conn->error;
                }

                if ($deltakelse == 1) {
                    $sql_check_deltakelse = "SELECT * FROM deltakere WHERE bruker_id = '$innloggetBrukerID' AND deltaker_id = '$deltaker_id' AND arrangement_id = $arrangementId";
                    $result_check_deltakelse = $conn->query($sql_check_deltakelse);

                    if ($result_check_deltakelse->num_rows == 0) {
                        // INSERT: inkludert kjonn
                        $sql_insert_deltakelse = "INSERT INTO deltakere (bruker_id, deltaker_id, fornavn, etternavn, fodselsdato, kjonn, ovelse, pulje, klasse, klubb, arrangement_id, deltakelse)
                        VALUES ('$innloggetBrukerID', '$deltaker_id', '$fornavn', '$etternavn', '$fodselsdato', '$kjonn', '$ovelse', '$pulje', '$klasse', '$klubb', '$arrangementId', '$deltakelse')";

                        if ($conn->query($sql_insert_deltakelse) !== TRUE) {
                            $feilmelding = "Feil ved oppretting av deltakelse: " . $conn->error;
                        }
                    }
                }
            } else {
                $feilmelding = "Arrangementet med ID $arrangementId eksisterer ikke.";
            }
        }

        if (!isset($feilmelding)) {
            header('Location: index.php');
            exit;
        }
    }
}

$deltaker_id = $_GET['deltaker_id'];
$sql_deltaker_info = "SELECT * FROM deltakere WHERE bruker_id = '$innloggetBrukerID' AND deltaker_id = '$deltaker_id'";
$result_deltaker_info = $conn->query($sql_deltaker_info);

if ($result_deltaker_info->num_rows > 0) {
    $row_deltaker_info = $result_deltaker_info->fetch_assoc();
    $fornavn = $row_deltaker_info['fornavn'];
    $etternavn = $row_deltaker_info['etternavn'];
    $fodselsdato = $row_deltaker_info['fodselsdato'];
    $kjonn = $row_deltaker_info['kjonn']; // <-- NY
    $ovelse = $row_deltaker_info['ovelse'];

    if ($ovelse == "Lysløypa 2.3 km") {
        $pulje = "Lysløypa";
    } else if ($ovelse == "Skogsløypa 350 m") {
        $pulje = "Skogsløypa";
    }

    $klasse = $row_deltaker_info['klasse'];
    $klubb = $row_deltaker_info['klubb'];
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Rediger deltaker</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <h1>Rediger deltakerinformasjon og deltakelse</h1>

    <?php if (isset($feilmelding)) { ?>
        <p><?php echo $feilmelding; ?></p>
    <?php } ?>

    <form action="rediger_deltaker.php" method="post">
        <input type="hidden" name="deltaker_id" value="<?php echo $deltaker_id; ?>">

        <label for="fornavn">Fornavn:</label>
        <input type="text" name="fornavn" value="<?php echo $fornavn; ?>" required><br>

        <label for="etternavn">Etternavn:</label>
        <input type="text" name="etternavn" value="<?php echo $etternavn; ?>" required><br>

        <label for="fodselsdato">Fødselsdato:</label>
        <input type="date" name="fodselsdato" value="<?php echo $fodselsdato; ?>" required><br>

        <!-- NYTT FELT: KJØNN -->
        <label for="kjonn">Kjønn:</label>
        <select name="kjonn" required>
            <option value="">Velg kjønn</option>
            <option value="Mann"  <?php echo ($kjonn == "Mann") ? "selected" : ""; ?>>Mann</option>
            <option value="Kvinne" <?php echo ($kjonn == "Kvinne") ? "selected" : ""; ?>>Kvinne</option>
        </select><br>

        <label for="ovelse">Øvelse:</label>
        <select name="ovelse" required>
            <?php
            $sql_ovelser = "SELECT DISTINCT ovelse FROM deltakere";
            $result_ovelser = $conn->query($sql_ovelser);

            if ($result_ovelser->num_rows > 0) {
                while ($row_ovelse = $result_ovelser->fetch_assoc()) {
                    $ovelseNavn = $row_ovelse['ovelse'];
                    echo "<option value='$ovelseNavn'";
                    if ($ovelse == $ovelseNavn) { echo " selected"; }
                    echo ">$ovelseNavn</option>";
                }
            } else {
                echo "<option value='Ingen øvelser tilgjengelig'>Ingen øvelser tilgjengelig</option>";
            }
            ?>
        </select><br>

        Velger du skogsløypa så må du velge småtroll i klasse.<br>

        <label for="klasse">Klasse:</label>
        <select name="klasse" required>
            <?php
            $sql_klasse = "SELECT DISTINCT klasse FROM deltakere";
            $result_klasse = $conn->query($sql_klasse);

            if ($result_klasse->num_rows > 0) {
                while ($row_klasse = $result_klasse->fetch_assoc()) {
                    $klasseNavn = $row_klasse['klasse'];
                    echo "<option value='$klasseNavn'";
                    if ($klasse == $klasseNavn) { echo " selected"; }
                    echo ">$klasseNavn</option>";
                }
            } else {
                echo "<option value='Ingen klasser tilgjengelig'>Ingen klasser tilgjengelig</option>";
            }
            ?>
        </select><br>

        <label for="klubb">Klubb:</label>
        <input type="text" name="klubb" value="<?php echo $klubb; ?>" required><br>

        <label for="arrangementer">Velg deltakelse:</label>
        <br>
        <?php
        $sql_arrangementer = "SELECT * FROM arrangementer";
        $result_arrangementer = $conn->query($sql_arrangementer);

        $sql_deltakelse = "SELECT * FROM deltakere WHERE bruker_id = '$innloggetBrukerID' AND deltaker_id = '$deltaker_id'";
        $result_deltakelse = $conn->query($sql_deltakelse);
        $deltakelse_map = [];

        if ($result_deltakelse->num_rows > 0) {
            while ($row_deltakelse = $result_deltakelse->fetch_assoc()) {
                $deltakelse_map[$row_deltakelse['arrangement_id']] = $row_deltakelse['deltakelse'];
            }
        }

        while ($row_arrangement = $result_arrangementer->fetch_assoc()) {
            $arrangementId = $row_arrangement['id'];
            $arrangementNavn = $row_arrangement['navn'];
            $arrangementStatus = $row_arrangement['aktiv'];
            $deltakelse = isset($deltakelse_map[$arrangementId]) ? $deltakelse_map[$arrangementId] : 0;

            echo "<label for='arrangementer[$arrangementId]'>$arrangementNavn:</label>";
            echo "<select name='arrangementer[$arrangementId]' " . ($arrangementStatus == 0 ? "disabled" : "") . ">";
            echo "  <option value='0' " . ($deltakelse == 0 ? 'selected' : '') . ">Nei</option>";
            echo "  <option value='1' " . ($deltakelse == 1 ? 'selected' : '') . ">Ja</option>";
            echo "</select>";

            if ($arrangementStatus == 0) {
                echo "<span style='color: gray;'> (Webpåmelding er stengt eller så er rennet avholdt)</span>";
            }

            echo "<br>";
        }
        ?>
        <br><br>

        <input type="submit" value="Oppdater">
    </form>

    <br>

    <a href="index.php">Tilbake til startsiden</a>
</body>
</html>
