//////////////////////////////////////////////////////////////////////////////// // ! Log des evenements @ Google Analytics function ga_log(category, action, label, value) { if(ANALYTICS_ID != undefined && category && action && label) { ga('send', 'event', category, action, label); } } //////////////////////////////////////////////////////////////////////////////// // ! Mise à jour du slider lors de l'utilisation des boutons prev/next du navigateur $(window).on('hashchange',function() { var hash_arr = document.location.hash.split('-'); hash_id = hash_arr[hash_arr.length-1]; hash_id = page_id_to_slides_index[hash_id]; if (hash_id!=0 && hash_id!=undefined) { // location.hash.slice(1) var slider = $(".royalSlider").data('royalSlider'); slider.goTo(hash_id); } }); //////////////////////////////////////////////////////////////////////////////// // ! $(document).ready(function($) { var hash_arr = document.location.hash.split('-'); console.log(hash_arr); hash_id = hash_arr[hash_arr.length-1]; hash_id = page_id_to_slides_index[hash_id]; if (hash_id!=0 && hash_id!=undefined) { $('.sommaire-footer').show(); } $('#link-bas').bind('mousedown', function(e) { //alert('yo'); //ga_log('ERGONOMIE', 'BOTTOM', 'Retour haut de page', ''); $('body, html').animate({ scrollTop: $('#contenu').offset().top }, 1000); //$('body').animate({scrollTop: 0}, 500, null); e.preventDefault(); return false; }); // ------------------------------------------------ $('#scroll_to_top').bind('mousedown', function(e) { ga_log('ERGONOMIE', 'BOTTOM', 'Retour haut de page', ''); $('html').animate({scrollTop: 0}, 600, function(){}); $('body').animate({scrollTop: 0}, 500, null); e.preventDefault(); return false; }); $('#scroll_to_next').bind('mousedown', function(e) { ga_log('ERGONOMIE', 'BOTTOM', 'Article suivant ', ''); $('html').animate({scrollTop: 0}, 600, function(){}); $('body').animate({scrollTop: 0}, 600, function() { var slider = $(".royalSlider").data('royalSlider'); var index = slider.currSlideId+1; $('#dates-nav a.current').toggleClass('current'); $('#dates-nav a:eq('+index+')').toggleClass('current'); slider.next(); }); e.preventDefault(); return false; }); $('#scroll_to_prev').bind('mousedown', function(e) { ga_log('ERGONOMIE', 'BOTTOM', 'Article précédent', ''); $('html').animate({scrollTop: 0}, 600, function(){}); $('body').animate({scrollTop: 0}, 600, function() { var slider = $(".royalSlider").data('royalSlider'); var index = slider.currSlideId-1; $('#dates-nav a.current').toggleClass('current'); $('#dates-nav a:eq('+index+')').toggleClass('current'); slider.prev(); }); e.preventDefault(); return false; }); /* $('html').keyup(function(event) { if (event.keyCode == '37') { $('html, body').animate({scrollTop: 0}, 600, function(){}); ga_log('ERGONOMIE', 'CLAVIER', 'Article précédent', ''); // $('#scroll_to_prev').trigger('mousedown'); } else if (event.keyCode == '39') { $('html, body').animate({scrollTop: 0}, 600, function(){}); ga_log('ERGONOMIE', 'CLAVIER', 'Article suivant', ''); // $('#scroll_to_next').trigger('mousedown'); } }); $('.sommaire a.opener').bind('click', function(e) { ga_log('ERGONOMIE', 'HEADER', 'Sommaire', ''); $('#sommaire-numero').height($(document).height()); $('#sommaire-numero').slideToggle(400, null); $('html, body').animate({scrollTop: 0}, 400, function(){}); e.preventDefault(); return false; }); $('#navigation .titre a').bind('mousedown', function(e) { ga_log('ERGONOMIE', 'HEADER', 'Accueil', ''); $('html').animate({scrollTop: 0}, 600, function(){}); $('body').animate({scrollTop: 0}, 600, function() { var slider = $(".royalSlider").data('royalSlider'); slider.goTo(0); }); e.preventDefault(); return false; }); $('#navigation .titre a img').load(function () { $(this).fadeIn(200, null); }); */ // ------------------------------------------------ $(window).resize(function () { var window_h = $(window).height(); var window_w = $(window).width(); var slides_h = 0; var slides_w = 0; var format = ''; var offset_w = 0; var offset_h = 0; slides_h = window_h; slides_w = window_w; // Math.round(window_h * 1.33); offset_w = Math.round((slides_w - window_w)/2); if (window_w > window_h) // Format paysage { format = 'paysage'; } else // Format portrait { format = 'portrait'; } // ---------------------------- $('#wrap-slider').height( slides_h ); $('#wrap-slider').width( slides_w ); $('.rsArrow').css('top', ((slides_h-$('.rsArrow:eq(0)').height()) / 2 ) +'px'); $('#sommaire-numero').height($(document).height()); // ---------------------------- var output_css = ''; for(z=1; z<10; z++) { output_css += '#wrapinfos .mover.h'+z+' { height :'+(z * Math.round(window_h*0.95/10))+'px !important; }'+"\n"; output_css += '#wrapinfos .mover.y'+z+' { margin-top :'+(z * Math.round(window_h*0.95/10))+'px !important; }'+"\n"; } var style = document.createElement('style'); script = document.getElementsByTagName('script')[0]; script.parentNode.insertBefore(style, script); if (document.styleSheets) {} try { style.innerHTML = output_css; } //IE fix catch(error){ style.styleSheet.cssText = output_css; } /* try{ $('#dynamic_css').html(output_css); } //IE fix catch(error){ $('#dynamic_css').styleSheet.cssText = styles; } */ /* $('#dynamic_css').remove(); $('head').find('#dynamic_css').remove(); $('head').append(''); */ // $('').insertBefore('#souspages'); // $('#dynamic_css').html(output_css); // $('').insertBefore('#souspages'); // $('').insertBefore('#souspages'); /* $('#dynamic_css').html(output_css); */ // ---------------------------- /* var output = format; output += '
FENETRE : '+ window_w +' / '+ window_h; output += '
SLIDER : '+ slides_w +' / '+ slides_h; output += '
OFFSET : '+ offset_w +' / '+ offset_h; */ }); // ------------------------------------------------ // A conserver avant l'initialisation de royalSlider slides_contents = new Array(); $('.wrapinfos a').each(function() { var ids_arr = $(this).attr('href').split(','); var page_id = ids_arr[2]; $(this).attr('rel', page_id); }); /* $('#sommaire a').each(function() { var ids_arr = $(this).attr('href').split(','); var page_id = ids_arr[2]; $(this).attr('rel', page_id); $(this).bind('click', function(e) { var i = page_id_to_slides_index[$(this).attr('rel')]; ga_log('ERGONOMIE', 'SOMMAIRE', page_id_to_page_title[slides_index_to_page_id[i]], ''); var slider = $(".royalSlider").data('royalSlider'); // alert(page_id_to_page_title[slides_index_to_page_id[i]]); $('html').animate({scrollTop: 0}, 600, function(){}); $('body').animate({scrollTop: 0}, 600, function() { slider.goTo(i); }); $('.sommaire a.opener').trigger('click'); e.preventDefault(); return false; }); }); */ // ------------------------------------------------ $('.rsContent').each(function() { // $(this).find('#scroll_to_article').addClass('scroll_to_article'); var pid = $(this).attr('rel'); var info = $(this).find('.wrapinfos').html(); slides_contents[pid] = info; }); // ------------------------------------------------ $('.royalSlider').royalSlider({ autoScaleSlider : false, imageScaleMode : 'fill', controlNavigation : 'none', usePreloader : true, numImagesToPreload : 1, /* navigateByClick : true, sliderDrag : true, sliderTouch : true, */ startSlideId : hash_id ? hash_id : 0, slidesSpacing : 0, arrowsNav : true, arrowsNavAutoHide : false, arrowsNavHideOnTouch : false, keyboardNavEnabled : true, slideTransitionType : 'move', transitionSpeed : 1000, loop : false }); // ------------------------------------------------ var slider = $(".royalSlider").data('royalSlider'); slider.ev.on('rsBeforeAnimStart', function(event) { var index = slider.currSlideId; $('#dates-nav a.current').toggleClass('current'); }); slider.ev.on('rsAfterSlideChange', function(e, slideObject) { var index = slider.currSlideId; $('#dates-nav a:eq('+index+')').toggleClass('current'); console.log(index); }); $('.rsArrow').bind('click', function() { $('#html').animate({scrollTop: 0}, 600); }); $('.rsArrowLeft').bind('click', function() { ga_log('ERGONOMIE', 'SLIDER', 'Article précédent', ''); $('#html').animate({scrollTop: 0}, 600); }); $('.rsArrowRight').bind('click', function() { ga_log('ERGONOMIE', 'SLIDER', 'Article suivant', ''); $('.rsArrowLeft').show(); $('#html').animate({scrollTop: 0}, 600); }); // ------------------------------------------------ // Navigation par les dates if ($('#dates-nav').length) { $('#dates-nav a').bind('click', function(e) { var t = $(this); var id = $(this).attr('rel'); var i = page_id_to_slides_index[id]; var slider = $(".royalSlider").data('royalSlider'); // console.log( (i+1) +' : '+ page_id_to_page_cle[id]); $('#dates-nav a.current').toggleClass('current'); t.toggleClass('current'); $('html').animate({scrollTop: 0}, 600, function(){}); $('body').animate({scrollTop: 0}, 600, function() { slider.goTo(i); }); e.preventDefault(); return false; }); } $('#dates-nav a:eq('+hash_id+')').trigger('click'); // ------------------------------------------------ $(window).resize(); // ------------------------------------------------ initied = true; slide_text_init(0); var slider = $(".royalSlider").data('royalSlider'); var index = slider.currSlideId; var slides_colors = ['#333333','#8b3a5a','#05596f','#D17E00','#1B753A','#9B4F2A','#7f5d25','#014746','#5F2B50','#005459','#B28B00','#006200','#F27A3F','#BF0097','#E45172']; $('.contenu-navigation-bas').css('background-color', slides_colors[index]); }); //////////////////////////////////////////////////////////////////////////////// // ! function contenu_load_content(page_id) { if (page_id && page_id != undefined) { var data_str = 'id='+ page_id; $.ajax({ cache: false, type: "GET", url: "/templates/aa-frise-150-ans/magazine-contenu.php", data: data_str, success: function(feedback) { $('#souspages').html(feedback); contenu_load_content_callback(); } }); } } //////////////////////////////////////////////////////////////////////////////// // ! function contenu_load_content_callback() { // SOMMAIRE /* if ($('.contenu-souspage.sommaire').length) { $('.contenu-souspage.sommaire a').each(function() { var ids_arr = $(this).attr('href').split(','); var page_id = ids_arr[2]; $(this).attr('rel', page_id); $(this).bind('click', function(e) { var i = page_id_to_slides_index[$(this).attr('rel')]; ga_log('ERGONOMIE', 'SOMMAIRE', page_id_to_page_title[slides_index_to_page_id[i]], ''); var slider = $(".royalSlider").data('royalSlider'); $('html').animate({scrollTop: 0}, 600, function(){}); $('body').animate({scrollTop: 0}, 600, function() { slider.goTo(i); }); e.preventDefault(); return false; }); }); $('.sommaire-footer').slideUp(); } else { $('.sommaire-footer').slideDown(); } $('.sommaire-footer a').each(function() { var ids_arr = $(this).attr('href').split(','); var page_id = ids_arr[2]; $(this).attr('rel', page_id); $(this).bind('click', function(e) { var i = page_id_to_slides_index[$(this).attr('rel')]; ga_log('ERGONOMIE', 'FOOTER', page_id_to_page_title[slides_index_to_page_id[i]], ''); var slider = $(".royalSlider").data('royalSlider'); $('html').animate({scrollTop: 0}, 600, function(){}); $('body').animate({scrollTop: 0}, 600, function() { slider.goTo(i); }); e.preventDefault(); return false; }); }); */ // Mise à jour de l'url var u = window.location; var mess = ''+u; var slider = $(".royalSlider").data('royalSlider'); var index = slider.currSlideId; var page_id = slides_index_to_page_id[index]; document.location.hash = page_id_to_page_cle[page_id]; var url = href_base+ ''+ page_id_to_page_url[page_id]; var hash_arr = document.location.hash.split('-'); hash_id = hash_arr[hash_arr.length-1]; hash_id = page_id_to_slides_index[hash_id]; if (hash_id != main_slide_id) { main_slide_id = hash_id; ga('send', 'pageview', { 'page': url, 'title': page_id_to_page_title[page_id] }); } if (index) { $('#scroll_to_prev').show(); } else { $('#scroll_to_prev').hide(); } // ------------------------------------------------ // Navigation depuis le sommaire if ($('#sommaire').length) { console.log('init sommaire'); $('#sommaire a').bind('click', function(e) { console.log('click'); $('html, body').animate({scrollTop: 0}, 600, function(){}); // e.preventDefault(); // return false; }); } links_check_alternates(); lazyload_apply(); } function lazyload_apply() { $('.contenu-souspage img').each(function () { $(this).attr('data-original', $(this).attr('src')).attr('src', '').addClass('lazy'); }); $('.contenu-souspage img.lazy').load(function() { $(this).addClass('ld'); }); $('.contenu-souspage img.lazy').lazyload({ effect : "fadeIn" /* load : function(){} */ }); } //////////////////////////////////////////////////////////////////////////////// // ! function slide_text_init (slide_index) { if (initied) { initied = false; var slider = $(".royalSlider").data('royalSlider'); // console.log(hash_id); slider.slides[hash_id ? hash_id : 0].holder.on('rsAfterContentSet', function() { var slider = $(".royalSlider").data('royalSlider'); var index = slider.currSlideId; var page_id = slides_index_to_page_id[index]; wrapinfo_init(page_id); if (hash_id) { contenu_load_content(page_id); } else { contenu_load_content_callback(); } }); slide_text_init(slide_index); slider.ev.on('rsAfterSlideChange', function(event) { var slider = $(".royalSlider").data('royalSlider'); var index = slider.currSlideId; var page_id = slides_index_to_page_id[index]; wrapinfo_init(page_id); slide_text_init(index); var slides_colors = ['#333333','#8b3a5a','#05596f','#D17E00','#1B753A','#9B4F2A','#7f5d25','#014746','#5F2B50','#005459','#B28B00','#006200','#F27A3F','#BF0097','#E45172']; $('.contenu-navigation-bas').css('background-color', slides_colors[index]); contenu_load_content(page_id); }); slider.ev.on('rsSlideClick', function(event, originalEvent) { // originalEvent - the original jQuery click event. Parameter available since RoyalSlider v9.5.1 // triggers when user clicks on slide // doesn't trigger after click and drag ga_log('ERGONOMIE', 'SLIDER', 'Clic sur visuel', ''); }); slider.ev.on('rsBeforeAnimStart', function(event) { $('#wrapinfos').remove(); // before animation between slides start }); slider.ev.on('rsDragStart', function(event) { // mouse/touch drag start ga_log('ERGONOMIE', 'SLIDER', 'DRAG Start', ''); }); slider.ev.on('rsDragRelease', function() { // mouse/touch drag end ga_log('ERGONOMIE', 'SLIDER', 'DRAG Stop', ''); }); } else { // alert(slides_contents); var mess = ''; /* for(z in slides_contents) { mess += '-'+ slides_contents[z] +"
"; } $('#feedback-slider').html(mess); */ /* var slider = $(".royalSlider").data('royalSlider'); var l = slider.slides.length; var slide_index = slider.currSlideId var i = (slide_index-0); var block = $('.wrapinfos:eq('+i+')'); var mess = i+' / '+block.html() + '
'; var mess = slider.slides.length + '
'; for (z=0; z"; // mess += '-'+ u.innerHTML +"
"; for(y in u) { mess += y+' === '+u[y] +"
"; } } $('#feedback-slider').html(mess); */ } // var slider = $(".royalSlider").data('royalSlider'); } //////////////////////////////////////////////////////////////////////////////// // !Affichage du block legende de chaque slide rub_id_tmp = 0; function wrapinfo_init(page_id) { $('#wrapinfos').remove(); rub_id = page_id_to_rubrique_id[page_id]; if (rub_id != rub_id_tmp) { $('#navigation .titre a img').fadeOut(200, null).attr('src', '/medias/lafee/communs/v2/barre-navigation/titre-'+rub_id+'.jpg'); rub_id_tmp = rub_id; } var html = slides_contents[page_id]; $('
'+html+'
').insertAfter('#navigation').fadeIn(); // $('#navigation .titre a').html( $('#navigation .titre a').html() +'-'+ $('#wrapinfos a').length ); $('#wrapinfos a').each(function() { // alert( $(this).attr('class') ); // $('#navigation .titre a').html( $('#navigation .titre a').html() +'-'+ $(this).attr('class')); // Lien pour descendre à l'article if ($(this).hasClass('link-sommaire')) { $(this).bind('click', function(e) { $('#navigation .opener').trigger('click'); return false; }); } // Lien pour atteindre un article else if(!$(this).hasClass('link')) { $(this).bind('click', function(e) { var i = page_id_to_slides_index[$(this).attr('rel')]; ga_log('ERGONOMIE', 'SLIDER', page_id_to_page_title[slides_index_to_page_id[i]], ''); var slider = $(".royalSlider").data('royalSlider'); // alert(page_id_to_page_title[slides_index_to_page_id[i]]); $('html').animate({scrollTop: 0}, 600, function(){}); $('body').animate({scrollTop: 0}, 600, function() { slider.goTo(i); }); e.preventDefault(); return false; }); } // Lien pour atteindre un article else { $(this).bind('click', function(e) { var slider = $(".royalSlider").data('royalSlider'); var index = slider.currSlideId; var page_id = slides_index_to_page_id[index]; ga_log('ERGONOMIE', 'SLIDER', page_id_to_page_title[page_id], ''); $('body, html').animate({scrollTop: $('#wrap-slider').height() }, 600, null); e.preventDefault(); return false; }); } }); /* $('#scroll_to_article a.link').bind('click', function(e) { var slider = $(".royalSlider").data('royalSlider'); var index = slider.currSlideId; var page_id = slides_index_to_page_id[index]; // ga_log('ERGONOMIE', 'SLIDER', page_id_to_page_title[page_id], ''); $('body, html').animate({scrollTop: $('#wrap-slider').height() }, 600, null); e.preventDefault(); return false; }); */ } //////////////////////////////////////////////////////////////////////////////// // !Fonction de scroll progressif function scroll_to (element) { $(element).animate({scrollTop: 0}, 500); } //////////////////////////////////////////////////////////////////////////////// // ! function royalslider_loadingComplete (message) { $('#feedback-slider').html(message ? message : 'royalslider_loadingComplete'); } //////////////////////////////////////////////////////////////////////////////// // ! function links_check_alternates() { var filetypes = /\.(zip|exe|pdf|doc*|xls*|ppt*|mp3)$/i; var baseHref = ''; if ($('base').attr('href') != undefined) { baseHref = $('base').attr('href'); } $('#souspages a, .slide-edito-politique a, .credits-footer a').each(function() { var href = $(this).attr('href'); if (href && (href.match(/^https?\:/i)) && (!href.match(document.domain))) { $(this).click(function() { var extLink = href.replace(/^https?\:\/\//i, ''); ga_log('NAVIGATION', 'LIEN SORTANT', extLink, ''); if ($(this).attr('target') != undefined && $(this).attr('target').toLowerCase() != '_blank') { setTimeout(function() { location.href = href; }, 200); return false; } }); } else if (href && href.match(/^mailto\:/i)) { $(this).click(function() { var mailLink = href.replace(/^mailto\:/i, ''); ga_log('NAVIGATION', 'LIEN EMAIL', mailLink, ''); // _gaq.push(['_trackEvent', 'Email', 'Click', mailLink]); }); } else if (href && href.match(filetypes)) { $(this).click(function() { var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined; var filePath = href; $(this).attr('target', '_blank'); ga_log('NAVIGATION', 'LIEN DOWNLOAD', filePath, ''); // _gaq.push(['_trackEvent', 'Download', 'Click-' + extension, filePath]); if ($(this).attr('target') != undefined && $(this).attr('target').toLowerCase() != '_blank') { setTimeout(function() { location.href = baseHref + href; }, 200); return false; } }); } else { } }); } //////////////////////////////////////////////////////////////////////////////// // ! function str_replace (search, replace, subject, count) { // http://kevin.vanzonneveld.net // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: Gabriel Paderni // + improved by: Philip Peterson // + improved by: Simon Willison (http://simonwillison.net) // + revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com) // + bugfixed by: Anton Ongson // + input by: Onno Marsman // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + tweaked by: Onno Marsman // + input by: Brett Zamir (http://brett-zamir.me) // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + input by: Oleg Eremeev // + improved by: Brett Zamir (http://brett-zamir.me) // + bugfixed by: Oleg Eremeev // % note 1: The count parameter must be passed as a string in order // % note 1: to find a global variable in which the result will be given // * example 1: str_replace(' ', '.', 'Kevin van Zonneveld'); // * returns 1: 'Kevin.van.Zonneveld' // * example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars'); // * returns 2: 'hemmo, mars' var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0, f = [].concat(search), r = [].concat(replace), s = subject, ra = Object.prototype.toString.call(r) === '[object Array]', sa = Object.prototype.toString.call(s) === '[object Array]'; s = [].concat(s); if (count) { this.window[count] = 0; } for (i = 0, sl = s.length; i < sl; i++) { if (s[i] === '') { continue; } for (j = 0, fl = f.length; j < fl; j++) { temp = s[i] + ''; repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0]; s[i] = (temp).split(f[j]).join(repl); if (count && s[i] !== temp) { this.window[count] += (temp.length - s[i].length) / f[j].length; } } } return sa ? s : s[0]; }