//~~~~~ DEBUT animation scroll vers les ancres ~~~~~ //
$(window).load(function() {
  // Calcul de la distance entre le menu et le haut de la page
  var top = $('#menu_fixed_id').offset().top;
  // Calcul de la hauteur de la div colomne droite
  var height = $('.menu_fixed_parent_scroll').height();
  var left_css = $('#menu_fixed_id .menu_fixed').css('left');
  // Au demarrage

  var anchor_ids = Array();
  $('#menu_fixed_id ul a').each(function(){
    var tmp = $(this).attr('href').split('#');
    if (tmp.length > 1)
    {
      var sub_tmp = Array();
      sub_tmp.push($(this));
      sub_tmp.push(tmp[1]);
      anchor_ids.push(sub_tmp);
    }
  });
  selector(anchor_ids);

  // On récupère la distance entre l'ascendeur et le haut de la page
  var y = $(window).scrollTop();
  if (y >= top && y <= (height + top)) {
  // On récupère la distance entre la boite et le bord gauche de l'écran
    var left = $('#menu_fixed_id').offset().left;
    // On applique la classe pour fixer le menu
    $('#menu_fixed_id .menu_fixed').addClass('menu_fixed_js_actived');
    // On positionne la boite par rapport au bord gauche de l'écran (bug IE sur position:fixed)
    $('#menu_fixed_id .menu_fixed_js_actived').css('left', left + 'px');
  }

  // Au resize
  $(window).resize(function() {
    var left = $('#menu_fixed_id').offset().left;
    $('#menu_fixed_id .menu_fixed_js_actived').css('left', left + 'px');
  });



  // Au scroll
  $(window).scroll(function (event) {
    // On récupère la distance entre l'ascendeur et le haut de la page
    var y = $(window).scrollTop();
    var height = $('.menu_fixed_parent_scroll').height();
    // On récupère la distance entre la boite et le bord gauche de l'écran
    var left = $('#menu_fixed_id').offset().left;
    if (y >= top && y <= (height + top)) {
      // On applique la classe pour fixer le menu
      $('#menu_fixed_id .menu_fixed').addClass('menu_fixed_js_actived');
      // On positionne la boite par rapport au bord gauche de l'écran (bug IE sur position:fixed)
      $('#menu_fixed_id .menu_fixed_js_actived').css('left', left + 'px');
    } else {
      // On supprime la classe pour fixer le menu
      $('#menu_fixed_id .menu_fixed').removeClass('menu_fixed_js_actived');
      $('#menu_fixed_id .menu_fixed').css('left', left_css);
    }
    selector(anchor_ids);

  });

});

function selector(anchor_ids)
{
  $('#menu_fixed_id li.selected').removeClass('selected');
  var found = false;
  $(anchor_ids).each(function() {
    var top_test = $('#' + anchor_ids[0][1]).offset().top;
    if (!found && ($('#' + $(this)[1]).offset().top + $('#' + $(this)[1]).parent().height()) >= $(window).scrollTop() &&  top_test <= $(window).scrollTop()) {
      $(this)[0].parent().addClass('selected');
      found = true;
    }
  });
}
//~~~~~ FIN animation scroll vers les ancres ~~~~~ //
