).
Läuft nur, wenn passende Elemente auf der Seite vorhanden sind. */
(function () {
function ready(fn) {
if (document.readyState !== 'loading') { fn(); }
else { document.addEventListener('DOMContentLoaded', fn); }
}
function startOf(s) { var p = s.split('-'); return new Date(+p[0], +p[1] - 1, +p[2], 0, 0, 0); }
function endOf(s) { var p = s.split('-'); return new Date(+p[0], +p[1] - 1, +p[2], 23, 59, 59); }
ready(function () {
var now = new Date();
// 1) Videos außerhalb ihres Zeitraums ausblenden
var videos = document.querySelectorAll('.msgt-current-talk[data-from]');
var live = 0;
videos.forEach(function (el) {
var on = now >= startOf(el.dataset.from) && now <= endOf(el.dataset.until);
el.style.display = on ? '' : 'none';
if (on) { live++; }
});
// 2) Hinweis anzeigen, wenn gerade nichts online ist
var none = document.getElementById('msgt-none');
if (none && videos.length) { none.hidden = live > 0; }
// 3) "Nächste Sendung" aus der Übersicht berechnen, vergangene Zeilen markieren
var next = null;
document.querySelectorAll('.msgt-episode[data-from]').forEach(function (el) {
var s = startOf(el.dataset.from);
if (s > now && (!next || s < startOf(next.dataset.from))) { next = el; }
if (now > endOf(el.dataset.until)) { el.classList.add('msgt-past'); }
});
var box = document.getElementById('msgt-next');
if (box) {
if (next) {
var d = startOf(next.dataset.from).toLocaleDateString('de-AT', { day: '2-digit', month: 'long', year: 'numeric' });
box.innerHTML = 'Nächste Sendung: ' + next.dataset.title + ' – online ab ' + d + '.';
box.style.display = '';
} else {
box.style.display = 'none';
}
}
});
})();
/* MSGT Spendenseite: Kopieren-Buttons für IBAN und BIC.
Einfügen in Astroid → Benutzerdefinierter Code → Custom JS,
UNTER das bereits vorhandene Online-Talk-Skript (als eigener Block). */
(function () {
function ready(fn) {
if (document.readyState !== 'loading') { fn(); }
else { document.addEventListener('DOMContentLoaded', fn); }
}
function fallbackCopy(text) {
var t = document.createElement('textarea');
t.value = text;
t.setAttribute('readonly', '');
t.style.position = 'fixed';
t.style.opacity = '0';
document.body.appendChild(t);
t.select();
var ok = false;
try { ok = document.execCommand('copy'); } catch (e) { ok = false; }
document.body.removeChild(t);
return ok;
}
function copyText(text) {
if (navigator.clipboard && window.isSecureContext) {
return navigator.clipboard.writeText(text).then(function () { return true; }, function () { return fallbackCopy(text); });
}
return Promise.resolve(fallbackCopy(text));
}
ready(function () {
var buttons = document.querySelectorAll('.msgt-copy[data-copy]');
if (!buttons.length) { return; }
var status = document.querySelector('.msgt-bank-status');
buttons.forEach(function (btn) {
var original = btn.textContent;
btn.addEventListener('click', function () {
copyText(btn.dataset.copy).then(function (ok) {
var label = btn.dataset.label || 'Text';
btn.textContent = ok ? 'Kopiert' : 'Nicht moeglich';
btn.classList.toggle('is-copied', ok);
if (status) {
status.textContent = ok
? label + ' wurde in die Zwischenablage kopiert.'
: 'Kopieren hat nicht funktioniert. Bitte markieren Sie den Text und kopieren Sie ihn manuell.';
}
setTimeout(function () {
btn.textContent = original;
btn.classList.remove('is-copied');
if (status) { status.textContent = ''; }
}, 2500);
});
});
});
});
})();
unterstützt von
Kontakt
Adresse:
Falls Sie Fragen, Anregungen oder Kritik haben, zögern Sie nicht uns eine E-Mail zu senden.
Nutzen Sie hierfür das unten stehende Kontaktformular oder senden Sie uns einen Brief.