<?php
/* Page Admission & pré-inscription — variables fournies par le routeur ($titre)
   ou par le traitement POST de public/index.php ($erreurs, $alerteDoublon). */
require_once __DIR__ . '/../src/pieces.php';
$erreurs = $erreurs ?? [];
$alerteDoublon = $alerteDoublon ?? false;

if (!function_exists('valeur_champ')) {
    /** Valeur à ré-afficher dans un champ après une tentative d'envoi : ce qui a été posté, sinon $defaut. */
    function valeur_champ(string $nom, string $defaut = ''): string {
        $v = $_POST[$nom] ?? $defaut;
        return is_string($v) ? $v : '';
    }
}

$filiereGet = $_GET['filiere'] ?? '';
$filiereParDefaut = (is_string($filiereGet) && isset(filieres()[$filiereGet])) ? $filiereGet : '';
$filiere1Val = valeur_champ('filiere1', $filiereParDefaut);
$filiere2Val = valeur_champ('filiere2');
$sexeVal = valeur_champ('sexe');
// Un POST ayant échoué (erreur de champ, blocage antispam ou doublon) recharge la page :
// les <input type="file"> sont alors forcément vides, quelle que soit la cause de l'échec.
$redepot = (bool)$erreurs || $alerteDoublon;
?>

<section class="bandeau-clair">
  <div class="conteneur">
    <div class="section-entete">
      <span class="label-section">Admission</span>
      <h1>Admission &amp; pré-inscription</h1>
      <p>Rejoins la prochaine promotion de l'ISIT Korhogo. Dépose ton dossier de pré-inscription en trois étapes simples : c'est rapide, et tu reçois immédiatement un numéro de dossier.</p>
    </div>
  </div>
</section>

<section class="bandeau-sombre">
  <div class="conteneur">
    <div class="section-entete">
      <span class="label-section">Conditions &amp; tarifs</span>
      <h2>Une scolarité accessible</h2>
      <p>Admission ouverte à tout candidat titulaire du BAC, toutes séries, ou d'un niveau équivalent.</p>
    </div>
    <div class="grille-tarifs">
      <div class="carte-tarif">
        <h3>Scolarité</h3>
        <span class="montant">140 000 F CFA</span>
        <p>Paiement cash ou échelonné sur 3 à 6 mois.</p>
      </div>
      <div class="carte-tarif">
        <h3>Frais annexes</h3>
        <span class="montant">60 000 F CFA</span>
        <p>Tenue officielle, chaussures, polo ISIT et carte d'étudiant.</p>
      </div>
    </div>
  </div>
</section>

