Gemeinde zu Ehren der Heiligen Dreiheit zu Dortmund
Berliner Diözese der Russisch-Orthodoxen Kirche des Moskauer Patriarchats
Diözesane Nachrichten
Übersetzt aus dem Russischen mit DeepL©
Alle Angaben ohne Gewähr

29. März 2024 - "Alle, die im Glauben an Gott und in der Hoffnung auf das ewige Leben von uns gegangen sind, beten für uns"

"Alle, die im Glauben an Gott und in der Hoffnung auf das ewige Leben von uns gegangen sind, beten für uns."

Galerie

'; } function start() { if (!bindRoot()) return; const lang = language(); const attached = frame && frameHost.contains(frame); if (attached && phase === 'loading' && lang === activeLanguage) return; if (attached && phase === 'ready' && loadedDay === day() && lang === activeLanguage) return; clearAttempt(); activeLanguage = lang; retry.textContent = labels[lang].retry; sourceLink.textContent = labels[lang].source; sourceLink.href = sources[lang].page; root.setAttribute('aria-label', labels[lang].title); showState('loading'); const bytes = new Uint32Array(4); crypto.getRandomValues(bytes); token = Array.from(bytes).map(value => value.toString(16)).join('-'); frame = document.createElement('iframe'); frame.title = labels[lang].title; frame.setAttribute('sandbox', 'allow-scripts allow-popups allow-popups-to-escape-sandbox'); frame.setAttribute('referrerpolicy', 'no-referrer'); frame.hidden = true; const saved = cache[lang]; frame.srcdoc = createDocument(lang, token, saved && saved.day === day() ? saved.html : ''); frameHost.appendChild(frame); timer = setTimeout(fail, timeoutMs); } function resize(height) { if (frame && Number.isFinite(height) && height > 0 && height < 50000) { frame.style.height = Math.max(120, Math.ceil(height)) + 'px'; } } window.addEventListener('message', event => { const message = event.data; if (!frame || event.source !== frame.contentWindow || !message || message.channel !== 'nadegda-calendar-v1' || message.token !== token) return; if (message.state === 'ready' && phase === 'loading') { clearTimeout(timer); timer = null; loadedDay = day(); if (typeof message.html === 'string' && message.html.length < 1000000) { cache[activeLanguage] = { day: loadedDay, html: message.html }; } showState('ready'); frame.hidden = false; resize(message.height); } else if (message.state === 'resize' && phase === 'ready') { resize(message.height); } else if (message.state === 'error') { fail(); } }); function close() { clearAttempt(); phase = 'idle'; if (bindRoot()) { root.dataset.state = 'idle'; root.setAttribute('aria-busy', 'false'); } } function refresh() { if (refreshQueued) return; refreshQueued = true; requestAnimationFrame(() => { refreshQueued = false; const modal = document.getElementById('elementor-popup-modal-' + popupId); if (modal && modal.getClientRects().length && getComputedStyle(modal).display !== 'none') start(); }); }function hookPopup() { if (hooked || !window.jQuery) return; hooked = true; window.jQuery(document).on('elementor/popup/show.nadegdaCalendar', function (event, id) { if (Number(id) === popupId) start(); }).on('elementor/popup/hide.nadegdaCalendar', function (event, id) { if (Number(id) === popupId) close(); }); } // Capture the first click even when LiteSpeed has not loaded jQuery yet. document.addEventListener('click', event => { const trigger = event.target.closest && event.target.closest('a[href], [data-e-action-hash]'); if (!trigger) return; const value = trigger.getAttribute('data-e-action-hash') || trigger.getAttribute('href') || ''; try { const action = decodeURIComponent(value); if (!action.includes('action=popup:open')) return; const match = action.match(/(?:&|\?)settings=([^&]+)/); if (match && Number(JSON.parse(atob(match[1])).id) === popupId) refresh(); } catch (error) { /* Other site links are unrelated to the calendar. */ } hookPopup(); }, true); hookPopup(); document.addEventListener('DOMContentLoaded', hookPopup, { once: true }); document.addEventListener('DOMContentLiteSpeedLoaded', hookPopup); window.addEventListener('elementor/popup/show', event => { if (Number(event.detail && event.detail.id) === popupId) start(); }); window.addEventListener('elementor/popup/hide', event => { if (Number(event.detail && event.detail.id) === popupId) close(); }); // Elementor removes and recreates popup markup. Keep listeners and the // same-day calendar snapshot outside those disposable widget copies. window.nadegdaCalendarLoader = { refresh: refresh }; bindRoot(); refresh(); })();