$(document).ready(function(){

/* ## menu droite archives home ## */
$('#archivesHome').click(function(){
    if($('#sousMenuArchives').css('display')=='none'){
      $('#sousMenuArchives').slideDown("fast");
    } else {
      $('#sousMenuArchives').slideUp("fast");
    } 
});



/* ## Newsletter ## */
    
    $('#souscrireBt').mouseover(function(){
      $(this).css('text-decoration','underline');
    });
    $('#souscrireBt').mouseout(function(){
      $(this).css('text-decoration','none');
    });
    $('#souscrireBt').click(function(){
      testNewsletter();
    });



/* ## diaporama ## */
      var nb = tabDiapo.length;
      
      if(nb == '1'){
          $('.diapoVisible').attr('src',tabDiapo['0']);
          $('.diapoCache').remove();
      }
      else {
          $('.diapoVisible').attr('src',tabDiapo['0']);
          $('.diapoCache').attr('src',tabDiapo['1']).css('display','none');
          var i = 0;
    
          setTimeout(function(){
              diapo();
          }, 4000 ); 
      }
               
     function diapo() {
      
        if(i == nb) {  
          i = 0;
          diapo();
        }
        
        else {
        
             $('.diapoVisible').fadeOut('slow', function() {
                  if(i+2 < nb){
                    $('.diapoVisible').attr('src',tabDiapo[i+2]);
                  } else {
                    if($('.diapoCache').attr('src') == tabDiapo['0']) {
                      $('.diapoVisible').attr('src',tabDiapo['1']);
                    } else {
                      $('.diapoVisible').attr('src',tabDiapo['0']);
                    }
                  }
             });
             
             $('.diapoCache').fadeIn('slow', function() {
                  $('.diaporama').find('img').each(function(index) {
                    if($(this).css('display') == 'none') { $(this).removeClass().addClass('diapoCache'); }
                    else { $(this).removeClass().addClass('diapoVisible'); }
                  });
                  i++; 
                  setTimeout(function(){
                    diapo();
                  }, 4000 ); 
             });
         }
    }
/* ## FIN diaporama ## */



/* ## carrousel ## */
  var carrouselActif = '1';
  var decalage = '194';
  var nbBox = '0';
  $('.slideLeft').css('opacity','0.5');
   
   $('.carrousel li').each(function(index) {
      var largeur = $(this).width()+17;
     $(this).css('left',largeur*index+'px');
     nbBox++;
  });
  
  if(nbBox<=3){$('.slideLeft').css('display','none'); $('.slideRight').css('display','none');}
  
  $('.slideLeft').click(function(){
    var slider = $(this).closest('.carrouselFixe').children('.carrouselSlide');
    if(carrouselActif == '1' && slider.css('left')<'0px') {
      carrouselActif = '0';
      slider.animate({
        left: '+='+decalage+'px'
      }, 300, function() {
          carrouselActif = '1';
          if(slider.css('left')>='0px'){$('.slideLeft').css('opacity','0.5');}
      });
      $('.slideRight').css('opacity','1');
    }
  });
  
  $('.slideRight').click(function(){
    var slider = $(this).closest('.carrouselFixe').children('.carrouselSlide');
    if(carrouselActif == '1' && slider.css('left')!=(nbBox-3)*-decalage + 'px' ) {
      carrouselActif = '0';
      slider.animate({
        left: '-='+decalage+'px'
      }, 300, function() {
          carrouselActif = '1';
          if(slider.css('left')==(nbBox-3)*-decalage + 'px' ) {$('.slideRight').css('opacity','0.5');}
      });
      $('.slideLeft').css('opacity','1');
    }
  });
/* ## FIN carrousel ## */


/*## Recherche ##*/
  $('#searchBox #btnOk').click(function(){
     $(this).closest('form').submit();
  });  
  $('#voirRecherche').click(function(){
    $(this).closest('#contenuPrincipal').find('#descriptifLieu').remove();
    $(this).closest('#contenuPrincipal').find('.carrousel').css('display','block');
    $(this).remove();
  });
  
  
  
  
 /*## gestion objets tourisme ##*/
 
  friseImages();
  addCarnet();
  plusInfos(); 

  var nbMenu = $('#menu_objets').find('li').length; 
  $('#menu_objets').find('li').each(function(index){
      var valeur = $(this).find('span').html();
      if(valeur.indexOf(' / ', 0) == '-1' && valeur.indexOf(' ', 0) != '-1') {
        valeur = valeur.replace(' ', '<br />');
        $(this).find('span').html(valeur).css({'padding-top':'7px','height':'35px'});
      }
      if(index+1 == nbMenu){
        $(this).css('background','none');
      }
  });
  
  $('#menu_objets').find('li').find('span').click(function(){
  if(!$(this).hasClass('current')){ 
     $('#chapeauSousRub').css('display','none');  
     $('#menu_objets').find('li').find('.current').removeClass();
     $(this).removeClass().addClass('current');
      var theIdClass = $(this).attr('id'); 
       getObjetsTourisme(theIdClass);
    }
  });  
  
  $('#menu_objets').find('li').find('span').hover(function(){
     $(this).addClass('hover');
  });
  $('#menu_objets').find('li').find('span').mouseout(function(){
     $(this).removeClass('hover');
  });
  
  $('.listeInfos').find('li:last').css('border-bottom','none');
  
  //on clic sur le premier item du menu horizontal si la ul a la class firstOpen
  if($('#menu_objets').hasClass('firstOpen')){
    $('#menu_objets').find('li:first').find('span').click();
  }
    

});















