/*  Le Phare JavaScript library - (c) 2009
/*--------------------------------------------------------------------------*/

var kart_dialog;

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();
      handleNavMouseOver();

      if ($('chpRecherche')) {
         Event.observe('chpRecherche', 'blur', function() {
            if ($F('chpRecherche') == '') $('chpRecherche').value = 'Recherche';
         });
         Event.observe('chpRecherche', 'focus', function() {
            if ($F('chpRecherche') == 'Recherche') $('chpRecherche').value = ''; $('chpRecherche').style.color='#555555';
         });
      }

      $('lang-switcher').setValue(current_lg);
      Event.observe('lang-switcher','change',function(){
        var lang = $F('lang-switcher'),
            regex = new RegExp('\/'+current_lg+'\/'),
            url  =  window.location.pathname.replace(regex,'/'+lang+'/');

        if (url === '/'){
          window.location.href = 'http://'+window.location.host +'/'+lang+'/s01_home/s01p01_home.php' + window.location.search;

        } else {
          window.location.href = 'http://'+window.location.host + url + window.location.search;
        }

      });

   },

   registerSpecifics: function() {
         switch (this.idBody) {
            case 'pageFaq':
               showFirstFaq();
            break;
            case 'pageContact':
               initContact();
            break;

            case 'pageDemandeAcces':
               initInscription();
            break;

            case 'pageNewsletter':
               initContact();
            break;
            case 'pageDesabonnement':
               initDesinscription();
            break;
            case 'pageMesCoordonnees':
               initCoordonnees();
               break;
            case 'pageFicheProduit':
            case 'pageMonPanier':
               //init_kart();
            break
         }
   }
});




// load
Event.observe(window, 'load', function() {
   var loader = new Loader(document.body.id);
});

/*--------------------------------------------------------------------------*/

function showFirstFaq()
{
   $$('.jsReponse')[0].show();
}

function initContact()
{
   var zeForm = new Validation('fContact1', {
      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() {$('f_contact_todo_').value ="submit";}
      });

   if($('searchSubmitter')) {
      Event.observe('searchSubmitter', 'click', function() {$('searchTodo').value = "search_email"; $('searchEmailForm').submit();});
   }

   if($('errMsg')) {
      if($('errMsg').innerHTML  != '') {
         Element.show('errMsg'); Effect.BlindUp('errMsg', {delay:3});
      }
   }
}

function initInscription()
{
   var zeForm = new Validation('fInscription1', {
      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() {$('f_inscription_todo_').value ="submit";}
      });

   if($('searchSubmitter')) {
      Event.observe('searchSubmitter', 'click', function() {$('searchTodo').value = "search_email"; $('searchEmailForm').submit();});
   }

   if($('errMsg')) {
      if($('errMsg').innerHTML  != '') {
         Element.show('errMsg'); Effect.BlindUp('errMsg', {delay:3});
      }
   }
}

function initDesinscription()
{
   var zeForm = new Validation('auth', {
      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 = "unsub";}
      });
}

function handleNavMouseOver() {
   $$('#navigation a.jsFamilleLink').each(function(item){
      item.observe('mouseover',function(event){
         $$('#navigation ul').invoke('hide');
         ul = this.next('ul')
         if (ul) ul.show();
      });

   });



   Event.observe('mainContent','mouseover',function(event){
      $$('#navigation ul').invoke('hide');
      $$('#navigation > li > a.selected').each(function(item){
         if (item.next()) item.next().show();
      });
   });
}
function initCoordonnees(){
   $('validateCmd').observe('submit', function(event){
      if (!$('condVentes').checked) {
         alert('Veuillez accepter les conditions générales de vente');
         Event.stop(event);
      }
   });
}

