Gemeinde zu Ehren der Heiligen Dreiheit zu Dortmund
Berliner Diözese der Russisch-Orthodoxen Kirche des Moskauer Patriarchats
Festliches Konzert zum Tag des Sieges in der Dreifaltigkeitskirche in Dortmund
Festliches Konzert zum Tag des Sieges in der Dreifaltigkeitskirche in Dortmund
Übersetzt aus dem Russischen mit DeepL©
Alle Angaben ohne Gewähr

 

"Sehen Sie sich das Video an..."

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(); })();