/* @license GNU-GPL-2.0-or-later https://www.drupal.org/licensing/faq */ function cleanData(string,isConcatValue=false,isUri=false){if(!string||!string.length)return string;if(isUri)string=decodeURI(string);const remove=[',','!','\'','\n','’','~','@','#','$','%','^','&','*','(',')','|','+','\\','=','?','<','>','{','}','[',']','«','»','.'];remove.forEach((char)=>(string=string.replaceAll(char,'')));if(!isConcatValue)string.replace(';','');if(string.startsWith(' '))string=string.substring(1);if(string.endsWith(' '))string=string.substring(0,string.length-1);string=string.replaceAll(' ','_');string=string.replaceAll('€','e');string=string.replaceAll('œ','oe');string=string.normalize("NFD").replace(/[\u0300-\u036f]/g,"");string=string.toLowerCase();string=string.replaceAll("\n","_");return string;}; (function(Drupal,drupalSettings){document.addEventListener("DOMContentLoaded",function(event){dataLayer.push({'event':'page_view','language':drupalSettings.page.language,'envWork':drupalSettings.page.envWork,'title':cleanData(drupalSettings.page.title),'location':drupalSettings.page.location,'type':drupalSettings.page.type,'cat1name':drupalSettings.page.cat1name,'dealerName':cleanData(drupalSettings.page.dealerName,true),'dealerId':drupalSettings.page.dealerId,'groupName':cleanData(drupalSettings.page.groupName)});});})(Drupal,drupalSettings);; (function(Drupal,drupalSettings){window.dataLayer=window.dataLayer||[];Drupal.behaviors.tagManagerEvents={attach:function(context){const jsCalls=document.querySelectorAll('.js--tm--call');jsCalls.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'contact','contact_method':'appeler'});});});const jsPhoneNumbers=document.querySelectorAll('.js--tm--phone-number');jsPhoneNumbers.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'contact','contact_method':'telephone'});});});const jsWorkshops=document.querySelectorAll('.js--tm--workshop');jsWorkshops.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{let concession=cleanData(element.getAttribute('data-attribute-name'));if(concession===null)concession=cleanData(drupalSettings.page.dealerName);dataLayer.push({'event':'outbound_link','outbound_link':'formulaire_rdv_atelier','outbound_url':element.getAttribute('href'),'concession':concession});});});const jsClickContactForms=document.querySelectorAll('.js--tm--clickContactForm');jsClickContactForms.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'clic_contact_form','cta_name':cleanData(element.innerText),'concession':cleanData(drupalSettings.page.groupName)});});});const jsContactTeams=document.querySelectorAll('.js--tm--contact-team');jsContactTeams.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'contact','contact_method':'mail','contact_title':cleanData(element.getAttribute('data-attribute-name'))});});});const jsSelekts=document.querySelectorAll('.js--tm--selekt');jsSelekts.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'outbound_link','outbound_link':cleanData(element.innerText),'outbound_url':element.getAttribute('href')});});});const jsRecrutement=document.querySelectorAll('.js--tm--recrutement');jsSelekts.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;const outboundLink=element.closest('.EditorialWysiwyg').getAttribute('href');const outboundUrl=element.innerText.replace('\n','_');element.addEventListener('click',()=>{dataLayer.push({'event':'outbound_link','outbound_link':outboundLink,'outbound_url':outboundUrl});});});const jsOffers=document.querySelectorAll('.js--tm--offers');jsOffers.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{let offerType=element.getAttribute('data-attribute-type');if(offerType==='individual')offerType='particulier';if(offerType==='professional')offerType='professionnel';if(offerType==='service')offerType='service';dataLayer.push({'event':'select_content','content_type':'offre','offer_name':cleanData(element.getAttribute('data-attribute-name')),'offer_type':offerType});});});const jsPrestationsBandeau=document.querySelectorAll('.js--tm--prestations--bandeau > button');jsPrestationsBandeau.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'select_content','content_type':'prestations','prestation':cleanData(element.getAttribute('data-attribute-name'))});},true);});const jsPrestationsCta=document.querySelectorAll('.js--tm--prestations--cta');jsPrestationsCta.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'select_content','content_type':'prestations','prestation':cleanData(element.innerText)});},true);});const jsServices=document.querySelectorAll('.js--tm--services > button');jsServices.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'select_content','content_type':'services','service':cleanData(element.getAttribute('data-attribute-name'))});},true);});const jsServicesHp=document.querySelectorAll('.js--tm--services--hp');jsServicesHp.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{if(element.getAttribute('aria-expanded')==='true')return;dataLayer.push({'event':'select_content','content_type':'services','service':cleanData(element.getAttribute('data-attribute-name'))});});});const jsActualites=document.querySelectorAll('.js--tm--news');jsActualites.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'select_content','content_type':'actualites_evenements','actualite':cleanData(element.getAttribute('data-attribute-name'))});});});const jsEvents=document.querySelectorAll('.js--tm--event--bandeau');jsEvents.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'clic_cta','cta_type':'bandeau_hp','cta_name':cleanData(element.innerText)});});});const jsGammeVolvo=document.querySelectorAll('.js--tm--gamme-volvo');jsGammeVolvo.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'select_content','content_type':'la_gamme_volvo','car_name':cleanData(element.getAttribute('data-attribute-name'))});});});const jsAccessory=document.querySelectorAll('.js--tm--accessory > button');jsAccessory.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'select_content','content_type':'accessoires','accessoire':cleanData(element.getAttribute('data-attribute-name'))});});});const jsPrivileges=document.querySelectorAll('.js--tm--privileges .js--cta');jsPrivileges.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('click',()=>{dataLayer.push({'event':'clic_cta','cta_type':'privileges_v+','cta_name':cleanData(element.innerText)});});});const jsPoducts=document.querySelectorAll('.js--tm--products');jsPoducts.forEach((element)=>{if('initTagManagerProducts' in element.dataset)return;element.dataset.initTagManagerProducts=true;element.addEventListener('click',()=>{const vehicle=getVehicleIdFromElement(element);dataLayer.push({'event':'select_content','content_type':'vehicules_disponibles','car_name':cleanData(vehicle.title)});dataLayer.push({'event':'select_item','price':vehicle.price,'items':[{'item_id':vehicle.id,'item_name':cleanData(vehicle.title),'item_category':cleanData(vehicle.energy),'item_category2':cleanData(vehicle.gearbox),'item_category3':cleanData(vehicle.certificate),'item_kilometers':vehicle.mileage}]});});});const jsPoductDisplay=document.querySelectorAll('.js--tm--product');jsPoductDisplay.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;const vehicle=drupalSettings.vehicle_information;dataLayer.push({'event':'view_item','currency':'eur','value':vehicle.price,'items':[{'item_id':vehicle.id,'item_name':cleanData(vehicle.title),'item_category':cleanData(vehicle.energy),'item_category2':cleanData(vehicle.gearbox),'item_category3':cleanData(vehicle.certificate),'item_kilometers':vehicle.mileage,'price':vehicle.price}]});});const jsContactForms=document.querySelectorAll('.js--tm--contact--form');jsContactForms.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('submit',()=>{dataLayer.push({'event':'send_contact_form','contact_form_type':'jai_une_question','prospect_type':getProspectTypeInForm(),'concession':cleanData(getConcessionNameInForm())});});});const jsBookTestForms=document.querySelectorAll('.js--tm--book--test--form');jsBookTestForms.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('submit',()=>{dataLayer.push({'event':'send_contact_form','contact_form_type':'demande_essai','prospect_type':getProspectTypeInForm(),'car_name':cleanData(getRangeNameInForm()),'concession':cleanData(getConcessionNameInForm())});});});const jsBookOfferForms=document.querySelectorAll('.js--tm--book--offer--form');jsBookOfferForms.forEach((element)=>{if('initTagManager' in element.dataset)return;element.dataset.initTagManager=true;element.addEventListener('submit',()=>{dataLayer.push({'event':'send_contact_form','contact_form_type':'demande_offre','prospect_type':getProspectTypeInForm(),'car_name':cleanData(getRangeNameInForm()),'concession':cleanData(getConcessionNameInForm())});});});function getVehicleIdFromElement(element){const vehicleId=element.getAttribute('data-vehicle-id');const vehicleResult=drupalSettings.vehicles.filter((vehicle)=>vehicle.id===vehicleId);if(vehicleResult.length)return vehicleResult[0];return '';}function getConcessionNameInForm(){let concession='';let concessionId=document.querySelector('.js--tm--concession').value;let concessionResult=drupalSettings.page.concessions.filter((concession)=>concession.id===concessionId);if(concessionResult.length>0)concession=concessionResult[0].name;return concession;}function getProspectTypeInForm(){let prospectType=document.querySelector('.js--tm--client').value;if(prospectType==='B2C')return 'particulier';return 'professionnel';}function getRangeNameInForm(){const rangeId=document.querySelector('.js--tm--range:checked').value;const carResult=drupalSettings.ranges.filter((range)=>range.id===rangeId);if(carResult.length>0)return carResult[0].title;return '';}}};})(Drupal,drupalSettings);; ((Drupal,drupalSettings)=>{const tagMangerUrl='https://www.googletagmanager.com/ns.html?id='+drupalSettings.tagManagerId;let noscript=document.createElement('noscript');let iframe=document.createElement('iframe');iframe.setAttribute('src',tagMangerUrl);iframe.setAttribute('height','0');iframe.setAttribute('width','0');iframe.setAttribute('style','display:none;visibility:hidden');noscript.appendChild(iframe);document.body.prepend(noscript);})(Drupal,drupalSettings);; ((Drupal,drupalSettings)=>{(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer',drupalSettings.tagManagerId);})(Drupal,drupalSettings);;