PageSourceSearch

https://www.bloomreach.com/wp-content/themes/hello-theme-child-master/js/scripts.js?ver=1.21

js bloomreach.com collected 2026-10-09 22:39:18 UTC 33,046 bytes, 604 lines download raw bytes

1// Get Date in XY days
2function getTimestamp(days){
3    var timestamp = new Date();
4    timestamp.setDate(timestamp.getDate() + days);
5    return timestamp;
6}
7// Set a cookie
8function setCookie(name,value,days,crossdomain = true){
9    var expires = getTimestamp(days);
10    var isProd = window.location.host.includes('bloomreach.com');
11    if(isProd){
12      crossdomain = crossdomain ? '; domain=bloomreach.com' : '';
13    }else{
14      crossdomain = '';
15    }
16    document.cookie = name+'='+value+'; expires='+expires+'; path=/'+crossdomain;
17}
18// Get cookie value
19function getCookieValue(a) {
20    var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)');
21    return b ? b.pop() : '';
22}
23
24// Hubspot forms
25window.addEventListener('message', event => {
26	if(event.data.type === 'hsFormCallback' && event.data.eventName === 'onFormReady') {
27		var currentURL = window.location.href;
28		jQuery('.hs_form_submit_url input').val(currentURL).change();
29
30    // forms translate START
31    var allTranslations = {
32      "hs_firstname": {
33        "en": "First name",
34        "de": "Vorname",
35        "fr": "Prénom"
36      },
37      "hs_lastname": {
38        "en": "Last name",
39        "de": "Nachname",
40        "fr": "Nom"
41      },
42      "hs_email": {
43        "en": "Business email",
44        "de": "Geschäftliche E-Mail-Adresse",
45        "fr": "Adresse email professionnelle"
46      },
47      "hs_company": {
48        "en": "Company name",
49        "de": "Firma",
50        "fr": "Entreprise"
51      },
52      "hs_phone": {
53        "en": "Phone number",
54        "de": "Telefonnummer",
55        "fr": "Numéro de téléphone"
56      },
57      "hs_jobtitle": {
58        "en": "Job title",
59        "de": "Berufsbezeichnung",
60        "fr": "Intitulé de l'emploi"
61      },
62      "hs_submit": {
63        "en": "Submit",
64        "de": "Absenden",
65        "fr": "Soumettre"
66      },
67      "submit_get_early_access": {
68        "en": "Get Early Access",
69        "de": "Jetzt einschreiben",
70        "fr": "S’inscrire"
71      },
72      "hs-dependent-field": {
73        "en": "I’d like updates on Bloomreach news, events and services (see <a href=\"/en/legal/privacy\">Privacy policy</a>).",
74        "de": "Ich möchte mit Neuigkeiten, Events und Services von Bloomreach auf dem Laufenden gehalten werden (siehe <a href=\"/de/legal/privacy\">Datenschutzrichtlinie</a>).",
75        "fr": "Je souhaite recevoir des informations sur les actualités, les événements et les services de Bloomreach (voir la <a href=\"/fr/legal/privacy\">Politique de Confidentialité</a>)."
76      },
77      "hs_demo_checkbox": {
78        "en": "I want a live demo from a Bloomreach Expert",
79        "de": "Ich hätte gern eine Live-Demo mit einer Bloomreach-Expertin oder einem Experten.",
80        "fr": "Je veux une démonstration en direct de la part d'un Expert Bloomreach"
81      },
82      "hs_module_interest_option_title_1": {
83        "en": "Omnichannel Orchestration",
84        "de": "Engagement",
85        "fr": "Engagement"
86      },
87      "hs_module_interest_option_title_2": {
88        "en": "Ecommerce Product Discovery",
89        "de": "Discovery",
90        "fr": "Discovery"
91      },
92      "hs_module_interest_option_title_3": {
93        "en": "Headless CMS for Commerce",
94        "de": "Content",
95        "fr": "Content"
96      },
97      "hs_module_interest_option_subtitle_1": {
98        "en": "Email, SMS, Ads, Web Personalization",
99        "de": "CDP + Marketing Automation",
100        "fr": "CDP + Automatisation Marketing"
101      },
102      "hs_module_interest_option_subtitle_2": {
103        "en": "Search, Merchandising, Recommendations",
104        "de": "Search, Merch und Recs",
105        "fr": "Recherche, Merchandising et Recommandations"
106      },
107      "hs_module_interest_option_subtitle_3": {
108        "en": "Page Building and Site Management",
109        "de": "ein Headless CMS",
110        "fr": "Un CMS Headless"
111      },
112      "hs_i_am_from_option_title_1": {
113        "en": "B2C Retailer",
114        "de": "B2C-Retailer",
115        "fr": "Un Détaillant B2C"
116      },
117      "hs_i_am_from_option_title_2": {
118        "en": "B2B Distributor/Manufacturer",
119        "de": "B2B-Vertriebspartner/Hersteller",
120        "fr": "Un Distributeur/Fabricant B2B"
121      },
122      "hs_i_am_from_option_title_3": {
123        "en": "Agency",
124        "de": "Agentur",
125        "fr": "Une Agence"
126      },
127      "hs_i_am_from_option_title_4": {
128        "en": "Other",
129        "de": "Sonstiges",
130        "fr": "Autre"
131      },
132      "hs_website": {
133        "en": "Website",
134        "de": "Website",
135        "fr": "Site web"
136      },
137      "validation_msg_2": {
138        "en": "Must contain only numbers, +()-. and x.",
139        "de": "Dieses Feld sollte nur Zahlen, () -. und x enthalten",
140        "fr": "Must contain only numbers, +()-. and x."
141      },
142      "validation_msg_3": {
143        "en": "Email must be formatted correctly.",
144        "de": "Bitte prüfen Sie das Format Ihrer E-Mail-Adresse",
145        "fr": "Email must be formatted correctly."
146      },
147      "validation_msg_4": {
148        "en": "Please complete all required fields.",
149        "de": "Please complete all required fields.",
150        "fr": "Please complete all required fields."
151      },
152      "validation_msg_5": {
153        "en": "Please select an option from the dropdown menu.",
154        "de": "Please select an option from the dropdown menu.",
155        "fr": "Please select an option from the dropdown menu."
156      },
157      "hs_contact_us_form_option_1": {
158        "en": "I Want to Contact Sales",
159        "de": "Das Sales-Team kontaktieren",
160        "fr": "Contacter le service commercial"
161      },
162      "hs_contact_us_form_option_2": {
163        "en": "I Want to Contact HR",
164        "de": "Das HR-Team kontaktieren",
165        "fr": "Contacter les ressources humaines"
166      },
167      "hs_contact_us_form_option_3": {
168        "en": "I Have a General Inquiry",
169        "de": "Generelle Frage stellen",
170        "fr": "Question générale"
171      },
172      "hs_contact_us_form_option_4": {
173        "en": "I'm Interested in a Partnership",
174        "de": "Interesse an einer Partnerschaft",
175        "fr": "Contacter le service partenariat"
176      },
177      "submit_btn_req_demo": {
178        "en": "Schedule My Demo",
179        "de": "Demo vereinbaren",
180        "fr": "Planifier une démonstration"
181      },
182      "submit_btn_pricing": {
183        "en": "Request Pricing",
184        "de": "Preise anfragen",
185        "fr": "Demander un devis"
186      },
187      "submit_btn_getintouch": {
188        "en": "Get in Touch",
189        "de": "Jetzt kontaktieren",
190        "fr": "Envoyer"
191      },
192      "submit_btn_view_report": {
193        "en": "View the Report",
194        "de": "View the Report",
195        "fr": "Accéder à l’étude"
196      },
197      "submit_btn__whitepaper_detail": {
198        "en": "Download now",
199        "de": "Download now",
200        "fr": "Download now"
201      },
202      "submit_btn__integrations": {
203        "en": "Submit",
204        "de": "Absenden",
205        "fr": "Soumettre"
206      },
207      "submit_btn__contact_us": {
208        "en": "Submit",
209        "de": "Absenden",
210        "fr": "Soumettre"
211      },
212      "submit_btn__blog_newsletter": {
213        "en": "Yes, sign me up!",
214        "de": "Yes, sign me up!",
215        "fr": "Yes, sign me up!"
216      },
217      "submit_message_partners": {
218        "en": "<p>Thank you for your enquiry into Bloomreach!</p> <p>
218A member of our partner team will contact you shortly regarding your request.</p>",
219        "de": "<p>Vielen Dank für Ihre Anfrage!</p> <p>Eine Expertin oder ein Experte unseres Partner-Teams wird sich in Kürze bei Ihnen melden. </p>",
220        "fr": "<p>Merci pour votre demande de renseignements à propos de Bloomreach !</p> <p>Un membre de notre équipe partenariat vous contactera très prochainement pour répondre à votre demande.</p>"
221      },
222      "submit_message_partner_detail": {
223        "en": "<p>Thank you for your enquiry into Bloomreach!</p> <p>A member of our partner team will contact you shortly regarding your request.</p>",
224        "de": "<p>Vielen Dank für Ihre Anfrage!</p> <p>Eine Expertin oder ein Experte unseres Partner-Teams wird sich in Kürze bei Ihnen melden. </p>",
225        "fr": "<p>Merci pour votre demande de renseignements à propos de Bloomreach !</p> <p>Un membre de notre équipe partenariat vous contactera très prochainement pour répondre à votre demande.</p>"
226      },
227      "submit_message_integrations": {
228        "en": "<p>Thank you for your interest in Bloomreach. Please check your inbox.</p>",
229        "de": "<p>Vielen Dank für Ihr Interesse! Bitte checken Sie Ihre E-Mail.</p>",
230        "fr": "<p>Merci de l'intérêt que vous portez à Bloomreach. Veuillez consulter votre boîte de réception.</p>"
231      },
232      "submit_message_pricing": {
233        "en": "<p>Thank you for your enquiry into Bloomreach!</p> <p>A member of our sales team will contact you shortly regarding your request.</p>",
234        "de": "<p>Vielen Dank für Ihre Anfrage!</p> <p>Wir freuen uns, dass Sie mehr über unsere Preisemodule erfahren möchten. Eine Expertin oder ein Experte unseres Sales-Teams wird sich in Kürze bei Ihnen melden. </p>",
235        "fr": "<p>Merci pour votre demande de renseignements à propos de Bloomreach !</p> <p>Un membre de notre équipe commerciale vous contactera très prochainement pour répondre à votre demande.</p>"
236      },
237      "submit_message_pricing_pages": {
238        "en": "<p>Thank you for your enquiry into Bloomreach!</p> <p>A member of our sales team will contact you shortly regarding your request.</p>",
239        "de": "<p>Vielen Dank für Ihre Anfrage!</p> <p>Wir freuen uns, dass Sie mehr über unsere Preisemodule erfahren möchten. Eine Expertin oder ein Experte unseres Sales-Teams wird sich in Kürze bei Ihnen melden. </p>",
240        "fr": "<p>Merci pour votre demande de renseignements à propos de Bloomreach !</p> <p>Un membre de notre équipe commerciale vous contactera très prochainement pour répondre à votre demande.</p>"
241      },
242      "submit_message_contact_us": {
243        "en": "<p>Thank you.</p> <p>We'll be in touch with you soon!</p> <p>In the meantime, please check your inbox.</p>",
244        "de": "<p>Vielen Dank für Ihre Anfrage!</p> <p>Eine Expertin oder ein Experte wird sich in Kürze bei Ihnen melden.</p> <p>Werfen Sie einen Blick in Ihre E-Mails. Wundern Sie sich nicht, wenn die Beantwortung Ihrer Anfrage ein paar Minuten dauert – wir wollen sichergehen, dass sich die oder der richtige Ansprechpartner:in um Ihr Anliegen kümmert.</p>",
245        "fr": "<p>Merci.</p> <p>Nous vous contacterons très prochainement !</p> <p>En attendant, veuillez consulter votre boîte de réception.</p>"
246      },
247      "submit_message_platform_pages": {
248        "en": "<p>Thank you.</p> <p>We'll be in touch with you soon!</p> <p>In the meantime, please check your inbox.</p>",
249        "de": "<p>Vielen Dank für Ihre Anfrage!</p> <p>Eine Expertin oder ein Experte wird sich in Kürze bei Ihnen melden.</p> <p>Werfen Sie einen Blick in Ihre E-Mails. Wundern Sie sich nicht, wenn die Beantwortung Ihrer Anfrage ein paar Minuten dauert – wir wollen sichergehen, dass sich die oder der richtige Ansprechpartner:in um Ihr Anliegen kümmert.</p>",
250        "fr": "<p>Merci.</p> <p>Nous vous contacterons très prochainement !</p> <p>En attendant, veuillez consulter votre boîte de réception.</p>"
251      },
252      "submit_message_req_demo": {
253        "en": "<p>Thank you.</p> <p>We'll be in touch with you soon!</p> <p>In the meantime, please check your inbox.</p>",
254        "de": "<p>Vielen Dank für Ihre Anfrage!</p> <p>Eine Expertin oder ein Experte wird sich in Kürze bei Ihnen melden.</p> <p>Werfen Sie einen Blick in Ihre E-Mails. Wundern Sie sich nicht, wenn die Beantwortung Ihrer Anfrage ein paar Minuten dauert – wir wollen sichergehen, dass sich die oder der richtige Ansprechpartner:in um Ihr Anliegen kümmert.</p>",
255        "fr": "<p>Merci.</p> <p>
255Nous vous contacterons très prochainement !</p> <p>En attendant, veuillez consulter votre boîte de réception.</p>"
256      },
257      "hs_online_revenue": {
258        "en": "Company revenue",
259        "de": "Firmeneinkommen",
260        "fr": "Chiffre d'affaires de l'entreprise"
261      },
262      "hs_message": {
263        "en": "Message",
264        "de": "Nachricht",
265        "fr": "Message"
266      },
267      "hs_module_interest": {
268        "en": "Product of interest",
269        "de": "Mich interessiert",
270        "fr": "Produit qui vous intéresse"
271      },
272      "hs_integration_name": {
273        "en": "Integration name",
274        "de": "Name der Integration",
275        "fr": "Nom de l'intégration"
276      },
277      "hs_online_revenue_option_title_1": {
278        "en": "$0 - 10 million",
279        "de": "0 - 10€ Millionen",
280        "fr": "0 - 10 millions de $"
281      },
282      "hs_online_revenue_option_title_2": {
283        "en": "$11 - 24 million",
284        "de": "11 - 24€ Millionen",
285        "fr": "11 - 24 millions de $"
286      },
287      "hs_online_revenue_option_title_3": {
288        "en": "$25-499 million",
289        "de": "25 - 499€ Millionen",
290        "fr": "25 - 499 millions de $"
291      },
292      "hs_online_revenue_option_title_4": {
293        "en": "$500 million >",
294        "de": "500€ Millionen >",
295        "fr": "> 500 millions de $"
296      },
297      "hs_message_1": {
298        "en": "What are you trying to accomplish with this integration?",
299        "de": "Was möchten Sie mit der Integration erreichen?",
300        "fr": "Que souhaitez-vous accomplir avec cette intégration ?"
301      },
302      "hs_email_1": {
303        "en": "Company email",
304        "de": "Geschäftliche E-Mail-Adresse",
305        "fr": "Adresse email de l'entreprise"
306      },
307      "hs_i_am_from": {
308        "en": "I am from",
309        "de": "Ich komme von einem/einer",
310        "fr": "Je représente"
311      },
312      "hs_contact_us_form_option": {
313        "en": "Choose one:",
314        "de": "Bitte auswählen…",
315        "fr": "Choisissez entre :"
316      },
317      "validation_msg_1": {
318        "en": "Please complete this required field.",
319        "de": "Bitte füllen Sie das Pflichtfeld aus",
320        "fr": "Merci de renseigner ce champ obligatoire."
321      },
322      "hs_country_select": {
323        "en": "Country",
324        "de": "Pays",
325        "fr": "Pays"
326      },
327      "hs_state_region__select_": {
328        "en": "State/region",
329        "de": "State/region",
330        "fr": "Région"
331      },
332      "hs_email_legal_1": {
333        "en": "Email",
334        "de": "E-Mail",
335        "fr": "Adresse e-mail"
336      },
337      "submit_btn_legal_1": {
338        "en": "Submit",
339        "de": "Übermitteln/Senden",
340        "fr": "Envoyer"
341      },
342      "hs-richtext_legal_1": {
343        "en": "By submitting this form you consent to Bloomreach processing your data and contacting you to fulfill your request. For more information on how we are committed to protecting and respecting your privacy, please review our 
343<a href=\"/en/legal/privacy\">Privacy policy.</a>",
344        "de": "Mit dem Übersenden dieses Formulars erklären Sie sich damit einverstanden, dass Bloomreach Ihre Daten verarbeitet und Sie kontaktiert, um Ihre Anfrage zu beantworten. Weitere Informationen darüber, wie wir Ihre Privatsphäre schützen und respektieren, finden Sie in unserer <a href=\"/de/legal/privacy\">Datenschutzrichtlinie.</a>",
345        "fr": "En envoyant ce formulaire, vous acceptez que Bloomreach traite vos données et vous contacte pour répondre à votre demande. Pour plus d’informations sur notre engagement en faveur de la protection et du respect de la vie privée, merci de consulter notre <a href=\"/fr/legal/privacy\">Politique de Confidentialité.</a>"
346      },
347      "submit_message_legal_1": {
348        "en": "<p>Thank you for your interest.</p> <p>Please check your inbox for confirmation email!</p>",
349        "de": "<p>Thank you for your interest.</p> <p>Please check your inbox for confirmation email!</p>",
350        "fr": "<p>Thank you for your interest.</p> <p>Please check your inbox for confirmation email!</p>"
351      },
352      "hs_email_legal_2": {
353        "en": "Email",
354        "de": "E-Mail",
355        "fr": "Adresse e-mail"
356      },
357      "submit_btn_legal_2": {
358        "en": "Submit",
359        "de": "Übermitteln/Senden",
360        "fr": "Envoyer"
361      },
362      "submit_message_legal_2": {
363        "en": "<p>Thank you for your interest.</p> <p>Please check your inbox for confirmation email!</p>",
364        "de": "<p>Thank you for your interest.</p> <p>Please check your inbox for confirmation email!</p>",
365        "fr": "<p>Thank you for your interest.</p> <p>Please check your inbox for confirmation email!</p>"
366      },
367      "submit_btn_legal_3": {
368        "en": "Submit",
369        "de": "Absenden",
370        "fr": "Envoyer"
371      },
372      "hs_email_legal_3": {
373        "en": "Email",
374        "de": "E-Mail-Adresse",
375        "fr": "Adresse e-mail"
376      },
377      "submit_message_legal_3": {
378        "en": "<p>Thank you for your interest.</p> <p>Please check your inbox for confirmation email!</p>",
379        "de": "<p>Thank you for your interest.</p> <p>Please check your inbox for confirmation email!</p>",
380        "fr": "<p>Thank you for your interest.</p> <p>Please check your inbox for confirmation email!</p>"
381      },
382      "hs_how_did_you_hear_about_bloomreach_": {
383        "en": "How did you hear about Bloomreach?",
384        "de": "Wie haben Sie über Bloomreach erfahren?",
385        "fr": "Comment avez-vous entendu parler de Bloomreach ?"
386      },
387    }
388
389    var getLangFull = window.location.pathname.slice(0,4);
390    var getLang = getLangFull.slice(1,-1);
391
392    // fields
393    jQuery('.hs_firstname label span:not(.hs-form-required)').html(allTranslations['hs_firstname'][getLang]);
394    jQuery('.hs_lastname label span:not(.hs-form-required)').html(allTranslations['hs_lastname'][getLang]);
395    jQuery('.hs_email label span:not(.hs-form-required)').html(allTranslations['hs_email'][getLang]);
396    jQuery('.hs_company label span:not(.hs-form-required)').html(allTranslations['hs_company'][getLang]);
397    jQuery('.hs_phone label span:not(.hs-form-required)').html(allTranslations['hs_phone'][getLang]);
398    jQuery('.hs_jobtitle label span:not(.hs-form-required)').html(allTranslations['hs_jobtitle'][getLang]);
399    jQuery('.hs_country_select label span:not(.hs-form-required)').html(allTranslations['hs_country_select'][getLang]);
400    jQuery('.hs_online_revenue label span:not(.hs-form-required)').html(allTranslations['hs_online_revenue'][getLang]);
401    jQuery('.hs_online_revenue option:nth-child(2)').html(allTranslations['hs_online_revenue_option_title_1'][getLang]);
402    jQuery('.hs_online_revenue option:nth-child(3)').html(allTranslations['hs_online_revenue_option_title_2'][getLang]);
403    jQuery('.hs_online_revenue option:nth-child(4)').html(allTranslations['hs_online_revenue_option_title_3'][getLang]);
404    jQuery('.hs_online_revenue option:nth-child(5)').html(allTranslations['hs_online_revenue_option_title_4'][getLang]);
405    jQuery('.hs_i_am_from label span:not(.hs-form-required)').html(allTranslations['hs_i_am_from'][getLang]);
406    jQuery('.hs_i_am_from option:nth-child(2)').html(allTranslations['hs_i_am_from_option_title_1'][getLang]);
407    jQuery('.hs_i_am_from option:nth-child(3)').html(allTranslations['hs_i_am_from_option_title_2'][getLang]);
408    jQuery('.hs_i_am_from option:nth-child(4)').html(allTranslations['hs_i_am_from_option_title_3'][getLang]);
409    jQuery('.hs_i_am_from option:nth-child(5)').html(allTranslations['hs_i_am_from_option_title_4'][getLang]);
410    jQuery('.hs_integration_name label span:not(.hs-form-required)').html(allTranslations['hs_integration_name'][getLang]);
411    jQuery('.hs_module_interest label span:not(.hs-form-required)').html(allTranslations['hs_module_interest'][getLang]);
412    jQuery('#message-a562839d-2d71-4330-9180-b19081816626').closest('.hs_message').find('label span:not(.hs-form-required)').html(allTranslations['hs_message_1'][getLang]);
413    jQuery('.hs_how_did_you_hear_about_bloomreach_ label span:not(.hs-form-required)').html(allTranslations['hs_how_did_you_hear_about_bloomreach_'][getLang]);
414    jQuery('.hs-form .hs_message label:contains("Message")').html(allTranslations['hs_message'][getLang]);
415    jQuery('.hs_demo_checkbox label span:not(.hs-form-required)').html(allTranslations['hs_demo_checkbox'][getLang]);
416    jQuery('.hs_contact_us_form_option option:nth-child(2)').html(allTranslations['hs_contact_us_form_option_1'][getLang]);
417    jQuery('.hs_contact_us_form_option option:nth-child(3)').html(allTranslations['hs_contact_us_form_option_2'][getLang]);
418    jQuery('.hs_contact_us_form_option option:nth-child(4)').html(allTranslations['hs_contact_us_form_option_3'][getLang]);
419    jQuery('.hs_contact_us_form_option option:nth-child(5)').html(allTranslations['hs_contact_us_form_option_4'][getLang]);
420
421    // submit
422    jQuery('input[value="Schedule My Demo"]').attr('value', allTranslations['submit_btn_req_demo'][getLang]);
423    jQuery('input[value="Submit"]').attr('value', allTranslations['hs_submit'][getLang]);
424    jQuery('input[value="Request Pricing"]').attr('value', allTranslations['submit_btn_pricing'][getLang]);
425    jQuery('input[value="Get In Touch"]').attr('value', allTranslations['submit_btn_getintouch'][getLang]);
426    jQuery('input[value="Get Early Access"]').attr('value', allTranslations['submit_get_early_access'][getLang]);
427    jQuery('input[value="View the Report"]').attr('value', allTranslations['submit_btn_view_report'][getLang]);
428    
429    // legal
430    jQuery('div[class^="hs_LEGAL_CONSENT"] label p').html(allTranslations['hs-dependent-field'][getLang]);
431    jQuery('.hs-form p:contains("you consent to Bloomreach processing")').html(allTranslations['hs-richtext_legal_1'][getLang]);
432    // forms translate END
433
434	}
435});
436
437
438// GTM START
439window.dataLayer = window.dataLayer || [];
440
441function get_cookie_value(a) {
442    var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)');
443    return b ? b.pop() : '';
444}
445
446function sendCookiesGtag(eventname, functional, analytics, ad){
447
448    var fullEventName = 'none';
449
450    if(eventname == 'ready'){
451        fullEventName = 'brCookieConsent_ready';
452    }
453    if(eventname == 'update'){
454        fullEventName = 'brCookieConsent_update';
455    }
456
457    dataLayer.push({
458        'event': fullEventName,
459        'consent_functional': functional,
460        'consent_analytics': analytics,
461        'consent_ad': ad
462    });
463
464}
465
466document.addEventListener("DOMContentLoaded", function() {
467
468    var cookieyesConsent = get_cookie_value('cookieyes-consent');
469    var cookieFunctional = cookieAnalytics = cookieAd = false;
470
471    if(cookieyesConsent.includes('functional:yes')){
472        cookieFunctional = true;
473    }
474    if(cookieyesConsent.includes('analytics:yes')){
475        cookieAnalytics = true;
476        window.runTracking = true;
477    }
478    if(cookieyesConsent.includes('advertisement:yes')){
479        cookieAd = true;
480    }
481
482    sendCookiesGtag('ready', cookieFunctional, cookieAnalytics, cookieAd);
483
484});
485
486document.addEventListener("cookieyes_consent_update", function (eventData) {
487        var granted = eventData.detail.accepted;
488
489        var cookieFunctional = granted.includes('functional') ? true : false;
490        var cookieAnalytics = granted.includes('analytics') ? true : false;
491        var cookieAd = granted.includes('advertisement') ? true : false;
492
493        sendCookiesGtag('update', cookieFunctional, cookieAnalytics, cookieAd);
494        if(cookieAnalytics){
495            window.runTracking = true;
496        }
497});
498// GTM END
499
500// Engagement START
501function makeID(length) {
502    let uuid = "";
503    let possible = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
504    for (let i = 0; i < length; i++)
505        uuid += possible.charAt(Math.floor(Math.random() * possible.length));
506    return uuid;
507}
508
509function getLanguage() {
510    let getLang = window.location.pathname.substring(0, 3);
511    if (getLang === '/en') getLang = 'EN';
512    else if (getLang === '/fr') getLang = 'FR';
513    else if (getLang === '/de') getLang = 'DE';
514    else getLang = 'undefined';
515    return getLang;
516}
517
518function getParam(param) {
519    const url = new URL(window.location.href);
520    return url.searchParams.get(param);
521}
522
523function exponeaTrack() {
524    const path = window.location.pathname, pathLevels = {};
525    path.split('/').map((level, id) => {
526        if (id > 0 && id < 6) pathLevels[`path_level_${id}`] = level;
527    });
528
529    window.exponeaDefaultProps = {
530        uuid: makeID(16),
531        language: getLanguage(),
532        domain: window.location.host,
533        path_default: jQuery('head link[hreflang="en"]').attr('href')?.split('3000')[1] ||
534            jQuery('head link[hreflang="x-default"]').attr('href')?.split('3000')[1],
535        path,
536        path_level_1: pathLevels.path_level_1 || null,
537        path_level_2: pathLevels.path_level_2 || null,
538        path_level_3: pathLevels.path_level_3 || null,
539        path_level_4: pathLevels.path_level_4 || null,
540        path_level_5: pathLevels.path_level_5 || null,
541        parameters: window.location.search,
542        utm_source: getParam('utm_source'),
543        utm_campaign: getParam('utm_campaign'),
544        utm_medium: getParam('utm_medium'),
545        utm_term: getParam('utm_term'),
546        utm_content: getParam('utm_content'),
547        gclid: getParam('gclid'),
548        user_agent: window.navigator.userAgent,
549        referrer: document.referrer,
550        browser_language: window.navigator.userLanguage || window.navigator.language,
551        screen_width: window.screen.width,
552        screen_height: window.screen.height,
553        viewport_width: window.innerWidth,
554        viewport_height: window.innerHeight
555    }
556
557    if (window.location.href.indexOf("/en/thank-you-csat") > -1) {
558        // Thank you project from https://cassoviacode.atlassian.net/browse/BLOOM-306
559        token = "a2a36816-c025-11e5-93a8-141877340e97";
560
561        !function(e,n,t,i,o,r){function a(e){if("number"!=typeof e)return e;var n=new Date;return new Date(n.getTime()+1e3*e)}var c=4e3,s="xnpe_async_hide";function p(e){return e.reduce((function(e,n){return e[n]=function(){e._.push([n.toString(),arguments])},e}),{_:[]})}function m(e,n,t){var i=t.createElement(n);i.src=e;var o=t.getElementsByTagName(n)[0];return o.parentNode.insertBefore(i,o),i}function u(e){return"[object Date]"===Object.prototype.toString.call(e)}r.target=r.target||"https://api.exponea.com",r.file_path=r.file_path||r.target+"/js/exponea.min.js",o[n]=p(["anonymize","initialize","identify","getSegments","update","track","trackLink","trackEnhancedEcommerce","getHtml","showHtml","showBanner","showWebLayer","ping","getAbTest","loadDependency","getRecommendation","reloadWebLayers","_preInitialize"]),o[n].notifications=p(["isAvailable","isSubscribed","subscribe","unsubscribe"]),o[n]["snippetVersion"]="v2.5.0",function(e,n,t){e[n]["_"+t]={},e[n]["_"+t].nowFn=Date.now,e[n]["_"+t].snippetStartTime=e[n]["_"+t].nowFn()}(o,n,"performance"),function(e,n,t,i,o,r){e[o]={sdk:e[i],sdkObjectName:i,skipExperiments:!!t.new_experiments,sign:t.token+"/"+(r.exec(n.cookie)||["","new"])[1],path:t.target}}(o,e,r,n,i,RegExp("__exponea_etc__"+"=([\\w-]+)")),function(e,n,t){m(e.file_path,n,t)}(r,t,e),function(e,n,t,i,o,r,p){if(e.new_experiments){!0===e.new_experiments&&(e.new_experiments={});var l,f=e.new_experiments.hide_class||s,_=e.new_experiments.timeout||c,d=encodeURIComponent(r.location.href.split("#")[0]);e.cookies&&e.cookies.expires&&("number"==typeof e.cookies.expires||u(e.cookies.expires)?l=a(e.cookies.expires):e.cookies.expires.tracking&&("number"==typeof e.cookies.expires.tracking||u(e.cookies.expires.tracking))&&(l=a(e.cookies.expires.tracking))),l&&l<new Date&&(l=void 0);var x=e.target+"/webxp/"+n+"/"+r[t].sign+"/modifications.min.js?http-referer="+d+"&timeout="+_+"ms"+(l?"&cookie-expires="+Math.floor(l.getTime()/1e3):"");"sync"===e.new_experiments.mode&&r.localStorage.getItem("__exponea__sync_modifications__")?function(e,n,t,i,o){t[o][n]="<"+n+' src="'+e+'"></'+n+">",i.writeln(t[o][n]),i.writeln("<"+n+">!"+o+".init && document.writeln("+o+"."+n+'.replace("/'+n+'/", "/'+n+'-async/").replace("><", " async><"))</'+n+">")}(x,n,r,p,t):function(e,n,t,i,o,r,a,c){r.documentElement.classList.add(e);var s=m(t,i,r);function p(){o[c].init||m(t.replace("/"+i+"/","/"+i+"-async/"),i,r)}function u(){r.documentElement.classList.remove(e)}s.onload=p,s.onerror=p,o.setTimeout(u,n),o[a]._revealPage=u}(f,_,x,n,r,p,o,t)}}(r,t,i,0,n,o,e),function(e,n,t){var i;(null===(i=t.experimental)||void 0===i?void 0:i.non_personalized_weblayers)&&e[n]._preInitialize(t),e[n].start=function(i){i&&Object.keys(i).forEac
561h((function(e){return t[e]=i[e]})),e[n].initialize(t)}}(o,n,r)}(document,"exponea","script","webxpClient",window,{
562            target: "https://api.exponea.com",
563            token: token,
564            track: {
565                google_analytics: false,
566            },
567        });
568        exponea.start();
569    } else {
570        if (window.location.href.indexOf("localhost:8000") > -1) {
571            token = "d00cbfe6-f3c2-11ec-8a82-9ee4816ba2ac"; // STAGE
572        } else if (window.location.href.indexOf("env-bloomreach") > -1) {
573            token = "d00cbfe6-f3c2-11ec-8a82-9ee4816ba2ac"; // STAGE
574        } else if (window.location.href.indexOf("bloomreach.local") > -1) {
575            token = "d00cbfe6-f3c2-11ec-8a82-9ee4816ba2ac"; // STAGE
576        } else if (window.location.href.indexOf("bloomreach.com") > -1) {
577            token = "2e7a487e-17e9-11ed-a61d-522fe36296f3"; // LIVE
578        }
579
580        if (typeof exponea === 'undefined') {
581            !function(e,n,t,i,r,o){function s(e){if("number"!=typeof e)return e;var n=new Date;return new Date(n.getTime()+1e3*e)}var a=4e3,c="xnpe_async_hide";function p(e){return e.reduce((function(e,n){return e[n]=function(){e._.push([n.toString(),arguments])},e}),{_:[]})}function m(e,n,t){var i=t.createElement(n);i.src=e;var r=t.getElementsByTagName(n)[0];return r.parentNode.insertBefore(i,r),i}function u(e){return"[object Date]"===Object.prototype.toString.call(e)}o.target=o.target||"https://api.exponea.com",o.file_path=o.file_path||o.target+"/js/exponea.min.js",r[n]=p(["anonymize","initialize","identify","getSegments","update","track","trackLink","trackEnhancedEcommerce","getHtml","showHtml","showBanner","showWebLayer","ping","getAbTest","loadDependency","getRecommendation","reloadWebLayers","_preInitialize","_initializeConfig"]),r[n].notifications=p(["isAvailable","isSubscribed","subscribe","unsubscribe"]),r[n].segments=p(["subscribe"]),r[n]["snippetVersion"]="v2.7.0",function(e,n,t){e[n]["_"+t]={},e[n]["_"+t].nowFn=Date.now,e[n]["_"+t].snippetStartTime=e[n]["_"+t].nowFn()}(r,n,"performance"),function(e,n,t,i,r,o){e[r]={sdk:e[i],sdkObjectName:i,skipExperiments:!!t.new_experiments,sign:t.token+"/"+(o.exec(n.cookie)||["","new"])[1],path:t.target}}(r,e,o,n,i,RegExp("__exponea_etc__"+"=([\\w-]+)")),function(e,n,t){m(e.file_path,n,t)}(o,t,e),function(e,n,t,i,r,o,p){if(e.new_experiments){!0===e.new_experiments&&(e.new_experiments={});var l,f=e.new_experiments.hide_class||c,_=e.new_experiments.timeout||a,g=encodeURIComponent(o.location.href.split("#")[0]);e.cookies&&e.cookies.expires&&("number"==typeof e.cookies.expires||u(e.cookies.expires)?l=s(e.cookies.expires):e.cookies.expires.tracking&&("number"==typeof e.cookies.expires.tracking||u(e.cookies.expires.tracking))&&(l=s(e.cookies.expires.tracking))),l&&l<new Date&&(l=void 0);var d=e.target+"/webxp/"+n+"/"+o[t].sign+"/modifications.min.js?http-referer="+g+"&timeout="+_+"ms"+(l?"&cookie-expires="+Math.floor(l.getTime()/1e3):"");"sync"===e.new_experiments.mode&&o.localStorage.getItem("__exponea__sync_modifications__")?function(e,n,t,i,r){t[r][n]="<"+n+' src="'+e+'"></'+n+">",i.writeln(t[r][n]),i.writeln("<"+n+">!"+r+".init && document.writeln("+r+"."+n+'.replace("/'+n+'/", "/'+n+'-async/").replace("><", " async><"))</'+n+">")}(d,n,o,p,t):function(e,n,t,i,r,o,s,a){o.documentElement.classList.add(e);var c=m(t,i,o);function p(){r[a].init||m(t.replace("/"+i+"/","/"+i+"-async/"),i,o)}function u(){o.documentElement.classList.remove(e)}c.onload=p,c.onerror=p,r.setTimeout(u,n),r[s]._revealPage=u}(f,_,d,n,o,p,r,t)}}(o,t,i,0,n,r,e),function(e,n,t){var i;e[n]._initializeConfig(t),(null===(i=t.experimental)||void 0===i?void 0:i.non_personalized_weblayers)&&e[n]._preInitialize(t),e[n].start=function(i){i&&Object.keys(i).forEac
581h((function(e){return t[e]=i[e]})),e[n].initialize(t)}}(r,n,o)}(document,"exponea","script","webxpClient",window,{
582                target: "https://api.exponea.com",
583                token: token,
584                experimental: {
585                  non_personalized_weblayers: true
586                },
587                new_experiments: {
588                  mode: "sync",
589                  hide_class: "xnpe_async_hide",
590                  timeout: 5000
591                },
592                track: {
593                    visits: false,
594                    default_properties: {
595                        ...window.exponeaDefaultProps
596                    }
597                }
598            });
599            exponea.start();
600        }
601    }
602}
603exponeaTrack();
604// Engagement END

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.