/*  Le Phare JavaScript library - (c) 2007
/*--------------------------------------------------------------------------*/

var Loader = Class.create({
   initialize: function(element) {
      if($(element)) {
         this.idBody = element;
         this.registerGenerics();  // call generics f°
         this.registerSpecifics(); // call specificsf°
      }
      else {
         alert('ATTENTION\nLa balise body n\'a pas d\'id !');
      }
   },

   registerGenerics: function() {
         //maFonctionGeneriques();
   },

   registerSpecifics: function() {
         switch (this.idBody) {
            case 'pageFaq':
                showFirstFaq();
            break;
            case 'pageContact':
                initContact();
            break;
            case 'pageDemandeCatalogue':
                initContact();
            break;
            case 'pageDevis':
                initContact();
            break;
            case 'pageFranchise':
                initContact();
            break;
            case 'pageClub':
                initContact();
            break;
            case 'pageParrain':
                initContact();
            break;
            case 'pageKit':
                initContact();
            break;
            case 'pageCommande':
                initContact();
            break;
            case 'pageLoginClients':
                initPageLoginClients();
            break;
            case 'pageClubClients':
                initPageClubClients();
            break;
            case 'pageReseauFranchises':
                googleMapsLoad();   // Dans la page elle même car parsé par du PHP
            break;
         }
   }
});




// load
Event.observe(window, 'load', function() {
   var loader = new Loader(document.body.id);
});

/*--------------------------------------------------------------------------*/

function showFirstFaq()
{
   $$('.reponse')[0].show();
}

function initContact()
{
   var zeForm = new Validation('zeForm', {
      useTitles:true,   // pour utiliser les titles des champs comme message d’erreur
      stopOnFirst:true, // arête à la premiere erreur
      onFormValidate:  // definie la function qui permet d’empeche l’envoie du form sans js et donc sans verif
         function() {$('todo').value ="submit_quest";}
      });

   if($('searchSubmitter')) {
      Event.observe('searchSubmitter', 'click', function() {$('searchTodo').value = "email-subscribe"; $('searchEmailForm').submit();});
   }

   if($('errMsg')) {
      if($('errMsg').innerHTML  != '') {
         Element.show('errMsg'); Effect.BlindUp('errMsg', {delay:3});
      }
   }
}

/*

//- Ma fonction générique
maFonctionGenerique() {

} // maFonctionGenerique


//- Ma fonction spécifique
maFonctionSpécifique() {

} // maFonctionSpécifique
*/


// Fonction d'affichage d'un menu
function showThisNav(nav)
{
   if (nav != '') $(nav).show();
   if (nav != "sousNavB")  $('sousNavB').hide();
   if (nav != "sousNavC")  $('sousNavC').hide();
   if (nav != "sousNavE")  $('sousNavE').hide();
   if (nav != "sousNavF")  { if ($('sousNavF')) $('sousNavF').hide(); }
   if (nav != "sousNavG")  $('sousNavG').hide();
}


// Fonction pour gérer les pseudos formulaires du login de l'espace client
function initPageLoginClients()
{
   Event.observe('jsLostPasswordButton', 'click', function() {
          new Ajax.Request('/fr/s21_club_clients/send_pass.php?email=' + $('lostPwd').value, {
              method: 'get',
              onSuccess: function(transport) {
                if (transport.responseText == 1)
                  alert("Votre mot de passe vient de vous être envoyé");
                else
                  alert("Aucun compte client ne correspond à l'email que vous avez indiqué. Merci de vérifier votre saisie ou de faire une demande d'accès à l'espace clients.");
              }
          });
   });

   Event.observe('jsLoginButton', 'click', function() {
          new Ajax.Request('/fr/s21_club_clients/login.php?email=' + $('login').value + '&password=' + $('mdp').value, {
              method: 'post',
              onSuccess: function(transport) {
                if (transport.responseText == 1)
                  document.location.href="/fr/s21_club_clients/s21p02_espace_client.php";
                else
                  alert("Aucun compte client n'est associé à l'email et au mot de passe que vous avez saisis. Merci de vérifier votre saisie ou de faire une demande d'accès à l'espace clients.");
              }
          });
   });
}

// Fonction pôur gérer les actions ajax de la page du club
function initPageClubClients()
{
   if ($('jsBtnAbonnNewsletter'))
   {
      Event.observe('jsBtnAbonnNewsletter', 'click', function() {
             new Ajax.Request('/fr/s21_club_clients/abonn_newsletter.php', {
                 method: 'post',
                 onSuccess: function(transport) {
                   if (transport.responseText == 1)
                   {
                     alert("Vous êtes désormais inscrit(e) à la newsletter des Piscines Caron.");
                     new Effect.Fade('blocNewsletter');
                   }
                   else
                   {
                     alert("Un problème est survenu et votre inscription n'a pas pu être prise en compte");
                   }
                 }
             });
      });
   }

   Event.observe('btnChangerMDP', 'click', function() {
          if ($('mdpActuel').value == "")                                               { alert("Merci d'indiquer votre mot de passe actuel."); return false; }
          if ($('mdpNew').value == "" || $('mdpNew').value != $('mdpNewConfirm').value) { alert("Merci de retaper votre nouveau mot de passe car les deux saisies ne correspondent pas."); return false; }

          new Ajax.Request('/fr/s21_club_clients/new_password.php?old=' + $('mdpActuel').value + "&new=" + $('mdpNew').value, {
              method: 'post',
              onSuccess: function(transport) {
                if (transport.responseText == 1)
                {
                  $('changerMDP').update("<fieldset><p>Votre nouveau mot de passe a été mémorisé. Vous devrez l'utiliser pour vos prochaines connexions à l'espace clients.</p></fieldset>");
                }
                else
                {
                  alert("Un problème est survenu et votre nouveau mot de passe n'a pas été pris en compte.");
                }
              }
          });
   });
}


// Fonction pour afficher le masque de login dans la page du club client
function showLoginForm()
{
   $('passOublie').hide();
   new Effect.Appear('accesClients', { duration: 0.5 });
}

// Fonction pour afficher le masque de renvoi de pass dans la page du club client
function showLostPasswordForm()
{
   $('accesClients').hide();
   new Effect.Appear('passOublie', { duration: 0.5 });
}