{{define "title"}}Créer un compte |{{end}}

{{define "body"}}
<div class="d-flex">
  <h2>Création d'un nouveau compte</h2>
</div>
{{if .ErrorMessage}}
<div class="alert alert-danger mt-4">Impossible de créer le compte.
  <div style="font-size: 0.8em">{{ .ErrorMessage }}</div>
</div>
{{end}}
{{if .WarningMessage}}
<div class="alert alert-danger mt-4">Des erreurs se sont produites, le compte pourrait ne pas être totalement
  fonctionnel.
  <div style="font-size: 0.8em">{{ .WarningMessage }}</div>
</div>
{{end}}
{{if .Success}}
<div class="alert alert-success mt-4">
  Le compe a été créé !
  Rendez-vous <a href="/logout">sur la page d'accueil</a> pour vous connecter avec ce nouveau compte.
</div>
{{else}}
<form method="POST" class="mt-4">
  <div class="form-group">
    <label for="displayname">Nom affiché :</label>
    <input type="text" id="displayname" name="displayname" class="form-control" value="{{ .DisplayName }}" />
  </div>
  <div class="form-group">
    <label for="mail">Email :</label>
    <input type="text" id="mail" name="mail" class="form-control" value="{{ .Mail }}" />
    <small class="form-text text-muted">
      Le courriel de l'utilisateur.
    </small>
  </div>
  <div class="form-group">
    <label for="givenname">Prénom :</label>
    <input type="text" id="givenname" name="givenname" class="form-control" value="{{ .GivenName }}" />
  </div>
  <div class="form-group">
    <label for="surname">Nom de famille :</label>
    <input type="text" id="surname" name="surname" class="form-control" value="{{ .Surname }}" />
  </div>
  <div class="form-group">
    <label for="username">Identifiant souhaité :</label>
    <input type="text" id="username" name="username" class="form-control" value="{{ .Username }}" />
    <small class="form-text text-muted">
      Votre identifiant doit être en minuscule.
    </small>
  </div>
  <div id="calc-uid"></div>
  <div id="calc-cn"></div>
  {{if .ErrorInvalidUsername}}
  <div class="alert alert-warning">
    Nom d'utilisateur invalide. Ne peut contenir que les caractères suivants : chiffres, lettres minuscules, point,
    tiret bas (_) et tiret du milieu (-).
  </div>
  {{end}}
  {{if .ErrorUsernameTaken}}
  <div class="alert alert-warning">
    Ce nom d'utilisateur est déjà pris.
  </div>
  {{end}}
  <p><a href="#" onClick="javascript:var suggestPW = Math.random().toString(36).slice(-10); document.getElementById('password').value='{{ .SuggestPW }}';document.getElementById('password2').value='{{ .SuggestPW }}';">Utiliser ce mot de passe :</a> {{ .SuggestPW }}</p>
  <div class="form-group">
    <label for="password">Mot de passe :</label>
    <input type="password" id="password" name="password" class="form-control" />
    <small class="form-text text-muted">
      La seule contrainte est que votre mot de passe doit faire au moins 8 caractères. Utilisez chiffres, majuscules, et
      caractères spéciaux sans modération !
    </small>
  </div>
  {{if .ErrorPasswordTooShort}}
  <div class="alert alert-warning">
    Le mot de passe choisi est trop court (minimum 8 caractères).
  </div>
  {{end}}
  <div class="form-group">
    <label for="password2">Répéter le mot de passe :</label>
    <input type="password" id="password2" name="password2" class="form-control" />
  </div>
  {{if .ErrorPasswordMismatch}}
  <div class="alert alert-warning">
    Les deux mots de passe entrés ne correspondent pas.
  </div>
  {{end}}
  <button type="submit" class="btn btn-primary">Créer le compte</button>
</form>

<script lang="javascript">
function changeDisplayname () {
   displayname = document.getElementById("displayname");
   username = document.getElementById("username");
   givenname = document.getElementById("givenname");
   surname = document.getElementById("surname");
   if (!username.value) {
    username.value = displayname.value;
    changeUsername();
   }
   if (!givenname.value) {
    givenname.value = displayname.value.split(" ")[0];
   }
   if (!surname.value) {
    surname.value = displayname.value.split(" ")[1];
   }
}
function changeUsername () {
   username = document.getElementById("username");
   calcCn = document.getElementById("calc-cn");
   username.value = username.value.toLowerCase().replace(/[^A-z0-9.-]/g, '');
  calcCn.innerText = "Login Name et Courriel seront : " + username.value.split("@")[0] + "@lesgv.com";
}
document.getElementById("username").addEventListener("change",changeUsername);
document.getElementById("displayname").addEventListener("change",changeDisplayname);
</script>
{{end}}
{{end}}