{
  "version": 3,
  "sources": ["/cdn/shop/t/21/assets/mhsys-retoure.js?x=31521"],
  "sourcesContent": ["/* Retoure im Shop - /pages/retoure (Roadmap 3.48 R-T1 Retoure/Umtausch, R-T2 Reklamation mit Fotos; Format von Fiete,\n * Kopf von extern/kundeninhalte/retoure/index.php in mhsys). Geladen aus layout/theme.liquid nur auf dieser Seite.\n *\n *   status&teil=anmelden {bestellnr, email, website, _stempel} -> {ok, token}   (derselbe Weg wie die Bestellstatus-Seite)\n *   status&teil=code     {code}                              -> {ok, token}   (#c= aus der Mail-Weiche, 5 Minuten, einmal)\n *   retoure&teil=lage    {token}                             -> Anliegen, Artikel, Gruende, Erstattung, unterwegs, reklamation, texte\n *   retoure&teil=pruefen {token, schritt, stand}             -> {ok, weiter, summe?} | {ok:false, fehler:\"felder\", felder}\n *   retoure&teil=absenden {token, stand, schluessel, website, _stempel} -> {ok, art, nummer, schein?, ablauf, hinweis, fotos?}\n *   retoure&teil=datei   multipart vorgang, datei             -> {ok, kennung, name, groesse}   (Reklamationsfoto)\n *   retoure&teil=datei_weg {vorgang, kennung}                 -> {ok}\n *\n * - Token nur in sessionStorage \"mhsysBestellstatus\" (geteilt mit Status- und Adressseite), nur im Rumpf.\n * - Zwischenstand je Bestellung in sessionStorage \"mhsysRetoure\" (Art, Auswahl, Grund, Text, Fotos, Vorgang).\n * - schluessel (Idempotenz): beim Betreten von \"Pruefen\" erzeugt, gleich bei unveraenderten Angaben - ein zweites\n *   Absenden (Doppelklick, Wiederholung nach 5xx) liefert beim Server dieselbe Retoure.\n * - #c=<code>&schein=R00012 (Retourenschein aus der Mail): nach dem Einloesen direkt die Druckansicht dieser Retoure.\n * - Alle Werte per textContent/value, Bilder nur https: (Konzept 3.7).\n */\n(function () {\n  \"use strict\";\n  var wurzel = document.querySelector(\"[data-mhsys-retoure]\");\n  if (!wurzel || wurzel.getAttribute(\"data-rt-bereit\")) return;\n  wurzel.setAttribute(\"data-rt-bereit\", \"1\");\n\n  var R = \"/apps/kunde?bereich=retoure&teil=\";\n  var S = \"/apps/kunde?bereich=status&teil=\";\n  var TOKEN = \"mhsysBestellstatus\";\n  var STAND = \"mhsysRetoure\";\n  // Aus dem Bestellstatus einer Bestellung (assets/mhsys-bestellstatus.js): direkt in DIESE Bestellung, eine Minute gueltig\n  var DIREKT = \"mhsysRtDirekt\";\n  var kunde = wurzel.hasAttribute(\"data-rt-kunde\");\n  /* Zeitstempel statt _dauer (Roadmap 7.59): window.mhsysStempel aus mhsys-kopf.js haengt _stempel an, warm geholt beim Oeffnen */\n  function stempeln(r) { return window.mhsysStempel ? window.mhsysStempel.mit(r) : Promise.resolve(r); }\n  if (window.mhsysStempel) window.mhsysStempel.vor();\n  var $ = function (s) { return wurzel.querySelector(s); };\n  var $$ = function (s) { return Array.prototype.slice.call(wurzel.querySelectorAll(s)); };\n\n  var MELDUNGEN = {\n    nicht_gefunden: \"Bestellnummer und E-Mail-Adresse passen nicht zusammen. Bitte pr\u00FCf deine Angaben \u2013 die Bestellnummer steht in deiner Bestellbest\u00E4tigung, die E-Mail-Adresse ist die, mit der du bestellt hast.\",\n    gesperrt: \"Zu viele Versuche. Bitte probier es in einer Stunde noch einmal.\",\n    grenze: \"Gerade kommen zu viele Anfragen. Bitte probier es in ein paar Minuten noch einmal.\",\n    archiviert: \"Diese Bestellung ist archiviert. Hast du eine Frage dazu? Schreib uns einfach.\",\n    leer: \"Bitte gib deine Bestellnummer und deine E-Mail-Adresse ein.\",\n    abgelaufen: \"Bitte \u00F6ffne deine Bestellung noch einmal mit Bestellnummer und E-Mail-Adresse.\",\n    schnell: \"Bitte warte einen Moment und probier es dann noch einmal.\",\n  };\n  var WUNSCH_TEXT = { ERSATZ: \"Wir schicken dir den Artikel noch einmal \u2013 ohne Kosten f\u00FCr dich.\", ERSTATTUNG: \"Du bekommst den Kaufpreis zur\u00FCck.\" };\n  var FOTO_FEHLER = { gross: \"ist zu gro\u00DF.\", typ: \"ist kein Foto im Format JPG, PNG oder WebP.\", anzahl: \"passt nicht mehr dazu.\", grenze: \"konnte gerade nicht hochgeladen werden \u2013 bitte versuch es sp\u00E4ter noch einmal.\" };\n\n  /* ---- Hilfen ---- */\n  function text(v) { return v === null || v === undefined ? \"\" : String(v); }\n  function el(tag, klasse, inhalt) {\n    var e = document.createElement(tag);\n    if (klasse) e.className = klasse;\n    if (inhalt !== undefined && inhalt !== null && inhalt !== \"\") e.textContent = String(inhalt);\n    return e;\n  }\n  function hex32() {\n    var b = new Uint8Array(16);\n    (window.crypto || window.msCrypto).getRandomValues(b);\n    return Array.prototype.map.call(b, function (x) { return (\"0\" + x.toString(16)).slice(-2); }).join(\"\");\n  }\n  function nurHttps(u) { u = text(u); return /^https:\\/\\/[^\\s\"'<>]+$/i.test(u) ? u : \"\"; }\n  function euro(n) { try { return new Intl.NumberFormat(\"de-DE\", { style: \"currency\", currency: \"EUR\" }).format(n); } catch (e) { return n.toFixed(2).replace(\".\", \",\") + \" \u20AC\"; } }\n  function lesen(k) { try { return sessionStorage.getItem(k) || \"\"; } catch (e) { return \"\"; } }\n  function schreiben(k, v) { try { v ? sessionStorage.setItem(k, v) : sessionStorage.removeItem(k); } catch (e) {} }\n  // Mit Zeitlimit (layout/theme.liquid, Roadmap 7.44): antwortet mhsys nicht, kommt der Fehler-Zustand statt ewigem Laden\n  function post(url, rumpf) {\n    return (window.mhsysNetz ? window.mhsysNetz.holen : fetch)(url, {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application/json\", Accept: \"application/json\" },\n      body: JSON.stringify(rumpf),\n      credentials: \"same-origin\",\n      cache: \"no-store\",\n    })\n      .then(function (r) {\n        return r.json().catch(function () { return { ok: false, fehler: \"antwort\" }; }).then(function (a) {\n          a = a && typeof a === \"object\" ? a : { ok: false, fehler: \"antwort\" };\n          a.http = r.status;\n          return a;\n        });\n      })\n      .catch(function () { return { ok: false, fehler: \"netz\", http: 0 }; });\n  }\n\n  /* ---- Stand ---- */\n  var token = lesen(TOKEN);\n  var lage = null;\n  var st = null;   // {bestellung, art, auswahl:{id:{menge, groesse?, stuecke?:[artnr]}}, grund, text, erstattung, wunsch, fotos:[{kennung,name}], vorgang, schluessel, schluesselFuer}\n  var summe = null;\n  var laeuft = false;\n  var hochladen = 0;\n  function sichern() { if (st) schreiben(STAND, JSON.stringify(st)); }\n  function standLaden(nummer) {\n    var alt = null;\n    try { alt = JSON.parse(lesen(STAND) || \"null\"); } catch (e) {}\n    st = alt && alt.bestellung === nummer ? alt : null;\n    if (!st) st = { bestellung: nummer, art: \"\", auswahl: {}, grund: \"\", text: \"\", erstattung: \"\", wunsch: \"\", fotos: [], vorgang: hex32() };\n    if (!/^[0-9a-f]{32}$/.test(text(st.vorgang))) st.vorgang = hex32();\n  }\n  // [\"XL\", \"XL\", \"XXL\"] -> [{artnr: \"XL\", menge: 2}, {artnr: \"XXL\", menge: 1}], Reihenfolge der ersten Wahl\n  function teileAusStuecken(stuecke) {\n    var teile = [], wo = {};\n    stuecke.forEach(function (s) {\n      s = text(s); if (!s) return;\n      if (wo[s] === undefined) { wo[s] = teile.length; teile.push({ artnr: s, menge: 0 }); }\n      teile[wo[s]].menge++;\n    });\n    return teile;\n  }\n  // Lesbar wie in mhsys (retoure_umtausch_text()): \"XL / bordeaux\" oder \"2 \u00D7 XL / bordeaux, 1 \u00D7 XXL / bordeaux\"\n  function teileText(teile, namen) {\n    if (teile.length === 1) return text(namen[teile[0].artnr] || teile[0].artnr);\n    return teile.map(function (t) { return t.menge + \" \u00D7 \" + text(namen[t.artnr] || t.artnr); }).join(\", \");\n  }\n  function standFuerServer() {\n    var s = { art: st.art, auswahl: {}, grund: st.grund, text: st.text };\n    Object.keys(st.auswahl).forEach(function (id) {\n      var a = st.auswahl[id];\n      var e = { menge: +a.menge || 1 };\n      // Umtausch mit Varianten (Roadmap 3.76): je Stueck eine Groesse, zusammengefasst zu teile [{artnr, menge}];\n      // ohne Varianten der Freitext wie bisher\n      if (st.art === \"umtausch\" && a.stuecke) { e.teile = teileAusStuecken(a.stuecke); e.menge = Math.max(1, a.stuecke.length); }\n      else if (st.art === \"umtausch\") e.groesse = text(a.groesse);\n      s.auswahl[id] = e;\n    });\n    if (st.art === \"retoure\") s.erstattung = st.erstattung;\n    if (st.art === \"reklamation\") {\n      s.wunsch = st.wunsch;\n      s.fotos = st.fotos.map(function (f) { return f.kennung; });\n      s.vorgang = st.vorgang;\n    }\n    return s;\n  }\n\n  /* ---- Anzeige ---- */\n  var SCHRITT_NAMEN = { anliegen: \"Anliegen\", artikel: \"Artikel\", erstattung: \"Erstattung\", pruefen: \"Pr\u00FCfen\" };\n  function schritte() {\n    if (!st || st.art === \"reklamation\") return [\"anliegen\", \"artikel\", \"pruefen\"];\n    if (st.art === \"retoure\" && lage && lage.bezahlt) return [\"anliegen\", \"artikel\", \"erstattung\", \"pruefen\"];\n    return [\"anliegen\", \"artikel\", \"pruefen\"];\n  }\n  function schritteZeichnen(name) {\n    var ol = $(\"[data-rt-schritte]\");\n    var liste = schritte();\n    ol.textContent = \"\";\n    ol.hidden = liste.indexOf(name) < 0;\n    liste.forEach(function (s, i) {\n      var li = el(\"li\", \"\", (i + 1) + \". \" + (s === \"artikel\" && st && st.art === \"reklamation\" ? \"Details\" : SCHRITT_NAMEN[s]));\n      if (s === name) li.setAttribute(\"aria-current\", \"step\");\n      else if (liste.indexOf(name) > i) li.className = \"ist-fertig\";\n      ol.appendChild(li);\n    });\n  }\n  function meldungen(liste) {\n    var m = $(\"[data-rt-meldungen]\");\n    m.textContent = \"\";\n    liste = (liste || []).filter(Boolean).map(text);\n    m.hidden = !liste.length;\n    if (!liste.length) return;\n    if (liste.length === 1) m.textContent = liste[0];\n    else { var ul = el(\"ul\", \"mhsys-rt__meldungsliste\"); liste.forEach(function (s) { ul.appendChild(el(\"li\", \"\", s)); }); m.appendChild(ul); }\n    m.focus({ preventScroll: true });\n    m.scrollIntoView({ block: \"nearest\" });\n  }\n  var erstesMal = true;\n  function zustand(name) {\n    $$(\"[data-rt-zustand]\").forEach(function (z) { z.hidden = z.getAttribute(\"data-rt-zustand\") !== name; });\n    // Vor der Wahl einer Bestellung keine Bestellzeile (sie stand sonst von der vorigen noch da)\n    if (name === \"liste\" || name === \"anmelden\") {\n      $(\"[data-rt-bestellung]\").hidden = true;\n      $(\"[data-rt-andere-zeile]\").hidden = true;\n      $(\"[data-rt-weiter-zeile]\").hidden = true;\n    }\n    schritteZeichnen(name);\n    meldungen([]);\n    // Der Schein ist nur im Abschluss und in der Ansicht \"schein\" zu sehen (und im Druck)\n    if (name !== \"fertig\" && name !== \"schein\") $(\"[data-rt-schein]\").hidden = true;\n    if (st && SCHRITT_NAMEN[name]) { st.schritt = name; sichern(); }\n    if (erstesMal) { erstesMal = false; return; }\n    wurzel.scrollIntoView({ block: \"start\" });\n  }\n  function fehler(satz) {\n    $(\"[data-rt-fehler-text]\").textContent = satz || \"Das hat leider nicht geklappt.\";\n    zustand(\"fehler\");\n  }\n  var nochmal = null;\n  $(\"[data-rt-nochmal]\").addEventListener(\"click\", function () { if (nochmal) nochmal(); else start(); });\n\n  /* ---- Anmelden ---- */\n  var fAn = $(\"[data-rt-anmelden]\");\n  function anmelden(satz) {\n    schreiben(TOKEN, \"\");\n    token = \"\";\n    zustand(\"anmelden\");\n    var m = $(\"[data-rt-anmelden-meldung]\");\n    m.textContent = satz || \"\"; m.hidden = !satz;\n  }\n  fAn.addEventListener(\"submit\", function (ev) {\n    ev.preventDefault();\n    var nr = text(fAn.elements.bestellnr.value).trim(), mail = text(fAn.elements.email.value).trim();\n    var m = $(\"[data-rt-anmelden-meldung]\");\n    if (!nr || !mail) { m.textContent = MELDUNGEN.leer; m.hidden = false; return; }\n    var k = $(\"[data-rt-anmelden-knopf]\");\n    k.disabled = true; m.hidden = true;\n    stempeln({ bestellnr: nr, email: mail, website: text(fAn.elements.website.value) }).then(function (r) { return post(S + \"anmelden\", r); }).then(function (a) {\n      k.disabled = false;\n      if (a.ok && a.token) { token = text(a.token); schreiben(TOKEN, token); fAn.reset(); ladeLage(); return; }\n      if (a.fehler === \"netz\" || a.fehler === \"antwort\" || a.http >= 500) { nochmal = function () { zustand(\"anmelden\"); }; fehler(); return; }\n      m.textContent = text(a.meldung) || MELDUNGEN[a.fehler] || MELDUNGEN.nicht_gefunden;\n      m.hidden = false;\n    });\n  });\n\n  /* ---- Auswahl der Bestellung (Inhaber 26.09.2026) ----\n     Angemeldet: die Bestellungen aus mhsys (status&teil=meine, wie auf der Bestellstatus-Seite), ohne Stornierte und ohne\n     noch nicht Zugestellte (Schritt < 4 - dort gibt es auch im Bestellstatus keine Ruecksendung). Die Wahl holt per\n     status&teil=oeffnen den Token genau dieser Bestellung. Faellt die Liste aus, bleibt das Formular - nie eine Sackgasse.\n     Ohne Anmeldung: das Formular; liegt noch ein Token im Tab, bietet ein Knopf an, damit weiterzumachen. */\n  var listeMeldung = $(\"[data-rt-liste-meldung]\");\n  function meineLaden(hinweis) {\n    zustand(\"laden\");\n    post(S + \"meine\", {}).then(function (a) {\n      var liste = a && a.ok && Array.isArray(a.bestellungen) ? a.bestellungen : null;\n      if (!liste) { anmelden(\"\"); return; }\n      liste = liste.filter(function (b) {\n        var schritt = parseInt(b.schritt, 10) || 0;\n        return b.fall !== \"storno\" && !(schritt > 0 && schritt < 4);\n      });\n      if (!liste.length) {\n        anmelden(\"Zu deinem Kundenkonto finden wir gerade keine Bestellung, die schon bei dir angekommen ist. Eine andere Bestellung kannst du hier mit Nummer und E-Mail-Adresse \u00F6ffnen.\");\n        return;\n      }\n      listeZeichnen(liste);\n      listeMeldung.textContent = hinweis || \"\";\n      listeMeldung.hidden = !hinweis;\n      zustand(\"liste\");\n    });\n  }\n  function listeZeichnen(liste) {\n    var ul = $(\"[data-rt-liste]\");\n    ul.textContent = \"\";\n    liste.forEach(function (b) {\n      var knopf = el(\"button\", \"mhsys-rt__eintrag\");\n      knopf.type = \"button\";\n      var kopf = el(\"span\", \"mhsys-rt__eintrag-kopf\");\n      kopf.appendChild(el(\"strong\", \"\", \"Bestellung \" + text(b.nummer)));\n      if (b.datum) kopf.appendChild(el(\"span\", \"mhsys-rt__eintrag-leise\", \"vom \" + text(b.datum)));\n      knopf.appendChild(kopf);\n      var zeile = el(\"span\", \"mhsys-rt__eintrag-kopf\");\n      if (b.stand) zeile.appendChild(el(\"span\", \"mhsys-rt__eintrag-stand\", text(b.stand)));\n      var anzahl = parseInt(b.artikel, 10) || 0;\n      if (anzahl > 0) zeile.appendChild(el(\"span\", \"mhsys-rt__eintrag-leise\", anzahl + \" Artikel\"));\n      knopf.appendChild(zeile);\n      knopf.addEventListener(\"click\", function () { oeffnen(text(b.nummer)); });\n      var li = el(\"li\");\n      li.appendChild(knopf);\n      ul.appendChild(li);\n    });\n  }\n  function oeffnen(nummer) {\n    zustand(\"laden\");\n    post(S + \"oeffnen\", { bestellnr: nummer }).then(function (a) {\n      if (a.ok && a.token) { token = text(a.token); schreiben(TOKEN, token); ladeLage(); return; }\n      if (a.fehler === \"anmeldung\") { anmelden(\"\"); return; }\n      meineLaden(text(a.meldung) || \"Diese Bestellung k\u00F6nnen wir gerade nicht \u00F6ffnen.\");\n    });\n  }\n  $(\"[data-rt-zum-formular]\").addEventListener(\"click\", function () { anmelden(\"\"); fAn.elements.bestellnr.focus(); });\n  $(\"[data-rt-andere]\").addEventListener(\"click\", function () { meineLaden(\"\"); });\n  $(\"[data-rt-weiter-token]\").addEventListener(\"click\", function () { $(\"[data-rt-weiter-zeile]\").hidden = true; ladeLage(); });\n\n  /* ---- Lage ---- */\n  var scheinWunsch = /^R\\d{1,10}$/.test(text(window.mhsysRtSchein)) ? window.mhsysRtSchein : \"\";\n  function ladeLage() {\n    zustand(\"laden\");\n    return post(R + \"lage\", { token: token }).then(function (a) {\n      if (!a.ok) {\n        if (a.fehler === \"token\" || a.fehler === \"nicht_gefunden\" || a.fehler === \"archiviert\") { anmelden(text(a.meldung) || MELDUNGEN[a.fehler === \"token\" ? \"abgelaufen\" : a.fehler]); return; }\n        if (a.fehler === \"grenze\" || a.fehler === \"schnell\") { nochmal = ladeLage; fehler(text(a.meldung) || MELDUNGEN[a.fehler]); return; }\n        nochmal = ladeLage; fehler(); return;\n      }\n      lage = a;\n      standLaden(text(a.nummer));\n      var b = $(\"[data-rt-bestellung]\");\n      b.textContent = \"Bestellung \" + text(a.nummer) + (a.datum ? \" vom \" + text(a.datum) : \"\");\n      b.hidden = false;\n      $(\"[data-rt-andere-zeile]\").hidden = !kunde;\n      if (a.sperre) { $(\"[data-rt-sperre]\").textContent = text(a.sperre.text); zustand(\"sperre\"); return; }\n      anliegenZeichnen();\n      // Retourenschein aus der Mail: direkt die Druckansicht, wenn die Retoure noch unterwegs ist\n      if (scheinWunsch) {\n        var u = (a.unterwegs || []).filter(function (x) { return text(x.nummer) === scheinWunsch; })[0];\n        scheinWunsch = \"\";\n        if (u && u.schein) { scheinZeigenAlt(u); return; }\n      }\n      // Zwischenstand: hoechstens bis \"Artikel\" - alles danach prueft der Server neu\n      if (st.art && (st.schritt === \"artikel\" || st.schritt === \"erstattung\" || st.schritt === \"pruefen\") && lage.anliegen[st.art]) {\n        artikelZeichnen(); zustand(\"artikel\");\n      } else {\n        zustand(\"anliegen\");\n      }\n    });\n  }\n\n  /* ---- Anliegen ---- */\n  function anliegenZeichnen() {\n    var an = lage.anliegen || {}, texte = lage.anliegen_text || {};\n    $$(\"[data-rt-kachel]\").forEach(function (k) {\n      var art = k.getAttribute(\"data-rt-kachel\");\n      var input = k.querySelector(\"input\");\n      k.hidden = art === \"umtausch\" && !an.umtausch_angeboten;\n      input.disabled = !an[art];\n      input.checked = st.art === art && !!an[art];\n      k.classList.toggle(\"ist-aus\", !an[art]);\n      k.querySelector(\"[data-rt-kachel-text]\").textContent = text(texte[art]);\n    });\n    $(\"[data-rt-gut-zu-wissen]\").textContent = text(lage.texte && lage.texte.gut_zu_wissen);\n    var box = $(\"[data-rt-unterwegs]\");\n    box.textContent = \"\";\n    (lage.unterwegs || []).forEach(function (u) {\n      var p = el(\"p\", \"mhsys-formular__meldung mhsys-rt__hinweis\");\n      p.appendChild(document.createTextNode(\"Du hast zu dieser Bestellung schon die Retoure \" + text(u.nummer) + (u.datum ? \" (am \" + text(u.datum) + \")\" : \"\") + \" angemeldet. \"));\n      var k = el(\"button\", \"mhsys-rt__textknopf\", \"Retourenschein noch einmal ansehen\");\n      k.type = \"button\";\n      k.addEventListener(\"click\", function () { scheinZeigenAlt(u); });\n      p.appendChild(k);\n      box.appendChild(p);\n    });\n  }\n  $$(\"[data-rt-art]\").forEach(function (r) {\n    r.addEventListener(\"change\", function () {\n      if (!r.checked) return;\n      if (st.art !== r.value) { st.art = r.value; st.auswahl = {}; st.grund = \"\"; st.erstattung = \"\"; st.wunsch = \"\"; }\n      sichern();\n    });\n  });\n  $('[data-rt-weiter=\"anliegen\"]').addEventListener(\"click\", function () {\n    if (!st.art) { meldungen([\"Bitte w\u00E4hl aus, was du tun m\u00F6chtest.\"]); return; }\n    pruefen(\"anliegen\", $('[data-rt-weiter=\"anliegen\"]'));\n  });\n  $(\"[data-rt-zu-umtausch]\").addEventListener(\"click\", function () {\n    st.art = \"umtausch\"; st.auswahl = {}; st.grund = \"\"; st.erstattung = \"\"; sichern();\n    anliegenZeichnen(); zustand(\"anliegen\");\n  });\n\n  /* ---- Artikel / Details ---- */\n  function artikelListe() { return st.art === \"reklamation\" ? ((lage.reklamation || {}).artikel || []) : (lage.artikel || []); }\n  function nurZeigen() {\n    $$(\"[data-rt-nur]\").forEach(function (e) { e.hidden = e.getAttribute(\"data-rt-nur\").split(\" \").indexOf(st.art) < 0; });\n  }\n  function artikelZeichnen() {\n    var art = st.art, liste = artikelListe(), rek = lage.reklamation || {}, texte = lage.texte || {};\n    nurZeigen();\n    var waehlbar = liste.filter(function (a) { return a.rueckgebbar; }).length;\n    var nichts = art !== \"reklamation\" && waehlbar === 0;\n    $(\"[data-rt-nichts]\").hidden = !nichts;\n    $(\"[data-rt-nichts]\").textContent = text(texte.nichts_waehlbar);\n    $(\"[data-rt-artikel-teil]\").hidden = nichts;\n    $('[data-rt-weiter=\"artikel\"]').hidden = nichts;\n    $(\"[data-rt-artikel-titel]\").textContent = art === \"umtausch\" ? \"Welche Artikel m\u00F6chtest du umtauschen?\" : art === \"reklamation\" ? \"Welche Artikel sind betroffen?\" : \"Welche Artikel schickst du zur\u00FCck?\";\n    $(\"[data-rt-artikel-text]\").textContent = art === \"umtausch\" ? \"Hak die Artikel an und w\u00E4hl bei jedem die neue Gr\u00F6\u00DFe \u2013 bei mehreren St\u00FCck gern auch verschiedene.\" : art === \"reklamation\" ? \"Fehlt ein Artikel ganz, hak ihn einfach auch an.\" : \"Hak die Artikel an und w\u00E4hl die Menge.\";\n    var gt = nurHttps(texte.groessentabelle);\n    if (gt) $(\"[data-rt-groessentabelle]\").href = gt;\n\n    // Artikel\n    var box = $(\"[data-rt-artikelliste]\");\n    box.textContent = \"\";\n    liste.forEach(function (a) { box.appendChild(artikelZeile(a)); });\n\n    // Gruende\n    var gruende = art === \"reklamation\" ? (rek.gruende || []) : (lage.gruende || []);\n    $(\"[data-rt-grund-titel]\").textContent = art === \"reklamation\" ? \"Was ist los?\" : \"Warum schickst du zur\u00FCck?\";\n    var chips = $(\"[data-rt-gruende]\");\n    chips.textContent = \"\";\n    gruende.forEach(function (g) {\n      var l = el(\"label\", \"mhsys-rt__chip\");\n      var i = el(\"input\"); i.type = \"radio\"; i.name = \"mhsys-rt-grund\"; i.value = text(g.wert); i.checked = st.grund === i.value;\n      i.addEventListener(\"change\", function () { if (i.checked) { st.grund = i.value; sichern(); textPflichtZeigen(art); } });\n      l.appendChild(i); l.appendChild(document.createTextNode(text(g.text)));\n      chips.appendChild(l);\n    });\n    $(\"[data-rt-lieber-umtausch]\").hidden = !(art === \"retoure\" && lage.anliegen.umtausch);\n\n    // Text\n    var t = $(\"[data-rt-text]\");\n    t.maxLength = art === \"reklamation\" ? (+rek.text_max || 2000) : 500;\n    t.rows = art === \"reklamation\" ? 4 : 3;\n    t.placeholder = art === \"reklamation\" ? \"z. B. Der Henkel war beim Auspacken abgebrochen.\" : art === \"umtausch\" ? \"z. B. lieber etwas l\u00E4nger geschnitten\" : \"\";\n    t.value = text(st.text);\n    textPflichtZeigen(art);\n\n    // Reklamation: Fotos und Wunsch\n    if (art === \"reklamation\") {\n      $(\"[data-rt-fotos-text]\").textContent = text(texte.fotos);\n      fotosZeichnen();\n      var w = $(\"[data-rt-wuensche]\");\n      w.textContent = \"\";\n      (rek.wuensche || []).forEach(function (x) {\n        var l = el(\"label\", \"mhsys-rt__kachel\");\n        var i = el(\"input\"); i.type = \"radio\"; i.name = \"mhsys-rt-wunsch\"; i.value = text(x.wert); i.checked = st.wunsch === i.value;\n        i.addEventListener(\"change\", function () { if (i.checked) { st.wunsch = i.value; sichern(); } });\n        l.appendChild(i);\n        l.appendChild(el(\"span\", \"mhsys-rt__kachel-titel\", text(x.text)));\n        if (WUNSCH_TEXT[x.wert]) l.appendChild(el(\"span\", \"mhsys-rt__kachel-text\", WUNSCH_TEXT[x.wert]));\n        w.appendChild(l);\n      });\n    }\n\n    // Hinweis unten\n    var k = $(\"[data-rt-kosten]\");\n    k.textContent = \"\";\n    k.classList.toggle(\"mhsys-rt__warnung\", art !== \"reklamation\");\n    k.classList.toggle(\"mhsys-rt__hinweis\", art === \"reklamation\");\n    var fett = el(\"strong\", \"\", art === \"reklamation\" ? \"Bitte noch nichts zur\u00FCckschicken.\" : \"R\u00FCcksendung auf eigene Kosten:\");\n    k.appendChild(fett);\n    k.appendChild(document.createTextNode(\" \" + (art === \"reklamation\"\n      ? \"Wir melden uns nach dem Absenden bei dir \u2013 oft brauchen wir die Ware gar nicht zur\u00FCck.\"\n      : art === \"umtausch\"\n        ? \"Die Kosten f\u00FCr die R\u00FCcksendung tr\u00E4gst du selbst. Sobald dein Paket bei uns angekommen ist, schicken wir dir die neue Gr\u00F6\u00DFe. Umtausch geht nur bei Lieferung nach Deutschland.\"\n        : \"Bei einer Retoure, weil dir etwas nicht gef\u00E4llt oder nicht passt, tr\u00E4gst du die Kosten der R\u00FCcksendung selbst.\")));\n  }\n  $(\"[data-rt-text]\").addEventListener(\"input\", function (e) { st.text = text(e.target.value); sichern(); });\n\n  function artikelZeile(a) {\n    var id = String(a.id);\n    var gewaehlt = st.auswahl[id];\n    var aus = !a.rueckgebbar;\n    var zeile = el(\"div\", \"mhsys-rt__artikel\" + (aus ? \" ist-aus\" : \"\"));\n    var label = el(\"label\", \"mhsys-rt__artikel-wahl\");\n    var cb = el(\"input\", \"mhsys-rt__artikel-haken\"); cb.type = \"checkbox\"; cb.disabled = aus; cb.checked = !!gewaehlt && !aus;\n    label.appendChild(cb);\n    var bild = el(\"span\", \"mhsys-rt__artikel-bild\");\n    var src = nurHttps(a.bild);\n    if (src) { var img = el(\"img\"); img.src = src; img.alt = \"\"; img.loading = \"lazy\"; img.width = 56; img.height = 56; bild.appendChild(img); }\n    label.appendChild(bild);\n    var tx = el(\"span\", \"mhsys-rt__artikel-text\");\n    tx.appendChild(el(\"span\", \"mhsys-rt__artikel-name\", text(a.name)));\n    tx.appendChild(el(\"span\", \"mhsys-rt__artikel-meta\", text(a.bestellt) + \" \u00D7 \" + text(a.preis) + (a.meta ? \" \u00B7 \" + text(a.meta) : \"\")));\n    if (aus && a.grund) tx.appendChild(el(\"span\", \"mhsys-rt__artikel-grund\", text(a.grund)));\n    label.appendChild(tx);\n    zeile.appendChild(label);\n    if (aus) return zeile;\n\n    var extra = el(\"div\", \"mhsys-rt__artikel-extra\");\n    var menge = null, groesse = null, stuecke = [], namen = {};\n    var varianten = st.art === \"umtausch\" && Array.isArray(a.varianten) ? a.varianten : [];\n    if (varianten.length) {\n      // Umtausch mit Varianten (Roadmap 3.76): je Stueck ein Pulldown statt Menge und Freitext - so gehen\n      // 3 Stueck als 2 x XL + 1 x XXL; die Zahl der gewaehlten Stuecke ist die Menge\n      var vorher = gewaehlt && Array.isArray(gewaehlt.stuecke) ? gewaehlt.stuecke : [];\n      var gruppe = el(\"div\", \"mhsys-rt__artikel-stuecke\");\n      varianten.forEach(function (v) { namen[text(v.artnr)] = text(v.name); });\n      for (var s = 0; s < Math.max(1, +a.max); s++) {\n        var sl = el(\"label\", \"mhsys-rt__artikel-groesse\");\n        sl.appendChild(el(\"span\", \"\", +a.max > 1 ? \"St\u00FCck \" + (s + 1) : \"Neue Gr\u00F6\u00DFe\"));\n        var sel = el(\"select\");\n        var leer = el(\"option\", \"\", s === 0 ? \"Gr\u00F6\u00DFe w\u00E4hlen\" : \"nicht umtauschen\"); leer.value = \"\"; sel.appendChild(leer);\n        varianten.forEach(function (v) { var o = el(\"option\", \"\", text(v.name)); o.value = text(v.artnr); sel.appendChild(o); });\n        sel.value = namen[text(vorher[s])] !== undefined ? text(vorher[s]) : \"\";\n        sl.appendChild(sel);\n        gruppe.appendChild(sl);\n        stuecke.push(sel);\n      }\n      extra.appendChild(gruppe);\n    } else if (+a.max > 1) {\n      var mw = el(\"label\", \"mhsys-rt__artikel-menge\");\n      mw.appendChild(el(\"span\", \"\", \"Menge\"));\n      menge = el(\"select\");\n      for (var i = 1; i <= +a.max; i++) { var o = el(\"option\", \"\", String(i)); o.value = String(i); menge.appendChild(o); }\n      menge.value = String(gewaehlt ? Math.min(+gewaehlt.menge || 1, +a.max) : 1);\n      mw.appendChild(menge);\n      extra.appendChild(mw);\n    }\n    if (st.art === \"umtausch\" && !varianten.length) {\n      var gw = el(\"label\", \"mhsys-rt__artikel-groesse\");\n      gw.appendChild(el(\"span\", \"\", \"Neue Gr\u00F6\u00DFe\"));\n      groesse = el(\"input\"); groesse.type = \"text\"; groesse.maxLength = 30; groesse.autocomplete = \"off\"; groesse.placeholder = \"z. B. L\";\n      groesse.setAttribute(\"autocapitalize\", \"characters\");\n      groesse.value = gewaehlt ? text(gewaehlt.groesse) : \"\";\n      gw.appendChild(groesse);\n      extra.appendChild(gw);\n    }\n    if (extra.childNodes.length) zeile.appendChild(extra);\n    function uebernehmen() {\n      extra.hidden = !cb.checked;\n      if (cb.checked && stuecke.length) {\n        var gew = stuecke.map(function (x) { return x.value; }).filter(function (x) { return x; });\n        st.auswahl[id] = { menge: Math.max(1, gew.length), stuecke: gew, groesse: gew.length ? teileText(teileAusStuecken(gew), namen) : \"\" };\n      }\n      else if (cb.checked) st.auswahl[id] = { menge: menge ? +menge.value : 1, groesse: groesse ? text(groesse.value).trim() : \"\" };\n      else delete st.auswahl[id];\n      sichern();\n    }\n    cb.addEventListener(\"change\", function () { uebernehmen(); if (cb.checked && (stuecke[0] || groesse)) (stuecke[0] || groesse).focus(); });\n    if (menge) menge.addEventListener(\"change\", uebernehmen);\n    if (groesse) groesse.addEventListener(\"input\", uebernehmen);\n    stuecke.forEach(function (x) { x.addEventListener(\"change\", uebernehmen); });\n    extra.hidden = !cb.checked;\n    return zeile;\n  }\n\n  $('[data-rt-weiter=\"artikel\"]').addEventListener(\"click\", function () {\n    st.text = text($(\"[data-rt-text]\").value);\n    sichern();\n    if (hochladen > 0) { meldungen([\"Bitte warte, bis alle Fotos hochgeladen sind.\"]); return; }\n    pruefen(\"artikel\", $('[data-rt-weiter=\"artikel\"]'));\n  });\n\n  /* ---- Fotos (Reklamation) ---- */\n  var fotoFeld = $(\"[data-rt-foto-feld]\");\n  function fotoMeldung(s) { var m = $(\"[data-rt-foto-meldung]\"); m.textContent = s || \"\"; m.hidden = !s; }\n  function fotosMax() { return +((lage && lage.reklamation || {}).fotos_max) || 3; }\n  function fotosZeichnen() {\n    var ul = $(\"[data-rt-fotos]\");\n    ul.textContent = \"\";\n    st.fotos.forEach(function (f) {\n      var li = el(\"li\", \"mhsys-rt__foto\");\n      li.appendChild(el(\"span\", \"mhsys-rt__foto-name\", text(f.name)));\n      var weg = el(\"button\", \"mhsys-rt__textknopf\", \"Entfernen\");\n      weg.type = \"button\";\n      weg.setAttribute(\"aria-label\", \"Foto \" + text(f.name) + \" entfernen\");\n      weg.addEventListener(\"click\", function () {\n        weg.disabled = true;\n        post(R + \"datei_weg\", { vorgang: st.vorgang, kennung: f.kennung }).then(function (a) {\n          if (!a.ok) { weg.disabled = false; fotoMeldung(text(a.meldung) || \"Das Foto lie\u00DF sich gerade nicht entfernen \u2013 probier es noch einmal.\"); return; }\n          st.fotos = st.fotos.filter(function (x) { return x.kennung !== f.kennung; });\n          sichern(); fotosZeichnen();\n        });\n      });\n      li.appendChild(weg);\n      ul.appendChild(li);\n    });\n    $(\"[data-rt-foto-knopf]\").hidden = st.fotos.length >= fotosMax();\n  }\n  // Im Browser auf hoechstens 2.000 px und JPEG 0,85 verkleinern (Paket 0b, Punkt C) - schont die Leitung am Handy\n  function verkleinern(datei) {\n    return new Promise(function (fertig) {\n      if (!window.createImageBitmap || !/^image\\//.test(datei.type)) { fertig(datei); return; }\n      createImageBitmap(datei).then(function (bild) {\n        var f = Math.min(1, 2000 / Math.max(bild.width, bild.height));\n        if (f === 1 && datei.size < 1.5 * 1024 * 1024) { fertig(datei); return; }\n        var c = document.createElement(\"canvas\");\n        c.width = Math.round(bild.width * f); c.height = Math.round(bild.height * f);\n        var g = c.getContext(\"2d\");\n        g.fillStyle = \"#fff\"; g.fillRect(0, 0, c.width, c.height);\n        g.drawImage(bild, 0, 0, c.width, c.height);\n        c.toBlob(function (blob) {\n          if (!blob) { fertig(datei); return; }\n          fertig(new File([blob], text(datei.name).replace(/\\.[^.]+$/, \"\") + \".jpg\", { type: \"image/jpeg\" }));\n        }, \"image/jpeg\", 0.85);\n      }).catch(function () { fertig(datei); });\n    });\n  }\n  function fotoHochladen(datei, zweiter) {\n    return new Promise(function (fertig) {\n      var ul = $(\"[data-rt-fotos]\");\n      var li = el(\"li\", \"mhsys-rt__foto ist-laedt\");\n      li.appendChild(el(\"span\", \"mhsys-rt__foto-name\", datei.name));\n      var balken = el(\"progress\", \"mhsys-rt__balken\"); balken.max = 100; balken.value = 0;\n      balken.setAttribute(\"aria-label\", \"Hochladen von \" + datei.name);\n      li.appendChild(balken);\n      ul.appendChild(li);\n      var fd = new FormData();\n      fd.append(\"vorgang\", st.vorgang);\n      fd.append(\"datei\", datei, datei.name);\n      var x = new XMLHttpRequest();\n      x.open(\"POST\", R + \"datei\");\n      x.setRequestHeader(\"Accept\", \"application/json\");\n      x.upload.onprogress = function (e) { if (e.lengthComputable) balken.value = Math.round(e.loaded / e.total * 100); };\n      x.onload = function () {\n        var a = null;\n        try { a = JSON.parse(x.responseText); } catch (e) {}\n        li.remove();\n        // Bei 5xx einmal wiederholen (Fiete, 0b)\n        if (x.status >= 500 && !zweiter) { fotoHochladen(datei, true).then(fertig); return; }\n        if (a && a.ok && a.kennung) { st.fotos.push({ kennung: text(a.kennung), name: text(a.name) || datei.name }); sichern(); fotosZeichnen(); }\n        else fotoMeldung(text(a && a.meldung) || (\"\u201E\" + datei.name + \"\u201C \" + (FOTO_FEHLER[a && a.fehler] || \"konnte nicht hochgeladen werden.\")));\n        fertig();\n      };\n      x.onerror = function () { li.remove(); fotoMeldung(\"\u201E\" + datei.name + \"\u201C konnte nicht hochgeladen werden \u2013 bitte pr\u00FCf deine Verbindung.\"); fertig(); };\n      // Zeitlimit (Roadmap 7.44): grosszuegig fuer grosse Fotos am Handy, aber nie ein ewiger Balken\n      x.timeout = 120000;\n      x.ontimeout = function () { li.remove(); fotoMeldung(\"\u201E\" + datei.name + \"\u201C konnte gerade nicht hochgeladen werden \u2013 bitte versuch es in ein paar Minuten noch einmal.\"); fertig(); };\n      x.send(fd);\n    });\n  }\n  fotoFeld.addEventListener(\"change\", function () {\n    fotoMeldung(\"\");\n    var liste = Array.prototype.slice.call(fotoFeld.files || []);\n    fotoFeld.value = \"\";\n    var frei = fotosMax() - st.fotos.length;\n    var hinweise = [];\n    if (liste.length > frei) { hinweise.push(\"Es sind h\u00F6chstens \" + fotosMax() + \" Fotos m\u00F6glich.\"); liste = liste.slice(0, Math.max(0, frei)); }\n    liste = liste.filter(function (d) {\n      if (!/\\.(jpe?g|png|webp)$/i.test(d.name) && !/^image\\/(jpeg|png|webp)$/.test(d.type)) { hinweise.push(\"\u201E\" + d.name + \"\u201C ist kein Foto im Format JPG, PNG oder WebP.\"); return false; }\n      return true;\n    });\n    if (hinweise.length) fotoMeldung(hinweise.join(\" \"));\n    hochladen += liste.length;\n    liste.reduce(function (p, d) {\n      return p.then(function () { return verkleinern(d).then(fotoHochladen).then(function () { hochladen--; }); });\n    }, Promise.resolve());\n  });\n\n  /* ---- Erstattung ---- */\n  function erstattungZeichnen() {\n    $(\"[data-rt-summe]\").textContent = summe ? text(summe.wert) : \"\";\n    var box = $(\"[data-rt-erstattung]\");\n    box.textContent = \"\";\n    (lage.erstattung || []).forEach(function (e) {\n      var l = el(\"label\", \"mhsys-rt__kachel\");\n      var i = el(\"input\"); i.type = \"radio\"; i.name = \"mhsys-rt-erstattung\"; i.value = text(e.wert); i.checked = st.erstattung === i.value;\n      i.addEventListener(\"change\", function () { if (i.checked) { st.erstattung = i.value; sichern(); } });\n      l.appendChild(i);\n      l.appendChild(el(\"span\", \"mhsys-rt__kachel-titel\", text(e.titel)));\n      if (summe) l.appendChild(el(\"span\", \"mhsys-rt__kachel-betrag\", e.wert === \"GUTHABEN\" ? text(summe.guthaben) : text(summe.wert)));\n      l.appendChild(el(\"span\", \"mhsys-rt__kachel-text\", text(e.text)));\n      if (e.wert === \"GUTHABEN\" && summe && +e.bonus_prozent > 0) {\n        var plus = (+summe.guthaben_zahl || 0) - (+summe.wert_zahl || 0);\n        if (plus > 0) l.appendChild(el(\"span\", \"mhsys-rt__kachel-marke\", \"+ \" + euro(plus) + \" geschenkt\"));\n      }\n      box.appendChild(l);\n    });\n    $(\"[data-rt-erstattung-text]\").textContent = text(lage.texte && lage.texte.erstattung);\n  }\n  $('[data-rt-weiter=\"erstattung\"]').addEventListener(\"click\", function () { pruefen(\"erstattung\", $('[data-rt-weiter=\"erstattung\"]')); });\n\n  /* Nachrichtenfeld: Pflicht bei der Reklamation und bei den Gruenden, die mhsys in lage.gruende_mit_text nennt\n     (\"Anderer Grund\" = SONSTIGES, Roadmap 5.17) - sonst freiwillig. Die Pflicht prueft der Server; fehlt der Text,\n     kommt seine Meldung ueber felderSaetze(). Hier nur die Beschriftung und aria-required. */\n  function textPflichtZeigen(art) {\n    var mitText = (lage && Array.isArray(lage.gruende_mit_text)) ? lage.gruende_mit_text : [];\n    var pflicht = art === \"reklamation\" || (art === \"retoure\" && mitText.indexOf(st.grund) >= 0);\n    var label = art === \"reklamation\" ? \"Beschreib kurz, was nicht stimmt *\"\n      : pflicht ? \"Sag uns kurz, was der Grund ist *\" : \"Magst du uns noch was dazu sagen? (freiwillig)\";\n    $(\"[data-rt-text-label]\").textContent = label;\n    $(\"[data-rt-text]\").setAttribute(\"aria-required\", pflicht ? \"true\" : \"false\");\n  }\n\n  /* ---- Pruefen beim Server ---- */\n  function felderSaetze(a) {\n    var f = a.felder && typeof a.felder === \"object\" ? a.felder : {};\n    var liste = Object.keys(f).map(function (k) { return text(f[k]); });\n    return liste.length ? liste : [text(a.meldung) || \"Bitte pr\u00FCf deine Angaben.\"];\n  }\n  function pruefen(schritt, knopf) {\n    if (laeuft) return;\n    laeuft = true; knopf.disabled = true; meldungen([]);\n    post(R + \"pruefen\", { token: token, schritt: schritt, stand: standFuerServer() }).then(function (a) {\n      laeuft = false; knopf.disabled = false;\n      if (a.ok) {\n        if (a.summe) summe = a.summe;\n        if (a.weiter === \"artikel\") { artikelZeichnen(); zustand(\"artikel\"); }\n        else if (a.weiter === \"erstattung\") { erstattungZeichnen(); zustand(\"erstattung\"); }\n        else { pruefenZeichnen(); zustand(\"pruefen\"); }\n        return;\n      }\n      serverFehler(a, function () { zustand(schritt); pruefen(schritt, knopf); });\n    });\n  }\n  function serverFehler(a, wiederholen) {\n    if (a.fehler === \"felder\") { meldungen(felderSaetze(a)); return; }\n    if (a.fehler === \"token\" || a.fehler === \"archiviert\") { anmelden(text(a.meldung) || MELDUNGEN[a.fehler === \"token\" ? \"abgelaufen\" : \"archiviert\"]); return; }\n    if (a.fehler === \"frist\" || a.fehler === \"grenze\" || a.fehler === \"schnell\" || a.fehler === \"daten\") { meldungen([text(a.meldung) || MELDUNGEN[a.fehler] || \"Das ging gerade nicht.\"]); return; }\n    nochmal = wiederholen;\n    fehler(text(a.meldung));\n  }\n\n  /* ---- Pruefen (Zusammenfassung) ---- */\n  function zeile(dl, label, wert) { if (!text(wert)) return; dl.appendChild(el(\"dt\", \"\", label)); dl.appendChild(el(\"dd\", \"\", text(wert))); }\n  function pruefenZeichnen() {\n    var box = $(\"[data-rt-zusammenfassung]\");\n    box.textContent = \"\";\n    var art = st.art, liste = artikelListe(), gewaehlt = liste.filter(function (a) { return st.auswahl[String(a.id)]; });\n    var titel = art === \"umtausch\" ? \"Das tauschst du um\" : art === \"reklamation\" ? \"Deine Reklamation\" : \"Das schickst du zur\u00FCck\";\n    box.appendChild(el(\"h2\", \"mhsys-rt__untertitel\", titel));\n    var posten = el(\"ul\", \"mhsys-rt__posten\");\n    var wert = 0;\n    gewaehlt.forEach(function (a) {\n      var w = st.auswahl[String(a.id)], m = +w.menge || 1;\n      var li = el(\"li\");\n      li.appendChild(el(\"span\", \"mhsys-rt__posten-name\", m + \" \u00D7 \" + text(a.name)));\n      if (art === \"umtausch\") li.appendChild(el(\"span\", \"mhsys-rt__posten-rechts\", \"neue Gr\u00F6\u00DFe: \" + text(w.groesse)));\n      else if (art === \"retoure\") { wert += m * (+a.preis_wert || 0); li.appendChild(el(\"span\", \"mhsys-rt__posten-rechts\", euro(m * (+a.preis_wert || 0)))); }\n      posten.appendChild(li);\n    });\n    if (gewaehlt.length) box.appendChild(posten);\n    var dl = el(\"dl\", \"mhsys-rt__angaben\");\n    if (art === \"retoure\") {\n      zeile(dl, \"Warenwert\", summe ? text(summe.wert) : euro(wert));\n      zeile(dl, \"Grund\", ((lage.gruende || []).filter(function (g) { return g.wert === st.grund; })[0] || {}).text);\n      var e = (lage.erstattung || []).filter(function (x) { return x.wert === st.erstattung; })[0];\n      if (e) zeile(dl, \"Erstattung\", text(e.titel) + (summe ? \" \u2013 \" + (e.wert === \"GUTHABEN\" ? text(summe.guthaben) : text(summe.wert)) : \"\"));\n    }\n    if (art === \"reklamation\") {\n      var rek = lage.reklamation || {};\n      zeile(dl, \"Problem\", ((rek.gruende || []).filter(function (g) { return g.wert === st.grund; })[0] || {}).text);\n      zeile(dl, \"Dein Wunsch\", ((rek.wuensche || []).filter(function (g) { return g.wert === st.wunsch; })[0] || {}).text);\n      zeile(dl, \"Fotos\", st.fotos.length ? st.fotos.length + (st.fotos.length === 1 ? \" Foto\" : \" Fotos\") : \"keine\");\n      zeile(dl, \"Beschreibung\", st.text);\n    } else {\n      zeile(dl, \"Deine Nachricht\", st.text);\n    }\n    box.appendChild(dl);\n    var vor = (lage.texte && lage.texte.vor_absenden) || {};\n    $(\"[data-rt-vor-absenden]\").textContent = text(vor[art]);\n    $(\"[data-rt-absenden]\").textContent = art === \"reklamation\" ? \"Reklamation absenden\" : art === \"umtausch\" ? \"Umtausch anmelden\" : \"Retoure anmelden\";\n    // Idempotenz: gleiche Angaben -> gleicher Schluessel\n    var fp = JSON.stringify(standFuerServer());\n    if (st.schluesselFuer !== fp || !/^[0-9a-f]{32}$/.test(text(st.schluessel))) { st.schluessel = hex32(); st.schluesselFuer = fp; }\n    sichern();\n  }\n  $(\"[data-rt-zurueck-letzter]\").addEventListener(\"click\", function () {\n    if (st.art === \"retoure\" && lage.bezahlt) { erstattungZeichnen(); zustand(\"erstattung\"); }\n    else { artikelZeichnen(); zustand(\"artikel\"); }\n  });\n  $$(\"[data-rt-zurueck]\").forEach(function (k) {\n    k.addEventListener(\"click\", function () {\n      var z = k.getAttribute(\"data-rt-zurueck\");\n      if (z === \"artikel\") artikelZeichnen();\n      if (z === \"anliegen\") anliegenZeichnen();\n      zustand(z);\n    });\n  });\n\n  /* ---- Absenden ---- */\n  var absendenKnopf = $(\"[data-rt-absenden]\");\n  function absenden() {\n    if (laeuft) return;\n    laeuft = true; absendenKnopf.disabled = true; meldungen([]);\n    var erwartet = st.art === \"reklamation\" ? st.fotos.length : 0;\n    stempeln({ token: token, stand: standFuerServer(), schluessel: st.schluessel, website: text($(\"[data-rt-website]\").value) }).then(function (r) { return post(R + \"absenden\", r); }).then(function (a) {\n      laeuft = false; absendenKnopf.disabled = false;\n      if (a.ok) { fertig(a, erwartet); return; }\n      if (a.fehler === \"felder\") {\n        // Z. B. ein Artikel ist inzwischen zurueckgeschickt: zurueck zur Auswahl, der Satz steht oben\n        var saetze = felderSaetze(a);\n        artikelZeichnen(); zustand(\"artikel\"); meldungen(saetze);\n        return;\n      }\n      serverFehler(a, function () { zustand(\"pruefen\"); absenden(); });\n    });\n  }\n  absendenKnopf.addEventListener(\"click\", absenden);\n\n  function fertig(a, erwartet) {\n    var art = text(a.art) || st.art;\n    $(\"[data-rt-fertig-titel]\").textContent = art === \"reklamation\" ? \"Deine Reklamation ist angekommen \u2013 danke, dass du uns Bescheid gibst.\" : art === \"umtausch\" ? \"Dein Umtausch ist angemeldet.\" : \"Deine Retoure ist angemeldet.\";\n    $(\"[data-rt-fertig-nummer]\").textContent = text(a.nummer);\n    var h = text(a.hinweis);\n    if (art === \"reklamation\" && erwartet > (+a.fotos || 0)) {\n      var fehlt = erwartet - (+a.fotos || 0);\n      h += (h ? \" \" : \"\") + (fehlt === 1 ? \"Ein Foto konnten wir nicht \u00FCbernehmen \u2013 schick es uns\" : fehlt + \" Fotos konnten wir nicht \u00FCbernehmen \u2013 schick sie uns\") + \" gern als Antwort auf die Best\u00E4tigungsmail.\";\n    }\n    $(\"[data-rt-fertig-hinweis]\").textContent = h;\n    var ol = $(\"[data-rt-ablauf]\");\n    ol.textContent = \"\";\n    (a.ablauf || []).forEach(function (s) {\n      var li = el(\"li\");\n      li.appendChild(el(\"strong\", \"\", text(s.titel)));\n      li.appendChild(el(\"span\", \"\", text(s.text)));\n      if (Array.isArray(s.adresse) && s.adresse.length) {\n        var ad = el(\"span\", \"mhsys-rt__adresse\");\n        s.adresse.forEach(function (z, i) { if (i) ad.appendChild(el(\"br\")); ad.appendChild(document.createTextNode(text(z))); });\n        li.appendChild(ad);\n      }\n      ol.appendChild(li);\n    });\n    var mitSchein = !!(a.schein && art !== \"reklamation\");\n    $(\"[data-rt-drucken-zeile]\").hidden = !mitSchein;\n    $(\"[data-rt-ohne-drucker]\").hidden = !mitSchein;\n    if (mitSchein) { $(\"[data-rt-ohne-drucker]\").textContent = text(a.schein.ohne_drucker); scheinFuellen(a.schein); }\n    schreiben(STAND, \"\");\n    st = null;\n    zustand(\"fertig\");\n    if (mitSchein) $(\"[data-rt-schein]\").hidden = false;\n  }\n\n  /* ---- Retourenschein (Druckansicht) ---- */\n  function scheinFuellen(s) {\n    var art = text(s.art);\n    if (s.shop) $(\"[data-rt-schein-shop]\").textContent = text(s.shop);\n    $(\"[data-rt-schein-art]\").textContent = text(s.titel);\n    $(\"[data-rt-schein-nummer]\").textContent = text(s.nummer);\n    $(\"[data-rt-schein-hinweis]\").textContent = text(s.hinweis);\n    var dl = $(\"[data-rt-schein-daten]\");\n    dl.textContent = \"\";\n    (s.daten || []).forEach(function (d) {\n      var div = el(\"div\");\n      div.appendChild(el(\"dt\", \"\", text(d.label)));\n      div.appendChild(el(\"dd\", \"\", text(d.wert)));\n      dl.appendChild(div);\n    });\n    $(\"[data-rt-schein-groesse-kopf]\").hidden = art !== \"umtausch\";\n    var tb = $(\"[data-rt-schein-artikel]\");\n    tb.textContent = \"\";\n    (s.artikel || []).forEach(function (p) {\n      var tr = el(\"tr\");\n      var td = el(\"td\");\n      td.appendChild(el(\"span\", \"\", text(p.name)));\n      if (p.artnr) td.appendChild(el(\"small\", \"\", text(p.artnr)));\n      tr.appendChild(td);\n      tr.appendChild(el(\"td\", \"mhsys-rt__zahl\", text(p.menge) + \" \u00D7\"));\n      if (art === \"umtausch\") { var g = el(\"td\"); g.appendChild(el(\"strong\", \"\", text(p.groesse))); tr.appendChild(g); }\n      var pr = el(\"td\", \"mhsys-rt__pruef\"); pr.appendChild(el(\"span\", \"mhsys-rt__kasten\")); tr.appendChild(pr);\n      tb.appendChild(tr);\n    });\n    var tipps = $(\"[data-rt-schein-tipps]\");\n    tipps.textContent = \"\";\n    (s.tipps || []).forEach(function (t) { tipps.appendChild(el(\"li\", \"\", text(t))); });\n    var ab = $(\"[data-rt-schein-absender]\");\n    ab.textContent = \"\";\n    (s.absender || []).forEach(function (z, i) { if (i) ab.appendChild(el(\"br\")); ab.appendChild(document.createTextNode(text(z))); });\n    var an = $(\"[data-rt-schein-an]\");\n    an.textContent = \"\";\n    (s.an || []).forEach(function (z, i) {\n      // Firma fett, dann die Zeile mit der Retourennummer, Strasse, Ort fett (wie zettel.php)\n      an.appendChild(el(i === 0 || i === 3 ? \"strong\" : i === 1 ? \"span\" : \"span\", i === 1 ? \"mhsys-rt__etikett-retoure\" : \"\", text(z)));\n    });\n    $(\"[data-rt-schein-fuss]\").textContent = s.bestellung ? \"Bestellung \" + text(s.bestellung) : \"\";\n  }\n  function scheinZeigenAlt(u) {\n    scheinFuellen(u.schein);\n    $(\"[data-rt-ohne-drucker-alt]\").textContent = text(u.schein.ohne_drucker);\n    zustand(\"schein\");\n    $(\"[data-rt-schein]\").hidden = false;\n  }\n  $$(\"[data-rt-drucken]\").forEach(function (k) { k.addEventListener(\"click\", function () { window.print(); }); });\n\n  /* ---- Start ---- */\n  function start() {\n    var code = /^[0-9a-f]{32}$/i.test(text(window.mhsysBsCode)) ? window.mhsysBsCode : \"\";\n    window.mhsysBsCode = \"\";\n    if (code) {\n      zustand(\"laden\");\n      post(S + \"code\", { code: code }).then(function (a) {\n        if (a.ok && a.token) { token = text(a.token); schreiben(TOKEN, token); ladeLage(); return; }\n        if (token) { ladeLage(); return; }\n        anmelden(text(a.meldung) || MELDUNGEN.abgelaufen);\n      });\n      return;\n    }\n    var direkt = (Date.now() - (parseInt(lesen(DIREKT), 10) || 0)) < 60000;\n    schreiben(DIREKT, \"\");\n    if (token && direkt) { ladeLage(); return; }\n    if (kunde) { meineLaden(\"\"); return; }\n    // anmelden() leert den Token - fuer \"weitermachen\" vorher merken und danach wieder hinlegen\n    var alt = token;\n    anmelden(\"\");\n    if (alt) { token = alt; schreiben(TOKEN, alt); $(\"[data-rt-weiter-zeile]\").hidden = false; }\n  }\n  start();\n})();\n"],
  "mappings": "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",
  "names": ["zeile", "o", "fertig"]
}
