1/*! 2 * jQuery.ellipsis 3 * http://github.com/jjenzz/jquery.ellipsis 4 * -------------------------------------------------------------------------- 5 * Copyright (c) 2013 J. Smith (@jjenzz) 6 * Dual licensed under the MIT and GPL licenses: 7 * http://www.opensource.org/licenses/mit-license.php 8 * http://www.gnu.org/licenses/gpl.html 9 * 10 * adds a class to the last 'allowed' line of text so you can apply 11 * text-overflow: ellipsis; 12 */ 13(function(factory) { 14 'use strict'; 15 16 if (typeof define === 'function' && define.amd) { 17 // AMD. register as an anonymous module 18 define(['jquery'], factory); 19 } else { 20 // browser globals 21 factory(jQuery); 22 } 23}(function($) { 24 'use strict'; 25 26 var namespace = 'ellipsis', 27 span = '<span style="white-space: nowrap;">', 28 defaults = { 29 lines: 'auto', 30 ellipClass: 'ellip', 31 responsive: false 32 }; 33 34 /** 35 * Ellipsis() 36 * -------------------------------------------------------------------------- 37 * @param {Node} el 38 * @param {Object} opts 39 */ 40 function Ellipsis(el, opts) { 41 var base = this, 42 currLine = 0, 43 lines = [], 44 setStartEllipAt, 45 startEllipAt, 46 resizeTimer, 47 currOffset, 48 lineHeight, 49 contHeight, 50 words, 51 htmlEntities; 52 53 // List of HTML entities for escaping. 54 htmlEntities = { 55 '&': '&', 56 '<': '<', 57 '>': '>', 58 '"': '"', 59 "'": ''', 60 '`': '`', 61 '/': '/', 62 '\\': '\' 63 }; 64 65 base.$cont = $(el); 66 base.opts = $.extend({}, defaults, opts); 67 68 /** 69 * create() happens once when 70 * instance is created 71 */ 72 function create() { 73 base.text = base.$cont.text(); 74 base.opts.ellipLineClass = base.opts.ellipClass + '-line'; 75 76 base.$el = $('<span class="' + base.opts.ellipClass + '" />'); 77 base.$el.text(base.text); 78 79 base.$cont.empty().append(base.$el); 80 81 init(); 82 } 83 84 /** 85 * init() 86 */ 87 function init() { 88 89 // if they only want one line just add 90 // the class and do nothing else 91 if (typeof base.opts.lines === 'number' && base.opts.lines < 2) { 92 base.$el.addClass(base.opts.ellipLineClass); 93 return; 94 } 95 96 contHeight = base.$cont.height(); 97 98 // if they only want to ellipsis the overflow 99 // then do nothing if there is no overflow 100 if (base.opts.lines === 'auto' && base.$el.prop('scrollHeight') <= contHeight) { 101 return; 102 } 103 104 if (!setStartEllipAt) { 105 return; 106 } 107 108 // create an array of words from our string 109 words = $.trim(escapeText(base.text)).split(/\s+/); 110 111 // wrap each word in a span and temporarily append to the DOM 112 base.$el.html(span + words.join('</span> ' + span) + '</span>'); 113 114 // loop through words to determine which word the 115 // ellipsis container should start from (need to 116 // re-query spans from DOM so we can get their offset) 117 base.$el.find('span').each(setStartEllipAt); 118 119 // startEllipAt could be 0 so make sure we're 120 // checking undefined instead of falsey 121 if (startEllipAt != null) { 122 updateText(startEllipAt); 123 } 124 } 125 126 /** 127 * updateText() updates the text in the DOM 128 * with a span around the line that needs 129 * to be truncated 130 * 131 * @param {Number} i 132 */ 133 function updateText(nth) { 134 // add a span that wraps from nth 135 // word to the end of the string 136 words[nth] = '<span class="' + base.opts.ellipLineClass + '">' + words[nth]; 137 words.push('</span>'); 138 139 // update the DOM with 140 // our new string/markup 141 base.$el.html(words.join(' ')); 142 } 143 144 function escapeText(text){ 145 return String(text).replace(/[&<>"'``\/]/g, function (s) { 146 return htmlEntities[s]; 147 }); 148 } 149 150 // only define the method if it's required 151 if (base.opts.lines === 'auto') { 152 153 /** 154 * setStartEllipByHeight() sets the start 155 * position to the first word in the last 156 * line of the element that doesn't overflow 157 * 158 * @param {Number} i 159 * @param {Node} word 160 */ 161 var setStartEllipByHeight = function(i, word) { 162 var $word = $(word), 163 top = $word.position().top; 164 165 lineHeight = lineHeight || $word.height(); 166 167 if (top === currOffset) { 168 // if it's top matches currOffset 169 // then it's on the same line 170 // as the previous word 171 lines[currLine].push($word); 172 } else { 173 // otherwise we're 174 // on a new line 175 currOffset = top; 176 currLine += 1; 177 lines[currLine] = [$word]; 178 } 179 180 // if the bottom of the word is outside 181 // the element (overflowing) then 182 // stop looping and set startEllipAt to 183 // the first word in the previous line 184 if (top + lineHeight > contHeight) { 185 startEllipAt = i - lines[currLine - 1].length; 186 return false;
187 } 188 }; 189 190 setStartEllipAt = setStartEllipByHeight; 191 } 192 193 // only define the method if it's required 194 if (typeof base.opts.lines === 'number' && base.opts.lines > 1) { 195 196 /** 197 * setStartEllipByLine() sets the start 198 * position to the first word in the line 199 * that was passed to opts. This forces 200 * the ellipsis on a specific line 201 * regardless of overflow 202 * 203 * @param {Number} i 204 * @param {Node} word 205 */ 206 var setStartEllipByLine = function(i, word) { 207 var $word = $(word), 208 top = $word.position().top; 209 210 // if top isn't currOfset 211 // then we're on a new line 212 if (top !== currOffset) { 213 currOffset = top; 214 currLine += 1; 215 } 216 217 // if the word's currLine is equal 218 // to the line limit passed via options 219 // then start ellip from this 220 // word and stop looping 221 if (currLine === base.opts.lines) { 222 startEllipAt = i; 223 return false; 224 } 225 }; 226 227 setStartEllipAt = setStartEllipByLine; 228 } 229 230 // only bind to window resize if required 231 if (base.opts.responsive) { 232 233 /** 234 * resize() resets necessary vars 235 * and content and then re-initialises 236 * the Ellipsis script 237 */ 238 var resize = function() { 239 lines = []; 240 currLine = 0; 241 currOffset = null; 242 startEllipAt = null; 243 base.$el.html(escapeText(base.text)); 244 245 clearTimeout(resizeTimer); 246 resizeTimer = setTimeout(init, 100); 247 }; 248 249 $(window).on('resize.' + namespace, resize); 250 } 251 252 // start 'er up 253 create(); 254 } 255 256 $.fn[namespace] = function(opts) { 257 return this.each(function() { 258 try { 259 $(this).data(namespace, (new Ellipsis(this, opts))); 260 } catch (err) { 261 if (window.console) { 262 console.error(namespace + ': ' + err); 263 } 264 } 265 }); 266 }; 267 268})); 269 270 271var menu = { 272 lock: false, 273 click: function(button, bottom) { 274 if (menu.lock) { 275 return false; 276 } 277 278 menu.lock = true; 279 280 var body = jQuery("body"); 281 282 if (body.hasClass("menuOpen")) { 283 button.removeClass("is-active"); 284 body.removeClass("menuOpen"); 285 286 //bodyScrollLock.enableBodyScroll(jQuery("body").get(0)); 287 lockscroll.unlock(); 288 } else { 289 button.addClass("is-active"); 290 body.addClass("menuOpen"); 291 //bodyScrollLock.disableBodyScroll(jQuery("body").get(0)); 292 lockscroll.lock(); 293 } 294 295 menu.lock = false; 296 297 return true; 298 } 299 }; 300 301 var lockscroll = { 302 isLock: false, 303 lock: function() { 304 lockscroll.isLock = true; 305 jQuery("html").addClass("noScroll"); 306 }, 307 unlock: function() { 308 lockscroll.isLock = false; 309 jQuery("html").removeClass("noScroll"); 310 } 311 }; 312 313 function initScroll() { 314 315 var scrolling = false; 316 jQuery("body").on('touchstart', '.menu-scrollview', function(e) { 317 318 // Only execute the below code once at a time 319 if (!scrolling) { 320 scrolling = true; 321 if (e.currentTarget.scrollTop === 0) { 322 e.currentTarget.scrollTop = 1; 323 } else if (e.currentTarget.scrollHeight === e.currentTarget.scrollTop + e.currentTarget.offsetHeight) { 324 e.currentTarget.scrollTop -= 1; 325 } 326 scrolling = false; 327 } 328 }); 329 } 330 331 332 jQuery(document).ready(function() { 333 initScroll(); 334 335 jQuery(".video-js").each(function (videoIndex) { 336 var videoId = jQuery(this).attr("id"); 337 338 339 if(videoId){ 340 341 videojs(videoId).ready(function(){ 342 this.on("play", function(e) { 343 //pause other video 344 jQuery(".video-js").each(function (index) { 345 if(jQuery(this).attr("loop")){ 346 return; 347 } 348 349 350 if (videoIndex !== index) { 351 this.player.pause(); 352 } 353 }); 354 }); 355 }); 356 } 357 358 359 }); 360 361 jQuery(document).on('hide.bs.modal','.video-modal', function () { 362 jQuery(this).find("video").get(0).pause(); 363 jQuery(this).find("video").get(0).currentTime = 0; 364 jQuery(this).find("video").get(0).load(); 365 jQuery(this).find('.playbtn').removeClass('hide'); 366 }); 367 368 jQuery(document).on('show.bs.modal','.video-modal', function () { 369 videojs('blockvideorollermodal').ready(function(){ var myPlayer = this; myPlayer.play(); }); 370 }); 371 372 var delta = 0; 373 374 jQuery(window).on( 'scroll', function(e){ 375 376 377 if(jQuery(".followScroll").length > 0){ 378 if((jQuery(".followScroll").parent().offset().top - jQuery("header").height()) <= jQuery(document).scrollTop()){ 379 jQuery(".followScroll").addClass("fixOnScreen"); 380 jQuery(document.body).addClass("twoMenu"); 381 } 382 else{ 383 jQuery(".followScroll").removeClass("fixOnScreen"); 384 jQuery(document.body).removeClass("twoMenu"); 385 } 386 387 if(jQuery(document).scrollTop() - delta > 0){ 388 jQuery(document.body).addClass("scrollToBottom"); 389 } 390 else{ 391 jQuery(document.body).removeClass("scrollToBottom"); 392 } 393 } 394 395 if(jQuery(".followScrollInDivContainer").length > 0){ 396 if(jQuery(document).scrollTop() >= 170 && jQuery(document).scrollTop() <= jQuery(".followScrollInDivContainer").height() - 250 ){ 397 jQuery(".followScrollInDiv").css("transform","translateY("+(jQuery(document).scrollTop() - 170)+"px)"); 398 } 399 } 400 401 402 if(jQuery(".videoScrollContainer").length > 0){ 403 var p = 0; 404 405 var end = jQuery(".videoScrollContainer").height() - jQuery(window).height(); 406 407 p = (jQuery(document).scrollTop() - jQuery(".videoScrollContainer").offset().top) / end; 408 409 if(p < 0){ 410 p = 0; 411 } 412 else if(p > 0.99){ 413 p = 0.99; 414 } 415 416 if(p <= 0){ 417 jQuery(document.body).addClass("enableFollowVideo"); 418 jQuery(".followScrollVideo").removeClass("videoEnd"); 419 } 420 else if(p >= 0.99){ 421 jQuery(document.body).removeClass("enableFollowVideo"); 422 jQuery(".followScrollVideo").addClass("videoEnd"); 423 424 } 425 else{ 426 jQuery(document.body).addClass("enableFollowVideo"); 427 jQuery(".followScrollVideo").removeClass("videoEnd"); 428 } 429 430 jQuery(".videoScrollContainer video")[0].currentTime = 3 * p; 431 jQuery(".videoScrollContainer video")[0].controls = false;
432 jQuery(".videoScrollContainer video")[0].pause(); 433 434 435 if(jQuery(document).scrollTop() >= jQuery(".videoScrollContainer").offset().top && jQuery(document).scrollTop() <= (jQuery(".videoScrollContainer").offset().top + jQuery(".videoScrollContainer").height() - jQuery(window).height())){ 436 jQuery(document.body).addClass("enableFollowVideo"); 437 } 438 else if(jQuery(document).scrollTop() < jQuery(".videoScrollContainer").offset().top){ 439 jQuery(document.body).removeClass("enableFollowVideo"); 440 } 441 else{ 442 jQuery(document.body).removeClass("enableFollowVideo"); 443 } 444 } 445 446 447 448 449 450 if(jQuery(document).scrollTop() >= 100){ 451 jQuery(document.body).addClass("forceWhiteHeader"); 452 } 453 else{ 454 jQuery(document.body).removeClass("forceWhiteHeader"); 455 } 456 }); 457 458 jQuery('.fade-slick').each(function(){ 459 jQuery(this).slick({ 460 dots: false, 461 infinite: true, 462 speed: 500, 463 autoplaySpeed: 4000, 464 autoplay: jQuery('.fade-slick').attr("noautoplay") !== "noautoplay", 465 fade: true, 466 cssEase: 'linear' 467 }); 468 }); 469 470 jQuery('.fade-slick').on('beforeChange', function(event, slick, currentSlide, nextSlide) { 471 jQuery(".fade-slick-button").removeClass("active"); 472 jQuery(".fade-slick-button[rel='" + nextSlide + "']").addClass("active"); 473 474 jQuery(".fade-slick-button .tiret").removeClass("active"); 475 jQuery(".fade-slick-button[rel='" + nextSlide + "'] .tiret").addClass("active"); 476 }); 477 478 jQuery(".fade-slick-button").click(function() { 479 console.log('Click me !'); 480 jQuery('.fade-slick').slick('slickGoTo', jQuery(this).attr("rel")); 481 }); 482 483 //Manual slider integration 484 jQuery('.fade-slick.no-slide').each(function(idx){ 485 jQuery(this).slick("slickPause").slick("slickSetOption", "autoPlay", false); 486 }); 487 488 // zone table slider 489 jQuery('.slick-zone-table').slick({ 490 dots: false, 491 arrows: false, 492 autoplay: false, 493 infinite: false, 494 speed: 300, 495 slidesToShow: 1, 496 centerMode: false, 497 variableWidth: false, 498 responsive: [{ 499 breakpoint: 576, 500 settings: { 501 slidesToShow: 1, 502 slidesToScroll: 1 503 } 504 }, 505 { 506 breakpoint: 10000, 507 settings: "unslick" 508 } 509 ] 510 }); 511 512 513 jQuery('.slick-zone-table').on('beforeChange', function(event, slick, currentSlide, nextSlide) { 514 jQuery(".fade-slick-table-button").removeClass("active"); 515 jQuery(".fade-slick-table-button[rel='" + nextSlide + "']").addClass("active"); 516 }); 517 518 jQuery(".fade-slick-table-button").click(function() { 519 jQuery('.slick-zone-table').slick('slickGoTo', jQuery(this).attr("rel")); 520 }); 521 522 jQuery('.slick-zone').slick({ 523 dots: false, 524 arrows: false, 525 infinite: false, 526 speed: 300, 527 slidesToShow: 1, 528 centerMode: false, 529 variableWidth: true, 530 responsive: [{ 531 breakpoint: 768, 532 settings: { 533 slidesToShow: 1, 534 slidesToScroll: 1 535 } 536 }, 537 { 538 breakpoint: 10000, 539 settings: "unslick" 540 } 541 ] 542 }); 543 544 jQuery('.slick-zone-2').slick({ 545 dots: false, 546 arrows: false, 547 infinite: true, 548 speed: 500, 549 autoplaySpeed: 5000, 550 autoplay: true, 551 responsive: [{ 552 breakpoint: 802, 553 settings: { 554 slidesToShow: 1, 555 slidesToScroll: 1 556 } 557 }, 558 { 559 breakpoint: 10000, 560 settings: "unslick" 561 } 562 ] 563 }); 564 565 jQuery('.slick-zone-3').slick({ 566 dots: false,
567 arrows: false, 568 infinite: true, 569 speed: 500, 570 autoplaySpeed: 5000, 571 autoplay: true, 572 responsive: [{ 573 breakpoint: 576, 574 settings: { 575 slidesToShow: 1, 576 slidesToScroll: 1 577 } 578 }, 579 { 580 breakpoint: 992, 581 settings: { 582 slidesToShow: 2, 583 slidesToScroll: 1 584 } 585 }, 586 { 587 breakpoint: 10000, 588 settings: { 589 slidesToShow: 3, 590 slidesToScroll: 3 591 } 592 } 593 ] 594 }); 595 596 jQuery('.slickblock').slick({ 597 dots: false, 598 arrows: false, 599 infinite: true, 600 speed: 500, 601 autoplaySpeed: 5000, 602 autoplay: false, 603 responsive: [{ 604 breakpoint: 768, 605 settings: { 606 slidesToShow: 1, 607 slidesToScroll: 1 608 } 609 }, 610 { 611 breakpoint: 100000, 612 settings: { 613 slidesToShow: 2, 614 slidesToScroll: 2 615 } 616 } 617 ] 618 }); 619 620 var url = new URL(document.location.href); 621 var c = url.searchParams.get("rel"); 622 623 624 625 jQuery(".slickblock-menu .submenu-element").click(function() { 626 jQuery('.slickblock').slick('slickGoTo', (jQuery(this).attr("rel") - 1) * 2); 627 }); 628 629 jQuery('.slickblock').on('beforeChange', function(event, slick, currentSlide, nextSlide) { 630 var n = jQuery(slick.$slides.get(nextSlide)).attr('rel'); 631 632 var a = [20.83, -37.5, -95.83]; 633 634 jQuery(".slickblock-menu .justify-content-start").css("transform", "translateX(" + a[n - 1] + "%)"); 635 636 jQuery(".slickblock-menu .submenu-element").removeClass("current"); 637 jQuery(".slickblock-menu .submenu-element").parent().removeClass("current"); 638 jQuery(".slickblock-menu .submenu-element[rel=" + n + "]").parent().addClass("current"); 639 jQuery(".slickblock-menu .submenu-element[rel=" + n + "]").addClass("current"); 640 }); 641 642 643 if (c != undefined) { 644 jQuery('.slickblock').slick('slickGoTo', parseInt(c) * 2); 645 } 646 647 jQuery('.slicktables').slick({ 648 dots: false, 649 arrows: false, 650 infinite: true, 651 speed: 500, 652 autoplaySpeed: 5000, 653 autoplay: false, 654 responsive: [{ 655 breakpoint: 100000, 656 settings: { 657 slidesToShow: 1, 658 slidesToScroll: 1 659 } 660 }] 661 }); 662 663 jQuery(".slicktable-menu .fade-slick-button").click(function() { 664 jQuery('.slicktables').slick('slickGoTo', (jQuery(this).attr("rel") - 1)); 665 }); 666 667 jQuery('.slicktables').on('beforeChange', function(event, slick, currentSlide, nextSlide) { 668 var n = jQuery(slick.$slides.get(nextSlide)).attr('rel'); 669 670 jQuery(".slicktable-menu .fade-slick-button").removeClass("active"); 671 jQuery(".slicktable-menu .fade-slick-button[rel=" + n + "]").addClass("active"); 672 673 jQuery(".slicktable-menu .fade-slick-button .tiret").removeClass("active"); 674 jQuery(".slicktable-menu .fade-slick-button[rel=" + n + "] .tiret").addClass("active"); 675 }); 676 677 jQuery('[data-aos]').each(function() { 678 var t = jQuery(this); 679 680 if (jQuery(window).width() < 576) { 681 return; 682 } 683 684 if (t.attr("data-aos-sm") && jQuery(window).width() >= 576) { 685 t.attr("data-aos", t.attr("data-aos-sm")); 686 } 687 688 if (t.attr("data-aos-md") && jQuery(window).width() >= 768) { 689 t.attr("data-aos", t.attr("data-aos-md")); 690 } 691 692 if (t.attr("data-aos-lg") && jQuery(window).width() >= 992) { 693 t.attr("data-aos", t.attr("data-aos-lg")); 694 } 695 696 if (t.attr("data-aos-xl") && jQuery(window).width() >= 1200) { 697 t.attr("data-aos", t.attr("data-aos-xl")); 698 } 699 }); 700 701 702 if (typeof AOS !== "undefined") { 703 setTimeout(function() { 704 AOS.init({ 705 easing: 'ease', 706 duration: 500, 707 anchorPlacement: 'top-center' 708 }); 709 }, 200); 710 } 711 712 713 714 }); 715 716 jQuery(window).on('resize orientationchange', function() { 717 jQuery('.slick-zone').slick('resize'); 718 jQuery('.slick-zone-table').slick('resize'); 719 jQuery('.slick-zone-2').slick('resize'); 720 jQuery('.slick-zone-3').slick('resize'); 721 jQuery('.slickblock').slick('resize'); 722 jQuery('.slicktables').slick('resize'); 723 }); 724 725 726 727 jQuery(document).ready(function() { 728 updateCbtn(); 729 }); 730 731 function getPositionToBgHover() { 732 733 734 735 } 736 737 function updateCbtn(obj) { 738 if(obj == undefined){ 739 obj = jQuery("body"); 740 } 741 742 obj.find(".cbtn").each(function() { 743 if (jQuery(this).closest(".bg-cover").length == 1) { 744 var bg = jQuery(this).closest(".bg-cover"); 745 var bgRatio = bg.width() / bg.height(); 746 var w = null; 747 var h = null; 748 749 if (isFinite(bgRatio) && bgRatio >= 1) { 750 h = bg.height(); 751 } else if (bgRatio < 1) { 752 w = bg.width(); 753 } 754 755 if (bg.hasClass("bg-cover-left-top")) { 756 jQuery(this).find(".override-bg").css("background-image", 'url('+bg.find('.imgcovercontainer').attr("src")+')'); 757 758 if (w == null) { 759 jQuery(this).find(".override-bg").css("background-size", "auto " + h + "px"); 760 } else { 761 jQuery(this).find(".override-bg").css("background-size", w + "px auto"); 762 } 763 764 jQuery(this).find(".override-bg").css("background-position", "-" + (jQuery(this).offset().left - bg.offset().left - 3) + "px -" + (jQuery(this).offset().top - bg.offset().top - 3) + "px"); 765 } else { 766 jQuery(this).find(".override-bg").css("background-image", 'url('+bg.find('.imgcovercontainer').attr("src")+')'); 767 768 if (w == null) { 769 jQuery(this).find(".override-bg").css("background-size", "auto " + h + "px"); 770 } else { 771 jQuery(this).find(".override-bg").css("background-size", w + "px auto"); 772 } 773 774 jQuery(this).find(".override-bg").css("background-position", "center -" + (jQuery(this).offset().top - bg.offset().top + 3) + "px"); 775 } 776 } else { 777 jQuery(this).find(".override-bg").css("background", jQuery(this).attr("bg-color")); 778 } 779 }); 780 } 781 782 783 jQuery(window).on('resize orientationchange', function() { 784 updateCbtn(); 785 }); 786 787 jQuery(document).on('click', 'a[href^="#"]', function(event) { 788 event.preventDefault(); 789 790 if(jQuery(jQuery.attr(this, 'href')).offset() != undefined){ 791 jQuery('html, body').animate({ 792 scrollTop: jQuery(jQuery.attr(this, 'href')).offset().top - (jQuery(window).height() / 4) 793 }, 500); 794 } 795 }); 796 797 window.HELP_IMPROVE_VIDEOJS = false;
798 videojs.options.children.loadingSpinner = false; 799 800 jQuery("video").on("pause", function () { 801 if(jQuery(this).attr("onpause") != ""){ 802 eval(jQuery(this).attr("onpause")); 803 } 804 }); 805 806 jQuery("video").on("play", function () { 807 if(jQuery(this).attr("onplay") != ""){ 808 eval(jQuery(this).attr("onplay")); 809 } 810 }); 811 812function botCheck() { 813 var botPattern = "(googlebot\/|Googlebot-Mobile|Googlebot-Image|Google favicon|Mediapartners-Google|bingbot|slurp|java|wget|curl|Commons-HttpClient|Python-urllib|libwww|httpunit|nutch|phpcrawl|msnbot|jyxobot|FAST-WebCrawler|FAST Enterprise Crawler|biglotron|teoma|convera|seekbot|gigablast|exabot|ngbot|ia_archiver|GingerCrawler|webmon |httrack|webcrawler|grub.org|UsineNouvelleCrawler|antibot|netresearchserver|speedy|fluffy|bibnum.bnf|findlink|msrbot|panscient|yacybot|AISearchBot|IOI|ips-agent|tagoobot|MJ12bot|dotbot|woriobot|yanga|buzzbot|mlbot|yandexbot|purebot|Linguee Bot|Voyager|CyberPatrol|voilabot|baiduspider|citeseerxbot|spbot|twengabot|postrank|turnitinbot|scribdbot|page2rss|sitebot|linkdex|Adidxbot|blekkobot|ezooms|dotbot|Mail.RU_Bot|discobot|heritrix|findthatfile|europarchive.org|NerdByNature.Bot|sistrix crawler|ahrefsbot|Aboundex|domaincrawler|wbsearchbot|summify|ccbot|edisterbot|seznambot|ec2linkfinder|gslfbot|aihitbot|intelium_bot|facebookexternalhit|yeti|RetrevoPageAnalyzer|lb-spider|sogou|lssbot|careerbot|wotbox|wocbot|ichiro|DuckDuckBot|lssrocketcrawler|drupact|webcompanycrawler|acoonbot|openindexspider|gnam gnam spider|web-archive-net.com.bot|backlinkcrawler|coccoc|integromedb|content crawler spider|toplistbot|seokicks-robot|it2media-domain-crawler|ip-web-crawler.com|siteexplorer.info|elisabot|proximic|changedetection|blexbot|arabot|WeSEE:Search|niki-bot|CrystalSemanticsBot|rogerbot|360Spider|psbot|InterfaxScanBot|Lipperhey SEO Service|CC Metadata Scaper|g00g1e.net|GrapeshotCrawler|urlappendbot|brainobot|fr-crawler|binlar|SimpleCrawler|Livelapbot|Twitterbot|cXensebot|smtbot|bnf.fr_bot|A6-Indexer|ADmantX|Facebot|Twitterbot|OrangeBot|memorybot|AdvBot|MegaIndex|SemanticScholarBot|ltx71|nerdybot|xovibot|BUbiNG|Qwantify|archive.org_bot|Applebot|TweetmemeBot|crawler4j|findxbot|SemrushBot|yoozBot|lipperhey|y!j-asr|Domain Re-Animator Bot|AddThis)"; 814 var re = new RegExp(botPattern, 'i'); 815 var userAgent = navigator.userAgent; 816 if (re.test(userAgent)) { 817 return true; 818 } else { 819 return false; 820 } 821} 822 823var feelitycookie = { 824 current: null, 825 openModal: function() { 826 jQuery('.cookie-modal .page-2').hide(); 827 jQuery('.cookie-modal .page-1').show(); 828 jQuery('.cookie-modal').modal({ backdrop: "static", keyboard: false }); 829 jQuery('.cookie-modal').removeClass("cancelclose"); 830 }, 831 agreeAndContinue: function() { 832 feelitycookie.saveCookies(); 833 jQuery('.cookie-modal').modal('hide'); 834 document.location.reload(); 835 }, 836 cookiesPreferencesChande: function(obj) { 837 if (obj.prop("checked")) { 838 obj.parent().parent().addClass("cookiesok"); 839 } else { 840 obj.parent().parent().removeClass("cookiesok"); 841 } 842 843 if (obj.attr("id") == "cookies-fonctionels") { 844 feelitycookie.current.allow_cookie_level_1 = obj.prop("checked"); 845 } else if (obj.attr("id") == "cookies-pub") { 846 feelitycookie.current.allow_cookie_level_2 = obj.prop("checked"); 847 } 848 849 }, 850 plusinfos: function() { 851 if (!jQuery('.cookie-modal').hasClass("show")) { 852 jQuery('.cookie-modal').modal({ backdrop: "static", keyboard: false }); 853 jQuery('.cookie-modal').addClass("cancelclose"); 854 } 855 856 jQuery('.cookie-modal .page-2 #cookies-fonctionels').prop("checked", feelitycookie.current.allow_cookie_level_1); 857 jQuery('.cookie-modal .page-2 #cookies-pub').prop("checked", feelitycookie.current.allow_cookie_level_2); 858 859 jQuery('.cookie-modal .page-1').hide(); 860 jQuery('.cookie-modal .page-2').show(); 861 }, 862 cancel: function() { 863 if (jQuery('.cookie-modal').hasClass("cancelclose")) { 864 jQuery('.cookie-modal').modal('hide'); 865 return; 866 } 867 868 jQuery('.cookie-modal .page-2').hide(); 869 jQuery('.cookie-modal .page-1').show(); 870 }, 871 savePreference: function() { 872 feelitycookie.saveCookies(); 873 874 jQuery('.cookie-modal').modal('hide'); 875 876 document.location.reload(); 877 }, 878 saveCookies: function() { 879 Cookies.set('cookiescheck-20180517', JSON.stringify(feelitycookie.current), { expires: 365100 }); 880 }, 881 init: function() { 882 883 var cookie = Cookies.get('cookiescheck-20180517'); 884 885 if (cookie == undefined) { 886 feelitycookie.current = { 887 allow_cookie_level_0: true, 888 allow_cookie_level_1: true, 889 allow_cookie_level_2: true, 890 }; 891 892 if (botCheck() == false) { 893 jQuery.get(config.baseuri + "/cookies/consent", function(data) { 894 jQuery(".cookie-modal .modal-dialog").html(data); 895 updateCbtn(jQuery(".cookie-modal .modal-dialog")); 896 feelitycookie.openModal(); 897 }); 898 } 899 } else { 900 feelitycookie.current = JSON.parse(cookie); 901 } 902 903 if (cookie == undefined || feelitycookie.current.allow_cookie_level_1 == false) { 904 jQuery(".cookiescompatibility").html('<div class="bg-gray-light w-100 h-100"> <div class="align-vertical-table"> <div class="align-vertical-cell text-center" style=""> <div class="" style=" max-width: 350px; display: inline-block; "> <p class="success-message-text" style=" /* margin-bottom: 25px; */ "><i class="fa fa-info fa-3x" style="margin-bottom:25px;"></i><br>Pour profiter de toutes les fonctionnalités du site, merci d\'activer les cookies via la <a href="#" class="cookiesinfo" onclick="feelitycookie.plusinfos(); return false;">gestion des cookies</a></p> </div> </div> </div> </div>'); 905 } 906 907 jQuery(".cookiesinfo").click(function() { 908 jQuery.get(config.baseuri + "/cookies/consent", function(data) { 909 jQuery(".cookie-modal .modal-dialog").html(data); 910 updateCbtn(jQuery(".cookie-modal .modal-dialog")); 911 feelitycookie.plusinfos(); 912 }); 913 }); 914 915 jQuery(".cookie-modal").on('hidden.bs.modal', function (event) { 916 jQuery(".cookie-modal .modal-dialog").html(""); 917 }); 918 } 919}; 920 921jQuery(document).ready(function() { 922 feelitycookie.init(); 923 924 jQuery("li:has(.submenu .current) .fa-angle-down").addClass("fa-current"); 925 926 jQuery(window).resize(function(){ 927 jQuery(".height-check").each(function(){ 928 var t = jQuery(this); 929 930 var s = (parseInt(t.css("max-height").replace("px","")) - t.find(".height-tocheck").outerHeight(true)); 931 var ss = Math.trunc( s / 30 ); 932 var sss = s - ss * 30; 933 934 t.find(".box--responsive").css("height",(ss * 30)+"px"); 935 t.find(".box--responsive").css("margin-bottom",sss+"px"); 936 }) ; 937 938 }); 939 940 jQuery(".height-check").each(function(){ 941 var t = jQuery(this); 942 943 var s = (parseInt(t.css("max-height").replace("px","")) - t.find(".height-tocheck").outerHeight(true)); 944 var ss = Math.trunc( s / 30 ); 945 var sss = s - (ss) * 30; 946 947 if(ss * 30 <= 90){ 948 t.find(".box--responsive").css("height","90px"); 949 t.find(".box--responsive").css("margin-bottom",sss+"px"); 950 } 951 else{ 952 t.find(".box--responsive").css("height",(ss * 30)+"px"); 953 t.find(".box--responsive").css("margin-bottom",sss+"px"); 954 } 955 }); 956 957 setTimeout(function(){ 958 jQuery('.box--responsive').ellipsis({ responsive: true }); 959 jQuery(window).resize(); 960 },200); 961 962 jQuery('.article-link').click(function(event) { 963 document.location.href = jQuery(this).find('.readmore a').attr("href"); 964 }); 965}); 966 967function submissionFormContact(data) { 968 var text = jQuery(data.html).html(); 969 970 if (typeof gtag !== "undefined") { 971 gtag('event', 'formSubmit'); 972 } 973 974 jQuery(".contact-modal p").html(text); 975 jQuery(".contact-modal").modal("show"); 976 setTimeout(() => { location.reload(); } , 2000); 977 978} 979 980jQuery(document).ready(function() { 981 jQuery('html, body').scrollTop(0); 982 if (window.location.hash) { 983 jQuery('html, body').animate({ 984 scrollTop: jQuery(window.location.hash).offset().top - (jQuery(window).height() / 4) 985 }, 500); 986 } 987 988 jQuery(".gtag-event").click(function(event) { 989 if (typeof gtag !== "undefined") { 990 gtag('event', jQuery(this).attr("gtag-event-name")); 991 } 992 }); 993}); 994 995jQuery(function() { 996 var timeout = 0; 997 jQuery('.anim-lottie').each(function() { 998 var id = jQuery(this).attr('id'); 999 var dom = document.getElementById(id); 1000 var animPath = config.themeuri + '/anim/' + id + ".json"; 1001 var anim = lottie.loadAnimation({ 1002 container: dom, 1003 renderer: 'svg', 1004 loop: true, 1005 autoplay: false, 1006 path: animPath 1007 }); 1008 setTimeout(function() { 1009 anim.play(); 1010 }, timeout * 1000); 1011 timeout++; 1012 }); 1013 });
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.