1function callChatbotDl( dlEvent ){ 2 console.log ("--> event tracking"); 3 console.log (dlEvent); 4 dataLayer.push( dlEvent ); 5} 6window.onload = function(e) { 7 const chatBot = jQuery('#chatbot'); 8 const chatBotHeader = jQuery('#chatbot .block-header'); 9 const chatBotBody = jQuery('#chatbot .block-body'); 10 const chatBotfooter = jQuery('#chatbot .block-footer'); 11 const chatBotSatisfaction = jQuery('#chatbot .block-satisfaction'); 12 13 function HeaderTransform() { 14 chatBotHeader.toggleClass('flex-dir-col').toggleClass('opened'); 15 chatBotHeader.find('.block-left').toggleClass('flex-dir-col'); 16 chatBotHeader.find('.block-left div').toggleClass('flex-dir-col'); 17 chatBotHeader.find('.block-left div p+p span:first-child').toggleClass('hide'); 18 chatBotHeader.find('.block-right .fa-minus-close').toggleClass('hide'); 19 chatBotHeader.find('.block-right .fa-open').toggleClass('hide'); 20 } 21 22 if(chatBot.hasClass('instit')){ 23 chatBot.toggleClass('sticky'); 24 HeaderTransform(); 25 chatBotBody.toggle(); 26 chatBotfooter.toggle(); 27 chatBot.show(); 28 29 chatBot 30 .on('click', '.closed', function () { 31 jQuery('#chatbot .block-satisfaction').show(); 32 }) 33 .on('click', '.exit', function () { 34 jQuery('#chatbot .block-satisfaction').find('#step1').show(); 35 jQuery('#chatbot .block-satisfaction').find('#step2').hide(); 36 jQuery('#chatbot .block-satisfaction').find('#step3').hide(); 37 jQuery('#chatbot .block-satisfaction').toggle(); 38 const isHide = jQuery("#contact-options").hasClass('hide'); 39 if (isHide) { 40 jQuery('#contact-options').removeClass('hide'); 41 jQuery('#chat-bot-instit').toggleClass('col-md-12 col-md-5'); 42 jQuery('#chatbot .block-header').find('.block-right .fa-minus-close .compress') 43 .toggleClass('fa-expand fa-compress expand compress'); 44 } 45 callChatbotDl({'event': 'close_cb'}); 46 }) 47 .on('click', '.expand, .compress', function () { 48 const isExpand = jQuery(this).hasClass('expand'); 49 chatBotHeader.find('.block-right .fa-minus-close .' + (isExpand ? 'expand' : 'compress')) 50 .toggleClass('fa-expand fa-compress expand compress'); 51 callChatbotDl({ 'event': 'expand_cb' }); 52 53 if(isExpand) { 54 const chatBotInstitTop = jQuery('#contact-options').offset(); 55 jQuery('html, body').animate({ 56 scrollTop: chatBotInstitTop.top - 58 57 }, 1); 58 } 59 60 jQuery('#contact-options').toggleClass('hide', isExpand); 61 jQuery('#chat-bot-instit') 62 .toggleClass('col-md-5', !isExpand) 63 .toggleClass('col-md-12', isExpand); 64 }) 65 66 if(jQuery(window).width() > 991 && $('#chat-bot-instit').length) { 67 const chatBotHeight = jQuery(window).height() - $('#chat-bot-instit').offset().top - chatBotHeader.outerHeight() - chatBotfooter.outerHeight(); 68 chatBotBody.find('#copy+div').css({"height":chatBotHeight}); 69 } 70 71 if(jQuery(window).width() < 992) { 72 chatBot 73 .on('click', '.block-border-top, .block-header', function () { 74 chatBot.addClass('open'); 75 }) 76 .on('click', '.exit', function () { 77 chatBot.removeClass('open'); 78 }) 79 } 80 81 function throttle(func, limit) { 82 let lastFunc; 83 let lastRan; 84 return function() { 85 const context = this; 86 const args = arguments; 87 if (!lastRan) { 88 func.apply(context, args); 89 lastRan = Date.now(); 90 } else { 91 clearTimeout(lastFunc); 92 lastFunc = setTimeout(function() { 93 if ((Date.now() - lastRan) >= limit) { 94 func.apply(context, args); 95 lastRan = Date.now(); 96 } 97 }, limit - (Date.now() - lastRan)); 98 } 99 } 100 } 101 102 jQuery(window).scroll(throttle(function () { 103 let scrollTop = $(window).scrollTop(), 104 elementOffset = $('#chat-bot-instit').offset().top, 105 distance = (elementOffset - scrollTop); 106 if (distance > 73) { 107 const chatBotHeight = jQuery(window).height() - chatBotHeader.outerHeight() - chatBotfooter.outerHeight() - distance; 108 chatBotBody.find('#copy+div').css({"height":chatBotHeight}); 109 } 110 }, 100)); 111 } 112 else { 113 chatBot 114 .on('click', '.collapsed', function () { 115 if (chatBotBody.is(":visible")) { 116 callChatbotDl({'event': 'reduce_cb'}); 117 } else { 118 callChatbotDl({'event': 'expand_cb'}); 119 //alert ("Going to visible") 120 } 121 chatBot.toggleClass('collapsed'); 122 if (chatBotHeader.find('.block-right .fa-minus-close .expand').hasClass('fa-compress')) { 123 chatBot.removeClass('expand'); 124 chatBotHeader.find('.block-right .fa-minus-close .expand').toggleClass('fa-expand fa-compress') 125 } 126 chatBotHeader.find('.block-right .fa-minus-close .expand').toggleClass('hide'); 127 chatBotBody.toggle();
128 chatBotfooter.toggle(); 129 130 }) 131 .on('click', '.expand', function () { 132 chatBot.toggleClass('expand'); 133 chatBotHeader.find('.block-right .fa-minus-close .expand').toggleClass('fa-expand fa-compress'); 134 callChatbotDl({'event': 'expand_cb'}); 135 }) 136 .on('click', '.opened, .exit', function () { 137 if (chatBot.hasClass('collapsed')) { 138 chatBot.toggleClass('collapsed sticky'); 139 HeaderTransform(); 140 callChatbotDl({'event': 'open_cb'}); 141 } else { 142 if (!chatBotBody.is(":visible")) { 143 callChatbotDl({'event': 'open_cb'}); 144 } 145 chatBot.toggleClass('sticky'); 146 HeaderTransform(); 147 chatBotBody.toggle(); 148 chatBotfooter.toggle(); 149 } 150 }) 151 .on('click', '.exit', function () { 152 chatBot.removeClass('expand'); 153 chatBotHeader.find('.block-right .fa-minus-close .expand').removeClass('hide'); 154 if (chatBotHeader.find('.block-right .fa-minus-close .expand').hasClass('fa-compress')) { 155 chatBotHeader.find('.block-right .fa-minus-close .expand').toggleClass('fa-expand fa-compress') 156 } 157 chatBotSatisfaction.toggle(); 158 callChatbotDl({'event': 'close_cb'}); 159 }) 160 .on('click', '.closed', function () { 161 if (chatBot.hasClass('collapsed')) { 162 chatBot.toggleClass('collapsed'); 163 chatBotHeader.find('.block-right .fa-minus-close .expand').toggleClass('hide'); 164 chatBotBody.toggle();
165 chatBotfooter.toggle(); 166 } 167 chatBotSatisfaction.toggle(); 168 //callChatbotDl({'event': 'close_cb'}); 169 }) 170 .on('click', '.copy', function () { 171 chatBotSatisfaction.find('.copy').toggle(); 172 chatBotSatisfaction.find('.copy-done').toggle(); 173 }) 174 .on('click', '.next', function () { 175 chatBotSatisfaction.find('#step1').toggle(); 176 chatBotSatisfaction.find('#step2').toggle(); 177 }) 178 .on('click', '.comment', function () { 179 chatBotSatisfaction.find('#step2').toggle(); 180 chatBotSatisfaction.find('#step3').toggle(); 181 }) 182 .on('click', '.back', function () { 183 chatBotSatisfaction.find('#step1').show(); 184 chatBotSatisfaction.find('#step2').hide(); 185 chatBotSatisfaction.find('#step3').hide(); 186 chatBotSatisfaction.toggle(); 187 }) 188 } 189} 190
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.