/* Vereinswappen-Fallback: lädt ein nicht (404, kaputtes Bild), wird es durch den Initialen-Kreis ersetzt — kein kaputtes Bild-Icon. Progressive Enhancement; ohne JS bleibt höchstens das (alt="") leere Bild. */ (function () { 'use strict'; function initials(name) { var parts = (name || '').split(/[\s.\-]+/); var out = ''; for (var i = 0; i < parts.length && out.length < 2; i++) { if (parts[i]) { out += parts[i].charAt(0); } } return (out || '?').toUpperCase(); } function replace(img) { var span = document.createElement('span'); span.className = 'crest crest--initials'; span.setAttribute('aria-hidden', 'true'); span.textContent = initials(img.getAttribute('data-club')); if (img.parentNode) { img.parentNode.replaceChild(span, img); } } var imgs = document.querySelectorAll('img.crest'); Array.prototype.forEach.call(imgs, function (img) { // Bereits fehlgeschlagen, bevor JS lief? if (img.complete && img.naturalWidth === 0) { replace(img); return; } img.addEventListener('error', function () { replace(img); }); }); })();