(function () { 'use strict'; if (window.__saasInit) return; window.__saasInit = true; function initSaasPage() { var root = document.querySelector('.cf-saas'); if (!root) return; /* \u2500\u2500 Modal \u2500\u2500 */ var modal = document.getElementById('saas-modal'); var triggers = document.querySelectorAll('.saas-modal-trigger'); var closeBtn = document.querySelector('.saas-modal-close'); var backdrop = document.querySelector('.saas-modal-backdrop'); var hubspotLoaded = false; function loadHubSpotForm() { if (hubspotLoaded) return; hubspotLoaded = true; var container = document.getElementById('saas-hubspot-form'); if (!container) return; function createForm() { if (window.hbspt && window.hbspt.forms) { window.hbspt.forms.create({ portalId: '45830035', formId: '66b37dc9-c616-4e6f-bbdf-7fefca8c3249', region: 'na2', sfdcCampaignId: '701Rd00000eO6YKIA0', target: '#saas-hubspot-form' }); } } if (window.hbspt && window.hbspt.forms) { createForm(); } else { var script = document.createElement('script'); script.src = 'https://js-na2.hsforms.net/forms/embed/v2.js'; script.charset = 'utf-8'; script.type = 'text/javascript'; script.onload = createForm; document.head.appendChild(script); } } function openModal() { if (!modal) return; modal.classList.add('saas-modal-open'); document.body.style.overflow = 'hidden'; loadHubSpotForm(); } function closeModal() { if (!modal) return; modal.classList.remove('saas-modal-open'); document.body.style.overflow = ''; } for (var i = 0; i < triggers.length; i++) { triggers[i].addEventListener('click', function (e) { e.preventDefault(); openModal(); }); } if (closeBtn) closeBtn.addEventListener('click', closeModal); if (backdrop) backdrop.addEventListener('click', closeModal); document.addEventListener('keydown', function (e) { if (e.key === 'Escape') closeModal(); }); /* \u2500\u2500 Scroll Reveal \u2500\u2500 */ var reveals = document.querySelectorAll('.saas-reveal'); if ('IntersectionObserver' in window) { var observer = new IntersectionObserver(function (entries) { for (var j = 0; j < entries.length; j++) { if (entries[j].isIntersecting) { entries[j].target.classList.add('saas-visible'); observer.unobserve(entries[j].target); } } }, { threshold: 0.12, rootMargin: '0px 0px -60px 0px' }); for (var k = 0; k < reveals.length; k++) observer.observe(reveals[k]); } else { for (var m = 0; m < reveals.length; m++) reveals[m].classList.add('saas-visible'); } /* \u2500\u2500 Hero visual slide-in \u2500\u2500 */ var heroVisual = document.querySelector('.saas-hero-visual'); if (heroVisual) { setTimeout(function () { heroVisual.classList.add('saas-hero-visual-in'); }, 200); } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSaasPage); } else { initSaasPage(); } })();