/*  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();
                initContactPlus();/// plus de gout plus de saveur mais toujours en Prototype
            break;
            case 'pageDemandeCatalogue':
                initContact();
            break;
            case 'pageDevis':
               // initContact();
                 initContactNG(); // initContact Next Generation ;) JQUERY
            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
document.observe("dom:loaded", function() {
   var loader = new Loader(document.body.id);
});

/*--------------------------------------------------------------------------*/

function showFirstFaq()
{
   var myId = parseInt(document.location.href.substring(document.location.href.indexOf("#")+8));
   if (isNaN(myId))  $$('.reponse')[0].show();
   else              $('jsReponse' + myId).show();
}

function initContact()
{
   var zeForm = new Validation('zeForm', {
      useTitles:true,   // pour utiliser les titles des champs comme message d’erreur
      stopOnFirst:false, // 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});
      }
   }

   if($('jsChoixDemande'))
   {
      //$('jsChoixDemande')
      Event.observe('jsChoixDemande','change',function(){
         myLocation = document.location.protocol + '//' + document.location.host + $F('jsChoixDemande');    
         window.location.replace(myLocation);
      }
      );
   }
}

function initContactPlus()
{
   $$('input[name="piscineProjet"]').each(
      function(obj){
         Event.observe(obj, 'click', function(){
            if(this.value==1){
               $('typePiscine').show();
               $('piscineLieuHabitation').show('hide');
            }else{ 
               $('typePiscine').hide();
               $('piscineLieuHabitation').hide();
            }
            
         })
      }
   );
   
   $$('input[name="piscineLieu"]').each(function(obj){
         Event.observe(obj, 'click', function(){
            if(this.value==1){
               $('blocProjet').show();
            }else{ 
               $('blocProjet').hide();
            }   
         });
   });s
}
/*

//- 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 != "sousNavA")  $('sousNavA').hide();
   if (nav != "sousNavB")  $('sousNavB').hide();
   if (nav != "sousNavD")  $('sousNavD').hide();
   if (nav != "sousNavE")  { if ($('sousNavE')) $('sousNavE').hide(); }
   if (nav != "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 });
}

// function pour les formulaire next génération
function initContactNG()
{
   (function($) { 
     $(function() {
         $.each($('#zeForm input, #zeForm select'),function(){
            var obj     = $(this),
                is_text = (obj.attr('type') == 'text' || this.tagName=='SELECT');
            switch($(this).attr('type'))
            {
               case 'submit':
               case 'hidden':
               return;
            }
            obj.qtip({
                        show:false,
                        hide:false,
                        position: {
                           adjust: {
                              x: 70 + (is_text ? 0 : $('label[for="' + obj.attr('id') + '"]').width() )
                              },
                           corner: {
                              target: 'rightMiddle',
                              tooltip: 'leftMiddle'}
                        },
                        style:{
                           name: 'red',
                           tip: 'leftMiddle'      
                        }
                        
                     });
                  
            
         });              
         var Stepy = $('#zeForm').stepy({
               backLabel:      'Retour',
               block:          true,
               errorImage:     true,
               nextLabel:      'Continuer',
               validate:       true,
               finish:         false                 
            }
         );   

         $('input[name="projet_diff_habitat"]').change(
            function(){
               if($(this).val()==1)
               {
                  $('#visitor_addressprojet_').addClass('required');
                  $('#visitor_zipcodeprojet_').addClass('required');
                  $('#visitor_cityprojet_').addClass('required');
                  $('#blocProjet').removeClass('hide');
               }
               else
               {
                  $('#visitor_addressprojet_').removeClass('required');
                  $('#visitor_zipcodeprojet_').removeClass('required');
                  $('#visitor_cityprojet_').removeClass('required');               
                  $('#blocProjet').addClass('hide');
               }
            }
         );
         // à chaque clique sur le bouton suivant 
         $('.button-next').click(ShowTooltip);
         $('.button-back').click(hideTooltip);
       
       
  
     });
   })(jQuery);

}

function ShowTooltip()
{

(function($) {
    
   $('input,select').each(function(){
      switch($(this).attr('type'))
      {
         case 'submit':
         case 'hidden':
         return;
      }
      
      if($(this).hasClass('error')){ 
         $(this).qtip('show');
         $(this).scroll();
      }
      else{ 

         $(this).qtip('hide');
         $('#todo').val('submit_quest');
      }   
   });
   })(jQuery);
   //$(selError).tipTip({defaultPosition: 'right', activation: 'focus'}).focus();
}

function hideTooltip()
{
(function($) {
$('input,select').each(function(){
      switch($(this).attr('type'))
      {
         case 'submit':
         case 'hidden':
         return;
      }
      
      $(this).qtip('hide');
         
       
   });
   })(jQuery);
}