<section id="formulaire">
  <div class="conteneur">
    <div class="section-entete">
      <span class="label-section">Pré-inscription</span>
      <h2>Ton dossier en 3 étapes</h2>
      <p>Remplis le formulaire ci-dessous. Les pièces jointes sont facultatives à ce stade : tu pourras aussi les apporter directement à l'école.</p>
    </div>

    <div class="formulaire-corps">
      <?php if ($erreurs['global'] ?? null): ?>
        <p class="bandeau-erreur"><?= htmlspecialchars($erreurs['global']) ?></p>
      <?php endif; ?>

      <form method="post" action="/admission#formulaire" enctype="multipart/form-data">
        <div class="hp-champ" aria-hidden="true">
          <label>Votre site web<input type="text" name="site_web" tabindex="-1" autocomplete="off"></label>
        </div>

        <?php /* À l'INTÉRIEUR du <form> : la case confirme_doublon doit être un
           contrôle soumis avec le formulaire, sinon la confirmation ne part jamais. */ ?>
        <?php if ($alerteDoublon): ?>
          <div class="panneau-doublon">
            <p>Une candidature avec ce téléphone existe déjà pour cette filière. Cochez pour confirmer un nouvel envoi.</p>
            <label><input type="checkbox" name="confirme_doublon" value="1"> Je confirme l'envoi malgré ce doublon</label>
          </div>
        <?php endif; ?>

        <div class="progression">
          <div class="barre-progression" role="progressbar" aria-valuemin="1" aria-valuemax="3" aria-valuenow="1" aria-label="Progression du formulaire"><div class="barre-progression-remplissage"></div></div>
          <p class="etape-texte" aria-live="polite">Étape 1 sur 3</p>
        </div>

        <fieldset data-etape="1">
          <legend tabindex="-1">Identité &amp; contact</legend>

          <div class="champ">
            <label for="nom">Nom *</label>
            <input type="text" id="nom" name="nom" required maxlength="100" value="<?= htmlspecialchars(valeur_champ('nom')) ?>">
            <?php if ($erreurs['nom'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['nom']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="prenoms">Prénoms *</label>
            <input type="text" id="prenoms" name="prenoms" required maxlength="150" value="<?= htmlspecialchars(valeur_champ('prenoms')) ?>">
            <?php if ($erreurs['prenoms'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['prenoms']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="date_naissance">Date de naissance *</label>
            <input type="date" id="date_naissance" name="date_naissance" required value="<?= htmlspecialchars(valeur_champ('date_naissance')) ?>">
            <?php if ($erreurs['date_naissance'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['date_naissance']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="lieu_naissance">Lieu de naissance *</label>
            <input type="text" id="lieu_naissance" name="lieu_naissance" required maxlength="100" value="<?= htmlspecialchars(valeur_champ('lieu_naissance')) ?>">
            <?php if ($erreurs['lieu_naissance'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['lieu_naissance']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="sexe">Sexe *</label>
            <select id="sexe" name="sexe" required>
              <option value="" disabled <?= $sexeVal === '' ? 'selected' : '' ?>>— Sélectionner —</option>
              <option value="M" <?= $sexeVal === 'M' ? 'selected' : '' ?>>Masculin</option>
              <option value="F" <?= $sexeVal === 'F' ? 'selected' : '' ?>>Féminin</option>
            </select>
            <?php if ($erreurs['sexe'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['sexe']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="nationalite">Nationalité *</label>
            <input type="text" id="nationalite" name="nationalite" required maxlength="60" value="<?= htmlspecialchars(valeur_champ('nationalite', 'Ivoirienne')) ?>">
            <?php if ($erreurs['nationalite'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['nationalite']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="telephone">Téléphone *</label>
            <input type="tel" id="telephone" name="telephone" required maxlength="20" value="<?= htmlspecialchars(valeur_champ('telephone')) ?>">
            <?php if ($erreurs['telephone'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['telephone']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="email">E-mail <span class="aide">(facultatif)</span></label>
            <input type="email" id="email" name="email" maxlength="150" value="<?= htmlspecialchars(valeur_champ('email')) ?>">
            <?php if ($erreurs['email'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['email']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="ville">Ville *</label>
            <input type="text" id="ville" name="ville" required maxlength="100" value="<?= htmlspecialchars(valeur_champ('ville')) ?>">
            <?php if ($erreurs['ville'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['ville']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="tuteur_nom">Nom du tuteur *</label>
            <input type="text" id="tuteur_nom" name="tuteur_nom" required maxlength="150" value="<?= htmlspecialchars(valeur_champ('tuteur_nom')) ?>">
            <?php if ($erreurs['tuteur_nom'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['tuteur_nom']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="tuteur_telephone">Téléphone du tuteur *</label>
            <input type="tel" id="tuteur_telephone" name="tuteur_telephone" required maxlength="20" value="<?= htmlspecialchars(valeur_champ('tuteur_telephone')) ?>">
            <?php if ($erreurs['tuteur_telephone'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['tuteur_telephone']) ?></p><?php endif; ?>
          </div>

          <div class="etape-navigation">
            <button type="button" class="btn-cta btn-suivant">Suivant</button>
          </div>
        </fieldset>

        <fieldset data-etape="2">
          <legend tabindex="-1">Parcours &amp; choix</legend>

          <div class="champ">
            <label for="bac_serie">Série du BAC *</label>
            <input type="text" id="bac_serie" name="bac_serie" required maxlength="30" placeholder="ex. A, C, D, G2…" value="<?= htmlspecialchars(valeur_champ('bac_serie')) ?>">
            <?php if ($erreurs['bac_serie'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['bac_serie']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="bac_annee">Année d'obtention du BAC *</label>
            <input type="number" id="bac_annee" name="bac_annee" required min="1990" max="2027" value="<?= htmlspecialchars(valeur_champ('bac_annee')) ?>">
            <?php if ($erreurs['bac_annee'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['bac_annee']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="etablissement_origine">Établissement d'origine *</label>
            <input type="text" id="etablissement_origine" name="etablissement_origine" required maxlength="150" value="<?= htmlspecialchars(valeur_champ('etablissement_origine')) ?>">
            <?php if ($erreurs['etablissement_origine'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['etablissement_origine']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="filiere1">1er choix de filière *</label>
            <select id="filiere1" name="filiere1" required>
              <option value="" disabled <?= $filiere1Val === '' ? 'selected' : '' ?>>— Choisir une filière —</option>
              <?php foreach (filieres() as $code => $f): ?>
                <option value="<?= htmlspecialchars($code) ?>" <?= $filiere1Val === $code ? 'selected' : '' ?>><?= htmlspecialchars($code . ' — ' . $f['nom']) ?></option>
              <?php endforeach; ?>
            </select>
            <?php if ($erreurs['filiere1'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['filiere1']) ?></p><?php endif; ?>
          </div>

          <div class="champ">
            <label for="filiere2">2e choix de filière <span class="aide">(facultatif)</span></label>
            <select id="filiere2" name="filiere2">
              <option value="" <?= $filiere2Val === '' ? 'selected' : '' ?>>— Aucun second choix —</option>
              <?php foreach (filieres() as $code => $f): ?>
                <option value="<?= htmlspecialchars($code) ?>" <?= $filiere2Val === $code ? 'selected' : '' ?>><?= htmlspecialchars($code . ' — ' . $f['nom']) ?></option>
              <?php endforeach; ?>
            </select>
            <?php if ($erreurs['filiere2'] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs['filiere2']) ?></p><?php endif; ?>
          </div>

          <div class="etape-navigation">
            <button type="button" class="btn-secondaire btn-precedent">Précédent</button>
            <button type="button" class="btn-cta btn-suivant">Suivant</button>
          </div>
        </fieldset>

        <fieldset data-etape="3">
          <legend tabindex="-1">Pièces jointes (facultatives à cette étape)</legend>
          <p class="aide">PDF, JPG ou PNG — 5 Mo max. Vous pourrez aussi apporter les pièces à l'école.</p>
          <?php if ($redepot): ?>
            <p class="aide">Si des fichiers avaient été sélectionnés avant l'envoi, merci de les choisir à nouveau : ils n'ont pas été conservés.</p>
          <?php endif; ?>

          <?php foreach (PIECES_TYPES as $type => $libelle): ?>
            <div class="champ">
              <label for="<?= htmlspecialchars($type) ?>"><?= htmlspecialchars($libelle) ?></label>
              <input type="file" id="<?= htmlspecialchars($type) ?>" name="<?= htmlspecialchars($type) ?>" accept=".pdf,.jpg,.jpeg,.png">
              <?php if ($erreurs[$type] ?? null): ?><p class="erreur"><?= htmlspecialchars($erreurs[$type]) ?></p><?php endif; ?>
            </div>
          <?php endforeach; ?>

          <div class="etape-navigation">
            <button type="button" class="btn-secondaire btn-precedent">Précédent</button>
            <button type="submit" class="btn-cta">Envoyer ma candidature</button>
          </div>
        </fieldset>
      </form>
    </div>
  </div>
</section>

<script src="/assets/js/formulaire.js" defer></script>
