document.addEventListener('setup', function(e) { if (!e.detail.module || e.detail.module !== 'alerts') { return; } // setup alerts if (e.detail.scope.classList.contains('alerts')) { window.utils.alerts(e.detail.scope); } else { var alertsEl = e.detail.scope.querySelector('.alerts'); if (alertsEl) window.utils.alerts(alertsEl); } }); document.addEventListener('DOMContentLoaded', function() { document.dispatchEvent(new CustomEvent('setup', { detail: { scope: document.body, module: 'alerts' }, bubbles: true, cancelable: true })) });