1var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 2 3function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 4var getUrlParameter = function getUrlParameter(sParam) { 5 var sPageURL = decodeURIComponent(window.location.search.substring(1)), 6 sURLVariables = sPageURL.split('&'), 7 sParameterName, 8 i; 9 10 for (i = 0; i < sURLVariables.length; i++) { 11 sParameterName = sURLVariables[i].split('='); 12 13 if (sParameterName[0] === sParam) { 14 return sParameterName[1] === undefined ? true : sParameterName[1]; 15 } 16 } 17}; 18 19/* Search Results - START */ 20const functionsUrl = '/includes/functions.php'; 21 22var Search = function () { 23 function Search() { 24 _classCallCheck(this, Search); 25 26 this.page = 1; 27 this.size = 10; 28 this.query = getUrlParameter('search') || ''; 29 } 30 31 _createClass(Search, [{ 32 key: 'searchLoadMore', 33 value: function searchLoadMore() { 34 35 var HtmlString = ''; 36 $.get(functionsUrl, { 37 loadMore: 1, 38 page: this.page, 39 size: this.size, 40 query: this.query, 41 database: $('html').attr('data-lang') 42 }, function (response) { 43 $.each(response.hits, function (key, value) { 44 HtmlString = '<li class="search-result"><h2 class="search-result__title"><a href="' + value.data.url + '">' + value.data.title + '</a></h2><a class="search-result__url" href="' + value.data.url + '">' + value.data.url + '</a><p>' + value.highlight + '</p></li>'; 45 $('.search-results__list').append(HtmlString); 46 }); 47 $('.search-results__count .from').text($('.search-results__list li.search-result').length) 48 49 if ($('.search-results__list li.search-result').length == $('.search-results__count .to').text()) { 50 $('.search-results__footer button').attr('disabled', true); 51 } 52 }).done( 53 54 ); 55 } 56 }]); 57 58 return Search; 59}(); 60 61mySearch = new Search(); 62 63$('.search-results__footer button').on('click', function(e) { 64 mySearch.page = mySearch.page + 1; 65 mySearch.searchLoadMore(); 66}); 67 68//tracking internal search 69$(document).ready(function() { 70 if (getUrlParameter('search') != undefined && getUrlParameter('search') != '') { 71 if ($('.search-results__list li.search-result').length) { 72 var searchSuccess = 'success'; 73 } else { 74 var searchSuccess = 'no results'; 75 } 76 77 var cc_attributes = new Object(); 78 cc_attributes["etcc_cu"] = "onsite"; 79 cc_attributes["etcc_med_onsite"] = 'InternalSearch'; 80 cc_attributes["etcc_cmp_onsite"] = searchSuccess; 81 cc_attributes["etcc_st_onsite"] = getUrlParameter('search'); 82 83 //console.log(cc_attributes); 84 var etrackerLoaded = new Promise(function (resolve, reject) { 85 resolve($.getScript('https://code.etracker.com/code/e.js')); 86 }); 87 88 etrackerLoaded.then(function (response) { 89 et_eC_Wrapper( 90 { 91 et_et: 'YD3eP3', 92 et_pagename:et_pagename, 93 cc_attributes:cc_attributes 94 } 95 ); 96 // console.log('et_eC_Wrapper loaded'); 97 }, function (xhrObj) { 98 99 }); 100 } 101}); 102 103/* Search Results - ENDE */ 104 105/* 106 Contact Form - START 107*/ 108rm.base.registerContactSubmitCallback(function (event) { 109 // `event` is the form's submit event, 110 // so event.target is the form element 111 var $thisForm = $('.contact__form'); 112 var formData = $thisForm.serialize(); 113 var formSubmitUrl = $thisForm.attr('form-action'); 114 115 $.ajax({
116 type: "GET", 117 url: formSubmitUrl, 118 data: formData, 119 dataType: "json", 120 success: function (data) { 121 if(data.send == true) { 122 $thisForm.parent('.contact').hide(); 123 $('.contact__confirm').show(); 124 125 //console.log(new et_LinkEvent('contact send', 'contact form')); 126 _etracker.sendEvent(new et_LinkEvent('contact send', 'contact form')); 127 window.scrollTo(0,$('.contact__confirm').offset().top-100); 128 } 129 if(data.entryExists == true) { 130 $thisForm.parent('.contact').hide(); 131 $('.contact__entry-exists').show(); 132 window.scrollTo(0,$('.contact__entry-exists').offset().top-100); 133 } 134 }, 135 error: function () { 136 console.log('error handling here'); 137 } 138 }); 139}); 140 141/* 142 Elastic Search Call 143*/ 144$(function() { 145 if($('#header-search').length) { 146 147 var elasticSearch = { 148 //where to get the string from to search for 149 source: $('#header-search'), 150 //where to insert suggestions 151 target: $('.autocomplete-overlay__result'), 152 //the string, elasic has to find suggestions for 153 queryString:'', 154 //the XMLHTTPRequest object returned from jQuery.post() 155 jqxhr:'', 156 //the response of the api-call 157 response:'', 158 //read queryString from source 159 getQueryString: function() { 160 this.queryString = this.source.val(); 161 }, 162 //get current language value 163 getLang: function() { 164 var languagevariant = ''; 165 languagevariant = languagevariant.toLowerCase(); 166 return languagevariant; 167 }, 168 //call elastic-search-php 169 findSuggestion: function(visualizer) { 170 this.getQueryString(); 171 172 this.jqxhr = $.post( 173 "", 174 {"lang":this.getLang(),"query":this.queryString}, 175 function(data) { 176 elasticSearch.response = data; 177 }, 178 "json"); 179 this.jqxhr.always(visualizer.emptyTarget); 180 this.jqxhr.done(visualizer.showSuggestions); 181 this.jqxhr.fail(visualizer.showError); 182 183 } 184 } 185 186 var esVis = { 187 //clean up target element 188 emptyTarget: function() { 189 elasticSearch.target.empty(); 190 }, 191 //push suggetions to DOM 192 showSuggestions: function(suggestions) { 193 if(elasticSearch.response.status === 'false' || elasticSearch.response.status === '0') { 194 esVis.showError(suggestions); 195 } else { 196 elasticSearch.target.empty(); 197 $.each(elasticSearch.response.values.suggestions, function(key, suggestion) { 198 esVis.buildSuggestionStructure(suggestion); 199 }); 200 } 201 }, 202 //push error-structure into DOM 203 showError: function(suggetions) { 204 elasticSearch.target.empty(); 205 if(elasticSearch.response.status === 'false') { 206 esVis.buildErrorStructureFail(); 207 } else if(elasticSearch.response.status === '0') { 208 esVis.buildErrorStructureNoMatch(); 209 } else { 210 esVis.buildErrorStructureFail(); 211 } 212 }, 213 //generate html for suggestions 214 buildSuggestionStructure: function(suggestionData, query) { 215 var suggestion = $('<li>',{ 216 class: 'autocomplete-overlay__result-item' 217 }); 218 var link = $('<a>',{ 219 href:"search?bookmarked=false&search="+suggestionData.text 220 }); 221 link.text(suggestionData.text); 222 suggestion.append(link); 223 elasticSearch.target.append(suggestion); 224 }, 225 //generate html for error 226 buildErrorStructureFail: function() { 227 var error = $('<li>',{ 228 class: 'autocomplete-overlay__result-item' 229 }); 230 error.text(elasticSearch.target.data('es-fail-message')); 231 elasticSearch.target.append(error); 232 }, 233 //generate html for no match 234 buildErrorStructureNoMatch: function() { 235 var noMatch = $('<li>',{ 236 class: 'autocomplete-overlay__result-item' 237 }); 238 noMatch.text(elasticSearch.target.data('es-no-match-message')); 239 elasticSearch.target.append(noMatch); 240 } 241 } 242 243 //global code 244 elasticSearch.source.on('input', function() { 245 if($(this).val().length >= 3) { 246 elasticSearch.findSuggestion(esVis); 247 } 248 }); 249 } 250}); 251/* 252 Elastic Search Call - End 253*/ 254 255/* 256 Location Search 257*/ 258function initLocationSearch() { 259console.log('initL'); 260 if($('div.o-section--location-search').length) { 261 262 $('.location-search__form').keypress(function (event) { 263 if (event.keyCode === 10 || event.keyCode === 13) { 264 event.preventDefault(); 265 } 266 }); 267 268 $.ajax({
269 method: "GET", 270 url: "https://dachser-locations.atrivio.net/api/division", 271 datatype: "json", 272 success: function(response) { 273 console.log('ajaxL'); 274 var division = response; 275 if(!division.hasOwnProperty('count') || division.count == 0) { 276 divisionError(); 277 } else { 278 buildDivisions(division); 279 } 280 }, 281 error: function() { 282 divisionError(); 283 } 284 }); 285 } 286 287 function buildDivisions(divisions) { 288 $.each(divisions.results, function(key, value) { 289 var li = $('<li>'); 290 var label = $('<label>',{ 291 class: 'radio-button' 292 }); 293 var input = $('<input>',{ 294 class: 'radio-button__input', 295 name: 'location-search-type', 296 type: 'radio' 297 }); 298 var radioOutline = $('<div>',{ 299 class: 'radio-button__box-outline' 300 }); 301 var radioLabel = $('<div>',{ 302 class: 'radio-button__label' 303 }); 304 var structure = li.append(label.append(input,radioOutline,radioLabel)); 305 306 structure.find('.radio-button__label').text(value.title); 307 structure.find('.radio-button__label').attr('data-div-id', value.id); 308 309 insertDivision(structure); 310 }); 311 312 bindDivisionEvents(); 313 } 314 315 function insertDivision(set) { 316 $('div.location-search__expand .dropdown .dropdown__content ul.dropdown__list').append(set); 317 } 318 319 function divisionError() { 320 rm.base.locationSearchError('<div>'+$('form.location-search__form').attr('data-error-initial-fail')+'</div>'); 321 } 322 323 function bindDivisionEvents() { 324 //select division on left dropdown 325 $('div.location-search__expand ul.dropdown__list li').each(function() { 326 $(this).unbind().on('click', function() { 327 var divName = $(this).find('.radio-button__label').html(); 328 var divisionSelectEvent = new et_UserDefinedEvent(divName, 'Location Search', 'click', 'Division Selection'); 329 //console.log(divisionSelectEvent); 330 _etracker.sendEvent(divisionSelectEvent); 331 var divID = $(this).find('.radio-button__label').data('div-id'); 332 $('#location-search-input').attr('data-selected-division', divID); 333 //either jump to input or start new search 334 if($('#location-search-input').val() == '') { 335 $('#location-search-input').focus(); 336 } else { 337 var lat = $('#location-search-input').attr('data-lat'); 338 var lng = $('#location-search-input').attr('data-lng'); 339 var country = $('#location-search-input').attr('data-country'); 340 var divID = [$('#location-search-input').attr('data-selected-division')]; 341 342 getLocations(lat, lng, country, divID); 343 } 344 }); 345 }); 346 347 //catch input in textfield 348 $('#location-search-input').on('input', function() { 349 var input = $(this).val(); 350 if(input.length > 0) { 351 getPlaces(input); 352 } 353 }); 354 } 355 356 function getPlaces(input) { 357 autocomplete = new google.maps.places.AutocompleteService(); 358 autocomplete.getQueryPredictions({input: input}, showPredictions); 359 } 360 361 function showPredictions(predictions, status) { 362 if(status == 'OK' && predictions.length > 0) { 363 var container = '.location-search__content .location-search__typeahead'; 364 $(container).empty(); 365 $.each(predictions, function(key, value) { 366 367 var button = $('<button>',{ 368 class:'location-finder' 369 }); 370 button.append('<svg class="icon"><use xlink:href="#icon-pin"></use></svg>'); 371 var span = $('<span>',{ 372 id:value.place_id, 373 class:'location-finder__label' 374 }); 375 span.text(value.description); 376 button.append(span); 377 378 insertPrediction(button, container); 379 }); 380 bindPredictionEvents(container); 381 } else { 382 showPredictionsError(container); 383 } 384 385 } 386 387 function insertPrediction(prediction, container) { 388 $(container).append(prediction); 389 390 } 391 392 function showPredictionsError(container) { 393 $(container).empty(); 394 var button = $('<button>',{ 395 class:'location-finder' 396 }); 397 var span = $('<span>',{ 398 class:'location-finder__label' 399 }); 400 span.text($(container).attr('data-error-nop-connection')); 401 button.append(span); 402 $(container).append(button); 403 } 404 405 function bindPredictionEvents(container) { 406 407 $(document).keypress(function (event) { 408 if (event.keyCode === 10 || event.keyCode === 13) { 409 $(container + ' .location-finder--focus').click(); 410 return true; 411 } 412 }); 413 414 $(container + ' .location-finder').each(function() { 415 $(this).unbind().click(function() { 416 var predicitionSelectEvent = new et_UserDefinedEvent($(this).text(), 'Location Search', 'click', 'Prediction Selection'); 417 //console.log(predicitionSelectEvent); 418 _etracker.sendEvent(predicitionSelectEvent); 419 searchForPlace($(this), container); 420 return true; 421 }); 422 }); 423 } 424 425 function searchForPlace(place, container) { 426 var googlePlace = new google.maps.places.PlacesService(document.createElement('div')); 427 var placeDetailsRequest = { 428 placeId: place.find('.location-finder__label').attr('id'), 429 fields: ['geometry', 'place_id', 'address_component'] 430 }; 431 var lat; 432 var lng; 433 var country; 434 googlePlace.getDetails(placeDetailsRequest, function(results, status){ 435 if(status == google.maps.places.PlacesServiceStatus.OK) { 436 lat = results.geometry.location.lat(); 437 lng = results.geometry.location.lng();
438 results.address_components.forEach(function(component) { 439 if (component.types[0] == 'country') { 440 country = component.short_name; 441 } 442 }); 443 //set coordinates for furthes searches of the same place 444 $('#location-search-input').attr('data-lat', lat); 445 $('#location-search-input').attr('data-lng', lng); 446 $('#location-search-input').attr('data-country', country); 447 448 var divID = [$('#location-search-input').attr('data-selected-division')]; 449 450 getLocations(lat,lng,country,divID); 451 } else { 452 placeDetailsError(container); 453 } 454 }); 455 } 456 457 function placeDetailsError(container) { 458 showPredictionsError(container); 459 } 460 461 function getLocations(lat, lng, country, divID) { 462 var container = '.location-search__results'; 463 var url = "https://dachser-locations.atrivio.net/api/locations?"; 464 var params = {lat:lat,lng:lng,filterDivision:divID,country:country}; 465 params = encodeURIComponent(JSON.stringify(params)); 466 url = url+"params="+params; 467 $.ajax({
468 method: "GET", 469 url: url, 470 datatype: "json", 471 success: function(response) { 472 var locations = response.results; 473 if(response.count > 0) { 474 buildLocation(locations, container, '', ''); 475 $('.location-search__background-image--no-results').hide(); 476 $('.location-search__background-image--active-results').show(); 477 } else { 478 locationsError(container); 479 } 480 }, 481 error: function() { 482 locationsError(container); 483 } 484 }); 485 } 486 487 function locationsError(container) { 488 $(container).empty(); 489 var errorItem = $('<div>',{ 490 class:'location-search-result-item' 491 }); 492 var errorTitle = $('<div>',{ 493 class:'location-search-result__title' 494 }); 495 errorTitle.text($(container).attr('data-error-no-locations')); 496 497 errorItem.append(errorTitle); 498 499 insertSearchResult(errorItem, container); 500 } 501 502 function buildLocation(locations, container, browserLat, browserLng) { 503 $(container).empty(); 504 $.each(locations, function(key, location) { 505 var searchResult = $('<div>',{ 506 class:'location-search-result-item' 507 }); 508 509 /*#########################################################*/ 510 var resultTitle = $('<div>',{ 511 class:'location-search-result__title' 512 }); 513 resultTitle.text(location.legal + ' ' + location.orientation); 514 515 /*#########################################################*/ 516 var resultBody = $('<div>',{ 517 class:'location-search-result__body' 518 }); 519 520 /*#########################################################*/ 521 var address = $('<div>',{ 522 class:'location-search-result__address location-search-result__column' 523 }); 524 address.html(location.legal+'<br>'+location.address1+'<br>'+location.countryISO.toUpperCase()+' - '+location.zip+' '+location.city); 525 526 /*#########################################################*/ 527 var contact = $('<div>',{ 528 class:'location-search-result__contact location-search-result__column' 529 }); 530 531 /*#########################################################*/ 532 if(location.phone != "") { 533 var tel = $('<a>',{ 534 href:'tel:'+location.phone 535 }); 536 var telLabel = $('<span>'+$('.location-search__results').attr('data-txt-ls-phone')+' </span>'); 537 tel.text(location.phone); 538 var telIconLine = $('<div>',{ 539 class:'location-search-result__icon-line' 540 }); 541 telIconLine.append(telLabel); 542 tel = telIconLine.append(tel); 543 } 544 545 /*#########################################################*/ 546 if(location.fax != "") { 547 var fax = $('<span>'); 548 fax.text(location.fax); 549 var faxLabel = $('<span>'+$('.location-search__results').attr('data-txt-ls-fax')+' </span>'); 550 var faxIconLine = $('<div>',{ 551 class:'location-search-result__icon-line' 552 }); 553 faxIconLine.append(faxLabel); 554 fax = faxIconLine.append(fax); 555 } 556 557 /*#########################################################*/ 558 var mail = $('<a>',{ 559 href:'mailto:'+location.email 560 }); 561 mail.text(location.email); 562 var mailIconLine = $('<div>',{ 563 class:'location-search-result__icon-line' 564 }); 565 mail = mailIconLine.append(mail); 566 567 /*#########################################################*/ 568 var web = $('<a>',{ 569 href:location.web 570 }); 571 web.text(location.web);
572 var webIconLine = $('<div>',{ 573 class:'location-search-result__icon-line' 574 }); 575 web = webIconLine.append(web); 576 577 /*#########################################################*/ 578 contact.append(tel); 579 contact.append(fax); 580 contact.append(mail); 581 contact.append(web); 582 583 /*#########################################################*/ 584 var resultLocation = $('<div>',{ 585 class:'location-search-result__location location-search-result__column' 586 }); 587 588 /*#########################################################*/ 589 if(browserLat != '' && browserLng != '') { 590 var mapsLink = $('<a>',{ 591 class: 'btn', 592 href:'http://maps.google.com/?saddr='+browserLat+','+browserLng+'&daddr='+location.lat+','+location.lng, 593 target:'_blank' 594 }); 595 } else { 596 var mapsLink = $('<a>',{ 597 class: 'btn', 598 href:'http://maps.google.com/?saddr=&daddr='+location.lat+','+location.lng, 599 target:'_blank' 600 }); 601 } 602 mapsLink.text($('#location-search-input').data('open-gmaps')); 603 mapsLink.attr('data-result_title', resultTitle.text()); 604 605 /*#########################################################*/ 606 var resultCords = $('<div>',{ 607 class:'location-search-result__icon-line--coords' 608 }); 609 resultCords.html('<div>' + $('.location-search__form').data('coordinates-label') + '</div><div>'+location.lat+', '+location.lng+'</div>'); 610 611 /*#########################################################*/
612 resultLocation.append(resultCords); 613 614 /*#########################################################*/ 615 var mapsLinkResultLocation = $('<div>',{ 616 class:'location-search-result__icon-line location-search-result__column' 617 }); 618 mapsLinkResultLocation.append(mapsLink); 619 620 /*#########################################################*/ 621 resultBody.append(address); 622 resultBody.append(contact); 623 resultBody.append(resultLocation); 624 resultBody.append(mapsLinkResultLocation); 625 626 /*#########################################################*/ 627 searchResult.append(resultTitle); 628 searchResult.append(resultBody); 629 630 /*#########################################################*/ 631 insertSearchResult(searchResult, container); 632 }); 633 } 634 635 function insertSearchResult(item, container) { 636 $(container).append(item); 637 $(container).show(1, function() { 638 $(item).find('a.btn').off('click').on('click', function() { 639 var title = $(this).attr('data-result_title'); 640 var serachResultEvent = new et_UserDefinedEvent(title, 'Location Search', 'click', 'Map link'); 641 //console.log(serachResultEvent); 642 _etracker.sendEvent(serachResultEvent); 643 }); 644 }); 645 646 647 /*$('.location-search-result-item').each(function(item) { 648 $(item).find('a.btn').off('click').on('click', function() { 649 var title = $(this).attr('data-result_title'); 650 var serachResultEvent = new et_UserDefinedEvent(title, 'Location Search', 'click', 'Map link'); 651 //console.log(serachResultEvent); 652 _etracker.sendEvent(serachResultEvent); 653 }); 654 });*/ 655 } 656}; 657/* 658 Location Search - END 659*/ 660/* 661/* 662 eTracker - START 663*/ 664function initTracking() { 665 //Accordion 666 if($('.collapsible_box.js-collapsible_box').length) { 667 $('.collapsible_box.js-collapsible_box').on('mousedown', function(e) { 668 var title = $(this).find('span.collapsible_box__header__text')[0].innerHTML; 669 if ($(this).hasClass('is-closed')) { 670 var accordionEvent = new et_ClickEvent(title + '-open', 'Accordion'); 671 } else { 672 var accordionEvent = new et_ClickEvent(title + '-close', 'Accordion'); 673 } 674 _etracker.sendEvent(accordionEvent); 675 }); 676 } 677 678 //Sticky navigation 679 if($('#sticky-navigation').length) { 680 $('#sticky-navigation>section.elogistics').on('mousedown', function(e) { 681 var stickyNavEvent = new et_UserDefinedEvent('eLogistics', 'Sticky Nav', 'click', 'External Link'); 682 //console.log(stickyNavEvent); 683 _etracker.sendEvent(stickyNavEvent); 684 }); 685 686 $('#sticky-navigation>section:nth-child(2)').on('mousedown', function(e) { 687 var stickyNavEvent = new et_UserDefinedEvent('Country Switch', 'Sticky Nav', 'click', 'anchor'); 688 //console.log(stickyNavEvent); 689 _etracker.sendEvent(stickyNavEvent); 690 }); 691 692 $('#sticky-navigation>section:nth-child(3)').on('mousedown', function(e) { 693 var stickyNavEvent = new et_UserDefinedEvent('Contact', 'Sticky Nav', 'click', 'anchor'); 694 //console.log(stickyNavEvent); 695 _etracker.sendEvent(stickyNavEvent); 696 }); 697 } 698 699 //Flyout navigation 700 if($('.main-nav').length) { 701 $('.main-nav').each(function() { 702 var navHeadline = $(this).find('.main-nav__header').html(); 703 $(this).find('.main-nav__link').on('mousedown', function(e) { 704 var flyoutEvent = new et_UserDefinedEvent(e.target.innerHTML, 'Flyout Nav', 'click', navHeadline); 705 console.log(flyoutEvent); 706 _etracker.sendEvent(flyoutEvent); 707 }); 708 }); 709 } 710 711 // Country Switch 712 if ($('.country-list__regions').length) { 713 $('.country-list__region').each(function() { 714 var country = $(this).find('.country-list__region__header').text().trim(); 715 $(this).find('a').on('click', function() { 716 var countryLang = $(this).text().trim(); 717 if (countryLang != country) { 718 var switchCountryTarget = country+'-'+countryLang; 719 } else { 720 var switchCountryTarget = country; 721 } 722 var languageSwitchEvent = new et_UserDefinedEvent(switchCountryTarget, 'Language Switch', 'click', 'Country Switch'); 723 _etracker.sendEvent(languageSwitchEvent); 724 }); 725 }); 726 } 727 728 //tack & trace box 729 if ($('.track-trace__form').length) { 730 $('.track-trace__form').on('submit', function() { 731 var input = $('#track-trace-search-input').val(); 732 var lang = $(this).find('input[name="javalocale"]').val(); 733 734 var cc_attributes = new Object(); 735 cc_attributes["etcc_cu"] = "onsite"; 736 cc_attributes["etcc_med_onsite"] = 'Track&Trace'; 737 cc_attributes["etcc_cmp_onsite"] = lang; 738 cc_attributes["etcc_st_onsite"] = input; 739 740 if (input != '') {
741 et_eC_Wrapper( 742 { 743 et_et: 'YD3eP3', 744 et_pagename:et_pagename, 745 cc_attributes:cc_attributes 746 } 747 ); 748 } 749 }); 750 751 //eLogistics 752 $('.track-trace__tabs>a:nth-child(5)').unbind('click').bind('click', function(e) { 753 var linkEvent = new et_LinkEvent('eLogistics', 'track&trace-box'); 754 //console.log(linkEvent); 755 _etracker.sendEvent(linkEvent); 756 }); 757 } 758 759 $('a[href^="mailto:"]').on('click', function (e) { 760 var uri = $(this).attr('href'); 761 var email = uri.replace('mailto:', ''); 762 var linkEvent = new et_LinkEvent(email[1], 'email mailto'); 763 //console.log(linkEvent); 764 _etracker.sendEvent(linkEvent); 765 }); 766 767 $('.cards-related .card__overlay__actions a.btn').on('click', function() { 768 var linkEvent = new et_LinkEvent($(this).attr('href'), 'related cards'); 769 //console.log(linkEvent); 770 _etracker.sendEvent(linkEvent); 771 }); 772 773 $('.overview__card a.btn').on('click', function() { 774 var linkEvent = new et_LinkEvent($(this).attr('href'), 'related cards'); 775 //console.log(linkEvent); 776 _etracker.sendEvent(linkEvent); 777 }); 778 779 //Footer 780 if ($('.footer__row').length) { 781
782 $('.footer__col.footer__col--newsletter').find('a.btn').unbind('click').bind('click', function() { 783 var newsletterClickSubscribe = new et_UserDefinedEvent('Newsletter Subscribe', 'Footer', 'click', 'Newsletter Section'); 784 //console.log(newsletterClickSubscribe); 785 _etracker.sendEvent(newsletterClickSubscribe); 786 }); 787 788 $('.footer__col.footer__col--legal').find('a').unbind('click').bind('click', function() { 789 var legalClickEvent = new et_UserDefinedEvent($(this).text(), 'Footer', 'click', 'Legal Section'); 790 //console.log(legalClickEvent); 791 _etracker.sendEvent(legalClickEvent); 792 }); 793 794 $('.footer__col.footer__col--mediaroom').find('a').unbind('click').bind('click', function() { 795 var mediaroomClickEvent = new et_UserDefinedEvent($(this).text(), 'Footer', 'click', 'Mediaroom Section'); 796 //console.log(mediaroomClickEvent); 797 _etracker.sendEvent(mediaroomClickEvent); 798 }); 799
800 $('.footer__col.footer__col--social').find('a').unbind('click').bind('click', function() { 801 var socialClickEvent = new et_UserDefinedEvent($(this).text(), 'Footer', 'click', 'SocialMedia Section'); 802 //console.log(socialClickEvent); 803 _etracker.sendEvent(socialClickEvent); 804 }); 805 } 806 807 if($('.search-results__list').length > 0) { 808 $('li.search-result a').on('click', function(e) { 809 var urlParams = new URLSearchParams(window.location.search); 810 var search = urlParams.get('search'); 811 _etracker.sendEvent(new et_UserDefinedEvent($(this).attr('href'), 'Search Click Path', 'click', search)); 812 //console.log($(this).attr('href'), 'Search Click Path', 'click', search); 813 }); 814 } 815} 816/* 817 eTracker - END 818*/ 819 820/* 821 Textlinks - START 822*/ 823function createTextLinkList(href) { 824 $('#modal-text-links').find('.country-list__region').removeClass('hidden'); 825 $('#modal-text-links').find('.country-list__region').removeClass('active'); 826 $('#modal-text-links').find('[data-hreflang]').addClass('hidden'); 827 $('#modal-text-links').find('.country-list__country__wrapper').addClass('hidden'); 828 $('#modal-text-links').find('.country-list__country').addClass('hidden') 829 $.ajax({ 830 type: "GET", 831 data: { file: href }, 832 url: '../includes/textlink-proxy.php', 833 success: function (data) { 834 var hrefLang = '', 835 thisHref = '', 836 $thisElement; 837 data.forEach((element) => { 838 hrefLang = $(element).attr('hreflang'); 839 thisHref = $(element).attr('href'); 840 $thisElement = $('#modal-text-links').find('[data-hreflang="' + hrefLang + '"]'); 841 $thisElement.attr('href', thisHref); 842 $thisElement.removeClass('hidden'); 843 $thisElement.parents('.country-list__country').removeClass('hidden'); 844 if($thisElement.parent().hasClass('app-switch__lang')) { 845 $thisElement.parents('.country-list__country').find('.country-list__country__wrapper').removeClass('hidden'); 846 } 847 848 if(hrefLang === 'fr-BE' || hrefLang === 'fr-LU' || hrefLang === 'de-CH') { 849 $('#modal-text-links').find('[data-hreflang="' + hrefLang + '"]').parents('.country-list__country').find('.country-list__country__wrapper').attr('href', thisHref); 850 } 851 }); 852 853 // Hide empty regions 854 var foundCountry = false;
855 $('#modal-text-links').find('.country-list__region').each(function() { 856 foundCountry = false; 857 $(this).find('.country-list__country').each(function() { 858 if(!$(this).hasClass('hidden')) { 859 foundCountry = true; 860 } 861 }); 862 if(!foundCountry) { 863 $(this).addClass('hidden'); 864 } 865 }); 866 }, 867 error: function () { 868 //console.log('error handling here'); 869 } 870 }); 871 $('#modal-text-links').find('.country-list__region__header').off().on('click', function(e) { 872 console.log($(e)); 873 //$('#modal-text-links').find('.country-list__region').removeClass('active'); 874 if(!$(this).parent('.country-list__region').hasClass('active')) { 875 $('#modal-text-links').find('.country-list__region').removeClass('active'); 876 $(this).parent('.country-list__region').addClass('active'); 877 } else { 878 $(this).parent('.country-list__region').removeClass('active'); 879 } 880 }); 881} 882$(document).ready(function() { 883 $('.modal-text-link').on('click', function(e) { 884 createTextLinkList($(this).attr('href')); 885 }); 886}); 887/* 888 Textlinks - END 889*/ 890 891$(function() { 892var $zoomImage = $('.zoom'); 893 894 $zoomImage.on('click', function () { 895 var zoomImageClone = $(this).find('img').clone(); 896 var zoomCloseIcon = $(this).find('.zoom__close--icon').clone(); 897 if ($('.zoomContainer').length < 1) { 898 $('body').append('<div class="zoomContainer"><div class="zoomContainerInner"></div></div>'); 899 $('.zoomContainerInner').append([zoomImageClone, zoomCloseIcon]); 900 901 setTimeout(function () { 902 $('.zoomContainerInner').addClass('zoomScale'); 903 }, 100); 904 zoomCloseIcon.off().on('click', function () { 905 $('.zoomContainerInner').removeClass('zoomScale'); 906 setTimeout(function () { 907 $('.zoomContainer').remove(); 908 }, 500); 909 }); 910 } 911 }); 912}); 913 914$(document).ready(function() { 915 const media = document.querySelector('video'); 916 $('.mute').on('click', function() { 917 if (media.muted) { 918 $(this).find('.sound-on').removeClass('hidden'); 919 $(this).find('.sound-off').addClass('hidden'); 920 } else { 921 $(this).find('.sound-on').addClass('hidden'); 922 $(this).find('.sound-off').removeClass('hidden'); 923 } 924 media.muted = !media.muted; 925 }); 926 927 if($('.overview-tiles-content').length > 0) { 928 $('.overview-tiles-content').each(function() { 929 if($(this).find('.overview__card').length < 3) { 930 $(this).siblings('h3').addClass('overviewTilesCenter'); 931 } 932 }) 933 } 934});
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.