1if ($('#scrollwrapper').length > 0) { 2 var scrollwrapper_active = false; 3 var scrollwrapper_wrap_height = parseInt($('#scrollwrapper').css('height').replace('px', '')); 4 var scrollwrapper_initial_offset = $('#scrollcontainer').offset().top; 5 var scrollwrapper_wrap_index = 0; 6} 7 8$(function(){ 9 $('[data-arrow]:not(.blocked)').on('click', function(){ 10 $(this).find('.content').toggleClass('open'); 11 }); 12 13 $('.faqblock .answer').on('show.bs.collapse', function(){ 14 $('.faqblock .answer[data-parent="' + $(this).data('parent') + '"]').not($(this)).collapse('hide'); 15 }); 16 17 $('.hdr2btn .gobottom').on('click', function(){ 18 $('#rp_left_area').animate({ scrollTop: $(this).parent().parent().next().offset().top}, 'slow'); 19 }); 20 21 $('#idr .gobottom').on('click', function(){ 22 $('#rp_left_area').animate({ scrollTop: $(this).parent().next().offset().top}, 'slow'); 23 }); 24 25 $(".webcam_bloc_panorama").panorama_viewer({ 26 repeat: true 27 }); 28 29 $('[data-scroll] .scrollside [data-goframe]').on('click', function(){ 30 scrollwrapper_active_frame($(this).data('goframe')); 31 }); 32 33 /** 34 * Used in review blocs 35 */ 36 $('[data-toggle="review"]').on('click', function(){ 37 $(this).next().removeClass('hidden'); 38 $(this).hide(); 39 }); 40 41 /** 42 * Scroll Monitor for scroll wrapper 43 */ 44 if ($('#scrollwrapper').length > 0) { 45 initScrollWatcher(); 46 } 47}); 48 49function initScrollWatcher(){ 50 var containerElement = document.getElementById("rp_left_area"); 51 var containerMonitor = scrollMonitor.createContainer(containerElement); 52 var childElement = document.getElementById("scrollcontainer"); 53 var elementWatcher = containerMonitor.create(childElement, scrollwrapper_wrap_height * -0.75 ); 54 elementWatcher.enterViewport(function() { 55 $.smoothScroll({scrollElement: $('#rp_left_area'), scrollTarget: '#scrollcontainer' }); 56 scrollwrapper_active = true; 57 elementWatcher.destroy(); 58 }); 59 elementWatcher.exitViewport(function() { 60 scrollwrapper_active = false; 61 }); 62} 63 64/** 65 * Scroll Wrapper 66 */ 67var scrollWrapper = document.getElementById('scrollwrapper'); 68if (null !== scrollWrapper) { 69 scrollWrapper.addEventListener('DOMMouseScroll', function(e){ 70 71 if (false == scrollwrapper_active) {return false;} 72 73 scrollwrapper_wrap_height = parseInt($('#scrollwrapper').css('height').replace('px', '')); 74 75 var step = -100; 76 if (e.detail > 0) { step *= -1; } 77 78 if ( e.detail > 0 && $('#rp_left_area').scrollTop() !== scrollwrapper_initial_offset){ 79 $.smoothScroll({scrollElement: $('#rp_left_area'), scrollTarget: '#scrollcontainer' }); 80 } 81 82 var maxScroll = ($('#scrollwrapper .left').length - 1) * scrollwrapper_wrap_height; 83 84 scrollwrapper_wrap_index += step; 85 86 if (scrollwrapper_wrap_index <= maxScroll && scrollwrapper_wrap_index >= 0) { 87 $('#scrollwrapper').scrollTop(scrollwrapper_wrap_index); 88 89 var myindex = Math.round(scrollwrapper_wrap_index / scrollwrapper_wrap_height); 90 scrollwrapper_active_frame(myindex, false); 91 92 e.preventDefault(); 93 } else if(scrollwrapper_wrap_index < 0) { 94 scrollwrapper_wrap_index = 0; 95 } else if(scrollwrapper_wrap_index > maxScroll) { 96 scrollwrapper_wrap_index = maxScroll; 97 scrollwrapper_active = false; 98 } 99 }); 100} 101 102function scrollwrapper_active_frame(number, scroll) { 103 if ('undefined' !== typeof scroll) { 104 number = parseInt(number + 1); 105 } 106 $('[data-frame],[data-goframe]').removeClass('active'); 107 $('[data-frame="' + number + '"], [data-goframe="' + number + '"]').addClass('active'); 108 if ('undefined' == typeof scroll) { 109 var newIndex = (number - 1) * scrollwrapper_wrap_height; 110 scrollwrapper_wrap_index = newIndex; 111 $('#scrollwrapper').scrollTop(newIndex); 112 } 113} 114
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.