<!DOCTYPE html>

<html lang="en">

  <head>
    <meta charset="utf-8" />
    <meta content="width=device-width, initial-scale=1.0" name="viewport" />
    <title>Formulaire d'Audience Arrivant</title>
    <style>
    body {
      font-family: 'Calibri', 'Arial', sans-serif;
      background-color: #f5f6fa;
      color: #2f3640;
      margin: 0;
      padding: 20px;
      line-height: 1.5;
    }

    h1 {
      color: #4a69bd;
      text-align: center;
      margin-bottom: 20px;
      font-size: 2em;
      /* Réduit pour meilleure lecture */
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    }

    form {
      max-width: 70%;
      margin: 0 auto;
      background: #ffffff;
      padding: 20px;
      /* Réduit pour optimiser l'espace */
      border-radius: 10px;
      box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
    }

    .form-section {
      margin-bottom: 30px;
      padding: 20px;
      /* Ajoute un espace interne */
      background-color: #f0f4f8;
      /* Couleur douce pour démarquer les sections */
      border: 1px solid #dcdde1;
      /* Bordure légère pour la délimitation */
      border-radius: 8px;
      /* Coins arrondis pour un effet plus doux */
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      /* Légère ombre pour la profondeur */
    }

    .form-section h2 {
      font-size: 1.1em;
      /* Réduit pour cohérence */
      color: #4a69bd;
      margin-bottom: 10px;
      border-left: 3px solid #4a69bd;
      padding-left: 8px;
    }

    label {
      font-size: 0.9em;
      /* Texte réduit légèrement */
      font-weight: bold;
      color: #4a4a4a;
      display: block;
      margin-bottom: 5px;
    }

    input[type="text"],
    textarea {
      width: 100%;
      padding: 8px;
      /* Réduction du padding */
      border: 1px solid #dcdde1;
      border-radius: 6px;
      font-size: 0.9em;
      /* Réduction de la taille du texte */
      margin-bottom: 15px;
      /* Réduit l'espacement vertical */
      background: #f7f7f7;
      color: #2f3640;
      transition: all 0.2s ease-in-out;
    }

    input[type="text"]:focus,
    textarea:focus {
      outline: none;
      border-color: #4a69bd;
      box-shadow: 0 0 5px rgba(74, 105, 189, 0.3);
      /* Ombre plus légère */
    }

    .checkbox-group {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      /* Réduit l'écart entre les éléments */
    }

    .checkbox-group label {
      font-size: 0.9em;
      /* Texte réduit pour boutons */
      color: #636e72;
      background-color: #f7f7f7;
      border: 1px solid #dcdde1;
      border-radius: 5px;
      padding: 8px 16px;
      /* Réduction du padding */
      cursor: pointer;
      display: flex;
      align-items: center;
      transition: all 0.3s ease-in-out;
    }

    .checkbox-group input {
      display: none;
    }

    .checkbox-group input:checked+label {
      background-color: #5cb85c;
      color: #ffffff;
      border-color: #4a69bd;
      transform: scale(1.02);
      /* Légère augmentation pour focus */
      box-shadow: 0 3px 6px rgba(74, 105, 189, 0.2);
    }

    .checkbox-group label:hover {
      background-color: #ececec;
    }

    button {
      display: inline-block;
      background-color: #4a69bd;
      color: #ffffff;
      border: none;
      padding: 10px 15px;
      /* Réduction du padding */
      border-radius: 5px;
      font-size: 0.9em;
      /* Réduction de la taille */
      cursor: pointer;
      transition: background-color 0.3s ease, transform 0.2s ease;
      margin-right: 8px;
      /* Réduction de l'espacement */
    }

    button:hover {
      background-color: #6a89cc;
      transform: scale(1.03);
      /* Légère transformation */
    }

    ul li {
      background-color: #333;
      margin-bottom: 8px;
      /* Réduit l'espace vertical */
      padding: 8px 12px;
      /* Réduit le padding */
      border-radius: 5px;
      color: #9cd2a2;
      font-size: 0.9em;
      /* Réduction de la taille */
      font-weight: bold;
      display: flex;
      align-items: center;
      transition: background-color 0.3s ease, transform 0.2s ease;
    }

    ul li:hover {
      background-color: #444;
      transform: scale(1.01);
    }

    ul li::before {
      content: "✔";
      color: #9cd2a2;
      font-weight: bold;
      margin-right: 8px;
    }

    label.category-label {
      font-size: 1em;
      /* Réduit la taille */
      color: rgb(91, 139, 195);
      font-weight: bold;
      display: block;
      margin-bottom: 8px;
      text-transform: uppercase;
    }

    label.response-label input {
      margin-right: 8px;
    }

    .input-group-inline {
      display: flex;
      gap: 10px;
      /* Espacement entre les champs */
    }

    .input-group-inline .input {
      flex: 1;
      /* Permet aux champs de se partager l'espace disponible */
    }
    </style>

  </head>

  <body>
    <h1>Formulaire d'Audience Arrivant</h1>
    <form aria-labelledby="form-title" id="RE">
      <div class="form-section" id="form-title">

        <label class="category-label" for="nomecrou">Nom ou numéro d'écrou :</label>
        <input id="nomecrou" oninput="updateResult()" type="text" placeholder="Nom ou numéro d'écrou" />

        <!-- Informations générales -->
        <label class="category-label" for="dateaud">Date d'audience</label>
        <input id="dateaud" oninput="updateResult()" type="text" placeholder="JJ/MM/AAAA" />

        <label class="category-label" for="ecrouini">Date d'écrou initial <button type="button" id="yesterdayButton">Hier</button> -- <button type="button" id="todayButton">Aujourd'hui</button></label>

        <div style="display: flex; align-items: center; gap: 10px;">
          <input id="ecrouini" oninput="updateResult()" type="text" placeholder="JJ/MM/AAAA" style="flex: 1;" />
        </div>

        <label class="category-label" for="agedet">Âge</label>
        <input id="agedet" oninput="updateResult()" type="text" placeholder="Exemple : 30" />
      </div>

      <div class="form-section">
        <h2>HISTORIQUE PENAL</h2>
        <div class="checkbox-group">
          <input id="incarpn" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="incarpn">Première incarcération</label>

          <input id="incarpo" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="incarpo">Déjà incarcéré par le passé</label>
        </div>

        <textarea class="custom-textarea" id="incarou" oninput="updateResult()" placeholder="FAITS / ETABLISSEMENTS PASSES"></textarea>

        <!-- Catégorie pénale -->
        <h2>CATEGORIE PENALE</h2>
        <div class="checkbox-group">
          <input id="condamne" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="condamne">Condamné</label>

          <input id="prevenu" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="prevenu">Prévenu</label>

          <input id="correctionnelle" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="correctionnelle">Correctionnelle</label>

          <input id="criminelle" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="criminelle">Criminelle</label>
        </div>

        <label class="category-label">FAITS</label>
        <div class="checkbox-group">
          <button type="button" class="fact-button" data-fact="VIF">VIF</button>
          <button type="button" class="fact-button" data-fact="VOL">VOL</button>
          <button type="button" class="fact-button" data-fact="STUP">STUP</button>
          <button type="button" class="fact-button" data-fact="STUP EN BO">STUP EN BO</button>
          <button type="button" class="fact-button" data-fact="AGRESSION SEXUELLE">AGRESSION SEXUELLE</button>
          <button type="button" class="fact-button" data-fact="VIOL">VIOL</button>
        </div>
        <textarea class="custom-textarea" id="faits" oninput="updateResult()" placeholder="Saisissez les faits ici..."></textarea>


        <h2 id="vifh">VIF - NOM VICTIME</h2>
        <textarea class="custom-textarea" id="vifvictime" oninput="updateResult()" placeholder="Nom de la victime"></textarea>
      </div>

      <div class="form-section">
        <!-- Situation -->
        <h2>SITUATION</h2>
        <div class="checkbox-group">
          <input id="celibataire" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="celibataire">Célibataire</label>

          <input id="couple" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="couple">Couple</label>

          <input id="concubinage" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="concubinage">Concubinage</label>

          <input id="marie" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="marie">Marié</label>
        </div>

        <textarea class="custom-textarea" id="famillesin" oninput="updateResult()" placeholder="Informations complémentaires si nécessaire"></textarea>

        <!-- Enfants -->
        <h2>ENFANTS</h2>
        <div class="checkbox-group">
          <input id="noenfants" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="noenfants">Non</label>

          <input id="enfants" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="enfants">Oui</label>
        </div>

        <!-- Travail / Études -->
        <h2>TRAVAIL / ETUDES</h2>
        <div class="checkbox-group">
          <input id="ntravail" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="ntravail">Non</label>

          <input id="otravail" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="otravail">Oui</label>
        </div>
        <textarea class="custom-textarea" id="travailt" oninput="updateResult()" placeholder="Détails sur le travail"></textarea>

        <!-- Domicile -->
        <h2>DOMICILE</h2>
        <div class="checkbox-group">
          <input id="nadresse" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="nadresse">Sans adresse</label>

          <input id="adresse" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="adresse">Adresse connue</label>
        </div>
        <textarea class="custom-textarea" id="nadresset" oninput="updateResult()" placeholder="Ville et code postal"></textarea>



        <!-- Personne à contacter en cas d'urgence -->
        <h2>PERSONNE A CONTACTER EN CAS URGENCE</h2>
        <div class="checkbox-group">
          <input type="checkbox" id="npersonne" onchange="updateResult()" />
          <label class="response-label" for="npersonne">Aucune personne</label>
        </div>

        <div class="checkbox-group">
          <input type="checkbox" id="ncpersonne" onchange="updateResult()" />
          <label class="response-label" for="ncpersonne">Ne connaît pas le numéro - Il s'agit de :</label>
        </div>

        <input class="input" type="text" id="ncquipersonne" oninput="updateResult()" placeholder="Détails (ex : Nom)" />

        <div class="checkbox-group">
          <input type="checkbox" id="infosoui" onchange="updateResult()" />
          <label class="response-label" for="infosoui">Possède les informations :</label>
        </div>

        <div class="input-group-inline">
          <input class="input" type="text" id="quipersonne" oninput="updateResult()" placeholder="Lien familial" />
          <input class="input" type="text" id="telpersonne" oninput="updateResult()" placeholder="Numéro de téléphone" />
        </div>


        <!-- Visites prévues aux parloirs -->
        <h2>VISITES PREVUES AUX PARLOIRS</h2>
        <div class="checkbox-group">
          <input id="ncvisites" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="ncvisites">Ne sait pas</label>

          <input id="novisites" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="novisites">Non</label>

          <input id="visites" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="visites">Oui</label>
        </div>
        <textarea class="custom-textarea" id="visitesqui" oninput="updateResult()" placeholder="Détails sur les visites si nécessaire"></textarea>

        <!-- Assistance financière -->
        <h2>ASSISTANCE FINANCIERE PAR MOIS</h2>
        <div class="checkbox-group">
          <input id="ncassistanceFinanciere" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="ncassistanceFinanciere">Ne sait pas</label>

          <input id="noassistanceFinanciere" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="noassistanceFinanciere">Non</label>

          <input id="assistanceFinanciere" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="assistanceFinanciere">Oui</label>
        </div>


      </div>

      <div class="form-section">

        <!-- Antécédents disciplinaires -->
        <h2>ANTECEDENTS DISCIPLINAIRES</h2>
        <div class="checkbox-group">
          <input id="antdn" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="antdn">Non</label>

          <input id="antdo" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="antdo">Oui</label>
        </div>
        <textarea class="custom-textarea" id="antdt" oninput="updateResult()" placeholder="Détails des antécédents"></textarea>

        <!-- Régime alimentaire -->
        <h2>REGIME ALIMENTAIRE</h2>
        <div class="checkbox-group">
          <input type="checkbox" id="sansPorc" onchange="updateResult()" />
          <label class="response-label" for="sansPorc">Sans porc</label>

          <input type="checkbox" id="vegetarien" onchange="updateResult()" />
          <label class="response-label" for="vegetarien">Végétarien</label>

          <input type="checkbox" id="sansRegime" onchange="updateResult()" />
          <label class="response-label" for="sansRegime">Sans régime spécial</label>
        </div>

        <!-- Connaît des détenus / Appartient à une bande -->
        <h2>CONNAIT DES DETENUS / APPARTIENT A QUELLE BANDE</h2>
        <div class="checkbox-group">
          <input type="checkbox" id="bandesa" onchange="updateResult()" />
          <label class="response-label" for="bandesa">N'appartient à aucune bande</label>
        </div>
        <textarea class="custom-textarea" id="connaitDetenus" oninput="updateResult()" placeholder="S'il appartient à une bande ou connaît quelqu'un, mettre les mots 'connaît' ou 'appartient à'"></textarea>

      </div>


      <div class="form-section">

        <!-- Médical -->
        <h2>MEDICAL</h2>
        <div class="checkbox-group">
          <input id="fumeur" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="fumeur">FUMEUR</label>

          <input id="fumeurstup" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="fumeurstup">Stup ?</label>

          <input id="coke" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="coke">Coke ?</label>

          <input id="fumeurn" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="fumeurn">NON FUMEUR</label>
        </div>

        <div class="checkbox-group">
          <input id="asthme" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="asthme">ASTHME</label>

          <input id="asthmet" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="asthmet">TRAITEMENT</label>
        </div>

        <div class="checkbox-group">
          <input id="problemeCardiaque" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="problemeCardiaque">PROBLEME CARDIAQUE</label>

          <input id="problemeCardiaquet" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="problemeCardiaquet">TRAITEMENT</label>
        </div>

        <div class="checkbox-group">
          <input id="problemeScyzo" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="problemeScyzo">SCHIZOPHRÉNE</label>

          <input id="problemeScyzot" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="problemeScyzot">TRAITEMENT</label>
        </div>

        <div class="checkbox-group">
          <input id="santecedentSuicide" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="santecedentSuicide">SANS ANTECEDENT DE TENTATIVE DE SUICIDE</label>

          <input id="antecedentSuicide" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="antecedentSuicide">ANTECEDENT DE TENTATIVE DE SUICIDE</label>
        </div>

        <div class="checkbox-group">
          <input id="sideesNoires" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="sideesNoires">SANS IDEES NOIRES</label>

          <input id="ideesNoires" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="ideesNoires">IDEES NOIRES</label>
        </div>

        <div class="checkbox-group">
          <input id="psyextn" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="psyextn">PAS DE SUIVI PSY</label>

          <input id="psyext" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="psyext">SUIVI PSY</label>
        </div>

        <div class="checkbox-group">
          <input id="nvprison" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="nvprison">PAS DE VISITEUR DE PRISON</label>

          <input id="vprison" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="vprison">VISITEUR DE PRISON</label>
        </div>

        <div class="checkbox-group">
          <h2>TRAITEMENT MÉDICAL PARTICULIER ?</h2>
          <textarea class="custom-textarea" id="maladie" oninput="updateResult()" placeholder="Détails sur la maladie"></textarea>
        </div>

      </div>


      <div class="form-section">

        <!-- Maladie grave particulière -->
        <h2>AUTRE CHOSE ?</h2>
        <textarea class="custom-textarea" id="autre" oninput="updateResult()" placeholder="Détails"></textarea>
      </div>

      <div class="form-section">
        <!-- Mesures de séparation -->
        <h2>MESURE(S) DE SEPARATION(S) ?</h2>
        <div class="checkbox-group">
          <input id="separn" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="separn">Non</label>

          <input id="separo" onchange="updateResult()" type="checkbox" />
          <label class="response-label" for="separo">Oui</label>
        </div>
        <textarea class="custom-textarea" id="separt" oninput="updateResult()" placeholder="Détails sur les mesures de séparation"></textarea>

        <h2>CONSIGNES SUPPLÉMENTAIRES</h2>
        <div class="checkbox-group">
          <input type="checkbox" id="courrierMagistrats" onchange="updateResult()" />
          <label class="response-label" for="courrierMagistrats">Courrier à transmettre aux magistrats</label>

          <input type="checkbox" id="interdictionFamille" onchange="updateResult()" />
          <label class="response-label" for="interdictionFamille">Interdiction de téléphoner aux autres membres que sa famille</label>

          <input type="checkbox" id="interdictionTous" onchange="updateResult()" />
          <label class="response-label" for="interdictionTous">Interdiction de téléphoner avec tout le monde</label>
        </div>
      </div>


      <div class="form-section">
        <!-- Audience générée -->
        <h2 id="audienceGeneree">Audience Générée</h2>
        <textarea class="custom-textarea" id="result" placeholder="Génération du rapport..."></textarea>
        <div class="form-actions">
          <button onclick="copyToClipboard()" type="button">Copier</button>
          <button onclick="clearForm()" type="button">Effacer le formulaire</button><br /><br />

        </div>
      </div>

      <h2>Récapitulatif des consignes</h2>
      <ul id="recapConsignes">
        <!-- Les consignes seront générées ici dynamiquement -->
      </ul>

      <h2>Grilles d'évaluations</h2>
      <ul id="grillesEvaluations">
        <!-- Les grilles seront générées ici dynamiquement -->
      </ul>


      <span>
        <font style="font-size: 10px">Créé par KAHAL Kévin</font>
      </span>
    </form>

    <div id="notifications" style="position: fixed; top: 10px; right: 10px;"></div>
    <script>
    document.querySelectorAll("input").forEach(input => {
      input.setAttribute("autocomplete", "off");
    });

    document.querySelectorAll(".fact-button").forEach(button => {
      button.addEventListener("click", () => {
        const faitsTextarea = document.getElementById("faits");
        faitsTextarea.value = button.dataset.fact;
        updateResult();
      });
    });

    function formatDateToInput(date) {
      const day = String(date.getDate()).padStart(2, "0");
      const month = String(date.getMonth() + 1).padStart(2, "0");
      const year = date.getFullYear();
      return `${day}/${month}/${year}`;
    }

    document.getElementById("yesterdayButton").addEventListener("click", function() {
      const yesterday = new Date();
      yesterday.setDate(yesterday.getDate() - 1);
      document.getElementById("ecrouini").value = formatDateToInput(yesterday);
      updateResult(); // Met à jour le résultat si nécessaire
    });

    document.getElementById("todayButton").addEventListener("click", function() {
      const today = new Date();
      document.getElementById("ecrouini").value = formatDateToInput(today);
      updateResult(); // Met à jour le résultat si nécessaire
    });

    // Fonction pour gérer l'affichage et le masquage d'un textarea selon la case cochée
    function toggleTextarea(checkboxId, textareaId) {
      const checkbox = document.getElementById(checkboxId);
      const textarea = document.getElementById(textareaId);

      // Masquer le textarea par défaut
      textarea.style.display = "none";

      // Ajouter un événement "change" pour gérer l'affichage et le masquage
      checkbox.addEventListener('change', () => {
        textarea.style.display = checkbox.checked ? "block" : "none";
      });
    }


    document.getElementById("nomecrou").addEventListener("input", function() {
      const nomecrouValue = this.value;
      // Mise à jour du titre
      document.title = nomecrouValue + " - Audience Arrivant";
      // Mise à jour de l'en-tête
      const audienceHeader = document.querySelector("h2#audienceGeneree");
      audienceHeader.textContent = "Audience Générée pour " + nomecrouValue;
    });

    toggleTextarea("incarpo", "incarou");
    toggleTextarea("adresse", "nadresset");
    toggleTextarea("antdo", "antdt");
    toggleTextarea("separo", "separt");
    toggleTextarea("separo", "separt");
    toggleTextarea("separo", "separt");
    toggleTextarea("ncpersonne", "ncquipersonne");
    toggleTextarea("infosoui", "quipersonne");
    toggleTextarea("infosoui", "telpersonne");


    function clearForm() {
      if (confirm("Êtes-vous sûr de vouloir effacer le formulaire ?")) {
        document.getElementById("RE").reset();
        updateResult();
      }
    }

    function copyToClipboard() {
      var textarea = document.getElementById("result");
      textarea.select();
      document.execCommand('copy');
    }

    const vifHeader = document.getElementById("vifh");
    const vifTextarea = document.getElementById("vifvictime");
    const faisvifab = document.getElementById("faits");
    // Masquer par défaut
    vifHeader.style.display = "none";
    vifTextarea.style.display = "none";

    function autoResizeTextarea(textarea) {
      textarea.style.height = "auto";
      textarea.style.height = textarea.scrollHeight + "px";
      if (faisvifab.value.includes("VIF")) {
        vifHeader.style.display = "block";
        vifTextarea.style.display = "block";
      } else {
        vifHeader.style.display = "none";
        vifTextarea.style.display = "none";
      }
    }

    const resultTextarea = document.getElementById("result");


    function updateResult() {

      var result = "Reçu dans le cadre de l'audience arrivant du " + document.getElementById('dateaud').value + ", ";

      if (document.getElementById('condamne').checked) {
        result += "condamné ";
      }
      if (document.getElementById('prevenu').checked) {
        result += "prévenu ";
      }

      if (document.getElementById('correctionnelle').checked) {
        result += "correctionnelle ";
      }
      if (document.getElementById('criminelle').checked) {
        result += "criminelle ";
      }

      result += ", ";

      var agedeta = document.getElementById('agedet').value;
      if (agedeta != "") {
        result += "âgé de " + agedeta + " ans, ";
      }

      var ecroub = document.getElementById('ecrouini').value;
      if (ecroub != "") {
        result += "a été écroué le " + ecroub + ". ";
      }

      if (document.getElementById('incarpn').checked) {
        result += "C'est sa première incarcération, ";

        var faitsa = document.getElementById('faits').value;
        if (faitsa != "") {
          result += "pour des faits de " + faitsa + ". ";
        }

        var vifvictimea = document.getElementById('vifvictime').value;
        if (faitsa.includes("VIF")) {
          result += "Victime des faits " + vifvictimea + ". ";
        }
      }
      if (document.getElementById('incarpo').checked) {
        result += "Déjà incarcéré par le passé ";

        var incaroua = document.getElementById('incarou').value;
        if (incaroua != "") {
          result += "( " + incaroua + "). ";
        }

        var faitsa = document.getElementById('faits').value;
        if (faitsa != "") {
          result += "Il est actuellement incarcéré pour des faits de " + faitsa + ". ";
        }
        var vifvictimea = document.getElementById('vifvictime').value;
        if (faitsa.includes("VIF")) {
          result += "Victime des faits " + vifvictimea + ". ";
        }
      }

      result += "Lors de l'audience, il a déclaré ";

      if (document.getElementById('celibataire').checked) {
        result += "être célibataire ";
      }
      if (document.getElementById('couple').checked) {
        result += "être en couple ";
      }
      if (document.getElementById('concubinage').checked) {
        result += "être en concubinage ";
      }
      if (document.getElementById('marie').checked) {
        result += "être marié ";
      }

      var famillesina = document.getElementById('famillesin').value;
      if (famillesina != "") {
        result += "(" + famillesina + ") ";
      }

      if (document.getElementById('noenfants').checked) {
        result += "et sans enfant. ";
      }
      if (document.getElementById('enfants').checked) {
        result += "et avoir un ou plusieurs enfants. ";
      }

      if (document.getElementById('ntravail').checked) {
        result += "Il ne travaille pas à l'extérieur. ";
      }

      var ntravaila = document.getElementById('travailt').value.trim();
      if (document.getElementById('otravail').checked) {
        if (ntravaila) {
          result += "Il travaille en tant que " + ntravaila + ". ";
        } else {
          result += "Il travaille à l'extérieur. ";
        }
      }

      if (document.getElementById('npersonne').checked) {
        result += "En cas d'urgence, il a indiqué qu'il n'a personne à contacter. ";
      }
      var quipersonne = document.getElementById('ncquipersonne').value;
      if (document.getElementById('ncpersonne').checked) {
        result += "En cas d'urgence, il a indiqué ne pas connaître le numéro, il s'agit de " + quipersonne + ". ";
      }
      var personnelien = document.getElementById('quipersonne').value;
      var personnenumero = document.getElementById('telpersonne').value;
      if (document.getElementById('infosoui').checked) {
        result += "En cas d'urgence, il a indiqué que " + personnelien + " peut être contacté(e) au " + personnenumero + ". ";
      }

      if (document.getElementById('nadresse').checked) {
        result += "Il n'a pas d'adresse. ";
      }
      var adressea = document.getElementById('nadresset').value;
      if (document.getElementById('adresse').checked) {
        result += "Il réside au " + adressea + ". ";
      }

      // Visites prévues aux parloirs
      if (document.getElementById('ncvisites').checked) {
        let visitesquia = document.getElementById('visitesqui').value.trim();
        if (visitesquia != "") {
          visitesquia = ", " + visitesquia;
        }
        result += "Il ne sait pas encore s'il recevra des visites au parloir" + visitesquia + ". ";
      }
      if (document.getElementById('novisites').checked) {
        let visitesquia = document.getElementById('visitesqui').value.trim();
        if (visitesquia != "") {
          visitesquia = ", " + visitesquia;
        }
        result += "Il ne recevra pas de visites au parloir" + visitesquia + ". ";
      }
      if (document.getElementById('visites').checked) {
        let visitesquia = document.getElementById('visitesqui').value.trim();
        if (visitesquia) {
          result += "Il recevra des visites aux parloirs, par " + visitesquia + ". ";
        } else {
          result += "Il recevra des visites aux parloirs. ";
        }
      }

      // Assistance financière
      if (document.getElementById('ncassistanceFinanciere').checked) {
        result += "Il ne sait pas encore s'il aura un soutien financier. ";
      }

      if (document.getElementById('noassistanceFinanciere').checked) {
        result += "Il n'aura pas de soutien financier à l'extérieur. ";
      }

      if (document.getElementById('assistanceFinanciere').checked) {
        result += "Il aura un soutien financier à l'extérieur. ";
      }


      if (document.getElementById('sansPorc').checked) {
        result += "Régime sans porc. ";
      }
      if (document.getElementById('vegetarien').checked) {
        result += "Régime végétarien. ";
      }
      if (document.getElementById('sansRegime').checked) {
        result += "Aucun régime alimentaire particulier. ";
      }

      if (document.getElementById('antdn').checked) {
        result += "Aucun antécédent disciplinaire. ";
      }
      if (document.getElementById('antdo').checked) {
        result += "Il a des antécédents disciplinaires ";
      }
      var antdta = document.getElementById('antdt').value;
      if (antdta != "") {
        result += "(" + antdta + "). ";
      }

      var connaitDetenusa = document.getElementById('connaitDetenus').value;
      if (connaitDetenusa != "") {
        result += connaitDetenusa + ". ";
      }

      var bandesaa = document.getElementById('bandesa').checked;
      if (!bandesaa) {
        result += "Déclare n'appartenir à aucune bande ou clan. ";
      }

      if (document.getElementById('fumeur').checked) {
        result += "Fumeur ";
        if (document.getElementById('fumeurstup').checked) {
          result += "(consomme des stupéfiants) ";
        }
        if (document.getElementById('coke').checked) {
          result += "(consomme de la coke) ";
        }
        result += ". ";
      }
      if (document.getElementById('fumeurn').checked) {
        result += "Non fumeur. ";
      }

      if (document.getElementById('asthme').checked) {
        result += "Il a de l'asthme ";
        if (document.getElementById('asthmet').checked) {
          result += "et un traitement. ";
        } else {
          result += ". ";
        }
      }
      if (document.getElementById('problemeCardiaque').checked) {
        result += "Il a des problèmes cardiaques ";
        if (document.getElementById('problemeCardiaquet').checked) {
          result += "et un traitement. ";
        } else {
          result += ". ";
        }
      }

      var maladiea = document.getElementById('maladie').value;
      if (maladiea != "") {
        result += "Traitement médical : " + maladiea + ". ";
      }

      if (document.getElementById('problemeScyzo').checked) {
        result += "Il a des problèmes de schizophrénie ";
        if (document.getElementById('problemeScyzot').checked) {
          result += "et un traitement. ";
        } else {
          result += ". ";
        }
      }

      if (document.getElementById('santecedentSuicide').checked) {
        result += "Il déclare n'avoir aucun antécédent de tentative de suicide. ";
      }
      if (document.getElementById('antecedentSuicide').checked) {
        result += "Il déclare avoir déjà tenté de se suicider. ";
      }
      if (document.getElementById('sideesNoires').checked) {
        result += "Il déclare n'avoir aucune idée suicidaire lors de l'audience. ";
      }
      if (document.getElementById('ideesNoires').checked) {
        result += "Il signale avoir des idées suicidaires lors de l'audience. ";
      }
      if (document.getElementById('psyext').checked) {
        result += "Il a un suivi psy. ";
      }
      if (document.getElementById('psyextn').checked) {
        result += "Il n'a pas de suivi psy. ";
      }
      if (document.getElementById('vprison').checked) {
        result += "Il souhaite voir un visiteur de prison. ";
      }
      if (document.getElementById('nvprison').checked) {
        result += "Il ne souhaite pas voir de visiteur de prison. ";
      }

      if (document.getElementById('separn').checked) {
        result += "Aucune mesure de séparation sur la notice. ";
      }
      if (document.getElementById('separo').checked) {
        result += "D'après la notice, il faut le séparer de " + document.getElementById('separt').value + ". ";
      }

      var autrea = document.getElementById('autre').value;
      if (autrea != "") {
        result += autrea + ". ";
      }

      if (document.getElementById("courrierMagistrats").checked) {
        result += "D'après la NI, Le courrier doit être transmis au Magistrat. ";
      }

      if (document.getElementById("interdictionFamille").checked) {
        result += "D'après la NI, il y a une interdiction de téléphoner aux autres membres que sa famille. ";
      }

      if (document.getElementById("interdictionTous").checked) {
        result += "D'après la NI, il y a une interdiction de téléphoner avec tout le monde. ";
      }


      // Mettre à jour l'affichage du résultat
      document.getElementById('result').value = result;
      autoResizeTextarea(resultTextarea);
      updateResulta();

    }

    let dateaudi = new Date().toLocaleDateString();
    document.getElementById('dateaud').value = dateaudi;

    let previousConsignes = new Set();

    function showNotification(message) {
      const notification = document.createElement("div");
      notification.textContent = message;
      notification.style.cssText = `
            background: #5cb85c;
            color: white;
            padding: 10px 15px;
            margin-bottom: 10px;
            border-radius: 6px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.2);
            font-size: 0.9em;
        `;
      document.getElementById("notifications").appendChild(notification);

      setTimeout(() => notification.remove(), 3000);
    }

    function escapeHTML(text) {
      const div = document.createElement("div");
      div.textContent = text;
      return div.innerHTML;
    }

    function updateRecapitulatif() {
      const recap = document.getElementById("recapConsignes");
      const currentConsignes = new Set();
      recap.innerHTML = ""; // Réinitialiser

      // Ajouter des consignes et notifier si elles sont nouvelles
      function addConsigne(message, notificationMessage) {
        recap.innerHTML += `<li>${escapeHTML(message)}</li>`;
        currentConsignes.add(message);
        if (!previousConsignes.has(message)) {
          showNotification(notificationMessage);
        }
      }

      if (document.getElementById("ideesNoires").checked) {
        addConsigne("Créer la C/S surveillance adaptée", "C/S conseillée : Surveillance adaptée");
      }
      if (document.getElementById("antecedentSuicide").checked) {
        addConsigne("Créer la C/S antécédents de TS", "C/S conseillée : Antécédents de TS");
        addConsigne("Créer la C/S surveillance adaptée", "C/S conseillée : Surveillance adaptée");
      }
      if (document.getElementById("fumeur").checked) {
        addConsigne("Créer la C/S Fumeur", "C/S conseillée : Fumeur");
      }
      if (document.getElementById("fumeurn").checked) {
        addConsigne("Créer la C/S Non fumeur", "C/S conseillée : Non fumeur");
      }
      if (document.getElementById("sansPorc").checked) {
        addConsigne("C/S Sans porc", "C/S conseillée : Sans porc");
      }
      if (document.getElementById("vegetarien").checked) {
        addConsigne("C/S Végétarien", "C/S conseillée : Végétarien");
      }

      
      if (document.getElementById("asthme").checked) {
        addConsigne(`C/S Particularité sanitaire : asthme`, `C/S conseillée : Particularité sanitaire : asthme`);
      }      

      if (document.getElementById("problemeScyzo").checked) {
        addConsigne("C/S Trouble du comportement : Schizophrénie", "C/S conseillée : Trouble du comportement : Schizophrénie");
        addConsigne("C/S surveillance adaptée", "C/S conseillée : Surveillance adaptée");
      }
      let mal = document.getElementById("maladie").value.trim();
      if (mal) {
        addConsigne(`C/S Particularité sanitaire : ${mal}`, `C/S conseillée : Particularité sanitaire : ${mal}`);
        addConsigne("C/S surveillance adaptée", "C/S conseillée : Surveillance adaptée");
      }
      if (document.getElementById("problemeCardiaque").checked) {
        addConsigne("C/S Particularité sanitaire - Problème cardique", "C/S conseillée : Particularité sanitaire - Problème cardiaque");
        addConsigne("C/S surveillance adaptée", "C/S conseillée : Surveillance adaptée");
      }
      let faits = document.getElementById("faits").value.toUpperCase();
      var vifvictimea = document.getElementById("vifvictime").value;
      if (faits.includes("VIF")) {
        addConsigne(`3 C/S VIF : Interdiction de communiquer avec pour faits de VIF - ${vifvictimea}`, "C/S conseillée : 3 C/S VIF pour faits de VIF");
      }
      if (document.getElementById("separo").checked) {
        addConsigne("C/S à séparer de", "C/S conseillée : À séparer de");
      }
      if (document.getElementById("courrierMagistrats").checked) {
        addConsigne("C/S Courrier à transmettre aux magistrats", "C/S conseillée : Courrier à transmettre aux magistrats");
      }
      if (document.getElementById("interdictionFamille").checked) {
        addConsigne("C/S Interdiction de téléphoner aux autres membres que sa famille", "C/S conseillée : Interdiction de téléphoner aux autres membres que sa famille");
      }
      if (document.getElementById("interdictionTous").checked) {
        addConsigne("C/S Interdiction de téléphoner à tout le monde", "C/S conseillée : Interdiction de téléphoner avec tout le monde");
      }

      // Mettre à jour l'état des consignes
      previousConsignes = currentConsignes;
    }



    function updateGrillesEvaluations() {
      const grilles = document.getElementById("grillesEvaluations");
      grilles.innerHTML = ""; // Réinitialiser



      if (document.getElementById("nadresse").checked) {
        grilles.innerHTML += "<li>Instabilité dans le logement avant incarcération</li>";
      }
      if (document.getElementById("ntravail").checked) {
        grilles.innerHTML += "<li>Instabilité dans l'emploi</li>";
      }
      if (document.getElementById("asthme").checked || document.getElementById("problemeCardiaque").checked) {
        grilles.innerHTML += "<li>Problème de santé</li>";
      }
      if (document.getElementById("antecedentSuicide").checked) {
        grilles.innerHTML += "<li>Antécédents de TS</li>";
      }
      if (document.getElementById("correctionnelle").checked) {
        grilles.innerHTML += "<li>Procédure correctionnelle</li>";
      }
      if (document.getElementById("criminelle").checked) {
        grilles.innerHTML += "<li>Procédure criminelle</li>";
      }
      if (document.getElementById("incarpo").checked) {
        grilles.innerHTML += "<li>Incarcérations multiples</li>";
      }
      if (document.getElementById("incarou").value.includes("EPM")) {
        grilles.innerHTML += "<li>Incarcération mineur</li>";
      }
      if (document.getElementById("assistanceFinanciere").checked) {
        grilles.innerHTML += "<li>Soutien financier</li>";
      }
      if (document.getElementById("novisites").checked) {
        grilles.innerHTML += "<li>Absence de visite</li>";
      }
      let scy = document.getElementById("problemeScyzo").value.trim();
      if (scy) {
        grilles.innerHTML += "<li>Problème de santé connue</li>";
      }
      let mal = document.getElementById("maladie").value.trim();
      if (mal && !scy) {
        grilles.innerHTML += "<li>Problème de santé connue</li>";
      }
      // Addiction tabac
      if (document.getElementById("fumeur").checked) {
        grilles.innerHTML += "<li>Addiction tabac</li>";
      }
    }

    function setExclusiveOption(category, selectedId) {
      const options = document.querySelectorAll(category);
      options.forEach(option => {
        if (option.id !== selectedId) {
          option.checked = false;
        }
      });
      updateResult();
    }

    function updateResulta() {
      updateRecapitulatif();
      updateGrillesEvaluations();
    }


    document.querySelectorAll("#incarpn, #incarpo").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#incarpn, #incarpo", option.id));
    });

    // Groupe 3: Personne à contacter en cas d'urgence
    document.querySelectorAll("#npersonne, #ncpersonne, #infosoui").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#npersonne, #ncpersonne, #infosoui", option.id));
    });

    document.querySelectorAll("#correctionnelle, #criminelle").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#correctionnelle, #criminelle", option.id));
    });

    document.querySelectorAll("#celibataire, #couple, #concubinage, #marie").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#celibataire, #couple, #concubinage, #marie", option.id));
    });

    document.querySelectorAll("#noenfants, #enfants").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#noenfants, #enfants", option.id));
    });

    document.querySelectorAll("#ntravail, #otravail").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#ntravail, #otravail", option.id));
    });

    document.querySelectorAll("#nadresse, #adresse").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#nadresse, #adresse", option.id));
    });

    document.querySelectorAll("#ncvisites, #novisites, #visites").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#ncvisites, #novisites, #visites", option.id));
    });

    document.querySelectorAll("#ncassistanceFinanciere, #noassistanceFinanciere, #assistanceFinanciere").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#ncassistanceFinanciere, #noassistanceFinanciere, #assistanceFinanciere", option.id));
    });

    document.querySelectorAll("#antdn, #antdo").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#antdn, #antdo", option.id));
    });

    document.querySelectorAll("#sansPorc, #vegetarien, #sansRegime").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#sansPorc, #vegetarien, #sansRegime", option.id));
    });

    document.querySelectorAll("#separn, #separo").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#separn, #separo", option.id));
    });

    document.querySelectorAll("#fumeur, #fumeurn").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#fumeur, #fumeurn", option.id));
    });

    document.querySelectorAll("#fumeurn, #fumeurstup").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#fumeurn, #fumeurstup", option.id));
    });

    document.querySelectorAll("#fumeurn, #coke").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#fumeurn, #coke", option.id));
    });

    document.querySelectorAll("#santecedentSuicide, #antecedentSuicide").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#santecedentSuicide, #antecedentSuicide", option.id));
    });
    document.querySelectorAll("#sideesNoires, #ideesNoires").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#sideesNoires, #ideesNoires", option.id));
    });
    document.querySelectorAll("#psyextn, #psyext").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#psyextn, #psyext", option.id));
    });
    document.querySelectorAll("#nvprison, #vprison").forEach(option => {
      option.addEventListener("change", () => setExclusiveOption("#nvprison, #vprison", option.id));
    });
    </script>
  </body>

</html>