ADD #143 (80%)
[cl7.git] / js / cl7.js
index d482fdc..208322a 100644 (file)
--- a/js/cl7.js
+++ b/js/cl7.js
@@ -7,11 +7,13 @@
 var cl7 = {};
 
 cl7.verification_formulaire_inscription = function(util) {
+   var estLogge = $('meta[name="estLogge"]').attr('content');
+      
    if ($('#formulaireInscription input[name="pseudo"]').val() === "") {
       util.messageDialogue("Le pseudo ne peut pas être vide");
       return false;
    }\r
-   if ($('#formulaireInscription input[name="pass1"]').val() === "" &&\r
+   if (!estLogge && $('#formulaireInscription input[name="pass1"]').val() === "" &&\r
       $('#formulaireInscription input[name="pass2"]').val() === "") {\r
       util.messageDialogue("Le password ne peut pas être vide");\r
       return false;   \r
@@ -20,7 +22,7 @@ cl7.verification_formulaire_inscription = function(util) {
       util.messageDialogue("Les passwords ne correspondent pas");\r
       return false;   \r
    }\r
-   if ($('#formulaireInscription input[name="pass1"]').val().length < 3) {\r
+   if ((!estLogge || $('#formulaireInscription input[name="pass1"]').val() != '') && $('#formulaireInscription input[name="pass1"]').val().length < 3) {\r
       util.messageDialogue("La taille de password doit être d'au moins 3 caractères");\r
       return false;\r
    }\r
@@ -43,13 +45,17 @@ cl7.verification_formulaire_inscription = function(util) {
    return true;
 };
 
-cl7.maj_prix_inscription = function() {
-   var nbPeriodes = $('#formulaireInscription input[name="periodes[]"]:checked').length;
+cl7.maj_prix_inscription = function() {\r
+   var prixTotal = parseInt($('meta[name="cout_total"]').attr('content'));\r
+   var prixPeriode = parseInt($('meta[name="cout_periode"]').attr('content'));\r
+   var nbPeriodesTotal = parseInt($('meta[name="nb_periodes"]').attr('content'));\r
+   var nbPeriodesCheck = parseInt($('#formulaireInscription input[name="periodes[]"]:checked').length);
+   \r
    var prix = 5;
-   if (nbPeriodes === 3) {
-      prix = 40;
-   } else if (nbPeriodes != 0) {
-      prix = 15 * nbPeriodes;
+   if (nbPeriodesCheck === nbPeriodesTotal) {
+      prix = prixTotal;
+   } else if (nbPeriodesCheck != 0) {
+      prix = prixPeriode * nbPeriodesCheck;
    }
    $('#formulaireInscription span#prix').html(prix.toString());   
 };
@@ -57,15 +63,19 @@ cl7.maj_prix_inscription = function() {
 $(document).ready(
    function() { 
       var util = new cl7.Util();
+      
+      // Check du formulaire d'inscription.
       $('form#formulaireInscription').submit(function() {
          return cl7.verification_formulaire_inscription(util);
       });
       
+      // Affichage d'un message si disponible au chargement de la page.
       var messageUtilisateur = $('meta[name="messageUtilisateur"]').attr('content');
       if (messageUtilisateur !== undefined) {
          util.messageDialogue(messageUtilisateur);
       }
-         \r
+      
+      // Met à jour les champs en rapport avec le clan existant choisi.\r
       $('form#formulaireInscription select[name="clanChoix"]').change(function() {         \r
          if ($(this).val() === '0') {\r
             return;\r
@@ -77,7 +87,7 @@ $(document).ready(
       \r
       // inscrit les emails codés (page contacts)\r
       $('a#contactPifou').attr('href', util.rot13('znvygb:tert.oheev@tznvy.pbz'));
-      $('a#contactLePiaf').attr('href', util.rot13('znvygb:tyrcvns695@zfa.pbz'));
+      $('a#contactLePiaf').attr('href', util.rot13('znvygb:yrcvns695@zfa.pbz'));
       
       $('#formulaireInscription input[name="periodes[]"]').change(function() {
          cl7.maj_prix_inscription();         
@@ -85,7 +95,7 @@ $(document).ready(
       // met à jour le prix d'inscription
       cl7.maj_prix_inscription();\r
       \r
-      // permet d'éviter de faire plus de choix qu'il n'en faut sur la page des jeux joués\r
+      // Permet d'éviter de faire plus de choix qu'il n'en faut sur la page des jeux joués.\r
       var nbVotesMax = 3;\r
       var coches = [];\r
       $('#formulaireJeuxJoues input[name="votes[]"]:checked').each(function() {\r
@@ -106,5 +116,25 @@ $(document).ready(
             }\r
          }\r
       });
+      
+      // Enlève ou affiche les informations (p.e. '<nom>') concernant les champs des formulaires.
+      $('form input.info').focus(function() {
+         if (!$(this).hasClass('info'))
+            return;
+            
+         var value = $(this).val();         
+         $(this).blur(function() {
+            if ($(this).val().trim() === '') {
+               $(this).val(value).addClass('info');
+               $(this).unbind('blur');
+            }
+         });         
+            
+         $(this).val('').removeClass('info');
+      });
+      
+      $('form').submit(function() {
+         $('input.info', this).val('');
+      });
    }
 );