window.addEventListener("DOMContentLoaded", (event) => {
let canonicalTag = document.querySelector('link[rel="canonical"]');
let canonicalURL = canonicalTag
? canonicalTag.getAttribute("href")
: window.location.href;
let metaTag = document.querySelector('meta[property="og:url"]');
if (!metaTag) {
metaTag = document.createElement("meta");
metaTag.setAttribute("property", "og:url");
document.head.appendChild(metaTag);
}
metaTag.setAttribute("content", canonicalURL);
});
$(document).ready(function () {
function getReadingTime(content) {
return Math.round(content.innerText.trim().split(" ").length / 183);
}
function getReadingTimeOnEachItem() {
$(".insights-cards-list .news-collection-item").each((i, el) => {
let href = $(el).find("a").attr("href");
$.ajax({
url: href,
success: function (data) {
$(data).each((i, element) => {
if ($(element).hasClass("body")) {
let readingTime = getReadingTime($(element)[0]);
$(el).find(".read-time").text(`${readingTime} min read`);
$(el).find(".read-time").removeClass("opacity-0");
}
});
},
});
});
}
if ($(".news-listing-page").length) {
window.fsAttributes = window.fsAttributes || [];
window.fsAttributes.push([
"cmsload",
(listInstances) => {
const [listInstance] = listInstances;
listInstance.on("renderitems", (renderedItems) => {
$("html, body").animate(
{ scrollTop: $(".news-listing-wrapper")[0].offsetTop },
"slow"
);
getReadingTimeOnEachItem();
});
},
]);
getReadingTimeOnEachItem();
}
if ($(".date-container .read-time").length) {
let readingTime = getReadingTime($(".body")[0]);
$(".date-container .read-time").text(`${readingTime} min read`);
}
$("head").append(
$(
""
)
);
var sheet = $("");
$("head").append(sheet);
$.get(
"https://cdn.prod.website-files.com/65363d385688281ce5b016ec/68f60477ff4feb8a86b565fc_globalCss.txt",
function (data) {
sheet.text(data);
setTimeout(() => {
$("body").addClass("init");
}, 300);
if ($(".home").length) {
setTimeout(() => {
$("body").addClass("start-anim");
}, 800);
}
}
);
let windowWitdh = $(window).width();
const hash = window.location.hash;
if (hash && hash.includes("#") && $(hash).length) {
$("body, html").animate(
{
scrollTop: $(hash).offset().top,
},
1000
);
} else {
$("body, html").animate({ scrollTop: 0 });
}
if ($(".text-block-18 + a").length) {
var anchor = $(".text-block-18 + a").clone();
$(".text-block-18").append(anchor);
$(".text-block-18 + a").remove();
}
$("[data-append-id]").each(function (i, el) {
$(el).attr("href", $(el).attr("href") + $(el).attr("data-append-id"));
});
$("[data-link-tab]").each(function (i, el) {
$(el).attr(
"href",
`${$(el).attr("href")}?tab=${$(el).attr("data-link-tab")}`
);
});
$(".latest-submenu-dropdown, .resources").each((i, el) => {
let href = $(el).find(".header-left-items>div:first-child a").attr("href");
$(el).find(".header-submenu-header").attr("href", href);
});
if ($(".news-page .gallery-item").length > 0) {
var rightOffset =
$(window).width() > 1305
? $(window).width() -
($(".header-container").offset().left +
$(".header-container").outerWidth()) +
19
: 20;
$(
".detail-page-gallery .swiper-container .gallery-item:last-child img"
).css("margin-right", rightOffset);
}
let currYear = new Date().getFullYear();
$(".year-copyright").text(`© ${currYear}`);
$(".block-download-white-papper, .resource-body .submit-button").on(
"click",
function (e) {
e.preventDefault();
$(".modal-form").addClass("on");
$("body").addClass("no-scroll");
if ($(".whitepaper-filename").length) {
$(".whitepaper-filename").val(`${window.location.pathname}`);
}
}
);
$(".image-icon-close").on("click", function () {
$(".modal-form").removeClass("on");
$("body").removeClass("no-scroll");
$("body").removeClass("blur");
});
const search = window.location.search;
if (search && search.split("?tab=").length > 0) {
let currTab = search.split("?tab=")[1];
$(".tab").each(function (i, el) {
if ($(el).data("w-tab")) {
if (currTab == $(el).data("w-tab").toLowerCase()) {
$(el).trigger("click");
}
}
if ($(el).data("slug")) {
if (currTab == $(el).data("slug").toLowerCase()) {
$(el).parent().find("input").prop("checked", true);
}
}
});
}
$("select").find("option:first").addClass("placeholder");
if ($(".margin-left .navigation-tag").length) {
let observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
let offsetLeft;
let padding = (screen.width - 1305) / 2;
if (
$(mutation.target).hasClass("w--current") &&
$(".content-navigation").find($(mutation.target)).index() > 0
) {
offsetLeft =
$(mutation.target).offset().left > 0
? mutation.target.offsetLeft - padding
: 0;
$(".content-navigation")[0].scrollLeft = offsetLeft;
}
});
});
$(".margin-left .navigation-tag").each(function (i, el) {
el.dataset.index = i;
observer.observe(el, {
attributes: true,
attributeFilter: ["class"],
});
});
}
function slugify(str) {
return String(str)
.normalize("NFKD")
.replace(/[\u0300-\u036f]/g, "")
.trim()
.toLowerCase()
.replace(/[^a-z0-9 -]/g, "")
.replace(/\s+/g, "+")
.replace(/-+/g, "-");
}
$(".header-search-btn").on("click", function () {
let query = $(".search-input").val();
window.open(`/search?query=${slugify(query)}`, "_self");
});
$(".search-input").on("keydown", function (e) {
if (e.key === "Enter" || e.keyCode === 13) {
let query = $(".search-input").val();
window.open(`/search?query=${slugify(query)}`, "_self");
}
});
$(".header-custom-filter .header-left-items [role='listitem']").on(
"click",
function (e) {
let target = $(e.target);
let category =
windowWitdh < 1199 ? target.find(".hidden").text() : target.text();
let parent = target.closest(".dropdown-list");
let maxCount = parent.hasClass("offers-dropdown") ? 30 : 3;
let currCount = 0;
e.preventDefault();
parent.find(".submenu").removeClass("active");
target.addClass("active");
parent.find(".right-container").addClass("opacity-0");
setTimeout(() => {
parent
.find(".right-container-item, .latest-list .w-dyn-item")
.removeClass("hidden");
parent.find(".w-dyn-list").removeClass("height-0");
parent.find(".right-container a[data-category]").each(function (i, el) {
if (category !== $(el).data("category") || currCount >= maxCount) {
$(el).parent().addClass("hidden");
} else {
currCount = currCount + 1;
}
});
parent.find(".right-container").removeClass("opacity-0");
}, 200);
}
);
$(
".header-custom-filter .header-left-items [role='listitem']:first-child .submenu"
).trigger("click");
setTimeout(() => {
$(
".header-custom-filter .header-left-items [role='listitem']:first-child .submenu"
).addClass("active");
});
$(".accordion-toggle").on("click", function (e) {
let parent = $(e.target).closest(".accordion");
let height = parent[0].scrollHeight;
let maxHeight = parent.hasClass("map") ? "24px" : "88px";
if (parent.hasClass("active")) {
parent.removeClass("active");
parent.css("max-height", maxHeight);
} else {
$(".accordion").css("max-height", maxHeight);
$(".accordion").removeClass("active");
parent.addClass("active");
parent.css("max-height", height);
}
});
$(".menu-button.w-nav-button").on("click", function () {
if ($(".navbar-content").hasClass("menu-opened")) {
$(".search-container.on").removeClass("on");
$(".navbar-content").removeClass("menu-opened");
$("body").removeClass("no-scroll");
} else {
$("body").addClass("no-scroll");
$(".navbar-content").addClass("menu-opened");
$(".dropdown-list").attr("aria-expanded", false);
$(".dropdown-list").removeClass("open");
$(".submenus-right-container").removeClass("open");
setTimeout(() => {
$(".w-nav-overlay").css("max-height", "calc(100vh - 81px)");
}, 200);
}
});
$(".close-btn").on("click", function (e) {
$(".search-container.on").removeClass("on");
$(".navbar-content").removeClass("menu-opened");
$("body").removeClass("no-scroll").removeClass("blur");
});
$(".move-back").on("click", function (e) {
let parent = $(e.target).parents(".dropdown-list");
if ($(e.target).hasClass("to-level-2")) {
parent.find(".right-container").removeClass("open");
} else {
parent.removeClass("open");
parent.attr("aria-expanded", false);
$(".dropdown")[0].removeAttribute("style");
setTimeout(() => {
parent.css("max-height", 0);
}, 300);
}
});
$(".submenu-arrow:not(.direct-link)").on("click", function (e) {
let target = $(e.target);
let parent = target.parents(".header-dropdown");
let isSecondLevel = target.closest(".second-level").length;
let list = isSecondLevel
? target.closest(".dropdown-list")
: parent.siblings(".dropdown-list");
let listHeight = 0;
if (isSecondLevel) {
let rightContainer = list.find(".right-container");
listHeight = rightContainer[0].scrollHeight;
} else {
listHeight = list[0].scrollHeight;
}
parent.attr("aria-expanded", true);
list.addClass("open");
if (target.parents(".header-left-items").length > 0) {
let container = $(e.target).closest(".header-dropdown-container");
container.find(".right-container").addClass("open");
}
$(".w-nav-overlay").animate({ scrollTop: 0 });
list.css(
"max-height",
listHeight < window.innerHeight - 80
? window.innerHeight - 80
: listHeight
);
});
$(".submenu-arrow.direct-link").on("click", function (e) {
e.preventDefault();
let href = $(e.target).attr("href");
location.href = `${href}`;
});
$("[data-internal-link]").each(function (i, el) {
$(el).attr("href", $(el).attr("data-internal-link"));
});
$("[form-value]").each(function (i, el) {
$(el).val($(el).attr("form-value"));
});
/** Header submenu navigation **/
let lastTitle = "";
// Set the default option of each submenu
$(".header-container .dropdown").each(function (i, el) {
$(el).find(".header-submenu-item:first-child .w-radio").click();
let title = "";
if ($(el).hasClass("latest-submenu-dropdown")) {
title =
"Latest " +
$(el).find(".header-submenu-item:first-child").data("title");
} else {
title = $(el).find(".header-submenu-item:first-child").data("title");
}
$(el).find(".header-submenu-title").text(title);
$(el)
.find(".header-submenu-description")
.text($(el).find(".header-submenu-item:first-child").data("description"));
$(el)
.find(".header-submenu-header")
.attr("href", $(el).data("internal-link"));
});
let firstOfferHref = $(
".offers.header-custom-filter .left-container .header-submenu-item:first-child"
).attr("href");
$(".offers.header-custom-filter .header-submenu-header").attr(
"href",
firstOfferHref
);
// Apply filter on click, and replace submenu header text
$(document).on("click", ".dropdown .header-submenu-item", function () {
if (lastTitle != $(this).data("title")) {
let parent = $(this).closest(".dropdown");
parent.find(".header-submenu-info").addClass("off");
setTimeout(() => {
let title = "";
if (parent.hasClass("latest-submenu-dropdown")) {
title = "Latest " + $(this).data("title");
} else {
title = $(this).data("title");
}
parent.find(".header-submenu-title").text(title);
parent
.find(".header-submenu-description")
.text($(this).data("description"));
parent.find(".header-submenu-info").removeClass("off");
parent
.find(".header-submenu-header")
.attr("href", $(this).data("internal-link"));
if (parent.hasClass("insights-dropdown")) {
let el = $(this).find(".submenu.active");
parent.find(".header-submenu-header").attr("href", el.attr("href"));
}
}, 200);
}
lastTitle = $(this).data("title");
});
// Filter link
$(".tag-filter-link").each(function (i, el) {
$(el).attr("href", $(el).attr("href") + "?tag=" + $(el).data("tag"));
});
/*******************************/
if ($(".cards-listing").length > 0) {
const search = window.location.search;
const slug = search.split("?tag=");
if (slug.length > 1) {
let selectedTag = slug[1];
$(".tags-list .w-dyn-item").each(function (i, el) {
let tag = $(el).find(".tag").data("slug");
if (tag.toLowerCase() == selectedTag) {
$(el).find(".w-radio, .w-checkbox-input").click();
setTimeout(() => {
$(".cards-listing").removeClass("off");
}, 300);
}
});
} else {
$(".cards-listing").removeClass("off");
}
}
/***** Search btn *********/
let searchOpened = false;
$(".search-btn").on("click", function () {
$(".search-container").addClass("on");
$("body").addClass("no-scroll").addClass("blur");
$(".search-input").focus();
searchOpened = true;
});
$(
".navbar-content .contact-us-btn.longer-anim, .category-page .contact-us-btn, .cta-button, .detail-page .contact-us-btn, .offer-page .slider-gray-offers a, .partnership-page .contact-us-btn, .products-page .contact-us-btn, .offer-page .contact-us-btn.big-size-btn"
).on("click", function () {
$(".contact-us-container").addClass("on");
$("body").addClass("blur noscroll");
});
$(".contact-us-container .close, .success-message-btn").on(
"click",
function () {
$(".contact-us-container").removeClass("on");
$("body").removeClass("blur noscroll");
}
);
// $('input[name="Looking-For"]').on("change", function () {
// var sel = document.querySelectorAll('input[name="Looking-For"]:checked');
// let array = [];
// const itemsArray = Array.from(sel);
// itemsArray.map(function (el, i) {
// if (el.dataset.value) {
// array.push(el.dataset.value);
// }
// });
// // $(".input-to-send").val(array.join(", "));
// $(this)
// .closest("#wf-form-Lets-talk-Form")
// .find(".input-to-send")
// .val(array.join(", "));
// });
$('input[name="Looking-For"]').on("change", function () {
const checked = document.querySelectorAll(
'input[name="Looking-For"]:checked'
);
let values = [];
checked.forEach(function (el) {
if (el.value) {
values.push(el.value);
}
});
$(this).closest("form").find(".input-to-send").val(values.join(", "));
});
if ($(".rich-text-wrapper").length > 0) {
$(".rich-text-wrapper").each(function (i, el) {
getStructureFromMarkup(i);
});
}
function getCleanText(text) {
let cleanText = text
.replaceAll(/ *\|[^)]*\| */g, "")
.replaceAll(/^
/g, "")
.replaceAll(/
$/g, "")
.replaceAll(/\ /g, "")
.trim();
return cleanText;
}
function getSingleElement(element) {
let content = element[1].trim();
let moduleHeader = element[0].slice(0, -1).trim();
let mainWrapper = $("
${name}
${position}, ${company}
${content}
/g, "").replaceAll(/<\/p>$/g, ""); // Elements container // let elements = rawContent.split("|---Module:"); elements = elements .map((el) => { return el.trim(); }) .filter((el) => el); const richTextElements = []; elements = elements.map((el) => { let htmlElement = el; if (el.includes("--|")) { let module = el.split("--|"); htmlElement = getSingleElement(module); } else { let wrapper = $('
'); wrapper.append(el); htmlElement = wrapper; } richTextElements.push(htmlElement); }); // Render final html elements on screen let elementsWrapper = $(''); richTextElements.forEach((el) => elementsWrapper.append(el)); source.empty(); if (richTextElements.length > 0) { source.append(elementsWrapper); } $(".rich-text-wrapper *:empty:not(img):not(iframe)").remove(); } }); // Form Validation code $('[wr-type="error"]').hide(), $(".error").removeClass("error"); var formErrors = !1; const fieldError = function (r) { r.parent().find('[wr-type="error"]').show(), r.addClass("error"), (formErrors = !0); }; $('[wr-type="submit"]').click(function () { formErrors = !1; $('[wr-type="error"]').hide(); $(".error").removeClass("error"); $('[wr-type="required-field"]').each(function () { const $field = $(this); const tag = $field.prop("tagName").toLowerCase(); const type = $field.attr("type"); let hasError = false; if (type === "checkbox" && !$field.is(":checked")) { fieldError($field); hasError = true; } if (!hasError && tag === "select") { if (!$field.val() || $field.prop("selectedIndex") === 0) { fieldError($field); hasError = true; } } if (!hasError && $field.val().length === 0) { fieldError($field); hasError = true; } if ( !hasError && type === "email" && (-1 === $field.val().indexOf("@") || -1 === $field.val().indexOf(".")) ) { fieldError($field); } }); formErrors || $(this).parents("form").submit(); }), $('[wr-type="required-field"], [type="checkbox"]').on( "keypress blur change", function () { const $field = $(this); $field.removeClass("error"); $field.parent().find('[wr-type="error"]').hide(); formErrors = !1; } ), $("input, textarea, select").keypress(function (r) { 13 == r.keyCode && (r.preventDefault(), $(this).trigger("change"), $('[wr-type="submit"]').click()); });