/* CyberFortress Asigra BaaS Page - Main JS */ (function () { 'use strict'; function initAsigraPage() { var root = document.querySelector('.cf-asi'); if (!root) return; // ===== Modal open/close ===== var modal = document.getElementById('asi-modal'); var triggers = document.querySelectorAll('.asi-modal-trigger'); var closeBtn = document.querySelector('.asi-modal-close'); var backdrop = document.querySelector('.asi-modal-backdrop'); var hubspotLoaded = false; function loadHubSpotForm() { if (hubspotLoaded) return; hubspotLoaded = true; var container = document.getElementById('asi-hubspot-form'); if (!container) return; function createForm() { if (window.hbspt && window.hbspt.forms) { window.hbspt.forms.create({ portalId: '45830035', formId: 'ada66371-c3e2-4740-838f-f3bf3e17c2ca', region: 'na2', sfdcCampaignId: '701Rd00000eO6YKIA0', target: '#asi-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('asi-modal-open'); document.body.style.overflow = 'hidden'; loadHubSpotForm(); } function closeModal() { if (!modal) return; modal.classList.remove('asi-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(); }); // ===== Scroll reveal ===== var reveals = document.querySelectorAll('.asi-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('asi-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('asi-visible'); } } // ===== Hero visual slide-in ===== var heroVisual = document.querySelector('.asi-hero-visual'); if (heroVisual) { setTimeout(function () { heroVisual.classList.add('asi-hero-visual-in'); }, 200); } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initAsigraPage); } else { initAsigraPage(); } })();