//fonction de recuperation ajax des objets tourisme
function getObjetsTourisme(theIdClass,tri){
  $('#listeNodesTourisme').empty().append('<div class="loading"></div>');  
    $.get(siteAccess+'/ezjscore/run/content/view/full/6185?askNodeTourisme='+theIdClass+'&nodeFather='+nodeCurrent+'&tri='+tri, function(data){
           $('#listeNodesTourisme').empty().append(data);
           $('.zoneSlide').css('display','none');
           //creation de la pagination
           createPagination(1);
           //btn plus dinfo
           plusInfos();          
          //frises images
          friseImages();
          //carnet de route
          addCarnet();
          getTri();
   });
}





//fonction pour la pagination des objets tourisme
function createPagination(numberPage) {
      var objPerPage = 5;
      var nbObj = $('.objetTourisme').not('.filtreCache').length;
      var nbPage = Math.ceil(nbObj/objPerPage);
      var debut = (numberPage * objPerPage) - objPerPage;
      var fin = debut + objPerPage;
          
      var j=0;
        $('.objetTourisme').not('.filtreCache').each(function(){
             if(j>=debut && j<fin){$(this).css('display','block');}
             else {$(this).css('display','none');}
             j++;
        });
            
      var pagination = '';
      for(i=1;i<=nbPage;i++){
        if(i==numberPage) {pagination += '<a href="#" class="paginationOn" id="pagination_'+i+'">'+i+'</a>';}
        else              {pagination += ' - <a href="#" id="pagination_'+i+'">'+i+'</a>';}
      }
        
      if(!$('#paginationTourisme').hasClass('paginationSet')){ 
          $('#paginationTourisme').addClass('paginationSet').html(pagination);      
           
          $('#paginationTourisme').find('a').click(function(){
           if(!$(this).hasClass('.paginationOn')){
              $('.zoneSlide').slideUp("fast");
              $('.plusObjetTourisme').css('visibility','visible');
              $('.paginationOn').removeClass();
              $(this).addClass('paginationOn');
              var numberPageTab = $(this).attr('id').split('_');
              var numberPage = numberPageTab['1'];
              $('html, body').animate({scrollTop: '0px'}, 10);        
              createPagination(numberPage);
            }
         });
      }
}


//fonction pour le btn plus dinfo des objet tourisme
function plusInfos(){
  $('.plusObjetTourisme').unbind();
  $('.plusObjetTourisme').click(function(){ 
    var selfZoneSlide = $(this).closest('.right').closest('.objetTourisme').find('.zoneSlide');
    $('.zoneSlide').not(selfZoneSlide).slideUp("fast");
    selfZoneSlide.slideDown("fast");
    $('.plusObjetTourisme').css('visibility','visible');
    $(this).css('visibility','hidden'); 
  });
}



//fonction pour les frises dimages des objets tourisme
function friseImages() {
  $('.friseImages').find('img').unbind();
  $('.friseImages').find('img').click(function(){
    var firstFriseImg = $(this).closest('.left').find('.firstFriseImg');
    var friseSrc = $(this).attr('src');
    var friseRel = $(this).attr('rel');
    firstFriseImg.attr('src',friseSrc);
    firstFriseImg.closest('a').attr('href',friseRel);
  });
  
  $('.friseImages').each(function(){
     if($(this).find('img').length == '1'){
         $(this).empty();
      }
  });
  
  //ligthbox
  $('a.lightboxImg').lightBox({fixedNavigation:true});

}



