/**
* Sets a cookie based on given values in parameters
*
* since v1.1.0
*
* @param name
* @param value
* @param days
*/
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + ( value || "" ) + expires + "; path=/";
}
/**
* Retrieves cookie
*
* since v1.1.0
*
* @param name
* @returns {string|null}
*/
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
/**
* Creates hidden fields based on values
* stored in the tracking_cookie and appends
* these fields in the
* after 1 second as to not conflict with cookie creation
*/
setTimeout(function() {
// Helper function to create and append hidden input fields
function createHiddenField(id, name, value) {
if (value) {
var container = document.getElementById('hidden-fields');
if (container) { // Check if the container element exists
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("id", id);
hiddenField.setAttribute("name", name);
hiddenField.setAttribute("value", value);
container.appendChild(hiddenField);
}
}
}
var tracking_cookie = getCookie('tracking_cookie');
if (tracking_cookie) {
var decodedCookie = decodeURIComponent(tracking_cookie);
var campaignData = JSON.parse(decodedCookie);
var fields = [
{ id: "utm_campaign", name: "utm_campaign", value: campaignData.utm_campaign },
{ id: "utm_source", name: "utm_source", value: campaignData.utm_source },
{ id: "utm_medium", name: "utm_medium", value: campaignData.utm_medium },
{ id: "utm_content", name: "utm_content", value: campaignData.utm_content },
{ id: "utm_term", name: "utm_term", value: campaignData.utm_term },
{ id: "utm_keyword", name: "utm_keyword", value: campaignData.utm_keyword },
{ id: "gclid", name: "gclid", value: campaignData.gclid },
{ id: "fbclid", name: "fbclid", value: campaignData.fbclid },
{ id: "twclid", name: "twclid", value: campaignData.twclid },
];
// Iterate through the fields and create hidden inputs
fields.forEach(function(field) {
createHiddenField(field.id, field.name, field.value);
});
}
}, 1000);
document.addEventListener('DOMContentLoaded', function () {
const loader = document.querySelector('.custom-loader');
const submitButton = document.querySelector('.th-btn');
document.addEventListener('wpcf7beforesubmit', function () {
if (loader) loader.style.display = 'block';
if (submitButton) submitButton.disabled = true;
}, false);
document.addEventListener('wpcf7submit', function () {
if (loader) loader.style.display = 'none';
if (submitButton) submitButton.disabled = false;
}, false);
});