/*******************************************************************************
 * info : 
 * -le nombre de miniatures par colonne & la width de chaque colonne est en dure.
 * -la classe .new_thumbs correspond à une classe temporaire mise lors d'un ajout 
 * d'une colonne en Js et permettant de définir les écouteurs des images
 *******************************************************************************/

/*****Conf Accueil box*********/
var top_value;
/*****Conf Galerie*********/
var delay_fade_btn = 400;
var delay_fade_thumb = 400;
//variables pour le xml
var url_xml = "/xml/gallery.xml";
var xml_file;
var nb_thumb_per_col = 3;
var width_per_col = 172;
var nb_col_thumbs;

/*******Conf HighSlide*****/
var hs_params = "";

$('document').ready(initSite);

function initSite()
{
  //si la box existe, on active les click box
  if($('body').hasClass('home'))
  {
    //on créer les écouteurs sur le bandeau
    $("#bandeau_home").css('cursor','pointer').click(goToRestaurant);
    //on créer les écouteurs sur les box
    $(".box_home>div .content_box").css('cursor','pointer').click(goToCategory);
    $(".box_home>div").mouseenter(showContent);
    $(".box_home>div").mouseleave(removeContent);
    top_value = $(".content_box a").css('top');
    $(".content_box").stop(true,true).animate({marginTop:'56px'},400).children('p').fadeOut(400,
      function()
      {
        $(".content_box a").animate({top:top_value});
      }
    ); 
    //on regarde s'il y a un cookie
    var value_cookie = $.cookie('anim_home');
    console.log(value_cookie);
    if(!value_cookie)
    {
      //animHome();
    }
    //kbyls
    //kBylsFunction();
  }
  
  if($('body').hasClass('home2'))
  {
	 $(".box_home").appendTo('body').css('display','block');
  }
  
  //si on est sur links
  if($('body').hasClass('links'))
  {
    $('.rows a').click(openLink);
  }
  //si on est sur contact
  if($('body').hasClass('contact'))
  {
    var value_contact = $("#wrapper").css('height');
    $("#left_contact").css('height',parseInt(value_contact)-6+"px");
    $("#right_contact").css('height',value_contact);
  }
  
  //si la galerie existe, on active les fonctionnalités
  if ($("#galerie_box").length != 0) 
  {
    //on récupère le fichier xml  
    $.ajax( {
            type: "GET",
            async: false,
            url: url_xml,
            dataType: "xml",
            success: function(xml) {xml_file = xml;}
        }
      );
    //on initialise la galerie
    initGallery();
  }
}

//gère les liens sur la page links
function openLink()
{
  window.open($(this).attr('href'));
  return false;
}

//gère le click sur les boites de la home
function goToCategory()
{
  var url_go_to = $(this).children('a').attr('href');
  window.location = url_go_to;
  return false;  
}

/************************************Home***************************************/
var duration_bounce = 2000;
var duration_fade_box = 200;
var duration_slide_menu = 400;

function animHome()
{
  $("body").addClass('one_anime');
  $("html").css('overflow','hidden');
  $("#bandeau_home").css('opacity','0');
  $("#bandeau_home").animate({left:'0px',opacity:1},duration_bounce,'easeOutElastic',
    function()
    {
      $(".box_home>div:eq(0)").css('zIndex',6).fadeTo(duration_fade_box,1,
        function()
        {
          $(this).next().css('zIndex',6).fadeTo(duration_fade_box,1,
            function()
            {
              $(this).next().css('zIndex',6).fadeTo(duration_fade_box,1,
                function()
                {
                  $("#main_menu,#social_links").slideDown(duration_slide_menu,
                    function()
                    {
                      $("#footer").fadeIn(duration_fade_box);
                      //cookie pour ne pas revoir l'anim
                      $.cookie('anim_home', 'true',{path: '/', domain: window.location.hostname});
                      //on retire la classe
                      $("body").removeClass('one_anime'); 
                      $("html").css('overflow','auto');
                    }
                  );
                }
              );
            });
        }
      );
    }
  );
}

//lien vers lequel pointe le bandeau
function goToRestaurant()
{
  var url_restaurant = $("#main_menu #restaurant a").attr('href');
  window.location = url_restaurant;
  return false;
}

//affiche le content des boites
function showContent()
{
  $(this).children('.container_content_box').children('.content_box').children('a').stop(true,true).css({top:top_value});
  $(this).children('.container_content_box').children('.content_box').stop(true,true).animate({marginTop:'0px'},400).children('p').stop(true,true).fadeIn(400);
}

