document.addEventListener('DOMContentLoaded', function () {
// Wacht tot jQuery beschikbaar is (Elementor gebruikt het)
if (window.jQuery) {
jQuery(document).on('submit_success', function (event, response) {
// 'event.target' is het formulier element dat succesvol is verzonden
var form = jQuery(event.target);
try {
// BELANGRIJK: Controleer en pas de veld-ID's hieronder aan!
// Deze moeten exact overeenkomen met de ID's uit het 'name' attribuut
// (bijv. name="form_fields[JOUW_ID]") zoals gevonden in de developer tools.
// --- GEBRUIK DE ID'S GEVONDEN IN DEVELOPER TOOLS ---
var nameFieldValue = form.find('input[name="form_fields[naam]"]').val();
var phoneFieldValue = form.find('input[name="form_fields[telefoonnummer]"]').val();
var companyFieldValue = form.find('input[name="form_fields[bedrijfsnaam]"]').val();
// !! CONTROLEER DIT VOOR JE E-MAILVELD !!
// Ik neem hier 'email' als ID aan, maar verifieer dit voor jouw formulier.
var emailFieldValue = form.find('input[name="form_fields[email]"]').val();
// Optioneel: Als je adresgegevens hebt, voeg ze hier toe en gebruik de exacte ID's
// var streetFieldValue = form.find('input[name="form_fields[JOUW_STRAAT_ID]"]').val();
// var cityFieldValue = form.find('input[name="form_fields[JOUW_STAD_ID]"]').val();
// var postalCodeFieldValue = form.find('input[name="form_fields[JOUW_POSTCODE_ID]"]').val();
// var countryFieldValue = form.find('input[name="form_fields[JOUW_LAND_ID]"]').val();
var enhancedConversionData = {};
if (emailFieldValue) {
enhancedConversionData.email = emailFieldValue.trim().toLowerCase();
// Specifieke Gmail normalisatie (verwijder punten voor het @-teken)
if (enhancedConversionData.email.endsWith('@gmail.com')) {
enhancedConversionData.email = enhancedConversionData.email.substring(0, enhancedConversionData.email.lastIndexOf('@')).replace(/\./g, '') + '@gmail.com';
} else if (enhancedConversionData.email.endsWith('@googlemail.com')) {
enhancedConversionData.email = enhancedConversionData.email.substring(0, enhancedConversionData.email.lastIndexOf('@')).replace(/\./g, '') + '@googlemail.com';
}
}
if (phoneFieldValue) {
var normalizedPhone = phoneFieldValue.replace(/\D/g, ''); // Verwijder alles behalve cijfers
// E.164 normalisatie voor Nederlandse nummers (vereenvoudigd)
if (normalizedPhone.length === 10 && normalizedPhone.startsWith('0')) { // bijv. 0612345678
normalizedPhone = '31' + normalizedPhone.substring(1);
} else if (normalizedPhone.length === 9 && !normalizedPhone.startsWith('0')) { // bijv. 612345678 (zonder 0)
normalizedPhone = '31' + normalizedPhone;
}
// Andere landen of formaten vereisen mogelijk uitgebreidere logica
if (normalizedPhone.length > 0 && !normalizedPhone.startsWith('+')) {
enhancedConversionData.phone_number = '+' + normalizedPhone;
} else if (normalizedPhone.length > 0) {
enhancedConversionData.phone_number = normalizedPhone;
}
}
// Voor 'Naam': Als je aparte velden hebt voor voor- en achternaam, is dat beter.
// Als het ID "naam" verwijst naar één veld voor de volledige naam:
if (nameFieldValue) {
var nameParts = nameFieldValue.trim().split(' ');
if (nameParts.length > 1) {
enhancedConversionData.first_name = nameParts.slice(0, -1).join(' ').toLowerCase();
enhancedConversionData.last_name = nameParts.slice(-1).join(' ').toLowerCase();
} else {
enhancedConversionData.first_name = nameParts.join(' ').toLowerCase();
// enhancedConversionData.last_name = ""; // Optioneel, als je een achternaam vereist
}
}
if (companyFieldValue) {
enhancedConversionData.company_name = companyFieldValue.trim(); // Google stuurt dit niet standaard mee, maar kan voor eigen analyse
}
// if (streetFieldValue) {
// enhancedConversionData.street = streetFieldValue.trim().toLowerCase();
// }
// if (cityFieldValue) {
// enhancedConversionData.city = cityFieldValue.trim().toLowerCase();
// }
// if (postalCodeFieldValue) {
// enhancedConversionData.postal_code = postalCodeFieldValue.replace(/\s+/g, '').toLowerCase();
// }
// if (countryFieldValue) {
// enhancedConversionData.country = countryFieldValue.trim().toUpperCase();
// }
if (Object.keys(enhancedConversionData).length > 0) {
sessionStorage.setItem('pendingEnhancedConversionData', JSON.stringify(enhancedConversionData));
console.log('EC Data opgeslagen in sessionStorage:', enhancedConversionData);
} else {
console.log('Geen EC data gevonden om op te slaan.');
}
} catch (e) {
console.error('Fout bij het vastleggen van formulierdata voor EC:', e);
}
});
} else {
console.error('jQuery niet geladen voor Elementor formulier EC script.');
}
});