//fonction pour le carnet de route
  function addCarnet(){
    $('.addCarnet').unbind();
    $('.addCarnet').click(function(){
    if($(this).hasClass('addCarnet')) {
       var thisCarnet = $(this);
       var idNodeTab = $(this).attr('id').split('_');
       var idNode = idNodeTab['1'];
        
       $.ajax({
           type: "POST",
           url: siteAccess+"/ezjscore/call/achalonTraitements::addCarnet",
           data: "idNode="+idNode,
           success: function(msg){
              if(msg == 'exist'){
               thisCarnet.removeClass().empty().append('<div class="actionCarnet">'+msgPanier3+'</div>');
              } else {
                thisCarnet.removeClass().empty().append('<div class="actionCarnet">'+msgPanier4+'</div>');
                $('#carnetRoute').find('a').attr('title',msgPanier1+' '+msg+' '+msgPanier2);
              }
           }
       });
         
      }
    });
  }
  
  
//fonction de tri sur les objets
function getTri(){

  $('#barreTri').find('.over').mouseover(function(){
      var valHover = $(this).attr('rel');
      var valActuel = $(this).attr('src');
      $(this).attr('src',valHover);
      $(this).attr('rel',valActuel);
  });
  $('#barreTri').find('.over').mouseout(function(){
      var valHover = $(this).attr('rel');
      var valActuel = $(this).attr('src');
      $(this).attr('src',valHover);
      $(this).attr('rel',valActuel);
  });
    
  
  $('#abcObjets').click(function(){
    var theIdClass = $('.current').attr('id');
    getObjetsTourisme(theIdClass,'abc');
  });
  $('#distanceObjets').click(function(){
    var theIdClass = $('.current').attr('id');
    getObjetsTourisme(theIdClass,'distance');
  });
  $('#starObjets').click(function(){
    var theIdClass = $('.current').attr('id');
    getObjetsTourisme(theIdClass,'stars');
  });
   
 //tri par type
  $('#filtreType').val('all');
  $('#filtreType').change(function(){
      var valeurType = $(this).val();
      if(valeurType == 'all'){
        $('.filtreCache').removeClass('filtreCache');
      } else {
        $('.filtreCache').removeClass('filtreCache');
        $('.objetTourisme').not('.'+valeurType).addClass('filtreCache');
        $('.filtreCache').css('display','none');
      }
    $('#paginationTourisme').removeClass('paginationSet');
    var pageCurrent = $('.paginationOn').text();
    createPagination(pageCurrent);
  });
}




//fonction pour la newsletter
function testNewsletter(){
  if($('#loadingNews').css('display')=='none') {
  
      var ok = true;
      var nom = $('#newsNom').val();
      var prenom = $('#newsPrenom').val();
      var mail = $('#newsMail').val();
      
      if(nom.length < 1){
        $('#newsNom').css('background','#ffa4a4');
        var ok = false;
      } else {
        $('#newsNom').css('background','#ffffff');
      }
      
      if(prenom.length < 1){
        $('#newsPrenom').css('background','#ffa4a4');
        var ok = false;
      } else {
        $('#newsPrenom').css('background','#ffffff');
      }
      
      if(!testMail(mail)){
        $('#newsMail').css('background','#ffa4a4');
        var ok = false;
      } else {
        $('#newsMail').css('background','#ffffff');
      }
      
      if(ok){
      $('#loadingNews').css('display','block');
       $.ajax({
           type: "POST",
           url: siteAccess+"/ezjscore/call/achalonTraitements::addNewsletter",
           data: "nom="+nom+"&prenom="+prenom+"&mail="+mail,
           success: function(msg){
              $('#loadingNews').css('display','none');
              if(msg == 'exist'){
                 $('#souscrire').css('display','none');
                  $('#msgKo').fadeIn('slow', function() {
                      $('#msgKo').delay(1500).fadeOut(400, function() { $('#souscrire').fadeIn(400); });
                  });
              } else {
                  $('#souscrire').css('display','none');
                  $('#msgOk').fadeIn('slow', function() {
                      $('#msgOk').delay(1500).fadeOut(400, function() { $('#souscrire').fadeIn(400); });
                  });
              }   
           }
         });
      }
  }
  
}



function testMail(mail)
  {
  	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
  	return(reg.test(mail));
  }