//cache le content des boites
function removeContent()
{
  $(this).children('.container_content_box').children('.content_box').stop(true,true).animate({marginTop:'56px'},400).children('p').fadeOut(400,
    function()
    {

    }
  );
}

//se charge d'envoyer vers la bonne url lorsqu'on clique sur une des boites
function goToUrl()
{
  var url_to_go = $(this).children('.container_content_box').children('.content_box').children('a').attr('href');
  window.location = url_to_go;
}
/************************************Galerie************************************/
function initGallery()
{
  //on montre le loader
  $("#loader").css('display','block');  
  
  //on configure les params globales de highslide
  hs.graphicsDir = '/img/highslide/';
  hs.align = 'center';
  hs.transitions = ['expand', 'crossfade'];
  hs.wrapperClassName = 'dark borderless floating-caption no-move';
  hs.preserveContent = false;
  hs.fadeInOut = true;
  hs.dimmingOpacity = .80;
  hs.registerOverlay({overlayId:'header-overlay',position: 'top right',useOnHtml:true}) ;
  hs.registerOverlay({overlayId:'logo-overlay',position: 'top left',useOnHtml:true}) ;
  hs.showCredits = false;
  hs.expandCursor = null;
  hs.restoreCursor = null;
  hs.allowSizeReduction = true;
  //les controles
  if (hs.addSlideshow) hs.addSlideshow({
        //slideshowGroup: 'group1',
        interval: 5000,
        repeat: false,
        useControls: true,
        fixedControls: 'fit',
        overlayOptions: {
        opacity: .6,
        position: 'bottom center',
        hideOnMouseOut: true
      }
    });

  //on récupère le nombre max de colonne
  var nb_element_xml = $(xml_file).find('picture').length;
  nb_col_thumbs = Math.ceil( nb_element_xml / nb_thumb_per_col);
  //on cache le container de thumbnails
  $("#container_ul_thumbnails").css('display','none');
  //on récupère les 3 premiers ul et on les insères
  my_ul_thumbs = getUlThumbs(0,2);
  my_ul_thumbs_2 = getUlThumbs(3,5);
  my_ul_thumbs_3 = getUlThumbs(6,8);
  //on ajoute les images
  $("#container_ul_thumbnails").append(my_ul_thumbs,my_ul_thumbs_2,my_ul_thumbs_3); 
  //on ajoute une classe à la première colonne
  $("#container_ul_thumbnails ul:first-child").addClass('active_col');
  //on leur donne un multiplicateur
  $("#container_ul_thumbnails ul").each(function(i){$(this).attr('multiple',i)});
  //on définit la width du container
  $("#container_ul_thumbnails").css('width',width_per_col*nb_col_thumbs+"px");
  
  //définition écouteur pour les boutons prev & next + bck pour IE
  $(".btn_gallery").css('backgroundColor', '#E4E4E4').click(moveThumbs);
  //on définis les écouteurs pour les miniatures
  setListenerForThumbs();
  //on montre les boutons, on cache le loader puis on affiche les images
  $("#right_btn_g").fadeIn(400,
    function()
    {
      $("#loader").fadeOut(400,
        function()
        {
          $("#container_ul_thumbnails").fadeIn();  
        }
      );
    }
  );
}

function getUlThumbs(nb_begin,nb_end)
{
  //variable contenant le ul et son enfant
  var my_ul_thumbs = $('<ul class="gallery_thumbnails new_thumbs"></ul>');
  for(var i = nb_begin;i<=nb_end;i++)
  {
    //récupération des valeurs
    var url_thumbs = $("gallery picture",xml_file).eq(i).find('tgtThumb').text();
    var url_hd = $("gallery picture",xml_file).eq(i).find('tgtHd').text();
    var alt_img = $("gallery picture",xml_file).eq(i).find('altPicture').text();
    //on créer notre ul et ses élements
    if(url_thumbs != "" && url_hd != "")
    {
      //on créer notre li
      my_ul_thumbs.append('<li id="img_'+i+'"></li>');
      //on créer notre a
      my_ul_thumbs.children('#img_'+i).append('<a href='+url_hd+' rel="highslide"></a>');
      //on créer notre image
      my_ul_thumbs.children('#img_'+i).children('a').append('<img src='+url_thumbs+' alt='+alt_img+' />'); 
    }
    //on charge les miniatures
    var myPict = new Image();
    myPict.src = url_thumbs;
  }
  
  //on retourne le ul
  return my_ul_thumbs;
}

