https://www.est-ensemble.fr/sites/default/files/js/js_Pj-7b8XWl8fu_3XjgiX8RS7FTCHlm_oeK5A9aah0hxQ.js
1/*! Respond.js v1.0.1pre: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 2(function(e,h){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=h;if(h){return}var u=e.document,r=u.documentElement,i=[],k=[],p=[],o={},g=30,f=u.getElementsByTagName("head")[0]||r,b=f.getElementsByTagName("link"),d=[],a=function(){var B=b,w=B.length,z=0,y,x,A,v;for(;z<w;z++){y=B[z],x=y.href,A=y.media,v=y.rel&&y.rel.toLowerCase()==="stylesheet";if(!!x&&v&&!o[x]){if(y.styleSheet&&y.styleSheet.rawCssText){m(y.styleSheet.rawCssText,x,A);o[x]=true}else{if(!/^([a-zA-Z]+?:(\/\/)?)/.test(x)||x.replace(RegExp.$1,"").split("/")[0]===e.location.host){d.push({href:x,media:A})}}}}t()},t=function(){if(d.length){var v=d.shift();n(v.href,function(w){m(w,v.href,v.media);o[v.href]=true;t()})}},m=function(G,v,x){var E=G.match(/@media[^\{]+\{([^\{\}]+\{[^\}\{]+\})+/gi),H=E&&E.length||0,v=v.substring(0,v.lastIndexOf("/")),w=function(I){return I.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+v+"$2$3")},y=!H&&x,B=0,A,C,D,z,F;if(v.length){v+="/"}if(y){H=1}for(;B<H;B++){A=0;if(y){C=x;k.push(w(G))}else{C=E[B].match(/@media ([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1;k.push(RegExp.$2&&w(RegExp.$2))}z=C.split(",");F=z.length;for(;A<F;A++){D=z[A];i.push({media:D.match(/(only\s+)?([a-zA-Z]+)(\sand)?/)&&RegExp.$2,rules:k.length-1,minw:D.match(/\(min\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1),maxw:D.match(/\(max\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1)})}}j()},l,q,j=function(E){var v="clientWidth",x=r[v],D=u.compatMode==="CSS1Compat"&&x||u.body[v]||x,z={},C=u.createDocumentFragment(),B=b[b.length-1],w=(new Date()).getTime();if(E&&l&&w-l<g){clearTimeout(q);q=setTimeout(j,g);return}else{l=w}for(var y in i){var F=i[y];if(!F.minw&&!F.maxw||(!F.minw||F.minw&&D>=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_<style media="'+a+'"> #mq-test-1 { width: 9px; }</style>';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this));; 3/*jslint browser: true, evil: true */ 4 5var scripts = document.getElementsByTagName('script'), 6 path = scripts[scripts.length - 1].src.split('?')[0], 7 tarteaucitronForceCDN = (tarteaucitronForceCDN === undefined) ? '' : tarteaucitronForceCDN, 8 cdn = (tarteaucitronForceCDN === '') ? path.split('/').slice(0, -1).join('/') + '/' : tarteaucitronForceCDN, 9 alreadyLaunch = (alreadyLaunch === undefined) ? 0 : alreadyLaunch, 10 tarteaucitronForceLanguage = (tarteaucitronForceLanguage === undefined) ? '' : tarteaucitronForceLanguage, 11 tarteaucitronForceExpire = (tarteaucitronForceExpire === undefined) ? '' : tarteaucitronForceExpire, 12 tarteaucitronCustomText = (tarteaucitronCustomText === undefined) ? '' : tarteaucitronCustomText, 13 // tarteaucitronExpireInDay: true for day(s) value - false for hour(s) value 14 tarteaucitronExpireInDay = (tarteaucitronExpireInDay === undefined || typeof tarteaucitronExpireInDay !== "boolean") ? true : tarteaucitronExpireInDay, 15 timeExpire = 31536000000, 16 tarteaucitronProLoadServices, 17 tarteaucitronNoAdBlocker = false;
18 19 20 21var tarteaucitron = { 22 "version": 20210509, 23 "cdn": cdn, 24 "user": {}, 25 "lang": {}, 26 "services": {}, 27 "added": [], 28 "idprocessed": [], 29 "state": [], 30 "launch": [], 31 "parameters": {}, 32 "isAjax": false, 33 "reloadThePage": false, 34 "events": { 35 "init": function () {}, 36 "load": function () {}, 37 }, 38 "init": function (params) { 39 "use strict"; 40 var origOpen; 41 42 tarteaucitron.parameters = params; 43 if (alreadyLaunch === 0) { 44 alreadyLaunch = 1; 45 if (window.addEventListener) { 46 window.addEventListener("load", function () { 47 tarteaucitron.initEvents.loadEvent(false); 48 }, false); 49 window.addEventListener("scroll", function () { 50 tarteaucitron.initEvents.scrollEvent(); 51 }, false); 52 53 window.addEventListener("keydown", function (evt) { 54 tarteaucitron.initEvents.keydownEvent(false, evt); 55 }, false); 56 window.addEventListener("hashchange", function () { 57 tarteaucitron.initEvents.hashchangeEvent(); 58 }, false); 59 window.addEventListener("resize", function () { 60 tarteaucitron.initEvents.resizeEvent(); 61 }, false); 62 } else { 63 window.attachEvent("onload", function () { 64 tarteaucitron.initEvents.loadEvent(true); 65 });
vendor: 5,716 bytes, lines 65-198
65 66 window.attachEvent("onscroll", function () { 67 tarteaucitron.initEvents.scrollEvent(); 68 }); 69 window.attachEvent("onkeydown", function (evt) { 70 tarteaucitron.initEvents.keydownEvent(true, evt); 71 72 }); 73 window.attachEvent("onhashchange", function () { 74 tarteaucitron.initEvents.hashchangeEvent(); 75 }); 76 window.attachEvent("onresize", function () { 77 tarteaucitron.initEvents.resizeEvent(); 78 }); 79 } 80 81 if (typeof XMLHttpRequest !== 'undefined') { 82 origOpen = XMLHttpRequest.prototype.open; 83 XMLHttpRequest.prototype.open = function () { 84 85 if (window.addEventListener) { 86 this.addEventListener("load", function () { 87 if (typeof tarteaucitronProLoadServices === 'function') { 88 tarteaucitronProLoadServices(); 89 } 90 }, false); 91 } else if (typeof this.attachEvent !== 'undefined') { 92 this.attachEvent("onload", function () { 93 if (typeof tarteaucitronProLoadServices === 'function') { 94 tarteaucitronProLoadServices(); 95 } 96 }); 97 } else { 98 if (typeof tarteaucitronProLoadServices === 'function') { 99 setTimeout(tarteaucitronProLoadServices, 1000); 100 } 101 } 102 103 try { 104 origOpen.apply(this, arguments); 105 } catch (err) {} 106 }; 107 } 108 } 109 110 if(tarteaucitron.events.init) { 111 tarteaucitron.events.init(); 112 } 113 }, 114 "initEvents": { 115 "loadEvent": function (isOldBrowser) { 116 tarteaucitron.load(); 117 tarteaucitron.fallback(['tarteaucitronOpenPanel'], function (elem) { 118 if (isOldBrowser) { 119 elem.attachEvent("onclick", function (event) { 120 tarteaucitron.userInterface.openPanel(); 121 event.preventDefault(); 122 }); 123 } else { 124 elem.addEventListener("click", function (event) { 125 tarteaucitron.userInterface.openPanel(); 126 event.preventDefault(); 127 }, false); 128 } 129 }, true); 130 }, 131 "keydownEvent": function (isOldBrowser, evt) { 132 if (evt.keyCode === 27) { 133 tarteaucitron.userInterface.closePanel(); 134 } 135 136 if (isOldBrowser) { 137 if ( evt.keyCode === 9 && focusableEls.indexOf(evt.target) >= 0) { 138 if ( evt.shiftKey ) /* shift + tab */ { 139 if (document.activeElement === firstFocusableEl) { 140 lastFocusableEl.focus(); 141 evt.preventDefault(); 142 } 143 } else /* tab */ { 144 if (document.activeElement === lastFocusableEl) { 145 firstFocusableEl.focus(); 146 evt.preventDefault(); 147 } 148 } 149 } 150 } 151 }, 152 "hashchangeEvent": function () { 153 if (document.location.hash === tarteaucitron.hashtag && tarteaucitron.hashtag !== '') { 154 tarteaucitron.userInterface.openPanel(); 155 } 156 }, 157 "resizeEvent": function () { 158 var tacElem = document.getElementById('tarteaucitron'); 159 var tacCookieContainer = document.getElementById('tarteaucitronCookiesListContainer'); 160 161 if (tacElem && tacElem.style.display === 'block') { 162 tarteaucitron.userInterface.jsSizing('main'); 163 } 164 165 if (tacCookieContainer && tacCookieContainer.style.display === 'block') { 166 tarteaucitron.userInterface.jsSizing('cookie'); 167 } 168 }, 169 "scrollEvent": function () { 170 var scrollPos = window.pageYOffset || document.documentElement.scrollTop; 171 var heightPosition; 172 var tacPercentage = document.getElementById('tarteaucitronPercentage'); 173 var tacAlertBig = document.getElementById('tarteaucitronAlertBig'); 174 175 if (tacAlertBig && !tarteaucitron.highPrivacy) { 176 if (tacAlertBig.style.display === 'block') { 177 heightPosition = tacAlertBig.offsetHeight + 'px'; 178 179 if (scrollPos > (screen.height * 2)) { 180 tarteaucitron.userInterface.respondAll(true); 181 } else if (scrollPos > (screen.height / 2)) { 182 document.getElementById('tarteaucitronDisclaimerAlert').innerHTML = '<strong>' + tarteaucitron.lang.alertBigScroll + '</strong> ' + tarteaucitron.lang.alertBig; 183 } 184 185 if (tacPercentage) { 186 if (tarteaucitron.orientation === 'top') { 187 tacPercentage.style.top = heightPosition; 188 } else { 189 tacPercentage.style.bottom = heightPosition; 190 } 191 tacPercentage.style.width = ((100 / (screen.height * 2)) * scrollPos) + '%'; 192 } 193 } 194 } 195 }, 196 }, 197 "load": function () { 198 "use strict";
199 var cdn = tarteaucitron.cdn, 200 language = tarteaucitron.getLanguage(), 201 useJSDelivrMinifiedJS = (cdn.indexOf('cdn.jsdelivr.net') >= 0), 202 pathToLang = cdn + 'lang/tarteaucitron.' + language + (useJSDelivrMinifiedJS ? '.min' : '') + '.js?v=' + tarteaucitron.version, 203 pathToServices = cdn + 'tarteaucitron.services' + (useJSDelivrMinifiedJS ? '.min' : '') + '.js?v=' + tarteaucitron.version, 204 linkElement = document.createElement('link'), 205 defaults = { 206 "adblocker": false, 207 "hashtag": '#tarteaucitron', 208 "cookieName": 'tarteaucitron', 209 "highPrivacy": true, 210 "orientation": "middle", 211 "bodyPosition": "bottom", 212 "removeCredit": false, 213 "showAlertSmall": false, 214 "showIcon": true, 215 "iconPosition": "BottomRight", 216 "cookieslist": false, 217 "handleBrowserDNTRequest": false, 218 "DenyAllCta": true, 219 "AcceptAllCta" : true, 220 "moreInfoLink": true, 221 "privacyUrl": "", 222 "useExternalCss": false, 223 "useExternalJs": false, 224 "mandatory": true, 225 "closePopup": false, 226 "groupServices": false 227 }, 228 params = tarteaucitron.parameters; 229 230 // Don't show the middle bar if we are on the privacy policy or more page 231 if (((tarteaucitron.parameters.readmoreLink !== undefined && window.location.href == tarteaucitron.parameters.readmoreLink) || window.location.href == tarteaucitron.parameters.privacyUrl) && tarteaucitron.parameters.orientation == "middle") { 232 tarteaucitron.parameters.orientation = "bottom"; 233 } 234 235 // Step -1 236 if (typeof tarteaucitronCustomPremium !== 'undefined') { 237 tarteaucitronCustomPremium(); 238 } 239 240 // Step 0: get params 241 if (params !== undefined) { 242 243 for (var k in defaults) { 244 if(!tarteaucitron.parameters.hasOwnProperty(k)) { 245 tarteaucitron.parameters[k] = defaults[k]; 246 } 247 } 248 } 249 250 // global 251 tarteaucitron.orientation = tarteaucitron.parameters.orientation; 252 tarteaucitron.hashtag = tarteaucitron.parameters.hashtag; 253 tarteaucitron.highPrivacy = tarteaucitron.parameters.highPrivacy; 254 tarteaucitron.handleBrowserDNTRequest = tarteaucitron.parameters.handleBrowserDNTRequest; 255 256 // Step 1: load css 257 if ( !tarteaucitron.parameters.useExternalCss ) { 258 linkElement.rel = 'stylesheet'; 259 linkElement.type = 'text/css'; 260 linkElement.href = cdn + 'css/tarteaucitron' + (useJSDelivrMinifiedJS ? '.min' : '') + '.css?v=' + tarteaucitron.version; 261 document.getElementsByTagName('head')[0].appendChild(linkElement); 262 } 263 // Step 2: load language and services 264 tarteaucitron.addInternalScript(pathToLang, '', function () { 265 266 if(tarteaucitronCustomText !== ''){ 267 tarteaucitron.lang = tarteaucitron.AddOrUpdate(tarteaucitron.lang, tarteaucitronCustomText); 268 } 269 tarteaucitron.addInternalScript(pathToServices, '', function () { 270 271 // css for the middle bar TODO: add it on the css file 272 if (tarteaucitron.orientation === 'middle') { 273 var customThemeMiddle = document.createElement('style'), 274 cssRuleMiddle = 'div#tarteaucitronRoot.tarteaucitronBeforeVisible:before {content: \'\';position: fixed;width: 100%;height: 100%;background: white;top: 0;left: 0;z-index: 999;opacity: 0.5;}div#tarteaucitronAlertBig:before {content: \'' + tarteaucitron.lang.middleBarHead + '\';font-size: 35px;}body #tarteaucitronRoot div#tarteaucitronAlertBig {width: 60%;min-width: 285px;height: auto;margin: auto;left: 50%;top: 50%;transform: translate(-50%, -50%);box-shadow: 0 0 9000px #000;border-radius: 20px;padding: 35px 25px;}
274span#tarteaucitronDisclaimerAlert {padding: 0 30px;}#tarteaucitronRoot span#tarteaucitronDisclaimerAlert {margin: 10px 0 30px;display: block;text-align: center;font-size: 21px;}@media screen and (max-width: 900px) {div#tarteaucitronAlertBig button {margin: 0 auto 10px!important;display: block!important;}}'; 275 276 customThemeMiddle.type = 'text/css'; 277 if (customThemeMiddle.styleSheet) { 278 customThemeMiddle.styleSheet.cssText = cssRuleMiddle; 279 } else { 280 customThemeMiddle.appendChild(document.createTextNode(cssRuleMiddle)); 281 } 282 document.getElementsByTagName('head')[0].appendChild(customThemeMiddle); 283 } 284 285 // css for the popup bar TODO: add it on the css file 286 if (tarteaucitron.orientation === 'popup') { 287 var customThemePopup = document.createElement('style'), 288 cssRulePopup = 'div#tarteaucitronAlertBig:before {content: \'' + tarteaucitron.lang.middleBarHead + '\';font-size: 22px;}body #tarteaucitronRoot div#tarteaucitronAlertBig {bottom: 0;top: auto!important;left: 8px!important;right: auto!important;transform: initial!important;border-radius: 5px 5px 0 0!important;max-width: 250px!important;width: Calc(100% - 16px)!important;min-width: 0!important;padding: 25px 0;}span#tarteaucitronDisclaimerAlert {padding: 0 30px;font-size: 15px!important;}#tarteaucitronRoot span#tarteaucitronDisclaimerAlert {margin: 10px 0 30px;display: block;text-align: center;font-size: 21px;}div#tarteaucitronAlertBig button {margin: 0 auto 10px!important;display: block!important;width: Calc(100% - 60px);box-sizing: border-box;}'; 289 290 customThemePopup.type = 'text/css'; 291 if (customThemePopup.styleSheet) { 292 customThemePopup.styleSheet.cssText = cssRulePopup; 293 } else { 294 customThemePopup.appendChild(document.createTextNode(cssRulePopup)); 295 } 296 document.getElementsByTagName('head')[0].appendChild(customThemePopup); 297 } 298 299 var body = document.body, 300 div = document.createElement('div'), 301 html = '', 302 index, 303 orientation = 'Top', 304 cat = ['ads', 'analytic', 'api', 'comment', 'social', 'support', 'video', 'other'], 305 i; 306 307 cat = cat.sort(function (a, b) { 308 if (tarteaucitron.lang[a].title > tarteaucitron.lang[b].title) { return 1; } 309 if (tarteaucitron.lang[a].title < tarteaucitron.lang[b].title) { return -1; } 310 return 0; 311 }); 312 313 // Step 3: prepare the html 314 html += '<div id="tarteaucitronPremium"></div>'; 315 html += '<button type="button" id="tarteaucitronBack" aria-label="' + tarteaucitron.lang.close + '"></button>'; 316 html += '<div id="tarteaucitron" role="dialog" aria-modal="true" aria-describedby="tarteaucitronInfo" aria-labelledby="dialogTitle" tabindex="-1">'; 317 html += ' <button type="button" id="tarteaucitronClosePanel">'; 318 html += ' ' + tarteaucitron.lang.close; 319 html += ' </button>'; 320 html += ' <div id="tarteaucitronServices">'; 321 html += ' <div class="tarteaucitronLine tarteaucitronMainLine" id="tarteaucitronMainLineOffset">'; 322 html += ' <span class="tarteaucitronH1" role="heading" aria-level="1" id="dialogTitle">'+ tarteaucitron.lang.title + '</span>'; 323 html += ' <div id="tarteaucitronInfo">'; 324 html += ' ' + tarteaucitron.lang.disclaimer; 325 if (tarteaucitron.parameters.privacyUrl !== "") { 326 html += ' <br/><br/>'; 327 html += ' <button type="button" id="tarteaucitronPrivacyUrlDialog">'; 328 html += ' ' + tarteaucitron.lang.privacyUrl; 329 html += ' </button>'; 330 } 331 html += ' </div>'; 332 html += ' <div class="tarteaucitronName">';
vendor: 7,928 bytes, lines 333-428
333 html += ' <span class="tarteaucitronH2" role="heading" aria-level="2">' + tarteaucitron.lang.all + '</span>'; 334 html += ' </div>'; 335 html += ' <div class="tarteaucitronAsk" id="tarteaucitronScrollbarAdjust">'; 336 html += ' <button type="button" id="tarteaucitronAllAllowed" class="tarteaucitronAllow">'; 337 html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allowAll; 338 html += ' </button> '; 339 html += ' <button type="button" id="tarteaucitronAllDenied" class="tarteaucitronDeny">'; 340 html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.denyAll; 341 html += ' </button>'; 342 html += ' </div>'; 343 html += ' </div>'; 344 html += ' <div class="tarteaucitronBorder">'; 345 html += ' <div class="clear"></div><ul>'; 346 347 348 if (tarteaucitron.parameters.mandatory == true) { 349 html += '<li id="tarteaucitronServicesTitle_mandatory">'; 350 html += '<div class="tarteaucitronTitle">'; 351 html += ' <button type="button" tabindex="-1"><span class="tarteaucitronPlus"></span> ' + tarteaucitron.lang.mandatoryTitle + '</button>'; 352 html += '</div>'; 353 html += '<ul id="tarteaucitronServices_mandatory">'; 354 html += '<li class="tarteaucitronLine">'; 355 html += ' <div class="tarteaucitronName">'; 356 html += ' <span class="tarteaucitronH3" role="heading" aria-level="3">' + tarteaucitron.lang.mandatoryText + '</span>'; 357 html += ' <span class="tarteaucitronListCookies"></span><br/>'; 358 html += ' </div>'; 359 html += ' <div class="tarteaucitronAsk">'; 360 html += ' <button type="button" class="tarteaucitronAllow" tabindex="-1" disabled>'; 361 html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allow; 362 html += ' </button> '; 363 html += ' <button type="button" class="tarteaucitronDeny" style="visibility:hidden" tabindex="-1">'; 364 html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.deny; 365 html += ' </button> '; 366 html += ' </div>'; 367 html += '</li>'; 368 html += '</ul></li>'; 369 } 370 371 for (i = 0; i < cat.length; i += 1) { 372 html += ' <li id="tarteaucitronServicesTitle_' + cat[i] + '" class="tarteaucitronHidden">'; 373 html += ' <div class="tarteaucitronTitle">'; 374 html += ' <button type="button" class="catToggleBtn" data-cat="tarteaucitronDetails' + cat[i] + '"><span class="tarteaucitronPlus"></span> ' + tarteaucitron.lang[cat[i]].title + '</button>'; 375 html += ' </div>'; 376 html += ' <div id="tarteaucitronDetails' + cat[i] + '" class="tarteaucitronDetails tarteaucitronInfoBox">'; 377 html += ' ' + tarteaucitron.lang[cat[i]].details; 378 html += ' </div>'; 379 html += ' <ul id="tarteaucitronServices_' + cat[i] + '"></ul></li>'; 380 } 381 html += ' <li id="tarteaucitronNoServicesTitle" class="tarteaucitronLine">' + tarteaucitron.lang.noServices + '</li>'; 382 html += ' </ul>'; 383 html += ' <div class="tarteaucitronHidden tarteaucitron-spacer-20" id="tarteaucitronScrollbarChild"></div>'; 384 if (tarteaucitron.parameters.removeCredit === false) { 385 html += ' <a class="tarteaucitronSelfLink" href="https://tarteaucitron.io/" rel="nofollow noreferrer noopener" target="_blank" title="tarteaucitron ' + tarteaucitron.lang.newWindow + '"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHcAAAAeCAYAAAAWwoEYAAADl0lEQVRoge1Y0W3bQAx9CjKARlC+9GVUmqDJBHEmiDyB6wkcTxBngtgTxJ0gzgQW4C/9aYOmE6g4lTQo+k6y3Rb94QOERNQd+cjj8XiGwWAwGAwGg8FgMBgMBoPB8F8RNRXe+whEKe7c36ZCAeCRxC9Rig2PUd8kPgAsoxSfQ3YAzAA8D/HwYYCb05kBKKO0teFkmbC1jlKsAnq/Abjn+QBqAIsoRS30ttwG/HNz1wH/XIxWTicLdvtW7xTAGEAMtP685CNsBTe2d/BLydfXAG57SEnMAST0zgYZSUCPk02bCvkJduIzuJzDLfPolbY+tLKmar+/8+IRePy4qdpE03qHuH8fipFb4N2+XdA3AJ/0vaQxt7s9FvkIS2XvtqnwM0rxpOQfbnE5G2LhTCmUO2fHIngOmcv+KG3HafDchB6ntwjYqenR2PqC7sOZ3E7FXHB0vqxoFyUyLh7OEH7LOGouvhhN3eIBeKXv0n5MsufdHqXcwYR5U2EbpV35lSspVPJmQj4TcgRK7jTg5IzmPUhhwM5a2WHUFCx+NgiDucmgh7idikLovHFlL0pxQ9xzX+IIP9Y6FrJsqhjlQpZRAkFVDCjZfcCHt6bqJDmuh5ylCWx0RVnk3oumaknqTH5sqrY0fBWyULaHUIgAgxb46MxV3DbieAhxOxUxjSuljig9lMQ/Bcfoi9BTEv9aLORSndVxYOH525sUDC6u2gWxcNzBNRxPanyh3ktKinOgy3WoxPbtUM0t6RkbQnzBnFPgi9GCOEubY9UffIryz9iKRe8s/FUfEWosJJGxagp85bpUO3VywQ46lOtAWfNxKwa4JXQ+628+bpxYGXXMzp5rXH401VEyXwIdowXFaKWSMFHvMTVmGnc+P3oXV2QOiBCfgex8QtcQCbcQE/H+eoHzrkFo1KM7zVO4jVVj5s6lRiWF7zyXyfRMc97J3tzj87mYqZ7E2YjzUct9GUi4tjHLR8dVkBLjQcuHFleWvQfRNEhFR7uX7pkctOwvZXsft7sAtyldEUIN2UTeLxnEfxKYswzdi88BdbZ8hifUoSMftQvP+muRwN6+Q3DeqqRExP9QmTtcheiHh0Ot1x2i2km1bP9pbufw5zZdyWsOrh7vQae5OZWbsMv30pi7cd/CKj3coPEVaCP4Zhx4eQWhOZ1Y9MTXGyP8/iGjEyfa1T4fO/4Lea9vBoPBYDAYDAaDwWAwGAwGwz8GgF8siXCCbrSRhgAAAABJRU5ErkJggg==" alt="tarteaucitron.io" /></a>'; 386 } 387 html += ' </div>'; 388 html += ' </div>'; 389 html += '</div>'; 390 391 if (tarteaucitron.parameters.orientation === 'bottom') { 392 orientation = 'Bottom'; 393 } 394 395 if (tarteaucitron.parameters.highPrivacy && !tarteaucitron.parameters.AcceptAllCta) { 396 html += '<div tabindex="-1" id="tarteaucitronAlertBig" class="tarteaucitronAlertBig' + orientation + '">'; 397 //html += '<div class="tarteaucitronAlertBigWrapper">'; 398 html += ' <span id="tarteaucitronDisclaimerAlert">'; 399 html += ' ' + tarteaucitron.lang.alertBigPrivacy; 400 html += ' </span>'; 401 //html += ' <span class="tarteaucitronAlertBigBtnWrapper">'; 402 html += ' <button type="button" id="tarteaucitronPersonalize">'; 403 html += ' ' + tarteaucitron.lang.personalize; 404 html += ' </button>'; 405 406 if (tarteaucitron.parameters.privacyUrl !== "") { 407 html += ' <button type="button" id="tarteaucitronPrivacyUrl">'; 408 html += ' ' + tarteaucitron.lang.privacyUrl; 409 html += ' </button>'; 410 } 411 412 //html += ' </span>'; 413 //html += '</div>'; 414 html += '</div>'; 415 } else { 416 html += '<div tabindex="-1" id="tarteaucitronAlertBig" class="tarteaucitronAlertBig' + orientation + '">'; 417 //html += '<div class="tarteaucitronAlertBigWrapper">'; 418 html += ' <span id="tarteaucitronDisclaimerAlert">'; 419 420 if (tarteaucitron.parameters.highPrivacy) { 421 html += ' ' + tarteaucitron.lang.alertBigPrivacy; 422 } else { 423 html += ' ' + tarteaucitron.lang.alertBigClick + ' ' + tarteaucitron.lang.alertBig; 424 } 425 426 html += ' </span>'; 427 //html += ' <span class="tarteaucitronAlertBigBtnWrapper">'; 428 html += ' <button type="button" class="tarteaucitronCTAButton tarteaucitronAllow" id="tarteaucitronPersonalize2">';
429 html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.acceptAll; 430 html += ' </button>'; 431 432 html += ' <button type="button" id="tarteaucitronCloseAlert">'; 433 html += ' ' + tarteaucitron.lang.personalize; 434 html += ' </button>'; 435 436 if (tarteaucitron.parameters.DenyAllCta) { 437 html += ' <button type="button" class="tarteaucitronCTAButton tarteaucitronDeny" id="tarteaucitronAllDenied2">'; 438 html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.denyAll; 439 html += ' </button>'; 440 //html += ' <br/><br/>'; 441 } 442 443 if (tarteaucitron.parameters.privacyUrl !== "") { 444 html += ' <button type="button" id="tarteaucitronPrivacyUrl">'; 445 html += ' ' + tarteaucitron.lang.privacyUrl; 446 html += ' </button>'; 447 } 448 449 //html += ' </span>'; 450 //html += '</div>'; 451 html += '</div>'; 452 html += '<div id="tarteaucitronPercentage"></div>'; 453 } 454 455 if (tarteaucitron.parameters.showIcon === true) { 456 html += '<div id="tarteaucitronIcon" class="tarteaucitronIcon' + tarteaucitron.parameters.iconPosition + '">'; 457 html += ' <button type="button" id="tarteaucitronManager">'; 458 html += ' <img src="' + (tarteaucitron.parameters.iconSrc ? tarteaucitron.parameters.iconSrc : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAGA0lEQVRoge1a207bWBRdBtJwLYZhKDMVmlSK1LxNkPo+ZH6g8B6p5AuALwC+APoFoVLeoT8whPeRSt+CZKmZVu3AiIsRlEtCktGyjy8xzuXYhvahS0JJHJ/4rLP3XnuffcAPfGdQ7mM6jRLSAF4BxqsbewB2lRS2o35mpEQaJcwCyANIdLi1DGBNSWEzqmdHRqRRwjqAJclhtExOSUEP+/xIiDRKhhUWfL7ShTtBuJnqcw+/z4Ql0xNmMEwSSz4ku
458NIzSgpjSsqYJP/GeE185wYJroedRyiLNEpGLLzzrHSuk+83SgbxvOcyyRaDziWsRVZkSRDinpzPbwVGWIucuohsKynMS47fAQyls/BMSRmKJo3AFhG5wm2N1wF+Zs3zebbFfR0RxrXcJHQlgH+LMW616pR/WiIMEXfW3mtzXyeEGWsjKot8c4TOI98L+iKaR5PS6IUk88RLAO9F8UjrbYoYMOosNavpfmODIiwRXRR/G3ohaWVo1RU/c30jV8ab2mV8qVGzHWBOLyTLZiWs5Rolg/C3ySOi0tXP/k4aEwOwSBKPJs7Rp16ABJTe+p1xVX0It/owqqdDEMRoqd3RFxqDPh20Ig6VEPVC0i5RSCD+6wl6HlW7GksSlUMV11/GrUs5NasFLusDE9ELSVphXemtJwaT/8JyIRvxNNCfBmIiNdR04LII3DSrbe0yjqvyJF/ppptqVlt+MCLCEh/oOkPPP6N38Mb5cnQBGFsEqmXg5j3QMwoMzwGnr4HYbybBq13gZAOom/FO63zdf2qQArCsZrUN2TlJy69eSDKYV+6Q4MpP75ivHzPA53ngaBW4eGuSOt0A/lsGPmXMz0+3TFJcTfFbPfFbfnwlhON+iQhlWmA82CQ4ocQ7c6KcfL3DHuls0yT6Sx4YnLXJDCQOIRRv5yGIJBgP8Sdisj2qubpc5UGJmo+W49ifVmzL8HcpGhQPvZCUKiCliIhEN0tr2OCqHuSA8gwQ/92MkU7gxEmeVqGrTTgpxPXbUrtGWYus0I9thRIraagRQUIDf7Qn4yZhKRiFQIyhfMfUr3yblokVWSJ6k8xSnc7eNN/RjowfCYiFoDUFer1S3gW6JiJ8Nt30EMbEhU+vzSIztuRYjRLsR8IHLjlf7HZ+MrWWEXxNmbvapt4jGSqZRYSkGUetSNTPzHsui5YMQ2ajJUNks6mw4wT54Ok2ShnzzIPCUGshzawCRKy5FqvrTZe0RWzQGvw79m67XZjKmxJrLsICjtZa55gxXy+6F4sYsEtxTqhXdRTLC8ulSDaWoCLsolfN+8YUhOsJV709H7Cudr0LlVEtzqBcN+shEyThdR941OnAbF8pirKJqXyupTRTtQSReiVmXW1j7oBErB0d9xM2WEd5J9ZKYtuR4WKwwBSoORbpGrJ5ZI9lt71irJmGX1px0JYE26uNErawr2zfIcP4OHEKXm66PA3wjpCNEfpJunI4muifPjKvsFCkGjExTq63yxMJsZNMYF/J4HmDC5A3Yq36jy0ClePHVhwuu/b1HSFlEfHD5ZtD1bEK44Qu1mWys6tbWmZyPWckzlPTGiRw/XHCuk+q4Rek+mVrVL/UppwrdDEGNV2kpyuhccgc5Oxm9vWnn+19vJrVpLor0kTUrGacMplb1CfOFyTD4o9uNrHqr2Z+ZMSp1c2XcVSORnh9Q81q3k599ETgkNnjg0nGzi10K7rX+bZpHbrblPcY5A4Zxk2xcjzCvTpd9027Aa0QtouyyrKFRR6D/04DwkFGvHPXM3Qda/Jb4nPgI7hQLVM1q5HIBt2MzQNa57Z1DiiLAGa5Mi+O4Sz3Mpp6laPHO6InII3ITnX1QtI+EOX+m9ZxleOZ/j9PiuKoLi3aqXPuEoSye/Vhkm+LalbLtHhMS0R6zu7aZ3vP2jOjL7QVv4McxhcDnZIelAQibGIbULOapf3PuE1Vs9qeaOTdkVKr00gCQiw4NlBzDvf1Lxx+uP5r3Dgv5KQZRzWn+GRwz8jmDS8itUg7iB6vLuJCF5Uty4A9mVKkFR6MiJDachST/oHvHgD+B4SoUIitpF05AAAAAElFTkSuQmCC') + '" alt="' + tarteaucitron.lang.icon + '" title="' + tarteaucitron.lang.icon + '">'; 459 html += ' </button>'; 460 html += '</div>'; 461 } 462 463 if (tarteaucitron.parameters.showAlertSmall === true) { 464 html += '<div id="tarteaucitronAlertSmall" class="tarteaucitronAlertSmall' + orientation + '">'; 465 html += ' <button type="button" id="tarteaucitronManager">'; 466 html += ' ' + tarteaucitron.lang.alertSmall; 467 html += ' <span id="tarteaucitronDot">'; 468 html += ' <span id="tarteaucitronDotGreen"></span>'; 469 html += ' <span id="tarteaucitronDotYellow"></span>'; 470 html += ' <span id="tarteaucitronDotRed"></span>'; 471 html += ' </span>'; 472 if (tarteaucitron.parameters.cookieslist === true) { 473 html += ' </button><!-- @whitespace'; 474 html += ' --><button type="button" id="tarteaucitronCookiesNumber">0</button>'; 475 html += ' <div id="tarteaucitronCookiesListContainer">'; 476 html += ' <button type="button" id="tarteaucitronClosePanelCookie">'; 477 html += ' ' + tarteaucitron.lang.close; 478 html += ' </button>'; 479 html += ' <div class="tarteaucitronCookiesListMain" id="tarteaucitronCookiesTitle">'; 480 html += ' <span class="tarteaucitronH2" role="heading" aria-level="2" id="tarteaucitronCookiesNumberBis">0 cookie</span>'; 481 html += ' </div>'; 482 html += ' <div id="tarteaucitronCookiesList"></div>'; 483 html += ' </div>'; 484 } else { 485 html += ' </div>'; 486 } 487 html += '</div>'; 488 } 489 490 tarteaucitron.addInternalScript(tarteaucitron.cdn + 'advertising' + (useJSDelivrMinifiedJS ? '.min' : '') + '.js?v=' + tarteaucitron.version, '', function () { 491 if (tarteaucitronNoAdBlocker === true || tarteaucitron.parameters.adblocker === false) { 492 493 // create a wrapper container at the same level than tarteaucitron so we can add an aria-hidden when tarteaucitron is opened 494 /*var wrapper = document.createElement('div'); 495 wrapper.id = "tarteaucitronContentWrapper"; 496 497 while (document.body.firstChild) 498 { 499 wrapper.appendChild(document.body.firstChild); 500 } 501 502 // Append the wrapper to the body 503 document.body.appendChild(wrapper);*/ 504 505 div.id = 'tarteaucitronRoot'; 506 if (tarteaucitron.parameters.bodyPosition === 'top') { 507 // Prepend tarteaucitron: #tarteaucitronRoot first-child of the body for better accessibility 508 var bodyFirstChild = body.firstChild; 509 body.insertBefore(div, bodyFirstChild); 510 } 511 else { 512 // Append tarteaucitron: #tarteaucitronRoot last-child of the body 513 body.appendChild(div, body); 514 } 515 div.innerHTML = html; 516 517 //ie compatibility 518 var tacRootAvailableEvent; 519 if(typeof(Event) === 'function') { 520 tacRootAvailableEvent = new Event("tac.root_available"); 521 }else if (typeof(document.createEvent) === 'function'){ 522 tacRootAvailableEvent = document.createEvent('Event'); 523 tacRootAvailableEvent.initEvent("tac.root_available", true, true); 524 } 525 //end ie compatibility 526 527 if (typeof(window.dispatchEvent) === 'function') {window.dispatchEvent(tacRootAvailableEvent);} 528 529 if (tarteaucitron.job !== undefined) { 530 tarteaucitron.job = tarteaucitron.cleanArray(tarteaucitron.job); 531 for (index = 0; index < tarteaucitron.job.length; index += 1) { 532 tarteaucitron.addService(tarteaucitron.job[index]); 533 } 534 } else { 535 tarteaucitron.job = []; 536 } 537 538 if (tarteaucitron.job.length === 0) { 539 tarteaucitron.userInterface.closeAlert(); 540 } 541 542 tarteaucitron.isAjax = true; 543 544 tarteaucitron.job.push = function (id) { 545 546 // ie <9 hack 547 if (typeof tarteaucitron.job.indexOf === 'undefined') { 548 tarteaucitron.job.indexOf = function (obj, start) { 549 var i, 550 j = this.length; 551 for (i = (start || 0); i < j; i += 1) { 552 if (this[i] === obj) { return i; } 553 } 554 return -1; 555 }; 556 } 557 558 if (tarteaucitron.job.indexOf(id) === -1) { 559 Array.prototype.push.call(this, id); 560 }
561 tarteaucitron.launch[id] = false; 562 tarteaucitron.addService(id); 563 }; 564 565 if (document.location.hash === tarteaucitron.hashtag && tarteaucitron.hashtag !== '') { 566 tarteaucitron.userInterface.openPanel(); 567 } 568 569 tarteaucitron.cookie.number(); 570 setInterval(tarteaucitron.cookie.number, 60000); 571 } 572 }, tarteaucitron.parameters.adblocker); 573 574 if (tarteaucitron.parameters.adblocker === true) { 575 setTimeout(function () { 576 if (tarteaucitronNoAdBlocker === false) { 577 html = '<div id="tarteaucitronAlertBig" class="tarteaucitronAlertBig' + orientation + ' tarteaucitron-display-block" role="alert" aria-live="polite">'; 578 html += ' <p id="tarteaucitronDisclaimerAlert">'; 579 html += ' ' + tarteaucitron.lang.adblock + '<br/>'; 580 html += ' <strong>' + tarteaucitron.lang.adblock_call + '</strong>'; 581 html += ' </p>'; 582 html += ' <button type="button" class="tarteaucitronCTAButton" id="tarteaucitronCTAButton">'; 583 html += ' ' + tarteaucitron.lang.reload; 584 html += ' </button>'; 585 html += '</div>'; 586 html += '<div id="tarteaucitronPremium"></div>'; 587 588 div.id = 'tarteaucitronRoot'; 589 if (tarteaucitron.parameters.bodyPosition === 'top') { 590 // Prepend tarteaucitron: #tarteaucitronRoot first-child of the body for better accessibility 591 var bodyFirstChild = body.firstChild; 592 body.insertBefore(div, bodyFirstChild); 593 } 594 else { 595 // Append tarteaucitron: #tarteaucitronRoot last-child of the body 596 body.appendChild(div, body); 597 } 598 div.innerHTML = html; 599 } 600 }, 1500); 601 } 602 if(tarteaucitron.parameters.closePopup === true){ 603 setTimeout(function() { 604 var closeElement = document.getElementById('tarteaucitronAlertBig'), 605 closeSpan = document.createElement('span'); 606 if (closeElement) { 607 closeSpan.textContent = 'X'; 608 closeSpan.setAttribute('id', "tarteaucitronCloseCross"); 609 closeElement.insertBefore(closeSpan, closeElement.firstElementChild); 610 } 611 }, 100); 612 } 613 614 615 if(tarteaucitron.parameters.groupServices === true) { 616 var tac_group_style = document.createElement('style'); 617 tac_group_style.innerHTML = '.tarteaucitronTitle{display:none}'; 618 document.head.appendChild(tac_group_style); 619 var cats = document.querySelectorAll('[id^="tarteaucitronServicesTitle_"]') 620 Array.prototype.forEach.call(cats, function(item) { 621 var cat = item.getAttribute('id').replace(/^(tarteaucitronServicesTitle_)/, ""); 622 if (cat !== "mandatory") { 623 var html = ''; 624 html += '<li class="tarteaucitronLine">'; 625 html += ' <div class="tarteaucitronName">'; 626 html += ' <span class="tarteaucitronH3" role="heading" aria-level="2">'+tarteaucitron.lang[cat].title+'</span>'; 627 html += ' <span>'+tarteaucitron.lang[cat].details+'</span>'; 628 html += ' <button type="button" aria-expanded="false" class="tarteaucitron-toggle-group" id="tarteaucitron-toggle-group-'+cat+'">'+tarteaucitron.lang.alertSmall+' ('+document.getElementById("tarteaucitronServices_"+cat).childElementCount+')</button>'; 629 html += ' </div>'; 630 html += ' <div class="tarteaucitronAsk" id="tarteaucitron-group-'+cat+'">'; 631 html += ' <button type="button" aria-label="' + tarteaucitron.lang.allow + ' ' + tarteaucitron.lang[cat].title + '" class="tarteaucitronAllow" id="tarteaucitron-accept-group-'+cat+'">';
vendor: 2,990 bytes, lines 632-671
632 html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allow; 633 html += ' </button> '; 634 html += ' <button type="button" aria-label="' + tarteaucitron.lang.deny + ' ' + tarteaucitron.lang[cat].title + '" class="tarteaucitronDeny" id="tarteaucitron-reject-group-'+cat+'">'; 635 html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.deny; 636 html += ' </button>'; 637 html += ' </div>'; 638 html += '</li>'; 639 var ul = document.createElement('ul'); 640 ul.innerHTML = html; 641 item.insertBefore(ul, item.querySelector('#tarteaucitronServices_'+cat+'')); 642 document.querySelector('#tarteaucitronServices_' + cat).style.display = 'none'; 643 tarteaucitron.addClickEventToId("tarteaucitron-toggle-group-" + cat, function () { 644 tarteaucitron.userInterface.toggle('tarteaucitronServices_' + cat); 645 if (document.getElementById('tarteaucitronServices_' + cat).style.display == 'block') { 646 tarteaucitron.userInterface.addClass('tarteaucitronServicesTitle_' + cat, 'tarteaucitronIsExpanded'); 647 document.getElementById('tarteaucitron-toggle-group-'+cat).setAttribute('aria-expanded', 'true'); 648 } else { 649 tarteaucitron.userInterface.removeClass('tarteaucitronServicesTitle_' + cat, 'tarteaucitronIsExpanded'); 650 document.getElementById('tarteaucitron-toggle-group-'+cat).setAttribute('aria-expanded', 'false'); 651 } 652 }); 653 tarteaucitron.addClickEventToId("tarteaucitron-accept-group-" + cat, function () { 654 tarteaucitron.userInterface.respondAll(true, cat); 655 }); 656 tarteaucitron.addClickEventToId("tarteaucitron-reject-group-" + cat, function () { 657 tarteaucitron.userInterface.respondAll(false, cat); 658 }); 659 } 660 }); 661 } 662 tarteaucitron.userInterface.color("", true); 663 664 // add a little timeout to be sure everything is accessible 665 setTimeout(function () { 666 667 // Setup events 668 tarteaucitron.addClickEventToId("tarteaucitronCloseCross", function () { 669 tarteaucitron.userInterface.closeAlert(); 670 }); 671 tarteaucitron.addClickEventToId("tarteaucitronPersonalize", function () {
672 tarteaucitron.userInterface.openPanel(); 673 }); 674 tarteaucitron.addClickEventToId("tarteaucitronPersonalize2", function () { 675 tarteaucitron.userInterface.respondAll(true); 676 }); 677 tarteaucitron.addClickEventToId("tarteaucitronManager", function () { 678 tarteaucitron.userInterface.openPanel(); 679 }); 680 tarteaucitron.addClickEventToId("tarteaucitronBack", function () { 681 tarteaucitron.userInterface.closePanel(); 682 }); 683 tarteaucitron.addClickEventToId("tarteaucitronClosePanel", function () { 684 tarteaucitron.userInterface.closePanel(); 685 }); 686 tarteaucitron.addClickEventToId("tarteaucitronClosePanelCookie", function () { 687 tarteaucitron.userInterface.closePanel(); 688 }); 689 tarteaucitron.addClickEventToId("tarteaucitronPrivacyUrl", function () { 690 document.location = tarteaucitron.parameters.privacyUrl; 691 }); 692 tarteaucitron.addClickEventToId("tarteaucitronPrivacyUrlDialog", function () { 693 document.location = tarteaucitron.parameters.privacyUrl; 694 }); 695 tarteaucitron.addClickEventToId("tarteaucitronCookiesNumber", function () { 696 tarteaucitron.userInterface.toggleCookiesList(); 697 }); 698 tarteaucitron.addClickEventToId("tarteaucitronAllAllowed", function () { 699 tarteaucitron.userInterface.respondAll(true); 700 }); 701 tarteaucitron.addClickEventToId("tarteaucitronAllDenied", function () { 702 tarteaucitron.userInterface.respondAll(false); 703 }); 704 tarteaucitron.addClickEventToId("tarteaucitronAllDenied2", function () { 705 tarteaucitron.userInterface.respondAll(false, '', true); 706 if (tarteaucitron.reloadThePage === true) { 707 window.location.reload(); 708 } 709 }); 710 tarteaucitron.addClickEventToId("tarteaucitronCloseAlert", function () {
711 tarteaucitron.userInterface.openPanel(); 712 }); 713 tarteaucitron.addClickEventToId("tarteaucitronCTAButton", function () { 714 location.reload(); 715 }); 716 var toggleBtns = document.getElementsByClassName("catToggleBtn"), i; 717 for (i = 0; i < toggleBtns.length; i++) { 718 toggleBtns[i].dataset.index = i; 719 tarteaucitron.addClickEventToElement(toggleBtns[i], function () { 720 tarteaucitron.userInterface.toggle('tarteaucitronDetails' + cat[this.dataset.index], 'tarteaucitronInfoBox'); 721 return false; 722 }); 723 } 724 725 var allowBtns = document.getElementsByClassName("tarteaucitronAllow"); 726 for (i = 0; i < allowBtns.length; i++) { 727 tarteaucitron.addClickEventToElement(allowBtns[i], function () { 728 tarteaucitron.userInterface.respond(this, true); 729 }); 730 } 731 var denyBtns = document.getElementsByClassName("tarteaucitronDeny"); 732 for (i = 0; i < denyBtns.length; i++) { 733 tarteaucitron.addClickEventToElement(denyBtns[i], function () { 734 tarteaucitron.userInterface.respond(this, false); 735 }); 736 } 737 if(tarteaucitron.events.load) { 738 tarteaucitron.events.load(); 739 } 740 }, 500); 741 742 }); 743 }); 744 }, 745 "addService": function (serviceId) { 746 "use strict"; 747 var html = '', 748 s = tarteaucitron.services, 749 service = s[serviceId], 750 cookie = tarteaucitron.cookie.read(), 751 hostname = document.location.hostname, 752 hostRef = document.referrer.split('/')[2], 753 isNavigating = (hostRef === hostname && window.location.href !== tarteaucitron.parameters.privacyUrl), 754 isAutostart = (!service.needConsent), 755 isWaiting = (cookie.indexOf(service.key + '=wait') >= 0), 756 isDenied = (cookie.indexOf(service.key + '=false') >= 0), 757 isAllowed = ((cookie.indexOf(service.key + '=true') >= 0) || (!service.needConsent && cookie.indexOf(service.key + '=false') < 0)), 758 isResponded = (cookie.indexOf(service.key + '=false') >= 0 || cookie.indexOf(service.key + '=true') >= 0), 759 isDNTRequested = (navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1" || window.doNotTrack === "1"), 760 currentStatus = (isAllowed) ? tarteaucitron.lang.allowed : tarteaucitron.lang.disallowed; 761 762 if (tarteaucitron.added[service.key] !== true) { 763 tarteaucitron.added[service.key] = true; 764 765 html += '<li id="' + service.key + 'Line" class="tarteaucitronLine">'; 766 html += ' <div class="tarteaucitronName">'; 767 html += ' <span class="tarteaucitronH3" role="heading" aria-level="3">' + service.name + '</span>'; 768 html += ' <span class="tacCurrentStatus" id="tacCurrentStatus' + service.key + '"></span>'; 769 html += ' <span id="tacCL' + service.key + '" class="tarteaucitronListCookies"></span><br/>'; 770 if (tarteaucitron.parameters.moreInfoLink == true) { 771 772 var link = 'https://tarteaucitron.io/service/' + service.key + '/'; 773 if (service.readmoreLink !== undefined && service.readmoreLink !== '') { 774 link = service.readmoreLink; 775 } 776 if (tarteaucitron.parameters.readmoreLink !== undefined && tarteaucitron.parameters.readmoreLink !== '') { 777 link = tarteaucitron.parameters.readmoreLink; 778 } 779 html += ' <a href="' + link + '" target="_blank" rel="noreferrer noopener nofollow" title="'+ tarteaucitron.lang.cookieDetail + ' ' + service.name + ' ' + tarteaucitron.lang.ourSite + ' ' + tarteaucitron.lang.newWindow +'"
779class="tarteaucitronReadmoreInfo">'; 780 html += ' ' + tarteaucitron.lang.more; 781 html += ' </a>'; 782 html += ' <span class="tarteaucitronReadmoreSeparator"> - </span>'; 783 html += ' <a href="' + service.uri + '" target="_blank" rel="noreferrer noopener" title="' + tarteaucitron.lang.source + ' ' + service.name + ' ' + tarteaucitron.lang.newWindow + '" class="tarteaucitronReadmoreOfficial">'; 784 html += ' ' + tarteaucitron.lang.source; 785 html += ' </a>'; 786 } 787 788 html += ' </div>'; 789 html += ' <div class="tarteaucitronAsk">'; 790 html += ' <button type="button" aria-label="' + tarteaucitron.lang.allow + ' ' + service.name + '" id="' + service.key + 'Allowed" class="tarteaucitronAllow">'; 791 html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allow; 792 html += ' </button> '; 793 html += ' <button type="button" aria-label="' + tarteaucitron.lang.deny + ' ' + service.name + '" id="' + service.key + 'Denied" class="tarteaucitronDeny">'; 794 html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.deny; 795 html += ' </button>'; 796 html += ' </div>'; 797 html += '</li>'; 798 799 tarteaucitron.userInterface.css('tarteaucitronServicesTitle_' + service.type, 'display', 'block'); 800 801 if (document.getElementById('tarteaucitronServices_' + service.type) !== null) { 802 document.getElementById('tarteaucitronServices_' + service.type).innerHTML += html; 803 } 804 805 tarteaucitron.userInterface.css('tarteaucitronNoServicesTitle', 'display', 'none'); 806 807 tarteaucitron.userInterface.order(service.type); 808 809 tarteaucitron.addClickEventToId(service.key + 'Allowed', function () { 810 tarteaucitron.userInterface.respond(this, true); 811 }); 812 813 tarteaucitron.addClickEventToId(service.key + 'Denied', function () { 814 tarteaucitron.userInterface.respond(this, false); 815 }); 816 } 817 818 tarteaucitron.pro('!' + service.key + '=' + isAllowed); 819 820 // allow by default for non EU 821 if (isResponded === false && tarteaucitron.user.bypass === true) { 822 isAllowed = true; 823 tarteaucitron.cookie.create(service.key, true); 824 } 825 826 if ((!isResponded && (isAutostart || (isNavigating && isWaiting)) && !tarteaucitron.highPrivacy) || isAllowed) { 827 if (!isAllowed || (!service.needConsent && cookie.indexOf(service.key + '=false') < 0)) { 828 tarteaucitron.cookie.create(service.key, true); 829 } 830 if (tarteaucitron.launch[service.key] !== true) { 831 tarteaucitron.launch[service.key] = true; 832 if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + service.key + "_") < 0) { service.js(); } 833 tarteaucitron.sendEvent(service.key + '_loaded'); 834 } 835 tarteaucitron.state[service.key] = true; 836 tarteaucitron.userInterface.color(service.key, true); 837 } else if (isDenied) { 838 if (typeof service.fallback === 'function') { 839 if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + service.key + "_") < 0) { service.fallback(); } 840 } 841 tarteaucitron.state[service.key] = false; 842 tarteaucitron.userInterface.color(service.key, false); 843 } else if (!isResponded && isDNTRequested && tarteaucitron.handleBrowserDNTRequest) { 844 tarteaucitron.cookie.create(service.key, 'false'); 845 if (typeof service.fallback === 'function') { 846 if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + service.key + "_") < 0) { service.fallback(); } 847 } 848 tarteaucitron.state[service.key] = false; 849 tarteaucitron.userInterface.color(service.key, false); 850 } else if (!isResponded) { 851 tarteaucitron.cookie.create(service.key, 'wait'); 852 if (typeof service.fallback === 'function') { 853 if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + service.key + "_") < 0) { service.fallback(); } 854 } 855 tarteaucitron.userInterface.color(service.key, 'wait'); 856 tarteaucitron.userInterface.openAlert(); 857 } 858 859 tarteaucitron.cookie.checkCount(service.key); 860 tarteaucitron.sendEvent(service.key + '_added') 861 }, 862 "sendEvent" : function(event_key) { 863 if(event_key !== undefined) { 864 //ie compatibility 865 var send_event_item; 866 if(typeof(Event) === 'function') { 867 send_event_item = new Event(event_key); 868 }else if (typeof(document.createEvent) === 'function'){ 869 send_event_item = document.createEvent('Event'); 870 send_event_item.initEvent(event_key, true, true); 871 } 872 //end ie compatibility 873 874 document.dispatchEvent(send_event_item); 875 } 876 }, 877 "cleanArray": function cleanArray(arr) { 878 "use strict"; 879 var i, 880 len = arr.length, 881 out = [], 882 obj = {}, 883 s = tarteaucitron.services; 884 885 for (i = 0; i < len; i += 1) { 886 if (!obj[arr[i]]) { 887 obj[arr[i]] = {}; 888 if (tarteaucitron.services[arr[i]] !== undefined) { 889 out.push(arr[i]); 890 } 891 } 892 } 893 894 out = out.sort(function (a, b) {
895 if (s[a].type + s[a].key > s[b].type + s[b].key) { return 1; } 896 if (s[a].type + s[a].key < s[b].type + s[b].key) { return -1; } 897 return 0; 898 }); 899 900 return out; 901 }, 902 "userInterface": { 903 "css": function (id, property, value) { 904 "use strict"; 905 if (document.getElementById(id) !== null) { 906 907 if (property == "display" && value == "none" && (id == "tarteaucitron" || id == "tarteaucitronBack" || id == "tarteaucitronAlertBig")) { 908 document.getElementById(id).style["opacity"] = "0"; 909 910 setTimeout(function() {document.getElementById(id).style[property] = value;}, 200); 911 } else { 912 913 document.getElementById(id).style[property] = value; 914 915 if (property == "display" && value == "block" && (id == "tarteaucitron" || id == "tarteaucitronAlertBig")) { 916 document.getElementById(id).style["opacity"] = "0"; 917 setTimeout(function() {document.getElementById(id).style["opacity"] = "1";}, 1); 918 } 919 920 if (property == "display" && value == "block" && id == "tarteaucitronBack") { 921 document.getElementById(id).style["opacity"] = "0"; 922 setTimeout(function() {document.getElementById(id).style["opacity"] = "0.7";}, 1); 923 } 924 } 925 } 926 }, 927 "addClass": function (id, className) { 928 "use strict"; 929 if (document.getElementById(id) !== null && document.getElementById(id).classList !== undefined) { 930 document.getElementById(id).classList.add(className); 931 } 932 }, 933 "removeClass": function (id, className) { 934 "use strict"; 935 if (document.getElementById(id) !== null && document.getElementById(id).classList !== undefined) { 936 document.getElementById(id).classList.remove(className); 937 } 938 }, 939 "respondAll": function (status, type, allowSafeAnalytics) { 940 "use strict"; 941 var s = tarteaucitron.services, 942 service, 943 key, 944 index = 0; 945 946 for (index = 0; index < tarteaucitron.job.length; index += 1) { 947 948 if (typeof type !== 'undefined' && type !== '' && s[tarteaucitron.job[index]].type !== type) { 949 continue; 950 } 951 952 if (allowSafeAnalytics && typeof s[tarteaucitron.job[index]].safeanalytic !== "undefined" && s[tarteaucitron.job[index]].safeanalytic === true) { 953 continue; 954 } 955 956 service = s[tarteaucitron.job[index]]; 957 key = service.key; 958 if (tarteaucitron.state[key] !== status) { 959 if (status === false && tarteaucitron.launch[key] === true) { 960 tarteaucitron.reloadThePage = true; 961 } 962 if (tarteaucitron.launch[key] !== true && status === true) { 963 964 tarteaucitron.pro('!' + key + '=engage'); 965 966 tarteaucitron.launch[key] = true; 967 if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + key + "_") < 0) { tarteaucitron.services[key].js(); } 968 tarteaucitron.sendEvent(key + '_loaded'); 969 } 970 var itemStatusElem = document.getElementById('tacCurrentStatus'+key); 971 if(status == true){ 972 itemStatusElem.innerHTML = tarteaucitron.lang.allowed + " - "; 973 }else{ 974 itemStatusElem.innerHTML = tarteaucitron.lang.disallowed + " - "; 975 } 976 tarteaucitron.state[key] = status; 977 tarteaucitron.cookie.create(key, status); 978 tarteaucitron.userInterface.color(key, status); 979 } 980 } 981 }, 982 "respond": function (el, status) { 983 "use strict"; 984 if (el.id === '') { 985 return; 986 } 987 var key = el.id.replace(new RegExp("(Eng[0-9]+|Allow|Deni)ed", "g"), ''); 988
vendor: 19,109 bytes, lines 989-1391
989 if (key.substring(0, 13) === 'tarteaucitron' || key === '') {return;} 990 991 // return if same state 992 if (tarteaucitron.state[key] === status) { 993 return; 994 } 995 996 if (status === false && tarteaucitron.launch[key] === true) { 997 tarteaucitron.reloadThePage = true; 998 } 999 1000 // if not already launched... launch the service 1001 if (status === true) { 1002 if (tarteaucitron.launch[key] !== true) { 1003 1004 tarteaucitron.pro('!' + key + '=engage'); 1005 1006 tarteaucitron.launch[key] = true; 1007 tarteaucitron.sendEvent(key + '_loaded'); 1008 if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + key + "_") < 0) { tarteaucitron.services[key].js(); } 1009 } 1010 } 1011 var itemStatusElem = document.getElementById('tacCurrentStatus'+key); 1012 if(status == true){ 1013 itemStatusElem.innerHTML = tarteaucitron.lang.allowed + " - "; 1014 }else{ 1015 itemStatusElem.innerHTML = tarteaucitron.lang.disallowed + " - "; 1016 } 1017 tarteaucitron.state[key] = status; 1018 tarteaucitron.cookie.create(key, status); 1019 tarteaucitron.userInterface.color(key, status); 1020 }, 1021 "color": function (key, status) { 1022 "use strict"; 1023 var c = 'tarteaucitron', 1024 nbDenied = 0, 1025 nbPending = 0, 1026 nbAllowed = 0, 1027 sum = tarteaucitron.job.length, 1028 index, 1029 s = tarteaucitron.services; 1030 1031 if (key !== "") { 1032 1033 if (status === true) { 1034 tarteaucitron.userInterface.addClass(key + 'Line', 'tarteaucitronIsAllowed'); 1035 tarteaucitron.userInterface.removeClass(key + 'Line', 'tarteaucitronIsDenied'); 1036 document.getElementById(key + 'Allowed').setAttribute('aria-pressed', 'true'); 1037 document.getElementById(key + 'Denied').setAttribute('aria-pressed', 'false'); 1038 } else if (status === false) { 1039 tarteaucitron.userInterface.removeClass(key + 'Line', 'tarteaucitronIsAllowed'); 1040 tarteaucitron.userInterface.addClass(key + 'Line', 'tarteaucitronIsDenied'); 1041 document.getElementById(key + 'Allowed').setAttribute('aria-pressed', 'false'); 1042 document.getElementById(key + 'Denied').setAttribute('aria-pressed', 'true'); 1043 } else { 1044 document.getElementById(key + 'Allowed').setAttribute('aria-pressed', 'false'); 1045 document.getElementById(key + 'Denied').setAttribute('aria-pressed', 'false'); 1046 } 1047 1048 // check if all services are allowed 1049 var sumToRemove = 0; 1050 for (index = 0; index < sum; index += 1) { 1051 1052 if (typeof s[tarteaucitron.job[index]].safeanalytic !== "undefined" && s[tarteaucitron.job[index]].safeanalytic === true) { 1053 sumToRemove += 1; 1054 continue; 1055 } 1056 1057 if (tarteaucitron.state[tarteaucitron.job[index]] === false) { 1058 nbDenied += 1; 1059 } else if (tarteaucitron.state[tarteaucitron.job[index]] === undefined) { 1060 nbPending += 1; 1061 } else if (tarteaucitron.state[tarteaucitron.job[index]] === true) { 1062 nbAllowed += 1; 1063 } 1064 } 1065 sum -= sumToRemove; 1066 1067 tarteaucitron.userInterface.css(c + 'DotGreen', 'width', ((100 / sum) * nbAllowed) + '%'); 1068 tarteaucitron.userInterface.css(c + 'DotYellow', 'width', ((100 / sum) * nbPending) + '%'); 1069 tarteaucitron.userInterface.css(c + 'DotRed', 'width', ((100 / sum) * nbDenied) + '%'); 1070 1071 if (nbDenied === 0 && nbPending === 0) { 1072 tarteaucitron.userInterface.removeClass(c + 'AllDenied', c + 'IsSelected'); 1073 tarteaucitron.userInterface.addClass(c + 'AllAllowed', c + 'IsSelected'); 1074 1075 tarteaucitron.userInterface.addClass(c + 'MainLineOffset', c + 'IsAllowed'); 1076 tarteaucitron.userInterface.removeClass(c + 'MainLineOffset', c + 'IsDenied'); 1077 1078 document.getElementById(c + 'AllDenied').setAttribute('aria-pressed', 'false'); 1079 document.getElementById(c + 'AllAllowed').setAttribute('aria-pressed', 'true'); 1080 1081 } else if (nbAllowed === 0 && nbPending === 0) { 1082 tarteaucitron.userInterface.removeClass(c + 'AllAllowed', c + 'IsSelected'); 1083 tarteaucitron.userInterface.addClass(c + 'AllDenied', c + 'IsSelected'); 1084 1085 tarteaucitron.userInterface.removeClass(c + 'MainLineOffset', c + 'IsAllowed'); 1086 tarteaucitron.userInterface.addClass(c + 'MainLineOffset', c + 'IsDenied'); 1087 1088 document.getElementById(c + 'AllDenied').setAttribute('aria-pressed', 'true'); 1089 document.getElementById(c + 'AllAllowed').setAttribute('aria-pressed', 'false'); 1090 1091 } else { 1092 tarteaucitron.userInterface.removeClass(c + 'AllAllowed', c + 'IsSelected'); 1093 tarteaucitron.userInterface.removeClass(c + 'AllDenied', c + 'IsSelected'); 1094 1095 tarteaucitron.userInterface.removeClass(c + 'MainLineOffset', c + 'IsAllowed'); 1096 tarteaucitron.userInterface.removeClass(c + 'MainLineOffset', c + 'IsDenied'); 1097 1098 document.getElementById(c + 'AllDenied').setAttribute('aria-pressed', 'false'); 1099 document.getElementById(c + 'AllAllowed').setAttribute('aria-pressed', 'false'); 1100 } 1101 1102 // close the alert if all service have been reviewed 1103 if (nbPending === 0) { 1104 tarteaucitron.userInterface.closeAlert(); 1105 } 1106 1107 if (tarteaucitron.services[key].cookies.length > 0 && status === false) { 1108 tarteaucitron.cookie.purge(tarteaucitron.services[key].cookies); 1109 } 1110 1111 if (status === true) { 1112 if (document.getElementById('tacCL' + key) !== null) { 1113 document.getElementById('tacCL' + key).innerHTML = '...'; 1114 } 1115 setTimeout(function () { 1116 tarteaucitron.cookie.checkCount(key); 1117 }, 2500); 1118 } else { 1119 tarteaucitron.cookie.checkCount(key); 1120 } 1121 1122 } 1123 1124 // groups 1125 var cats = document.querySelectorAll('[id^="tarteaucitronServicesTitle_"]') 1126 Array.prototype.forEach.call(cats, function(item) { 1127 var cat = item.getAttribute('id').replace(/^(tarteaucitronServicesTitle_)/, ""), 1128 total = document.getElementById("tarteaucitronServices_"+cat).childElementCount; 1129 var doc = document.getElementById("tarteaucitronServices_"+cat), 1130 groupdenied = 0, 1131 groupallowed = 0; 1132 for (var ii = 0; ii < doc.children.length; ii++) { 1133 if (doc.children[ii].className == "tarteaucitronLine tarteaucitronIsDenied") { 1134 groupdenied++; 1135 } 1136 if (doc.children[ii].className == "tarteaucitronLine tarteaucitronIsAllowed") { 1137 groupallowed++; 1138 } 1139 } 1140 if (total === groupallowed) { 1141 tarteaucitron.userInterface.removeClass('tarteaucitron-group-'+cat, 'tarteaucitronIsDenied'); 1142 tarteaucitron.userInterface.addClass('tarteaucitron-group-'+cat, 'tarteaucitronIsAllowed'); 1143 1144 if (document.getElementById('tarteaucitron-reject-group-'+cat)) { 1145 document.getElementById('tarteaucitron-reject-group-'+cat).setAttribute('aria-pressed', 'false'); 1146 document.getElementById('tarteaucitron-accept-group-'+cat).setAttribute('aria-pressed', 'true'); 1147 } 1148 } 1149 if (total === groupdenied) { 1150 tarteaucitron.userInterface.addClass('tarteaucitron-group-'+cat, 'tarteaucitronIsDenied'); 1151 tarteaucitron.userInterface.removeClass('tarteaucitron-group-'+cat, 'tarteaucitronIsAllowed'); 1152 1153 if (document.getElementById('tarteaucitron-reject-group-'+cat)) { 1154 document.getElementById('tarteaucitron-reject-group-'+cat).setAttribute('aria-pressed', 'true'); 1155 document.getElementById('tarteaucitron-accept-group-'+cat).setAttribute('aria-pressed', 'false'); 1156 } 1157 } 1158 if (total !== groupdenied && total !== groupallowed) { 1159 tarteaucitron.userInterface.removeClass('tarteaucitron-group-'+cat, 'tarteaucitronIsDenied'); 1160 tarteaucitron.userInterface.removeClass('tarteaucitron-group-'+cat, 'tarteaucitronIsAllowed'); 1161 1162 if (document.getElementById('tarteaucitron-reject-group-'+cat)) { 1163 document.getElementById('tarteaucitron-reject-group-'+cat).setAttribute('aria-pressed', 'false'); 1164 document.getElementById('tarteaucitron-accept-group-'+cat).setAttribute('aria-pressed', 'false'); 1165 } 1166 } 1167 groupdenied = 0; 1168 groupallowed = 0; 1169 }); 1170 1171 }, 1172 "openPanel": function () { 1173 "use strict"; 1174 1175 tarteaucitron.userInterface.css('tarteaucitron', 'display', 'block'); 1176 tarteaucitron.userInterface.css('tarteaucitronBack', 'display', 'block'); 1177 tarteaucitron.userInterface.css('tarteaucitronCookiesListContainer', 'display', 'none'); 1178 1179 document.getElementById('tarteaucitronClosePanel').focus(); 1180 if (document.getElementsByTagName('body')[0].classList !== undefined) { 1181 document.getElementsByTagName('body')[0].classList.add('tarteaucitron-modal-open'); 1182 } 1183 tarteaucitron.userInterface.focusTrap(); 1184 tarteaucitron.userInterface.jsSizing('main'); 1185 1186 //ie compatibility 1187 var tacOpenPanelEvent; 1188 if(typeof(Event) === 'function') { 1189 tacOpenPanelEvent = new Event("tac.open_panel"); 1190 }else if (typeof(document.createEvent) === 'function'){ 1191 tacOpenPanelEvent = document.createEvent('Event'); 1192 tacOpenPanelEvent.initEvent("tac.open_panel", true, true); 1193 } 1194 //end ie compatibility 1195 1196 if (typeof(window.dispatchEvent) === 'function') {window.dispatchEvent(tacOpenPanelEvent);} 1197 }, 1198 "closePanel": function () { 1199 "use strict"; 1200 1201 if (document.location.hash === tarteaucitron.hashtag) { 1202 if (window.history) { 1203 window.history.replaceState('', document.title, window.location.pathname + window.location.search); 1204 } else { 1205 document.location.hash = ''; 1206 } 1207 } 1208 tarteaucitron.userInterface.css('tarteaucitron', 'display', 'none'); 1209 tarteaucitron.userInterface.css('tarteaucitronCookiesListContainer', 'display', 'none'); 1210 1211 tarteaucitron.fallback(['tarteaucitronInfoBox'], function (elem) { 1212 elem.style.display = 'none'; 1213 }, true); 1214 1215 if (tarteaucitron.reloadThePage === true) { 1216 window.location.reload(); 1217 } else { 1218 tarteaucitron.userInterface.css('tarteaucitronBack', 'display', 'none'); 1219 } 1220 if (document.getElementById('tarteaucitronCloseAlert') !== null) { 1221 document.getElementById('tarteaucitronCloseAlert').focus(); 1222 } 1223 if (document.getElementsByTagName('body')[0].classList !== undefined) { 1224 document.getElementsByTagName('body')[0].classList.remove('tarteaucitron-modal-open'); 1225 } 1226 1227 //ie compatibility 1228 var tacClosePanelEvent; 1229 if(typeof(Event) === 'function') { 1230 tacClosePanelEvent = new Event("tac.close_panel"); 1231 }else if (typeof(document.createEvent) === 'function'){ 1232 tacClosePanelEvent = document.createEvent('Event'); 1233 tacClosePanelEvent.initEvent("tac.close_panel", true, true); 1234 } 1235 //end ie compatibility 1236 1237 if (typeof(window.dispatchEvent) === 'function') {window.dispatchEvent(tacClosePanelEvent);} 1238 }, 1239 "focusTrap": function() { 1240 "use strict"; 1241 1242 var focusableEls, 1243 firstFocusableEl, 1244 lastFocusableEl, 1245 filtered; 1246 1247 focusableEls = document.getElementById('tarteaucitron').querySelectorAll('a[href], button'); 1248 filtered = []; 1249 1250 // get only visible items 1251 for (var i = 0, max = focusableEls.length; i < max; i++) { 1252 if (focusableEls[i].offsetHeight > 0) { 1253 filtered.push(focusableEls[i]); 1254 } 1255 } 1256 1257 firstFocusableEl = filtered[0]; 1258 lastFocusableEl = filtered[filtered.length - 1]; 1259 1260 //loop focus inside tarteaucitron 1261 document.getElementById('tarteaucitron').addEventListener("keydown", function (evt) { 1262 1263 if ( evt.key === 'Tab' || evt.keyCode === 9 ) { 1264 1265 if ( evt.shiftKey ) /* shift + tab */ { 1266 if (document.activeElement === firstFocusableEl) { 1267 lastFocusableEl.focus(); 1268 evt.preventDefault(); 1269 } 1270 } else /* tab */ { 1271 if (document.activeElement === lastFocusableEl) { 1272 firstFocusableEl.focus(); 1273 evt.preventDefault(); 1274 } 1275 } 1276 } 1277 }) 1278 }, 1279 "openAlert": function () { 1280 "use strict"; 1281 var c = 'tarteaucitron'; 1282 tarteaucitron.userInterface.css(c + 'Percentage', 'display', 'block'); 1283 tarteaucitron.userInterface.css(c + 'AlertSmall', 'display', 'none'); 1284 tarteaucitron.userInterface.css(c + 'Icon', 'display', 'none'); 1285 tarteaucitron.userInterface.css(c + 'AlertBig', 'display', 'block'); 1286 tarteaucitron.userInterface.addClass(c + 'Root', 'tarteaucitronBeforeVisible'); 1287 1288 //ie compatibility 1289 var tacOpenAlertEvent; 1290 if(typeof(Event) === 'function') { 1291 tacOpenAlertEvent = new Event("tac.open_alert"); 1292 }else if (typeof(document.createEvent) === 'function'){ 1293 tacOpenAlertEvent = document.createEvent('Event'); 1294 tacOpenAlertEvent.initEvent("tac.open_alert", true, true); 1295 } 1296 //end ie compatibility 1297 1298 if (document.getElementById('tarteaucitronAlertBig') !== null) { 1299 document.getElementById('tarteaucitronAlertBig').focus(); 1300 } 1301 1302 if (typeof(window.dispatchEvent) === 'function') {window.dispatchEvent(tacOpenAlertEvent);} 1303 }, 1304 "closeAlert": function () { 1305 "use strict"; 1306 var c = 'tarteaucitron'; 1307 tarteaucitron.userInterface.css(c + 'Percentage', 'display', 'none'); 1308 tarteaucitron.userInterface.css(c + 'AlertSmall', 'display', 'block'); 1309 tarteaucitron.userInterface.css(c + 'Icon', 'display', 'block'); 1310 tarteaucitron.userInterface.css(c + 'AlertBig', 'display', 'none'); 1311 tarteaucitron.userInterface.removeClass(c + 'Root', 'tarteaucitronBeforeVisible'); 1312 tarteaucitron.userInterface.jsSizing('box'); 1313 1314 //ie compatibility 1315 var tacCloseAlertEvent; 1316 if(typeof(Event) === 'function') { 1317 tacCloseAlertEvent = new Event("tac.close_alert"); 1318 }else if (typeof(document.createEvent) === 'function'){ 1319 tacCloseAlertEvent = document.createEvent('Event'); 1320 tacCloseAlertEvent.initEvent("tac.close_alert", true, true); 1321 } 1322 //end ie compatibility 1323 1324 if (typeof(window.dispatchEvent) === 'function') {window.dispatchEvent(tacCloseAlertEvent);} 1325 }, 1326 "toggleCookiesList": function () { 1327 "use strict"; 1328 var div = document.getElementById('tarteaucitronCookiesListContainer'); 1329 1330 if (div === null) { 1331 return; 1332 } 1333 1334 if (div.style.display !== 'block') { 1335 tarteaucitron.cookie.number(); 1336 div.style.display = 'block'; 1337 tarteaucitron.userInterface.jsSizing('cookie'); 1338 tarteaucitron.userInterface.css('tarteaucitron', 'display', 'none'); 1339 tarteaucitron.userInterface.css('tarteaucitronBack', 'display', 'block'); 1340 tarteaucitron.fallback(['tarteaucitronInfoBox'], function (elem) { 1341 elem.style.display = 'none'; 1342 }, true); 1343 } else { 1344 div.style.display = 'none'; 1345 tarteaucitron.userInterface.css('tarteaucitron', 'display', 'none'); 1346 tarteaucitron.userInterface.css('tarteaucitronBack', 'display', 'none'); 1347 } 1348 }, 1349 "toggle": function (id, closeClass) { 1350 "use strict"; 1351 var div = document.getElementById(id); 1352 1353 if (div === null) { 1354 return; 1355 } 1356 1357 if (closeClass !== undefined) { 1358 tarteaucitron.fallback([closeClass], function (elem) { 1359 if (elem.id !== id) { 1360 elem.style.display = 'none'; 1361 } 1362 }, true); 1363 } 1364 1365 if (div.style.display !== 'block') { 1366 div.style.display = 'block'; 1367 } else { 1368 div.style.display = 'none'; 1369 } 1370 }, 1371 "order": function (id) { 1372 "use strict"; 1373 var main = document.getElementById('tarteaucitronServices_' + id), 1374 allDivs, 1375 store = [], 1376 i; 1377 1378 if (main === null) { 1379 return; 1380 } 1381 1382 allDivs = main.childNodes; 1383 1384 if (typeof Array.prototype.map === 'function' && typeof Enumerable === 'undefined') { 1385 Array.prototype.map.call(main.children, Object).sort(function (a, b) { 1386 //var mainChildren = Array.from(main.children); 1387 //mainChildren.sort(function (a, b) { 1388 if (tarteaucitron.services[a.id.replace(/Line/g, '')].name > tarteaucitron.services[b.id.replace(/Line/g, '')].name) { return 1; } 1389 if (tarteaucitron.services[a.id.replace(/Line/g, '')].name < tarteaucitron.services[b.id.replace(/Line/g, '')].name) { return -1; } 1390 return 0; 1391 }
1391).forEach(function (element) { 1392 main.appendChild(element); 1393 }); 1394 } 1395 }, 1396 "jsSizing": function (type) { 1397 "use strict"; 1398 var scrollbarMarginRight = 10, 1399 scrollbarWidthParent, 1400 scrollbarWidthChild, 1401 servicesHeight, 1402 e = window, 1403 a = 'inner', 1404 windowInnerHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight, 1405 mainTop, 1406 mainHeight, 1407 closeButtonHeight, 1408 headerHeight, 1409 cookiesListHeight, 1410 cookiesCloseHeight, 1411 cookiesTitleHeight, 1412 paddingBox, 1413 alertSmallHeight, 1414 cookiesNumberHeight; 1415 1416 if (type === 'box') { 1417 if (document.getElementById('tarteaucitronAlertSmall') !== null && document.getElementById('tarteaucitronCookiesNumber') !== null) { 1418 1419 // reset 1420 tarteaucitron.userInterface.css('tarteaucitronCookiesNumber', 'padding', '0px 10px'); 1421 1422 // calculate 1423 alertSmallHeight = document.getElementById('tarteaucitronAlertSmall').offsetHeight; 1424 cookiesNumberHeight = document.getElementById('tarteaucitronCookiesNumber').offsetHeight; 1425 paddingBox = (alertSmallHeight - cookiesNumberHeight) / 2; 1426 1427 // apply 1428 tarteaucitron.userInterface.css('tarteaucitronCookiesNumber', 'padding', paddingBox + 'px 10px'); 1429 } 1430 } else if (type === 'main') { 1431 1432 // get the real window width for media query 1433 if (window.innerWidth === undefined) { 1434 a = 'client'; 1435 e = document.documentElement || document.body; 1436 } 1437 1438 // height of the services list container 1439 if (document.getElementById('tarteaucitron') !== null && document.getElementById('tarteaucitronClosePanel') !== null && document.getElementById('tarteaucitronMainLineOffset') !== null) { 1440 1441 // reset 1442 tarteaucitron.userInterface.css('tarteaucitronServices', 'height', 'auto'); 1443 1444 // calculate 1445 mainHeight = document.getElementById('tarteaucitron').offsetHeight; 1446 closeButtonHeight = document.getElementById('tarteaucitronClosePanel').offsetHeight; 1447 1448 // apply 1449 servicesHeight = (mainHeight - closeButtonHeight + 2); 1450 tarteaucitron.userInterface.css('tarteaucitronServices', 'height', servicesHeight + 'px'); 1451 tarteaucitron.userInterface.css('tarteaucitronServices', 'overflow-x', 'auto'); 1452 } 1453 1454 // align the main allow/deny button depending on scrollbar width 1455 if (document.getElementById('tarteaucitronServices') !== null && document.getElementById('tarteaucitronScrollbarChild') !== null) { 1456 1457 // media query 1458 if (e[a + 'Width'] <= 479) { 1459 //tarteaucitron.userInterface.css('tarteaucitronScrollbarAdjust', 'marginLeft', '11px'); 1460 } else if (e[a + 'Width'] <= 767) { 1461 scrollbarMarginRight = 12; 1462 } 1463 1464 scrollbarWidthParent = document.getElementById('tarteaucitronServices').offsetWidth; 1465 scrollbarWidthChild = document.getElementById('tarteaucitronScrollbarChild').offsetWidth; 1466 //tarteaucitron.userInterface.css('tarteaucitronScrollbarAdjust', 'marginRight', ((scrollbarWidthParent - scrollbarWidthChild) + scrollbarMarginRight) + 'px'); 1467 } 1468 1469 // center the main panel 1470 if (document.getElementById('tarteaucitron') !== null) { 1471 1472 // media query 1473 if (e[a + 'Width'] <= 767) { 1474 mainTop = 0; 1475 } else { 1476 mainTop = ((windowInnerHeight - document.getElementById('tarteaucitron').offsetHeight) / 2) - 21; 1477 } 1478 1479 if (document.getElementById('tarteaucitronMainLineOffset') !== null) { 1480 if (document.getElementById('tarteaucitron').offsetHeight < (windowInnerHeight / 2)) { 1481 mainTop -= document.getElementById('tarteaucitronMainLineOffset').offsetHeight; 1482 } 1483 } 1484 1485 // correct 1486 if (mainTop < 0) { 1487 mainTop = 0; 1488 } 1489 1490 // apply 1491 tarteaucitron.userInterface.css('tarteaucitron', 'top', mainTop + 'px'); 1492 } 1493 1494 1495 } else if (type === 'cookie') { 1496 1497 // put cookies list at bottom 1498 if (document.getElementById('tarteaucitronAlertSmall') !== null) { 1499 tarteaucitron.userInterface.css('tarteaucitronCookiesListContainer', 'bottom', (document.getElementById('tarteaucitronAlertSmall').offsetHeight) + 'px'); 1500 } 1501 1502 // height of cookies list 1503 if (document.getElementById('tarteaucitronCookiesListContainer') !== null) { 1504 1505 // reset 1506 tarteaucitron.userInterface.css('tarteaucitronCookiesList', 'height', 'auto'); 1507 1508 // calculate 1509 cookiesListHeight = document.getElementById('tarteaucitronCookiesListContainer').offsetHeight; 1510 cookiesCloseHeight = document.getElementById('tarteaucitronClosePanelCookie').offsetHeight; 1511 cookiesTitleHeight = document.getElementById('tarteaucitronCookiesTitle').offsetHeight; 1512 1513 // apply 1514 tarteaucitron.userInterface.css('tarteaucitronCookiesList', 'height', (cookie
vendor: 9,899 bytes, lines 1514-1717
1514sListHeight - cookiesCloseHeight - cookiesTitleHeight - 2) + 'px'); 1515 } 1516 } 1517 } 1518 }, 1519 "cookie": { 1520 "owner": {}, 1521 "create": function (key, status) { 1522 "use strict"; 1523 1524 if (tarteaucitronForceExpire !== '') { 1525 // The number of day(s)/hour(s) can't be higher than 1 year 1526 if ((tarteaucitronExpireInDay && tarteaucitronForceExpire < 365) || (!tarteaucitronExpireInDay && tarteaucitronForceExpire < 8760)) { 1527 if (tarteaucitronExpireInDay) { 1528 // Multiplication to tranform the number of days to milliseconds 1529 timeExpire = tarteaucitronForceExpire * 86400000; 1530 } else { 1531 // Multiplication to tranform the number of hours to milliseconds 1532 timeExpire = tarteaucitronForceExpire * 3600000; 1533 } 1534 } 1535 } 1536 1537 var d = new Date(), 1538 time = d.getTime(), 1539 expireTime = time + timeExpire, // 365 days 1540 regex = new RegExp("!" + key + "=(wait|true|false)", "g"), 1541 cookie = tarteaucitron.cookie.read().replace(regex, ""), 1542 value = tarteaucitron.parameters.cookieName + '=' + cookie + '!' + key + '=' + status, 1543 domain = (tarteaucitron.parameters.cookieDomain !== undefined && tarteaucitron.parameters.cookieDomain !== '') ? '; domain=' + tarteaucitron.parameters.cookieDomain : '', 1544 secure = location.protocol === 'https:' ? '; Secure' : ''; 1545 1546 d.setTime(expireTime); 1547 document.cookie = value + '; expires=' + d.toGMTString() + '; path=/' + domain + secure + '; samesite=lax'; 1548 }, 1549 "read": function () { 1550 "use strict"; 1551 var nameEQ = tarteaucitron.parameters.cookieName + "=", 1552 ca = document.cookie.split(';'), 1553 i, 1554 c; 1555 1556 for (i = 0; i < ca.length; i += 1) { 1557 c = ca[i]; 1558 while (c.charAt(0) === ' ') { 1559 c = c.substring(1, c.length); 1560 } 1561 if (c.indexOf(nameEQ) === 0) { 1562 return c.substring(nameEQ.length, c.length); 1563 } 1564 } 1565 return ''; 1566 }, 1567 "purge": function (arr) { 1568 "use strict"; 1569 var i; 1570 1571 for (i = 0; i < arr.length; i += 1) { 1572 1573 var rgxpCookie = new RegExp("^(.*;)?\\s*" + arr[i] + "\\s*=\\s*[^;]+(.*)?$"); 1574 if (document.cookie.match(rgxpCookie)) { 1575 document.cookie = arr[i] + '=; expires=Thu, 01 Jan 2000 00:00:00 GMT; path=/;'; 1576 document.cookie = arr[i] + '=; expires=Thu, 01 Jan 2000 00:00:00 GMT; path=/; domain=.' + location.hostname + ';'; 1577 document.cookie = arr[i] + '=; expires=Thu, 01 Jan 2000 00:00:00 GMT; path=/; domain=.' + location.hostname.split('.').slice(-2).join('.') + ';'; 1578 } 1579 } 1580 }, 1581 "checkCount": function (key) { 1582 "use strict"; 1583 var arr = tarteaucitron.services[key].cookies, 1584 nb = arr.length, 1585 nbCurrent = 0, 1586 html = '', 1587 i, 1588 status = document.cookie.indexOf(key + '=true'); 1589 1590 if (status >= 0 && nb === 0) { 1591 html += tarteaucitron.lang.useNoCookie; 1592 } else if (status >= 0) { 1593 for (i = 0; i < nb; i += 1) { 1594 if (document.cookie.indexOf(arr[i] + '=') !== -1) { 1595 nbCurrent += 1; 1596 if (tarteaucitron.cookie.owner[arr[i]] === undefined) { 1597 tarteaucitron.cookie.owner[arr[i]] = []; 1598 } 1599 if (tarteaucitron.cookie.crossIndexOf(tarteaucitron.cookie.owner[arr[i]], tarteaucitron.services[key].name) === false) { 1600 tarteaucitron.cookie.owner[arr[i]].push(tarteaucitron.services[key].name); 1601 } 1602 } 1603 } 1604 1605 if (nbCurrent > 0) { 1606 html += tarteaucitron.lang.useCookieCurrent + ' ' + nbCurrent + ' cookie'; 1607 if (nbCurrent > 1) { 1608 html += 's'; 1609 } 1610 html += '.'; 1611 } else { 1612 html += tarteaucitron.lang.useNoCookie; 1613 } 1614 } else if (nb === 0) { 1615 html = tarteaucitron.lang.noCookie; 1616 } else { 1617 html += tarteaucitron.lang.useCookie + ' ' + nb + ' cookie'; 1618 if (nb > 1) { 1619 html += 's'; 1620 } 1621 html += '.'; 1622 } 1623 1624 if (document.getElementById('tacCL' + key) !== null) { 1625 document.getElementById('tacCL' + key).innerHTML = html; 1626 } 1627 }, 1628 "crossIndexOf": function (arr, match) { 1629 "use strict"; 1630 var i; 1631 for (i = 0; i < arr.length; i += 1) { 1632 if (arr[i] === match) { 1633 return true; 1634 } 1635 } 1636 return false; 1637 }, 1638 "number": function () { 1639 "use strict"; 1640 var cookies = document.cookie.split(';'), 1641 nb = (document.cookie !== '') ? cookies.length : 0, 1642 html = '', 1643 i, 1644 name, 1645 namea, 1646 nameb, 1647 c, 1648 d, 1649 s = (nb > 1) ? 's' : '', 1650 savedname, 1651 regex = /^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i, 1652 regexedDomain = (tarteaucitron.cdn.match(regex) !== null) ? tarteaucitron.cdn.match(regex)[1] : tarteaucitron.cdn, 1653 host = (tarteaucitron.domain !== undefined) ? tarteaucitron.domain : regexedDomain; 1654 1655 cookies = cookies.sort(function (a, b) { 1656 namea = a.split('=', 1).toString().replace(/ /g, ''); 1657 nameb = b.split('=', 1).toString().replace(/ /g, ''); 1658 c = (tarteaucitron.cookie.owner[namea] !== undefined) ? tarteaucitron.cookie.owner[namea] : '0'; 1659 d = (tarteaucitron.cookie.owner[nameb] !== undefined) ? tarteaucitron.cookie.owner[nameb] : '0'; 1660 if (c + a > d + b) { return 1; } 1661 if (c + a < d + b) { return -1; } 1662 return 0; 1663 }); 1664 1665 if (document.cookie !== '') { 1666 for (i = 0; i < nb; i += 1) { 1667 name = cookies[i].split('=', 1).toString().replace(/ /g, ''); 1668 if (tarteaucitron.cookie.owner[name] !== undefined && tarteaucitron.cookie.owner[name].join(' // ') !== savedname) { 1669 savedname = tarteaucitron.cookie.owner[name].join(' // '); 1670 html += '<div class="tarteaucitronHidden">'; 1671 html += ' <span class="tarteaucitronTitle tarteaucitronH3" role="heading" aria-level="3">'; 1672 html += ' ' + tarteaucitron.cookie.owner[name].join(' // '); 1673 html += ' </span>'; 1674 html += '</div><ul class="cookie-list">'; 1675 } else if (tarteaucitron.cookie.owner[name] === undefined && host !== savedname) { 1676 savedname = host; 1677 html += '<div class="tarteaucitronHidden">'; 1678 html += ' <span class="tarteaucitronTitle tarteaucitronH3" role="heading" aria-level="3">'; 1679 html += ' ' + host; 1680 html += ' </span>'; 1681 html += '</div><ul class="cookie-list">'; 1682 } 1683 html += '<li class="tarteaucitronCookiesListMain">'; 1684 html += ' <div class="tarteaucitronCookiesListLeft"><button type="button" class="purgeBtn" data-cookie="' + tarteaucitron.fixSelfXSS(cookies[i].split('=', 1)) + '"><strong>×</strong></button> <strong>' + tarteaucitron.fixSelfXSS(name) + '</strong>'; 1685 html += ' </div>'; 1686 html += ' <div class="tarteaucitronCookiesListRight">' + tarteaucitron.fixSelfXSS(cookies[i].split('=').slice(1).join('=')) + '</div>'; 1687 html += '</li>'; 1688 } 1689 html += '</ul>'; 1690 } else { 1691 html += '<div class="tarteaucitronCookiesListMain">'; 1692 html += ' <div class="tarteaucitronCookiesListLeft"><strong>-</strong></div>'; 1693 html += ' <div class="tarteaucitronCookiesListRight"></div>'; 1694 html += '</div>'; 1695 } 1696 1697 html += '<div class="tarteaucitronHidden tarteaucitron-spacer-20"></div>'; 1698 1699 if (document.getElementById('tarteaucitronCookiesList') !== null) { 1700 document.getElementById('tarteaucitronCookiesList').innerHTML = html; 1701 } 1702 1703 if (document.getElementById('tarteaucitronCookiesNumber') !== null) { 1704 document.getElementById('tarteaucitronCookiesNumber').innerHTML = nb; 1705 } 1706 1707 if (document.getElementById('tarteaucitronCookiesNumberBis') !== null) { 1708 document.getElementById('tarteaucitronCookiesNumberBis').innerHTML = nb + ' cookie' + s; 1709 } 1710 1711 var purgeBtns = document.getElementsByClassName("purgeBtn"); 1712 for (i = 0; i < purgeBtns.length; i++) { 1713 tarteaucitron.addClickEventToElement(purgeBtns[i], function () { 1714 tarteaucitron.cookie.purge([this.dataset.cookie]); 1715 tarteaucitron.cookie.number(); 1716 tarteaucitron.userInterface.jsSizing('cookie'); 1717 return false;
1718 }); 1719 } 1720 1721 for (i = 0; i < tarteaucitron.job.length; i += 1) { 1722 tarteaucitron.cookie.checkCount(tarteaucitron.job[i]); 1723 } 1724 } 1725 }, 1726 "fixSelfXSS": function(html) { 1727 return html.toString().replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'"); 1728 }, 1729 "getLanguage": function () { 1730 "use strict"; 1731 1732 var availableLanguages = 'bg,ca,cn,cs,da,de,el,en,es,fi,fr,hu,it,ja,lt,lv,nl,no,oc,pl,pt,ro,ru,se,sk,sv,tr,vi,zh', 1733 defaultLanguage = 'en'; 1734 1735 if (tarteaucitronForceLanguage !== '') { 1736 if (availableLanguages.indexOf(tarteaucitronForceLanguage) !== -1) { 1737 return tarteaucitronForceLanguage; 1738 } 1739 } 1740 1741 if (!navigator) { return 'en'; } 1742 1743 var lang = navigator.language || navigator.browserLanguage || 1744 navigator.systemLanguage || navigator.userLang || null, 1745 userLanguage = lang ? lang.substr(0, 2) : null; 1746 1747 if (availableLanguages.indexOf(userLanguage) === -1) { 1748 return defaultLanguage; 1749 } 1750 return userLanguage; 1751 }, 1752 "getLocale": function () { 1753 "use strict"; 1754 if (!navigator) { return 'en_US'; } 1755 1756 var lang = navigator.language || navigator.browserLanguage || 1757 navigator.systemLanguage || navigator.userLang || null, 1758 userLanguage = lang ? lang.substr(0, 2) : null; 1759 1760 if (userLanguage === 'fr') { 1761 return 'fr_FR'; 1762 } else if (userLanguage === 'en') { 1763 return 'en_US'; 1764 } else if (userLanguage === 'de') { 1765 return 'de_DE'; 1766 } else if (userLanguage === 'es') { 1767 return 'es_ES'; 1768 } else if (userLanguage === 'it') { 1769 return 'it_IT'; 1770 } else if (userLanguage === 'pt') { 1771 return 'pt_PT'; 1772 } else if (userLanguage === 'nl') { 1773 return 'nl_NL'; 1774 } else if (userLanguage === 'el') { 1775 return 'el_EL'; 1776 } else { 1777 return 'en_US'; 1778 } 1779 }, 1780 "addScript": function (url, id, callback, execute, attrName, attrVal, internal) { 1781 "use strict"; 1782 var script, 1783 done = false; 1784 1785 if (execute === false) { 1786 if (typeof callback === 'function') { 1787 callback(); 1788 } 1789 } else { 1790 script = document.createElement('script'); 1791 script.id = (id !== undefined) ? id : ''; 1792 script.async = true; 1793 script.src = url; 1794 1795 if (attrName !== undefined && attrVal !== undefined) { 1796 script.setAttribute(attrName, attrVal); 1797 } 1798 1799 if (typeof callback === 'function') { 1800 if ( !tarteaucitron.parameters.useExternalJs || !internal ) { 1801 script.onreadystatechange = script.onload = function () { 1802 var state = script.readyState; 1803 if (!done && (!state || /loaded|complete/.test(state))) { 1804 done = true; 1805 callback(); 1806 } 1807 }; 1808 } else { 1809 callback(); 1810 } 1811 } 1812 1813 if ( !tarteaucitron.parameters.useExternalJs || !internal ) { 1814 document.getElementsByTagName('head')[0].appendChild(script); 1815 } 1816 } 1817 }, 1818 "addInternalScript": function (url, id, callback, execute, attrName, attrVal) { 1819 tarteaucitron.addScript(url, id, callback, execute, attrName, attrVal, true); 1820 }, 1821 "makeAsync": { 1822 "antiGhost": 0, 1823 "buffer": '', 1824 "init": function (url, id) { 1825 "use strict"; 1826 var savedWrite = document.write, 1827 savedWriteln = document.writeln; 1828 1829 document.write = function (content) { 1830 tarteaucitron.makeAsync.buffer += content; 1831 }; 1832 document.writeln = function (content) { 1833 tarteaucitron.makeAsync.buffer += content.concat("\n"); 1834 }; 1835 1836 setTimeout(function () { 1837 document.write = savedWrite;
1838 document.writeln = savedWriteln; 1839 }, 20000); 1840 1841 tarteaucitron.makeAsync.getAndParse(url, id); 1842 }, 1843 "getAndParse": function (url, id) { 1844 "use strict"; 1845 if (tarteaucitron.makeAsync.antiGhost > 9) { 1846 tarteaucitron.makeAsync.antiGhost = 0; 1847 return; 1848 } 1849 tarteaucitron.makeAsync.antiGhost += 1; 1850 tarteaucitron.addInternalScript(url, '', function () { 1851 if (document.getElementById(id) !== null) { 1852 document.getElementById(id).innerHTML += "<span class='tarteaucitron-display-none'> </span>" + tarteaucitron.makeAsync.buffer; 1853 tarteaucitron.makeAsync.buffer = ''; 1854 tarteaucitron.makeAsync.execJS(id); 1855 } 1856 }); 1857 }, 1858 "execJS": function (id) { 1859 /* not strict because third party scripts may have errors */ 1860 var i, 1861 scripts, 1862 childId, 1863 type; 1864 1865 if (document.getElementById(id) === null) { 1866 return; 1867 } 1868 1869 scripts = document.getElementById(id).getElementsByTagName('script'); 1870 for (i = 0; i < scripts.length; i += 1) { 1871 type = (scripts[i].getAttribute('type') !== null) ? scripts[i].getAttribute('type') : ''; 1872 if (type === '') { 1873 type = (scripts[i].getAttribute('language') !== null) ? scripts[i].getAttribute('language') : ''; 1874 } 1875 if (scripts[i].getAttribute('src') !== null && scripts[i].getAttribute('src') !== '') { 1876 childId = id + Math.floor(Math.random() * 99999999999); 1877 document.getElementById(id).innerHTML += '<div id="' + childId + '"></div>'; 1878 tarteaucitron.makeAsync.getAndParse(scripts[i].getAttribute('src'), childId); 1879 } else if (type.indexOf('javascript') !== -1 || type === '') { 1880 eval(scripts[i].innerHTML); 1881 } 1882 } 1883 } 1884 }, 1885 "fallback": function (matchClass, content, noInner) { 1886 "use strict"; 1887 var elems = document.getElementsByTagName('*'), 1888 i, 1889 index = 0; 1890 1891 for (i in elems) { 1892 if (elems[i] !== undefined) { 1893 for (index = 0; index < matchClass.length; index += 1) { 1894 if ((' ' + elems[i].className + ' ') 1895 .indexOf(' ' + matchClass[index] + ' ') > -1) { 1896 if (typeof content === 'function') { 1897 if (noInner === true) { 1898 content(elems[i]); 1899 } else { 1900 elems[i].innerHTML = content(elems[i]); 1901 } 1902 } else { 1903 elems[i].innerHTML = content; 1904 } 1905 } 1906 } 1907 } 1908 } 1909 }, 1910 "engage": function (id) { 1911 "use strict"; 1912 var html = '', 1913 r = Math.floor(Math.random() * 100000), 1914 engage = tarteaucitron.services[id].name + ' ' + tarteaucitron.lang.fallback; 1915 1916 if (tarteaucitron.lang['engage-' + id] !== undefined) { 1917 engage = tarteaucitron.lang['engage-' + id]; 1918 } 1919 1920 html += '<div class="tac_activate tac_activate_' + id + '">'; 1921 html += ' <div class="tac_float">'; 1922 html += ' ' + engage; 1923 html += ' <button type="button" class="tarteaucitronAllow" id="Eng' + r + 'ed' + id + '">'; 1924 html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allow; 1925 html += ' </button>'; 1926 html += ' </div>'; 1927 html += '</div>'; 1928 1929 return html; 1930 }, 1931 "extend": function (a, b) { 1932 "use strict"; 1933 var prop; 1934 for (prop in b) { 1935 if (b.hasOwnProperty(prop)) { 1936 a[prop] = b[prop]; 1937 } 1938 } 1939 }, 1940 "proTemp": '', 1941 "proTimer": function () { 1942 "use strict"; 1943 setTimeout(tarteaucitron.proPing, 500); 1944 }, 1945 "pro": function (list) { 1946 "use strict"; 1947 tarteaucitron.proTemp += list; 1948 clearTimeout(tarteaucitron.proTimer); 1949 tarteaucitron.proTimer = setTimeout(tarteaucitron.proPing, 500); 1950 }, 1951 "proPing": function () { 1952 "use strict"; 1953 if (tarteaucitron.uuid !== '' && tarteaucitron.uuid !== undefined && tarteaucitron.proTemp !== '' && tarteaucitronStatsEnabled) { 1954 var div = document.getElementById('tarteaucitronPremium'), 1955 timestamp = new Date().getTime(), 1956 url = 'https://tarteaucitron.io/log/?'; 1957 1958 if (div === null) { 1959 return; 1960 } 1961 1962 url += 'account=' + tarteaucitron.uuid + '&'; 1963 url += 'domain=' + tarteaucitron.domain + '&'; 1964 url += 'status=' + encodeURIComponent(tarteaucitron.proTemp) + '&'; 1965 url += '_time=' + timestamp; 1966 1967 div.innerHTML = '<img src="' + url + '" class="tarteaucitron-display-none" alt="" />'; 1968 1969 tarteaucitron.proTemp = ''; 1970 } 1971 1972 tarteaucitron.cookie.number(); 1973 }, 1974 "AddOrUpdate" : function(source, custom){ 1975 /** 1976 Utility function to Add or update the fields of obj1 with the ones in obj2 1977 */ 1978 for(var key in custom){ 1979 if(custom[key] instanceof Object){ 1980 source[key] = tarteaucitron.AddOrUpdate(source[key], custom[key]); 1981 }else{ 1982 source[key] = custom[key]; 1983 } 1984 } 1985 return source; 1986 }, 1987 "getElemWidth": function(elem) { 1988 return elem.getAttribute('width') || elem.clientWidth; 1989 }, 1990 "getElemHeight": function(elem) { 1991 return elem.getAttribute('height') || elem.clientHeight; 1992 }, 1993 "addClickEventToId": function (elemId, func) { 1994 tarteaucitron.addClickEventToElement(document.getElementById(elemId), func); 1995 }, 1996 "addClickEventToElement": function (e, func) { 1997 if (e) { 1998 if (e.addEventListener) { 1999 e.addEventListener("click", func); 2000 } else { 2001 e.attachEvent("onclick", func); 2002 } 2003 } 2004 }, 2005 "triggerJobsAfterAjaxCall": function() { 2006 tarteaucitron.job.forEach(function(e) { tarteaucitron.job.push(e) }); 2007 var i; 2008 var allowBtns = document.getElementsByClassName("tarteaucitronAllow"); 2009 for (i = 0; i < allowBtns.length; i++) { 2010 tarteaucitron.addClickEventToElement(allowBtns[i], function () { 2011 tarteaucitron.userInterface.respond(this, true); 2012 }); 2013 } 2014 var denyBtns = document.getElementsByClassName("tarteaucitronDeny"); 2015 for (i = 0; i < denyBtns.length; i++) { 2016 tarteaucitron.addClickEventToElement(denyBtns[i], function () { 2017 tarteaucitron.userInterface.respond(this, false); 2018 }); 2019 } 2020 } 2021}; 2022; 2023/*global tarteaucitron, ga, Shareaholic, stLight, clicky, top, google, Typekit, FB, ferankReady, IN, stButtons, twttr, PCWidget*/ 2024/*jslint regexp: true, nomen: true*/ 2025 2026// generic iframe 2027tarteaucitron.services.iframe = {
2028 "key": "iframe", 2029 "type": "other", 2030 "name": "Web content", 2031 "uri": "", 2032 "needConsent": true, 2033 "cookies": [], 2034 "js": function () { 2035 "use strict"; 2036 tarteaucitron.fallback(['tac_iframe'], function (x) { 2037 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title")), 2038 width = x.getAttribute("width"), 2039 height = x.getAttribute("height"), 2040 allowfullscreen = x.getAttribute("allowfullscreen"), 2041 url = x.getAttribute("data-url"); 2042 2043 return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 2044 }); 2045 }, 2046 "fallback": function () { 2047 "use strict"; 2048 var id = 'iframe'; 2049 tarteaucitron.fallback(['tac_iframe'], function (elem) { 2050 elem.style.width = elem.getAttribute('width') + 'px'; 2051 elem.style.height = elem.getAttribute('height') + 'px'; 2052 return tarteaucitron.engage(id); 2053 }); 2054 } 2055}; 2056 2057 2058// elfsight 2059tarteaucitron.services.elfsight = { 2060 "key": "elfsight", 2061 "type": "support", 2062 "name": "Elfsight", 2063 "uri": "https://elfsight.com/privacy-policy/", 2064 "needConsent": true, 2065 "cookies": ['__cfduid', '_p_hfp_client_id', 'session_id'], 2066 "js": function () { 2067 "use strict"; 2068 2069 tarteaucitron.addScript('https://apps.elfsight.com/p/platform.js'); 2070 } 2071}; 2072 2073// plezi 2074tarteaucitron.services.plezi = { 2075 "key": "plezi", 2076 "type": "analytic", 2077 "name": "Plezi", 2078 "uri": "https://www.plezi.co/fr/mentions-legales/", 2079 "needConsent": true, 2080 "cookies": [], 2081 "js": function () { 2082 "use strict"; 2083 2084 if (tarteaucitron.user.pleziTenant === undefined || tarteaucitron.user.pleziTw === undefined) { 2085 return; 2086 } 2087 2088 tarteaucitron.addScript('https://app.plezi.co/scripts/ossleads_analytics.js?tenant=' + tarteaucitron.user.pleziTenant + '&tw=' + tarteaucitron.user.pleziTw); 2089 } 2090}; 2091 2092 2093// smartsupp 2094tarteaucitron.services.smartsupp = { 2095 "key": "smartsupp", 2096 "type": "support", 2097 "name": "Smartsupp", 2098 "uri": "https://www.smartsupp.com/help/privacy/", 2099 "needConsent": true, 2100 "cookies": ['ssupp.vid', 'ssupp.visits', 'AWSALB', 'AWSALBCORS'], 2101 "js": function () { 2102 "use strict"; 2103 2104 if (tarteaucitron.user.smartsuppKey === undefined) { 2105 return; 2106 } 2107 2108 window._smartsupp = window._smartsupp || {}; 2109 window._smartsupp.key = tarteaucitron.user.smartsuppKey; 2110 window.smartsupp = function() { 2111 window.smartsupp._.push(arguments) 2112 }; 2113 window.smartsupp._ = []; 2114 2115 tarteaucitron.addScript('https://www.smartsuppchat.com/loader.js'); 2116 } 2117}; 2118 2119 2120 2121// sharpspring 2122tarteaucitron.services.sharpspring = { 2123 "key": "sharpspring", 2124 "type": "analytic", 2125 "name": "SharpSpring", 2126 "uri": "https://sharpspring.com/legal/sharpspring-cookie-policy/", 2127 "needConsent": true, 2128 "cookies": ['koitk', '__ss', '__ss_tk', '__ss_referrer'], 2129 "js": function () { 2130 "use strict"; 2131 2132 if (tarteaucitron.user.ssId === undefined || tarteaucitron.user.ssAccount === undefined) { 2133 return; 2134 } 2135 2136 window._ss = window._ss || []; 2137 window._ss.push(['_setDomain', 'https://' + tarteaucitron.user.ssId + '.marketingautomation.services/net']); 2138 window._ss.push(['_setAccount', tarteaucitron.user.ssAccount]); 2139 window._ss.push(['_trackPageView']); 2140 2141 window._pa = window._pa || {}; 2142 2143 tarteaucitron.addScript('https://' + tarteaucitron.user.ssId + '.marketingautomation.services/client/ss.js'); 2144 } 2145}; 2146 2147// pardot 2148tarteaucitron.services.pardot = { 2149 "key": "pardot", 2150 "type": "analytic", 2151 "name": "Pardot", 2152 "uri": "https://www.salesforce.com/company/privacy/full_privacy/", 2153 "needConsent": true, 2154 "cookies": ['visitor_id'], 2155 "js": function () { 2156 "use strict"; 2157 if (tarteaucitron.user.piAId === undefined || tarteaucitron.user.piCId === undefined) { 2158 return; 2159 } 2160 2161 window.piAId = tarteaucitron.user.piAId; 2162 window.piCId = tarteaucitron.user.piCId; 2163 window.piHostname = 'pi.pardot.com'; 2164 2165 tarteaucitron.addScript('https://pi.pardot.com/pd.js'); 2166 } 2167}; 2168 2169// Open Web Analytics 2170tarteaucitron.services.openwebanalytics = {
2171 "key": "openwebanalytics", 2172 "type": "analytic", 2173 "name": "Open Web Analytics", 2174 "uri": "", 2175 "needConsent": true, 2176 "cookies": [], 2177 "js": function () { 2178 "use strict"; 2179 2180 if (tarteaucitron.user.openwebanalyticsId === undefined || tarteaucitron.user.openwebanalyticsHost === undefined) { 2181 return; 2182 } 2183 2184 window.owa_baseUrl = tarteaucitron.user.openwebanalyticsHost; 2185 window.owa_cmds = window.owa_cmds || []; 2186 window.owa_cmds.push(['setSiteId', tarteaucitron.user.openwebanalyticsId]); 2187 window.owa_cmds.push(['trackPageView']); 2188 window.owa_cmds.push(['trackClicks']); 2189 2190 tarteaucitron.addScript(window.owa_baseUrl + 'modules/base/js/owa.tracker-combined-min.js'); 2191 } 2192}; 2193 2194// xandr universal pixel 2195// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/universal-pixel-overview.html 2196tarteaucitron.services.xandr = { 2197 "key": "xandr", 2198 "type": "ads", 2199 "name": "Xandr (Universal)", 2200 "uri": "https://www.xandr.com/privacy/cookie-policy/", 2201 "needConsent": true, 2202 "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'], 2203 "js": function () { 2204 "use strict"; 2205 if (tarteaucitron.user.xandrId === undefined) { 2206 return; 2207 } 2208 2209 if (!window.pixie) { 2210 var n = window.pixie = function(e, i, a) { 2211 n.actionQueue.push({ 2212 action: e, 2213 actionValue: i, 2214 params: a 2215 }) 2216 }; 2217 n.actionQueue = []; 2218 } 2219 2220 tarteaucitron.addScript('https://acdn.adnxs.com/dmp/up/pixie.js', '', function() { 2221 window.pixie('init', tarteaucitron.user.xandrId); 2222 window.pixie('event', 'PageView'); 2223 }); 2224 } 2225}; 2226 2227// xandr segment 2228// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/segment-pixels-advanced.html 2229tarteaucitron.services.xandrsegment = { 2230 "key": "xandrsegment", 2231 "type": "ads", 2232 "name": "Xandr (Segment)", 2233 "uri": "https://www.xandr.com/privacy/cookie-policy/", 2234 "needConsent": true, 2235 "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'], 2236 "js": function () { 2237 "use strict"; 2238 var uniqIds = [], 2239 i, 2240 uri; 2241 2242 tarteaucitron.fallback(['xandrsegment-canvas'], function (x) { 2243 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 2244 uniqIds.push(uniqId); 2245 return '<div id="' + uniqId + '" xandrsegmentAdd="' + x.getAttribute('xandrsegmentAdd') + '" xandrsegmentAddCode="' + x.getAttribute('xandrsegmentAddCode') + '" xandrsegmentRemove="' + x.getAttribute('xandrsegmentRemove') + '" xandrsegmentRemoveCode="' + x.getAttribute('xandrsegmentRemoveCode') + '" xandrsegmentMember="' + x.getAttribute('xandrsegmentMember') + '" xandrsegmentRedir="' + x.getAttribute('xandrsegmentRedir') + '" xandrsegmentValue="' + x.getAttribute('xandrsegmentValue') + '" xandrsegmentOther="' + x.getAttribute('xandrsegmentOther') + '"></div>'; 2246 }); 2247 2248 for (i = 0; i < uniqIds.length; i += 1) { 2249 uri = '//ib.adnxs.com/seg?t=2&'; 2250 uri += 'add=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAdd') + '&'; 2251 uri += 'add_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentAddCode') + '&'; 2252 uri += 'remove=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemove') + '&'; 2253 uri += 'remove_code=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRemoveCode') + '&'; 2254 uri += 'member=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentMember') + '&'; 2255 uri += 'redir=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentRedir') + '&'; 2256 uri += 'value=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentValue') + '&'; 2257 uri += 'other=' + document.getElementById(uniqIds[i]).getAttribute('xandrsegmentOther'); 2258 2259 document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />'; 2260 } 2261 }, 2262 "fallback": function () { 2263 "use strict"; 2264 var id = 'xandrsegment'; 2265 tarteaucitron.fallback(['xandrsegment-canvas'], tarteaucitron.engage(id)); 2266 } 2267}; 2268 2269// xandr conversion 2270// https://docs.xandr.com/bundle/invest_invest-standard/page/topics/working-with-conversion-pixels.html 2271tarteaucitron.services.xandrconversion = {
2272 "key": "xandrconversion", 2273 "type": "ads", 2274 "name": "Xandr (Conversion)", 2275 "uri": "https://www.xandr.com/privacy/cookie-policy/", 2276 "needConsent": true, 2277 "cookies": ['uuid2', 'uids', 'sess', 'icu', 'anj', 'usersync'], 2278 "js": function () { 2279 "use strict"; 2280 var uniqIds = [], 2281 i, 2282 uri; 2283 2284 tarteaucitron.fallback(['xandrconversion-canvas'], function (x) { 2285 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 2286 uniqIds.push(uniqId); 2287 return '<div id="' + uniqId + '" xandrconversionId="' + x.getAttribute('xandrconversionId') + '" xandrconversionSeg="' + x.getAttribute('xandrconversionSeg') + '" xandrconversionOrderId="' + x.getAttribute('xandrconversionOrderId') + '" xandrconversionValue="' + x.getAttribute('xandrconversionValue') + '" xandrconversionRedir="' + x.getAttribute('xandrconversionRedir') + '" xandrconversionOther="' + x.getAttribute('xandrconversionOther') + '"></div>'; 2288 }); 2289 2290 for (i = 0; i < uniqIds.length; i += 1) { 2291 uri = '//ib.adnxs.com/px?t=2&'; 2292 uri += 'id=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionId') + '&'; 2293 uri += 'seg=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionSeg') + '&'; 2294 uri += 'order_id=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionOrderId') + '&'; 2295 uri += 'value=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionValue') + '&'; 2296 uri += 'redir=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionRedir') + '&'; 2297 uri += 'other=' + document.getElementById(uniqIds[i]).getAttribute('xandrconversionOther'); 2298 2299 document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />'; 2300 } 2301 }, 2302 "fallback": function () { 2303 "use strict"; 2304 var id = 'xandrconversion'; 2305 tarteaucitron.fallback(['xandrconversion-canvas'], tarteaucitron.engage(id)); 2306 } 2307}; 2308 2309// helloasso 2310tarteaucitron.services.helloasso = { 2311 "key": "helloasso", 2312 "type": "api", 2313 "name": "HelloAsso", 2314 "uri": "https://www.helloasso.com/confidentialite", 2315 "needConsent": true, 2316 "cookies": [], 2317 "js": function () { 2318 "use strict"; 2319 tarteaucitron.fallback(['tac_helloasso'], function (x) { 2320 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'HelloAsso iframe'), 2321 width = x.getAttribute("width"), 2322 height = x.getAttribute("height"), 2323 url = x.getAttribute("data-url"), 2324 allowfullscreen = x.getAttribute("allowfullscreen"); 2325 2326 return '<iframe title="' + frame_title + '" id="haWidget" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 2327 }); 2328 }, 2329 "fallback": function () { 2330 "use strict"; 2331 var id = 'helloasso'; 2332 tarteaucitron.fallback(['tac_helloasso'], function (elem) { 2333 elem.style.width = elem.getAttribute('width') + 'px'; 2334 elem.style.height = elem.getAttribute('height') + 'px'; 2335 return tarteaucitron.engage(id); 2336 }); 2337 } 2338}; 2339 2340// podcloud 2341tarteaucitron.services.podcloud = { 2342 "key": "podcloud", 2343 "type": "video", 2344 "name": "podCloud", 2345 "uri": "https://podcloud.fr/privacy", 2346 "needConsent": true, 2347 "cookies": [], 2348 "js": function () { 2349 "use strict"; 2350 tarteaucitron.fallback(['tac_podcloud'], function (x) { 2351 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'podCloud iframe'), 2352 width = x.getAttribute("width"), 2353 height = x.getAttribute("height"), 2354 url = x.getAttribute("data-url"), 2355 allowfullscreen= x.getAttribute("allowfullscreen"); 2356 2357 return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 2358 }); 2359 }, 2360 "fallback": function () { 2361 "use strict"; 2362 var id = 'podcloud'; 2363 tarteaucitron.fallback(['tac_podcloud'], function (elem) { 2364 elem.style.width = elem.getAttribute('width') + 'px'; 2365 elem.style.height = elem.getAttribute('height') + 'px'; 2366 return tarteaucitron.engage(id); 2367 }); 2368 } 2369}; 2370 2371// facebookpost 2372tarteaucitron.services.facebookpost = {
vendor: 4,586 bytes, lines 2373-2474
2373 "key": "facebookpost", 2374 "type": "social", 2375 "name": "Facebook (post)", 2376 "uri": "https://www.facebook.com/policy.php", 2377 "needConsent": true, 2378 "cookies": [], 2379 "js": function () { 2380 "use strict"; 2381 tarteaucitron.fallback(['tac_facebookpost'], function (x) { 2382 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Facebook iframe'), 2383 width = x.getAttribute("width"), 2384 height = x.getAttribute("height"), 2385 url = x.getAttribute("data-url"), 2386 appId = x.getAttribute("data-appid"), 2387 allowfullscreen = x.getAttribute("allowfullscreen"); 2388 2389 return '<iframe title="' + frame_title + '" src="https://www.facebook.com/plugins/post.php?href=' + encodeURIComponent(url) + '&width=' + width + '&show_text=false&appId=' + appId + '&height=' + height + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 2390 }); 2391 }, 2392 "fallback": function () { 2393 "use strict"; 2394 var id = 'facebookpost'; 2395 tarteaucitron.fallback(['tac_facebookpost'], function (elem) { 2396 elem.style.width = elem.getAttribute('width') + 'px'; 2397 elem.style.height = elem.getAttribute('height') + 'px'; 2398 return tarteaucitron.engage(id); 2399 }); 2400 } 2401}; 2402 2403// amplitude 2404tarteaucitron.services.amplitude = { 2405 "key": "amplitude", 2406 "type": "analytic", 2407 "name": "Amplitude", 2408 "uri": "https://amplitude.com/privacy", 2409 "needConsent": true, 2410 "cookies": [], 2411 "js": function () { 2412 "use strict"; 2413 if (tarteaucitron.user.amplitude === undefined) { 2414 return; 2415 } 2416 tarteaucitron.addScript('https://cdn.amplitude.com/libs/amplitude-5.8.0-min.gz.js', '', function() { 2417 2418 window.amplitude = { 2419 _q: [], 2420 _iq: {} 2421 }; 2422 function s(e,t){e.prototype[t]=function(){this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));return this}} 2423 var o=function(){this._q=[];return this}; 2424 var a=["add","append","clearAll","prepend","set","setOnce","unset"]; 2425 for(var u=0;u<a.length;u++){s(o,a[u])} 2426 amplitude.Identify=o; 2427 var c=function(){this._q=[];return this}; 2428 var l=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"]; 2429 for(var p=0;p<l.length;p++){s(c,l[p])} 2430 amplitude.Revenue=c; 2431 var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","enableTracking","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","groupIdentify","onInit","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"]; 2432 function v(e){function t(t){e[t]=function(){e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}}for(var n=0;n<d.length;n++){t(d[n])}} 2433 v(amplitude); 2434 amplitude.getInstance=function(e){e=(!e||e.length===0?"$default_instance":e).toLowerCase();if(!amplitude._iq.hasOwnProperty(e)){amplitude._iq[e]={_q:[]};v(amplitude._iq[e])}return amplitude._iq[e]}; 2435 2436 amplitude.getInstance().init(tarteaucitron.user.amplitude); 2437 }); 2438 } 2439}; 2440 2441// abtasty 2442tarteaucitron.services.abtasty = { 2443 "key": "abtasty", 2444 "type": "api", 2445 "name": "ABTasty", 2446 "uri": "https://www.abtasty.com/terms-of-use/", 2447 "needConsent": true, 2448 "cookies": ['ABTasty', 'ABTastySession'], 2449 "js": function () { 2450 "use strict"; 2451 if (tarteaucitron.user.abtastyID === undefined) { 2452 return; 2453 } 2454 tarteaucitron.addScript('//try.abtasty.com/'+tarteaucitron.user.abtastyID+'.js'); 2455 } 2456}; 2457 2458 2459// yandex metrica 2460tarteaucitron.services.metrica = { 2461 "key": "metrica", 2462 "type": "analytic", 2463 "name": "Yandex Metrica", 2464 "uri": "https://yandex.com/legal/confidential/", 2465 "needConsent": true, 2466 "cookies": ['_ym_metrika_enabled','_ym_isad', '_ym_uid', '_ym_d','yabs-sid','_ym_debug','_ym_mp2_substs','_ym_hostIndex','_ym_mp2_track','yandexuid','usst'], 2467 "js": function () { 2468 "use strict"; 2469 if (tarteaucitron.user.yandexmetrica === undefined) { 2470 return; 2471 } 2472 tarteaucitron.addScript('https://mc.yandex.ru/metrika/tag.js', '', function() { 2473 2474 (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
2475 m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) 2476 (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); 2477 2478 ym(tarteaucitron.user.yandexmetrica, "init", { 2479 clickmap:true, 2480 trackLinks:true, 2481 accurateTrackBounce:true, 2482 webvisor:true, 2483 ecommerce:"dataLayer" 2484 }); 2485 }); 2486 } 2487}; 2488 2489// addthis 2490tarteaucitron.services.addthis = { 2491 "key": "addthis", 2492 "type": "social", 2493 "name": "AddThis", 2494 "uri": "https://www.addthis.com/privacy/privacy-policy#publisher-visitors", 2495 "needConsent": true, 2496 "cookies": ['__atuvc', '__atuvs'], 2497 "js": function () { 2498 "use strict"; 2499 if (tarteaucitron.user.addthisPubId === undefined) { 2500 return; 2501 } 2502 if (tarteaucitron.isAjax === true) { 2503 window.addthis = null; 2504 window._adr = null; 2505 window._atc = null; 2506 window._atd = null; 2507 window._ate = null; 2508 window._atr = null; 2509 window._atw = null; 2510 } 2511 tarteaucitron.fallback(['addthis_inline_share_toolbox'], ''); 2512 tarteaucitron.addScript('//s7.addthis.com/js/300/addthis_widget.js#pubid=' + tarteaucitron.user.addthisPubId); 2513 }, 2514 "fallback": function () { 2515 "use strict"; 2516 var id = 'addthis'; 2517 tarteaucitron.fallback(['addthis_inline_share_toolbox'], tarteaucitron.engage(id)); 2518 } 2519}; 2520 2521// addtoanyfeed 2522tarteaucitron.services.addtoanyfeed = { 2523 "key": "addtoanyfeed", 2524 "type": "social", 2525 "name": "AddToAny (feed)", 2526 "uri": "https://www.addtoany.com/privacy", 2527 "needConsent": true, 2528 "cookies": [], 2529 "js": function () { 2530 "use strict"; 2531 if (tarteaucitron.user.addtoanyfeedUri === undefined) { 2532 return; 2533 } 2534 tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri; 2535 window.a2a_config = window.a2a_config || {}; 2536 window.a2a_config.linkurl = tarteaucitron.user.addtoanyfeedUri; 2537 tarteaucitron.addScript('//static.addtoany.com/menu/feed.js'); 2538 }, 2539 "fallback": function () { 2540 "use strict"; 2541 tarteaucitron.user.addtoanyfeedSubscribeLink = 'https://www.addtoany.com/subscribe?linkurl=' + tarteaucitron.user.addtoanyfeedUri; 2542 } 2543}; 2544 2545// addtoanyshare 2546tarteaucitron.services.addtoanyshare = { 2547 "key": "addtoanyshare", 2548 "type": "social", 2549 "name": "AddToAny (share)", 2550 "uri": "https://www.addtoany.com/privacy", 2551 "needConsent": true, 2552 "cookies": [], 2553 "js": function () { 2554 "use strict"; 2555 tarteaucitron.fallback(['tac_addtoanyshare'], ''); 2556 tarteaucitron.addScript('//static.addtoany.com/menu/page.js'); 2557 }, 2558 "fallback": function () { 2559 "use strict"; 2560 var id = 'addtoanyshare'; 2561 tarteaucitron.fallback(['tac_addtoanyshare'], tarteaucitron.engage(id)); 2562 } 2563}; 2564 2565// aduptech ads 2566tarteaucitron.services.aduptech_ads = { 2567 "key": "aduptech_ads", 2568 "type": "ads", 2569 "name": "Ad Up Technology (ads)", 2570 "uri": "https://www.adup-tech.com/datenschutz", 2571 "needConsent": true, 2572 "cookies": [], 2573 "js": function () { 2574 "use strict"; 2575 2576 var IDENTIFIER = "aduptech_ads", 2577 API_URL = "https://s.d.adup-tech.com/jsapi"; 2578 2579 var elements = document.getElementsByClassName(IDENTIFIER); 2580 if (!elements || elements.length === 0) { 2581 return; 2582 } 2583 2584 tarteaucitron.fallback([IDENTIFIER], ""); 2585 2586 tarteaucitron.addScript(API_URL, "", function() { 2587 for (var i = 0; i < elements.length; i++) { 2588 var element = elements[i]; 2589 2590 if (!element.getAttribute("id")) { 2591 element.setAttribute("id", IDENTIFIER + Math.random().toString(36).substr(2, 9)); 2592 } 2593 2594 window.uAd.embed(element.getAttribute("id"), { 2595 placementKey: element.getAttribute("placementKey"), 2596 responsive: Boolean(element.getAttribute("responsive")), 2597 lazy: Boolean(element.getAttribute("lazy")), 2598 adtest: Boolean(element.getAttribute("test")), 2599 query: element.getAttribute("query") || "", 2600 minCpc: element.getAttribute("minCpc") || "", 2601 pageUrl: element.getAttribute("pageUrl") || "", 2602 skip: element.getAttribute("skip") || "" 2603 }); 2604 } 2605 }); 2606 2607 }, 2608 "fallback": function () { 2609 "use strict"; 2610 tarteaucitron.fallback(["aduptech_ads"], tarteaucitron.engage("aduptech_ads")); 2611 } 2612}; 2613 2614// aduptech conversion 2615tarteaucitron.services.aduptech_conversion = {
2616 "key": "aduptech_conversion", 2617 "type": "ads", 2618 "name": "Ad Up Technology (conversion)", 2619 "uri": "https://www.adup-tech.com/datenschutz", 2620 "needConsent": true, 2621 "cookies": [], 2622 "js": function () { 2623 "use strict"; 2624 2625 var IDENTIFIER = "aduptech_conversion", 2626 CONVERSION_PIXEL_BASE_URL = "https://d.adup-tech.com/campaign/conversion"; 2627 2628 var elements = document.getElementsByClassName(IDENTIFIER); 2629 if (!elements || elements.length === 0) { 2630 return; 2631 } 2632 2633 tarteaucitron.fallback([IDENTIFIER], ""); 2634 2635 for (var i = 0; i < elements.length; i++) { 2636 var element = elements[i]; 2637 2638 if (!element.getAttribute("advertiserId") || !element.getAttribute("conversionCode")) { 2639 continue; 2640 } 2641 2642 var url = CONVERSION_PIXEL_BASE_URL + 2643 "/" + encodeURIComponent(element.getAttribute("advertiserId")) + 2644 "?t=" + encodeURIComponent(element.getAttribute("conversionCode")); 2645 2646 if (element.getAttribute("price")) { 2647 url += "&price=" + encodeURIComponent(element.getAttribute("price")); 2648 } 2649 2650 if (element.getAttribute("quantity")) { 2651 url += "&quantity=" + encodeURIComponent(element.getAttribute("quantity")); 2652 } 2653 2654 if (element.getAttribute("total")) { 2655 url += "&total=" + encodeURIComponent(element.getAttribute("total")); 2656 } 2657 2658 if (element.getAttribute("orderId")) { 2659 url += "&order_id=" + encodeURIComponent(element.getAttribute("orderId")); 2660 } 2661 2662 if (element.getAttribute("itemNumber")) { 2663 url += "&item_number=" + encodeURIComponent(element.getAttribute("itemNumber")); 2664 } 2665 2666 if (element.getAttribute("description")) { 2667 url += "&description=" + encodeURIComponent(element.getAttribute("description")); 2668 } 2669 2670 (new Image()).src = url; 2671 } 2672 } 2673}; 2674 2675// aduptech retargeting 2676tarteaucitron.services.aduptech_retargeting = { 2677 "key": "aduptech_retargeting", 2678 "type": "ads", 2679 "name": "Ad Up Technology (retargeting)", 2680 "uri": "https://www.adup-tech.com/datenschutz", 2681 "needConsent": true, 2682 "cookies": [], 2683 "js": function () { 2684 "use strict"; 2685 2686 var IDENTIFIER = "aduptech_retargeting", 2687 API_URL = "https://s.d.adup-tech.com/services/retargeting.js"; 2688 2689 var elements = document.getElementsByClassName(IDENTIFIER); 2690 if (!elements || elements.length === 0) { 2691 return; 2692 } 2693 2694 tarteaucitron.fallback([IDENTIFIER], ""); 2695 2696 window.AdUpRetargeting = function(api) { 2697 for (var i = 0; i < elements.length; i++) { 2698 var element = elements[i]; 2699 2700 api.init(); 2701 2702 api.setAccount(element.getAttribute("account")); 2703 2704 if (element.getAttribute("email")) { 2705 api.setEmail(element.getAttribute("email")); 2706 } else if (element.getAttribute("hashedEmail")) { 2707 api.setHashedEmail(element.getAttribute("hashedEmail")); 2708 } 2709 2710 if (element.getAttribute("product")) { 2711 try { 2712 api.setProduct(JSON.parse(element.getAttribute("product"))); 2713 } catch (e) { 2714 api.setProduct(element.getAttribute("product")); 2715 } 2716 } 2717 2718 if (element.getAttribute("transaction")) { 2719 try { 2720 api.setTransaction(JSON.parse(element.getAttribute("transaction"))); 2721 } catch (e) { 2722 api.setTransaction(element.getAttribute("transaction")); 2723 } 2724 } 2725 2726 if (element.getAttribute("demarkUser")) { 2727 api.setDemarkUser(); 2728 } else if (element.getAttribute("demarkProducts")) { 2729 api.setDemarkProducts(); 2730 } 2731 2732 if (element.getAttribute("conversionCode")) { 2733 api.setConversionCode(element.getAttribute("conversionCode")); 2734 } 2735 2736 if (element.getAttribute("device")) { 2737 var setter = "set" + element.getAttribute("device").charAt(0).toUpperCase() + element.getAttribute("device").slice(1); 2738 if (typeof api[setter] === 'function') { 2739 api[setter](); 2740 } 2741 } 2742 2743 if (element.getAttribute("track")) { 2744 var tracker = "track" + element.getAttribute("track").charAt(0).toUpperCase() + element.getAttribute("track").slice(1); 2745 if (typeof api[tracker] === "function") { 2746 api[tracker](); 2747 } else { 2748 api.trackHomepage(); 2749 } 2750 } 2751 }; 2752 }; 2753 2754 tarteaucitron.addScript(API_URL); 2755 } 2756}; 2757 2758// alexa 2759tarteaucitron.services.alexa = {
2760 "key": "alexa", 2761 "type": "analytic", 2762 "name": "Alexa", 2763 "uri": "https://www.alexa.com/help/privacy", 2764 "needConsent": true, 2765 "cookies": ['__asc', '__auc'], 2766 "js": function () { 2767 "use strict"; 2768 if (tarteaucitron.user.alexaAccountID === undefined) { 2769 return; 2770 } 2771 window._atrk_opts = { 2772 atrk_acct: tarteaucitron.user.alexaAccountID, 2773 domain: window.location.hostname.match(/[^\.]*\.[^.]*$/)[0], 2774 dynamic: true 2775 }; 2776 tarteaucitron.addScript('https://d31qbv1cthcecs.cloudfront.net/atrk.js'); 2777 } 2778}; 2779 2780// amazon 2781tarteaucitron.services.amazon = { 2782 "key": "amazon", 2783 "type": "ads", 2784 "name": "Amazon", 2785 "uri": "https://www.amazon.com/gp/help/customer/display.html/ref=help_search_1-1?ie=UTF8&nodeId=201909010&qid=1544617177&sr=1-1", 2786 "needConsent": true, 2787 "cookies": [], 2788 "js": function () { 2789 "use strict"; 2790 tarteaucitron.fallback(['amazon_product'], function (x) { 2791 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Amazon iframe'), 2792 amazonId = x.getAttribute("amazonid"), 2793 productId = x.getAttribute("productid"), 2794 url = '//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=' + tarteaucitron.getLanguage().toUpperCase() + '&source=ss&ref=ss_til&ad_type=product_link&tracking_id=' + amazonId + '&marketplace=amazon®ion=' + tarteaucitron.getLanguage().toUpperCase() + '&placement=' + productId + '&asins=' + productId + '&show_border=true&link_opens_in_new_window=true', 2795 iframe = '<iframe title="' + frame_title + '" style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" src="' + url + '"></iframe>'; 2796 2797 return iframe; 2798 }); 2799 }, 2800 "fallback": function () { 2801 "use strict"; 2802 var id = 'amazon'; 2803 tarteaucitron.fallback(['amazon_product'], tarteaucitron.engage(id)); 2804 } 2805}; 2806 2807// calameo 2808tarteaucitron.services.calameo = { 2809 "key": "calameo", 2810 "type": "video", 2811 "name": "Calameo", 2812 "uri": "https://fr.calameo.com/privacy", 2813 "needConsent": true, 2814 "cookies": [], 2815 "js": function () { 2816 "use strict"; 2817 tarteaucitron.fallback(['calameo-canvas'], function (x) { 2818 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Calameo iframe'), 2819 id = x.getAttribute("data-id"), 2820 width = x.getAttribute("width"), 2821 height = x.getAttribute("height"), 2822 url = '//v.calameo.com/?bkcode=' + id, 2823 allowfullscreen = x.getAttribute("allowfullscreen"); 2824 2825 return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 2826 }); 2827 }, 2828 "fallback": function () { 2829 "use strict"; 2830 var id = 'calameo'; 2831 tarteaucitron.fallback(['calameo-canvas'], function (elem) { 2832 elem.style.width = elem.getAttribute('width') + 'px'; 2833 elem.style.height = elem.getAttribute('height') + 'px'; 2834 return tarteaucitron.engage(id); 2835 }); 2836 } 2837}; 2838 2839// clicky 2840tarteaucitron.services.clicky = { 2841 "key": "clicky", 2842 "type": "analytic", 2843 "name": "Clicky", 2844 "uri": "https://clicky.com/terms", 2845 "needConsent": true, 2846 "cookies": ['_jsuid', '_eventqueue', '_referrer_og', '_utm_og', '_first_pageview', 'clicky_olark', 'no_trackyy_' + tarteaucitron.user.clickyId, 'unpoco_' + tarteaucitron.user.clickyId, 'heatmaps_g2g_' + tarteaucitron.user.clickyId], 2847 "js": function () { 2848 "use strict"; 2849 if (tarteaucitron.user.clickyId === undefined) { 2850 return; 2851 } 2852 tarteaucitron.addScript('//static.getclicky.com/js', '', function () { 2853 if (typeof clicky.init === 'function') { 2854 clicky.init(tarteaucitron.user.clickyId); 2855 } 2856 if (typeof tarteaucitron.user.clickyMore === 'function') { 2857 tarteaucitron.user.clickyMore(); 2858 } 2859 }); 2860 } 2861}; 2862 2863// clicmanager 2864tarteaucitron.services.clicmanager = {
2865 "key": "clicmanager", 2866 "type": "ads", 2867 "name": "Clicmanager", 2868 "uri": "http://www.clicmanager.fr/infos_legales.php", 2869 "needConsent": true, 2870 "cookies": [], 2871 "js": function () { 2872 "use strict"; 2873 var uniqIds = [], 2874 i, 2875 uri; 2876 2877 tarteaucitron.fallback(['clicmanager-canvas'], function (x) { 2878 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 2879 uniqIds.push(uniqId); 2880 return '<div id="' + uniqId + '" c="' + x.getAttribute('c') + '" s="' + x.getAttribute('s') + '" t="' + x.getAttribute('t') + '"></div>'; 2881 }); 2882 2883 for (i = 0; i < uniqIds.length; i += 1) { 2884 uri = '//ads.clicmanager.fr/exe.php?'; 2885 uri += 'c=' + document.getElementById(uniqIds[i]).getAttribute('c') + '&'; 2886 uri += 's=' + document.getElementById(uniqIds[i]).getAttribute('s') + '&'; 2887 uri += 't=' + document.getElementById(uniqIds[i]).getAttribute('t'); 2888 2889 tarteaucitron.makeAsync.init(uri, uniqIds[i]); 2890 } 2891 }, 2892 "fallback": function () { 2893 "use strict"; 2894 var id = 'clicmanager'; 2895 tarteaucitron.fallback(['clicmanager-canvas'], tarteaucitron.engage(id)); 2896 } 2897}; 2898 2899// compteur 2900tarteaucitron.services.compteur = { 2901 "key": "compteur", 2902 "type": "analytic", 2903 "name": "Compteur.fr", 2904 "uri": "https://www.compteur.fr/help_privacy_policy.htm", 2905 "needConsent": true, 2906 "cookies": [], 2907 "js": function () { 2908 "use strict"; 2909 if (tarteaucitron.user.compteurID === undefined) { 2910 return; 2911 } 2912 tarteaucitron.addScript('https://server2.compteur.fr/log7.js', '', function() {wtslog7(tarteaucitron.user.compteurID,1);}); 2913 } 2914}; 2915 2916// contentsquare 2917tarteaucitron.services.contentsquare = { 2918 "key": "contentsquare", 2919 "type": "api", 2920 "name": "ContentSquare", 2921 "uri": "https://docs.contentsquare.com/uxa-en/#collected-data", 2922 "needConsent": true, 2923 "cookies": ['_cs_id', '_cs_s', '_cs_vars', '_cs_ex', '_cs_c', '_cs_optout'], 2924 "js": function () { 2925 "use strict"; 2926 if (tarteaucitron.user.contentsquareID === undefined) { 2927 return; 2928 } 2929 tarteaucitron.addScript('//t.contentsquare.net/uxa/'+tarteaucitron.user.contentsquareID+'.js'); 2930 } 2931}; 2932 2933// crazyegg 2934tarteaucitron.services.crazyegg = { 2935 "key": "crazyegg", 2936 "type": "analytic", 2937 "name": "Crazy Egg", 2938 "uri": "https://www.crazyegg.com/privacy", 2939 "needConsent": true, 2940 "cookies": [], 2941 "js": function () { 2942 "use strict"; 2943 2944 if (tarteaucitron.user.crazyeggId === undefined) { 2945 return; 2946 } 2947 2948 tarteaucitron.addScript('//script.crazyegg.com/pages/scripts/' + tarteaucitron.user.crazyeggId.substr(0, 4) + '/' + tarteaucitron.user.crazyeggId.substr(4, 4) + '.js'); 2949 } 2950}; 2951 2952// clarity 2953tarteaucitron.services.clarity = { 2954 "key": "clarity", 2955 "type": "analytic", 2956 "name": "Clarity", 2957 "uri": "https://clarity.microsoft.com/", 2958 "needConsent": true, 2959 "cookies": [], 2960 "js": function () { 2961 "use strict"; 2962 2963 window["clarity"]= window["clarity"]||function(){(window["clarity"].q= window["clarity"].q||[]).push(arguments)}; 2964 2965 tarteaucitron.addScript('https://www.clarity.ms/tag/' + tarteaucitron.user.clarity); 2966 } 2967}; 2968 2969// criteo 2970tarteaucitron.services.criteo = { 2971 "key": "criteo", 2972 "type": "ads", 2973 "name": "Criteo", 2974 "uri": "http://www.criteo.com/privacy/", 2975 "needConsent": true, 2976 "cookies": [], 2977 "js": function () { 2978 "use strict"; 2979 document.MAX_ct0 = ''; 2980 var uniqIds = [], 2981 i, 2982 uri; 2983 2984 tarteaucitron.fallback(['criteo-canvas'], function (x) { 2985 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 2986 uniqIds.push(uniqId); 2987 return '<div id="' + uniqId + '" zoneid="' + x.getAttribute('zoneid') + '"></div>'; 2988 }); 2989 2990 for (i = 0; i < uniqIds.length; i += 1) { 2991 uri = '//cas.criteo.com/delivery/ajs.php?'; 2992 uri += 'zoneid=' + document.getElementById(uniqIds[i]).getAttribute('zoneid'); 2993 uri += '&nodis=1&cb=' + Math.floor(Math.random() * 99999999999); 2994 uri += '&loc=' + encodeURI(window.location); 2995 uri += (document.MAX_used !== ',') ? '&exclude=' + document.MAX_used : ''; 2996 uri += (document.charset !== undefined ? '&charset=' + document.charset : ''); 2997 uri += (document.characterSet !== undefined ? '&charset=' + document.characterSet : ''); 2998 uri += (document.referrer !== undefined) ? '&referer=' + encodeURI(document.referrer) : ''; 2999 uri += (document.context !== undefined) ? '&context=' + encodeURI(document.context) : ''; 3000 uri += ((document.MAX_ct0 !== undefined) && (document.MAX_ct0.substring(0, 4) === 'http')) ? '&ct0=' + encodeURI(document.MAX_ct0) : ''; 3001 uri += (document.mmm_fo !== undefined) ? '&mmm_fo=1' : ''; 3002 3003 tarteaucitron.makeAsync.init(uri, uniqIds[i]); 3004 } 3005 }, 3006 "fallback": function () { 3007 "use strict"; 3008 var id = 'criteo'; 3009 tarteaucitron.fallback(['criteo-canvas'], tarteaucitron.engage(id)); 3010 } 3011}; 3012 3013// artetv 3014tarteaucitron.services.artetv = {
3015 "key": "artetv", 3016 "type": "video", 3017 "name": "Arte.tv", 3018 "uri": "https://www.arte.tv/sites/fr/corporate/donnees-personnelles/", 3019 "needConsent": true, 3020 "cookies": [], 3021 "js": function () { 3022 "use strict"; 3023 tarteaucitron.fallback(['artetv_player'], function (x) { 3024 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Arte.tv iframe'), 3025 video_json = x.getAttribute("json"), 3026 video_width = x.getAttribute("width"), 3027 video_height = x.getAttribute("height"), 3028 video_frame, 3029 video_allowfullscreen = x.getAttribute("allowfullscreen"); 3030 3031 if (video_json === undefined) { 3032 return ""; 3033 } 3034 3035 video_frame = '<iframe title="' + frame_title + '" style="transition-duration: 0; transition-property: no; margin: 0 auto; position: relative; display: block; background-color: #000000;" src="https://www.arte.tv/player/v5/index.php?json_url=' + video_json + '" width="' + video_width + '" height="' + video_height + '" scrolling="no" ' + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 3036 return video_frame; 3037 }); 3038 }, 3039 "fallback": function () { 3040 "use strict"; 3041 var id = 'artetv'; 3042 tarteaucitron.fallback(['artetv_player'], function (elem) { 3043 elem.style.width = elem.getAttribute('width') + 'px'; 3044 elem.style.height = elem.getAttribute('height') + 'px'; 3045 return tarteaucitron.engage(id); 3046 }); 3047 } 3048}; 3049 3050// dailymotion 3051tarteaucitron.services.dailymotion = { 3052 "key": "dailymotion", 3053 "type": "video", 3054 "name": "Dailymotion", 3055 "uri": "https://www.dailymotion.com/legal/privacy", 3056 "needConsent": true, 3057 "cookies": ['ts', 'dmvk', 'hist', 'v1st', 's_vi'], 3058 "js": function () { 3059 "use strict"; 3060 tarteaucitron.fallback(['dailymotion_player'], function (x) { 3061 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Dailymotion iframe'), 3062 video_id = x.getAttribute("videoID"), 3063 video_width = x.getAttribute("width"), 3064 frame_width = 'width=', 3065 video_height = x.getAttribute("height"), 3066 frame_height = 'height=', 3067 video_frame, 3068 embed_type = x.getAttribute("embedType"), 3069 allowfullscreen = x.getAttribute("allowfullscreen"), 3070 params = 'info=' + x.getAttribute("showinfo") + '&autoPlay=' + x.getAttribute("autoplay"); 3071 3072 if (video_id === undefined) { 3073 return ""; 3074 } 3075 if (video_width !== undefined) { 3076 frame_width += '"' + video_width + '" '; 3077 } else { 3078 frame_width += '"" '; 3079 } 3080 if (video_height !== undefined) { 3081 frame_height += '"' + video_height + '" '; 3082 } else { 3083 frame_height += '"" '; 3084 } 3085 if (embed_type === undefined || !['video', 'playlist'].includes(embed_type) ) { 3086 embed_type = "video"; 3087 } 3088 video_frame = '<iframe title="' + frame_title + '" src="//www.dailymotion.com/embed/' + embed_type + '/' + video_id + '?' + params + '" ' + frame_width + frame_height + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 3089 return video_frame; 3090 }); 3091 }, 3092 "fallback": function () { 3093 "use strict"; 3094 var id = 'dailymotion'; 3095 tarteaucitron.fallback(['dailymotion_player'], function (elem) { 3096 elem.style.width = elem.getAttribute('width') + 'px'; 3097 elem.style.height = elem.getAttribute('height') + 'px'; 3098 return tarteaucitron.engage(id); 3099 }); 3100 } 3101}; 3102 3103// dating affiliation 3104tarteaucitron.services.datingaffiliation = { 3105 "key": "datingaffiliation", 3106 "type": "ads", 3107 "name": "Dating Affiliation", 3108 "uri": "http://www.dating-affiliation.com/conditions-generales.php", 3109 "needConsent": true, 3110 "cookies": [], 3111 "js": function () { 3112 "use strict"; 3113 tarteaucitron.fallback(['datingaffiliation-canvas'], function (x) { 3114 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Dating Affiliation iframe'), 3115 comfrom = x.getAttribute("data-comfrom"), 3116 r = x.getAttribute("data-r"), 3117 p = x.getAttribute("data-p"), 3118 cf0 = x.getAttribute("data-cf0"), 3119 langue = x.getAttribute("data-langue"), 3120 forward_affiliate = x.getAttribute("data-forwardAffiliate"), 3121 cf2 = x.getAttribute("data-cf2"), 3122 cfsa2 = x.getAttribute("data-cfsa2"), 3123 width = x.getAttribute("width"), 3124 height = x.getAttribute("height"), 3125 url = 'http://www.tools-affil2.com/rotaban/ban.php?' + comfrom; 3126 3127 return '<iframe title="' + frame_title + '" src="' + url + '&r=' + r + '&p=' + p + '&cf0='
3127+ cf0 + '&langue=' + langue + '&forward_affiliate=' + forward_affiliate + '&cf2=' + cf2 + '&cfsa2=' + cfsa2 + '" width="' + width + '" height="' + height + '" marginheight="0" marginwidth="0" scrolling="no"></iframe>'; 3128 }); 3129 }, 3130 "fallback": function () { 3131 "use strict"; 3132 var id = 'datingaffiliation'; 3133 tarteaucitron.fallback(['datingaffiliation-canvas'], function (elem) { 3134 elem.style.width = elem.getAttribute('width') + 'px'; 3135 elem.style.height = elem.getAttribute('height') + 'px'; 3136 return tarteaucitron.engage(id); 3137 }); 3138 } 3139}; 3140 3141// dating affiliation popup 3142tarteaucitron.services.datingaffiliationpopup = { 3143 "key": "datingaffiliationpopup", 3144 "type": "ads", 3145 "name": "Dating Affiliation (Pop Up)", 3146 "uri": "http://www.dating-affiliation.com/conditions-generales.php", 3147 "needConsent": true, 3148 "cookies": ['__utma', '__utmb', '__utmc', '__utmt_Tools', '__utmv', '__utmz', '_ga', '_gat', '_gat_UA-65072040-17', '__da-pu-xflirt-ID-pc-o169'], 3149 "js": function () { 3150 "use strict"; 3151 var uniqIds = [], 3152 i, 3153 uri; 3154 3155 tarteaucitron.fallback(['datingaffiliationpopup-canvas'], function (x) { 3156 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 3157 uniqIds.push(uniqId); 3158 return '<div id="' + uniqId + '" uri="' + x.getAttribute('uri') + '" comfrom="' + x.getAttribute('comfrom') + '" promo="' + x.getAttribute('promo') + '" productid="' + x.getAttribute('productid') + '" submitconfig="' + x.getAttribute('submitconfig') + '" ur="' + x.getAttribute('ur') + '" brand="' + x.getAttribute('brand') + '" lang="' + x.getAttribute('lang') + '" cf0="' + x.getAttribute('cf0') + '" cf2="' + x.getAttribute('cf2') + '" subid1="' + x.getAttribute('subid1') + '" cfsa2="' + x.getAttribute('cfsa2') + '" subid2="' + x.getAttribute('subid2') + '" nicheid="' + x.getAttribute('nicheid') + '" degreid="' + x.getAttribute('degreid') + '" bt="' + x.getAttribute('bt') + '" vis="' + x.getAttribute('vis') + '" hid="' + x.getAttribute('hid') + '" snd="' + x.getAttribute('snd') + '" aabd="' + x.getAttribute('aabd') + '" aabs="' + x.getAttribute('aabs') + '"></div>'; 3159 }); 3160 3161 for (i = 0; i < uniqIds.length; i += 1) { 3162 uri = 'http://www.promotools.biz/da/popunder/script.php?'; 3163 uri += 'comfrom=' + document.getElementById(uniqIds[i]).getAttribute('comfrom') + '&'; 3164 uri += 'promo=' + document.getElementById(uniqIds[i]).getAttribute('promo') + '&'; 3165 uri += 'product_id=' + document.getElementById(uniqIds[i]).getAttribute('productid') + '&'; 3166 uri += 'submitconfig=' + document.getElementById(uniqIds[i]).getAttribute('submitconfig') + '&'; 3167 uri += 'ur=' + document.getElementById(uniqIds[i]).getAttribute('ur') + '&'; 3168 uri += 'brand=' + document.getElementById(uniqIds[i]).getAttribute('brand') + '&'; 3169 uri += 'lang=' + document.getElementById(uniqIds[i]).getAttribute('lang') + '&'; 3170 uri += 'cf0=' + document.getElementById(uniqIds[i]).getAttribute('cf0') + '&'; 3171 uri += 'cf2=' + document.getElementById(uniqIds[i]).getAttribute('cf2') + '&'; 3172 uri += 'subid1=' + document.getElementById(uniqIds[i]).getAttribute('subid1') + '&'; 3173 uri += 'cfsa2=' + document.getElementById(uniqIds[i]).getAttribute('cfsa2') + '&'; 3174 uri += 'subid2=' + document.getElementById(uniqIds[i]).getAttribute('subid2') + '&'; 3175 uri += 'nicheId=' + document.getElementById(uniqIds[i]).getAttribute('nicheid') + '&'; 3176 uri += 'degreId=' + document.getElementById(uniqIds[i]).getAttribute('degreid') + '&'; 3177 uri += 'bt=' + document.getElementById(uniqIds[i]).getAttribute('bt') + '&'; 3178 uri += 'vis=' + document.getElementById(uniqIds[i]).getAttribute('vis') + '&'; 3179 uri += 'hid=' + document.getElementById(uniqIds[i]).getAttribute('hid') + '&'; 3180 uri += 'snd=' + document.getElementById(uniqIds[i]).getAttribute('snd') + '&'; 3181 uri += 'aabd=' + document.getElementById(uniqIds[i]).getAttribute('aabd') + '&'; 3182 uri += 'aabs=' + document.getElementById(uniqIds[i]).getAttribute('aabs'); 3183 3184 tarteaucitron.makeAsync.init(uri, uniqIds[i]); 3185 } 3186 }, 3187 "fallback": function () { 3188 "use strict"; 3189 var id = 'datingaffiliationpopup'; 3190 tarteaucitron.fallback(['datingaffiliationpopup-canvas'], tarteaucitron.engage(id)); 3191 } 3192}; 3193 3194// deezer 3195tarteaucitron.services.deezer = {
3196 "key": "deezer", 3197 "type": "video", 3198 "name": "Deezer", 3199 "uri": "https://www.deezer.com/legal/personal-datas", 3200 "needConsent": true, 3201 "cookies": [], 3202 "js": function () { 3203 "use strict"; 3204 tarteaucitron.fallback(['deezer_player'], function (x) { 3205 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Deezer iframe'), 3206 deezer_id = x.getAttribute("deezerID"), 3207 deezer_width = x.getAttribute("width"), 3208 frame_width = 'width=', 3209 deezer_height = x.getAttribute("height"), 3210 frame_height = 'height=', 3211 deezer_frame, 3212 embed_theme = x.getAttribute("theme"), 3213 embed_type = x.getAttribute("embedType"), 3214 radius = x.getAttribute("radius"), 3215 tracklist = x.getAttribute("tracklist"), 3216 allowfullscreen = x.getAttribute("allowfullscreen"), 3217 params; 3218 3219 if (deezer_id === undefined) { 3220 return ""; 3221 } 3222 if (deezer_width !== undefined) { 3223 frame_width += '"' + deezer_width + '" '; 3224 } else { 3225 frame_width += '"" '; 3226 } 3227 if (deezer_height !== undefined) { 3228 frame_height += '"' + deezer_height + '" '; 3229 } else { 3230 frame_height += '"" '; 3231 } 3232 if (embed_theme === undefined || !['auto', 'light', 'dark'].includes(embed_theme) ) { 3233 embed_theme = "auto"; 3234 } 3235 if (embed_type === undefined || !['album', 'track', 'playlist'].includes(embed_type) ) { 3236 embed_type = "album"; 3237 } 3238 if (radius === undefined || !['true', 'false'].includes(radius) ) { 3239 radius = "true"; 3240 } 3241 if (tracklist === undefined || !['true', 'false'].includes(tracklist) ) { 3242 tracklist = "true"; 3243 } 3244 params = 'tracklist=' + tracklist + '&radius=' + radius; 3245 deezer_frame = '<iframe title="' + frame_title + '" src="//widget.deezer.com/widget/' + embed_theme + '/' + embed_type + '/' + deezer_id + '?' + params + '" ' + frame_width + frame_height + ' ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 3246 return deezer_frame; 3247 }); 3248 }, 3249 "fallback": function () { 3250 "use strict"; 3251 var id = 'deezer'; 3252 tarteaucitron.fallback(['deezer_player'], function (elem) { 3253 elem.style.width = elem.getAttribute('width') + 'px'; 3254 elem.style.height = elem.getAttribute('height') + 'px'; 3255 return tarteaucitron.engage(id); 3256 }); 3257 } 3258}; 3259 3260// leadforensics 3261tarteaucitron.services.leadforensics = { 3262 "key": "leadforensics", 3263 "type": "analytic", 3264 "name": "LeadForensics", 3265 "uri": "https://www.leadforensics.com/privacy-policy/", 3266 "needConsent": true, 3267 "cookies": ['trackalyzer'], 3268 "js": function () { 3269 "use strict"; 3270 if (tarteaucitron.user.leadforensicsSf14gv === undefined || 3271 tarteaucitron.user.leadforensicsIidentifier === undefined) { 3272 return; 3273 } 3274 3275 window.sf14gv = tarteaucitron.user.leadforensicsSf14gv; 3276 3277 (function() { 3278 var sf14g = document.createElement('script'); sf14g.async = true; 3279 sf14g.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 't.sf14g.com/sf14g.js'; 3280 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sf14g, s); 3281 })(); 3282 3283 tarteaucitron.addScript('//secure.leadforensics.com/js/' + tarteaucitron.user.leadforensicsIidentifier + '.js'); 3284 } 3285}; 3286 3287// disqus 3288tarteaucitron.services.disqus = { 3289 "key": "disqus", 3290 "type": "comment", 3291 "name": "Disqus", 3292 "uri": "https://help.disqus.com/customer/portal/articles/466259-privacy-policy", 3293 "needConsent": true, 3294 "cookies": [], 3295 "js": function () { 3296 "use strict";
vendor: 14,871 bytes, lines 3297-3769
3297 if (tarteaucitron.user.disqusShortname === undefined) { 3298 return; 3299 } 3300 tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/embed.js'); 3301 tarteaucitron.addScript('//' + tarteaucitron.user.disqusShortname + '.disqus.com/count.js'); 3302 }, 3303 "fallback": function () { 3304 "use strict"; 3305 var id = 'disqus'; 3306 3307 if (document.getElementById('disqus_thread')) { 3308 document.getElementById('disqus_thread').innerHTML = tarteaucitron.engage(id); 3309 } 3310 } 3311}; 3312 3313// ekomi 3314tarteaucitron.services.ekomi = { 3315 "key": "ekomi", 3316 "type": "social", 3317 "name": "eKomi", 3318 "uri": "http://www.ekomi-us.com/us/privacy/", 3319 "needConsent": true, 3320 "cookies": [], 3321 "js": function () { 3322 "use strict"; 3323 if (tarteaucitron.user.ekomiCertId === undefined) { 3324 return; 3325 } 3326 window.eKomiIntegrationConfig = [ 3327 {certId: tarteaucitron.user.ekomiCertId} 3328 ]; 3329 tarteaucitron.addScript('//connect.ekomi.de/integration_1410173009/' + tarteaucitron.user.ekomiCertId + '.js'); 3330 } 3331}; 3332 3333// etracker 3334tarteaucitron.services.etracker = { 3335 "key": "etracker", 3336 "type": "analytic", 3337 "name": "eTracker", 3338 "uri": "https://www.etracker.com/en/data-protection.html", 3339 "needConsent": true, 3340 "cookies": [], 3341 "js": function () { 3342 "use strict"; 3343 if (tarteaucitron.user.etracker === undefined) { 3344 return; 3345 } 3346 3347 tarteaucitron.addScript('//static.etracker.com/code/e.js', '_etLoader', function () {}, true, "data-secure-code", tarteaucitron.user.etracker); 3348 } 3349}; 3350 3351// facebook 3352tarteaucitron.services.facebook = { 3353 "key": "facebook", 3354 "type": "social", 3355 "name": "Facebook", 3356 "uri": "https://www.facebook.com/policy.php", 3357 "needConsent": true, 3358 "cookies": ['xs', 'sb', 'fr', 'datr', 'dpr', 'c_user'], 3359 "js": function () { 3360 "use strict"; 3361 tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], ''); 3362 tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk'); 3363 if (tarteaucitron.isAjax === true) { 3364 if (typeof FB !== "undefined") { 3365 FB.XFBML.parse(); 3366 } 3367 } 3368 }, 3369 "fallback": function () { 3370 "use strict"; 3371 var id = 'facebook'; 3372 tarteaucitron.fallback(['fb-post', 'fb-follow', 'fb-activity', 'fb-send', 'fb-share-button', 'fb-like', 'fb-video'], tarteaucitron.engage(id)); 3373 } 3374}; 3375 3376// facebooklikebox 3377tarteaucitron.services.facebooklikebox = { 3378 "key": "facebooklikebox", 3379 "type": "social", 3380 "name": "Facebook (like box)", 3381 "uri": "https://www.facebook.com/policy.php", 3382 "needConsent": true, 3383 "cookies": [], 3384 "js": function () { 3385 "use strict"; 3386 tarteaucitron.fallback(['fb-like-box', 'fb-page'], ''); 3387 tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.3', 'facebook-jssdk'); 3388 if (tarteaucitron.isAjax === true) { 3389 if (typeof FB !== "undefined") { 3390 FB.XFBML.parse(); 3391 } 3392 } 3393 }, 3394 "fallback": function () { 3395 "use strict"; 3396 var id = 'facebooklikebox'; 3397 tarteaucitron.fallback(['fb-like-box', 'fb-page'], tarteaucitron.engage(id)); 3398 } 3399}; 3400 3401// facebookcomment 3402tarteaucitron.services.facebookcomment = { 3403 "key": "facebookcomment", 3404 "type": "comment", 3405 "name": "Facebook (commentaire)", 3406 "uri": "https://www.facebook.com/policy.php", 3407 "needConsent": true, 3408 "cookies": [], 3409 "js": function () { 3410 "use strict"; 3411 tarteaucitron.fallback(['fb-comments'], ''); 3412 tarteaucitron.addScript('//connect.facebook.net/' + tarteaucitron.getLocale() + '/sdk.js#xfbml=1&version=v2.0', 'facebook-jssdk'); 3413 if (tarteaucitron.isAjax === true) { 3414 if (typeof FB !== "undefined") { 3415 FB.XFBML.parse(); 3416 } 3417 } 3418 }, 3419 "fallback": function () { 3420 "use strict"; 3421 var id = 'facebookcomment'; 3422 tarteaucitron.fallback(['fb-comments'], tarteaucitron.engage(id)); 3423 } 3424}; 3425 3426// ferank 3427tarteaucitron.services.ferank = { 3428 "key": "ferank", 3429 "type": "analytic", 3430 "name": "FERank", 3431 "uri": "https://www.ferank.fr/respect-vie-privee/#mesureaudience", 3432 "needConsent": false, 3433 "cookies": [], 3434 "js": function () { 3435 "use strict"; 3436 tarteaucitron.addScript('//static.ferank.fr/pixel.js', '', function () { 3437 if (typeof tarteaucitron.user.ferankMore === 'function') { 3438 tarteaucitron.user.ferankMore(); 3439 } 3440 }); 3441 } 3442}; 3443 3444// pingdom 3445tarteaucitron.services.pingdom = { 3446 "key": "pingdom", 3447 "type": "api", 3448 "name": "Pingdom", 3449 "uri": "https://www.solarwinds.com/general-data-protection-regulation-cloud", 3450 "needConsent": true, 3451 "cookies": [], 3452 "js": function () { 3453 "use strict"; 3454 3455 if (tarteaucitron.user.pingdomId === undefined) { 3456 return; 3457 } 3458 3459 window._prum = [['id', tarteaucitron.user.pingdomId], ['mark', 'firstbyte', (new Date()).getTime()]]; 3460 3461 tarteaucitron.addScript('https://rum-static.pingdom.net/prum.min.js'); 3462 } 3463}; 3464 3465 3466// simpleanalytics 3467tarteaucitron.services.simpleanalytics = { 3468 "key": "simpleanalytics", 3469 "type": "analytic", 3470 "name": "Simple Analytics", 3471 "uri": "https://docs.simpleanalytics.com/what-we-collect", 3472 "needConsent": false, 3473 "cookies": [], 3474 "js": function () { 3475 "use strict"; 3476 tarteaucitron.addScript('https://scripts.simpleanalyticscdn.com/latest.js'); 3477 } 3478}; 3479 3480// stonly 3481tarteaucitron.services.stonly = { 3482 "key": "stonly", 3483 "type": "api", 3484 "name": "Stonly", 3485 "uri": "https://stonly.com/privacy", 3486 "needConsent": true, 3487 "cookies": [], 3488 "js": function () { 3489 "use strict"; 3490 if (tarteaucitron.user.stonlyId === undefined) { 3491 return; 3492 } 3493 3494 window.STONLY_WID = tarteaucitron.user.stonlyId; 3495 window.StonlyWidget || ((window.w = window.StonlyWidget = function() { 3496 window.w._api ? window.w._api.apply(window.w, arguments) : window.w.queue.push(arguments) 3497 }).queue = []); 3498 3499 tarteaucitron.addScript('https://stonly.com/js/widget/v2/stonly-widget.js?v=' + Date.now()); 3500 } 3501}; 3502 3503// stripe 3504/*tarteaucitron.services.stripe = { 3505 "key": "stripe", 3506 "type": "api", 3507 "name": "Stripe", 3508 "uri": "https://stripe.com/cookies-policy/legal", 3509 "needConsent": true, 3510 "cookies": [], 3511 "js": function () { 3512 "use strict"; 3513 tarteaucitron.addScript('https://js.stripe.com/v3/'); 3514 } 3515};*/ 3516 3517// ferank pub 3518tarteaucitron.services.ferankpub = { 3519 "key": "ferankpub", 3520 "type": "ads", 3521 "name": "FERank (pub)", 3522 "uri": "https://www.ferank.fr/respect-vie-privee/#regiepublicitaire", 3523 "needConsent": false, 3524 "cookies": [], 3525 "js": function () { 3526 "use strict"; 3527 tarteaucitron.addScript('//static.ferank.fr/publicite.async.js'); 3528 if (tarteaucitron.isAjax === true) { 3529 if (typeof ferankReady === 'function') { 3530 ferankReady(); 3531 } 3532 } 3533 }, 3534 "fallback": function () { 3535 "use strict"; 3536 var id = 'ferankpub'; 3537 tarteaucitron.fallback(['ferank-publicite'], tarteaucitron.engage(id)); 3538 } 3539}; 3540 3541// get+ 3542tarteaucitron.services.getplus = { 3543 "key": "getplus", 3544 "type": "analytic", 3545 "name": "Get+", 3546 "uri": "http://www.getplus.fr/Conditions-generales-de-vente_a226.html", 3547 "needConsent": true, 3548 "cookies": ['_first_pageview', '_jsuid', 'no_trackyy_' + tarteaucitron.user.getplusId, '_eventqueue'], 3549 "js": function () { 3550 "use strict"; 3551 if (tarteaucitron.user.getplusId === undefined) { 3552 return; 3553 } 3554 3555 window.webleads_site_ids = window.webleads_site_ids || []; 3556 window.webleads_site_ids.push(tarteaucitron.user.getplusId); 3557 tarteaucitron.addScript('//stats.webleads-tracker.com/js'); 3558 } 3559}; 3560 3561// google+ 3562tarteaucitron.services.ytsubscribe = { 3563 "key": "ytsubscribe", 3564 "type": "social", 3565 "name": "YouTube Subscribe Button", 3566 "uri": "https://policies.google.com/privacy", 3567 "needConsent": true, 3568 "cookies": [], 3569 "js": function () { 3570 "use strict"; 3571 tarteaucitron.addScript('https://apis.google.com/js/platform.js'); 3572 }, 3573 "fallback": function () { 3574 "use strict"; 3575 var id = 'gplus'; 3576 tarteaucitron.fallback(['g-ytsubscribe'], tarteaucitron.engage(id)); 3577 } 3578}; 3579 3580// google+ 3581tarteaucitron.services.gplus = { 3582 "key": "gplus", 3583 "type": "social", 3584 "name": "Google+", 3585 "uri": "https://policies.google.com/privacy", 3586 "needConsent": true, 3587 "cookies": [], 3588 "js": function () { 3589 "use strict"; 3590 tarteaucitron.addScript('https://apis.google.com/js/platform.js'); 3591 }, 3592 "fallback": function () { 3593 "use strict"; 3594 var id = 'gplus'; 3595 tarteaucitron.fallback(['g-plus', 'g-plusone'], tarteaucitron.engage(id)); 3596 } 3597}; 3598 3599// google+ badge 3600tarteaucitron.services.gplusbadge = { 3601 "key": "gplusbadge", 3602 "type": "social", 3603 "name": "Google+ (badge)", 3604 "uri": "https://policies.google.com/privacy", 3605 "needConsent": true, 3606 "cookies": [], 3607 "js": function () { 3608 "use strict"; 3609 tarteaucitron.addScript('https://apis.google.com/js/platform.js'); 3610 }, 3611 "fallback": function () { 3612 "use strict"; 3613 var id = 'gplusbadge'; 3614 tarteaucitron.fallback(['g-page', 'g-person'], tarteaucitron.engage(id)); 3615 } 3616}; 3617 3618// google adsense 3619tarteaucitron.services.adsense = { 3620 "key": "adsense", 3621 "type": "ads", 3622 "name": "Google Adsense", 3623 "uri": "https://adssettings.google.com/", 3624 "needConsent": true, 3625 "cookies": [], 3626 "js": function () { 3627 "use strict"; 3628 tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'); 3629 }, 3630 "fallback": function () { 3631 "use strict"; 3632 var id = 'adsense'; 3633 tarteaucitron.fallback(['adsbygoogle'], tarteaucitron.engage(id)); 3634 } 3635}; 3636 3637// google partners badge 3638tarteaucitron.services.googlepartners = { 3639 "key": "googlepartners", 3640 "type": "ads", 3641 "name": "Google Partners Badge", 3642 "uri": "https://adssettings.google.com/", 3643 "needConsent": true, 3644 "cookies": [], 3645 "js": function () { 3646 "use strict"; 3647 tarteaucitron.addScript('https://apis.google.com/js/platform.js'); 3648 }, 3649 "fallback": function () { 3650 "use strict"; 3651 var id = 'googlepartners'; 3652 tarteaucitron.fallback(['g-partnersbadge'], tarteaucitron.engage(id)); 3653 } 3654}; 3655 3656// google adsense search (form) 3657tarteaucitron.services.adsensesearchform = { 3658 "key": "adsensesearchform", 3659 "type": "ads", 3660 "name": "Google Adsense Search (form)", 3661 "uri": "https://adssettings.google.com/", 3662 "needConsent": true, 3663 "cookies": [], 3664 "js": function () { 3665 "use strict"; 3666 tarteaucitron.addScript('//www.google.com/coop/cse/brand?form=cse-search-box&lang=' + tarteaucitron.getLanguage()); 3667 } 3668}; 3669 3670// google adsense search (result) 3671tarteaucitron.services.adsensesearchresult = { 3672 "key": "adsensesearchresult", 3673 "type": "ads", 3674 "name": "Google Adsense Search (result)", 3675 "uri": "https://adssettings.google.com/", 3676 "needConsent": true, 3677 "cookies": [], 3678 "js": function () { 3679 "use strict"; 3680 if (tarteaucitron.user.adsensesearchresultCx === undefined) { 3681 return; 3682 } 3683 tarteaucitron.addScript('//www.google.com/cse/cse.js?cx=' + tarteaucitron.user.adsensesearchresultCx); 3684 }, 3685 "fallback": function () { 3686 "use strict"; 3687 var id = 'adsensesearchresult'; 3688 3689 if (document.getElementById('gcse_searchresults')) { 3690 document.getElementById('gcse_searchresults').innerHTML = tarteaucitron.engage(id); 3691 } 3692 } 3693}; 3694 3695// googleadwordsconversion 3696tarteaucitron.services.googleadwordsconversion = { 3697 "key": "googleadwordsconversion", 3698 "type": "ads", 3699 "name": "Google Adwords (conversion)", 3700 "uri": "https://www.google.com/settings/ads", 3701 "needConsent": true, 3702 "cookies": [], 3703 "js": function () { 3704 "use strict"; 3705 if (tarteaucitron.user.adwordsconversionId === undefined) { 3706 return; 3707 } 3708 3709 tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () { 3710 window.google_trackConversion({ 3711 google_conversion_id: tarteaucitron.user.adwordsconversionId, 3712 google_conversion_label: tarteaucitron.user.adwordsconversionLabel, 3713 google_conversion_language: tarteaucitron.user.adwordsconversionLanguage, 3714 google_conversion_format: tarteaucitron.user.adwordsconversionFormat, 3715 google_conversion_color: tarteaucitron.user.adwordsconversionColor, 3716 google_conversion_value: tarteaucitron.user.adwordsconversionValue, 3717 google_conversion_currency: tarteaucitron.user.adwordsconversionCurrency, 3718 google_custom_params: { 3719 parameter1: tarteaucitron.user.adwordsconversionCustom1, 3720 parameter2: tarteaucitron.user.adwordsconversionCustom2 3721 } 3722 }); 3723 }); 3724 } 3725}; 3726 3727// googleadwordsremarketing 3728tarteaucitron.services.googleadwordsremarketing = { 3729 "key": "googleadwordsremarketing", 3730 "type": "ads", 3731 "name": "Google Adwords (remarketing)", 3732 "uri": "https://www.google.com/settings/ads", 3733 "needConsent": true, 3734 "cookies": [], 3735 "js": function () { 3736 "use strict"; 3737 if (tarteaucitron.user.adwordsremarketingId === undefined) { 3738 return; 3739 } 3740 3741 tarteaucitron.addScript('//www.googleadservices.com/pagead/conversion_async.js', '', function () { 3742 window.google_trackConversion({ 3743 google_conversion_id: tarteaucitron.user.adwordsremarketingId, 3744 google_remarketing_only: true 3745 }); 3746 }); 3747 } 3748}; 3749 3750// google analytics (old) 3751tarteaucitron.services.gajs = { 3752 "key": "gajs", 3753 "type": "analytic", 3754 "name": "Google Analytics (ga.js)", 3755 "uri": "https://policies.google.com/privacy", 3756 "needConsent": true, 3757 "cookies": (function () { 3758 var googleIdentifier = tarteaucitron.user.gajsUa, 3759 tagUaCookie = '_gat_gtag_' + googleIdentifier, 3760 tagGCookie = '_ga_' + googleIdentifier; 3761 3762 tagUaCookie = tagUaCookie.replace(/-/g, '_'); 3763 tagGCookie = tagGCookie.replace(/G-/g, ''); 3764 3765 return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie]; 3766 })(), 3767 "js": function () { 3768 "use strict"; 3769 window._gaq = window._gaq || [];
3770 window._gaq.push(['_setAccount', tarteaucitron.user.gajsUa]); 3771 3772 if (tarteaucitron.user.gajsAnonymizeIp) { 3773 window._gaq.push (['_gat._anonymizeIp']); 3774 } 3775 3776 if (tarteaucitron.user.gajsPageView) { 3777 window._gaq.push(['_trackPageview, ' + tarteaucitron.user.gajsPageView]); 3778 } else { 3779 window._gaq.push(['_trackPageview']); 3780 } 3781 3782 tarteaucitron.addScript('//www.google-analytics.com/ga.js', '', function () { 3783 if (typeof tarteaucitron.user.gajsMore === 'function') { 3784 tarteaucitron.user.gajsMore(); 3785 } 3786 }); 3787 } 3788}; 3789 3790// google analytics 3791tarteaucitron.services.analytics = { 3792 "key": "analytics", 3793 "type": "analytic", 3794 "name": "Google Analytics (universal)", 3795 "uri": "https://policies.google.com/privacy", 3796 "needConsent": true, 3797 "cookies": (function () { 3798 var googleIdentifier = tarteaucitron.user.analyticsUa, 3799 tagUaCookie = '_gat_gtag_' + googleIdentifier, 3800 tagGCookie = '_ga_' + googleIdentifier; 3801 3802 tagUaCookie = tagUaCookie.replace(/-/g, '_'); 3803 tagGCookie = tagGCookie.replace(/G-/g, ''); 3804 3805 return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie]; 3806 })(), 3807 "js": function () { 3808 "use strict"; 3809 window.GoogleAnalyticsObject = 'ga'; 3810 window.ga = window.ga || function () { 3811 window.ga.q = window.ga.q || []; 3812 window.ga.q.push(arguments); 3813 }; 3814 window.ga.l = new Date(); 3815 tarteaucitron.addScript('https://www.google-analytics.com/analytics.js', '', function () { 3816 var uaCreate = {'cookieExpires': 34128000}; 3817 tarteaucitron.extend(uaCreate, tarteaucitron.user.analyticsUaCreate || {}); 3818 ga('create', tarteaucitron.user.analyticsUa, uaCreate); 3819 3820 if (tarteaucitron.user.analyticsAnonymizeIp) { 3821 ga('set', 'anonymizeIp', true); 3822 } 3823 3824 if (typeof tarteaucitron.user.analyticsPrepare === 'function') { 3825 tarteaucitron.user.analyticsPrepare(); 3826 } 3827 3828 if (tarteaucitron.user.analyticsPageView) { 3829 ga('send', 'pageview', tarteaucitron.user.analyticsPageView); 3830 } else { 3831 ga('send', 'pageview'); 3832 } 3833 3834 if (typeof tarteaucitron.user.analyticsMore === 'function') { 3835 tarteaucitron.user.analyticsMore(); 3836 } 3837 }); 3838 } 3839}; 3840 3841// google analytics 3842tarteaucitron.services.gtag = { 3843 "key": "gtag", 3844 "type": "analytic", 3845 "name": "Google Analytics (gtag.js)", 3846 "uri": "https://policies.google.com/privacy", 3847 "needConsent": true, 3848 "cookies": (function () { 3849 var googleIdentifier = tarteaucitron.user.gtagUa, 3850 tagUaCookie = '_gat_gtag_' + googleIdentifier, 3851 tagGCookie = '_ga_' + googleIdentifier; 3852 3853 tagUaCookie = tagUaCookie.replace(/-/g, '_'); 3854 tagGCookie = tagGCookie.replace(/G-/g, ''); 3855 3856 return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie]; 3857 })(), 3858 "js": function () { 3859 "use strict"; 3860 window.dataLayer = window.dataLayer || []; 3861 tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + tarteaucitron.user.gtagUa, '', function () { 3862 window.gtag = function gtag(){dataLayer.push(arguments);} 3863 gtag('js', new Date()); 3864 3865 if (tarteaucitron.user.gtagCrossdomain) { 3866 /** 3867 * https://support.google.com/analytics/answer/7476333?hl=en 3868 * https://developers.google.com/analytics/devguides/collection/gtagjs/cross-domain 3869 */ 3870 gtag('config',tarteaucitron.user.gtagUa,{ 'anonymize_ip': true },{linker: {domains: tarteaucitron.user.gtagCrossdomain,}}); 3871 } else { 3872 gtag('config', tarteaucitron.user.gtagUa, { 'anonymize_ip': true }); 3873 } 3874 3875 if (typeof tarteaucitron.user.gtagMore === 'function') { 3876 tarteaucitron.user.gtagMore(); 3877 } 3878 }); 3879 } 3880}; 3881 3882tarteaucitron.services.firebase = {
3883 "key": "firebase", 3884 "type": "analytic", 3885 "name": "Firebase", 3886 "uri": "https://firebase.google.com/support/privacy", 3887 "needConsent": true, 3888 "cookies": [], 3889 "js": function () { 3890 "use strict"; 3891 3892 if (tarteaucitron.user.firebaseApiKey === undefined) { 3893 return; 3894 } 3895 3896 tarteaucitron.addScript('https://www.gstatic.com/firebasejs/8.6.2/firebase-app.js', '', function() { 3897 tarteaucitron.addScript('https://www.gstatic.com/firebasejs/8.6.2/firebase-analytics.js', '', function() { 3898 3899 var firebaseConfig = { 3900 apiKey: tarteaucitron.user.firebaseApiKey, 3901 authDomain: tarteaucitron.user.firebaseAuthDomain, 3902 databaseURL: tarteaucitron.user.firebaseDatabaseUrl, 3903 projectId: tarteaucitron.user.firebaseProjectId, 3904 storageBucket: tarteaucitron.user.firebaseStorageBucket, 3905 appId: tarteaucitron.user.firebaseAppId, 3906 measurementId: tarteaucitron.user.firebaseMeasurementId, 3907 }; 3908 firebase.initializeApp(firebaseConfig); 3909 firebase.analytics(); 3910 }); 3911 }); 3912 } 3913}; 3914 3915// genially 3916tarteaucitron.services.genially = { 3917 "key": "genially", 3918 "type": "api", 3919 "name": "genially", 3920 "uri": "https://www.genial.ly/cookies", 3921 "needConsent": true, 3922 "cookies": ['_gat', '_ga', '_gid'], 3923 "js": function () { 3924 "use strict"; 3925 3926 tarteaucitron.fallback(['tac_genially'], function (x) { 3927 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'genially iframe'), 3928 width = x.getAttribute("width"), 3929 height = x.getAttribute("height"), 3930 geniallyid = x.getAttribute("geniallyid"), 3931 allowfullscreen= x.getAttribute("allowfullscreen"); 3932 3933 return '<div style="position: relative; padding-bottom: 109.00%; padding-top: 0; height: 0;"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" title="' + frame_title + '" src="https://view.genial.ly/' + geniallyid + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe></div>'; 3934 }); 3935 }, 3936 "fallback": function () { 3937 "use strict"; 3938 var id = 'genially'; 3939 tarteaucitron.fallback(['tac_genially'], function (elem) { 3940 elem.style.width = elem.getAttribute('width') + 'px'; 3941 elem.style.height = elem.getAttribute('height') + 'px'; 3942 return tarteaucitron.engage(id); 3943 }); 3944 } 3945}; 3946 3947// google maps 3948tarteaucitron.services.googlemaps = { 3949 "key": "googlemaps", 3950 "type": "api", 3951 "name": "Google Maps", 3952 "uri": "https://policies.google.com/privacy", 3953 "needConsent": true, 3954 "cookies": [], 3955 "js": function () { 3956 "use strict"; 3957 var mapOptions, 3958 map, 3959 uniqIds = [], 3960 i; 3961 3962 if (tarteaucitron.user.mapscallback === undefined) { 3963 tarteaucitron.user.mapscallback = 'tac_googlemaps_callback'; 3964 } 3965 3966 // Add Google Maps libraries if any (https://developers.google.com/maps/documentation/javascript/libraries) 3967 var googleMapsLibraries = ''; 3968 if (tarteaucitron.user.googlemapsLibraries) { 3969 googleMapsLibraries = '&libraries=' + tarteaucitron.user.googlemapsLibraries; 3970 } 3971 3972 tarteaucitron.addScript('//maps.googleapis.com/maps/api/js?v=3.exp&key=' + tarteaucitron.user.googlemapsKey + '&callback='+tarteaucitron.user.mapscallback + googleMapsLibraries); 3973 3974 window.tac_googlemaps_callback = function () { 3975 tarteaucitron.fallback(['googlemaps-canvas'], function (x) { 3976 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 3977 uniqIds.push(uniqId); 3978 return '<div id="' + uniqId + '" zoom="' + x.getAttribute('zoom') + '" latitude="' + x.getAttribute('latitude') + '" longitude="' + x.getAttribute('longitude') + '" style="width:' + x.offsetWidth + 'px;height:' + x.offsetHeight + 'px"></div>'; 3979 }); 3980 3981 var i; 3982 for (i = 0; i < uniqIds.length; i += 1) { 3983 mapOptions = { 3984 zoom: parseInt(document.getElementById(uniqIds[i]).getAttribute('zoom'), 10), 3985 center: new google.maps.LatLng(parseFloat(document.getElementById(uniqIds[i]).getAttribute('latitude'), 10), parseFloat(document.getElementById(uniqIds[i]).getAttribute('longitude'), 10)) 3986 }; 3987 map = new google.maps.Map(document.getElementById(uniqIds[i]), mapOptions); 3988 new google.maps.Marker({position:{lat:parseFloat(document.getElementById(uniqIds[i]).getAttribute('latitude'), 10),lng:parseFloat(document.getElementById(uniqIds[i]).getAttribute('longitude'), 10)},map:map}); 3989 } 3990 }; 3991 }, 3992 "fallback": function () { 3993 "use strict"; 3994 var id = 'googlemaps'; 3995 tarteaucitron.fallback(['googlemaps-canvas'], tarteaucitron.engage(id)); 3996 } 3997}; 3998 3999// googlemaps search 4000tarteaucitron.services.googlemapssearch = {
4001 "key": "googlemapssearch", 4002 "type": "api", 4003 "name": "Google Maps Search API", 4004 "uri": "https://policies.google.com/privacy", 4005 "needConsent": true, 4006 "cookies": ['nid'], 4007 "js": function () { 4008 "use strict"; 4009 tarteaucitron.fallback(['googlemapssearch'], function (x) { 4010 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Google search iframe'), 4011 width = x.getAttribute("width"), 4012 height = x.getAttribute("height"), 4013 // url = x.getAttribute("data-url"); 4014 query = escape(x.getAttribute("data-search")), 4015 key = x.getAttribute("data-api-key"); 4016 4017 return '<iframe title="' + frame_title + '" width="' + width +'" height="' + height + '" style="border:0" src="https://www.google.com/maps/embed/v1/place?q='+query+'&key='+key+'" allowfullscreen></iframe> ' 4018 }); 4019 }, 4020 "fallback": function () { 4021 "use strict"; 4022 var id = 'googlemapssearch'; 4023 tarteaucitron.fallback(['googlemapssearch'], function (elem) { 4024 elem.style.width = elem.getAttribute('width') + 'px'; 4025 elem.style.height = elem.getAttribute('height') + 'px'; 4026 return tarteaucitron.engage(id); 4027 }); 4028 } 4029}; 4030 4031// googlemaps embed iframe 4032tarteaucitron.services.googlemapsembed = { 4033 "key": "googlemapsembed", 4034 "type": "api", 4035 "name": "Google Maps Embed", 4036 "uri": "https://policies.google.com/privacy", 4037 "needConsent": true, 4038 "cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'], 4039 "js": function () { 4040 "use strict"; 4041 tarteaucitron.fallback(['googlemapsembed'], function (x) { 4042 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Google maps iframe'), 4043 width = tarteaucitron.getElemWidth(x), 4044 height = tarteaucitron.getElemHeight(x), 4045 url = x.getAttribute("data-url"); 4046 4047 return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>'; 4048 }); 4049 }, 4050 "fallback": function () { 4051 "use strict"; 4052 var id = 'googlemapsembed'; 4053 tarteaucitron.fallback(['googlemapsembed'], function (elem) { 4054 elem.style.width = tarteaucitron.getElemWidth(elem) + 'px'; 4055 elem.style.height = tarteaucitron.getElemHeight(elem) + 'px'; 4056 return tarteaucitron.engage(id); 4057 }); 4058 } 4059}; 4060 4061// google tag manager 4062tarteaucitron.services.googletagmanager = { 4063 "key": "googletagmanager", 4064 "type": "api", 4065 "name": "Google Tag Manager", 4066 "uri": "https://policies.google.com/privacy", 4067 "needConsent": true, 4068 "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'], 4069 "js": function () { 4070 "use strict"; 4071 if (tarteaucitron.user.googletagmanagerId === undefined) { 4072 return; 4073 } 4074 window.dataLayer = window.dataLayer || []; 4075 window.dataLayer.push({ 4076 'gtm.start': new Date().getTime(), 4077 event: 'gtm.js' 4078 }); 4079 tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + tarteaucitron.user.googletagmanagerId); 4080 } 4081}; 4082 4083// google tag manager multiple 4084tarteaucitron.services.multiplegoogletagmanager = { 4085 "key": "multiplegoogletagmanager", 4086 "type": "api", 4087 "name": "Google Tag Manager", 4088 "uri": "https://policies.google.com/privacy", 4089 "needConsent": true, 4090 "cookies": ['_ga', '_gat', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '__gads', '_drt_', 'FLC', 'exchange_uid', 'id', 'fc', 'rrs', 'rds', 'rv', 'uid', 'UIDR', 'UID', 'clid', 'ipinfo', 'acs'], 4091 "js": function () { 4092 "use strict"; 4093 if (tarteaucitron.user.multiplegoogletagmanagerId === undefined) { 4094 return; 4095 } 4096 window.dataLayer = window.dataLayer || []; 4097 window.dataLayer.push({ 4098 'gtm.start': new Date().getTime(), 4099 event: 'gtm.js' 4100 }); 4101
4102 tarteaucitron.user.multiplegoogletagmanagerId.forEach(function (id) { 4103 tarteaucitron.addScript('https://www.googletagmanager.com/gtm.js?id=' + id); 4104 }); 4105 4106 } 4107}; 4108 4109// google webfonts 4110tarteaucitron.services.googlefonts = { 4111 "key": "googlefonts", 4112 "type": "api", 4113 "name": "Google Webfonts", 4114 "uri": "https://policies.google.com/privacy", 4115 "needConsent": true, 4116 "cookies": [], 4117 "js": function () { 4118 "use strict"; 4119 if (tarteaucitron.user.googleFonts === undefined) { 4120 return; 4121 } 4122 tarteaucitron.addScript('//ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js', '', function () { 4123 WebFont.load({ 4124 google: { 4125 families: tarteaucitron.user.googleFonts 4126 } 4127 }); 4128 }); 4129 } 4130}; 4131 4132// hubspot 4133tarteaucitron.services.hubspot = { 4134 "key": "hubspot", 4135 "type": "analytic", 4136 "name": "Hubspot", 4137 "uri": "https://legal.hubspot.com/privacy-policy", 4138 "needConsent": true, 4139 "cookies": ['hubspotutk', 'fr', '__hstc', '__hssrc', '__hssc', '__cfduid'], 4140 "js": function () { 4141 "use strict"; 4142 tarteaucitron.addScript('//js.hs-scripts.com/' + tarteaucitron.user.hubspotId + '.js', 'hs-script-loader'); 4143 } 4144}; 4145 4146// instagram 4147tarteaucitron.services.instagram = { 4148 "key": "instagram", 4149 "type": "social", 4150 "name": "Instagram", 4151 "uri": "https://www.instagram.com/legal/privacy/", 4152 "needConsent": true, 4153 "cookies": ['shbts', 'sessionid', 'csrftoken', 'rur', 'shbid', 'mid', 'ds_usr_id', 'ig_did', 'ig_cb', 'datr'], 4154 "js": function () { 4155 "use strict"; 4156 tarteaucitron.fallback(['instagram_post'], function (x) { 4157 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Instagram iframe'), 4158 post_id = x.getAttribute('postId'), 4159 post_permalink = x.getAttribute('data-instgrm-permalink'), 4160 embed_width = x.getAttribute('width'), 4161 embed_height = x.getAttribute('height'), 4162 frame_width, 4163 frame_height, 4164 post_frame; 4165 4166 if (post_permalink != null) { 4167 tarteaucitron.addScript('//www.instagram.com/embed.js', 'instagram-embed'); 4168 4169 return ''; 4170 } 4171 4172 if (post_id === undefined) { 4173 return ""; 4174 } 4175 4176 if (embed_width !== undefined) { 4177 frame_width = 'width="' + embed_width + '" '; 4178 } else { 4179 frame_width = '"" '; 4180 } 4181 if (embed_height !== undefined) { 4182 frame_height = 'height="' + embed_height + '" '; 4183 } else { 4184 frame_height = '"" '; 4185 } 4186 4187 post_frame = '<iframe title="' + frame_title + '" src="//www.instagram.com/' + post_id + '/embed" ' + frame_width + frame_height + '></iframe>'; 4188 4189 return post_frame; 4190 }); 4191 }, 4192 "fallback": function () { 4193 "use strict"; 4194 var id = 'instagram'; 4195 tarteaucitron.fallback(['instagram_post'], function (elem) { 4196 elem.style.width = elem.getAttribute('width') + 'px'; 4197 elem.style.height = elem.getAttribute('height') + 'px'; 4198 return tarteaucitron.engage(id); 4199 }); 4200 } 4201}; 4202 4203// jsapi 4204tarteaucitron.services.jsapi = { 4205 "key": "jsapi", 4206 "type": "api", 4207 "name": "Google jsapi", 4208 "uri": "https://policies.google.com/privacy", 4209 "needConsent": true, 4210 "cookies": [], 4211 "js": function () { 4212 "use strict"; 4213 tarteaucitron.addScript('//www.google.com/jsapi'); 4214 } 4215}; 4216 4217// twitterwidgetsapi 4218tarteaucitron.services.twitterwidgetsapi = { 4219 "key": "twitterwidgetsapi", 4220 "type": "api", 4221 "name": "Twitter Widgets API", 4222 "uri": "https://support.twitter.com/articles/20170514", 4223 "needConsent": true, 4224 "cookies": [], 4225 "js": function () { 4226 "use strict"; 4227 tarteaucitron.fallback(['tacTwitterAPI'], ''); 4228 tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs'); 4229 }, 4230 "fallback": function () { 4231 "use strict"; 4232 var id = 'twitterwidgetsapi'; 4233 tarteaucitron.fallback(['tacTwitterAPI'], tarteaucitron.engage(id)); 4234 } 4235}; 4236 4237// recaptcha 4238tarteaucitron.services.recaptcha = {
vendor: 4,461 bytes, lines 4239-4382
4239 "key": "recaptcha", 4240 "type": "api", 4241 "name": "reCAPTCHA", 4242 "uri": "https://policies.google.com/privacy", 4243 "needConsent": true, 4244 "cookies": ['nid'], 4245 "js": function () { 4246 "use strict"; 4247 window.tacRecaptchaOnLoad = tarteaucitron.user.recaptchaOnLoad || function() {}; 4248 tarteaucitron.fallback(['g-recaptcha'], ''); 4249 4250 if (tarteaucitron.user.recaptchaapi === undefined) { 4251 tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad'); 4252 } else { 4253 tarteaucitron.addScript('https://www.google.com/recaptcha/api.js?onload=tacRecaptchaOnLoad&render=' + tarteaucitron.user.recaptchaapi); 4254 } 4255 4256 }, 4257 "fallback": function () { 4258 "use strict"; 4259 var id = 'recaptcha'; 4260 tarteaucitron.fallback(['g-recaptcha'], tarteaucitron.engage(id)); 4261 } 4262}; 4263 4264// linkedin 4265tarteaucitron.services.linkedin = { 4266 "key": "linkedin", 4267 "type": "social", 4268 "name": "Linkedin", 4269 "uri": "https://www.linkedin.com/legal/cookie_policy", 4270 "needConsent": true, 4271 "cookies": [], 4272 "js": function () { 4273 "use strict"; 4274 tarteaucitron.fallback(['tacLinkedin'], ''); 4275 tarteaucitron.addScript('//platform.linkedin.com/in.js'); 4276 if (tarteaucitron.isAjax === true) { 4277 if (typeof IN !== "undefined") { 4278 IN.parse(); 4279 } 4280 } 4281 }, 4282 "fallback": function () { 4283 "use strict"; 4284 var id = 'linkedin'; 4285 tarteaucitron.fallback(['tacLinkedin'], tarteaucitron.engage(id)); 4286 } 4287}; 4288 4289// mautic 4290tarteaucitron.services.mautic = { 4291 "key": "mautic", 4292 "type": "analytic", 4293 "name": "Mautic", 4294 "uri": "https://www.mautic.org/privacy-policy/", 4295 "needConsent": true, 4296 "cookies": ['mtc_id', 'mtc_sid'], 4297 "js": function () { 4298 "use strict"; 4299 if (tarteaucitron.user.mauticurl === undefined) { 4300 return; 4301 } 4302 4303 window.MauticTrackingObject = 'mt'; 4304 window.mt = window.mt || function () { 4305 window.mt.q = window.mt.q || []; 4306 window.mt.q.push(arguments); 4307 }; 4308 4309 tarteaucitron.addScript(tarteaucitron.user.mauticurl, '', function() { 4310 mt('send', 'pageview'); 4311 }); 4312 } 4313}; 4314 4315// microsoftcampaignanalytics 4316tarteaucitron.services.microsoftcampaignanalytics = { 4317 "key": "microsoftcampaignanalytics", 4318 "type": "analytic", 4319 "name": "Microsoft Campaign Analytics", 4320 "uri": "https://privacy.microsoft.com/privacystatement/", 4321 "needConsent": true, 4322 "cookies": [], 4323 "js": function () { 4324 "use strict"; 4325 if (tarteaucitron.user.microsoftcampaignanalyticsUUID === undefined) { 4326 return; 4327 } 4328 4329 tarteaucitron.addScript('//flex.atdmt.com/mstag/site/' + tarteaucitron.user.microsoftcampaignanalyticsUUID + '/mstag.js', 'mstag_tops', function () { 4330 window.mstag = {loadTag : function () {}, time : (new Date()).getTime()}; 4331 window.mstag.loadTag("analytics", {dedup: "1", domainId: tarteaucitron.user.microsoftcampaignanalyticsdomainId, type: "1", actionid: tarteaucitron.user.microsoftcampaignanalyticsactionId}); 4332 }); 4333 } 4334}; 4335 4336// onesignal 4337tarteaucitron.services.onesignal = { 4338 "key": "onesignal", 4339 "type": "api", 4340 "name": "OneSignal", 4341 "uri": "https://onesignal.com/privacy_policy", 4342 "needConsent": true, 4343 "cookies": [], 4344 "js": function () { 4345 "use strict"; 4346 if (tarteaucitron.user.onesignalAppId === undefined) { 4347 return; 4348 } 4349 window.OneSignal = window.OneSignal || []; 4350 4351 window.OneSignal.push(function() { 4352 window.OneSignal.init({ 4353 appId: tarteaucitron.user.onesignalAppId, 4354 }); 4355 }); 4356 4357 tarteaucitron.addScript('https://cdn.onesignal.com/sdks/OneSignalSDK.js'); 4358 } 4359}; 4360 4361// pinterest 4362tarteaucitron.services.pinterest = { 4363 "key": "pinterest", 4364 "type": "social", 4365 "name": "Pinterest", 4366 "uri": "https://about.pinterest.com/privacy-policy", 4367 "needConsent": true, 4368 "cookies": [], 4369 "js": function () { 4370 "use strict"; 4371 tarteaucitron.fallback(['tacPinterest'], ''); 4372 tarteaucitron.addScript('//assets.pinterest.com/js/pinit.js'); 4373 }, 4374 "fallback": function () { 4375 "use strict"; 4376 var id = 'pinterest'; 4377 tarteaucitron.fallback(['tacPinterest'], tarteaucitron.engage(id)); 4378 } 4379}; 4380 4381// prelinker 4382tarteaucitron.services.prelinker = {
4383 "key": "prelinker", 4384 "type": "ads", 4385 "name": "Prelinker", 4386 "uri": "http://www.prelinker.com/index/index/cgu/", 4387 "needConsent": true, 4388 "cookies": ['_sp_id.32f5', '_sp_ses.32f5'], 4389 "js": function () { 4390 "use strict"; 4391 var uniqIds = [], 4392 i, 4393 uri; 4394 4395 tarteaucitron.fallback(['prelinker-canvas'], function (x) { 4396 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 4397 uniqIds.push(uniqId); 4398 return '<div id="' + uniqId + '" siteId="' + x.getAttribute('siteId') + '" bannerId="' + x.getAttribute('bannerId') + '" defaultLanguage="' + x.getAttribute('defaultLanguage') + '" tracker="' + x.getAttribute('tracker') + '"></div>'; 4399 }); 4400 4401 for (i = 0; i < uniqIds.length; i += 1) { 4402 uri = 'http://promo.easy-dating.org/banner/index?'; 4403 uri += 'site_id=' + document.getElementById(uniqIds[i]).getAttribute('siteId') + '&'; 4404 uri += 'banner_id=' + document.getElementById(uniqIds[i]).getAttribute('bannerId') + '&'; 4405 uri += 'default_language=' + document.getElementById(uniqIds[i]).getAttribute('defaultLanguage') + '&'; 4406 uri += 'tr4ck=' + document.getElementById(uniqIds[i]).getAttribute('trackrt'); 4407 4408 tarteaucitron.makeAsync.init(uri, uniqIds[i]); 4409 } 4410 }, 4411 "fallback": function () { 4412 "use strict"; 4413 var id = 'prelinker'; 4414 tarteaucitron.fallback(['prelinker-canvas'], tarteaucitron.engage(id)); 4415 } 4416}; 4417 4418// prezi 4419tarteaucitron.services.prezi = { 4420 "key": "prezi", 4421 "type": "video", 4422 "name": "Prezi", 4423 "uri": "https://prezi.com/privacy-policy/", 4424 "needConsent": true, 4425 "cookies": [], 4426 "js": function () { 4427 "use strict"; 4428 tarteaucitron.fallback(['prezi-canvas'], function (x) { 4429 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Prezi iframe'), 4430 id = x.getAttribute("data-id"), 4431 width = x.getAttribute("width"), 4432 height = x.getAttribute("height"), 4433 url = 'https://prezi.com/embed/' + id + '/?bgcolor=ffffff&lock_to_path=0&autoplay=0&autohide_ctrls=0'; 4434 4435 return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>'; 4436 }); 4437 }, 4438 "fallback": function () { 4439 "use strict"; 4440 var id = 'prezi'; 4441 tarteaucitron.fallback(['prezi-canvas'], function (elem) { 4442 elem.style.width = elem.getAttribute('width') + 'px'; 4443 elem.style.height = elem.getAttribute('height') + 'px'; 4444 return tarteaucitron.engage(id); 4445 }); 4446 } 4447}; 4448 4449// pubdirecte 4450tarteaucitron.services.pubdirecte = { 4451 "key": "pubdirecte", 4452 "type": "ads", 4453 "name": "Pubdirecte", 4454 "uri": "http://pubdirecte.com/contact.php", 4455 "needConsent": true, 4456 "cookies": [], 4457 "js": function () { 4458 "use strict"; 4459 var uniqIds = [], 4460 i, 4461 uri; 4462 4463 tarteaucitron.fallback(['pubdirecte-canvas'], function (x) { 4464 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 4465 uniqIds.push(uniqId); 4466 return '<div id="' + uniqId + '" pid="' + x.getAttribute('pid') + '" ref="' + x.getAttribute('ref') + '"></div>'; 4467 }); 4468 4469 for (i = 0; i < uniqIds.length; i += 1) { 4470 uri = '//www.pubdirecte.com/script/banniere.php?'; 4471 uri += 'id=' + document.getElementById(uniqIds[i]).getAttribute('pid') + '&'; 4472 uri += 'ref=' + document.getElementById(uniqIds[i]).getAttribute('ref'); 4473 4474 tarteaucitron.makeAsync.init(uri, uniqIds[i]); 4475 } 4476 }, 4477 "fallback": function () { 4478 "use strict"; 4479 var id = 'pubdirecte'; 4480 tarteaucitron.fallback(['pubdirecte-canvas'], tarteaucitron.engage(id)); 4481 } 4482}; 4483 4484// purechat 4485tarteaucitron.services.purechat = { 4486 "key": "purechat", 4487 "type": "support", 4488 "name": "PureChat", 4489 "uri": "https://www.purechat.com/privacy", 4490 "needConsent": true, 4491 "cookies": [], 4492 "js": function () { 4493 "use strict"; 4494 if (tarteaucitron.user.purechatId === undefined) { 4495 return; 4496 } 4497 4498 tarteaucitron.addScript('//app.purechat.com/VisitorWidget/WidgetScript', '', function () { 4499 try { 4500 window.w = new PCWidget({ c: tarteaucitron.user.purechatId, f: true }); 4501 } catch (e) {} 4502 }); 4503 } 4504}; 4505 4506// rumbletalk 4507tarteaucitron.services.rumbletalk = {
4508 "key": "rumbletalk", 4509 "type": "social", 4510 "name": "RumbleTalk", 4511 "needConsent": true, 4512 "cookies": ['AWSALB'], 4513 "js": function () { 4514 "use strict"; 4515 if (tarteaucitron.user.rumbletalkid === undefined) { 4516 return; 4517 } 4518 4519 tarteaucitron.addScript('https://rumbletalk.com/client/?' + tarteaucitron.user.rumbletalkid); 4520 4521 tarteaucitron.fallback(['rumbletalk'], function (x) { 4522 var width = tarteaucitron.getElemWidth(x), 4523 height = tarteaucitron.getElemHeight(x), 4524 id = x.getAttribute("data-id"); 4525 4526 return '<div style="height: ' + height + 'px; width: ' + width + 'px;"><div id="' + id + '"></div></div>'; 4527 }); 4528 }, 4529 "fallback": function () { 4530 "use strict"; 4531 var id = 'rumbletalk'; 4532 tarteaucitron.fallback(['rumbletalk'], function (elem) { 4533 elem.style.width = tarteaucitron.getElemWidth(elem) + 'px'; 4534 elem.style.height = tarteaucitron.getElemHeight(elem) + 'px'; 4535 4536 return tarteaucitron.engage(id); 4537 }); 4538 } 4539 }; 4540 4541// shareaholic 4542tarteaucitron.services.shareaholic = { 4543 "key": "shareaholic", 4544 "type": "social", 4545 "name": "Shareaholic", 4546 "uri": "https://shareaholic.com/privacy/choices", 4547 "needConsent": true, 4548 "cookies": ['__utma', '__utmb', '__utmc', '__utmz', '__utmt_Shareaholic%20Pageviews'], 4549 "js": function () { 4550 "use strict"; 4551 if (tarteaucitron.user.shareaholicSiteId === undefined) { 4552 return; 4553 } 4554 4555 tarteaucitron.fallback(['shareaholic-canvas'], ''); 4556 tarteaucitron.addScript('//dsms0mj1bbhn4.cloudfront.net/assets/pub/shareaholic.js', '', function () { 4557 try { 4558 Shareaholic.init(tarteaucitron.user.shareaholicSiteId); 4559 } catch (e) {} 4560 }); 4561 }, 4562 "fallback": function () { 4563 "use strict"; 4564 var id = 'shareaholic'; 4565 tarteaucitron.fallback(['shareaholic-canvas'], tarteaucitron.engage(id)); 4566 } 4567}; 4568 4569// shareasale 4570tarteaucitron.services.shareasale = { 4571 "key": "shareasale", 4572 "type": "ads", 4573 "name": "ShareASale", 4574 "uri": "https://www.shareasale.com/PrivacyPolicy.pdf", 4575 "needConsent": true, 4576 "cookies": [], 4577 "js": function () { 4578 "use strict"; 4579 var uniqIds = [], 4580 i, 4581 uri; 4582 4583 tarteaucitron.fallback(['shareasale-canvas'], function (x) { 4584 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 4585 uniqIds.push(uniqId); 4586 return '<div id="' + uniqId + '" amount="' + x.getAttribute('amount') + '" tracking="' + x.getAttribute('tracking') + '" transtype="' + x.getAttribute('transtype') + '" persale="' + x.getAttribute('persale') + '" perlead="' + x.getAttribute('perlead') + '" perhit="' + x.getAttribute('perhit') + '" merchantID="' + x.getAttribute('merchantID') + '"></div>'; 4587 }); 4588 4589 for (i = 0; i < uniqIds.length; i += 1) { 4590 uri = 'https://shareasale.com/sale.cfm?'; 4591 uri += 'amount=' + document.getElementById(uniqIds[i]).getAttribute('amount') + '&'; 4592 uri += 'tracking=' + document.getElementById(uniqIds[i]).getAttribute('tracking') + '&'; 4593 uri += 'transtype=' + document.getElementById(uniqIds[i]).getAttribute('transtype') + '&'; 4594 uri += 'persale=' + document.getElementById(uniqIds[i]).getAttribute('persale') + '&'; 4595 uri += 'perlead=' + document.getElementById(uniqIds[i]).getAttribute('perlead') + '&'; 4596 uri += 'perhit=' + document.getElementById(uniqIds[i]).getAttribute('perhit') + '&'; 4597 uri += 'merchantID=' + document.getElementById(uniqIds[i]).getAttribute('merchantID'); 4598 4599 document.getElementById(uniqIds[i]).innerHTML = '<img src=\'' + uri + '\' width=\'1\' height=\'1\' />'; 4600 } 4601 }, 4602 "fallback": function () { 4603 "use strict"; 4604 var id = 'shareasale'; 4605 tarteaucitron.fallback(['shareasale-canvas'], tarteaucitron.engage(id)); 4606 } 4607}; 4608 4609// sharethis 4610tarteaucitron.services.sharethis = { 4611 "key": "sharethis", 4612 "type": "social", 4613 "name": "ShareThis", 4614 "uri": "http://www.sharethis.com/legal/privacy/", 4615 "needConsent": true, 4616 "cookies": ['__unam'], 4617 "js": function () { 4618 "use strict"; 4619 if (tarteaucitron.user.sharethisPublisher === undefined) { 4620 return; 4621 } 4622 var switchTo5x = true, 4623 uri = ('https:' === document.location.protocol ? 'https://ws' : 'http://w') + '.sharethis.com/button/buttons.js'; 4624
4625 tarteaucitron.fallback(['tacSharethis'], ''); 4626 tarteaucitron.addScript(uri, '', function () { 4627 stLight.options({publisher: tarteaucitron.user.sharethisPublisher, doNotHash: false, doNotCopy: false, hashAddressBar: false}); 4628 }); 4629 4630 if (tarteaucitron.isAjax === true) { 4631 if (typeof stButtons !== "undefined") { 4632 stButtons.locateElements(); 4633 } 4634 } 4635 }, 4636 "fallback": function () { 4637 "use strict"; 4638 var id = 'sharethis'; 4639 tarteaucitron.fallback(['tacSharethis'], tarteaucitron.engage(id)); 4640 } 4641}; 4642 4643// slideshare 4644tarteaucitron.services.slideshare = { 4645 "key": "slideshare", 4646 "type": "video", 4647 "name": "SlideShare", 4648 "uri": "https://www.linkedin.com/legal/privacy-policy", 4649 "needConsent": true, 4650 "cookies": [], 4651 "js": function () { 4652 "use strict"; 4653 tarteaucitron.fallback(['slideshare-canvas'], function (x) { 4654 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Slideshare iframe'), 4655 id = x.getAttribute("data-id"), 4656 width = x.getAttribute("width"), 4657 height = x.getAttribute("height"), 4658 url = '//www.slideshare.net/slideshow/embed_code/' + id; 4659 4660 return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" scrolling="no" allowtransparency allowfullscreen></iframe>'; 4661 }); 4662 }, 4663 "fallback": function () { 4664 "use strict"; 4665 var id = 'slideshare'; 4666 tarteaucitron.fallback(['slideshare-canvas'], function (elem) { 4667 elem.style.width = elem.getAttribute('width') + 'px'; 4668 elem.style.height = elem.getAttribute('height') + 'px'; 4669 return tarteaucitron.engage(id); 4670 }); 4671 } 4672}; 4673 4674// soundcloud 4675tarteaucitron.services.soundcloud = { 4676 key: 'soundcloud', 4677 type: 'video', 4678 name: 'SoundCloud', 4679 needConsent: true, 4680 cookies: ['sc_anonymous_id', 'sclocale'], 4681 js: function () { 4682 "use strict"; 4683 tarteaucitron.fallback(['soundcloud_player'], function (x) { 4684 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Soundcloud iframe'), 4685 player_height = x.getAttribute('data-height'), 4686 frame_height = 'height="' + player_height + '" ', 4687 playable_id = x.getAttribute('data-playable-id'), 4688 playable_type = x.getAttribute('data-playable-type'), 4689 playable_url = x.getAttribute('data-playable-url'), 4690 color = x.getAttribute('data-color'), 4691 autoplay = x.getAttribute('data-auto-play'), 4692 hideRelated = x.getAttribute('data-hide-related'), 4693 showComments = x.getAttribute('data-show-comments'), 4694 showUser = x.getAttribute('data-show-user'), 4695 showReposts = x.getAttribute('data-show-reposts'), 4696 showTeaser = x.getAttribute('data-show-teaser'), 4697 visual = x.getAttribute('data-visual'), 4698 artwork = x.getAttribute('data-artwork'); 4699 4700 var allowAutoplay = autoplay === 'true' ? 'allow="autoplay"' : ''; 4701 4702 if (playable_id === undefined && playable_url === undefined) { 4703 return ""; 4704 } 4705 4706 // Allow to embed from API results (playable_type + playable_id) 4707 var qs = '?url=https%3A//api.soundcloud.com/' + playable_type + '/' + playable_id; 4708 // Or from raw URL from Soundcloud website 4709 if (playable_url && playable_url.length >0) qs = '?url=' + escape(playable_url); 4710 4711 if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated; 4712 if (color && color.length > 0) qs += '&color=' + color.replace('#', '%23'); 4713 if (autoplay && autoplay.length > 0) qs += '&auto_play=' + autoplay; 4714 if (showComments && showComments.length > 0) qs += '&show_comments=' + showComments; 4715 if (hideRelated && hideRelated.length > 0) qs += '&hide_related=' + hideRelated; 4716 if (showUser && showUser.length > 0) qs += '&show_user=' + showUser; 4717 if (showReposts && showReposts.length > 0) qs += '&show_reposts=' + showReposts; 4718 if (showTeaser && showTeaser.length > 0) qs += '&show_teaser=' + showTeaser; 4719 if (visual && visual.length > 0) qs += '&visual=' + visual; 4720 if (artwork && artwork.length >
4720 0) qs += '&show_artwork=' + artwork; 4721 4722 return '<iframe title="' + frame_title + '" width="100%" ' + frame_height + ' scrolling="no" ' + allowAutoplay + ' src="https://w.soundcloud.com/player/' + qs + '"></iframe>'; 4723 }); 4724 }, 4725 fallback: function () { 4726 "use strict"; 4727 tarteaucitron.fallback(['soundcloud_player'], function (elem) { 4728 elem.style.height = elem.getAttribute('data-height') + 'px'; 4729 return tarteaucitron.engage('soundcloud'); 4730 }); 4731 } 4732}; 4733 4734// spotify 4735tarteaucitron.services.spotify = { 4736 "key": "spotify", 4737 "type": "video", 4738 "name": "Spotify", 4739 "uri": "https://www.spotify.com/us/legal/privacy-policy/", 4740 "needConsent": true, 4741 "cookies": ['sp_landing', '_ga', 'sp_ab', 'sp_landingref', 'sp_t', 'sp_usid', 'OptanonConsent', 'sp_m', 'spot'], 4742 "js": function () { 4743 "use strict"; 4744 tarteaucitron.fallback(['spotify_player'], function (x) { 4745 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Spotify iframe'), 4746 spotify_id = x.getAttribute("spotifyID"), 4747 spotify_width = x.getAttribute("width"), 4748 frame_width = 'width=', 4749 spotify_height = x.getAttribute("height"), 4750 frame_height = 'height=', 4751 spotify_frame; 4752 4753 if (spotify_id === undefined) { 4754 return ""; 4755 } 4756 if (spotify_width !== undefined) { 4757 frame_width += '"' + spotify_width + '" '; 4758 } else { 4759 frame_width += '"" '; 4760 } 4761 if (spotify_height !== undefined) { 4762 frame_height += '"' + spotify_height + '" '; 4763 } else { 4764 frame_height += '"" '; 4765 } 4766 spotify_frame = '<iframe title="' + frame_title + '" src="//open.spotify.com/embed/' + spotify_id + '" ' + frame_width + frame_height + ' allowfullscreen></iframe>'; 4767 return spotify_frame; 4768 }); 4769 }, 4770 "fallback": function () { 4771 "use strict"; 4772 var id = 'spotify'; 4773 tarteaucitron.fallback(['spotify_player'], function (elem) { 4774 elem.style.width = elem.getAttribute('width') + 'px'; 4775 elem.style.height = elem.getAttribute('height') + 'px'; 4776 return tarteaucitron.engage(id); 4777 }); 4778 } 4779}; 4780 4781// statcounter 4782tarteaucitron.services.statcounter = { 4783 "key": "statcounter", 4784 "type": "analytic", 4785 "name": "StatCounter", 4786 "uri": "https://fr.statcounter.com/about/legal/#privacy", 4787 "needConsent": true, 4788 "cookies": ['sc_is_visitor_unique'], 4789 "js": function () { 4790 "use strict"; 4791 var uniqIds = [], 4792 i, 4793 uri = '//statcounter.com/counter/counter.js'; 4794 4795 tarteaucitron.fallback(['statcounter-canvas'], function (x) { 4796 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 4797 uniqIds.push(uniqId); 4798 return '<div id="' + uniqId + '"></div>'; 4799 }); 4800 4801 for (i = 0; i < uniqIds.length; i += 1) { 4802 tarteaucitron.makeAsync.init(uri, uniqIds[i]); 4803 } 4804 }, 4805 "fallback": function () { 4806 "use strict"; 4807 var id = 'statcounter'; 4808 tarteaucitron.fallback(['statcounter-canvas'], tarteaucitron.engage(id)); 4809 } 4810}; 4811 4812// timelinejs 4813tarteaucitron.services.timelinejs = { 4814 "key": "timelinejs", 4815 "type": "api", 4816 "name": "Timeline JS", 4817 "uri": "http://timeline.knightlab.com/#help", 4818 "needConsent": true, 4819 "cookies": [], 4820 "js": function () { 4821 "use strict"; 4822 tarteaucitron.fallback(['timelinejs-canvas'], function (x) { 4823 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Twitter iframe'), 4824 spreadsheet_id = x.getAttribute("spreadsheet_id"), 4825 width = x.getAttribute("width"), 4826 height = x.getAttribute("height"), 4827 lang = x.getAttribute("lang_2_letter"), 4828 font = x.getAttribute("font"), 4829 map = x.getAttribute("map"), 4830 start_at_end = x.getAttribute("start_at_end"), 4831 hash_bookmark = x.getAttribute("hash_bookmark"), 4832 start_at_slide = x.getAttribute("start_at_slide"), 4833 start_zoom = x.getAttribute("start_zoom"), 4834 url = '//cdn.knightlab.com/libs/timeline/latest/embed/index.html?source=' + spreadsheet_id + '&font=' + font + '&maptype=' + map + '&lang=' + lang + '&start_at_end=' + start_at_end + '&hash_bookmark=' + hash_bookmark + '&start_at_slide=' + start_at_slide + '&start_zoom_adjust=' + start_zoom + '&height=' + height; 4835 4836 return '<iframe title="' + frame_title + '" src="' + url + '" width="' + width + '" height="' + height + '" allowtransparency allowfullscreen></iframe>'; 4837 }); 4838 }, 4839 "fallback": function () { 4840 "use strict"; 4841 var id = 'timelinejs'; 4842 tarteaucitron.fallback(['timelinejs-canvas'], function (elem) { 4843 elem.style.width = elem.getAttribute('width') + 'px'; 4844 elem.style.height = elem.getAttribute('height') + 'px'; 4845 return tarteaucitron.engage(id); 4846 }); 4847 } 4848}; 4849 4850// tagcommander 4851tarteaucitron.services.tagcommander = {
4852 "key": "tagcommander", 4853 "type": "api", 4854 "name": "TagCommander", 4855 "uri": "https://www.commandersact.com/en/privacy/", 4856 "needConsent": true, 4857 "cookies": [], 4858 "js": function () { 4859 "use strict"; 4860 if (tarteaucitron.user.tagcommanderid === undefined) { 4861 return; 4862 } 4863 tarteaucitron.addScript('https://cdn.tagcommander.com/' + tarteaucitron.user.tagcommanderid + '.js'); 4864 } 4865}; 4866 4867// typekit 4868tarteaucitron.services.typekit = { 4869 "key": "typekit", 4870 "type": "api", 4871 "name": "Typekit (adobe)", 4872 "uri": "https://www.adobe.com/privacy.html", 4873 "needConsent": true, 4874 "cookies": [], 4875 "js": function () { 4876 "use strict"; 4877 if (tarteaucitron.user.typekitId === undefined) { 4878 return; 4879 } 4880 tarteaucitron.addScript('//use.typekit.net/' + tarteaucitron.user.typekitId + '.js', '', function () { 4881 try { 4882 Typekit.load(); 4883 } catch (e) {} 4884 }); 4885 } 4886}; 4887 4888// twenga 4889tarteaucitron.services.twenga = { 4890 "key": "twenga", 4891 "type": "ads", 4892 "name": "Twenga", 4893 "uri": "http://www.twenga.com/privacy.php", 4894 "needConsent": true, 4895 "cookies": [], 4896 "js": function () { 4897 "use strict"; 4898 4899 if (tarteaucitron.user.twengaId === undefined || tarteaucitron.user.twengaLocale === undefined) { 4900 return; 4901 } 4902 4903 tarteaucitron.addScript('//tracker.twenga.' + tarteaucitron.user.twengaLocale + '/st/tracker_' + tarteaucitron.user.twengaId + '.js'); 4904 } 4905}; 4906 4907// twitter 4908tarteaucitron.services.twitter = { 4909 "key": "twitter", 4910 "type": "social", 4911 "name": "Twitter", 4912 "uri": "https://support.twitter.com/articles/20170514", 4913 "needConsent": true, 4914 "cookies": [], 4915 "js": function () { 4916 "use strict"; 4917 tarteaucitron.fallback(['tacTwitter'], ''); 4918 tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs'); 4919 }, 4920 "fallback": function () { 4921 "use strict"; 4922 var id = 'twitter'; 4923 tarteaucitron.fallback(['tacTwitter'], tarteaucitron.engage(id)); 4924 } 4925}; 4926 4927// twitter embed 4928tarteaucitron.services.twitterembed = { 4929 "key": "twitterembed", 4930 "type": "social", 4931 "name": "Twitter (cards)", 4932 "uri": "https://support.twitter.com/articles/20170514", 4933 "needConsent": true, 4934 "cookies": [], 4935 "js": function () { 4936 "use strict"; 4937 var uniqIds = [], 4938 i, 4939 e, 4940 html; 4941 4942 tarteaucitron.fallback(['twitterembed-canvas'], function (x) { 4943 var uniqId = '_' + Math.random().toString(36).substr(2, 9); 4944 uniqIds.push(uniqId); 4945 html = '<div id="' + uniqId + '" '; 4946 html += 'tweetid="' + x.getAttribute('tweetid') + '" '; 4947 html += 'theme="' + x.getAttribute('theme') + '" '; 4948 html += 'cards="' + x.getAttribute('cards') + '" '; 4949 html += 'conversation="' + x.getAttribute('conversation') + '" '; 4950 html += 'data-width="' + x.getAttribute('data-width') + '" '; 4951 html += 'data-align="' + x.getAttribute('data-align') + '" '; 4952 html += '></div>'; 4953 return html; 4954 }); 4955 4956 tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs', function () { 4957 var i; 4958 for (i = 0; i < uniqIds.length; i += 1) { 4959 e = document.getElementById(uniqIds[i]); 4960 twttr.widgets.createTweet( 4961 e.getAttribute('tweetid'), 4962 e, 4963 { 4964 theme: e.getAttribute('theme'), 4965 cards: e.getAttribute('cards'), 4966 conversation: e.getAttribute('conversation'), 4967 lang: tarteaucitron.getLanguage(), 4968 dnt: true, 4969 width: e.getAttribute('data-width'), 4970 align: e.getAttribute('data-align') 4971 } 4972 ); 4973 } 4974 }); 4975 }, 4976 "fallback": function () { 4977 "use strict"; 4978 var id = 'twitterembed'; 4979 tarteaucitron.fallback(['twitterembed-canvas'], function (elem) { 4980 elem.style.width = elem.getAttribute('data-width') + 'px'; 4981 return tarteaucitron.engage(id); 4982 }); 4983 } 4984}; 4985 4986// twitter timeline 4987tarteaucitron.services.twittertimeline = {
4988 "key": "twittertimeline", 4989 "type": "social", 4990 "name": "Twitter (timelines)", 4991 "uri": "https://support.twitter.com/articles/20170514", 4992 "needConsent": true, 4993 "cookies": [], 4994 "js": function () { 4995 "use strict"; 4996 tarteaucitron.fallback(['tacTwitterTimelines'], ''); 4997 tarteaucitron.addScript('//platform.twitter.com/widgets.js', 'twitter-wjs'); 4998 }, 4999 "fallback": function () { 5000 "use strict"; 5001 var id = 'twittertimeline'; 5002 tarteaucitron.fallback(['tacTwitterTimelines'], tarteaucitron.engage(id)); 5003 } 5004}; 5005 5006// twitter universal website tag 5007tarteaucitron.services.twitteruwt = { 5008 "key": "twitteruwt", 5009 "type": "analytic", 5010 "name": "Twitter Universal Website Tag", 5011 "uri": "https://business.twitter.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html", 5012 "needConsent": true, 5013 "cookies": [], 5014 "js": function () { 5015 "use strict"; 5016 5017 window.twq = function () { 5018 window.twq.exe ? window.twq.exe.apply(window.twq, arguments) : window.twq.queue.push(arguments); 5019 } 5020 window.twq.version = '1.1'; 5021 window.twq.queue = []; 5022 5023 tarteaucitron.addScript('https://static.ads-twitter.com/uwt.js', '', function () { 5024 window.twq('init', tarteaucitron.user.twitteruwtId); 5025 window.twq('track', 'PageView'); 5026 }); 5027 } 5028}; 5029 5030// user voice 5031tarteaucitron.services.uservoice = { 5032 "key": "uservoice", 5033 "type": "support", 5034 "name": "UserVoice", 5035 "uri": "https://www.uservoice.com/privacy/", 5036 "needConsent": true, 5037 "cookies": [], 5038 "js": function () { 5039 "use strict"; 5040 if (tarteaucitron.user.userVoiceApi === undefined) { 5041 return; 5042 } 5043 tarteaucitron.addScript('//widget.uservoice.com/' + tarteaucitron.user.userVoiceApi + '.js'); 5044 } 5045}; 5046 5047// vimeo 5048tarteaucitron.services.vimeo = { 5049 "key": "vimeo", 5050 "type": "video", 5051 "name": "Vimeo", 5052 "uri": "https://vimeo.com/privacy", 5053 "needConsent": true, 5054 "cookies": ['__utmt_player', '__utma', '__utmb', '__utmc', '__utmv', 'vuid', '__utmz', 'player'], 5055 "js": function () { 5056 "use strict"; 5057 tarteaucitron.fallback(['vimeo_player'], function (x) { 5058 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("data-title") || x.getAttribute("title") || 'Vimeo iframe'), 5059 video_width = x.getAttribute("data-width") || x.getAttribute("width"), 5060 frame_width = 'width=', 5061 video_height = x.getAttribute("data-height") || x.getAttribute("height"), 5062 frame_height = 'height=', 5063 5064 video_id = x.getAttribute("data-videoID") || x.getAttribute("videoID"), 5065 video_allowfullscreen = x.getAttribute("data-allowfullscreen"), 5066 video_autopause = x.getAttribute("data-autopause") || '', 5067 video_autoplay = x.getAttribute("data-autoplay") || x.getAttribute("autoplay") || '', 5068 video_background = x.getAttribute("data-background") || '', 5069 video_byline = x.getAttribute("data-byline") || x.getAttribute("byline") || '', 5070 video_color = x.getAttribute("data-color") || '', 5071 video_controls = x.getAttribute("data-controls") || '', 5072 video_loop = x.getAttribute("data-loop") || x.getAttribute("loop") || '', 5073 video_maxheight = x.getAttribute("data-maxheight") || '', 5074 video_maxwidth = x.getAttribute("data-maxwidth") || '', 5075 video_muted = x.getAttribute("data-muted") || '', 5076 video_playsinline = x.getAttribute("data-playsinline") || '', 5077 video_portrait = x.getAttribute("data-portrait") || x.getAttribute("portrait") || '', 5078 video_speed = x.getAttribute("data-speed") || '', 5079 video_title = x.getAttribute("data-title") || x.getAttribute("title") || '', 5080 video_transparent = x.getAttribute("data-transparent") || '', 5081 5082 video_frame; 5083 5084 5085 if (video_id === undefined) { 5086 return ""; 5087 } 5088 if (video_width !== undefined) { 5089 frame_width += '"' + video_width + '" '; 5090 } else { 5091 frame_width += '"" '; 5092 } 5093 if (video_height !== undefined) { 5094 frame_height += '"' + video_height + '" '; 5095 } else { 5096 frame_height += '"" '; 5097 } 5098 5099 var video_qs = "?"; 5100 5101 if (video_title.length > 0) { 5102 video_qs += "title=" + video_title; 5103 } 5104 5105 if (video_byline.length > 0) { 5106 if (video_qs.length > 0) { 5107 video_qs += "&"; 5108 } 5109 video_qs += "byline=" + video_byline; 5110 } 5111 5112 if (video_portrait.length > 0) { 5113 if (video_qs.length > 0) { 5114 video_qs += "&"; 5115 } 5116 video_qs += "portrait=" + video_portrait; 5117 } 5118 5119 if (video_loop.length > 0) { 5120 if (video_qs.length > 0) { 5121 video_qs += "&"; 5122 } 5123 video_qs += "loop=" + video_loop; 5124 } 5125
5126 if (video_autoplay.length > 0) { 5127 if (video_qs.length > 0) { 5128 video_qs += "&"; 5129 } 5130 video_qs += "autoplay=" + video_autoplay; 5131 } 5132 5133 if (video_autopause.length > 0) { 5134 if (video_qs.length > 0) { 5135 video_qs += "&"; 5136 } 5137 video_qs += "autopause=" + video_autopause; 5138 } 5139 5140 if (video_background.length > 0) { 5141 if (video_qs.length > 0) { 5142 video_qs += "&"; 5143 } 5144 video_qs += "background=" + video_background; 5145 } 5146 5147 if (video_color.length > 0) { 5148 if (video_qs.length > 0) { 5149 video_qs += "&"; 5150 } 5151 video_qs += "color=" + video_color; 5152 } 5153 5154 if (video_controls.length > 0) { 5155 if (video_qs.length > 0) { 5156 video_qs += "&"; 5157 } 5158 video_qs += "controls=" + video_controls; 5159 } 5160 5161 if (video_maxheight.length > 0) { 5162 if (video_qs.length > 0) { 5163 video_qs += "&"; 5164 } 5165 video_qs += "maxheight=" + video_maxheight; 5166 } 5167 5168 if (video_maxwidth.length > 0) { 5169 if (video_qs.length > 0) { 5170 video_qs += "&"; 5171 } 5172 video_qs += "maxwidth=" + video_maxwidth; 5173 } 5174 5175 if (video_muted.length > 0) { 5176 if (video_qs.length > 0) { 5177 video_qs += "&"; 5178 } 5179 video_qs += "muted=" + video_muted; 5180 } 5181 5182 if (video_playsinline.length > 0) { 5183 if (video_qs.length > 0) { 5184 video_qs += "&"; 5185 } 5186 video_qs += "playsinline=" + video_playsinline; 5187 } 5188 5189 if (video_speed.length > 0) { 5190 if (video_qs.length > 0) { 5191 video_qs += "&"; 5192 } 5193 video_qs += "speed=" + video_speed; 5194 } 5195 5196 if (video_transparent.length > 0) { 5197 if (video_qs.length > 0) { 5198 video_qs += "&"; 5199 } 5200 video_qs += "transparent=" + video_transparent; 5201 } 5202 5203 if (video_qs === "?") { 5204 video_qs = ""; 5205 } 5206 5207 video_frame = '<iframe title="' + frame_title + '" src="//player.vimeo.com/video/' + video_id + video_qs + '" ' + frame_width + frame_height + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 5208 5209 return video_frame; 5210 }); 5211 }, 5212 "fallback": function () { 5213 "use strict"; 5214 var id = 'vimeo'; 5215 tarteaucitron.fallback(['vimeo_player'], function (elem) { 5216 elem.style.width = elem.getAttribute('width') + 'px'; 5217 elem.style.height = elem.getAttribute('height') + 'px'; 5218 return tarteaucitron.engage(id); 5219 }); 5220 } 5221}; 5222 5223// visualrevenue 5224tarteaucitron.services.visualrevenue = { 5225 "key": "visualrevenue", 5226 "type": "analytic", 5227 "name": "VisualRevenue", 5228 "uri": "http://www.outbrain.com/legal/privacy-713/", 5229 "needConsent": true, 5230 "cookies": ['__vrf', '__vrm', '__vrl', '__vry', '__vru', '__vrid', '__vrz'], 5231 "js": function () { 5232 "use strict"; 5233 if (tarteaucitron.user.visualrevenueId === undefined) { 5234 return; 5235 } 5236 window._vrq = window._vrq || []; 5237 window._vrq.push(['id', tarteaucitron.user.visualrevenueId]); 5238 window._vrq.push(['automate', true]); 5239 window._vrq.push(['track', function () {}]); 5240 tarteaucitron.addScript('http://a.visualrevenue.com/vrs.js'); 5241 } 5242}; 5243 5244// verizon dot tag 5245tarteaucitron.services.verizondottag = { 5246 "key": "verizondottag", 5247 "type": "analytic", 5248 "name": "Verizon Dot Tag", 5249 "uri": "https://developer.verizonmedia.com/native/guide/audience-management/dottags/", 5250 "needConsent": true, 5251 "cookies": [], 5252 "js": function () { 5253 "use strict"; 5254 5255 window.dotq = window.dotq || []; 5256 window.dotq.push({ 5257 'projectId': tarteaucitron.user.verizondottagProjectId, 5258 'properties': {'pixelId': tarteaucitron.user.verizondottagPixelId} 5259 }); 5260 5261 tarteaucitron.addScript('https://s.yimg.com/wi/ytc.js', '', function () { 5262 //const items = window.dotq; 5263 window.dotq = []; 5264 window.dotq.push = function (item) { 5265 YAHOO.ywa.I13N.fireBeacon([item]) 5266 }; 5267 YAHOO.ywa.I13N.fireBeacon(items) 5268 }); 5269 } 5270}; 5271 5272// vshop 5273tarteaucitron.services.vshop = {
vendor: 4,922 bytes, lines 5274-5423
5274 "key": "vshop", 5275 "type": "ads", 5276 "name": "vShop", 5277 "uri": "http://vshop.fr/privacy-policy", 5278 "needConsent": true, 5279 "cookies": [], 5280 "js": function () { 5281 "use strict"; 5282 tarteaucitron.fallback(['vcashW'], ''); 5283 tarteaucitron.addScript('//vshop.fr/js/w.js'); 5284 }, 5285 "fallback": function () { 5286 "use strict"; 5287 var id = 'vshop'; 5288 tarteaucitron.fallback(['vcashW'], tarteaucitron.engage(id)); 5289 } 5290}; 5291 5292// wysistat 5293tarteaucitron.services.wysistat = { 5294 "key": "wysistat", 5295 "type": "analytic", 5296 "name": "Wysistat", 5297 "uri": "http://wysistat.net/contact/", 5298 "needConsent": true, 5299 "cookies": ['Wysistat'], 5300 "js": function () { 5301 "use strict"; 5302 if (tarteaucitron.user.wysistat === undefined) { 5303 return; 5304 } 5305 tarteaucitron.addScript('//www.wysistat.com/statistique.js', '', function () { 5306 window.stat(tarteaucitron.user.wysistat.cli, tarteaucitron.user.wysistat.frm, tarteaucitron.user.wysistat.prm, tarteaucitron.user.wysistat.ce, tarteaucitron.user.wysistat.page, tarteaucitron.user.wysistat.roi, tarteaucitron.user.wysistat.prof, tarteaucitron.user.wysistat.cpt); 5307 }); 5308 } 5309}; 5310 5311// xiti 5312tarteaucitron.services.xiti = { 5313 "key": "xiti", 5314 "type": "analytic", 5315 "name": "Xiti", 5316 "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre", 5317 "needConsent": true, 5318 "cookies": [], 5319 "js": function () { 5320 "use strict"; 5321 if (tarteaucitron.user.xitiId === undefined) { 5322 return; 5323 } 5324 var Xt_param = 's=' + tarteaucitron.user.xitiId + '&p=', 5325 Xt_r, 5326 Xt_h, 5327 Xt_i, 5328 Xt_s, 5329 div = document.createElement('div'); 5330 try { 5331 Xt_r = top.document.referrer; 5332 } catch (e) { 5333 Xt_r = document.referrer; 5334 } 5335 Xt_h = new Date(); 5336 Xt_i = '<img style="display:none" border="0" alt="" '; 5337 Xt_i += 'src="http://logv3.xiti.com/hit.xiti?' + Xt_param; 5338 Xt_i += '&hl=' + Xt_h.getHours() + 'x' + Xt_h.getMinutes() + 'x' + Xt_h.getSeconds(); 5339 if (parseFloat(navigator.appVersion) >= 4) { 5340 Xt_s = screen; 5341 Xt_i += '&r=' + Xt_s.width + 'x' + Xt_s.height + 'x' + Xt_s.pixelDepth + 'x' + Xt_s.colorDepth; 5342 } 5343 5344 div.innerHTML = Xt_i + '&ref=' + Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$') + '" title="Internet Audience">'; 5345 document.getElementsByTagName('body')[0].appendChild(div.firstChild); 5346 5347 if (typeof tarteaucitron.user.xitiMore === 'function') { 5348 tarteaucitron.user.xitiMore(); 5349 } 5350 } 5351}; 5352 5353// AT Internet 5354tarteaucitron.services.atinternet = { 5355 "key": "atinternet", 5356 "type": "analytic", 5357 "name": "AT Internet (privacy by design)", 5358 "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre", 5359 "needConsent": true, 5360 "safeanalytic": false, 5361 "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'], 5362 "js": function () { 5363 "use strict"; 5364 if (tarteaucitron.user.atLibUrl === undefined) { 5365 return; 5366 } 5367 5368 if (tarteaucitron.user.atinternetAlreadyLoaded !== undefined) { 5369 return; 5370 } 5371 5372 tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function() { 5373 5374 window.tag = new ATInternet.Tracker.Tag(); 5375 5376 if (typeof tarteaucitron.user.atMore === 'function') { 5377 tarteaucitron.user.atMore(); 5378 } 5379 5380 if (typeof window.tag.privacy !== 'undefined') { 5381 window.tag.privacy.setVisitorOptin(); 5382 } 5383 5384 if (tarteaucitron.user.atinternetSendData !== false) { 5385 window.tag.page.send(); 5386 } 5387 }); 5388 }, 5389 "fallback": function () { 5390 "use strict"; 5391 if (tarteaucitron.user.atLibUrl === undefined) { 5392 return; 5393 } 5394 5395 tarteaucitron.user.atinternetAlreadyLoaded = true; 5396 5397 tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function() { 5398 5399 window.tag = new ATInternet.Tracker.Tag(); 5400 5401 if (typeof tarteaucitron.user.atMore === 'function') { 5402 tarteaucitron.user.atMore(); 5403 } 5404 5405 if (typeof window.tag.privacy !== 'undefined') { 5406 5407 var visitorMode = window.tag.privacy.getVisitorMode(); 5408 if (visitorMode !== null && visitorMode.name !== undefined && visitorMode.name == "optout") { 5409 window.tag.privacy.setVisitorOptout(); 5410 } else { 5411 window.tag.privacy.setVisitorMode('cnil', 'exempt'); 5412 } 5413 } 5414 5415 if (tarteaucitron.user.atinternetSendData !== false) { 5416 window.tag.page.send(); 5417 } 5418 }); 5419 } 5420}; 5421 5422// AT Internet 5423tarteaucitron.services.atinternethightrack = {
5424 "key": "atinternethightrack", 5425 "type": "analytic", 5426 "name": "AT Internet", 5427 "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre", 5428 "needConsent": true, 5429 "cookies": ['atidvisitor', 'atreman', 'atredir', 'atsession'], 5430 "js": function () { 5431 "use strict"; 5432 if (tarteaucitron.user.atLibUrl === undefined) { 5433 return; 5434 } 5435 5436 tarteaucitron.addScript(tarteaucitron.user.atLibUrl, '', function() { 5437 5438 var tag = new ATInternet.Tracker.Tag(); 5439 5440 if (typeof tarteaucitron.user.atMore === 'function') { 5441 tarteaucitron.user.atMore(); 5442 } 5443 }) 5444 } 5445}; 5446 5447// youtube 5448tarteaucitron.services.youtube = { 5449 "key": "youtube", 5450 "type": "video", 5451 "name": "YouTube", 5452 "uri": "https://policies.google.com/privacy", 5453 "needConsent": true, 5454 "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'], 5455 "js": function () { 5456 "use strict"; 5457 tarteaucitron.fallback(['youtube_player'], function (x) { 5458 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Youtube iframe'), 5459 video_id = x.getAttribute("videoID"), 5460 srcdoc = x.getAttribute("srcdoc"), 5461 loading = x.getAttribute("loading"), 5462 video_width = x.getAttribute("width"), 5463 frame_width = 'width=', 5464 video_height = x.getAttribute("height"), 5465 frame_height = 'height=', 5466 video_frame, 5467 allowfullscreen = x.getAttribute("allowfullscreen"), 5468 attrs = ["theme", "rel", "controls", "showinfo", "autoplay", "mute", "start", "loop"], 5469 params = attrs.filter(function (a) { 5470 return x.getAttribute(a) !== null; 5471 }).map(function (a) { 5472 return a + "=" + x.getAttribute(a); 5473 }).join("&"); 5474 5475 if (video_id === undefined) { 5476 return ""; 5477 } 5478 if (video_width !== undefined) { 5479 frame_width += '"' + video_width + '" '; 5480 } else { 5481 frame_width += '"" '; 5482 } 5483 if (video_height !== undefined) { 5484 frame_height += '"' + video_height + '" '; 5485 } else { 5486 frame_height += '"" '; 5487 } 5488 5489 if (srcdoc !== undefined && srcdoc !== null && srcdoc !== "") { 5490 srcdoc = 'srcdoc="' + srcdoc + '" '; 5491 } else { 5492 srcdoc = ''; 5493 } 5494 5495 if (loading !== undefined && loading !== null && loading !== "") { 5496 loading = 'loading '; 5497 } else { 5498 loading = ''; 5499 } 5500 5501 video_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/' + video_id + '?' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + ' ' + srcdoc + ' ' + loading + '></iframe>'; 5502 return video_frame; 5503 }); 5504 }, 5505 "fallback": function () { 5506 "use strict"; 5507 var id = 'youtube'; 5508 tarteaucitron.fallback(['youtube_player'], function (elem) { 5509 elem.style.width = elem.getAttribute('width') + 'px'; 5510 elem.style.height = elem.getAttribute('height') + 'px'; 5511 return tarteaucitron.engage(id); 5512 }); 5513 } 5514}; 5515 5516// youtube playlist 5517tarteaucitron.services.youtubeplaylist = { 5518 "key": "youtubeplaylist", 5519 "type": "video", 5520 "name": "YouTube (playlist)", 5521 "uri": "https://policies.google.com/privacy", 5522 "needConsent": true, 5523 "cookies": ['VISITOR_INFO1_LIVE', 'YSC', 'PREF', 'GEUP'], 5524 "js": function () { 5525 "use strict"; 5526 tarteaucitron.fallback(['youtube_playlist_player'], function (x) { 5527 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Youtube iframe'), 5528 playlist_id = x.getAttribute("playlistID"), 5529 video_width = x.getAttribute("width"), 5530 frame_width = 'width=', 5531 video_height = x.getAttribute("height"), 5532 frame_height = 'height=', 5533 video_frame, 5534 allowfullscreen = x.getAttribute("allowfullscreen"), 5535 params = 'theme=' + x.getAttribute("theme") + '&rel=' + x.getAttribute("rel") + '&controls=' + x.getAttribute("controls") + '&showinfo=' + x.getAttribute("showinfo") + '&autoplay=' + x.getAttribute("autoplay") + '&mute=' + x.getAttribute("mute"); 5536 5537 if (playlist_id === undefined) { 5538 return ""; 5539 } 5540 if (video_width !== undefined) { 5541 frame_width += '"' + video_width + '" '; 5542 } else { 5543 frame_width += '"" '; 5544 } 5545 if (video_height !== undefined) { 5546 frame_height += '"' + video_height + '" '; 5547 } else { 5548 frame_height += '"" '; 5549 } 5550 video_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//www.youtube-nocookie.com/embed/videoseries?list=' + playlist_id + '&' + params + '"' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 5551 return video_frame; 5552 }); 5553 }, 5554 "fallback": function () { 5555 "use strict"; 5556 var id = 'youtubeplaylist'; 5557 tarteaucitron.fallback(['youtube_playlist_player'], function (elem) { 5558 elem.style.width = elem.getAttribute('width') + 'px'; 5559 elem.style.height = elem.getAttribute('height') + 'px'; 5560 return tarteaucitron.engage(id); 5561 }); 5562 } 5563}; 5564 5565// zopim 5566tarteaucitron.services.zopim = {
5567 "key": "zopim", 5568 "type": "support", 5569 "name": "Zopim", 5570 "uri": "https://www.zopim.com/privacy", 5571 "needConsent": true, 5572 "cookies": ['__zlcid', '__zprivacy'], 5573 "js": function () { 5574 "use strict"; 5575 if (tarteaucitron.user.zopimID === undefined) { 5576 return; 5577 } 5578 tarteaucitron.addScript('//v2.zopim.com/?' + tarteaucitron.user.zopimID); 5579 } 5580}; 5581 5582// kameleoon 5583tarteaucitron.services.kameleoon = { 5584 "key": "kameleoon", 5585 "type": "analytic", 5586 "name": "Kameleoon", 5587 "uri": "https://www.kameleoon.com/fr/compliance/rgpd", 5588 "needConsent": true, 5589 "cookies": [], 5590 "js": function () { 5591 "use strict"; 5592 if (tarteaucitron.user.kameleoon !== undefined) { 5593 tarteaucitron.addScript("https://" + tarteaucitron.user.kameleoon + ".kameleoon.eu/kameleoon.js"); 5594 } 5595 } 5596}; 5597 5598// linkedin insight 5599tarteaucitron.services.linkedininsighttag = { 5600 "key": "linkedininsighttag", 5601 "type": "ads", 5602 "name": "Linkedin Insight", 5603 "uri": "https://www.linkedin.com/legal/cookie_policy", 5604 "needConsent": true, 5605 "cookies": [], 5606 "js": function () { 5607 "use strict"; 5608 if (tarteaucitron.user.linkedininsighttag !== undefined) { 5609 window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; 5610 window._linkedin_data_partner_ids.push(tarteaucitron.user.linkedininsighttag); 5611 } 5612 5613 tarteaucitron.addScript('https://snap.licdn.com/li.lms-analytics/insight.min.js'); 5614 } 5615}; 5616 5617// xiti smartTag 5618tarteaucitron.services.xiti_smarttag = { 5619 "key": "xiti_smarttag", 5620 "type": "analytic", 5621 "name": "Xiti (SmartTag)", 5622 "uri": "https://helpcentre.atinternet-solutions.com/hc/fr/categories/360002439300-Privacy-Centre", 5623 "needConsent": true, 5624 "cookies": ["atidvisitor", "atreman", "atredir", "atsession", "attvtreman", "attvtsession"], 5625 "js": function () { 5626 "use strict"; 5627 if (tarteaucitron.user.xiti_smarttagLocalPath !== undefined) { 5628 tarteaucitron.addScript(tarteaucitron.user.xiti_smarttagLocalPath, 'smarttag', null, null, "onload", "addTracker();"); 5629 } else { 5630 var xitiSmarttagId = tarteaucitron.user.xiti_smarttagSiteId; 5631 if (xitiSmarttagId === undefined) { 5632 return; 5633 } 5634 5635 tarteaucitron.addScript('//tag.aticdn.net/' + xitiSmarttagId + '/smarttag.js', 'smarttag', null, null, "onload", "addTracker();"); 5636 } 5637 } 5638}; 5639 5640// facebook pixel 5641tarteaucitron.services.facebookpixel = { 5642 "key": "facebookpixel", 5643 "type": "ads", 5644 "name": "Facebook Pixel", 5645 "uri": "https://www.facebook.com/policy.php", 5646 "needConsent": true, 5647 "cookies": ['datr', 'fr', 'reg_ext_ref', 'reg_fb_gate', 'reg_fb_ref', 'sb', 'wd', 'x-src'], 5648 "js": function () { 5649 "use strict"; 5650 var n; 5651 if(window.fbq)return; 5652 n=window.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ; 5653 if(!window._fbq)window._fbq=n; 5654 n.push=n; 5655 n.loaded=!0; 5656 n.version='2.0'; 5657 n.queue=[]; 5658 tarteaucitron.addScript('https://connect.facebook.net/en_US/fbevents.js'); 5659 fbq('init', tarteaucitron.user.facebookpixelId); 5660 fbq('track', 'PageView'); 5661 5662 if (typeof tarteaucitron.user.facebookpixelMore === 'function') { 5663 tarteaucitron.user.facebookpixelMore(); 5664 } 5665 } 5666}; 5667 5668//Issuu 5669tarteaucitron.services.issuu = { 5670 "key": "issuu", 5671 "type": "other", 5672 "name": "Issuu", 5673 "uri": "https://issuu.com/legal/privacy", 5674 "needConsent": true, 5675 "cookies": ['__qca', 'iutk', 'mc'], 5676 "js": function () { 5677 "use strict"; 5678 tarteaucitron.fallback(['issuu_player'], function (x) { 5679 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Issuu iframe'), 5680 issuu_id = x.getAttribute("issuuID"), 5681 issuu_width = x.getAttribute("width"), 5682 frame_width = 'width=', 5683 issuu_height = x.getAttribute("height"), 5684 frame_height = 'height=', 5685 issuu_frame, 5686 issuu_embed; 5687 5688 if (issuu_id === undefined) { 5689 return ""; 5690 } 5691 if (issuu_width !== undefined) { 5692 frame_width += '"' + issuu_width + '" '; 5693 } else { 5694 frame_width += '"" '; 5695 } 5696 if (issuu_height !== undefined) { 5697 frame_height += '"' + issuu_height + '" '; 5698 } else { 5699 frame_height += '"" '; 5700 } 5701 5702 5703 if (issuu_id.match(/\d+\/\d+/)) { issuu_embed = '#' + issuu_id; } else if (issuu_id.match(/d=(.*)&u=(.*)/)) { issuu_embed = '?' + issuu_id; } 5704 5705 5706 issuu_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="//e.issuu.com/embed.html' + issuu_embed + '"></iframe>'; 5707 5708 return issuu_frame; 5709 }); 5710 }, 5711 "fallback": function () { 5712 "use strict"; 5713 var id = 'issuu'; 5714 tarteaucitron.fallback(['issuu_player'], function (elem) { 5715 elem.style.width = elem.getAttribute('width') + 'px'; 5716 elem.style.height = elem.getAttribute('height') + 'px'; 5717 return tarteaucitron.engage(id); 5718 }); 5719 } 5720}; 5721 5722// webmecanik 5723tarteaucitron.services.webmecanik = {
vendor: 5,579 bytes, lines 5724-5888
5724 "key": "webmecanik", 5725 "type": "analytic", 5726 "name": "Webmecanik", 5727 "uri": "https://webmecanik.com/tos", 5728 "needConsent": true, 5729 "cookies": ['mtc_id', 'mtc_sid'], 5730 "js": function () { 5731 "use strict"; 5732 if (tarteaucitron.user.webmecanikurl === undefined) { 5733 return; 5734 } 5735 5736 window.MauticTrackingObject = 'mt'; 5737 window.mt = window.mt || function () { 5738 window.mt.q = window.mt.q || []; 5739 window.mt.q.push(arguments); 5740 }; 5741 5742 tarteaucitron.addScript(tarteaucitron.user.webmecanikurl, '', function() { 5743 mt('send', 'pageview'); 5744 }); 5745 } 5746}; 5747 5748// google analytics multiple 5749tarteaucitron.services.multiplegtag = { 5750 "key": "multiplegtag", 5751 "type": "analytic", 5752 "name": "Google Analytics (gtag.js)", 5753 "uri": "https://support.google.com/analytics/answer/6004245", 5754 "needConsent": true, 5755 "cookies": (function () { 5756 5757 var cookies = ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz']; 5758 5759 if (tarteaucitron.user.multiplegtagUa !== undefined) { 5760 tarteaucitron.user.multiplegtagUa.forEach(function(ua) { 5761 cookies.push('_gat_gtag_' + ua.replace(/-/g, '_')); 5762 cookies.push('_ga_' + ua.replace(/G-/g, '')); 5763 }); 5764 } 5765 5766 return cookies; 5767 })(), 5768 "js": function () { 5769 "use strict"; 5770 window.dataLayer = window.dataLayer || []; 5771 5772 if (tarteaucitron.user.multiplegtagUa !== undefined) { 5773 tarteaucitron.user.multiplegtagUa.forEach(function(ua) { 5774 tarteaucitron.addScript('https://www.googletagmanager.com/gtag/js?id=' + ua, '', function () { 5775 window.gtag = function gtag(){dataLayer.push(arguments);} 5776 gtag('js', new Date()); 5777 gtag('config', ua); 5778 }); 5779 }); 5780 } 5781 } 5782}; 5783 5784// Koban 5785tarteaucitron.services.koban = { 5786 "key": "koban", 5787 "type": "analytic", 5788 "name": "Koban", 5789 "uri": "https://koban.cloud/tos", 5790 "needConsent": true, 5791 "cookies": ['kbntrk'], 5792 "js": function () { 5793 "use strict"; 5794 if (tarteaucitron.user.kobanurl === undefined) { 5795 return; 5796 } 5797 if (tarteaucitron.user.kobanapi === undefined) { 5798 return; 5799 } 5800 window.KobanObject = 'kb'; 5801 window.kb = window.kb || function() { 5802 window.kb.q = window.kb.q || []; 5803 window.kb.q.push(arguments); 5804 }; 5805 window.kb.l = new Date(); 5806 kb('reg', tarteaucitron.user.kobanapi); 5807 tarteaucitron.addScript(tarteaucitron.user.kobanurl, '', function() { 5808 }); 5809 } 5810}; 5811 5812// matomo 5813 5814/* 5815 1. Set the following variable before the initialization : 5816 5817 tarteaucitron.user.matomoId = YOUR_SITE_ID_FROM_MATOMO; 5818 tarteaucitron.user.matomoHost = "YOUR_MATOMO_URL"; //eg: https://stat.mydomain.com/ 5819 5820 2. Push the service : 5821 5822 (tarteaucitron.job = tarteaucitron.job || []).push('matomo'); 5823 5824 3. HTML 5825 You don't need to add any html code, if the service is autorized, the javascript is added. otherwise no. 5826 */ 5827tarteaucitron.services.matomo = { 5828 "key": "matomo", 5829 "type": "analytic", 5830 "name": "Matomo (privacy by design)", 5831 "uri": "https://matomo.org/faq/general/faq_146/", 5832 "needConsent": false, 5833 "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'], 5834 "js": function () { 5835 "use strict"; 5836 if (tarteaucitron.user.matomoId === undefined) { 5837 return; 5838 } 5839 5840 window._paq = window._paq || []; 5841 window._paq.push(["setSiteId", tarteaucitron.user.matomoId]); 5842 window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]); 5843 window._paq.push(["setDoNotTrack", 1]); 5844 window._paq.push(["trackPageView"]); 5845 window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]); 5846 window._paq.push(["enableLinkTracking"]); 5847 window._paq.push([function() { 5848 var self = this; 5849 function getOriginalVisitorCookieTimeout() { 5850 var now = new Date(), 5851 nowTs = Math.round(now.getTime() / 1000), 5852 visitorInfo = self.getVisitorInfo(); 5853 var createTs = parseInt(visitorInfo[2]); 5854 var cookieTimeout = 33696000; // 13 mois en secondes 5855 var originalTimeout = createTs + cookieTimeout - nowTs; 5856 return originalTimeout; 5857 } 5858 this.setVisitorCookieTimeout( getOriginalVisitorCookieTimeout() ); 5859 }]); 5860 5861 tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true); 5862 5863 // waiting for piwik to be ready to check first party cookies 5864 var interval = setInterval(function() { 5865 if (typeof Piwik === 'undefined') return 5866 5867 clearInterval(interval) 5868 5869 // make piwik/matomo cookie accessible by getting tracker 5870 Piwik.getTracker(); 5871 5872 // looping throught cookies 5873 var theCookies = document.cookie.split(';'); 5874 for (var i = 1 ; i <= theCookies.length; i++) { 5875 var cookie = theCookies[i-1].split('='); 5876 var cookieName = cookie[0].trim(); 5877 5878 // if cookie starts like a piwik one, register it 5879 if (cookieName.indexOf('_pk_') === 0) { 5880 tarteaucitron.services.matomo.cookies.push(cookieName); 5881 } 5882 } 5883 }, 100) 5884 } 5885}; 5886 5887 5888tarteaucitron.services.matomohightrack = {
5889 "key": "matomohightrack", 5890 "type": "analytic", 5891 "name": "Matomo", 5892 "uri": "https://matomo.org/faq/general/faq_146/", 5893 "needConsent": false, 5894 "cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'], 5895 "js": function () { 5896 "use strict"; 5897 if (tarteaucitron.user.matomoId === undefined) { 5898 return; 5899 } 5900 5901 window._paq = window._paq || []; 5902 window._paq.push(["setSiteId", tarteaucitron.user.matomoId]); 5903 window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "piwik.php"]); 5904 window._paq.push(["trackPageView"]); 5905 window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]); 5906 window._paq.push(["enableLinkTracking"]); 5907 window._paq.push([function() { 5908 var self = this; 5909 }]); 5910 5911 tarteaucitron.addScript(tarteaucitron.user.matomoHost + 'piwik.js', '', '', true, 'defer', true); 5912 5913 // waiting for piwik to be ready to check first party cookies 5914 var interval = setInterval(function() { 5915 if (typeof Piwik === 'undefined') return 5916 5917 clearInterval(interval) 5918 Piwik.getTracker(); 5919 5920 var theCookies = document.cookie.split(';'); 5921 for (var i = 1 ; i <= theCookies.length; i++) { 5922 var cookie = theCookies[i-1].split('='); 5923 var cookieName = cookie[0].trim(); 5924 5925 if (cookieName.indexOf('_pk_') === 0) { 5926 tarteaucitron.services.matomo.cookies.push(cookieName); 5927 } 5928 } 5929 }, 100) 5930 } 5931}; 5932 5933// Hotjar 5934 /* 5935 1. Set the following variable before the initialization : 5936 tarteaucitron.user.hotjarId = YOUR_WEBSITE_ID; 5937 tarteaucitron.user.HotjarSv = XXXX; // Can be found in your website tracking code as "hjvs=XXXX" 5938 2. Push the service : 5939 (tarteaucitron.job = tarteaucitron.job || []).push('hotjar'); 5940 3. HTML 5941 You don't need to add any html code, if the service is autorized, the javascript is added. otherwise no. 5942 */ 5943tarteaucitron.services.hotjar = { 5944 "key": "hotjar", 5945 "type": "analytic", 5946 "name": "Hotjar", 5947 "uri": "https://help.hotjar.com/hc/en-us/categories/115001323967-About-Hotjar", 5948 "needConsent": true, 5949 "cookies": ["hjClosedSurveyInvites", "_hjDonePolls", "_hjMinimizedPolls", "_hjDoneTestersWidgets", "_hjMinimizedTestersWidgets", "_hjDoneSurveys", "_hjIncludedInSample", "_hjShownFeedbackMessage", "_hjAbsoluteSessionInProgress", "_hjIncludeInPageviewSample", "_hjid"], 5950 "js": function () { 5951 "use strict"; 5952 if (tarteaucitron.user.hotjarId === undefined || tarteaucitron.user.HotjarSv === undefined) { 5953 return; 5954 } 5955 window.hj = window.hj || function() { 5956 (window.hj.q = window.hj.q || []).push(arguments) 5957 }; 5958 window._hjSettings = { 5959 hjid: tarteaucitron.user.hotjarId, 5960 hjsv: tarteaucitron.user.HotjarSv 5961 }; 5962 var uri = 'https://static.hotjar.com/c/hotjar-'; 5963 var extension = '.js?sv='; 5964 tarteaucitron.addScript(uri + window._hjSettings.hjid + extension + window._hjSettings.hjsv); 5965 } 5966}; 5967 5968// bing ads universal event tracking 5969tarteaucitron.services.bingads = { 5970 'key': 'bingads', 5971 'type': 'ads', 5972 'name': 'Bing Ads Universal Event Tracking', 5973 'uri': 'https://advertise.bingads.microsoft.com/en-us/resources/policies/personalized-ads', 5974 'needConsent': true, 5975 'cookies': ['_uetmsclkid', '_uetvid', '_uetsid'], 5976 'js': function () { 5977 'use strict'; 5978 //var u = tarteaucitron.user.bingadsTag || 'uetq'; 5979 window.uetq = window.uetq || []; 5980 5981 tarteaucitron.addScript('https://bat.bing.com/bat.js', '', function () { 5982 var bingadsCreate = {ti: tarteaucitron.user.bingadsID}; 5983 5984 if ('bingadsStoreCookies' in tarteaucitron.user) { 5985 bingadsCreate['storeConvTrackCookies'] = tarteaucitron.user.bingadsStoreCookies; 5986 } 5987 5988 bingadsCreate.q = window.uetq; 5989 window.uetq = new UET(bingadsCreate); 5990 window.uetq.push('pageLoad'); 5991 }); 5992 } 5993}; 5994 5995//Matterport 5996tarteaucitron.services.matterport = { 5997 "key": "matterport", 5998 "type": "other", 5999 "name": "Matterport", 6000 "uri": "https://matterport.com/es/legal/privacy-policy/", 6001 "needConsent": true, 6002 "cookies": ['__cfduid', 'ajs_anonymous_id', 'ajs_group_id', 'ajs_user_id'], 6003 "js": function () { 6004 "use strict"; 6005 tarteaucitron.fallback(['matterport'], function (x) { 6006 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Matterport iframe'), 6007 matterport_id = x.getAttribute("matterportID"), 6008 matterport_width = x.getAttribute("width"), 6009 frame_width = 'width=', 6010 matterport_height = x.getAttribute("height"), 6011 frame_height = 'height=', 6012 matterport_parameters = x.getAttribute("parameters"), 6013 matterport_allowfullscreen = x.getAttribute('allowfullscreen'), 6014 matterport_frame; 6015 6016 if (matterport_id === undefined) { 6017 return ""; 6018 } 6019 if (matterport_width !== undefined) { 6020 frame_width += '"' + matterport_width + '" '; 6021 } else { 6022 frame_width += '"" '; 6023 } 6024 if (matterport_height !== undefined) { 6025 frame_height += '"' + matterport_height + '" '; 6026 } else { 6027 frame_height += '"" '; 6028 } 6029 if (matterport_parameters === undefined) { 6030 return ""; 6031 } 6032 6033 matterport_frame = '<iframe title="' + frame_title + '" type="text/html" ' + frame_width + frame_height + ' src="https://my.matterport.com/show/?m=' + matterport_id + '&utm_source=hit-content' + matterport_parameters + '"' + (matterport_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>'; 6034 return matterport_frame; 6035 }); 6036 }, 6037 "fallback": function () { 6038 "use strict"; 6039 var id = 'matterport'; 6040 tarteaucitron.fallback(['matterport'], function (elem) { 6041 elem.style.width = elem.getAttribute('width') + 'px'; 6042 elem.style.height = elem.getAttribute('height') + 'px'; 6043 return tarteaucitron.engage(id); 6044 }); 6045 } 6046}; 6047 6048// Adform 6049tarteaucitron.services.adform = {
vendor: 4,102 bytes, lines 6050-6182
6050 "key": "adform", 6051 "type": "ads", 6052 "name": "Adform", 6053 "uri": "https://site.adform.com/privacy-center/overview/", 6054 "needConsent": true, 6055 "cookies": [], 6056 "js": function () { 6057 "use strict"; 6058 6059 if (tarteaucitron.user.adformpm === undefined || tarteaucitron.user.adformpagename === undefined) { 6060 return; 6061 } 6062 6063 window._adftrack = { 6064 pm: tarteaucitron.user.adformpm, 6065 divider: encodeURIComponent('|'), 6066 pagename: encodeURIComponent(tarteaucitron.user.adformpagename) 6067 }; 6068 6069 tarteaucitron.addScript("https://track.adform.net/serving/scripts/trackpoint/async/"); 6070 } 6071}; 6072 6073// Active Campaign 6074tarteaucitron.services.activecampaign = { 6075 "key": "activecampaign", 6076 "type": "ads", 6077 "name": "Active Campaign", 6078 "uri": "https://www.activecampaign.com/privacy-policy/", 6079 "needConsent": true, 6080 "cookies": [], 6081 "js": function () { 6082 "use strict"; 6083 if (tarteaucitron.user.actid === undefined) { 6084 return; 6085 } 6086 6087 window.trackcmp_email = ''; 6088 6089 tarteaucitron.addScript('https://trackcmp.net/visit?actid='+tarteaucitron.user.actid+'&e='+encodeURIComponent(trackcmp_email)+'&r='+encodeURIComponent(document.referrer)+'&u='+encodeURIComponent(window.location.href)); 6090 } 6091}; 6092 6093// tawk.to 6094tarteaucitron.services.tawkto = { 6095 "key": "tawkto", 6096 "type": "support", 6097 "name": "Tawk.to chat", 6098 "uri": "https://www.tawk.to/data-protection/", 6099 "needConsent": true, 6100 "cookies": [], 6101 "js": function () { 6102 "use strict"; 6103 if (tarteaucitron.user.tawktoId === undefined) { 6104 return; 6105 } 6106 6107 window.Tawk_API=window.Tawk_API||{}; 6108 window.Tawk_LoadStart=new Date(); 6109 6110 tarteaucitron.addScript('https://embed.tawk.to/' + tarteaucitron.user.tawktoId + '/default'); 6111 } 6112 6113}; 6114 6115// getquanty 6116tarteaucitron.services.getquanty = { 6117 "key": "getquanty", 6118 "type": "analytic", 6119 "name": "GetQuanty", 6120 "uri": "https://www.getquanty.com/mentions-legales/", 6121 "needConsent": true, 6122 "cookies": ['_first_pageview', 'eqy_sessionid', 'eqy_siteid','cluid','eqy_company', 'cluid', 'gq_utm', '_jsuid'], 6123 "js": function () { 6124 "use strict"; 6125 if (tarteaucitron.user.getguanty === undefined) { 6126 return; 6127 } 6128 6129 if (tarteaucitron.user.getquantyAlreadyLoaded !== undefined) { 6130 return; 6131 } 6132 6133 tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '&consent=1'); 6134 }, 6135 "fallback": function () { 6136 "use strict"; 6137 if (tarteaucitron.user.getguanty === undefined) { 6138 return; 6139 } 6140 6141 tarteaucitron.user.getquantyAlreadyLoaded = true; 6142 6143 tarteaucitron.addScript('https://get.smart-data-systems.com/gq?site_id=' + tarteaucitron.user.getguanty + '¬rack=1'); 6144 } 6145}; 6146 6147// emolytics 6148tarteaucitron.services.emolytics = { 6149 "key": "emolytics", 6150 "type": "analytic", 6151 "name": "Emolytics", 6152 "uri": "https://www.emolytics.com/main/privacy-policy.php", 6153 "needConsent": true, 6154 "cookies": ['__hssc', '__hssrc', '__hstc', '_ga', '_gid', 'hubspotutk', 'lang', 'incap_ses_', 'nlbi_', 'visid_incap_'], 6155 "js": function () { 6156 "use strict"; 6157 if (tarteaucitron.user.emolyticsID === undefined) { 6158 return; 6159 } 6160 var scriptEmolytics = document.createElement('script'); 6161 scriptEmolytics.text = 'var getsmily_id="'+tarteaucitron.user.emolyticsID+'";'; 6162 document.getElementsByTagName('body')[0].appendChild(scriptEmolytics); 6163 tarteaucitron.addScript('https://cdn.emolytics.com/script/emolytics-widget.js') 6164 } 6165}; 6166 6167// youtubeapi 6168tarteaucitron.services.youtubeapi = { 6169 "key": "youtubeapi", 6170 "type": "video", 6171 "name": "Youtube (Js API)", 6172 "uri": "https://policies.google.com/privacy", 6173 "needConsent": true, 6174 "cookies": [], 6175 "js": function () { 6176 "use strict"; 6177 tarteaucitron.addScript('https://www.youtube.com/player_api'); 6178 } 6179}; 6180 6181// Facil'ITI 6182tarteaucitron.services.faciliti = {
6183 "key": "faciliti", 6184 "type": "other", 6185 "name": "Facil'ITI", 6186 "uri": "https://ws.facil-iti.com/mentions-legales.html", 6187 "needConsent": true, 6188 "cookies": ['FACIL_ITI_LS'], 6189 "js": function () { 6190 "use strict"; 6191 if (tarteaucitron.user.facilitiID === undefined) { 6192 return; 6193 } 6194 6195 (function(w, d, s, f) { 6196 w[f] = w[f] || {conf: function () { (w[f].data = w[f].data || []).push(arguments);}}; 6197 var l = d.createElement(s), e = d.getElementsByTagName(s)[0]; 6198 l.async = 1; l.src = 'https://ws.facil-iti.com/tag/faciliti-tag.min.js'; e.parentNode.insertBefore(l, e); 6199 }(window, document, 'script', 'FACIL_ITI')); 6200 FACIL_ITI.conf('userId', tarteaucitron.user.facilitiID); 6201 } 6202}; 6203 6204// userlike 6205tarteaucitron.services.userlike = { 6206 "key": "userlike", 6207 "type": "support", 6208 "name": "Userlike", 6209 "uri": "https://www.userlike.com/en/terms#privacy-policy", 6210 "needConsent": true, 6211 "cookies": ['uslk_s', 'uslk_e'], 6212 "js": function () { 6213 "use strict"; 6214 if (tarteaucitron.user.userlikeKey === undefined) { 6215 return; 6216 } 6217 tarteaucitron.addScript('//userlike-cdn-widgets.s3-eu-west-1.amazonaws.com/' + tarteaucitron.user.userlikeKey); 6218 } 6219}; 6220 6221// adobeanalytics 6222tarteaucitron.services.adobeanalytics = { 6223 "key": "adobeanalytics", 6224 "type": "analytic", 6225 "name": "Adobe Analytics", 6226 "uri": "https://www.adobe.com/privacy/policy.html", 6227 "needConsent": true, 6228 "cookies": ['s_ecid', 's_cc', 's_sq', 's_vi', 's_fid'], 6229 "js": function () { 6230 "use strict"; 6231 if (tarteaucitron.user.adobeanalyticskey === undefined) { 6232 return; 6233 } 6234 tarteaucitron.addScript('//assets.adobedtm.com/launch-' + tarteaucitron.user.adobeanalyticskey + '.min.js'); 6235 } 6236}; 6237 6238// woopra customer journey analytics 6239tarteaucitron.services.woopra = { 6240 'key': 'woopra', 6241 'type': 'analytic', 6242 'name': 'Woopra Customer Journey Analytics', 6243 'uri': 'https://www.woopra.com/privacy', 6244 'needConsent': true, 6245 'cookies': ['wooTracker', 'intercom-session-erbfalba', 'intercom-id-erbfalba'], 6246 'js': function () { 6247 'use strict'; 6248 //var w = tarteaucitron.user.woopraDomain; 6249 //window[w] = window[w] || []; 6250 6251 (function(){ 6252 var t,i,e,n=window,o=document,a=arguments,s="script",r=["config","track","identify","visit","push","call","trackForm","trackClick"],c=function(){var t,i=this;for(i._e=[],t=0;r.length>t;t++)(function(t){i[t]=function(){return i._e.push([t].concat(Array.prototype.slice.call(arguments,0))),i}})(r[t])};for(n._w=n._w||{},t=0;a.length>t;t++)n._w[a[t]]=n[a[t]]=n[a[t]]||new c;i=o.createElement(s),i.async=1,i.src="//static.woopra.com/js/w.js",e=o.getElementsByTagName(s)[0],e.parentNode.insertBefore(i,e) 6253 })("woopra"); 6254 6255 woopra.config({ 6256 domain: tarteaucitron.user.woopraDomain 6257 }); 6258 woopra.track(); 6259 } 6260}; 6261 6262// ausha 6263tarteaucitron.services.ausha = { 6264 key: "ausha", 6265 type: "video", 6266 name: "Ausha", 6267 uri: "https://www.ausha.co/protection-personal-data/", 6268 needConsent: true, 6269 cookies: [], 6270 js: function () { 6271 "use strict"; 6272 tarteaucitron.fallback(['ausha_player'], function (x) { 6273 var player_height = x.getAttribute('data-height'), 6274 podcast_id = x.getAttribute('data-podcast-id'), 6275 player_id = x.getAttribute('data-player-id'), 6276 playlist = x.getAttribute('data-playlist'), 6277 color = x.getAttribute('data-color'); 6278 6279 if (podcast_id === undefined) { 6280 return ""; 6281 } 6282 6283 var src = 'https://player.ausha.co/index.html?podcastId=' + podcast_id + '&v=3'; 6284 6285 if (playlist && playlist.length > 0) src += '&playlist=' + playlist; 6286 if (color && color.length > 0) src += '&color=' + color.replace('#', '%23'); 6287 if (player_id && player_id.length > 0) src += '&playerId=' + player_id; 6288 6289 return '<iframe id="' + player_id + '" loading="lazy" width="100%" height="' + player_height + '" scrolling="no" frameborder="no" src="' + src + '"></iframe>'; 6290 }); 6291 6292 tarteaucitron.addScript('//player.ausha.co/ausha-player.js', 'ausha-player'); 6293 }, 6294 fallback: function () { 6295 "use strict"; 6296 tarteaucitron.fallback(['ausha_player'], function (elem) { 6297 elem.style.height = elem.getAttribute('data-height') + 'px'; 6298 return tarteaucitron.engage('ausha'); 6299 }); 6300 } 6301}; 6302 6303// visiblee 6304tarteaucitron.services.visiblee = { 6305 key: "visiblee", 6306 type: "analytic", 6307 name: "Visiblee", 6308 uri: "http://confidentiality.visiblee.io/fr/confidentialite", 6309 needConsent: true, 6310 cookies: ["visitor_v2", tarteaucitron.user.visibleedomain, "check", "campaign_ref_"+tarteaucitron.user.visibleedomain, "reload_"+tarteaucitron.user.visibleedomain], 6311 js: function () { 6312 "use strict"; 6313 6314 if (tarteaucitron.user.visibleeclientid === undefined) { 6315 return; 6316 } 6317 tarteaucitron.addScript('//www.link-page.info/tracking_'+tarteaucitron.user.visibleeclientid+'.js', 'visiblee'); 6318 } 6319}; 6320 6321// bandcamp 6322tarteaucitron.services.bandcamp = { 6323 key: "bandcamp", 6324 type: "video", 6325 name: "Bandcamp", 6326 uri: "https://bandcamp.com", 6327 readmoreLink: "https://bandcamp.com/privacy", 6328 needConsent: true, 6329 cookies: ['client_id', 'BACKENDID', '_comm_playlist'], 6330 js: function () { 6331 "use strict"; 6332 tarteaucitron.fallback(['bandcamp_player'], function (x) { 6333 var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title") || 'Bandcamp iframe'), 6334 album_id = x.getAttribute("albumID"),
6335 bandcamp_width = x.getAttribute("width"), 6336 frame_width = 'width=', 6337 bandcamp_height = x.getAttribute("height"), 6338 frame_height = 'height=', 6339 attrs = ["size", "bgcol", "linkcol", "artwork", "minimal", "tracklist", "package", "transparent"], 6340 params = attrs.filter(function (a) { 6341 return x.getAttribute(a) !== null; 6342 }).map(function (a) { 6343 if (a && a.length > 0) return a + "=" + x.getAttribute(a); 6344 }).join("/"); 6345 6346 if (album_id === null) { 6347 return ""; 6348 } 6349 6350 if (bandcamp_width !== null || bandcamp_width !== "") { 6351 frame_width += '"' + bandcamp_width + '" '; 6352 } else { 6353 frame_width += '"" '; 6354 } 6355 if (bandcamp_height !== null || bandcamp_height !== "") { 6356 frame_height += '"' + bandcamp_height + '" '; 6357 } else { 6358 frame_height += '"" '; 6359 } 6360 6361 var src = 'https://bandcamp.com/EmbeddedPlayer/album=' + album_id + '/' + params; 6362 6363 return '<iframe title="' + frame_title + '"' + frame_width + frame_height + 'src="' + src + '" frameborder="0" allowfullscreen seamless></iframe>'; 6364 }); 6365 }, 6366 fallback: function () { 6367 "use strict"; 6368 tarteaucitron.fallback(['bandcamp_player'], function (elem) { 6369 elem.style.width = elem.getAttribute('width'); 6370 elem.style.height = elem.getAttribute('height'); 6371 return tarteaucitron.engage('bandcamp'); 6372 }); 6373 } 6374}; 6375; 6376/*global tarteaucitron */ 6377tarteaucitron.lang = { 6378 6379 "middleBarHead": "â ðª", 6380 "adblock": "Bonjour! Ce site joue la transparence et vous donne le choix des services tiers à activer.", 6381 "adblock_call": "Merci de désactiver votre adblocker pour commencer la personnalisation.", 6382 "reload": "Recharger la page", 6383 6384 "alertBigScroll": "En continuant de défiler,", 6385 "alertBigClick": "En poursuivant votre navigation,", 6386 "alertBig": "vous acceptez l'utilisation de services tiers pouvant installer des cookies", 6387 6388 "alertBigPrivacy": "Ce site utilise des cookies et vous donne le contrôle sur ceux que vous souhaitez activer", 6389 "alertSmall": "Gestion des services", 6390 "acceptAll": "Tout accepter", 6391 "personalize": "Personnaliser", 6392 "close": "Fermer", 6393 6394 "privacyUrl": "Politique de confidentialité", 6395 6396 "all": "Préférences pour tous les services", 6397 6398 "info": "Protection de votre vie privée", 6399 "disclaimer": "Sur <a href=\"https://www.est-ensemble.fr/\">https://www.est-ensemble.fr/</a> nous utilisons des outils de mesure dâaudience pour comprendre le parcours de navigation des utilisateurs afin dâoptimiser lâergonomie et la mise en avant des contenus les plus pertinents. Certaines fonctionnalités du site telles que les lecteurs vidéos font par ailleurs appel à des services proposés par des tiers. Le détail des cookies qui pourraient être installés dans votre navigateur et des informations quâils retiennent figure ci-dessous. Vous pouvez accepter ou refuser les cookies en fonction de leurs usages et suivants vos préférences.", 6400 "allow": "Autoriser", 6401 "deny": "Interdire", 6402 "noCookie": "Ce service ne dépose aucun cookie.", 6403 "useCookie": "Ce service peut déposer", 6404 "useCookieCurrent": "Ce service a déposé", 6405 "useNoCookie": "Ce service n'a déposé aucun cookie.", 6406 "more": "En savoir plus", 6407 "source": "Voir le site officiel", 6408 "credit": "Gestion des cookies par tarteaucitron.js", 6409 "noServices": "Ce site n'utilise aucun cookie nécessitant votre consentement.", 6410 6411 "toggleInfoBox": "Afficher/masquer les informations sur le stockage des cookies", 6412 "title": "Gestion de vos préférences sur les cookies", 6413 "cookieDetail": "Détail des cookies", 6414 "ourSite": "sur notre site", 6415 "newWindow": "(nouvelle fenêtre)", 6416 "allowAll": "Tout accepter", 6417 "denyAll": "Tout refuser", 6418 6419 "icon": "Cookies", 6420 6421 "fallback": "est désactivé.", 6422 "allowed": "autorisé", 6423 "disallowed": "interdit", 6424 6425 "ads": { 6426 "title": "Régies publicitaires", 6427 "details": "Les régies publicitaires permettent de générer des revenus en commercialisant les espaces publicitaires du site." 6428 }, 6429 "analytic": { 6430 "title": "Mesure d'audience", 6431 "details": "Les services de mesure d'audience permettent de générer des statistiques de fréquentation utiles à l'amélioration du site." 6432 }, 6433 "social": { 6434 "title": "Réseaux sociaux", 6435 "details": "Les réseaux sociaux permettent d'améliorer la convivialité du site et aident à sa promotion via les partages." 6436 }, 6437 "video": { 6438 "title": "Vidéos", 6439 "details": "Les services de partage de vidéo permettent d'enrichir le site de contenu multimédia et augmentent sa visibilité." 6440 }, 6441 "comment": { 6442 "title": "Commentaires", 6443 "details": "Les gestionnaires de commentaires facilitent le dépôt de vos commentaires et luttent contre le spam." 6444 }, 6445 "support": { 6446 "title": "Support", 6447 "details": "Les services de support vous permettent d'entrer en contact avec l'équipe du site et d'aider à son amélioration." 6448 }, 6449 "api": { 6450 "title": "APIs", 6451 "details": "Les APIs permettent de charger des scripts : géolocalisation, moteurs de recherche, traductions, ..." 6452 }, 6453 "other": { 6454 "title": "Autre", 6455 "details": "Services visant à afficher du contenu web." 6456 }, 6457 6458 "mandatoryTitle": "Cookies obligatoires", 6459 "mandatoryText": "Ce site utilise des cookies nécessaires à son bon fonctionnement. Ils ne peuvent pas être désactivés." 6460}; 6461; 6462(function ($) { 6463 Drupal.behaviors.tacjs = { 6464 attach: function(context) { 6465 tarteaucitron.init({ 6466 privacyUrl: "" /* Privacy policy url */, 6467 6468 hashtag: "#tarteaucitron" /* Open the panel with this hashtag */, 6469 cookieName: "tarteaucitron" /* Cookie name */, 6470 6471 orientation: "bottom" /* Banner position (top - bottom - middle - popup) */, 6472 6473 groupServices: false /* Group services by category */, 6474 6475 showAlertSmall: false /* Show the small banner on bottom right */, 6476 cookieslist: false /* Show the cookie list */, 6477 6478 showIcon: false /* Show cookie icon to manage cookies */, 6479 // "iconSrc": "", /* Optionnal: URL or base64 encoded image */ 6480 iconPosition: 6481 "BottomRight" /* Position of the icon between BottomRight, BottomLeft, TopRight and TopLeft */, 6482 6483 adblocker: false /* Show a Warning if an adblocker is detected */, 6484 6485 DenyAllCta: true /* Show the deny all button */, 6486 AcceptAllCta: true /* Show the accept all button when highPrivacy on */, 6487 highPrivacy: true /* HIGHLY RECOMMANDED Disable auto consent */, 6488 6489 handleBrowserDNTRequest: false /* If Do Not Track == 1, disallow all */, 6490 6491 removeCredit: true /* Remove credit link */, 6492 moreInfoLink: true /* Show more info link */, 6493 useExternalCss: true /* If false, the tarteaucitron.css file will be loaded */, 6494 useExternalJs: true, 6495 6496 //"cookieDomain": ".my-multisite-domaine.fr", /* Shared cookie for subdomain website */ 6497 6498 readmoreLink: 6499 "" /* Change the default readmore link pointing to tarteaucitron.io */, 6500 6501 mandatory: false /* Show a message about mandatory cookies */, 6502 }); 6503 6504 (tarteaucitron.job = tarteaucitron.job || []).push("gtag"); 6505 tarteaucitron.user.gtagUa= "G-2G4S7R60ZS"; 6506 (tarteaucitron.job = tarteaucitron.job || []).push("twitterwidgetsapi"); 6507 (tarteaucitron.job = tarteaucitron.job || []).push("facebooklikebox"); 6508 (tarteaucitron.job = tarteaucitron.job || []).push("ytsubscribe"); 6509 (tarteaucitron.job = tarteaucitron.job || []).push("youtube"); 6510 (tarteaucitron.job = tarteaucitron.job || []).push("recaptcha"); 6511 6512 var allowBtns = document.getElementsByClassName("tarteaucitronAllow"); 6513 for (i = 0; i < allowBtns.length; i++) { 6514 tarteaucitron.addClickEventToElement(allowBtns[i], function () { 6515 tarteaucitron.userInterface.respond(this, true); 6516 }); 6517 } 6518 } 6519} 6520 6521})(jQuery); 6522; 6523// html5shiv @rem remysharp.com/html5-enabling-script 6524// iepp v1.6.2 @jon_neal iecss.com/print-protector
6525// Dual licensed under the MIT or GPL Version 2 licenses 6526/*@cc_on(function(a,b){function r(a){var b=-1;while(++b<f)a.createElement(e[b])}if(!(!window.attachEvent||!b.createStyleSheet||!function(){var a=document.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}())){a.iepp=a.iepp||{};var c=a.iepp,d=c.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",e=d.split("|"),f=e.length,g=new RegExp("(^|\\s)("+d+")","gi"),h=new RegExp("<(/*)("+d+")","gi"),i=/^\s*[\{\}]\s*$/,j=new RegExp("(^|[^\\n]*?\\s)("+d+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),k=b.createDocumentFragment(),l=b.documentElement,m=l.firstChild,n=b.createElement("body"),o=b.createElement("style"),p=/print|all/,q;c.getCSS=function(a,b){if(a+""===undefined)return"";var d=-1,e=a.length,f,g=[];while(++d<e){f=a[d];if(f.disabled)continue;b=f.media||b,p.test(b)&&g.push(c.getCSS(f.imports,b),f.cssText),b="all"}return g.join("")},c.parseCSS=function(a){var b=[],c;while((c=j.exec(a))!=null)b.push(((i.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(g,"$1.iepp_$2")+c[4]);return b.join("\n")},c.writeHTML=function(){var a=-1;q=q||b.body;while(++a<f){var c=b.getElementsByTagName(e[a]),d=c.length,g=-1;while(++g<d)c[g].className.indexOf("iepp_")<0&&(c[g].className+=" iepp_"+e[a])}k.appendChild(q),l.appendChild(n),n.className=q.className,n.id=q.id,n.innerHTML=q.innerHTML.replace(h,"<$1font")},c._beforePrint=function(){o.styleSheet.cssText=c.parseCSS(c.getCSS(b.styleSheets,"all")),c.writeHTML()},c.restoreHTML=function(){n.innerHTML="",l.removeChild(n),l.appendChild(q)},c._afterPrint=function(){c.restoreHTML(),o.styleSheet.cssText=""},r(b),r(k);if(c.disablePP)return;m.insertBefore(o,m.firstChild),o.media="print",o.className="iepp-printshim",a.attachEvent("onbeforeprint",c._beforePrint),a.attachEvent("onafterprint",c._afterPrint)}})(this,document);@*/ 6527; 6528/*! Respond.js v1.0.1pre: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 6529(function(e,h){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=h;if(h){return}var u=e.document,r=u.documentElement,i=[],k=[],p=[],o={},g=30,f=u.getElementsByTagName("head")[0]||r,b=f.getElementsByTagName("link"),d=[],a=function(){var B=b,w=B.length,z=0,y,x,A,v;for(;z<w;z++){y=B[z],x=y.href,A=y.media,v=y.rel&&y.rel.toLowerCase()==="stylesheet";if(!!x&&v&&!o[x]){if(y.styleSheet&&y.styleSheet.rawCssText){m(y.styleSheet.rawCssText,x,A);o[x]=true}else{if(!/^([a-zA-Z]+?:(\/\/)?)/.test(x)||x.replace(RegExp.$1,"").split("/")[0]===e.location.host){d.push({href:x,media:A})}}}}t()},t=function(){if(d.length){var v=d.shift();n(v.href,function(w){m(w,v.href,v.media);o[v.href]=true;t()})}},m=function(G,v,x){var E=G.match(/@media[^\{]+\{([^\{\}]+\{[^\}\{]+\})+/gi),H=E&&E.length||0,v=v.substring(0,v.lastIndexOf("/")),w=function(I){return I.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+v+"$2$3")},y=!H&&x,B=0,A,C,D,z,F;if(v.length){v+="/"}if(y){H=1}for(;B<H;B++){A=0;if(y){C=x;k.push(w(G))}else{C=E[B].match(/@media ([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1;k.push(RegExp.$2&&w(RegExp.$2))}z=C.split(",");F=z.length;for(;A<F;A++){D=z[A];i.push({media:D.match(/(only\s+)?([a-zA-Z]+)(\sand)?/)&&RegExp.$2,rules:k.length-1,minw:D.match(/\(min\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1),maxw:D.match(/\(max\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1)})}}j()},l,q,j=function(E){var v="clientWidth",x=r[v],D=u.compatMode==="CSS1Compat"&&x||u.body[v]||x,z={},C=u.createDocumentFragment(),B=b[b.length-1],w=(new Date()).getTime();if(E&&l&&w-l<g){clearTimeout(q);q=setTimeout(j,g);return}else{l=w}for(var y in i){var F=i[y];if(!F.minw&&!F.maxw||(!F.minw||F.minw&&D>=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);
6529w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_<style media="'+a+'"> #mq-test-1 { width: 9px; }</style>';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this));; 6530 6531(function ($) { 6532 6533/** 6534 * This script transforms a set of fieldsets into a stack of vertical 6535 * tabs. Another tab pane can be selected by clicking on the respective 6536 * tab. 6537 * 6538 * Each tab may have a summary which can be updated by another 6539 * script. For that to work, each fieldset has an associated 6540 * 'verticalTabCallback' (with jQuery.data() attached to the fieldset), 6541 * which is called every time the user performs an update to a form 6542 * element inside the tab pane. 6543 */ 6544Drupal.behaviors.verticalTabs = { 6545 attach: function (context) { 6546 $('.vertical-tabs-panes', context).once('vertical-tabs', function () { 6547 var focusID = $(':hidden.vertical-tabs-active-tab', this).val(); 6548 var tab_focus; 6549 6550 // Check if there are some fieldsets that can be converted to vertical-tabs 6551 var $fieldsets = $('> fieldset', this); 6552 if ($fieldsets.length == 0) { 6553 return; 6554 } 6555 6556 // Create the tab column. 6557 var tab_list = $('<ul class="vertical-tabs-list"></ul>'); 6558 $(this).wrap('<div class="vertical-tabs clearfix"></div>').before(tab_list); 6559 6560 // Transform each fieldset into a tab. 6561 $fieldsets.each(function () { 6562 var vertical_tab = new Drupal.verticalTab({ 6563 title: $('> legend', this).text(), 6564 fieldset: $(this) 6565 }); 6566 tab_list.append(vertical_tab.item); 6567 $(this) 6568 .removeClass('collapsible collapsed') 6569 .addClass('vertical-tabs-pane') 6570 .data('verticalTab', vertical_tab); 6571 if (this.id == focusID) { 6572 tab_focus = $(this); 6573 } 6574 }); 6575 6576 $('> li:first', tab_list).addClass('first'); 6577 $('> li:last', tab_list).addClass('last'); 6578 6579 if (!tab_focus) { 6580 // If the current URL has a fragment and one of the tabs contains an 6581 // element that matches the URL fragment, activate that tab. 6582 if (window.location.hash && $(window.location.hash, this).length) { 6583 tab_focus = $(window.location.hash, this).closest('.vertical-tabs-pane'); 6584 } 6585 else { 6586 tab_focus = $('> .vertical-tabs-pane:first', this); 6587 } 6588 } 6589 if (tab_focus.length) { 6590 tab_focus.data('verticalTab').focus(); 6591 } 6592 }); 6593 } 6594}; 6595 6596/** 6597 * The vertical tab object represents a single tab within a tab group. 6598 * 6599 * @param settings 6600 * An object with the following keys: 6601 * - title: The name of the tab. 6602 * - fieldset: The jQuery object of the fieldset that is the tab pane. 6603 */ 6604Drupal.verticalTab = function (settings) { 6605 var self = this; 6606 $.extend(this, settings, Drupal.theme('verticalTab', settings)); 6607 6608 this.link.click(function () { 6609 self.focus(); 6610 return false; 6611 }); 6612 6613 // Keyboard events added: 6614 // Pressing the Enter key will open the tab pane. 6615 this.link.keydown(function(event) { 6616 if (event.keyCode == 13) { 6617 self.focus(); 6618 // Set focus on the first input field of the visible fieldset/tab pane. 6619 $("fieldset.vertical-tabs-pane :input:visible:enabled:first").focus(); 6620 return false; 6621 } 6622 }); 6623 6624 // Pressing the Enter key lets you leave the tab again. 6625 this.fieldset.keydown(function(event) { 6626 // Enter key should not trigger inside <textarea> to allow for multi-line entries. 6627 if (event.keyCode == 13 && event.target.nodeName != "TEXTAREA") { 6628 // Set focus on the selected tab button again. 6629 $(".vertical-tab-button.selected a").focus(); 6630 return false;
6631 } 6632 }); 6633 6634 this.fieldset 6635 .bind('summaryUpdated', function () { 6636 self.updateSummary(); 6637 }) 6638 .trigger('summaryUpdated'); 6639}; 6640 6641Drupal.verticalTab.prototype = { 6642 /** 6643 * Displays the tab's content pane. 6644 */ 6645 focus: function () { 6646 this.fieldset 6647 .siblings('fieldset.vertical-tabs-pane') 6648 .each(function () { 6649 var tab = $(this).data('verticalTab'); 6650 tab.fieldset.hide(); 6651 tab.item.removeClass('selected'); 6652 }) 6653 .end() 6654 .show() 6655 .siblings(':hidden.vertical-tabs-active-tab') 6656 .val(this.fieldset.attr('id')); 6657 this.item.addClass('selected'); 6658 // Mark the active tab for screen readers. 6659 $('#active-vertical-tab').remove(); 6660 this.link.append('<span id="active-vertical-tab" class="offscreen">' + Drupal.t('(active tab)') + '</span>'); 6661 }, 6662 6663 /** 6664 * Updates the tab's summary. 6665 */ 6666 updateSummary: function () { 6667 this.summary.html(this.fieldset.drupalGetSummary()); 6668 }, 6669 6670 /** 6671 * Shows a vertical tab pane. 6672 */ 6673 tabShow: function () { 6674 // Display the tab. 6675 this.item.show(); 6676 // Update .first marker for items. We need recurse from parent to retain the 6677 // actual DOM element order as jQuery implements sortOrder, but not as public 6678 // method. 6679 this.item.parent().children('.vertical-tab-button').removeClass('first') 6680 .filter(':visible:first').addClass('first'); 6681 // Display the fieldset. 6682 this.fieldset.removeClass('vertical-tab-hidden').show(); 6683 // Focus this tab. 6684 this.focus(); 6685 return this; 6686 }, 6687 6688 /** 6689 * Hides a vertical tab pane. 6690 */ 6691 tabHide: function () { 6692 // Hide this tab. 6693 this.item.hide(); 6694 // Update .first marker for items. We need recurse from parent to retain the 6695 // actual DOM element order as jQuery implements sortOrder, but not as public 6696 // method. 6697 this.item.parent().children('.vertical-tab-button').removeClass('first') 6698 .filter(':visible:first').addClass('first'); 6699 // Hide the fieldset. 6700 this.fieldset.addClass('vertical-tab-hidden').hide(); 6701 // Focus the first visible tab (if there is one). 6702 var $firstTab = this.fieldset.siblings('.vertical-tabs-pane:not(.vertical-tab-hidden):first'); 6703 if ($firstTab.length) { 6704 $firstTab.data('verticalTab').focus(); 6705 } 6706 return this; 6707 } 6708}; 6709 6710/** 6711 * Theme function for a vertical tab. 6712 * 6713 * @param settings 6714 * An object with the following keys: 6715 * - title: The name of the tab. 6716 * @return 6717 * This function has to return an object with at least these keys: 6718 * - item: The root tab jQuery element 6719 * - link: The anchor tag that acts as the clickable area of the tab 6720 * (jQuery version) 6721 * - summary: The jQuery element that contains the tab summary 6722 */ 6723Drupal.theme.prototype.verticalTab = function (settings) { 6724 var class_name = 'vertical-tab-button'; 6725 if ($('.error', settings.fieldset).length>0) { 6726 class_name += ' vertical-tab-button-error'; 6727 } 6728 var tab = {}; 6729 tab.item = $('<li class="'+class_name+'" tabindex="-1"></li>') 6730 .append(tab.link = $('<a href="#"></a>') 6731 .append(tab.title = $('<strong></strong>').text(settings.title)) 6732 .append(tab.summary = $('<span class="summary"></span>') 6733 ) 6734 ); 6735 return tab; 6736}; 6737 6738})(jQuery); 6739; 6740/** 6741 * jQuery bxSlider v3.0 6742 * http://bxslider.com 6743 * 6744 * Copyright 2010, Steven Wanderski 6745 * http://stevenwanderski.com 6746 * 6747 * Free to use and abuse under the MIT license. 6748 * http://www.opensource.org/licenses/mit-license.php 6749 * 6750 */ 6751 6752 6753(function($){ 6754 $.fn.bxSlider = function(options){ 6755 6756 var defaults = { 6757 mode: 'horizontal', // 'horizontal', 'vertical', 'fade' 6758 infiniteLoop: true, // true, false - display first slide after last 6759 hideControlOnEnd: false, // true, false - if true, will hide 'next' control on last slide and 'prev' control on first 6760 controls: true, // true, false - previous and next controls 6761 speed: 500, // integer - in ms, duration of time slide transitions will occupy 6762 easing: 'swing', // used with jquery.easing.1.3.js - see http://gsgd.co.uk/sandbox/jquery/easing/ for available options 6763 pager: false, // true / false - display a pager 6764 pagerSelector: null, // jQuery selector - element to contain the pager. ex: '#pager' 6765 pagerType: 'full', // 'full', 'short' - if 'full' pager displays 1,2,3... if 'short' pager displays 1 / 4 6766 pagerLocation: 'bottom', // 'bottom', 'top' - location of pager 6767 pagerShortSeparator: '/', // string - ex: 'of' pager would display 1 of 4 6768 pagerActiveClass: 'pager-active', // string - classname attached to the active pager link 6769 nextText: 'next', // string - text displayed for 'next' control 6770 nextImage: '', // string - filepath of image used for 'next' control. ex: 'images/next.jpg' 6771 nextSelector: null, // jQuery selector - element to contain the next control. ex: '#next' 6772 prevText: 'prev', // string - text displayed for 'previous' control 6773 prevImage: '', // string - filepath of image used for 'previous' control. ex: 'images/prev.jpg' 6774 prevSelector: null, // jQuery selector - element to contain the previous control. ex: '#next' 6775 captions: false, // true, false - display image captions (reads the image 'title' tag) 6776 captionsSelector: null, // jQuery selector - element to contain the captions. ex: '#captions'
6777 auto: false, // true, false - make slideshow change automatically 6778 autoDirection: 'next', // 'next', 'prev' - direction in which auto show will traverse 6779 autoControls: false, // true, false - show 'start' and 'stop' controls for auto show 6780 autoControlsSelector: null, // jQuery selector - element to contain the auto controls. ex: '#auto-controls' 6781 autoStart: true, // true, false - if false show will wait for 'start' control to activate 6782 autoHover: false, // true, false - if true show will pause on mouseover 6783 autoDelay: 0, // integer - in ms, the amount of time before starting the auto show 6784 pause: 3000, // integer - in ms, the duration between each slide transition 6785 startText: 'start', // string - text displayed for 'start' control 6786 startImage: '', // string - filepath of image used for 'start' control. ex: 'images/start.jpg' 6787 stopText: 'stop', // string - text displayed for 'stop' control 6788 stopImage: '', // string - filepath of image used for 'stop' control. ex: 'images/stop.jpg' 6789 ticker: false, // true, false - continuous motion ticker mode (think news ticker) 6790 // note: autoControls, autoControlsSelector, and autoHover apply to ticker! 6791 tickerSpeed: 5000, // float - use value between 1 and 5000 to determine ticker speed - the smaller the value the faster the ticker speed 6792 tickerDirection: 'next', // 'next', 'prev' - direction in which ticker show will traverse 6793 tickerHover: false, // true, false - if true ticker will pause on mouseover 6794 wrapperClass: 'bx-wrapper', // string - classname attached to the slider wraper 6795 startingSlide: 0, // integer - show will start on specified slide. note: slides are zero based! 6796 displaySlideQty: 1, // integer - number of slides to display at once 6797 moveSlideQty: 1, // integer - number of slides to move at once 6798 randomStart: false, // true, false - if true show will start on a random slide 6799 onBeforeSlide: function(){}, // function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject) - advanced use only! see the tutorial here: http://bxslider.com/custom-pager 6800 onAfterSlide: function(){}, // function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject) - advanced use only! see the tutorial here: http://bxslider.com/custom-pager 6801 onLastSlide: function(){}, // function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject) - advanced use only! see the tutorial here: http://bxslider.com/custom-pager 6802 onFirstSlide: function(){}, // function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject) - advanced use only! see the tutorial here: http://bxslider.com/custom-pager 6803 onNextSlide: function(){}, // function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject) - advanced use only! see the tutorial here: http://bxslider.com/custom-pager 6804 onPrevSlide: function(){}, // function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject) - advanced use only! see the tutorial here: http://bxslider.com/custom-pager 6805 buildPager: null // function(slideIndex, slideHtmlObject){ return string; } - advanced use only! see the tutorial here: http://bxslider.com/custom-pager 6806 } 6807 6808 var options = $.extend(defaults, options); 6809 6810 // cache the base element 6811 var base = this; 6812 // initialize (and localize) all variables 6813 var $parent = ''; 6814 var $origElement = ''; 6815 var $children = ''; 6816 var $outerWrapper = ''; 6817 var $firstChild = ''; 6818 var childrenWidth = ''; 6819 var childrenOuterWidth = ''; 6820 var wrapperWidth = ''; 6821 var wrapperHeight = ''; 6822 var $pager = ''; 6823 var interval = ''; 6824 var $autoControls = ''; 6825 var $stopHtml = ''; 6826 var $startContent = ''; 6827 var $stopContent = ''; 6828 var autoPlaying = true; 6829 var loaded = false; 6830 var childrenMaxWidth = 0; 6831 var childrenMaxHeight = 0; 6832 var currentSlide = 0; 6833 var origLeft = 0; 6834 var origTop = 0; 6835 var origShowWidth = 0; 6836 var origShowHeight = 0; 6837 var tickerLeft = 0; 6838 var tickerTop = 0; 6839 var isWorking = false;
6840 6841 var firstSlide = 0; 6842 var lastSlide = $children.length - 1; 6843 6844 6845 // PUBLIC FUNCTIONS 6846 6847 /** 6848 * Go to specified slide 6849 */ 6850 this.goToSlide = function(number, stopAuto){ 6851 if(!isWorking){ 6852 isWorking = true; 6853 // set current slide to argument 6854 currentSlide = number; 6855 options.onBeforeSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6856 // check if stopAuto argument is supplied 6857 if(typeof(stopAuto) == 'undefined'){ 6858 var stopAuto = true; 6859 } 6860 if(stopAuto){ 6861 // if show is auto playing, stop it 6862 if(options.auto){ 6863 base.stopShow(true); 6864 } 6865 } 6866 slide = number; 6867 // check for first slide callback 6868 if(slide == firstSlide){ 6869 options.onFirstSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6870 } 6871 // check for last slide callback 6872 if(slide == lastSlide){ 6873 options.onLastSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6874 } 6875 // horizontal 6876 if(options.mode == 'horizontal'){ 6877 $parent.animate({'left': '-'+getSlidePosition(slide, 'left')+'px'}, options.speed, options.easing, function(){ 6878 isWorking = false; 6879 // perform the callback function 6880 options.onAfterSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6881 }); 6882 // vertical 6883 }else if(options.mode == 'vertical'){ 6884 $parent.animate({'top': '-'+getSlidePosition(slide, 'top')+'px'}, options.speed, options.easing, function(){ 6885 isWorking = false; 6886 // perform the callback function 6887 options.onAfterSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6888 }); 6889 // fade 6890 }else if(options.mode == 'fade'){ 6891 setChildrenFade(); 6892 } 6893 // check to remove controls on last/first slide 6894 checkEndControls(); 6895 // accomodate multi slides 6896 if(options.moveSlideQty > 1){ 6897 number = Math.floor(number / options.moveSlideQty); 6898 } 6899 // make the current slide active 6900 makeSlideActive(number); 6901 // display the caption 6902 showCaptions(); 6903 } 6904 } 6905 6906 /** 6907 * Go to next slide 6908 */ 6909 this.goToNextSlide = function(stopAuto){ 6910 // check if stopAuto argument is supplied 6911 if(typeof(stopAuto) == 'undefined'){ 6912 var stopAuto = true; 6913 } 6914 if(stopAuto){ 6915 // if show is auto playing, stop it 6916 if(options.auto){ 6917 base.stopShow(true); 6918 } 6919 } 6920 // makes slideshow finite 6921 if(!options.infiniteLoop){ 6922 if(!isWorking){ 6923 var slideLoop = false; 6924 // make current slide the old value plus moveSlideQty 6925 currentSlide = (currentSlide + (options.moveSlideQty)); 6926 // if current slide has looped on itself 6927 if(currentSlide <= lastSlide){ 6928 checkEndControls(); 6929 // next slide callback 6930 options.onNextSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6931 // move to appropriate slide 6932 base.goToSlide(currentSlide); 6933 }else{ 6934 currentSlide -= options.moveSlideQty; 6935 } 6936 } // end if(!isWorking) 6937 }else{ 6938 if(!isWorking){ 6939 isWorking = true; 6940 var slideLoop = false; 6941 // make current slide the old value plus moveSlideQty 6942 currentSlide = (currentSlide + options.moveSlideQty); 6943 // if current slide has looped on itself 6944 if(currentSlide > lastSlide){ 6945 currentSlide = currentSlide % $children.length; 6946 slideLoop = true; 6947 } 6948 // next slide callback 6949 options.onNextSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6950 // slide before callback 6951 options.onBeforeSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6952 if(options.mode == 'horizontal'){ 6953 // get the new 'left' property for $parent 6954 var parentLeft = (options.moveSlideQty * childrenOuterWidth); 6955 // animate to the new 'left' 6956 $parent.animate({'left': '-='+parentLeft+'px'}, options.speed, options.easing, function(){ 6957 isWorking = false; 6958 // if its time to loop, reset the $parent 6959 if(slideLoop){ 6960 $parent.css('left', '-'+getSlidePosition(currentSlide, 'left')+'px'); 6961 } 6962 // perform the callback function 6963 options.onAfterSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6964 }); 6965 }else if(options.mode == 'vertical'){ 6966 // get the new 'left' property for $parent 6967 var parentTop = (options.moveSlideQty * childrenMaxHeight); 6968 // animate to the new 'left' 6969 $parent.animate({'top': '-='+parentTop+'px'}, options.speed, options.easing, function(){ 6970 isWorking = false;
6971 // if its time to loop, reset the $parent 6972 if(slideLoop){ 6973 $parent.css('top', '-'+getSlidePosition(currentSlide, 'top')+'px'); 6974 } 6975 // perform the callback function 6976 options.onAfterSlide(currentSlide, $children.length, $children.eq(currentSlide)); 6977 }); 6978 }else if(options.mode == 'fade'){ 6979 setChildrenFade(); 6980 } 6981 // make the current slide active 6982 if(options.moveSlideQty > 1){ 6983 makeSlideActive(Math.ceil(currentSlide / options.moveSlideQty)); 6984 }else{ 6985 makeSlideActive(currentSlide); 6986 } 6987 // display the caption 6988 showCaptions(); 6989 } // end if(!isWorking) 6990 6991 } 6992 } // end function 6993 6994 /** 6995 * Go to previous slide 6996 */ 6997 this.goToPreviousSlide = function(stopAuto){ 6998 // check if stopAuto argument is supplied 6999 if(typeof(stopAuto) == 'undefined'){ 7000 var stopAuto = true; 7001 } 7002 if(stopAuto){ 7003 // if show is auto playing, stop it 7004 if(options.auto){ 7005 base.stopShow(true); 7006 } 7007 } 7008 // makes slideshow finite 7009 if(!options.infiniteLoop){ 7010 if(!isWorking){ 7011 var slideLoop = false; 7012 // make current slide the old value plus moveSlideQty 7013 currentSlide = currentSlide - options.moveSlideQty; 7014 // if current slide has looped on itself 7015 if(currentSlide < 0){ 7016 currentSlide = 0; 7017 // if specified, hide the control on the last slide 7018 if(options.hideControlOnEnd){ 7019 $('.bx-prev', $outerWrapper).hide(); 7020 } 7021 } 7022 checkEndControls(); 7023 // next slide callback 7024 options.onPrevSlide(currentSlide, $children.length, $children.eq(currentSlide)); 7025 // move to appropriate slide 7026 base.goToSlide(currentSlide); 7027 } 7028 }else{ 7029 if(!isWorking){ 7030 isWorking = true; 7031 var slideLoop = false; 7032 // make current slide the old value plus moveSlideQty 7033 currentSlide = (currentSlide - (options.moveSlideQty)); 7034 // if current slide has looped on itself 7035 if(currentSlide < 0){ 7036 negativeOffset = (currentSlide % $children.length); 7037 if(negativeOffset == 0){ 7038 currentSlide = 0; 7039 }else{ 7040 currentSlide = ($children.length) + negativeOffset; 7041 } 7042 slideLoop = true; 7043 } 7044 // next slide callback 7045 options.onPrevSlide(currentSlide, $children.length, $children.eq(currentSlide)); 7046 // slide before callback 7047 options.onBeforeSlide(currentSlide, $children.length, $children.eq(currentSlide)); 7048 if(options.mode == 'horizontal'){ 7049 // get the new 'left' property for $parent 7050 var parentLeft = (options.moveSlideQty * childrenOuterWidth); 7051 // animate to the new 'left' 7052 $parent.animate({'left': '+='+parentLeft+'px'}, options.speed, options.easing, function(){ 7053 isWorking = false; 7054 // if its time to loop, reset the $parent 7055 if(slideLoop){ 7056 $parent.css('left', '-'+getSlidePosition(currentSlide, 'left')+'px'); 7057 } 7058 // perform the callback function 7059 options.onAfterSlide(currentSlide, $children.length, $children.eq(currentSlide)); 7060 }); 7061 }else if(options.mode == 'vertical'){ 7062 // get the new 'left' property for $parent 7063 var parentTop = (options.moveSlideQty * childrenMaxHeight); 7064 // animate to the new 'left' 7065 $parent.animate({'top': '+='+parentTop+'px'}, options.speed, options.easing, function(){ 7066 isWorking = false; 7067 // if its time to loop, reset the $parent 7068 if(slideLoop){ 7069 $parent.css('top', '-'+getSlidePosition(currentSlide, 'top')+'px'); 7070 } 7071 // perform the callback function 7072 options.onAfterSlide(currentSlide, $children.length, $children.eq(currentSlide)); 7073 }); 7074 }else if(options.mode == 'fade'){ 7075 setChildrenFade(); 7076 } 7077 // make the current slide active 7078 if(options.moveSlideQty > 1){ 7079 makeSlideActive(Math.ceil(currentSlide / options.moveSlideQty)); 7080 }else{ 7081 makeSlideActive(currentSlide); 7082 } 7083 // display the caption 7084 showCaptions(); 7085 } // end if(!isWorking) 7086 } 7087 } // end function 7088 7089 /** 7090 * Go to first slide 7091 */ 7092 this.goToFirstSlide = function(stopAuto){ 7093 // check if stopAuto argument is supplied 7094 if(typeof(stopAuto) == 'undefined'){ 7095 var stopAuto = true; 7096 } 7097 base.goToSlide(firstSlide, stopAuto); 7098 } 7099 7100 /** 7101 * Go to last slide 7102 */ 7103 this.goToLastSlide = function(){ 7104 // check if stopAuto argument is supplied 7105 if(typeof(stopAuto) == 'undefined'){ 7106 var stopAuto = true; 7107 } 7108 base.goToSlide(lastSlide, stopAuto); 7109 } 7110 7111 /** 7112 * Get the current slide 7113 */ 7114 this.getCurrentSlide = function(){ 7115 return currentSlide; 7116 } 7117 7118 /** 7119 * Get the total slide count 7120 */
7121 this.getSlideCount = function(){ 7122 return $children.length; 7123 } 7124 7125 /** 7126 * Stop the slideshow 7127 */ 7128 this.stopShow = function(changeText){ 7129 clearInterval(interval); 7130 // check if changeText argument is supplied 7131 if(typeof(changeText) == 'undefined'){ 7132 var changeText = true; 7133 } 7134 if(changeText && options.autoControls){ 7135 $autoControls.html($startContent).removeClass('stop').addClass('start'); 7136 autoPlaying = false; 7137 } 7138 } 7139 7140 /** 7141 * Start the slideshow 7142 */ 7143 this.startShow = function(changeText){ 7144 // check if changeText argument is supplied 7145 if(typeof(changeText) == 'undefined'){ 7146 var changeText = true; 7147 } 7148 setAutoInterval(); 7149 if(changeText && options.autoControls){ 7150 $autoControls.html($stopContent).removeClass('start').addClass('stop'); 7151 autoPlaying = true; 7152 } 7153 } 7154 7155 /** 7156 * Stops the ticker 7157 */ 7158 this.stopTicker = function(changeText){ 7159 $parent.stop(); 7160 // check if changeText argument is supplied 7161 if(typeof(changeText) == 'undefined'){ 7162 var changeText = true; 7163 } 7164 if(changeText && options.ticker){ 7165 $autoControls.html($startContent).removeClass('stop').addClass('start'); 7166 autoPlaying = false; 7167 } 7168 } 7169 7170 /** 7171 * Starts the ticker 7172 */ 7173 this.startTicker = function(changeText){ 7174 if(options.mode == 'horizontal'){ 7175 if(options.tickerDirection == 'next'){ 7176 // get the 'left' property where the ticker stopped 7177 var stoppedLeft = parseInt($parent.css('left')); 7178 // calculate the remaining distance the show must travel until the loop 7179 var remainingDistance = (origShowWidth + stoppedLeft) + $children.eq(0).width(); 7180 }else if(options.tickerDirection == 'prev'){ 7181 // get the 'left' property where the ticker stopped 7182 var stoppedLeft = -parseInt($parent.css('left')); 7183 // calculate the remaining distance the show must travel until the loop 7184 var remainingDistance = (stoppedLeft) - $children.eq(0).width(); 7185 } 7186 // calculate the speed ratio to seamlessly finish the loop 7187 var finishingSpeed = (remainingDistance * options.tickerSpeed) / origShowWidth; 7188 // call the show 7189 moveTheShow(tickerLeft, remainingDistance, finishingSpeed); 7190 }else if(options.mode == 'vertical'){ 7191 if(options.tickerDirection == 'next'){ 7192 // get the 'top' property where the ticker stopped 7193 var stoppedTop = parseInt($parent.css('top')); 7194 // calculate the remaining distance the show must travel until the loop 7195 var remainingDistance = (origShowHeight + stoppedTop) + $children.eq(0).height(); 7196 }else if(options.tickerDirection == 'prev'){ 7197 // get the 'left' property where the ticker stopped 7198 var stoppedTop = -parseInt($parent.css('top')); 7199 // calculate the remaining distance the show must travel until the loop 7200 var remainingDistance = (stoppedTop) - $children.eq(0).height(); 7201 } 7202 // calculate the speed ratio to seamlessly finish the loop 7203 var finishingSpeed = (remainingDistance * options.tickerSpeed) / origShowHeight; 7204 // call the show 7205 moveTheShow(tickerTop, remainingDistance, finishingSpeed); 7206 // check if changeText argument is supplied 7207 if(typeof(changeText) == 'undefined'){ 7208 var changeText = true; 7209 } 7210 if(changeText && options.ticker){ 7211 $autoControls.html($stopContent).removeClass('start').addClass('stop'); 7212 autoPlaying = true; 7213 } 7214 } 7215 } 7216 7217 /** 7218 * Initialize a new slideshow 7219 */ 7220 this.initShow = function(){ 7221 7222 // reinitialize all variables 7223 // base = this; 7224 $parent = $(this); 7225 $origElement = $parent.clone(); 7226 $children = $parent.children(); 7227 $outerWrapper = ''; 7228 $firstChild = $parent.children(':first'); 7229 childrenWidth = $firstChild.width(); 7230 childrenMaxWidth = 0; 7231 childrenOuterWidth = $firstChild.outerWidth(); 7232 childrenMaxHeight = 0; 7233 wrapperWidth = getWrapperWidth(); 7234 wrapperHeight = getWrapperHeight(); 7235 isWorking = false; 7236 $pager = ''; 7237 currentSlide = 0; 7238 origLeft = 0; 7239 origTop = 0; 7240 interval = ''; 7241 $autoControls = ''; 7242 $stopHtml = ''; 7243 $startContent = ''; 7244 $stopContent = ''; 7245 autoPlaying = true; 7246 loaded = false;
7247 origShowWidth = 0; 7248 origShowHeight = 0; 7249 tickerLeft = 0; 7250 tickerTop = 0; 7251 7252 firstSlide = 0; 7253 lastSlide = $children.length - 1; 7254 7255 // get the largest child's height and width 7256 $children.each(function(index) { 7257 if($(this).outerHeight() > childrenMaxHeight){ 7258 childrenMaxHeight = $(this).outerHeight(); 7259 } 7260 if($(this).outerWidth() > childrenMaxWidth){ 7261 childrenMaxWidth = $(this).outerWidth(); 7262 } 7263 }); 7264 7265 // get random slide number 7266 if(options.randomStart){ 7267 var randomNumber = Math.floor(Math.random() * $children.length); 7268 currentSlide = randomNumber; 7269 origLeft = childrenOuterWidth * (options.moveSlideQty + randomNumber); 7270 origTop = childrenMaxHeight * (options.moveSlideQty + randomNumber); 7271 // start show at specific slide 7272 }else{ 7273 currentSlide = options.startingSlide; 7274 origLeft = childrenOuterWidth * (options.moveSlideQty + options.startingSlide); 7275 origTop = childrenMaxHeight * (options.moveSlideQty + options.startingSlide); 7276 } 7277 7278 // set initial css 7279 initCss(); 7280 7281 // check to show pager 7282 if(options.pager && !options.ticker){ 7283 if(options.pagerType == 'full'){ 7284 showPager('full'); 7285 }else if(options.pagerType == 'short'){ 7286 showPager('short'); 7287 } 7288 } 7289 7290 // check to show controls 7291 if(options.controls && !options.ticker){ 7292 setControlsVars(); 7293 } 7294 7295 // check if auto 7296 if(options.auto || options.ticker){ 7297 // check if auto controls are displayed 7298 if(options.autoControls){ 7299 setAutoControlsVars(); 7300 } 7301 // check if show should auto start 7302 if(options.autoStart){ 7303 // check if autostart should delay 7304 setTimeout(function(){ 7305 base.startShow(true); 7306 }, options.autoDelay); 7307 }else{ 7308 base.stopShow(true); 7309 } 7310 // check if show should pause on hover 7311 if(options.autoHover && !options.ticker){ 7312 setAutoHover(); 7313 } 7314 } 7315 // make the starting slide active 7316 if(options.moveSlideQty > 1){ 7317 makeSlideActive(Math.ceil(currentSlide / options.moveSlideQty)); 7318 }else{ 7319 makeSlideActive(currentSlide); 7320 } 7321 // check for finite show and if controls should be hidden 7322 checkEndControls(); 7323 // show captions 7324 if(options.captions){ 7325 showCaptions(); 7326 } 7327 // perform the callback function 7328 options.onAfterSlide(currentSlide, $children.length, $children.eq(currentSlide)); 7329 } 7330 7331 /** 7332 * Destroy the current slideshow 7333 */ 7334 this.destroyShow = function(){ 7335 // stop the auto show 7336 clearInterval(interval); 7337 // remove any controls / pagers that have been appended 7338 $('.bx-next, .bx-prev, .bx-pager, .bx-auto', $outerWrapper).remove(); 7339 // unwrap all bx-wrappers 7340 $parent.unwrap().unwrap().removeAttr('style'); 7341 // remove any styles that were appended 7342 $parent.children().removeAttr('style').not('.pager').remove(); 7343 // remove any childrent that were appended 7344 $children.removeClass('pager'); 7345 7346 } 7347 7348 /** 7349 * Reload the current slideshow 7350 */ 7351 this.reloadShow = function(){ 7352 base.destroyShow(); 7353 base.initShow(); 7354 } 7355 7356 // PRIVATE FUNCTIONS 7357 7358 /** 7359 * Creates all neccessary styling for the slideshow 7360 */ 7361 function initCss(){ 7362 // layout the children 7363 setChildrenLayout(options.startingSlide); 7364 // CSS for horizontal mode 7365 if(options.mode == 'horizontal'){ 7366 // wrap the <ul> in div that acts as a window and make the <ul> uber wide 7367 $parent 7368 .wrap('<div class="'+options.wrapperClass+'" style="width:'+wrapperWidth+'px; position:relative;"></div>') 7369 .wrap('<div class="bx-window" style="position:relative; overflow:hidden; width:'+wrapperWidth+'px;"></div>') 7370 .css({ 7371 width: '99999px', 7372 position: 'relative', 7373 left: '-'+(origLeft)+'px' 7374 }); 7375 $parent.children().css({ 7376 width: childrenWidth, 7377 'float': 'left', 7378 listStyle: 'none' 7379 }); 7380 $outerWrapper = $parent.parent().parent(); 7381 $children.addClass('pager'); 7382 // CSS for vertical mode 7383 }else if(options.mode == 'vertical'){ 7384 // wrap the <ul> in div that acts as a window and make the <ul> uber tall 7385 $parent 7386 .wrap('<div class="'+options.wrapperClass+'" style="width:'+childrenMaxWidth+'px; position:relative;"></div>') 7387 .wrap('<div class="bx-window" style="width:'+childrenMaxWidth+'px; height:'+wrapperHeight+'px; position:relative; overflow:hidden;"></div>') 7388 .css({ 7389 height: '99999px', 7390 position: 'relative', 7391 top: '-'+(origTop)+'px' 7392 }); 7393 $parent.children().css({ 7394 listStyle: 'none', 7395 height: childrenMaxHeight 7396 }); 7397 $outerWrapper = $parent.parent().parent(); 7398 $children.addClass('pager'); 7399 // CSS for fade mode 7400 }else if(options.mode == 'fade'){ 7401 // wrap the <ul> in div that acts as a window 7402 $parent 7403 .wrap('<div class="'+options.wrapperClass+'" style="width:'+childrenMaxWidth+'px; position:relative;"></div>') 7404 .wrap('<div class="bx-window" style="height:'+childrenMaxHeight+'px; width:'+childrenMaxWidth+'px; position:relative; overflow:hidden;"></div>'); 7405 $parent.children().css({ 7406 listStyle: 'none', 7407 position: 'absolute', 7408 top: 0, 7409 left: 0, 7410 zIndex: 98 7411 }); 7412 $outerWrapper = $parent.parent().parent(); 7413 $children.not(':eq('+currentSlide+')').fadeTo(0, 0); 7414 $children.eq(currentSlide).css('zIndex', 99); 7415 } 7416 // if captions = true setup a div placeholder 7417 if(options.captions && options.captionsSelector == null){ 7418 $outerWrapper.append('<div class="bx-captions"></div>'); 7419 } 7420 } 7421 7422 /**
7423 * Depending on mode, lays out children in the proper setup 7424 */ 7425 function setChildrenLayout(){ 7426 // lays out children for horizontal or vertical modes 7427 if(options.mode == 'horizontal' || options.mode == 'vertical'){ 7428 7429 // get the children behind 7430 var $prependedChildren = getArraySample($children, 0, options.moveSlideQty, 'backward'); 7431 7432 // add each prepended child to the back of the original element 7433 $.each($prependedChildren, function(index) { 7434 $parent.prepend($(this)); 7435 }); 7436 7437 // total number of slides to be hidden after the window 7438 var totalNumberAfterWindow = ($children.length + options.moveSlideQty) - 1; 7439 // number of original slides hidden after the window 7440 var pagerExcess = $children.length - options.displaySlideQty; 7441 // number of slides to append to the original hidden slides 7442 var numberToAppend = totalNumberAfterWindow - pagerExcess; 7443 // get the sample of extra slides to append 7444 var $appendedChildren = getArraySample($children, 0, numberToAppend, 'forward'); 7445 7446 if(options.infiniteLoop){ 7447 // add each appended child to the front of the original element 7448 $.each($appendedChildren, function(index) { 7449 $parent.append($(this)); 7450 }); 7451 } 7452 } 7453 } 7454 7455 /** 7456 * Sets all variables associated with the controls 7457 */ 7458 function setControlsVars(){ 7459 // check if text or images should be used for controls 7460 // check "next" 7461 if(options.nextImage != ''){ 7462 nextContent = options.nextImage; 7463 nextType = 'image'; 7464 }else{ 7465 nextContent = options.nextText; 7466 nextType = 'text'; 7467 } 7468 // check "prev" 7469 if(options.prevImage != ''){ 7470 prevContent = options.prevImage; 7471 prevType = 'image'; 7472 }else{ 7473 prevContent = options.prevText; 7474 prevType = 'text'; 7475 } 7476 // show the controls 7477 showControls(nextType, nextContent, prevType, prevContent); 7478 } 7479 7480 /** 7481 * Puts slideshow into auto mode 7482 * 7483 * @param int pause number of ms the slideshow will wait between slides 7484 * @param string direction 'forward', 'backward' sets the direction of the slideshow (forward/backward) 7485 * @param bool controls determines if start/stop controls will be displayed 7486 */ 7487 function setAutoInterval(){ 7488 if(options.auto){ 7489 // finite loop 7490 if(!options.infiniteLoop){ 7491 if(options.autoDirection == 'next'){ 7492 interval = setInterval(function(){ 7493 currentSlide += options.moveSlideQty; 7494 // if currentSlide has exceeded total number 7495 if(currentSlide > lastSlide){ 7496 currentSlide = currentSlide % $children.length; 7497 } 7498 base.goToSlide(currentSlide, false); 7499 }, options.pause); 7500 }else if(options.autoDirection == 'prev'){ 7501 interval = setInterval(function(){ 7502 currentSlide -= options.moveSlideQty; 7503 // if currentSlide is smaller than zero 7504 if(currentSlide < 0){ 7505 negativeOffset = (currentSlide % $children.length); 7506 if(negativeOffset == 0){ 7507 currentSlide = 0; 7508 }else{ 7509 currentSlide = ($children.length) + negativeOffset; 7510 } 7511 } 7512 base.goToSlide(currentSlide, false); 7513 }, options.pause); 7514 } 7515 // infinite loop 7516 }else{ 7517 if(options.autoDirection == 'next'){ 7518 interval = setInterval(function(){ 7519 base.goToNextSlide(false); 7520 }, options.pause); 7521 }else if(options.autoDirection == 'prev'){ 7522 interval = setInterval(function(){ 7523 base.goToPreviousSlide(false); 7524 }, options.pause); 7525 } 7526 } 7527 7528 }else if(options.ticker){ 7529 7530 options.tickerSpeed *= 10; 7531 7532 // get the total width of the original show 7533 $('.pager', $outerWrapper).each(function(index) { 7534 origShowWidth += $(this).width(); 7535 origShowHeight += $(this).height(); 7536 }); 7537 7538 // if prev start the show from the last slide 7539 if(options.tickerDirection == 'prev' && options.mode == 'horizontal'){ 7540 $parent.css('left', '-'+(origShowWidth+origLeft)+'px'); 7541 }else if(options.tickerDirection == 'prev' && options.mode == 'vertical'){ 7542 $parent.css('top', '-'+(origShowHeight+origTop)+'px'); 7543 } 7544 7545 if(options.mode == 'horizontal'){ 7546 // get the starting left position 7547 tickerLeft = parseInt($parent.css('left')); 7548 // start the ticker 7549 moveTheShow(tickerLeft, origShowWidth, options.tickerSpeed); 7550 }else if(options.mode == 'vertical'){ 7551 // get the starting top position 7552 tickerTop = parseInt($parent.css('top')); 7553 // start the ticker 7554 moveTheShow(tickerTop, origShowHeight, options.tickerSpeed); 7555 } 7556 7557 // check it tickerHover applies 7558 if(options.tickerHover){ 7559 setTickerHover(); 7560 } 7561 } 7562 } 7563 7564 function moveTheShow(leftCss, distance, speed){ 7565 // if horizontal 7566 if(options.mode == 'horizontal'){ 7567 // if next 7568 if(options.tickerDirection == 'next'){ 7569 $parent.animate({'left': '-='+distance+'px'}, speed, 'linear', function(){ 7570 $parent.css('left', leftCss); 7571 moveTheShow(leftCss, origShowWidth, options.tickerSpeed); 7572 }); 7573 // if prev 7574 }else if(options.tickerDirection == 'prev'){ 7575 $parent.animate({'left': '+='+distance+'px'}, speed, 'linear', function(){ 7576 $parent.css('left', leftCss); 7577 moveTheShow(leftCss, origShowWidth, options.tickerSpeed); 7578 }); 7579 } 7580 // if vertical 7581 }else if(options.mode == 'vertical'){ 7582 // if next 7583 if(options.tickerDirection == 'next'){ 7584 $parent.animate({'top': '-='+distance+'px'}, speed, 'linear', function(){ 7585 $parent.css('top', leftCss); 7586 moveTheShow(leftCss, origShowHeight, options.tickerSpeed); 7587 }); 7588 // if prev 7589 }else if(options.tickerDirection == 'prev'){ 7590 $parent.animate({'top': '+='+distance+'px'}, speed, 'linear', function(){ 7591 $parent.css('top', leftCss); 7592 moveTheShow(leftCss, origShowHeight, options.tickerSpeed); 7593 }); 7594 } 7595 } 7596 } 7597 7598 /** 7599 * Sets all variables associated with the controls 7600 */ 7601 function setAutoControlsVars(){
7602 // check if text or images should be used for controls 7603 // check "start" 7604 if(options.startImage != ''){ 7605 startContent = options.startImage; 7606 startType = 'image'; 7607 }else{ 7608 startContent = options.startText; 7609 startType = 'text'; 7610 } 7611 // check "stop" 7612 if(options.stopImage != ''){ 7613 stopContent = options.stopImage; 7614 stopType = 'image'; 7615 }else{ 7616 stopContent = options.stopText; 7617 stopType = 'text'; 7618 } 7619 // show the controls 7620 showAutoControls(startType, startContent, stopType, stopContent); 7621 } 7622 7623 /** 7624 * Handles hover events for auto shows 7625 */ 7626 function setAutoHover(){ 7627 // hover over the slider window 7628 $outerWrapper.find('.bx-window').hover(function() { 7629 if(autoPlaying){ 7630 base.stopShow(false); 7631 } 7632 }, function() { 7633 if(autoPlaying){ 7634 base.startShow(false); 7635 } 7636 }); 7637 } 7638 7639 /** 7640 * Handles hover events for ticker mode 7641 */ 7642 function setTickerHover(){ 7643 // on hover stop the animation 7644 $parent.hover(function() { 7645 if(autoPlaying){ 7646 base.stopTicker(false); 7647 } 7648 }, function() { 7649 if(autoPlaying){ 7650 base.startTicker(false); 7651 } 7652 }); 7653 } 7654 7655 /** 7656 * Handles fade animation 7657 */ 7658 function setChildrenFade(){ 7659 // fade out any other child besides the current 7660 $children.not(':eq('+currentSlide+')').fadeTo(options.speed, 0).css('zIndex', 98); 7661 // fade in the current slide 7662 $children.eq(currentSlide).css('zIndex', 99).fadeTo(options.speed, 1, function(){ 7663 isWorking = false; 7664 // perform the callback function 7665 options.onAfterSlide(currentSlide, $children.length, $children.eq(currentSlide)); 7666 }); 7667 }; 7668 7669 /** 7670 * Makes slide active 7671 */ 7672 function makeSlideActive(number){ 7673 if(options.pagerType == 'full' && options.pager){ 7674 // remove all active classes 7675 $('a', $pager).removeClass(options.pagerActiveClass); 7676 // assign active class to appropriate slide 7677 $('a', $pager).eq(number).addClass(options.pagerActiveClass); 7678 }else if(options.pagerType == 'short' && options.pager){ 7679 $('.bx-pager-current', $pager).html(currentSlide+1); 7680 } 7681 } 7682 7683 /** 7684 * Displays next/prev controls 7685 * 7686 * @param string nextType 'image', 'text' 7687 * @param string nextContent if type='image', specify a filepath to the image. if type='text', specify text. 7688 * @param string prevType 'image', 'text' 7689 * @param string prevContent if type='image', specify a filepath to the image. if type='text', specify text. 7690 */ 7691 function showControls(nextType, nextContent, prevType, prevContent){ 7692 // create pager html elements 7693 var $nextHtml = $('<a href="" class="bx-next"></a>'); 7694 var $prevHtml = $('<a href="" class="bx-prev"></a>'); 7695 // check if next is 'text' or 'image' 7696 if(nextType == 'text'){ 7697 $nextHtml.html(nextContent); 7698 }else{ 7699 $nextHtml.html('<img src="'+nextContent+'" />'); 7700 } 7701 // check if prev is 'text' or 'image' 7702 if(prevType == 'text'){ 7703 $prevHtml.html(prevContent); 7704 }else{ 7705 $prevHtml.html('<img src="'+prevContent+'" />'); 7706 } 7707 // check if user supplied a selector to populate next control 7708 if(options.prevSelector){ 7709 $(options.prevSelector).append($prevHtml); 7710 }else{ 7711 $outerWrapper.append($prevHtml); 7712 } 7713 // check if user supplied a selector to populate next control 7714 if(options.nextSelector){ 7715 $(options.nextSelector).append($nextHtml); 7716 }else{ 7717 $outerWrapper.append($nextHtml); 7718 } 7719 // click next control 7720 $nextHtml.click(function() { 7721 base.goToNextSlide(); 7722 return false; 7723 }); 7724 // click prev control 7725 $prevHtml.click(function() { 7726 base.goToPreviousSlide(); 7727 return false; 7728 }); 7729 } 7730 7731 /** 7732 * Displays the pager 7733 * 7734 * @param string type 'full', 'short' 7735 */ 7736 function showPager(type){ 7737 // sets up logic for finite multi slide shows 7738 var pagerQty = $children.length; 7739 // if we are moving more than one at a time and we have a finite loop 7740 if(options.moveSlideQty > 1){ 7741 // if slides create an odd number of pages 7742 if($children.length % options.moveSlideQty != 0){ 7743 // pagerQty = $children.length / options.moveSlideQty + 1; 7744 pagerQty = Math.ceil($children.length / options.moveSlideQty); 7745 // if slides create an even number of pages 7746 }else{ 7747 pagerQty = $children.length / options.moveSlideQty; 7748 } 7749 } 7750 var pagerString = ''; 7751 // check if custom build function was supplied 7752 if(options.buildPager){ 7753 for(var i=0; i<pagerQty; i++){ 7754 pagerString += options.buildPager(i, $children.eq(i * options.moveSlideQty)); 7755 } 7756 7757 // if not, use default pager 7758 }else if(type == 'full'){ 7759 // build the full pager 7760 for(var i=1; i<=pagerQty; i++){ 7761 pagerString += '<a href="" class="pager-link pager-'+i+'">'+i+'</a>'; 7762 } 7763 }else if(type == 'short') { 7764 // build the short pager 7765 pagerString = '<span class="bx-pager-current">'+(options.startingSlide+1)+'</span> '+options.pagerShortSeparator+' <span class="bx-pager-total">'+$children.length+'<span>'; 7766 } 7767 // check if user supplied a pager selector 7768 if(options.pagerSelector){ 7769 $(options.pagerSelector).append(pagerString); 7770 $pager = $(options.pagerSelector); 7771 }else{
7772 var $pagerContainer = $('<div class="bx-pager"></div>'); 7773 $pagerContainer.append(pagerString); 7774 // attach the pager to the DOM 7775 if(options.pagerLocation == 'top'){ 7776 $outerWrapper.prepend($pagerContainer); 7777 }else if(options.pagerLocation == 'bottom'){ 7778 $outerWrapper.append($pagerContainer); 7779 } 7780 // cache the pager element 7781 $pager = $('.bx-pager', $outerWrapper); 7782 } 7783 $pager.children().click(function() { 7784 // only if pager is full mode 7785 if(options.pagerType == 'full'){ 7786 // get the index from the link 7787 var slideIndex = $pager.children().index(this); 7788 // accomodate moving more than one slide 7789 if(options.moveSlideQty > 1){ 7790 slideIndex *= options.moveSlideQty; 7791 } 7792 base.goToSlide(slideIndex); 7793 } 7794 return false; 7795 }); 7796 } 7797 7798 /** 7799 * Displays captions 7800 */ 7801 function showCaptions(){ 7802 // get the title from each image 7803 var caption = $('img', $children.eq(currentSlide)).attr('title'); 7804 // if the caption exists 7805 if(caption != ''){ 7806 // if user supplied a selector 7807 if(options.captionsSelector){ 7808 $(options.captionsSelector).html(caption); 7809 }else{ 7810 $('.bx-captions', $outerWrapper).html(caption); 7811 } 7812 }else{ 7813 // if user supplied a selector 7814 if(options.captionsSelector){ 7815 $(options.captionsSelector).html(' '); 7816 }else{ 7817 $('.bx-captions', $outerWrapper).html(' '); 7818 } 7819 } 7820 } 7821 7822 /** 7823 * Displays start/stop controls for auto and ticker mode 7824 * 7825 * @param string type 'image', 'text' 7826 * @param string next [optional] if type='image', specify a filepath to the image. if type='text', specify text. 7827 * @param string prev [optional] if type='image', specify a filepath to the image. if type='text', specify text. 7828 */ 7829 function showAutoControls(startType, startContent, stopType, stopContent){ 7830 // create pager html elements 7831 $autoControls = $('<a href="" class="bx-start"></a>'); 7832 // check if start is 'text' or 'image' 7833 if(startType == 'text'){ 7834 $startContent = startContent; 7835 }else{ 7836 $startContent = '<img src="'+startContent+'" />'; 7837 } 7838 // check if stop is 'text' or 'image' 7839 if(stopType == 'text'){ 7840 $stopContent = stopContent; 7841 }else{ 7842 $stopContent = '<img src="'+stopContent+'" />'; 7843 } 7844 // check if user supplied a selector to populate next control 7845 if(options.autoControlsSelector){ 7846 $(options.autoControlsSelector).append($autoControls); 7847 }else{ 7848 $outerWrapper.append('<div class="bx-auto"></div>'); 7849 $('.bx-auto', $outerWrapper).html($autoControls); 7850 } 7851 7852 // click start control 7853 $autoControls.click(function() { 7854 if(options.ticker){ 7855 if($(this).hasClass('stop')){ 7856 base.stopTicker(); 7857 }else if($(this).hasClass('start')){ 7858 base.startTicker(); 7859 } 7860 }else{ 7861 if($(this).hasClass('stop')){ 7862 base.stopShow(true); 7863 }else if($(this).hasClass('start')){ 7864 base.startShow(true); 7865 } 7866 } 7867 return false; 7868 }); 7869 7870 } 7871 7872 /** 7873 * Checks if show is in finite mode, and if slide is either first or last, then hides the respective control 7874 */ 7875 function checkEndControls(){ 7876 if(!options.infiniteLoop && options.hideControlOnEnd){ 7877 // check previous 7878 if(currentSlide == firstSlide){ 7879 $('.bx-prev', $outerWrapper).hide(); 7880 }else{ 7881 $('.bx-prev', $outerWrapper).show(); 7882 } 7883 // check next 7884 if(currentSlide == lastSlide){ 7885 $('.bx-next', $outerWrapper).hide(); 7886 }else{ 7887 $('.bx-next', $outerWrapper).show(); 7888 } 7889 } 7890 } 7891 7892 /** 7893 * Returns the left offset of the slide from the parent container 7894 */ 7895 function getSlidePosition(number, side){ 7896 if(side == 'left'){ 7897 var position = $('.pager', $outerWrapper).eq(number).position().left; 7898 }else if(side == 'top'){ 7899 var position = $('.pager', $outerWrapper).eq(number).position().top; 7900 } 7901 return position; 7902 } 7903 7904 /** 7905 * Returns the width of the wrapper 7906 */ 7907 function getWrapperWidth(){ 7908 var wrapperWidth = $firstChild.outerWidth() * options.displaySlideQty; 7909 return wrapperWidth; 7910 } 7911 7912 /** 7913 * Returns the height of the wrapper 7914 */ 7915 function getWrapperHeight(){ 7916 // if displaying multiple slides, multiple wrapper width by number of slides to display 7917 var wrapperHeight = $firstChild.outerHeight() * options.displaySlideQty; 7918 return wrapperHeight; 7919 } 7920 7921 /** 7922 * Returns a sample of an arry and loops back on itself if the end of the array is reached 7923 * 7924 * @param array array original array the sample is derived from 7925 * @param int start array index sample will start 7926 * @param int length number of items in the sample 7927 * @param string direction 'forward', 'backward' direction the loop should travel in the array 7928 */ 7929 function getArraySample(array, start, length, direction){ 7930 // initialize empty array 7931 var sample = []; 7932 // clone the length argument 7933 var loopLength = length; 7934 // determines when the empty array should start being populated 7935 var startPopulatingArray = false;
7936 // reverse the array if direction = 'backward' 7937 if(direction == 'backward'){ 7938 array = $.makeArray(array); 7939 array.reverse(); 7940 } 7941 // loop through original array until the length argument is met 7942 while(loopLength > 0){ 7943 // loop through original array 7944 $.each(array, function(index, val) { 7945 // check if length has been met 7946 if(loopLength > 0){ 7947 // don't do anything unless first index has been reached 7948 if(!startPopulatingArray){ 7949 // start populating empty array 7950 if(index == start){ 7951 startPopulatingArray = true; 7952 // add element to array 7953 sample.push($(this).clone()); 7954 // decrease the length clone variable 7955 loopLength--; 7956 } 7957 }else{ 7958 // add element to array 7959 sample.push($(this).clone()); 7960 // decrease the length clone variable 7961 loopLength--; 7962 } 7963 // if length has been met, break loose 7964 }else{ 7965 return false; 7966 } 7967 }); 7968 } 7969 return sample; 7970 } 7971 7972 this.each(function(){ 7973 base.initShow(); 7974 }); 7975 7976 return this; 7977 } 7978 7979})(jQuery); 7980 7981; 7982/*! 7983 * Collapse plugin for jQuery 7984 * http://github.com/danielstocks/jQuery-Collapse/ 7985 * 7986 * @author Daniel Stocks (http://webcloud.se) 7987 * @version 0.9.1 7988 * @updated 17-AUG-2010 7989 * 7990 * Copyright 2010, Daniel Stocks 7991 * Released under the MIT, BSD, and GPL Licenses. 7992 */ 7993 7994(function($) { 7995 7996 // Use a cookie counter to allow multiple instances of the plugin 7997 var cookieCounter = 0; 7998 7999 $.fn.extend({ 8000 collapse: function(options) { 8001 8002 var defaults = { 8003 head : "h3", 8004 group : "div, ul", 8005 cookieName : "collapse", 8006 // Default function for showing content 8007 show: function() { 8008 this.show(); 8009 }, 8010 // Default function for hiding content 8011 hide: function() { 8012 this.hide(); 8013 } 8014 }; 8015 var op = $.extend(defaults, options); 8016 8017 // Default CSS classes 8018 var active = "active", 8019 inactive = "inactive"; 8020 8021 return this.each(function() { 8022 8023 // Increment coookie counter to ensure cookie name integrity 8024 cookieCounter++; 8025 var obj = $(this), 8026 // Find all headers and wrap them in <a> for accessibility. 8027 sections = obj.find(op.head).wrapInner('<a href="#"></a>'), 8028 l = sections.length, 8029 cookie = op.cookieName + "_" + cookieCounter; 8030 // Locate all panels directly following a header 8031 var panel = obj.find(op.head).map(function() { 8032 var head = $(this) 8033 if(!head.hasClass(active)) { 8034 return head.next(op.group).hide()[0]; 8035 } 8036 return head.next(op.group)[0]; 8037 }); 8038 8039 // Bind event for showing content 8040 obj.bind("show", function(e, bypass) { 8041 var obj = $(e.target); 8042 // ARIA attribute 8043 obj.attr('aria-hidden', false) 8044 .prev() 8045 .removeClass(inactive) 8046 .addClass(active); 8047 // Bypass method for instant display 8048 if(bypass) { 8049 obj.show(); 8050 } else { 8051 op.show.call(obj); 8052 } 8053 }); 8054 8055 // Bind event for hiding content 8056 obj.bind("hide", function(e, bypass) { 8057 var obj = $(e.target); 8058 obj.attr('aria-hidden', true) 8059 .prev() 8060 .removeClass(active) 8061 .addClass(inactive); 8062 if(bypass) { 8063 obj.hide(); 8064 } else { 8065 op.hide.call(obj); 8066 } 8067 }); 8068 8069 // Look for existing cookies 8070 if(cookieSupport) { 8071 for (var c=0;c<=l;c++) { 8072 var val = $.cookie(cookie + c); 8073 // Show content if associating cookie is found 8074 if ( val == c + "open" ) { 8075 panel.eq(c).trigger('show', [true]); 8076 // Hide content 8077 } else if ( val == c + "closed") { 8078 panel.eq(c).trigger('hide', [true]); 8079 } 8080 } 8081 } 8082 8083 // Delegate click event to show/hide content. 8084 obj.bind("click", function(e) { 8085 var t = $(e.target); 8086 // Check if header was clicked 8087 if(!t.is(op.head)) { 8088 // What about link inside header. 8089 if ( t.parent().is(op.head) ) { 8090 t = t.parent(); 8091 } else { 8092 return; 8093 } 8094 e.preventDefault(); 8095 } 8096 // Figure out what position the clicked header has. 8097 var num = sections.index(t), 8098 cookieName = cookie + num, 8099 cookieVal = num, 8100 content = t.next(op.group); 8101 // If content is already active, hide it. 8102 if(t.hasClass(active)) { 8103 content.trigger('hide'); 8104 cookieVal += 'closed'; 8105 if(cookieSupport) { 8106 $.cookie(cookieName, cookieVal, { path: '/', expires: 10 }); 8107 } 8108 return; 8109 } 8110 // Otherwise show it. 8111 content.trigger('show'); 8112 cookieVal += 'open'; 8113 if(cookieSupport) { 8114 $.cookie(cookieName, cookieVal, { path: '/', expires: 10 }); 8115 } 8116 }); 8117 }); 8118 } 8119 }); 8120 8121 // Make sure can we eat cookies without getting into trouble. 8122 var cookieSupport = (function() { 8123 //we don't need cookies 8124 return false;
8125 })(); 8126})(jQuery);; 8127/** 8128 * Cookie plugin 8129 * 8130 * Copyright (c) 2006 Klaus Hartl (stilbuero.de) 8131 * Dual licensed under the MIT and GPL licenses: 8132 * http://www.opensource.org/licenses/mit-license.php 8133 * http://www.gnu.org/licenses/gpl.html 8134 * 8135 */ 8136 8137/** 8138 * Create a cookie with the given name and value and other optional parameters. 8139 * 8140 * @example $.cookie('the_cookie', 'the_value'); 8141 * @desc Set the value of a cookie. 8142 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); 8143 * @desc Create a cookie with all available options. 8144 * @example $.cookie('the_cookie', 'the_value'); 8145 * @desc Create a session cookie. 8146 * @example $.cookie('the_cookie', null); 8147 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain 8148 * used when the cookie was set. 8149 * 8150 * @param String name The name of the cookie. 8151 * @param String value The value of the cookie. 8152 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. 8153 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. 8154 * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. 8155 * If set to null or omitted, the cookie will be a session cookie and will not be retained 8156 * when the the browser exits. 8157 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). 8158 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). 8159 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will 8160 * require a secure protocol (like HTTPS). 8161 * @type undefined 8162 * 8163 * @name $.cookie 8164 * @cat Plugins/Cookie 8165 * @author Klaus Hartl/[email protected] 8166 */ 8167 8168/** 8169 * Get the value of a cookie with the given name. 8170 * 8171 * @example $.cookie('the_cookie'); 8172 * @desc Get the value of a cookie. 8173 * 8174 * @param String name The name of the cookie. 8175 * @return The value of the cookie. 8176 * @type String 8177 * 8178 * @name $.cookie 8179 * @cat Plugins/Cookie 8180 * @author Klaus Hartl/[email protected] 8181 */ 8182jQuery.cookie = function(name, value, options) { 8183 if (typeof value != 'undefined') { // name and value given, set cookie 8184 options = options || {}; 8185 if (value === null) { 8186 value = ''; 8187 options.expires = -1; 8188 } 8189 var expires = ''; 8190 if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { 8191 var date; 8192 if (typeof options.expires == 'number') { 8193 date = new Date(); 8194 date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); 8195 } else { 8196 date = options.expires; 8197 } 8198 expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE 8199 } 8200 // CAUTION: Needed to parenthesize options.path and options.domain 8201 // in the following expressions, otherwise they evaluate to undefined 8202 // in the packed version for some reason... 8203 var path = options.path ? '; path=' + (options.path) : ''; 8204 var domain = options.domain ? '; domain=' + (options.domain) : ''; 8205 var secure = options.secure ? '; secure' : ''; 8206 document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); 8207 } else { // only name given, get cookie 8208 var cookieValue = null; 8209 if (document.cookie && document.cookie != '') { 8210 var cookies = document.cookie.split(';'); 8211 for (var i = 0; i < cookies.length; i++) { 8212 var cookie = jQuery.trim(cookies[i]); 8213 // Does this cookie string begin with the name we want? 8214 if (cookie.substring(0, name.length + 1) == (name + '=')) { 8215 cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 8216 break; 8217 } 8218 } 8219 } 8220 return cookieValue; 8221 } 8222};; 8223(function($){$.fn.lazyload=function(options){var settings={threshold:0,failurelimit:0,event:"scroll",effect:"show",container:window};if(options){$.extend(settings,options);} 8224var elements=this;if("scroll"==settings.event){$(settings.container).bind("scroll",function(event){var counter=0;elements.each(function(){if($.abovethetop(this,settings)||$.leftofbegin(this,settings)){}else if(!$.belowthefold(this,settings)&&!$.rightoffold(this,settings)){$(this).trigger("appear");}else{if(counter++>settings.failurelimit){return false;}}});var temp=$.grep(elements,function(element){return!element.loaded;});elements=$(temp);});} 8225this.each(function(){var self=this;if(undefined==$(self).attr("original")){$(self).attr("original",$(self).attr("src"));} 8226if("scroll"!=settings.event||undefined==$(self).attr("src")||settings.placeholder==$(self).attr("src")||($.abovethetop(self,settings)||$.leftofbegin(self,settings)||$.belowthefold(self,settings)||$.rightoffold(self,settings))){if(settings.placeholder){$(self).attr("src",settings.placeholder);}else{$(self).removeAttr("src");} 8227self.loaded=false;}else{self.loaded=true;} 8228$(self).one("appear",function(){if(!this.loaded){$("<img />").bind("load",function(){$(self).hide().attr("src",$(self).attr("original")) 8229[settings.effect](settings.effectspeed);self.loaded=true;}).attr("src",$(self).attr("original"));};});if("scroll"!=settings.event){$(self).bind(settings.event,function(event){if(!self.loaded){$(self).trigger("appear");}});}});$(settings.container).trigger(settings.event);return this;};$.belowthefold=function(element,settings){if(settings.container===undefined||settings.container===window){var fold=$(window).height()+$(window).scrollTop();}else{var fold=$(settings.container).offset().top+$(settings.container).height();} 8230return fold<=$(element).offset().top-settings.threshold;};$.rightoffold=function(element,settings){if(settings.container===undefined||settings.container===window){var fold=$(window).width()+$(window).scrollLeft();}else{var fold=$(settings.container).offset().left+$(settings.container).width();}
8231return fold<=$(element).offset().left-settings.threshold;};$.abovethetop=function(element,settings){if(settings.container===undefined||settings.container===window){var fold=$(window).scrollTop();}else{var fold=$(settings.container).offset().top;} 8232return fold>=$(element).offset().top+settings.threshold+$(element).height();};$.leftofbegin=function(element,settings){if(settings.container===undefined||settings.container===window){var fold=$(window).scrollLeft();}else{var fold=$(settings.container).offset().left;} 8233return fold>=$(element).offset().left+settings.threshold+$(element).width();};$.extend($.expr[':'],{"below-the-fold":"$.belowthefold(a, {threshold : 0, container: window})","above-the-fold":"!$.belowthefold(a, {threshold : 0, container: window})","right-of-fold":"$.rightoffold(a, {threshold : 0, container: window})","left-of-fold":"!$.rightoffold(a, {threshold : 0, container: window})"});})(jQuery);; 8234/** 8235 * jQuery.ScrollTo - Easy element scrolling using jQuery. 8236 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com 8237 * Dual licensed under MIT and GPL. 8238 * Date: 9/11/2008 8239 * @author Ariel Flesler 8240 * @version 1.4 8241 * 8242 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html 8243 */ 8244;(function(h){var m=h.scrollTo=function(b,c,g){h(window).scrollTo(b,c,g)};m.defaults={axis:'y',duration:1};m.window=function(b){return h(window).scrollable()};h.fn.scrollable=function(){return this.map(function(){var b=this.parentWindow||this.defaultView,c=this.nodeName=='#document'?b.frameElement||b:this,g=c.contentDocument||(c.contentWindow||c).document,i=c.setInterval;return c.nodeName=='IFRAME'||i&&h.browser.safari?g.body:i?g.documentElement:this})};h.fn.scrollTo=function(r,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};a=h.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=h(k),d=r,l,e={},p=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(d)){d=n(d);break}d=h(d,this);case'object':if(d.is||d.style)l=(d=h(d)).offset()}h.each(a.axis.split(''),function(b,c){var g=c=='x'?'Left':'Top',i=g.toLowerCase(),f='scroll'+g,s=k[f],t=c=='x'?'Width':'Height',v=t.toLowerCase();if(l){e[f]=l[i]+(p?0:s-o.offset()[i]);if(a.margin){e[f]-=parseInt(d.css('margin'+g))||0;e[f]-=parseInt(d.css('border'+g+'Width'))||0}e[f]+=a.offset[i]||0;if(a.over[i])e[f]+=d[v]()*a.over[i]}else e[f]=d[i];if(/^\d+$/.test(e[f]))e[f]=e[f]<=0?0:Math.min(e[f],u(t));if(!b&&a.queue){if(s!=e[f])q(a.onAfterFirst);delete e[f]}});q(a.onAfter);function q(b){o.animate(e,j,a.easing,b&&function(){b.call(this,r,a)})};function u(b){var c='scroll'+b,g=k.ownerDocument;return p?Math.max(g.documentElement[c],g.body[c]):k[c]}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);; 8245(function($) { 8246 $(window).load(function() { 8247 // Add class if js 8248 $("html").addClass("js"); 8249 }); 8250 8251 $(document).ready(function() { 8252 8253 var nav_skiplink = $("#nav_skiplink") 8254 8255 // liens d'evitement 8256 nav_skiplink 8257 .find('a') 8258 .focus(function() { 8259 nav_skiplink.addClass('accessibility_on'); 8260 }) 8261 .blur(function() { 8262 nav_skiplink.removeClass('accessibility_on'); 8263 }); 8264 8265 // External link added on other hostnames link 8266 $(":not(a.diaporama)").filter(function() { 8267 return this.hostname && this.hostname !== location.hostname; 8268 }).addClass('link-external'); 8269 8270 // open link in new window 8271 $("a.link-external").click(function(event) { 8272 window.open(this.href); 8273 event.preventDefault(); 8274 }); 8275 8276 // default top page smooth scroll 8277 $('.toppage').find('a').click(function(event) { 8278 $.scrollTo('#top', 1000); 8279 event.preventDefault(); 8280 }); 8281 }); 8282 8283 8284})(jQuery); 8285; 8286/* 8287 * jQuery.BiggerLink v2.0.1 8288 * http://www.ollicle.com/eg/jquery/biggerlink/ 8289 * 8290 * Copyright (c) 2009 Oliver Boermans 8291 * http://creativecommons.org/licenses/MIT/ 8292 * 8293 * 2009-11-22 (22 Nov 2009) 8294*/ 8295(function($) { 8296 $.fn.biggerlink = function(options) { 8297 8298 // Default settings 8299 var settings = { 8300 biggerclass:'bl-bigger', // class added to the first contained link and others that trigger it 8301 hoverclass:'bl-hover', // class added to parent element on hover/focus 8302 hoverclassparent:'bl-hoverparent', // class added to parent parent element on hover/focus 8303 hoverclass2:'bl-hover2', // class added to parent element on hover/focus of other links 8304 clickableclass:'bl-hot', // class added to parent element with behaviour 8305 otherstriggermaster: true, // will all links in containing biggerlink element trigger the first link 8306 follow: 'auto' // follow master link on click? : 'auto',true,false 8307 }; 8308 if(options) { 8309 $.extend(settings, options); 8310 } 8311 $(this).filter(function(){ 8312 return $('a',this).length > 0; 8313 8314 }).addClass(settings.clickableclass).css('cursor', 'pointer').each(function(i){ 8315 8316 // store element references 8317 var big = $(this).data('biggerlink',{hovered:false,focused:false,hovered2:false,focused2:false}); 8318 var links = { 8319 all: $('a',this), 8320 big: $(this), 8321 master: $('a:first',this).data('biggerlink',{status:'master'}).addClass(settings.biggerclass), 8322 other: $('a',this).not($('a:first',this)).data('biggerlink',{status:'other'}) 8323 }; 8324 8325 8326 $('a',this).andSelf().each(function(){ 8327 var newdata = $.extend($(this).data('biggerlink'),links); 8328 $(this).data('biggerlink',newdata); 8329 }); 8330 8331 8332 8333 // Add title of first link with title to parent if not already set 8334 var thistitle = big.attr('title'); 8335 var newtitle = big.data('biggerlink').master.attr('title'); 8336 if(newtitle && !thistitle) 8337 { 8338 big.attr('title', newtitle); 8339 } 8340 8341 8342 8343 // events on biggerlink element 8344 8345 big 8346 .mouseover(function(event){ 8347 window.status = $(this).data('biggerlink').master.get(0).href; 8348 $(this).addClass(settings.hoverclass); 8349 $(this).parent().addClass(settings.hoverclassparent); 8350 $(this).data('biggerlink').hovered = true; 8351 }) 8352 .mouseout(function(event){ 8353 window.status = ''; 8354 if(!$(this).data('biggerlink').focused) 8355 { 8356 $(this).parent().removeClass(settings.hoverclass); 8357 $(this).parent().removeClass(settings.hoverclassparent); 8358 } 8359 $(this).data('biggerlink').hovered = false;
8360 }) 8361 .bind('click',function(event){ 8362 8363 // if clicked direct or non-link 8364 if(!$(event.target).closest('a').length) 8365 { 8366 $(this).data('biggerlink').master.trigger({type:'click',source:'biggerlink'}); 8367 event.stopPropagation(); 8368 } 8369 }); 8370 8371 8372 8373 // focus/blur 8374 8375 links.all 8376 .bind('focus',function(){ 8377 $(this).data('biggerlink').big.addClass(settings.hoverclass); 8378 $(this).data('biggerlink').big.data('biggerlink').focused = true; 8379 }).bind('blur',function(){ 8380 if(!$(this).data('biggerlink').big.data('biggerlink').hovered) 8381 { 8382 $(this).data('biggerlink').big.removeClass(settings.hoverclass); 8383 } 8384 $(this).data('biggerlink').big.data('biggerlink').focused = false; 8385 }); 8386 8387 8388 8389 // click/focus/blur event on master (first) link within biggerlink 8390 8391 links.master 8392 .bind('click',function(event){ 8393 if(event.source == 'biggerlink') 8394 { 8395 if(settings.follow === true || settings.follow == 'auto' && event.result !== false) 8396 { 8397 window.location = $(this).attr('href'); 8398 } 8399 else 8400 { 8401 event.stopPropagation(); 8402 } 8403 } 8404 }); 8405 8406 8407 // links other than the first (master) link also within biggerlink 8408 8409 // other links are independent 8410 if(settings.otherstriggermaster) 8411 { 8412 links.other.addClass(settings.biggerclass) 8413 .bind('click',function(event){ 8414 // trigger click events on master link instead 8415 $(this).data('biggerlink').master.trigger({type:'click',source:'biggerlink'}); 8416 8417 // stop this link being followed 8418 event.preventDefault(); 8419 8420 // prevent events on parent elements being triggered 8421 event.stopPropagation(); 8422 }); 8423 } 8424 8425 // other links are slaves of master link 8426 else 8427 { 8428 links.other 8429 .bind('focus',function(){ 8430 $(this).data('biggerlink').big.addClass(settings.hoverclass2); 8431 $(this).data('biggerlink').big.data('biggerlink').focused2 = true; 8432 }) 8433 .bind('blur',function(){ 8434 if(!$(this).data('biggerlink').big.data('biggerlink').hovered2) 8435 { 8436 $(this).data('biggerlink').big.removeClass(settings.hoverclass2); 8437 } 8438 $(this).data('biggerlink').big.data('biggerlink').focused2 = false; 8439 8440 }) 8441 .bind('mouseover',function(event){ 8442 $(this).data('biggerlink').big.addClass(settings.hoverclass2); 8443 $(this).data('biggerlink').big.data('biggerlink').hovered2 = true; 8444 event.stopPropagation(); 8445 }) 8446 .bind('mouseout',function(event){ 8447 if(!$(this).data('biggerlink').big.data('biggerlink').focused2) 8448 { 8449 $(this).data('biggerlink').big.removeClass(settings.hoverclass2); 8450 } 8451 $(this).data('biggerlink').big.data('biggerlink').hovered2 = false; 8452 event.stopPropagation(); 8453 }); 8454 8455 if(!links.other.attr('title')) 8456 { 8457 links.other.attr('title',''); 8458 } 8459 } 8460 }); 8461 return this; 8462 }; 8463})(jQuery); 8464 8465 8466; 8467/* 8468 * jQuery Reveal Plugin 1.0 8469 * www.ZURB.com 8470 * Copyright 2010, ZURB 8471 * Free to use under the MIT license. 8472 * http://www.opensource.org/licenses/mit-license.php 8473*/ 8474 8475 8476(function($) { 8477 8478/*--------------------------- 8479 Defaults for Reveal 8480----------------------------*/ 8481 8482/*--------------------------- 8483 Listener for data-reveal-id attributes 8484----------------------------*/ 8485 8486 $('a[data-reveal-id]').live('click', function(e) { 8487 e.preventDefault(); 8488 var modalLocation = $(this).attr('data-reveal-id'); 8489 $('#'+modalLocation).reveal($(this).data()); 8490 }); 8491 8492/*--------------------------- 8493 Extend and Execute 8494----------------------------*/ 8495 8496 $.fn.reveal = function(options) { 8497 8498 8499 var defaults = { 8500 animation: 'fadeAndPop', //fade, fadeAndPop, none 8501 animationspeed: 300, //how fast animtions are 8502 closeonbackgroundclick: true, //if you click background will modal close?
8503 dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal 8504 }; 8505 8506 //Extend dem' options 8507 var options = $.extend({}, defaults, options); 8508 8509 return this.each(function() { 8510 8511/*--------------------------- 8512 Global Variables 8513----------------------------*/ 8514 var modal = $(this), 8515 topMeasure = parseInt(modal.css('top')), 8516 topOffset = modal.height() + topMeasure, 8517 locked = false, 8518 modalBG = $('.reveal-modal-bg'); 8519 8520/*--------------------------- 8521 Create Modal BG 8522----------------------------*/ 8523 if(modalBG.length == 0) { 8524 modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal); 8525 } 8526 8527/*--------------------------- 8528 Open & Close Animations 8529----------------------------*/ 8530 //Entrance Animations 8531 modal.bind('reveal:open', function () { 8532 modalBG.unbind('click.modalEvent'); 8533 $('.' + options.dismissmodalclass).unbind('click.modalEvent'); 8534 if(!locked) { 8535 lockModal(); 8536 if(options.animation == "fadeAndPop") { 8537 modal.css({'top': $(document).scrollTop()-topOffset, 'opacity' : 0, 'visibility' : 'visible'}); 8538 modalBG.fadeIn(options.animationspeed/2); 8539 modal.delay(options.animationspeed/2).animate({ 8540 "top": $(document).scrollTop()+topMeasure + 'px', 8541 "opacity" : 1 8542 }, options.animationspeed,unlockModal()); 8543 } 8544 if(options.animation == "fade") { 8545 modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(document).scrollTop()+topMeasure}); 8546 modalBG.fadeIn(options.animationspeed/2); 8547 modal.delay(options.animationspeed/2).animate({ 8548 "opacity" : 1 8549 }, options.animationspeed,unlockModal()); 8550 } 8551 if(options.animation == "none") { 8552 modal.css({'visibility' : 'visible', 'top':$(document).scrollTop()+topMeasure}); 8553 modalBG.css({"display":"block"}); 8554 unlockModal() 8555 } 8556 } 8557 modal.unbind('reveal:open'); 8558 }); 8559 8560 //Closing Animation 8561 modal.bind('reveal:close', function () { 8562 if(!locked) { 8563 lockModal(); 8564 if(options.animation == "fadeAndPop") { 8565 modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); 8566 modal.animate({ 8567 "top": $(document).scrollTop()-topOffset + 'px', 8568 "opacity" : 0 8569 }, options.animationspeed/2, function() { 8570 modal.css({'top':topMeasure, 'opacity' : 1, 'visibility' : 'hidden'}); 8571 unlockModal(); 8572 }); 8573 } 8574 if(options.animation == "fade") { 8575 modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); 8576 modal.animate({ 8577 "opacity" : 0 8578 }, options.animationspeed, function() { 8579 modal.css({'opacity' : 1, 'visibility' : 'hidden', 'top' : topMeasure}); 8580 unlockModal(); 8581 }); 8582 } 8583 if(options.animation == "none") { 8584 modal.css({'visibility' : 'hidden', 'top' : topMeasure}); 8585 modalBG.css({'display' : 'none'}); 8586 } 8587 } 8588 modal.unbind('reveal:close'); 8589 }); 8590 8591/*--------------------------- 8592 Open and add Closing Listeners 8593----------------------------*/ 8594 //Open Modal Immediately 8595 modal.trigger('reveal:open') 8596 8597 //Close Modal Listeners 8598 var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function () { 8599 modal.trigger('reveal:close') 8600 }); 8601 8602 if(options.closeonbackgroundclick) { 8603 modalBG.css({"cursor":"pointer"}) 8604 modalBG.bind('click.modalEvent', function () { 8605 modal.trigger('reveal:close') 8606 }); 8607 } 8608 $('body').keyup(function(e) { 8609 if(e.which===27){ modal.trigger('reveal:close'); } // 27 is the keycode for the Escape key 8610 }); 8611 8612 8613/*--------------------------- 8614 Animations Locks 8615----------------------------*/ 8616 function unlockModal() { 8617 locked = false; 8618 } 8619 function lockModal() { 8620 locked = true; 8621 } 8622 8623 });//each call 8624 }//orbit plugin call 8625})(jQuery); 8626 8627;
vendor: 66,664 bytes, lines 8628-8630
8628/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">×</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"â¶":"A","A":"A","Ã":"A","Ã":"A","Ã":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ä":"A","Ä":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ç ":"A","Ã":"A","Ç":"A","Ả":"A","à ":"A","Ǻ":"A","Ç":"A","È":"A","È":"A","Ạ":"A","Ậ":"A","Ặ":"A","á¸":"A","Ä":"A","Ⱥ":"A","Ɐ":"A","ê²":"AA","Ã":"AE","Ǽ":"AE","Ç¢":"AE","ê´":"AO","ê¶":"AU","ê¸":"AV","êº":"AV","ê¼":"AY","â·":"B","ï¼¢":"B","á¸":"B","á¸":"B","á¸":"B","É":"B","Æ":"B","Æ":"B","â¸":"C","ï¼£":"C","Ä":"C","Ä":"C","Ä":"C","Ä":"C","Ã":"C","á¸":"C","Æ":"C","È»":"C","ê¾":"C","â¹":"D","D":"D","á¸":"D","Ä":"D","á¸":"D","á¸":"D","á¸":"D","á¸":"D","Ä":"D","Æ":"D","Æ":"D","Æ":"D","ê¹":"D","DZ":"DZ","Ç":"DZ","Dz":"Dz","Ç ":"Dz","âº":"E","ï¼¥":"E","Ã":"E","Ã":"E","Ã":"E","á»":"E","Ế":"E","á»":"E","á»":"E","Ẽ":"E","Ä":"E","á¸":"E","á¸":"E","Ä":"E","Ä":"E","Ã":"E","Ẻ":"E","Ä":"E","È":"E","È":"E","Ẹ":"E","á»":"E","Ȩ":"E","á¸":"E","Ä":"E","á¸":"E","á¸":"E","Æ":"E","Æ":"E","â»":"F","F":"F","á¸":"F","Æ":"F","ê»":"F","â¼":"G","ï¼§":"G","Ç´":"G","Ä":"G","Ḡ":"G","Ä":"G","Ä ":"G","Ǧ":"G","Ä¢":"G","Ǥ":"G","Æ":"G","ê ":"G","ê½":"G","ê¾":"G","â½":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","È":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","â±§":"H","â±µ":"H","ê":"H","â¾":"I","I":"I","Ã":"I","Ã":"I","Ã":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ã":"I","Ḯ":"I","á»":"I","Ç":"I","È":"I","È":"I","á»":"I","Ä®":"I","Ḭ":"I","Æ":"I","â¿":"J","J":"J","Ä´":"J","É":"J","â":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Æ":"K","Ⱪ":"K","ê":"K","ê":"K","ê":"K","ê¢":"K","â":"L","L":"L","Ä¿":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ä»":"L","Ḽ":"L","Ḻ":"L","Å":"L","Ƚ":"L","â±¢":"L","â± ":"L","ê":"L","ê":"L","ê":"L","Ç":"LJ","Ç":"Lj","â":"M","ï¼":"M","Ḿ":"M","á¹":"M","á¹":"M","â±®":"M","Æ":"M","â":"N","ï¼®":"N","Ǹ":"N","Å":"N","Ã":"N","á¹":"N","Å":"N","á¹":"N","Å ":"N","á¹":"N","á¹":"N","È ":"N","Æ":"N","ê":"N","ê¤":"N","Ç":"NJ","Ç":"Nj","â":"O","O":"O","Ã":"O","Ã":"O","Ã":"O","á»":"O","á»":"O","á»":"O","á»":"O","Ã":"O","á¹":"O","Ȭ":"O","á¹":"O","Å":"O","á¹":"O","á¹":"O","Å":"O","È®":"O","Ȱ":"O","Ã":"O","Ȫ":"O","á»":"O","Å":"O","Ç":"O","È":"O","È":"O","Æ ":"O","á»":"O","á»":"O","á» ":"O","á»":"O","Ợ":"O","á»":"O","á»":"O","Ǫ":"O","Ǭ":"O","Ã":"O","Ǿ":"O","Æ":"O","Æ":"O","ê":"O","ê":"O","Æ¢":"OI","ê":"OO","È¢":"OU","â ":"P","ï¼°":"P","á¹":"P","á¹":"P","Ƥ":"P","â±£":"P","ê":"P","ê":"P","ê":"P","â":"Q","ï¼±":"Q","ê":"Q","ê":"Q","É":"Q","â":"R","ï¼²":"R","Å":"R","á¹":"R","Å":"R","È":"R","È":"R","á¹":"R","á¹":"R","Å":"R","á¹":"R","É":"R","Ɽ":"R","ê":"R","ê¦":"R","ê":"R","â":"S","ï¼³":"S","áº":"S","Å":"S","Ṥ":"S","Å":"S","á¹ ":"S","Å ":"S","Ṧ":"S","á¹¢":"S","Ṩ":"S","È":"S","Å":"S","â±¾":"S","ê¨":"S","ê":"S","â":"T","ï¼´":"T","Ṫ":"T","Ť":"T","Ṭ":"T","È":"T","Å¢":"T","á¹°":"T","á¹®":"T","Ŧ":"T","Ƭ":"T","Æ®":"T","Ⱦ":"T","ê":"T","ê¨":"TZ","â":"U","ï¼µ":"U","Ã":"U","Ã":"U","Ã":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ã":"U","Ç":"U","Ç":"U","Ç":"U","Ç":"U","Ủ":"U","Å®":"U","Ű":"U","Ç":"U","È":"U","È":"U","Ư":"U","Ừ":"U","Ứ":"U","á»®":"U","Ử":"U","á»°":"U","Ụ":"U","á¹²":"U","Ų":"U","á¹¶":"U","á¹´":"U","É":"U","â":"V","ï¼¶":"V","á¹¼":"V","á¹¾":"V","Ʋ":"V","ê":"V","É ":"V","ê ":"VY","â":"W","ï¼·":"W","áº":"W","áº":"W","Å´":"W","áº":"W","áº":"W","áº":"W","â±²":"W","â":"X","X":"X","áº":"X","áº":"X","â":"Y","ï¼¹":"Y","Ỳ":"Y","Ã":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","áº":"Y","Ÿ":"Y","á»¶":"Y","á»´":"Y","Ƴ":"Y","É":"Y","Ỿ":"Y","â":"Z","Z":"Z","Ź":"Z","áº":"Z","Å»":"Z","Ž":"Z","áº":"Z","áº":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","ê¢":"Z","â":"a","ï½":"a","áº":"a","à ":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","Ä":"a","Ä":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","Ç¡":"a","ä":"a","Ç":"a","ả":"a","Ã¥":"a","Ç»":"a","Ç":"a","È":"a","È":"a","ạ":"a","áº":"a","ặ":"a","á¸":"a","Ä ":"a","â±¥":"a","É":"a","ê³":"aa","æ":"ae","ǽ":"ae","Ç£":"ae","êµ":"ao","ê·":"au","ê¹":"av","ê»":"av","ê½":"ay","â":"b","ï½":"b","á¸":"b","Ḡ":"b","á¸":"b","Æ":"b","Æ":"b","É":"b","â":"c","ï½":"c","Ä":"c","Ä":"c","Ä":"c","Ä":"c","ç":"c","á¸":"c","Æ":"c","ȼ":"c","ê¿":"c","â":"c","â":"d","ï½":"d","á¸":"d","Ä":"d","á¸":"d","á¸":"d","á¸":"d","á¸":"d","Ä":"d","Æ":"d","É":"d","É":"d","êº":"d","dz":"dz","Ç":"dz","â":"e","ï½ ":"e","è":"e","é":"e","ê":"e","á»":"e","ế":"e","á» ":"e","á»":"e","ẽ":"e","Ä":"e","á¸":"e","á¸":"e","Ä":"e","Ä":"e","ë":"e","ẻ":"e","Ä":"e","È ":"e","È":"e","ẹ":"e","á»":"e","È©":"e","á¸":"e","Ä":"e","á¸":"e","á¸":"e","É":"e","É":"e","Ç":"e","â":"f","ï½":"f","á¸":"f","Æ":"f","ê¼":"f","â":"g","ï½":"g","ǵ":"g","Ä":"g","ḡ":"g","Ä":"g","Ä¡":"g","ǧ":"g","Ä£":"g","Ç¥":"g","É ":"g","ê¡":"g","áµ¹":"g","ê¿":"g","â":"h","ï½":"h","Ä¥":"h","ḣ":"h","ḧ":"h","È":"h","ḥ":"h","ḩ":"h","ḫ":"h","áº":"h","ħ":"h","ⱨ":"h","â±¶":"h","É¥":"h","Æ":"hv","â":"i","ï½":"i","ì":"i","Ã":"i","î":"i","Ä©":"i","Ä«":"i","Ä":"i","ï":"i","ḯ":"i","á»":"i","Ç":"i","È":"i","È":"i","á»":"i","į":"i","á¸":"i","ɨ":"i","ı":"i","â":"j","ï½":"j","ĵ":"j","ǰ":"j","É":"j","â":"k","ï½":"k","ḱ":"k","Ç©":"k","ḳ":"k","Ä·":"k","ḵ":"k","Æ":"k","ⱪ":"k","ê":"k","ê":"k","ê ":"k","ê£":"k","â":"l","ï½":"l","Å":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","Å¿":"l","Å":"l","Æ":"l","É«":"l","ⱡ":"l","ê":"l","ê":"l","ê":"l","Ç":"lj","â":"m","ï½":"m","ḿ":"m","á¹":"m","á¹":"m","ɱ":"m","ɯ":"m","â":"n","ï½":"n","ǹ":"n","Å":"n","ñ":"n","á¹ ":"n","Å":"n","á¹":"n","Å":"n","á¹":"n","á¹":"n","Æ":"n","ɲ":"n","Å":"n","ê":"n","ê¥":"n","Ç":"nj","â":"o","ï½":"o","ò":"o","ó":"o","ô":"o","á»":"o","á»":"o","á»":"o","á»":"o","õ":"o","á¹":"o","È":"o","á¹":"o","Å":"o","á¹":"o","á¹":"o","Å":"o","ȯ":"o","ȱ":"o","ö":"o","È«":"o","á»":"o","Å":"o","Ç":"o","È":"o","È":"o","Æ¡":"o","á»":"o","á»":"o","ỡ":"o","á»":"o","ợ":"o","á»":"o","á»":"o","Ç«":"o","Ç":"o","ø":"o","Ç¿":"o","É":"o","ê":"o","ê":"o","ɵ":"o","Æ£":"oi","È£":"ou","ê":"oo","â":"p","ï½":"p","á¹":"p","á¹":"p","Æ¥":"p","áµ½":"p","ê":"p","ê":"p","ê":"p","â ":"q","ï½":"q","É":"q","ê":"q","ê":"q","â¡":"r","ï½":"r","Å":"r","á¹":"r","Å":"r","È":"r","È":"r","á¹":"r","á¹":"r","Å":"r","á¹":"r","É":"r","ɽ":"r","ê":"r","ê§":"r","ê":"r","â¢":"s","ï½":"s","Ã":"s","Å":"s","á¹¥":"s","Å":"s","ṡ":"s","Å¡":"s","á¹§":"s","á¹£":"s","ṩ":"s","È":"s","Å":"s","È¿":"s","ê©":"s","ê ":"s","áº":"s","â£":"t","ï½":"t","ṫ":"t","áº":"t","Å¥":"t","á¹":"t","È":"t","Å£":"t","á¹±":"t","ṯ":"t","ŧ":"t","Æ":"t","Ê":"t","ⱦ":"t","ê":"t","ê©":"tz","â¤":"u","ï½":"u","ù":"u","ú":"u","û":"u","Å©":"u","á¹¹":"u","Å«":"u","á¹»":"u","Å":"u","ü":"u","Ç":"u","Ç":"u","Ç":"u","Ç":"u","á»§":"u","ů":"u","ű":"u","Ç":"u","È":"u","È":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","á»":"u","á»±":"u","ụ":"u","á¹³":"u","ų":"u","á¹·":"u","á¹µ":"u","Ê":"u","â¥":"v","ï½":"v","á¹½":"v","ṿ":"v","Ê":"v","ê":"v","Ê":"v","ê¡":"vy","â¦":"w","ï½":"w","áº":"w","áº":"w","ŵ":"w","áº":"w","Ạ":"w","áº":"w","áº":"w","â±³":"w","â§":"x","ï½":"x","áº":"x","áº":"x","â¨":"y","ï½":"y","ỳ":"y","ý":"y","Å·":"y","ỹ":"y","ȳ":"y","áº":"y","ÿ":"y","á»·":"y","áº":"y","ỵ":"y","Æ´":"y","É":"y","ỿ":"y","â©":"z","ï½":"z","ź":"z","áº":"z","ż":"z","ž":"z","áº":"z","áº":"z","ƶ":"z","È¥":"z","É":"z","ⱬ":"z","ê£":"z","Î":"Î","Î":"Î","Î":"Î","Î":"Î","Ϊ":"Î","Î":"Î","Î":"Î¥","Ϋ":"Î¥","Î":"Ω","ά":"α","Î":"ε","ή":"η","ί":"ι","Ï":"ι","Î":"ι","Ï":"ο","Ï":"Ï ","Ï":"Ï ","ΰ":"Ï ","Ï":"Ï","Ï":"Ï"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change"); 8629if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more resultsâ¦"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searchingâ¦"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null; 8630},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
vendor: 15,022 bytes, lines 8630-8634
8630; 8631/*! jQuery Validation Plugin - v1.21.0 - 7/17/2024 8632 * https://jqueryvalidation.org/ 8633 * Copyright (c) 2024 Jörn Zaefferer; Licensed MIT */ 8634!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.submitButton=b.currentTarget,a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.submitButton&&(c.settings.submitHandler||c.formSubmitted)&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!(c.settings.submitHandler&&!c.settings.debug)||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0],k="undefined"!=typeof this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=j&&(!j.form&&k&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}});var b=function(a){return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};a.extend(a.expr.pseudos||a.expr[":"],{blank:function(c){return!b(""+a(c).val())},filled:function(c){var d=a(c).val();return null!==d&&!!b(""+d)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,customElements:[],onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");if(!this.form&&c&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name")),d===this.form){var e=a.data(this.form,"validator"),f="on"+b.type.replace(/^validate/,""),g=e.settings;g[f]&&!a(this).is(g.ignore)&&g[f].call(e,this,b)}}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.currentForm,e=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){e[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)});var f=[":text","[type='password']","[type='file']","select","textarea","[type='number']","[type='search']","[type='tel']","[type='url']","[type='email']","[type='datetime']","[type='date']","[type='month']","[type='week']","[type='time']","[type='datetime-local']","[type='range']","[type='color']","[type='radio']","[type='checkbox']","[contenteditable]","[type='button']"],g=["select","option","[type='radio']","[type='checkbox']"];a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",f.concat(this.settings.customElements).join(", "),b).on("click.validate",g.concat(this.settings.customElements).join(", "),b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").trigger("focus").trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={},d=["input","select","textarea","[contenteditable]"];return a(this.currentForm).find(d.concat(this.settings.customElements).join(", ")).not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name"),e="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=a(this).closest("form")[0],this.name=d),this.form===b.currentForm&&(!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0))})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type,g="undefined"!=typeof e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=g?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);this.abortRequest(b),"function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f&&(j=f.call(b,j),delete g.normalizer);for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){"string"==typeof c&&(c={method:c});var d=this.findDefined(this.customMessage(b.name,c.method),this.customDataMessage(b,c.method),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c.method],"<strong>Warning: No message defined for "+b.name+"</strong>"),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),this.settings&&this.settings.escapeHtml?h.text(c||""):h.html(c||"")):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass),this.settings&&this.settings.escapeHtml?h.text(c||""):h.html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.n
8634ame],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return void 0===a?"":a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);
vendor: 8,925 bytes, lines 8634-8639
8634return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},elementAjaxPort:function(a){return"validate"+a.name},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()&&0===this.pendingRequest?(a(this.currentForm).trigger("submit"),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},abortRequest:function(b){var c;this.pending[b.name]&&(c=this.elementAjaxPort(b),a.ajaxAbort(c),this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass))},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a["date"===b?"dateISO":c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),""===d&&(d=!0),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(a,d){b[a]="function"==typeof d&&"normalizer"!==a?d(c):d}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var a;b[this]&&(Array.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(a=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(a[0]),Number(a[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:void 0!==b&&null!==b&&b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(){var a=!1;return function(b,c){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(c)||!/Invalid|NaN/.test(new Date(b).toString())}}(),dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:-?\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c},maxlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d<=c},rangelength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c[0]&&d<=c[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),null!==i.valid&&i.old===h?i.valid:(i.old=h,i.valid=null,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:this.elementAjaxPort(c),dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var c,d={};return a.ajaxPrefilter?a.ajaxPrefilter(function(b,c,e){var f=b.port;"abort"===b.mode&&(a.ajaxAbort(f),d[f]=e)}):(c=a.ajax,a.ajax=function(b){var e=("mode"in b?b:a.ajaxSettings).mode,f=("port"in b?b:a.ajaxSettings).port;return"abort"===e?(a.ajaxAbort(f),d[f]=c.apply(this,arguments),d[f]):c.apply(this,arguments)}),a.ajaxAbort=function(a){d[a]&&(d[a].abort(),delete d[a])},a});; 8635(function ($) { 8636 8637 $(document).ready(function () { 8638 $('.tarteaucitron-open-panel').click(function (event) { 8639 event.preventDefault();
8640 tarteaucitron.userInterface.openPanel(); 8641 }); 8642 if (!$.cookie('newsletter_inscription')) { 8643 $.cookie('newsletter_inscription', true); 8644 $(".block-ee-popin").addClass("showen") 8645 } 8646 8647 if (!$.cookie('popin_image')) { 8648 $.cookie('popin_image', true); 8649 $(".block-ee-img").addClass("showen") 8650 } 8651 8652 $("#ee-popin-form").validate({ 8653 rules: { 8654 email: { 8655 required: true, 8656 email: true 8657 } 8658 }, 8659 messages : { 8660 email: { 8661 required: "Email ne doit pas être vide.", 8662 email: "Email n'est pas une adresse e-mail valide." 8663 } 8664 } 8665 }); 8666 8667 $(".ee-popin-close").click(function(e) { 8668 e.preventDefault(); 8669 $(".block-ee-popin").removeClass("showen") 8670 }) 8671 8672 $(".ee-popin-close").click(function(e) { 8673 e.preventDefault(); 8674 $(".block-ee-img").removeClass("showen") 8675 }); 8676 8677 $(".close-icon").click(function(e) { 8678 e.preventDefault(); 8679 $("#block-ee-banner-ee-banner-block").css("display", "none"); 8680 }); 8681 8682 //cookies compliance 8683 $('.savoir-plus').click(function(){ 8684 $('.agree-button').click(); 8685 }); 8686 $('.close-cookies').click(function(){ 8687 $('.agree-button').click(); 8688 }); 8689 8690 if ($('body').hasClass('section-pass-piscines')) { 8691 $(".messages.error").insertAfter(".messages.swarning"); 8692 } 8693 8694 $('#edit-field-ee-ville-tid').select2(); 8695 $('#edit-field-secteur-d-activit-tid').select2(); 8696 8697 $('.accordio').on('click', function (e) { 8698 $(this).toggleClass('accor'); 8699 $(this).find('.collapsible').toggle(); 8700 }); 8701 8702 //masquer lien 8703 $(".diff tbody tr:nth-child(2)").css('display', 'none'); 8704 $(".diff tbody tr:nth-child(3)").css('display', 'none'); 8705 8706 // Egalisateur de colonnes déchets 8707 var tallest = 0; 8708 $('.info-pratique-content').each(function () { 8709 var thisHeight = $(this).height(); 8710 if (thisHeight > tallest) { 8711 tallest = thisHeight; 8712 } 8713 }); 8714 $('.info-pratique-content').height(tallest); 8715 8716 // Impression .js 8717 $('a.print-page').click(function () { 8718 window.print(); 8719 return false; 8720 }); 8721 8722 // Map de la home 8723 $('.block_map li').mouseover(function () { 8724 var town = $(this).attr("class"); 8725 $("." + town).addClass('hover'); 8726 }); 8727 $('.block_map li').mouseout(function () { 8728 $("li").removeClass('hover'); 8729 }); 8730 8731 // Add rel nofollow on comments link if hostname is external 8732 $(".comment a, #block-ee-derniers-commentaires a").filter(function () { 8733 return this.hostname && this.hostname !== location.hostname; 8734 }).attr('rel', 'nofollow'); 8735 8736 //Retour en haut de page 8737 $(document).ready(function () { 8738 8739 // hide #back-top first 8740 $("#toppage").hide(); 8741 8742 // fade in #back-top 8743 $(function () { 8744 $(window).scroll(function () { 8745 if ($(this).scrollTop() > 800) { 8746 $('#toppage').fadeIn(); 8747 } else { 8748 $('#toppage').fadeOut(); 8749 } 8750 }); 8751 8752 // scroll body to 0px on click 8753 $('#toppage a > span').click(function () { 8754 $('body,html').animate({ 8755 scrollTop: 0 8756 }, 800); 8757 return false; 8758 }); 8759 }); 8760 8761 }); 8762 //Footer: regroupement de li en plusieurs ul avec 5 li par ligne 8763 const $originalUl = $('.region-footer-second ul.menu').first(); 8764 if ($originalUl.length) { 8765 const $parent = $originalUl.parent(); 8766 const $items = $originalUl.find('li'); 8767 const groupSize = 5; 8768 const baseClass = $originalUl.attr('class'); 8769 8770 $originalUl.remove(); 8771 8772 for (let i = 0; i < $items.length; i += groupSize) { 8773 const $newUl = $('<ul></ul>') 8774 .addClass(baseClass) 8775 .addClass(i === 0 ? 'first' : 'second'); // Add 'first' to the first <ul>, 'second' to others 8776 $items.slice(i, i + groupSize).appendTo($newUl); 8777 $parent.append($newUl); 8778 } 8779 } 8780 }); 8781 8782 Drupal.behaviors.popin_form = { 8783 attach: function () { 8784 $('#ee-popin-form').ajaxComplete(function(event, xhr, settings) { 8785 if (xhr.status === 200) { 8786 $('#block-ee-popin-popin-form .block-title').text(Drupal.t('MERCI POUR VOTRE INSCRIPTION à LA LETTRE D\'EST ENSEMBLE')).addClass( "title" ); 8787 } 8788 }); 8789 } 8790 } 8791}(jQuery)); 8792;
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.