Category
You're no bot and a page you've created got automatically deleted? Add your name to FreewarWiki:NoSpamUser |
MediaWiki:CFoptions.js
From FreewarWiki
Revision as of 13:03, 8 February 2017 by Tiramon (talk | contribs) (addOnLoadHook was deprecated and is removed in 1.27)
Note:
After saving, you may have to bypass your browser's cache to see the changes.
After saving, you may have to bypass your browser's cache to see the changes.
- Mozilla / Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Command-R on a Macintosh);
- Konqueror: click Reload or press F5;
- Opera: clear the cache in Tools → Preferences;
- Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5.
var calc, form, gw, mx; function init_CF() { if (!document.getElementById('CFoptions')) return; optcont = document.getElementById('CFoptions'); caption = document.createElement('b'); caption.appendChild(document.createTextNode('Lernzeit anzeigen: ')); form = document.createElement('form'); form.action = '#'; form.style.display = 'inline'; option = document.createElement('input'); option.type = 'radio'; option.setAttribute('onclick', 'switch_CF(this);'); option.checked = 'checked'; option.name = 'CF_switch'; option.value = 'level'; form.appendChild(option); form.appendChild(document.createTextNode('Lernzeit pro Stufe')); option = document.createElement('input'); option.type = 'radio'; option.setAttribute('onclick', 'switch_CF(this);'); option.name = 'CF_switch'; option.value = 'total'; form.appendChild(option); form.appendChild(document.createTextNode('Gesamtlernzeit')); option = document.createElement('input'); option.type = 'radio'; option.setAttribute('onclick', 'switch_CF(this);'); option.name = 'CF_switch'; option.value = 'calc'; form.appendChild(option); form.appendChild(document.createTextNode('Wartezeitenrechner')); optcont.appendChild(caption); optcont.appendChild(form); calc = document.getElementById('CFcalc'); gw = Number(calc.removeChild(calc.firstChild).nodeValue); mx = Number(document.getElementById('CFmax').firstChild.nodeValue); form = document.createElement('form'); form.action = '#'; table = document.createElement('table'); tr = document.createElement('tr'); td = document.createElement('td'); td.appendChild(document.createTextNode('Stufe:')); tr.appendChild(td); td = document.createElement('td'); input = document.createElement('input'); input.type = 'text'; input.style.width = '100px'; input.name = 'CFlevel'; td.appendChild(input); tr.appendChild(td); table.appendChild(tr); tr = document.createElement('tr'); td = document.createElement('td'); td.appendChild(document.createTextNode('Stufe Lerntechnik:')); tr.appendChild(td); td = document.createElement('td'); input = document.createElement('input'); input.type = 'text'; input.style.width = '100px'; input.name = 'CFlerntech'; td.appendChild(input); tr.appendChild(td); table.appendChild(tr); tr = document.createElement('tr'); td = document.createElement('td'); td.colspan = '2'; td.style.textAlign = 'center'; input = document.createElement('input'); input.type = 'button'; input.value = 'Berechnen'; input.onclick = calc_CF; td.appendChild(input); tr.appendChild(td); table.appendChild(tr); form.appendChild(table); calc.appendChild(form); document.getElementById('CFtotal').style.display = 'none'; calc.style.display = 'none'; } function switch_CF(option) { document.getElementById('CFlevel').style.display = (option.value == 'level' ? 'block' : 'none'); document.getElementById('CFtotal').style.display = (option.value == 'total' ? 'block' : 'none'); document.getElementById('CFcalc').style.display = (option.value == 'calc' ? 'block' : 'none'); } function calc_CF() { if (isNaN(form.CFlevel.value) || isNaN(form.CFlerntech.value)) return alert('Bitte nur Zahlen eingeben!'); if ((Number(form.CFlevel.value) > mx) || (Number(form.CFlerntech.value) > 50)) alert('Mindestens ein eingegebener Wert ist höher als die Maximalstufe der betreffenden Fähigkeit. Das Ergebnis ist hypothetisch und kann so nicht im Spiel vorkommen.'); duration = Math.pow(0.97, form.CFlerntech.value) * (form.CFlevel.value - 1) * gw; totalduration = Math.pow(0.97, form.CFlerntech.value) * (form.CFlevel.value - 1) * form.CFlevel.value / 2 * gw; lerntechsaving = (form.CFlevel.value - 1) * gw - duration; lerntechtotalsaving = (form.CFlevel.value - 1) * form.CFlevel.value / 2 * gw - totalduration; if (form.nextSibling) calc.removeChild(form.nextSibling); calc.appendChild(document.createTextNode('Das Training auf Stufe ' + form.CFlevel.value + ' dauert ' + (duration >= 86400 ? String(Math.floor(duration / 86400)) + ' Tage, ' : '') + String(Math.floor((duration % 86400) / 3600)) + ' Stunden und ' + String(Math.floor((duration % 3600) / 60)) + ' Minuten. Die Gesamtlernzeit beträgt ' + (totalduration >= 86400 ? String(Math.floor(totalduration / 86400)) + ' Tage, ' : '') + String(Math.floor((totalduration % 86400) / 3600)) + ' Stunden und ' + String(Math.floor((totalduration % 3600) / 60)) + ' Minuten.' + (form.CFlerntech.value > 0 ? ' Gegenüber dem Training mit Lerntechnik auf Stufe 0 wurden ' + (lerntechsaving >= 86400 ? String(Math.floor(lerntechsaving / 86400)) + ' Tage, ' : '') + String(Math.floor((lerntechsaving % 86400) / 3600)) + ' Stunden und ' + String(Math.floor((lerntechsaving % 3600) / 60)) + ' Minuten (Gesamtlernzeit: ' + (lerntechtotalsaving >= 86400 ? String(Math.floor(lerntechtotalsaving / 86400)) + ' Tage, ' : '') + String(Math.floor((lerntechtotalsaving % 86400) / 3600)) + ' Stunden und ' + String(Math.floor((lerntechtotalsaving % 3600) / 60)) + ' Minuten) eingespart.' : ''))); } jQuery( document ).ready( function( $ ) { init_CF(); } ); //addOnloadHook(init_CF);