$(document).ready(function(){
   
    if( typeof window.console == 'undefined'){
        window.console = {
            log:function(){}
        };
    }
   
    manageSlideShow();
    resizeBg();
    manageSelect();
   
    var container = $('#bcf');

    $('.reg').bind('click',function(e){
      e.preventDefault();
      var self = $(this),
        id = self.attr('id')
        id = id.substring(0,3),
        data = self.attr('rel');
        change(self);
        switch(id){
           
           case 'rbl' :
               getSuccByVille(data,function(html){
                   removeClass(container);
                   display(container,html,function(){
                      removeBorder();
                      setPosFooter();
                      getSuccByID(function(html){
                         display(container,html,function(){
                            setPosFooter();
                            var address = $('#cpMap').val();
                            //manageMap(address);
                         });
                      });   
                   });  
                });
           break;
       
           case 'rbr' :
               var submit = $('#sub_cp');
               submit.bind('click',function(){
                   getSuccByVille(data,function(html){
                       display(container,html,function(){
                          removeBorder();
                          setPosFooter();
                          getSuccByID(function(html){
                             display(container,html,function(){
                                setPosFooter();
                                var address = $('#cpMap').val();
                                //manageMap(address);
                             });
                          });   
                       });  
                    }); 
               });
           break;
       
       
           case 'ser' :
               var submit = $('#sub_mc');
               submit.bind('click',function(){
                   getSuccByService(data,function(html){
                       display(container,html,function(){
                          removeBorder();
                          setPosFooter();
                          getSuccByID(function(html){
                             display(container,html,function(){
                                setPosFooter();
                                var address = $('#cpMap').val();
                                //manageMap(address);
                             });
                          });   
                       });  
                    }); 
               });
           break;
        
        }
   });
});



function removeBorder(){
   $('.sucBox:visible:last').addClass('rb');
}

function removeClass(c){
   c.removeClass('noTitle');
}

function navigate(){    
   
   var n = {
      nb:{
         par_page : 4,
         all: $('.sucBox').length,
         navNum : $('.navNum').length
      },
      elm:{
         prev : $('.precedent'),
         next : $('.suivant'),
         li   : $('.navNum'),
         c    : $('.succNav'),
         i    : $('#i'),
         sucBox : $('.sucBox'),
         navList : $('.navList')
      }
   }
   
   n.elm.prev.hide();
   
   n.elm.li.bind('click',function(e){
      e.preventDefault();
      var self = $(this),
          i = self.attr('id');
      display(i);
   });
   
   n.elm.next.bind('click',function(e){
      e.preventDefault();
      var i = parseInt(n.elm.i.val());
      display(i+1);
   });
   
   n.elm.prev.bind('click',function(e){
      e.preventDefault();
      var i = parseInt(n.elm.i.val());
      display(i-1);
   });
   
   function display(i){
      var start = i * n.nb.par_page,
          end = start + n.nb.par_page;
      n.elm.i.val(i);
      n.elm.sucBox.hide().slice(start,end).show();
      removeBorder();
      n.elm.navList.show().removeClass('currentNav');
      $('.navNum:eq('+(i)+')').addClass('currentNav');
      if(i == 0) n.elm.prev.hide();
      else if(i >= (n.nb.navNum - 1 )) n.elm.next.hide();
      else n.elm.navList.show();
   }
}

function addthisManager(){
   var script = 'http://s7.addthis.com/js/250/addthis_widget.js#domready=1';
   if (window.addthis){
       window.addthis = null;
   }
   $.getScript( script );
}

function setPosFooter(){
   var obj = {
      f  : $('#f').height(),
      o  : $('#c').outerHeight(true),
      w  : $(window).height(),
      e  : $('#f') 
   }
   if(obj.o >= (obj.w - obj.f)) obj.e.addClass('fDef');
}

function manageSlideShow(){
   $('#slider').height(360).nivoSlider({
        effect:'fade',
        directionNav:false,
        pauseTime:5000,
        pauseOnHover:false
    });
}

function getAllSucc(data,callBack){
   $.ajax({
            url:'/inc/php/bloc_all_succ.php?search='+data.f+'&index='+data.l,
            success:function(html){
               if(callBack) callBack(html);
            }
         });
}

function getSuccByService(data,callBack){
   $.ajax({
            url:'/inc/php/bloc_succ_by_services.php?serv='+data,
            success:function(html){
               if(callBack) callBack(html);
            }
         });
}

function getSuccByVille(data,callBack){
   $.ajax({
            url:'/inc/php/bloc_all_succ.php?regions='+data,
            success:function(html){
               if(callBack) callBack(html);
            }
         });
}

function getSuccByID(callBack){
   var self = $('.succthm');
   self.bind('click',function(){
      var id = $(this).attr('rel');
      console.log('getSuccByID : id = ' + id);
      $.ajax({
         url:'/inc/php/bloc_single_succ.php?id='+id,
         success:function(html){
            if(callBack) callBack(html);
         }   
      });
   });
}

function display(elm,html,callBack){
   elm.children().fadeOut('slow',function(){
      elm.parents('#bc ').find('h1').text('nos ateliers');
      elm.html(html).children().fadeIn('slow',function(){if(callBack) callBack();});
   })
}

function manageMap(address){   
   var geocoder;
   var map;
   var myOptions = {
     zoom: 12,
     mapTypeId: google.maps.MapTypeId.ROADMAP
   }
   geocoder = new google.maps.Geocoder();
   map = new google.maps.Map(document.getElementById("succMap"), myOptions);
   geocoder.geocode( { 'address': address}, function(results, status) {
     if (status == google.maps.GeocoderStatus.OK) {
         map.setCenter(results[0].geometry.location);
         var image = '/inc/img/ico/pointeur_carte.png';
         var beachMarker = new google.maps.Marker({
            position: results[0].geometry.location,
            map: map,
            icon: image
        });
     } else {
         console.log("Geocode was not successful for the following reason: " + status);
     }
   });
}

function resizeBg(){
   var h = $(window).height(),
      w = $(window).width(),
      c = $('#br img');
      c.css({width:w,height:h});
      $(window).bind('resize',function(){
         var h = $(window).height(),
         w = $(window).width(),
         c = $('#br img');
         c.css({width:w,height:h});
      });
      
}

function change(elm){
   var t = elm.text(),
       s = elm.parents('.filter').find('.fcc span');
       s.text(t);
}

function manageSelect(){
   var self = $('.fcr'),c;
      
    self.each(function(index,elm){
        var me = $(this),
            c = me.next('.select');
        me.bind('click',function(e){
            e.preventDefault();
            slide(c);
         });
         c.hover(function(){},function(){slide(c,true);});
    });  
   
   function slide(elm,s){
      if(s) elm.slideUp(200);
      else  elm.slideDown(400);
   }
}

