Kategorien
MediaWiki:CFoptions.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K (ein alert zu viel^^) |
K (?) |
||
Zeile 23: | Zeile 23: | ||
calc = document.getElementById('CFcalc'); | calc = document.getElementById('CFcalc'); | ||
gw = calc.removeChild(calc.firstChild).nodeValue; | gw = Number(calc.removeChild(calc.firstChild).nodeValue); | ||
mx = document.getElementById('CFmax').firstChild.nodeValue; | mx = Number(document.getElementById('CFmax').firstChild.nodeValue); | ||
form = document.createElement('form'); | form = document.createElement('form'); | ||
form.action = '#'; | form.action = '#'; | ||
Zeile 62: | Zeile 62: | ||
function calc_CF() { | function calc_CF() { | ||
if (isNaN(form.CFlevel.value) || isNaN(form.CFlerntech.value)) return alert('Bitte nur Zahlen eingeben!'); | if (isNaN(form.CFlevel.value) || isNaN(form.CFlerntech.value)) return alert('Bitte nur Zahlen eingeben!'); | ||
if ((form.CFlevel.value > mx) || (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.'); | 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.95, form.CFlerntech.value) * (form.CFlevel.value - 1) * gw; | duration = Math.pow(0.95, form.CFlerntech.value) * (form.CFlevel.value - 1) * gw; | ||
totalduration = Math.pow(0.95, form.CFlerntech.value) * (form.CFlevel.value - 1) * form.CFlevel.value / 2 * gw; | totalduration = Math.pow(0.95, form.CFlerntech.value) * (form.CFlevel.value - 1) * form.CFlevel.value / 2 * gw; |
Version vom 10. November 2006, 18:57 Uhr
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.95, form.CFlerntech.value) * (form.CFlevel.value - 1) * gw; totalduration = Math.pow(0.95, 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.' : ''))); } aOnloadFunctions[aOnloadFunctions.length] = init_CF;