function setListenerForThumbs()
{
  //on définis les écouteurs pour chaque enfants de nouveau ul
  $('.new_thumbs li a img').css('opacity', '0.7');
  //on définit les écouteurs sur les images
  $(".new_thumbs li a").mouseenter(hoverImg);
  $(".new_thumbs li a").mouseleave(outImg);
  $(".new_thumbs li a").addClass('highslide').each(
    function() 
    {
      //on définit les écouteur de highslide
      this.onclick = function() 
      {
         //on récupère le alt && on set l'autoplay a true
         var alt_img= $(this).children('img').attr('alt');
         return hs.expand(this,{captionText:alt_img,autoplay:true});
      };
    });
  //on supprime la classe pour les ul
  $(".gallery_thumbnails").removeClass('new_thumbs');
}
//gère le hover && le out sur les thumbnails
function hoverImg()
{
  $(this).children('img').fadeTo(delay_fade_thumb,1);
}

function outImg()
{
  $(this).children('img').fadeTo(delay_fade_thumb,0.7);
}

//fonction qu'utilise les boutons next & prev de la galerie
function moveThumbs()
{
  if($(this).attr('id') == "right_btn_g")
  {
    //on regarde si on a chargé tout les ul
    var nb_ul = $('.gallery_thumbnails').length;
    if((nb_col_thumbs - nb_ul) != 0)
    {
      //récupération du nbre de li
      var nb_li = $(".gallery_thumbnails li").length;
      var ul_to_load = getUlThumbs(nb_li,nb_li+2);
      var last_multiple = parseInt($("#container_ul_thumbnails ul:last-child").attr('multiple'));
      $("#container_ul_thumbnails").append(ul_to_load);
      $(".new_thumbs").attr('multiple',last_multiple+1);
      setListenerForThumbs();
    }    
    
    //on regarde s'il y a un next sinon on fait rien
    var next_column_multiple = $('.active_col').next('ul').attr('multiple');
    if(next_column_multiple != "" && next_column_multiple != null)
    {
      //récupération du multiple pour déplacement
      var multiple = $('.active_col').removeClass('active_col').next('ul').addClass('active_col').attr('multiple'); 
      //on déplace le container en fonction
      $("#container_ul_thumbnails").animate({marginLeft:-width_per_col*multiple+"px"}); 
      
      //on regarde s'il y a un suivant. Si non, on désactive le bouton next
      next_column_class =  $('.active_col').next('ul').attr('multiple');
      if(next_column_class == "" || next_column_class == null)
      {
        $("#right_btn_g").fadeTo(delay_fade_btn,0,function(){$(this).css('display','none');});
      } 
      //on active le bouton left
      $("#left_btn_g").css('display','block').fadeTo(delay_fade_btn,1);
    }
  }
  //affiche les images précédentes
  else
  {
    var prev_column_multiple = $('.active_col').prev('ul').attr('multiple');
     if(prev_column_multiple != "" && prev_column_multiple != null)
     {
         //récupération du multiple pour déplacement
        var multiple = $('.active_col').removeClass('active_col').prev('ul').addClass('active_col').attr('multiple');
        //on déplace le container en fonction
        $("#container_ul_thumbnails").animate({marginLeft:-width_per_col*multiple+"px"}); 
        //on regarde s'il y a un previous sinon on désactive le bouton left
        prev_column_multiple =  $('.active_col').prev('ul').attr('multiple');
        if(prev_column_multiple == "" || prev_column_multiple == null)
        {
          $("#left_btn_g").fadeTo(delay_fade_btn,0,function(){$(this).css('display','none');});
        }
        //on active le bouton right
        $("#right_btn_g").css('display','block').fadeTo(delay_fade_btn,1);
     }  
  }
  return false;
}

/*******************K byls js******************/
//function kBylsFunction()
//{
//  var konami = new Konami();
//  konami.code = 
//  function()
//  {
//    $("body").css('position','relative').append('<div id="main_k"><img src="/img/article/yoda.png" /><p>Que la force d\'Image Web Design soit avec toi.</p><p>Spiritualmind</p></div>');
//    $("body,html").css('overflow','hidden');
//    $("#bandeau_home").fadeOut(400,
//      function()
//      {
//        $(".box_home>div:eq(2)").fadeTo(400,0,
//          function()
//          {
//            $(this).prev().fadeTo(400,0,
//              function()
//              {
//                $(this).prev().fadeTo(400,0,
//                  function()
//                  {
//                    $("#social_links,#main_menu,#footer").effect('explode',1400);
//                    $("#logo").slideUp(400,
//                      function()
//                      {
//                        $("body div:not(#main_k)").empty();
//                        $("#main_k img").fadeIn(400,
//                          function()
//                          {
//                            $("#main_k p").fadeIn();
//                          }
//                        );
//                      }
//                    );
//                  }
//                );
//              }
//            );
//          }
//        );
//      }); 
//  };
//  konami.load();
//}

