Gemeinde zu Ehren der Heiligen Dreiheit zu Dortmund
Berliner Diözese der Russisch-Orthodoxen Kirche des Moskauer Patriarchats
Herzlichen Glückwunsch zur Geburt Ihres Sohnes Maxim
Herzlichen Glückwunsch zur Geburt Ihres Sohnes Maxim
Übersetzt aus dem Russischen mit DeepL©
Alle Angaben ohne Gewähr
Herzlichen Glückwunsch an unsere Gemeindemitglieder Nils und Anna Evert
zur Geburt Ihres Sohnes Maxim!
  Wir wünschen den Eltern und dem Säugling Glück und Gesundheit,
Gottes Hilfe und allen Segen für ein langes und gutes Leben!
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(); })();