(function () { 'use strict' const $html = document.getElementsByTagName("html")[0], $body = document.getElementsByTagName("body")[0]; let ua = window.navigator.userAgent, isMobile = false, ms_edge = false, isiPhone = false, isiPad = false, isIOS = false, isAndroid = false, $admin_bar = document.getElementById('wpadminbar'), isSafari = false, hasTouch = false; if (ua.indexOf("Edge") > -1) { ms_edge = true; $html.classList.add("ms_edge"); } function isTouchDevice() { return (('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); } const checkTouch = isTouchDevice(); if(checkTouch){ hasTouch = true; $html.classList.add('touch-enabled'); } const deviceAgent = navigator.userAgent.toLowerCase(); isMobile = deviceAgent.match(/(iphone|ipod|ipad|android|iemobile)/); if (deviceAgent.match(/(iphone|ipod)/)) { $html.classList.add('iphone'); isiPhone = true; } if (deviceAgent.match(/(ipad)/)) { $html.classList.add('ipad'); isiPad = true; } if (deviceAgent.match(/(iphone|ipod|ipad)/)) { $html.classList.add('ios'); isIOS = true; } if (deviceAgent.match(/(android)/)) { $html.classList.add('android'); isAndroid = true; } if (navigator.vendor && navigator.vendor.indexOf('Apple') > -1 && navigator.userAgent) { $html.classList.add('safari'); isSafari = true; } backToTop(); document.addEventListener('scroll',function(e) { backToTop(); }); var h_sticky = 200; function backToTop() { if (window.pageYOffset > h_sticky) { $html.classList.remove('attop'); } else { $html.classList.add('attop'); } } document.getElementById('back-top').onclick = function getTop(e) { e.preventDefault(); window.scrollTo(0,0); } const slugify = str => str .toLowerCase() .trim() .replace(/[^\w\s-]/g, '') .replace(/[\s_-]+/g, '-') .replace(/^-+|-+$/g, ''); var onpagelinks = document.querySelectorAll('a[href^="#"]:not(.custom-toc-link)'); for (var i = 0, len = onpagelinks.length; i < len; i++) { onpagelinks[i].addEventListener("click", function(e) { e.preventDefault(); var id = this.getAttribute("href"); id = id.replace("#", ""); if(id != ''){ var yOffset = -95; var element = document.getElementById(id); if (typeof(element) != 'undefined' && element != null){ var y = element.getBoundingClientRect().top + window.pageYOffset + yOffset; window.scrollTo({top: y, behavior: 'smooth'}); } } }); } var popmakelinks = document.querySelectorAll('a.popmake'); for (var i = 0, len = popmakelinks.length; i < len; i++) { popmakelinks[i].addEventListener("click", function(e) { e.preventDefault(); e.stopPropagation(); var id = this.getAttribute("data-modal"); var element = document.getElementById(id); if (typeof(element) != 'undefined' && element != null){ popMake(id); element.focus(); } }); } var subtoc = document.querySelectorAll('.sub-toc'); for (var i = 0, len = subtoc.length; i < len; i++) { let toclist = subtoc[i].querySelectorAll('.ez-toc-list'); getNextToc(subtoc[i], toclist[0], i); } function getNextToc(element, inilist, i) { if (typeof(element) != 'undefined' && element != null){ let nextelm = element.nextElementSibling; if(nextelm && nextelm.tagName && nextelm.tagName.toLowerCase() != 'h2'){ if(nextelm.tagName && nextelm.tagName.toLowerCase() == 'h3'){ let htext = nextelm.textContent; let hslug = slugify(htext); nextelm.classList.add('toc-made'); let org_html = nextelm.innerHTML; let new_html = "" + org_html + "" ; nextelm.innerHTML = new_html; let li = document.createElement("li"); li.classList.add('ez-toc-page-1'); let makelink = ""+ htext +"" li.innerHTML = makelink; inilist.append(li); if(inilist){ inilist.classList.add('generated'); } } getNextToc(nextelm, inilist, i); } else { return; } } } var toclinks = document.querySelectorAll('.custom-toc-link'); for (var i = 0, len = toclinks.length; i < len; i++) { toclinks[i].addEventListener("click", function(e) { e.preventDefault(); var id = this.getAttribute("href"); id = id.replace("#", ""); if(id != ''){ var element = document.getElementById(id); if (typeof(element) != 'undefined' && element != null){ element.scrollIntoView({behavior: "smooth"}); } } }); } var closecta = document.querySelectorAll('.cta-pop'); for (var i = 0, len = closecta.length; i < len; i++) { closecta[i].addEventListener("click", function(e) { //e.preventDefault(); var inmod = this.getElementsByClassName('cta-pop-in'), closex = this.getElementsByClassName('close-ctapop'), secclose = this.getElementsByClassName('close-sec'); if (typeof(inmod) != 'undefined' && inmod != null){ if (inmod[0].contains(e.target) && !closex[0].contains(e.target) && !secclose[0].contains(e.target)){ //alert('clicked inside + not close btn'); } else{ //alert('clicked out or close btn'); e.preventDefault(); $body.classList.remove("ctaover"); this.classList.add('d-none'); } } }); trapFocus(closecta[i]); } function trapFocus(element) { var focusableEls = element.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])'); var firstFocusableEl = focusableEls[0]; var lastFocusableEl = focusableEls[focusableEls.length - 1]; var KEYCODE_TAB = 9; element.addEventListener('keydown', function(e) { var isTabPressed = (e.key === 'Tab' || e.keyCode === KEYCODE_TAB); if (!isTabPressed) { return; } if ( e.shiftKey ) /* shift + tab */ { if (document.activeElement === firstFocusableEl) { lastFocusableEl.focus(); e.preventDefault(); } } else /* tab */ { if (document.activeElement === lastFocusableEl) { firstFocusableEl.focus(); e.preventDefault(); } } }); } var catnav = document.querySelectorAll('.trigg-nav'); for (var i = 0, len = catnav.length; i < len; i++) { catnav[i].addEventListener("click", function(e) { e.preventDefault(); var catwrap = this.parentElement, cattrig = catwrap.getElementsByClassName('trigg-nav-inn'); if (typeof(cattrig) != 'undefined' && cattrig != null){ cattrig[0].classList.toggle("active"); } }); } var footacc = document.querySelectorAll('.footer-row .widget > p'); for (var i = 0, len = footacc.length; i < len; i++) { footacc[i].addEventListener("click", function(e) { e.preventDefault(); var footacc_wrap = this.parentElement; if (typeof(footacc_wrap) != 'undefined' && footacc_wrap != null){ footacc_wrap.classList.toggle("active"); } }); } var conslink = document.querySelectorAll('.amsive-toggle-consent a'); for (var i = 0, len = conslink.length; i < len; i++) { conslink[i].addEventListener("click", function(e) { e.preventDefault(); var reallTrigg = document.getElementById("ot-sdk-btn"); if (typeof(reallTrigg) != 'undefined' && reallTrigg != null){ reallTrigg.click(); } }); } var fadedlink = document.querySelectorAll('.toggle-fadded'); for (var i = 0, len = fadedlink.length; i < len; i++) { fadedlink[i].addEventListener("click", function(e) { e.preventDefault(); var parentTrigg = this.closest('.fadded'); if (typeof(parentTrigg) != 'undefined' && parentTrigg != null){ parentTrigg.classList.toggle("fadded"); } }); } })(); /** * jquery function to make sibling elements of the specified parent equal height * @param options */ // usage : minHeightClasses('asexc', 'blog-list'); function minHeightClasses($elementClass, $parentClass) { var elems = null; var modHeightLoop = function () { if (typeof($parentClass) != 'undefined' && $parentClass != null){ var parents = document.getElementsByClassName($parentClass); if(parents.length){ for (var i = 0; i < parents.length; i++) { elems = parents[i].getElementsByClassName($elementClass); modHeightFix(elems); } } } else { elems = document.getElementsByClassName($elementClass); modHeightFix(elems); } } function modHeightFix(elems) { var minHeight = -1; if(elems && elems.length){ for (var i = 0; i < elems.length; i++) { elems[i].style.minHeight = null; minHeight = minHeight > elems[i].offsetHeight ? minHeight : elems[i].offsetHeight; } for (var i = 0; i < elems.length; i++) { elems[i].style.minHeight = minHeight + "px"; elems[i].classList.add("eq-heights-active"); } } } window.onload = modHeightLoop(); window.addEventListener("resize", modHeightLoop, false); window.addEventListener("orientationchange", modHeightLoop, false); }; function popMake($blockid){ var modal = document.getElementById($blockid); if (typeof(modal) != 'undefined' && modal != null){ $body.classList.add("ctaover"); modal.classList.remove('d-none'); } } function newsletterPrecheck(cform) { var f = cform.getElementsByClassName('gform-body'); var m = document.getElementById("news-err-w"); if (m) { m.remove(); } var error_arr = []; var inputs = cform.querySelectorAll('.gfield_contains_required *[aria-required="true"]'); if(inputs && inputs.length){ for (var i = 0; i < inputs.length; i++) { var inpVal = inputs[i].value; if(inpVal != "" && inpVal != 'undefined' && inpVal != null){ if (!inputs[i].checkValidity()) { error_arr.push(inputs[i].validationMessage); } } else { error_arr.push('Please fill required fields '); } } } //console.log(error_arr); if (typeof error_arr !== 'undefined' && error_arr.length > 0) { var unique = error_arr.filter((v, i, a) => a.indexOf(v) === i); let msg = error_arr.join("
"); generateErrorResponse(msg, f[0], false); } else { var formData = new FormData(cform); cform.classList.add("amsive_processing"); var fID = cform.id; if (fID) { fidout = fID; } else { fidout = ''; } var formProps = Object.fromEntries(formData); var data = JSON.stringify(formProps); fetch(ajax.url, { method: 'POST', body: 'action=purejs_gf&fid='+fidout+'&data='+data, headers: { 'Accept': 'application/x-www-form-urlencoded; charset=UTF-8', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } }).then((response) => { if (response.status >= 200 && response.status < 400) { //console.log("Post successfully created!"); } return response.json() }).then((data) => { //console.log(data); if(data.is_valid){ cform.closest(".loadform").innerHTML = data.confirmation_message; } else { //console.log('data'); cform.classList.remove("amsive_processing"); var errors = data.validation_messages; for (const [key, value] of Object.entries(errors)) { error_arr.push(value); } let msg = error_arr.join("
"); generateErrorResponse(msg, f[0], true); } }).catch((error) => { //console.log('error'); }) } } function generateErrorResponse(msg, target, replace){ var d = document.createElement("div"), w = document.createElement("h2"), p = document.createElement("span"), b = document.createElement("span"); d.classList.add("gform_validation_errors"), w.classList.add("gform_submission_error", "hide_summary", "text-start"), p.classList.add("gform-icon", "gform-icon--close"), d.id = "news-err-w", b.id = "news-err", d.appendChild(w), w.appendChild(p), w.appendChild(b); target.prepend(d); b.innerHTML = msg; } ; document.addEventListener("DOMContentLoaded", onReady, false); var Tooltip = { create: function(elm) { elm_edges = elm.getBoundingClientRect(); // relative to the viewport //tooltip_text = document.createTextNode(elm.getAttribute('data-tooltip')); //tooltip.appendChild(tooltip_text); tooltip = elm.querySelector('.tooltip-container'); // Remove no-display + set the correct classname based on the position // of the elm. //console.log(elm_edges); if (elm_edges.left > (window.innerWidth /2)) { tooltip.className ='tooltip-container tooltip-left'; } else if ((elm_edges.left + (elm_edges.width / 2)) < 100) { tooltip.className = 'tooltip-container tooltip-right'; } else { tooltip.className = 'tooltip-container tooltip-center'; } }, position: function(elm) { tooltip = elm.querySelector('.tooltip-container'); var elm_top = elm_edges.top + elm_edges.height + 10; // 10 = arrow height // position tooltip on the left side of the elm. // 220 = the max width + arrow width of the tooltip. if (elm_edges.left > (window.innerWidth /2)) { tooltip.style.right = (window.innerWidth - elm_edges.left + 20) + 'px'; } else if ((elm_edges.left + (elm_edges.width / 2)) > 100) { // position tooltip on the right side of the elm. tooltip.style.left = (elm_edges.left + elm_edges.width + 20) + 'px'; } else { // Position the toolbox in the center of the elm. var centered = (elm_edges.left + (elm_edges.width / 2)) - (tooltip.offsetWidth / 2); tooltip.style.left = centered + 'px'; } if (elm_edges.top > (window.innerHeight /2)) { tooltip.style.bottom = (window.innerHeight - elm_top )+ elm_edges.height + 'px'; } else { tooltip.style.top = elm_top + 'px'; } }, }; function showTooltip(evt) { if(evt.type == "keydown" && evt.keyCode != 13) { return; } var item = Object.create(Tooltip); item.create(evt.currentTarget); item.position(evt.currentTarget); } function hideTooltip() { var tooltip_active = document.querySelectorAll('.tooltip-container'); for (var i = 0, len = tooltip_active.length; i < len; i++) { tooltip_active[i].className = 'tooltip-container no-display'; tooltip_active[i].removeAttribute('style'); } } function onReady() { var tooltip_elms = document.querySelectorAll('.amsive-tooltip'); for (var i = 0, len = tooltip_elms.length; i < len; i++) { elm = tooltip_elms[i]; elm.addEventListener('click', showTooltip , false); elm.addEventListener('keydown', showTooltip , false); elm.addEventListener('blur', hideTooltip, false); document.addEventListener('scroll', hideTooltip, false); } } ;