@hyperbook/markdown 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1301 @@
1
+ var multievent = {
2
+ $id: function (ID) {
3
+ return document.getElementById(ID);
4
+ },
5
+ zZahl: function (von, bis, kommastellen) {
6
+ kommastellen = typeof kommastellen == "undefined" ? 0 : kommastellen;
7
+ if (von >= 1) {
8
+ var vonX = von;
9
+ var bisY = bis - von;
10
+ var minus = 0;
11
+ } else {
12
+ var vonX = 1;
13
+ var bisY = bis + Math.abs(von);
14
+ var minus = Math.abs(von) + 1;
15
+ }
16
+ var Zahl =
17
+ bis - von != 0
18
+ ? (((Math.random() * Math.pow(10, 12)) % bisY) + vonX - minus).toFixed(
19
+ kommastellen,
20
+ )
21
+ : von;
22
+ return Zahl;
23
+ },
24
+ misch: function (Arr) {
25
+ var MischObj = Arr;
26
+ var tmp, rand;
27
+ for (var i = 0; i < MischObj.length; i++) {
28
+ zufall = Math.floor(Math.random() * MischObj.length);
29
+ tmp = MischObj[zufall];
30
+ MischObj.splice(zufall, 1);
31
+ MischObj.push(tmp);
32
+ }
33
+ return MischObj;
34
+ },
35
+ orig: [],
36
+ butAnAus: function (butID) {
37
+ var but = document.getElementById(butID);
38
+ var markiert = but.getAttribute("data-markiert");
39
+ var gewertet = but.getAttribute("data-gewertet");
40
+
41
+ if (gewertet == 0) {
42
+ if (markiert == "0") {
43
+ but.style.outline = "4px dotted green";
44
+ but.style.outlineOffset = "-3px";
45
+ but.setAttribute("data-markiert", "1");
46
+ } else {
47
+ but.style.outline = "none";
48
+ but.setAttribute("data-markiert", "0");
49
+ }
50
+ }
51
+ },
52
+ vNr: [],
53
+ init: function () {
54
+ document.getElementsByTagName("body")[0].style.fontFamily = "sans-serif";
55
+ var Ergebnisse = document.createElement("div");
56
+ Ergebnisse.id = "MultieventErgebnisse";
57
+ Ergebnisse.style =
58
+ "font-family:sans-serif;position:fixed; top:1em;right:1em;background-color:white;border:2px solid silver;text-align:center;padding:0.5em;border-radius:6px;display:none;z-index:1000;";
59
+ var first = document.getElementsByTagName("body")[0].firstChild;
60
+ document.getElementsByTagName("body")[0].insertBefore(Ergebnisse, first);
61
+
62
+ var SK = document.getElementsByClassName("multievent");
63
+ for (var i = 0; i < SK.length; i++) {
64
+ multievent.orig[i] = SK[i].innerHTML;
65
+ var VersNr = multievent.zZahl(-1, 9);
66
+ multievent.vNr[i] = parseInt(VersNr);
67
+ multievent.los(i);
68
+ }
69
+ },
70
+ los: function (clNr) {
71
+ multievent.gesamtwertung[clNr] = 0;
72
+ var SK = document.getElementsByClassName("multievent"); /*Suchklasse*/
73
+ multievent.vNr[clNr]++;
74
+ multievent.gewertet[clNr] = 0;
75
+ var IN = multievent.orig[clNr]
76
+ .replace(/\{(.)\{\s*/gms, "{$1{")
77
+ .replace(/\s*\}\}/gms, "}}"); /*Inhal neu*/
78
+ var InpCh = "<input type='checkbox' class='MECheckbox' value=";
79
+ IN = IN.replace(
80
+ /\{c(\d*?)\{!(.*?)\}\}/gms,
81
+ "<span><span></span>" +
82
+ InpCh +
83
+ "'1' name='checkboxc" +
84
+ clNr +
85
+ "$1' /><label class='MeChLabel'>$2</label></span>",
86
+ );
87
+ IN = IN.replace(
88
+ /\{c(\d*?)\{(.*?)\}\}/gms,
89
+ "<span><span></span>" +
90
+ InpCh +
91
+ "'0' name='checkboxc" +
92
+ clNr +
93
+ "$1' /><label class='MeChLabel'>$2</label></span>",
94
+ );
95
+ IN = IN.replace(
96
+ /\{C(\d*?)\{!(.*?)\}\}/gms,
97
+ "<span><label class='MeChLabel'>$2</label>" +
98
+ InpCh +
99
+ "'1' name='checkboxC" +
100
+ clNr +
101
+ "$1' /><span></span></span>",
102
+ );
103
+ IN = IN.replace(
104
+ /\{C(\d*?)\{(.*?)\}\}/gms,
105
+ "<span><label class='MeChLabel'>$2</label>" +
106
+ InpCh +
107
+ "'0' name='checkboxC" +
108
+ clNr +
109
+ "$1' /><span></span></span>",
110
+ );
111
+ IN = IN.replace(
112
+ /\{k(\d*?)\{!(.*?)\}\}/gms,
113
+ "<button class='butAnAus' style='border:1px solid silver;text-align:center;border-radius:3px;font-size:1em;font-weight:bold;' onclick='multievent.butAnAus(this.id)' value='1' data-gruppe='$1a' data-typ='0' data-wertIst='$2' data-markiert='0' data-gewertet='0' />$2</button><span></span>",
114
+ );
115
+ IN = IN.replace(
116
+ /\{k(\d*?)\{(.*?)\}\}/gms,
117
+ "<button class='butAnAus' style='border:1px solid silver;border-radius:3px;text-align:center;font-size:1em;font-weight:bold;' onclick='multievent.butAnAus(this.id)' value='0' data-gruppe='$1a' data-typ='0' data-wertIst='$2' data-markiert='0' data-gewertet='0'/>$2</button><span></span>",
118
+ );
119
+ IN = IN.replace(
120
+ /\{K(\d*?)\{!(.*?)\}\}/gms,
121
+ "<button class='butAnAus' style='border:1px solid silver;border-radius:3px;text-align:center;font-size:1em;font-weight:bold;' onclick='multievent.butAnAus(this.id)' value='1' data-gruppe='$1b' data-typ='1' data-wertIst='$2' data-markiert='0' data-gewertet='0' />$2</button><span></span>",
122
+ );
123
+ IN = IN.replace(
124
+ /\{K(\d*?)\{(.*?)\}\}/gms,
125
+ "<button class='butAnAus' style='border:1px solid silver;border-radius:3px;text-align:center;font-size:1em;font-weight:bold;' onclick='multievent.butAnAus(this.id)' value='0' data-gruppe='$1b' data-typ='1' data-wertIst='$2' data-markiert='0' data-gewertet='0'/>$2</button><span></span>",
126
+ );
127
+ var InpRa = "<input type='radio' class='MERadio' value=";
128
+ IN = IN.replace(
129
+ /\{r(\d*?)\{!(.*?)\}\}/gms,
130
+ "<span><span></span>" +
131
+ InpRa +
132
+ "'1' name='radio" +
133
+ clNr +
134
+ "$1'/><label class='MeRaLabel'>$2</label></span>",
135
+ );
136
+ IN = IN.replace(
137
+ /\{r(\d*?)\{(.*?)\}\}/gms,
138
+ "<span><span></span>" +
139
+ InpRa +
140
+ "'0' name='radio" +
141
+ clNr +
142
+ "$1' /><label class='MeRaLabel'>$2</label></span>",
143
+ );
144
+ IN = IN.replace(
145
+ /\{R(\d*?)\{!(.*?)\}\}/gms,
146
+ "<span><label class='MeRaLabel'>$2</label>" +
147
+ InpRa +
148
+ "'1' name='Radio" +
149
+ clNr +
150
+ "$1'/><span></span></span>",
151
+ );
152
+ IN = IN.replace(
153
+ /\{R(\d*?)\{(.*?)\}\}/gms,
154
+ "<span><label class='MeRaLabel'>$2</label>" +
155
+ InpRa +
156
+ "'0' name='Radio" +
157
+ clNr +
158
+ "$1' /><span></span></span>",
159
+ );
160
+ var InpT =
161
+ "<input class='multiEvInp' style='text-align:center;font-size:1em;font-weight:bold;' type='text' value='' data-Wert='$1' data-style=";
162
+ IN = IN.replace(/\{t\{(.*?)\}\}/gms, InpT + "'klein' />");
163
+ IN = IN.replace(/\{T\{(.*?)\}\}/gms, InpT + "'gross' />");
164
+ IN = IN.replace(
165
+ /\{l\{(.*?)\}\}/gms,
166
+ InpT +
167
+ "'loesungklein' onfocus='if(this.value==this.getAttribute(\"data-gemischt\")){this.value=\"\"}' onblur='multievent.inpGemEing(this.value,this.id)' />",
168
+ );
169
+ IN = IN.replace(
170
+ /\{L\{(.*?)\}\}/gms,
171
+ InpT +
172
+ "'loesunggross' onfocus='if(this.value==this.getAttribute(\"data-gemischt\")){this.value=\"\"}' onblur='multievent.inpGemEing(this.value,this.id)' />",
173
+ );
174
+ IN = IN.replace(/\{z\{(.*?)\}\}/gms, InpT + "'zahl'/>");
175
+ var InpYZ =
176
+ "<input class='multiEvInpYZ' style='text-align:center;font-size:1em;font-weight:bold;' type='text' value='' data-wk='$1' data-style=";
177
+ IN = IN.replace(/\{Z\{(.*?)\}\}/gms, InpYZ + "'zahl'/>");
178
+ IN = IN.replace(/\{Y\{(.*?)\}\}/gms, InpYZ + "'gross'/>");
179
+ IN = IN.replace(/\{y\{(.*?)\}\}/gms, InpYZ + "'klein'/>");
180
+ IN = IN.replace(
181
+ /\{X\{(.*?)\}\}/gms,
182
+ "<span class='multiEvSpanY' data-wk='$1'></span>",
183
+ );
184
+ IN = IN.replace(
185
+ /\{b\{(.*?)\}\}/gms,
186
+ "<table cellpadding='0' cellspacing='0' style='border-collapse:collapse;'><tr><td class='multieventBlende' onclick='multievent.blende(this.id)' style='cursor:pointer;' valign='top'>&#128065;</td><td style='display:none;'>$1</td></tr></table>",
187
+ );
188
+ IN = IN.replace(
189
+ /\{B\{(.*?)\}\}/gms,
190
+ "<table cellpadding='0' cellspacing='0' style='border-collapse:collapse;'><tr><td class='multieventBlende' onclick='multievent.blende(this.id)' style='cursor:pointer;' valign='top'>&#128065;</td><td style='display:none;'>$1</td></tr></table>",
191
+ );
192
+ IN = IN.replace(
193
+ /\{n\{(.*?)\|\s*(\d+?)\s*\}\}/gms,
194
+ "<textarea style='width:$1px; height:$2px'></textarea>",
195
+ );
196
+ IN = IN.replace(
197
+ /\{n\{(.*?)\|(.*?)\|(.*?)\}\}/gms,
198
+ "<textarea style='width:$1px; height:$2px'>$3</textarea>",
199
+ );
200
+ IN = IN.replace(
201
+ /\{h\{(.*?)\}\}/gms,
202
+ "<span class='MultieventhinweisFalsch" +
203
+ clNr +
204
+ "' style='display:none'>$1</span>",
205
+ ); //Hinweis wenn Auswertung falsch
206
+ IN = IN.replace(
207
+ /\{H\{(.*?)\}\}/gms,
208
+ "<span class='MultieventhinweisRichtig" +
209
+ clNr +
210
+ "' style='display:none'>$1</span>",
211
+ ); //Hinweis wenn Auswertung richtig
212
+ IN = IN.replace(
213
+ /\{v\{(.*?)\}\}/gms,
214
+ "<table align='center' class='MulEvHaManTab' style='border-collapse:collapse;' border='0' cellspacing='0' cellpadding='6'><tr><td valign='middle' align='center' style='min-width:10em;font-family:sans-serif;' class='MulEvHaManTd'><span class='MulEvHaManAusg'>$1</span></td></tr><tr><td align='center' ><span class='MulEvHaManFehl' style='text-decoration:line-through;color:#e00;font-size:smaller;font-family:sans-serif;'> </span><br /></td></tr><tr><td align='center'><input maxlength='2' onkeydown='this.value=\"\"' onkeyup='multievent.MulEvHaMan(this.id);multievent.Auswertung(\"" +
215
+ clNr +
216
+ "\")' class='MulEvHaManInp' data-MulEvHaMan='$1' data-Nummer='0' data-BuchstSind='' data-Fehler='1' data-BegriffeSind='' style='text-align:center;font-size:1em;width:1.5em;font-family:sans-serif;padding:2px;border:1px solid #999;border-radius:3px;background-color:#eee;'/></td></tr></table>",
217
+ );
218
+ IN = IN.replace(
219
+ /\{w\{(.*?)\}\}/gms,
220
+ "<table align='center' class='MultiEvSuchTable' style='border-collapse:collapse;' border='0' cellspacing='0'><tr><td height='28' width='28' valign='middle' align='center' class='MultiEvSuchTd'>$1</td></tr></table>",
221
+ );
222
+ IN = IN.replace(
223
+ /\{W\{(.*?)\}\}/gms,
224
+ "<table align='center' class='MultiKwrTable' style='border-collapse:collapse' border='0' cellspacing='0'><tr class='MultiKwrTr'><td height='28' width='28' valign='middle' align='center' class='MultiKwrTd'>$1</td></tr></table>",
225
+ );
226
+
227
+ var SelO = "";
228
+ IN = IN.replace(
229
+ /\{a\{(.+?)\|(.+?)\}\}/gms,
230
+ "<select class='multiEvSel' style='text-align:center;font-size:1em;font-weight:bold;'><option value='0'>$1|$2</select>",
231
+ );
232
+ IN = IN.replace(
233
+ /\{A\{(.+?)\|(.+?)\}\}/gms,
234
+ "<select class='multiEvSel' style='text-align:center;font-size:1em;font-weight:bold;'><option value='0'></option><option value='0'>$1|$2</select>",
235
+ );
236
+
237
+ IN = IN.replace(
238
+ /\{S(\d*?)\{(.*?)\}\}/gms,
239
+ "<select class='multiEvSel' style='text-align:center;font-size:1em;font-weight:bold;' data-wertIst='$2' data-SelNr='" +
240
+ clNr +
241
+ "$1'><option>" +
242
+ clNr +
243
+ "$1-$2</option></select>",
244
+ );
245
+ SK[clNr].innerHTML =
246
+ IN +
247
+ "<p id='MuEvAuswButP" +
248
+ clNr +
249
+ "' align='center'><button id='MuEvAuswButB" +
250
+ clNr +
251
+ "' onclick='multievent.Auswertung(\"" +
252
+ clNr +
253
+ "\")'>&#10004; <small id='MultieventVersuche" +
254
+ clNr +
255
+ "'>0</small></button> <span id='MuEvNeuButP" +
256
+ clNr +
257
+ "' align='center'><button onclick='multievent.los(" +
258
+ clNr +
259
+ ")' title='Neu'>&crarr;</button></span></p>";
260
+ var Inp = SK[clNr].getElementsByTagName("input");
261
+ var InpZ = SK[clNr].getElementsByClassName("multiEvInpYZ");
262
+ var SpanY = SK[clNr].getElementsByClassName("multiEvSpanY");
263
+ var SelIst = SK[clNr].getElementsByTagName("select");
264
+ var Textarea = SK[clNr].getElementsByTagName("Textarea");
265
+ var butAU = SK[clNr].getElementsByClassName("butAnAus");
266
+ var MuKwTable = SK[clNr].getElementsByClassName("MultiKwrTable");
267
+ var MuKwTr = SK[clNr].getElementsByClassName("MultiKwrTr");
268
+ var MuSuTable = SK[clNr].getElementsByClassName("MultiEvSuchTable");
269
+ var MuSuTd = SK[clNr].getElementsByClassName("MultiEvSuchTd");
270
+ //var MuKwTd=SK[clNr].getElementsByClassName("MultiKwrTd");
271
+ var multiEvSel = SK[clNr].getElementsByClassName("multiEvSel");
272
+
273
+ var MuEvHaMaI = SK[clNr].getElementsByClassName("MulEvHaManInp");
274
+ var MuEvHaMaA = SK[clNr].getElementsByClassName("MulEvHaManAusg");
275
+ var MuEvHaMaF = SK[clNr].getElementsByClassName("MulEvHaManFehl");
276
+
277
+ for (var j = 0; j < MuEvHaMaI.length; j++) {
278
+ var Begriffe = MuEvHaMaI[j].getAttribute("data-MulEvHaMan").split("|");
279
+ var BegrGemischt = multievent.misch(Begriffe);
280
+ var BegrGem = BegrGemischt.join("|");
281
+ var BegrAusg = "";
282
+ for (var k = 0; k < BegrGemischt[0].length; k++) {
283
+ BegrAusg += "<span style='color:#555'>&diams;</span>";
284
+ }
285
+ MuEvHaMaA[j].innerHTML = "<strong>" + BegrAusg + "</strong>";
286
+ MuEvHaMaI[j].setAttribute("data-MulEvHaMan", BegrGem);
287
+ MuEvHaMaI[j].id = "MuEvHaMaI_" + clNr + "_" + j;
288
+ MuEvHaMaA[j].id = "MuEvHaMaA_" + clNr + "_" + j;
289
+ MuEvHaMaF[j].id = "MuEvHaMaF_" + clNr + "_" + j;
290
+ }
291
+
292
+ for (var j = 0; j < MuSuTable.length; j++) {
293
+ MuSuTable[j].innerHTML = MuSuTable[j].innerHTML
294
+ .replace(
295
+ /~~/gms,
296
+ "</td></tr><tr><td height='28' width='28' valign='middle' align='center' class='MultiEvSuchTd'>",
297
+ )
298
+ .replace(
299
+ /\|/gms,
300
+ "</td><td height='28' width='28' valign='middle' align='center' class='MultiEvSuchTd' >",
301
+ );
302
+ }
303
+
304
+ for (var j = 0; j < MuSuTd.length; j++) {
305
+ var TdText = MuSuTd[j].textContent.trim();
306
+ var BuchstGrSuche = TdText.search(/[A-ZÄÖÜ]/);
307
+ if (BuchstGrSuche != -1) {
308
+ MuSuTd[j].innerHTML =
309
+ "<button class='MuEvSuBut' onmousedown='multievent.suAn(); multievent.suchselAnAus(this.id)' onmouseover='multievent.suchselAnAus(this.id)' id='SuchselButton_" +
310
+ clNr +
311
+ "_" +
312
+ j +
313
+ "' data-richtig='1' data-markiert='0' data-gewertet='0' data-spielAus='0' data-move='1' style='width:1.8em;height:1.8em;font-size:1em;border:1px solid silver;border-radius:3px;padding:2px;'>" +
314
+ TdText +
315
+ "</button>";
316
+ } else {
317
+ MuSuTd[j].innerHTML =
318
+ "<button class='MuEvSuBut' onmousedown='multievent.suAn(); multievent.suchselAnAus(this.id)' onmouseover='multievent.suchselAnAus(this.id)' id='SuchselButton_" +
319
+ clNr +
320
+ "_" +
321
+ j +
322
+ "' data-richtig='0' data-markiert='0' data-gewertet='0' data-spielAus='0' data-move='1' style='width:1.8em;height:1.8em;font-size:1em;border:1px solid silver;border-radius:3px;padding:2px;'>" +
323
+ TdText.toUpperCase() +
324
+ "</button>";
325
+ }
326
+ }
327
+
328
+ for (var j = 0; j < MuKwTable.length; j++) {
329
+ MuKwTable[j].innerHTML = MuKwTable[j].innerHTML
330
+ .replace(
331
+ /~~/gms,
332
+ "</td></tr><tr class='MultiKwrTr'><td height='28' width='28' valign='middle' align='center' class='MultiKwrTd'>",
333
+ )
334
+ .replace(
335
+ /\|/gms,
336
+ "</td><td height='28' width='28' valign='middle' align='center' class='MultiKwrTd' >",
337
+ );
338
+ }
339
+
340
+ for (var j = 0; j < multiEvSel.length; j++) {
341
+ multiEvSel[j].innerHTML = multiEvSel[j].innerHTML.replace(
342
+ /\|/gms,
343
+ "</option><option value='0'>",
344
+ );
345
+ }
346
+
347
+ for (var j = 0; j < multiEvSel.length; j++) {
348
+ multiEvSel[j].innerHTML = multiEvSel[j].innerHTML.replace(
349
+ /value=.0.>\s*?!/g,
350
+ "value='1'>",
351
+ );
352
+ }
353
+
354
+ for (var j = 0; j < MuKwTr.length; j++) {
355
+ var MuKwTd = MuKwTr[j].getElementsByClassName("MultiKwrTd");
356
+ for (var k = 0; k < MuKwTd.length; k++) {
357
+ var TdText = MuKwTd[k].textContent.trim();
358
+ var BuchstSuche = TdText.search(/[a-zA-ZÄÖÜäöüß]/);
359
+ if (BuchstSuche != -1) {
360
+ MuKwTd[k].style.backgroundColor = "white";
361
+ MuKwTd[k].innerHTML =
362
+ "<input class='MultiKwrInp' data-Sprungmarke='" +
363
+ clNr +
364
+ "-" +
365
+ j +
366
+ "-" +
367
+ k +
368
+ "' onkeyup='multievent.tastensprung(\"" +
369
+ clNr +
370
+ "-" +
371
+ j +
372
+ "-" +
373
+ k +
374
+ "\",this.value)' data-wert='" +
375
+ TdText +
376
+ "' data-style='loesungklein' maxlength='1' style='width:1.2em;font-size:1em;text-align:center;padding:2px;border:1px solid #999;border-radius:3px;'/>";
377
+ MuKwTd[k].style.border = "1px solid black";
378
+ }
379
+ var ZahlenSuche = TdText.search(/[0-9]/);
380
+ if (ZahlenSuche != -1) {
381
+ MuKwTd[k].style.backgroundColor = "white";
382
+ }
383
+ }
384
+ }
385
+
386
+ for (var j = 0; j < butAU.length; j++) {
387
+ butAU[j].id = "buAnAu" + clNr + j;
388
+ }
389
+ if (
390
+ Inp.length == 0 &&
391
+ SelIst.length == 0 &&
392
+ butAU.length == 0 &&
393
+ MuSuTable.length == 0
394
+ ) {
395
+ document.getElementById("MuEvNeuButP" + clNr).style.display = "none";
396
+ document.getElementById("MuEvAuswButP" + clNr).style.display = "none";
397
+ multievent.gesamtwertung[clNr] = "-1";
398
+ }
399
+ var SelNr = [];
400
+ for (var j = 0; j < SelIst.length; j++) {
401
+ if (SelIst[j].getAttribute("data-SelNr")) {
402
+ SelNr[j] = SelIst[j].getAttribute("data-SelNr");
403
+ }
404
+ }
405
+ SelNr.sort();
406
+ var SelNrUni = [];
407
+ var snu = 0;
408
+ for (var j = 0; j < SelNr.length; j++) {
409
+ if (j == 0) {
410
+ SelNrUni[snu] = SelNr[j].toString();
411
+ snu++;
412
+ } else {
413
+ if (SelNr[j] != SelNr[j - 1]) {
414
+ SelNrUni[snu] = SelNr[j];
415
+ snu++;
416
+ }
417
+ }
418
+ }
419
+
420
+ var SelNrOpt = [];
421
+ var SelNrOptNeu = [];
422
+ for (var j = 0; j < SelNrUni.length; j++) {
423
+ SelNrOpt[j] = [];
424
+
425
+ var m = 0;
426
+ for (var k = 0; k < SelIst.length; k++) {
427
+ if (SelIst[k].getAttribute("data-SelNr") == SelNrUni[j]) {
428
+ SelNrOpt[j][m] =
429
+ "<option>" + SelIst[k].getAttribute("data-wertIst") + "</option>";
430
+ m++;
431
+ }
432
+ }
433
+
434
+ SelNrOptNeu[j] = SelNrOpt[j].filter(
435
+ (ele, pos) => SelNrOpt[j].indexOf(ele) == pos,
436
+ );
437
+
438
+ SelNrOptNeu[j].sort();
439
+ }
440
+
441
+ for (var j = 0; j < SelIst.length; j++) {
442
+ var SeNr = SelIst[j].getAttribute("data-SelNr");
443
+ for (var k = 0; k < SelNrUni.length; k++) {
444
+ if (SeNr == SelNrUni[k] && SeNr != null) {
445
+ SelIst[j].innerHTML = "<option></option>" + SelNrOptNeu[k].join("");
446
+ }
447
+ }
448
+ }
449
+
450
+ for (var j = 0; j < SelIst.length; j++) {
451
+ var SeNr = SelIst[j].getAttribute("data-SelNr");
452
+ var Opt = SelIst[j].getElementsByTagName("option");
453
+ var WertSel = SelIst[j].getAttribute("data-wertIst");
454
+ for (var k = 0; k < Opt.length; k++) {
455
+ if (Opt[k].text == WertSel && SeNr != null) {
456
+ SelIst[j].getElementsByTagName("option")[k].value = "1";
457
+ } else {
458
+ if (SeNr != null) {
459
+ SelIst[j].getElementsByTagName("option")[k].value = "0";
460
+ }
461
+ }
462
+ }
463
+ }
464
+
465
+ for (var j = 0; j < InpZ.length; j++) {
466
+ var wk = InpZ[j].getAttribute("data-wk").split("|");
467
+ var WertNr = multievent.vNr[clNr] % wk.length;
468
+ InpZ[j].setAttribute("data-Wert", wk[WertNr]);
469
+ multievent;
470
+ var IB = wk[WertNr].length;
471
+
472
+ if (IB <= 1) {
473
+ InpZ[j].style.width = "1.2em";
474
+ }
475
+ if (IB == 2) {
476
+ InpZ[j].style.width = "1.8em";
477
+ }
478
+ if (IB == 3) {
479
+ InpZ[j].style.width = "2.3em";
480
+ }
481
+ if (IB == 4) {
482
+ InpZ[j].style.width = "3.2em";
483
+ }
484
+ if (IB > 4) {
485
+ InpZ[j].style.width = IB * 0.75 + "em";
486
+ }
487
+ InpZ[j].style.fontSize = "1em";
488
+ InpZ[j].style.textAlign = "center";
489
+ }
490
+ for (var j = 0; j < SpanY.length; j++) {
491
+ var wk = SpanY[j].getAttribute("data-wk").split("|");
492
+ var WertNr = multievent.vNr[clNr] % wk.length;
493
+ SpanY[j].innerHTML = wk[WertNr];
494
+ }
495
+ var b = SK[clNr].getElementsByClassName("multieventBlende");
496
+ for (var j = 0; j < b.length; j++) {
497
+ b[j].id = "MultiBlende" + clNr + "" + j;
498
+ }
499
+ for (var j = 0; j < Textarea.length; j++) {
500
+ Textarea[j].value = Textarea[j].value
501
+ .replace(/~/g, "\n")
502
+ .replace(/<br>/g, "");
503
+ }
504
+ for (var j = 0; j < Inp.length; j++) {
505
+ if (
506
+ Inp[j].type == "text" &&
507
+ (Inp[j].className == "multiEvInp" || Inp[j].className == "multiEvInpYZ")
508
+ ) {
509
+ var iW = Inp[j].getAttribute("data-Wert").split("|");
510
+ var InpStil = Inp[j].getAttribute("data-style");
511
+ if (InpStil == "loesungklein" || InpStil == "loesunggross") {
512
+ var loesBuchst = [];
513
+ var LoesWort = Inp[j].getAttribute("data-Wert");
514
+ for (var k = 0; k < LoesWort.length; k++) {
515
+ loesBuchst[k] = LoesWort.substring(k, parseInt(k + 1));
516
+ }
517
+ var InpLoesGemWert = multievent.misch(loesBuchst).join("");
518
+ for (var l = 0; l < 5; l++) {
519
+ var AnfWert = LoesWort.substring(0, 1);
520
+ var AnfGem = InpLoesGemWert.substring(0, 1);
521
+ if (AnfWert == AnfGem) {
522
+ InpLoesGemWert = multievent.misch(loesBuchst).join("");
523
+ }
524
+ }
525
+
526
+ if (Inp[j].parentNode.className != "MultiKwrTd") {
527
+ Inp[j].value = InpLoesGemWert;
528
+ }
529
+ Inp[j].setAttribute("data-gemischt", Inp[j].value);
530
+ Inp[j].id = "InpLoesGem" + clNr + "" + j;
531
+ }
532
+ var IB = 0;
533
+ for (var k = 0; k < iW.length; k++) {
534
+ var s = Inp[j].style;
535
+ if (IB < iW[k].length) {
536
+ IB = iW[k].length;
537
+ }
538
+ if (IB <= 1) {
539
+ s.width = "1.2em";
540
+ }
541
+ if (IB == 2) {
542
+ s.width = "1.8em";
543
+ }
544
+ if (IB == 3) {
545
+ s.width = "2.3em";
546
+ }
547
+ if (IB == 4) {
548
+ s.width = "3.2em";
549
+ }
550
+ if (IB > 4) {
551
+ s.width = IB * 0.75 + "em";
552
+ }
553
+ }
554
+ }
555
+ }
556
+
557
+ var MECh = SK[clNr].getElementsByClassName("MECheckbox");
558
+ var MEChLa = SK[clNr].getElementsByClassName("MeChLabel");
559
+ for (var j = 0; j < MECh.length; j++) {
560
+ MECh[j].id = "MECheckbox" + clNr + "" + j;
561
+ MEChLa[j].setAttribute("for", "MECheckbox" + clNr + "" + j);
562
+ }
563
+
564
+ var MERa = SK[clNr].getElementsByClassName("MERadio");
565
+ var MERaLa = SK[clNr].getElementsByClassName("MeRaLabel");
566
+ for (var j = 0; j < MERa.length; j++) {
567
+ MERa[j].id = "MERadio" + clNr + "" + j;
568
+ MERaLa[j].setAttribute("for", "MERadio" + clNr + "" + j);
569
+ }
570
+
571
+ SK[clNr].style.display = "block";
572
+ },
573
+ inpGemEing: function (WertIst, GemID) {
574
+ var vIst = WertIst.replace(/\s/g, "");
575
+ var wertGem = document.getElementById(GemID).getAttribute("data-gemischt");
576
+ if (vIst == "") {
577
+ document.getElementById(GemID).value = wertGem;
578
+ }
579
+ },
580
+ Auswertung: function (classNr) {
581
+ multievent.ErgAus();
582
+ if (multievent.gewertet[classNr] == 0) {
583
+ var HgF =
584
+ "linear-gradient(90deg, transparent 50%, rgba(255,255,255,.8) 50%)";
585
+ var F = 0;
586
+
587
+ var But = document
588
+ .getElementsByClassName("multievent")
589
+ [classNr].getElementsByClassName("butAnAus");
590
+ var ButGruppen = []; //Unterschiedliche Buttongruppen ermitteln
591
+ var ButI = 0;
592
+
593
+ for (var i = 0; i < But.length; i++) {
594
+ var Gruppe = But[i].getAttribute("data-gruppe");
595
+ if (ButGruppen.indexOf(Gruppe) == -1) {
596
+ ButGruppen[ButI] = Gruppe;
597
+ ButI++;
598
+ }
599
+ }
600
+
601
+ var ButFehler = [];
602
+ var ButtonFehlerGesamt = 0;
603
+ for (var i = 0; i < ButGruppen.length; i++) {
604
+ ButFehler[i] = 0;
605
+ for (var j = 0; j < But.length; j++) {
606
+ var ButWert = But[j].value;
607
+ var ButMarkiert = But[j].getAttribute("data-markiert");
608
+ var Konrollgruppe = But[j].getAttribute("data-gruppe");
609
+ if (ButWert != ButMarkiert && ButGruppen[i] == Konrollgruppe) {
610
+ ButFehler[i]++;
611
+ }
612
+ }
613
+ if (ButFehler[i] == 0) {
614
+ for (var j = 0; j < But.length; j++) {
615
+ var Gruppe = But[j].getAttribute("data-gruppe");
616
+ var ButMarkiert = But[j].getAttribute("data-markiert");
617
+ var Typ = But[j].getAttribute("data-typ");
618
+
619
+ if (ButGruppen[i] == Gruppe) {
620
+ if (ButMarkiert == 1) {
621
+ But[j].style.backgroundColor = "#9f0";
622
+ But[j].style.backgroundImage = "none";
623
+ But[j].style.color = "black";
624
+ But[j].style.border = "1px solid silver";
625
+ } else {
626
+ if (Typ == 0) {
627
+ But[j].style.display = "none";
628
+ }
629
+ }
630
+ But[j].nextSibling.innerHTML = "";
631
+ But[j].setAttribute("data-gewertet", "1");
632
+ }
633
+ }
634
+ }
635
+
636
+ if (ButFehler[i] > 0) {
637
+ for (var j = 0; j < But.length; j++) {
638
+ var Gruppe = But[j].getAttribute("data-gruppe");
639
+ var ButMarkiert = But[j].getAttribute("data-markiert");
640
+
641
+ if (ButGruppen[i] == Gruppe) {
642
+ But[j].nextSibling.innerHTML = "&#128269;";
643
+ }
644
+ }
645
+ ButtonFehlerGesamt = 1;
646
+ F++;
647
+ }
648
+ }
649
+
650
+ if (ButtonFehlerGesamt == 1) {
651
+ alert("Mindestens ein Button dieses Bereichs ist falsch markiert.");
652
+ }
653
+
654
+ var Sel = document
655
+ .getElementsByClassName("multievent")
656
+ [classNr].getElementsByTagName("select");
657
+ for (var i = 0; i < Sel.length; i++) {
658
+ var WertIst = Sel[i].value;
659
+ var S = Sel[i].style;
660
+ if (WertIst == 1) {
661
+ Sel[i].disabled = true;
662
+ Sel[i].style.backgroundColor = "#9f0";
663
+ S.backgroundImage = "none";
664
+ Sel[i].style.color = "black";
665
+ } else {
666
+ S.backgroundColor = "#f90";
667
+ S.backgroundImage = HgF;
668
+ S.backgroundSize = "8px 8px";
669
+ F++;
670
+ }
671
+ }
672
+ var Inp = document
673
+ .getElementsByClassName("multievent")
674
+ [classNr].getElementsByTagName("input");
675
+ var ChBoFehlerGes = 0;
676
+ for (var i = 0; i < Inp.length; i++) {
677
+ var WertIst = Inp[i].value
678
+ .replace(/^\s+/g, "")
679
+ .replace(/\s+$/g, "")
680
+ .replace(/\s+/, " ");
681
+ var iP = Inp[i].parentNode.style;
682
+ var InpIS = Inp[i].style;
683
+
684
+ if (Inp[i].type == "radio") {
685
+ iP.backgroundColor = "transparent";
686
+ iP.backgroundImage = "none";
687
+ InpIS.color = "black";
688
+ InpIS;
689
+ }
690
+
691
+ if (WertIst == 1 && Inp[i].type == "radio" && Inp[i].checked == true) {
692
+ //richtig
693
+ Inp[i].disabled = true;
694
+ iP.backgroundColor = "#9f0";
695
+ iP.backgroundImage = "none";
696
+ InpIS.color = "black";
697
+
698
+ var checkName = Inp[i].getAttribute("name");
699
+ for (var j = 0; j < Inp.length; j++) {
700
+ if (Inp[j].getAttribute("name") == checkName) {
701
+ Inp[j].disabled = true;
702
+ }
703
+ }
704
+ }
705
+ if (WertIst == 0 && Inp[i].type == "radio" && Inp[i].checked == true) {
706
+ iP.backgroundColor = "#f90";
707
+ iP.backgroundImage = HgF;
708
+ iP.backgroundSize = "8px 8px";
709
+ InpIS.color = "black";
710
+ InpIS;
711
+ F++;
712
+ }
713
+
714
+ if (WertIst == 1 && Inp[i].type == "radio" && Inp[i].checked == false) {
715
+ F++;
716
+ }
717
+
718
+ var RadioGruppen = []; //Unterschiedliche Radiogruppen ermitteln
719
+ var RadI = 0;
720
+
721
+ for (var j = 0; j < Inp.length; j++) {
722
+ var Gruppe = Inp[j].getAttribute("name");
723
+ if (RadioGruppen.indexOf(Gruppe) == -1) {
724
+ if (Gruppe) {
725
+ if (Gruppe.search(/adio/) != -1) {
726
+ RadioGruppen[RadI] = Gruppe;
727
+ RadI++;
728
+ }
729
+ }
730
+ }
731
+ }
732
+
733
+ for (var j = 0; j < RadioGruppen.length; j++) {
734
+ var RadFalsch = 0;
735
+ for (var k = 0; k < Inp.length; k++) {
736
+ var Gruppe = Inp[k].getAttribute("name");
737
+ if (RadioGruppen[j] == Gruppe && Inp[k].checked == true) {
738
+ RadFalsch++;
739
+ }
740
+ }
741
+
742
+ if (RadFalsch == 0) {
743
+ for (var k = 0; k < Inp.length; k++) {
744
+ var Gruppe = Inp[k].getAttribute("name");
745
+ if (RadioGruppen[j] == Gruppe) {
746
+ if (Gruppe.search(/Radio/) != -1) {
747
+ Inp[k].nextSibling.innerHTML = "&#128269;";
748
+ }
749
+ if (Gruppe.search(/radio/) != -1) {
750
+ Inp[k].previousSibling.innerHTML = "&#128270;";
751
+ }
752
+ }
753
+ }
754
+ } else {
755
+ for (var k = 0; k < Inp.length; k++) {
756
+ var Gruppe = Inp[k].getAttribute("name");
757
+ if (RadioGruppen[j] == Gruppe) {
758
+ if (Gruppe.search(/Radio/) != -1) {
759
+ Inp[k].nextSibling.innerHTML = "";
760
+ }
761
+ if (Gruppe.search(/radio/) != -1) {
762
+ Inp[k].previousSibling.innerHTML = "";
763
+ }
764
+ }
765
+ }
766
+ }
767
+ }
768
+
769
+ if (Inp[i].type == "checkbox") {
770
+ var checkName = Inp[i].getAttribute("name");
771
+ var ChBoFehler = 0;
772
+
773
+ for (var j = 0; j < Inp.length; j++) {
774
+ if (Inp[j].getAttribute("name") == checkName) {
775
+ var ChBoWertIst = Inp[j].value;
776
+ var ChBoChecked = Inp[j].checked;
777
+ if (ChBoWertIst == 1 && ChBoChecked == false) {
778
+ ChBoFehler++;
779
+ }
780
+
781
+ if (ChBoWertIst == 0 && ChBoChecked == true) {
782
+ ChBoFehler++;
783
+ }
784
+ }
785
+ }
786
+
787
+ if (ChBoFehler > 0) {
788
+ if (checkName.search(/checkboxc/) > -1) {
789
+ Inp[i].previousSibling.innerHTML = "&#128270;";
790
+ }
791
+ if (checkName.search(/checkboxC/) > -1) {
792
+ Inp[i].nextSibling.innerHTML = "&#128269;";
793
+ }
794
+ ChBoFehlerGes = 1;
795
+ F++;
796
+ }
797
+ if (ChBoFehler == 0) {
798
+ for (var j = 0; j < Inp.length; j++) {
799
+ if (Inp[j].getAttribute("name") == checkName) {
800
+ var ChBoWertIst = Inp[j].value;
801
+ if (ChBoWertIst == 1) {
802
+ Inp[j].parentNode.style.backgroundImage = "none";
803
+ Inp[j].parentNode.style.backgroundColor = "#9f0";
804
+ Inp[j].style.color = "black";
805
+ }
806
+ Inp[j].disabled = true;
807
+ }
808
+
809
+ if (checkName.search(/checkboxc/) > -1) {
810
+ Inp[i].previousSibling.innerHTML = "";
811
+ }
812
+ if (checkName.search(/checkboxC/) > -1) {
813
+ Inp[i].nextSibling.innerHTML = "";
814
+ }
815
+ }
816
+ }
817
+ }
818
+
819
+ if (Inp[i].type == "text" && Inp[i].className != "MulEvHaManInp") {
820
+ var InpStil = Inp[i].getAttribute("data-style");
821
+ var wertSoll = Inp[i]
822
+ .getAttribute("data-Wert")
823
+ .replace(/^\s+/g, "")
824
+ .replace(/\s+$/g, "")
825
+ .replace(/\s+/, " ");
826
+ var wSA = wertSoll.split("|");
827
+ if (InpStil == "zahl") {
828
+ //Wenn Zahl
829
+ WertIst = WertIst.replace(/,/, ".").replace(/\s/g, "");
830
+ }
831
+ for (var j = 0; j < wSA.length; j++) {
832
+ if (InpStil == "zahl") {
833
+ //Wenn Zahl
834
+ wSA[j] = wSA[j].replace(/,/, ".");
835
+ if (parseFloat(wSA[j]) == parseFloat(WertIst)) {
836
+ Inp[i].disabled = true;
837
+ InpIS.backgroundColor = "#9f0";
838
+ InpIS.backgroundImage = "none";
839
+ InpIS.color = "black";
840
+ }
841
+ } else {
842
+ if (InpStil == "klein" || InpStil == "loesungklein") {
843
+ if (wSA[j].toLowerCase() == WertIst.toLowerCase()) {
844
+ Inp[i].disabled = true;
845
+ Inp[i].value = wSA[j];
846
+ InpIS.backgroundColor = "#9f0";
847
+ InpIS.backgroundImage = "none";
848
+ InpIS.color = "black";
849
+ }
850
+ }
851
+
852
+ if (InpStil == "gross" || InpStil == "loesunggross") {
853
+ if (wSA[j] == WertIst) {
854
+ Inp[i].disabled = true;
855
+ InpIS.backgroundColor = "#9f0";
856
+ InpIS.backgroundImage = "none";
857
+ InpIS.color = "black";
858
+ }
859
+ }
860
+ }
861
+ }
862
+ if (Inp[i].disabled != true) {
863
+ InpIS.backgroundColor = "#f90";
864
+ InpIS.backgroundImage = HgF;
865
+ InpIS.backgroundSize = "8px 8px";
866
+ InpIS.color = "black";
867
+ F++;
868
+ }
869
+ }
870
+ }
871
+
872
+ if (ChBoFehlerGes > 0) {
873
+ alert("Mindestens eine Checkbox dieses Bereichs ist falsch markiert.");
874
+ }
875
+
876
+ var SuchselTabelle = document
877
+ .getElementsByClassName("multievent")
878
+ [classNr].getElementsByClassName("MultiEvSuchTable");
879
+
880
+ for (var k = 0; k < SuchselTabelle.length; k++) {
881
+ var TabButton = SuchselTabelle[k].getElementsByTagName("button");
882
+ var SuchselFehler = 0;
883
+ for (var l = 0; l < TabButton.length; l++) {
884
+ var markiertIst = TabButton[l].getAttribute("data-markiert");
885
+ var richtig = TabButton[l].getAttribute("data-richtig");
886
+ if (richtig == 0 && markiertIst == 1) {
887
+ SuchselFehler = 1;
888
+ F++;
889
+ }
890
+ if (richtig == 1 && markiertIst == 0) {
891
+ F++;
892
+ }
893
+ }
894
+
895
+ if (SuchselFehler == 0) {
896
+ for (var l = 0; l < TabButton.length; l++) {
897
+ var markiertIst = TabButton[l].getAttribute("data-markiert");
898
+ var richtig = TabButton[l].getAttribute("data-richtig");
899
+ if (markiertIst == 1 && richtig == 1) {
900
+ TabButton[l].setAttribute("data-gewertet", "1");
901
+ TabButton[l].style.backgroundColor = "#9f0";
902
+ TabButton[l].style.fontWeight = "bold";
903
+ TabButton[l].parentNode.style.backgroundColor = "#9f0";
904
+ TabButton[l].style.border = "none";
905
+ }
906
+ }
907
+ } else {
908
+ alert(
909
+ "Im Suchsel ist mindestens ein Buchstabe markiert, der nicht markiert sein darf.",
910
+ );
911
+ }
912
+
913
+ var fehlendeRichtig = 0;
914
+
915
+ for (var l = 0; l < TabButton.length; l++) {
916
+ var markiertIst = TabButton[l].getAttribute("data-markiert");
917
+ var richtig = TabButton[l].getAttribute("data-richtig");
918
+ if (
919
+ (markiertIst == 0 && richtig == 1) ||
920
+ (markiertIst == 1 && richtig == 0)
921
+ ) {
922
+ fehlendeRichtig++;
923
+ }
924
+ }
925
+
926
+ for (var l = 0; l < TabButton.length; l++) {
927
+ if (fehlendeRichtig == 0) {
928
+ TabButton[l].setAttribute("data-spielAus", "1");
929
+ }
930
+ }
931
+ }
932
+
933
+ document.getElementById("MultieventVersuche" + classNr).innerHTML =
934
+ parseInt(
935
+ document.getElementById("MultieventVersuche" + classNr).innerHTML,
936
+ ) + 1;
937
+
938
+ var HaMaAusw = document
939
+ .getElementsByClassName("multievent")
940
+ [classNr].getElementsByClassName("MulEvHaManInp");
941
+ for (var k = 0; k < HaMaAusw.length; k++) {
942
+ var HaMaFehler = HaMaAusw[k].getAttribute("data-Fehler");
943
+ if (HaMaFehler == 1) {
944
+ F++;
945
+ }
946
+ }
947
+ multievent.gesamtwertung[classNr] = document.getElementById(
948
+ "MultieventVersuche" + classNr,
949
+ ).innerHTML;
950
+ var HinweisRichtig = document.getElementsByClassName(
951
+ "MultieventhinweisRichtig" + classNr,
952
+ );
953
+ var HinweisFalsch = document.getElementsByClassName(
954
+ "MultieventhinweisFalsch" + classNr,
955
+ );
956
+
957
+ if (F == 0) {
958
+ multievent.gewertet[classNr] = 1;
959
+ document.getElementById(
960
+ "MultieventVersuche" + classNr,
961
+ ).style.fontWeight = "bold";
962
+ document.getElementById("MuEvAuswButB" + classNr).style.border =
963
+ "2px solid green";
964
+ document.getElementById("MuEvAuswButB" + classNr).style.borderRadius =
965
+ "5px";
966
+ if (typeof HinweisFalsch[0] != "undefined") {
967
+ for (var HF = 0; HF < HinweisFalsch.length; HF++) {
968
+ HinweisFalsch[HF].style.display = "none";
969
+ }
970
+ }
971
+
972
+ if (typeof HinweisRichtig[0] != "undefined") {
973
+ for (var HR = 0; HR < HinweisRichtig.length; HR++) {
974
+ HinweisRichtig[HR].style.display = "inline-block";
975
+ }
976
+ }
977
+ } else {
978
+ if (typeof HinweisFalsch[0] != "undefined") {
979
+ for (var HF = 0; HF < HinweisFalsch.length; HF++) {
980
+ HinweisFalsch[HF].style.display = "inline-block";
981
+ }
982
+ }
983
+ }
984
+ } else {
985
+ var GesWert =
986
+ "<table border='1' cellspacing='0' cellpadding='4' rules='all' align='center'><tr><td colspan='10' style='background-color:silver;'><button onclick='multievent.ErgAus();' style='color:red;border:1px solid #555;float:right;border-radius:3px;background-color:#ddd;cursor:pointer;'>X</button>Versuche</td></tr><tr>";
987
+ var GW = multievent.gesamtwertung;
988
+ var GesVersuche = 0;
989
+ var min1Zaehler = 0;
990
+ for (var i = 0; i < GW.length; i++) {
991
+ if (min1Zaehler % 10 == 4) {
992
+ var RahmenRechts = "3px double black";
993
+ } else {
994
+ var RahmenRechts = "1px solid black";
995
+ }
996
+ if (GW[i] == 0) {
997
+ GesWert +=
998
+ "<td style='border-right:" +
999
+ RahmenRechts +
1000
+ "'><span style='color:#999;'>\u2717</span></td>";
1001
+ }
1002
+ if (GW[i] > 0) {
1003
+ if (i == classNr) {
1004
+ GesWert +=
1005
+ "<td style='background-color:#ffe680;border-right:" +
1006
+ RahmenRechts +
1007
+ "'><span style='color:#007000;font-weight:bold;'>" +
1008
+ GW[i] +
1009
+ "</span></td>";
1010
+ } else {
1011
+ if (multievent.gewertet[i] == 1) {
1012
+ GesWert +=
1013
+ "<td style='background-color:#ffe680;border-right:" +
1014
+ RahmenRechts +
1015
+ "'><span style='color:#000'>" +
1016
+ GW[i] +
1017
+ "</span></td>";
1018
+ } else {
1019
+ GesWert +=
1020
+ "<td style='border-right:" +
1021
+ RahmenRechts +
1022
+ "'><span style='color:#999'>" +
1023
+ GW[i] +
1024
+ "</span></td>";
1025
+ }
1026
+ }
1027
+ GesVersuche = parseInt(GesVersuche) + parseInt(GW[i]);
1028
+ }
1029
+
1030
+ if (GW[i] != -1) {
1031
+ min1Zaehler++;
1032
+ }
1033
+
1034
+ if (min1Zaehler % 10 == 0) {
1035
+ GesWert += "</tr><tr>";
1036
+ }
1037
+ }
1038
+
1039
+ GesWert += "</tr></table>";
1040
+
1041
+ GesWert = GesWert.replace(/,\s$/, "");
1042
+ var WertHier = document.getElementById(
1043
+ "MultieventVersuche" + classNr,
1044
+ ).innerHTML;
1045
+ document.getElementById("MultieventErgebnisse").innerHTML =
1046
+ "<div style='font-size:large;'>" + GesWert + "</div>";
1047
+ multievent.ErgAn();
1048
+ }
1049
+ },
1050
+ ErgAus: function () {
1051
+ document.getElementById("MultieventErgebnisse").style.display = "none";
1052
+ },
1053
+ ErgAn: function () {
1054
+ document.getElementById("MultieventErgebnisse").style.display = "block";
1055
+ },
1056
+ gesamtwertung: [],
1057
+ gewertet: [],
1058
+ blende: function (BlID) {
1059
+ var Auge = document.getElementById(BlID);
1060
+ if (Auge.nextSibling.style.display == "table-cell") {
1061
+ Auge.nextSibling.style.display = "none";
1062
+ } else {
1063
+ Auge.nextSibling.style.display = "table-cell";
1064
+ }
1065
+ },
1066
+ suAn: function () {
1067
+ multievent.suAnAus = 1;
1068
+ },
1069
+ suAus: function () {
1070
+ multievent.suAnAus = 0;
1071
+ var SuBut = document.getElementsByClassName("MuEvSuBut");
1072
+ for (var i = 0; i < SuBut.length; i++) {
1073
+ SuBut[i].setAttribute("data-move", "1");
1074
+ }
1075
+ },
1076
+ suAnAus: 0,
1077
+ suchselAnAus: function (SuID) {
1078
+ var move = document.getElementById(SuID).getAttribute("data-move");
1079
+ if (multievent.suAnAus == 1 && move == 1) {
1080
+ var gewertet = document
1081
+ .getElementById(SuID)
1082
+ .getAttribute("data-gewertet");
1083
+ var spielAus = document
1084
+ .getElementById(SuID)
1085
+ .getAttribute("data-spielAus");
1086
+
1087
+ if (gewertet == 0 && spielAus == 0) {
1088
+ var markiert = document
1089
+ .getElementById(SuID)
1090
+ .getAttribute("data-markiert");
1091
+ if (markiert == 0) {
1092
+ document.getElementById(SuID).style.outline = "3px dotted green";
1093
+ document.getElementById(SuID).style.outlineOffset = "-1px";
1094
+ document.getElementById(SuID).style.borderRadius = "3px";
1095
+ document.getElementById(SuID).setAttribute("data-markiert", "1");
1096
+ } else {
1097
+ document.getElementById(SuID).style.outline = "none";
1098
+ document.getElementById(SuID).style.borderRadius = "3px";
1099
+ document.getElementById(SuID).setAttribute("data-markiert", "0");
1100
+ }
1101
+ }
1102
+ document.getElementById(SuID).setAttribute("data-move", "0");
1103
+ }
1104
+ },
1105
+ tastensprung: function (Kennung, Wert) {
1106
+ if (Wert != "") {
1107
+ var kennungAlt = Kennung;
1108
+ var kennung = Kennung.split("-");
1109
+
1110
+ var untenMoeglich = 0;
1111
+ var rechtsMoeglich = 0;
1112
+
1113
+ var obenBuchstabe = 0;
1114
+ var untenBuchstabe = 0;
1115
+ var linksBuchstabe = 0;
1116
+ var rechtsBuchstabe = 0;
1117
+
1118
+ var kSollUnten =
1119
+ kennung[0] + "-" + (parseInt(kennung[1]) + 1) + "-" + kennung[2];
1120
+ var kSollRechts =
1121
+ kennung[0] + "-" + kennung[1] + "-" + (parseInt(kennung[2]) + 1);
1122
+
1123
+ var kSollOben =
1124
+ kennung[0] + "-" + (parseInt(kennung[1]) - 1) + "-" + kennung[2];
1125
+ var kSollLinks =
1126
+ kennung[0] + "-" + kennung[1] + "-" + (parseInt(kennung[2]) - 1);
1127
+
1128
+ var Multi = document.getElementsByClassName("multievent")[kennung[0]];
1129
+ var Inp = Multi.getElementsByTagName("input");
1130
+
1131
+ for (var i = 0; i < Inp.length; i++) {
1132
+ var Sprungmarke = Inp[i].getAttribute("data-sprungmarke");
1133
+
1134
+ if (Sprungmarke == kennungAlt) {
1135
+ Inp[i].value = Inp[i].value.toUpperCase();
1136
+ }
1137
+
1138
+ if (kSollUnten == Sprungmarke) {
1139
+ untenMoeglich = 1;
1140
+
1141
+ var WertUnBu = Inp[i].value.length;
1142
+ if (WertUnBu > 0) {
1143
+ untenBuchstabe = 1;
1144
+ }
1145
+ }
1146
+
1147
+ if (kSollRechts == Sprungmarke) {
1148
+ rechtsMoeglich = 1;
1149
+ var WertReBu = Inp[i].value.length;
1150
+ if (WertReBu > 0) {
1151
+ rechtsBuchstabe = 1;
1152
+ }
1153
+ }
1154
+
1155
+ if (kSollOben == Sprungmarke) {
1156
+ var WertObBu = Inp[i].value.length;
1157
+ if (WertObBu > 0) {
1158
+ obenBuchstabe = 1;
1159
+ }
1160
+ }
1161
+
1162
+ if (kSollLinks == Sprungmarke) {
1163
+ var WertLiBu = Inp[i].value.length;
1164
+ if (WertLiBu > 0) {
1165
+ linksBuchstabe = 1;
1166
+ }
1167
+ }
1168
+ }
1169
+
1170
+ var Sprungziel = kennungAlt;
1171
+
1172
+ if (rechtsMoeglich == 1) {
1173
+ Sprungziel = kSollRechts;
1174
+ }
1175
+
1176
+ if (untenMoeglich == 1) {
1177
+ if (rechtsMoeglich == 0) {
1178
+ Sprungziel = kSollUnten;
1179
+ }
1180
+
1181
+ if (rechtsBuchstabe == 1) {
1182
+ Sprungziel = kSollUnten;
1183
+ }
1184
+
1185
+ if (linksBuchstabe == 0 && untenBuchstabe == 0) {
1186
+ Sprungziel = kSollUnten;
1187
+ }
1188
+ }
1189
+
1190
+ for (var i = 0; i < Inp.length; i++) {
1191
+ var Sprungmarke = Inp[i].getAttribute("data-sprungmarke");
1192
+ if (Sprungmarke == Sprungziel) {
1193
+ Inp[i].focus();
1194
+ }
1195
+ }
1196
+ }
1197
+ },
1198
+ MulEvHaMan: function (ManID) {
1199
+ var AusgID = ManID.replace(/I_/, "A_");
1200
+ var FehlerID = ManID.replace(/I_/, "F_");
1201
+ var WertIstAlt = document.getElementById(ManID).value.toUpperCase();
1202
+ var WertIst = WertIstAlt.substring(
1203
+ WertIstAlt.length - 1,
1204
+ WertIstAlt.length,
1205
+ );
1206
+ document.getElementById(ManID).value = WertIst;
1207
+ var BuchstabenSind = document
1208
+ .getElementById(ManID)
1209
+ .getAttribute("data-BuchstSind")
1210
+ .toUpperCase();
1211
+ var WerteArr = document
1212
+ .getElementById(ManID)
1213
+ .getAttribute("data-MulEvHaMan")
1214
+ .split("|");
1215
+ var WerteNr = document.getElementById(ManID).getAttribute("data-Nummer");
1216
+ var BegriffeSind = document
1217
+ .getElementById(ManID)
1218
+ .getAttribute("data-BegriffeSind");
1219
+ var WerteSoll = WerteArr[WerteNr].toUpperCase();
1220
+ var Ausgabe = "";
1221
+
1222
+ if (
1223
+ WertIst.search(/[A-Za-z1-9ÄÖÜäöüß]/) != -1 &&
1224
+ WerteSoll.search(WertIst) != -1
1225
+ ) {
1226
+ BuchstabenSind = (BuchstabenSind.replace(WertIst, "") + "~" + WertIst)
1227
+ .replace(/^~/, "")
1228
+ .replace(/~~/g, "~");
1229
+ document
1230
+ .getElementById(ManID)
1231
+ .setAttribute("data-BuchstSind", BuchstabenSind);
1232
+ var BuchstabenSindArr = BuchstabenSind.split("~");
1233
+ var Ausgabe = "";
1234
+ var vollstaendig = WerteSoll;
1235
+ for (var i = 0; i < WerteSoll.length; i++) {
1236
+ var BuchstAkt = WerteSoll.substring(i, i + 1);
1237
+ var vorhanden = 0;
1238
+ for (var j = 0; j < BuchstabenSindArr.length; j++) {
1239
+ if (BuchstAkt == BuchstabenSindArr[j]) {
1240
+ vorhanden = 1;
1241
+ vollstaendig = vollstaendig.replace(BuchstabenSindArr[j], "");
1242
+ }
1243
+ }
1244
+ if (vorhanden == 1) {
1245
+ Ausgabe = Ausgabe + BuchstAkt;
1246
+ } else {
1247
+ Ausgabe = Ausgabe + "<span style='color:#555'>&diams;</span>";
1248
+ }
1249
+ }
1250
+
1251
+ document.getElementById(AusgID).innerHTML = BegriffeSind + Ausgabe;
1252
+
1253
+ if (vollstaendig.length == 0) {
1254
+ document.getElementById(FehlerID).innerHTML = "";
1255
+ if (WerteNr < WerteArr.length - 1) {
1256
+ document
1257
+ .getElementById(ManID)
1258
+ .setAttribute(
1259
+ "data-BegriffeSind",
1260
+ BegriffeSind + WerteSoll + "<br />",
1261
+ );
1262
+ BegriffeSind = document
1263
+ .getElementById(ManID)
1264
+ .getAttribute("data-BegriffeSind");
1265
+
1266
+ WerteNr++;
1267
+ document.getElementById(ManID).setAttribute("data-BuchstSind", "");
1268
+ document.getElementById(ManID).setAttribute("data-Nummer", WerteNr);
1269
+
1270
+ BegrAusg = "";
1271
+ for (var j = 0; j < WerteArr[WerteNr].length; j++) {
1272
+ BegrAusg += "<span style='color:#555'>&diams;</span>";
1273
+ }
1274
+ document.getElementById(AusgID).innerHTML = BegriffeSind + BegrAusg;
1275
+ } else {
1276
+ document.getElementById(AusgID).innerHTML = document
1277
+ .getElementById(AusgID)
1278
+ .innerHTML.replace(/\s/g, "");
1279
+ document.getElementById(ManID).setAttribute("data-Fehler", "0");
1280
+ document.getElementById(FehlerID).style.textDecoration = "none";
1281
+ document.getElementById(FehlerID).innerHTML = "Ende";
1282
+ document.getElementById(ManID).value = "";
1283
+ document.getElementById(ManID).blur();
1284
+ document.getElementById(ManID).disabled = true;
1285
+ }
1286
+ }
1287
+ } else {
1288
+ var FehlerBuchstaben = document.getElementById(FehlerID).innerHTML;
1289
+ FehlerBuchstaben = (
1290
+ FehlerBuchstaben.replace(", " + WertIst, "") +
1291
+ ", " +
1292
+ WertIst
1293
+ ).replace(/^\s*,\s/, "");
1294
+ document.getElementById(FehlerID).innerHTML = FehlerBuchstaben;
1295
+ }
1296
+ },
1297
+ };
1298
+
1299
+ window.addEventListener("mousedown", multievent.suAn);
1300
+ window.addEventListener("mouseup", multievent.suAus);
1301
+ window.addEventListener("load", multievent.init);