Kategorien
MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K (→Questpassagen für Karten: experimente erfolgreich abgeschlossen) |
K (chat test) |
||
Zeile 354: | Zeile 354: | ||
} | } | ||
aOnloadFunctions[aOnloadFunctions.length] = work_on_questpassages; | aOnloadFunctions[aOnloadFunctions.length] = work_on_questpassages; | ||
/* END QuestPassages | |||
// ============================================================ | |||
== FreewarWiki Chat == | |||
// NEEDS multiple onload functions */ | |||
function addChat() | |||
{ | |||
findchat = document.getElementById("fwwchat"); | |||
if (!findchat) return (0); | |||
var chat = document.createElement("applet"); | |||
chat.setAttribute("archive","http://www.freejavachat.com/java/cr.zip"); | |||
chat.setAttribute("codebase","http://www.freejavachat.com/java/"); | |||
chat.setAttribute("name","cr"); | |||
chat.setAttribute("code","ConferenceRoom.class"); | |||
chat.setAttribute("width","640"); | |||
chat.setAttribute("height","480"); | |||
findchat.appendChild(chat); | |||
} | |||
} | |||
aOnloadFunctions[aOnloadFunctions.length] = addChat; | |||
// END QuestPassages | // END QuestPassages | ||
// ============================================================ | // ============================================================ |
Version vom 18. März 2006, 22:50 Uhr
/* Hinweis: Die Wiki-Überschriften sind JavaScript-technisch auskommentiert == Multiple onload functions == // setup onload functions this way: // aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets! */ if (!window.aOnloadFunctions) { var aOnloadFunctions = new Array(); } window.onload = function() { if (window.aOnloadFunctions) { for (var _i=0; _i<aOnloadFunctions.length; _i++) { aOnloadFunctions[_i](); } } } /* END Enable multiple onload functions // ============================================================ == Dynamic Navigation Bars == // NEEDS Enable multiple onload functions */ // set up the words in your language var NavigationBarHide = 'Einklappen'; var NavigationBarShow = 'Ausklappen'; // set up max count of Navigation Bars on page, // if there are more, all will be hidden // NavigationBarShowDefault = 0; // all bars will be hidden // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden var NavigationBarShowDefault = 1; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarShow; } } // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } } // adds show/hide-button to navigation bars function createNavigationBarToggleButton() { var indexNavigationBar = 0; // iterate over all < div >-elements for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) { // if found a navigation bar if (NavFrame.className == "NavFrame") { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText); // add NavToggle-Button as first div-element // in < div class="NavFrame" > NavFrame.insertBefore( NavToggle, NavFrame.firstChild ); NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } // if more Navigation Bars found than Default: hide all if (NavigationBarShowDefault < indexNavigationBar) { for( var i=1; i<=indexNavigationBar; i++ ) { toggleNavigationBar(i); } } } aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton; /* END Dynamic Navigation Bars // ============================================================ == Kampfrechner == // NEEDS Enable multiple onload functions */ var global_lp_a, global_a_a, global_v_a, global_lp_v, global_a_v, global_v_v; var global_fightresult_1, global_fightresult_2, global_fightresult_3; function calc_fight() { dif_a = global_a_a.value - global_v_v.value; dif_v = global_a_v.value - global_v_a.value; if (dif_a < 1) dif_a = 1; if (dif_v < 1) dif_v = 1; fac_a = global_lp_v.value / dif_a; fac_v = global_lp_a.value / dif_v; if (fac_a > fac_v) { if ((global_a_a.value - global_v_v.value) > 0) lp_v = global_a_a.value - global_v_v.value; else lp_v = 1; end_v_lp = Math.floor(global_lp_v.value - fac_v * lp_v); global_fightresult_1.nodeValue = 'Verteidiger gewinnt mit ' + end_v_lp + ' LP' if (((global_lp_a.value / dif_v) < 1) && ((global_lp_a.value / dif_v) < (global_lp_v.value / dif_a))) { global_fightresult_2.nodeValue = 'Der Angreifer stirbt schon nach einem Schlag'; global_fightresult_3.nodeValue = ' ' } else { global_fightresult_2.nodeValue = 'Der Angreifer benötigt ' + Math.ceil(global_lp_v.value / dif_a) + ' Schläge für Sieg'; global_fightresult_3.nodeValue = 'Der Angreifer verliert ' + String(dif_v) + ' LP pro Schlag'; } } else { if ((global_a_v.value - global_v_a.value) > 0) lp_a = global_a_v.value - global_v_a.value; else lp_a = 1; end_a_lp = Math.floor(global_lp_a.value - fac_a * lp_a); global_fightresult_1.nodeValue = 'Angreifer gewinnt mit ' + end_a_lp + ' LP' global_fightresult_2.nodeValue = 'Minimale LP für Sieg: ' + String(global_lp_a.value - end_a_lp); global_fightresult_3.nodeValue = ' ' } return false; } function init_fightcalc() { fc = document.getElementById('Kampfrechner'); if (fc) { table = document.createElement('TABLE'); tr = document.createElement('TR'); td = document.createElement('TD'); tr.appendChild(td); td = document.createElement('TH'); td.appendChild(document.createTextNode('Angreifer')); tr.appendChild(td); td = document.createElement('TH'); td.appendChild(document.createTextNode('Verteidiger')); tr.appendChild(td); table.appendChild(tr); // LP-Werte tr = document.createElement('TR'); td = document.createElement('TD'); td.appendChild(document.createTextNode('LP')); tr.appendChild(td); td = document.createElement('TD'); global_lp_a = document.createElement('INPUT'); global_lp_a.setAttribute('type', 'text'); td.appendChild(global_lp_a); tr.appendChild(td); td = document.createElement('TD'); global_lp_v = document.createElement('INPUT'); global_lp_v.setAttribute('type', 'text'); td.appendChild(global_lp_v); tr.appendChild(td); table.appendChild(tr); // A-Werte tr = document.createElement('TR'); td = document.createElement('TD'); td.appendChild(document.createTextNode('A')); tr.appendChild(td); td = document.createElement('TD'); global_a_a = document.createElement('INPUT'); global_a_a.setAttribute('type', 'text'); td.appendChild(global_a_a); tr.appendChild(td); td = document.createElement('TD'); global_a_v = document.createElement('INPUT'); global_a_v.setAttribute('type', 'text'); td.appendChild(global_a_v); tr.appendChild(td); table.appendChild(tr); // V-Werte tr = document.createElement('TR'); td = document.createElement('TD'); td.appendChild(document.createTextNode('V')); tr.appendChild(td); td = document.createElement('TD'); global_v_a = document.createElement('INPUT'); global_v_a.setAttribute('type', 'text'); td.appendChild(global_v_a); tr.appendChild(td); td = document.createElement('TD'); global_v_v = document.createElement('INPUT'); global_v_v.setAttribute('type', 'text'); td.appendChild(global_v_v); tr.appendChild(td); table.appendChild(tr); tr = document.createElement('TR'); td = document.createElement('TD'); td.setAttribute('colspan', '3') td.style.textAlign = 'center'; inp = document.createElement('INPUT'); inp.setAttribute('type', 'submit'); inp.setAttribute('name', 'calc'); inp.setAttribute('value', 'Berechnen'); td.appendChild(inp); tr.appendChild(td); table.appendChild(tr); tr = document.createElement('TR'); td = document.createElement('TD'); td.setAttribute('colspan', '3') td.style.textAlign = 'center'; global_fightresult_1 = document.createTextNode('Werte eingeben und auf Berechnen klicken'); global_fightresult_2 = document.createTextNode(' '); global_fightresult_3 = document.createTextNode(' '); td.appendChild(global_fightresult_1); td.appendChild(document.createElement('BR')); td.appendChild(global_fightresult_2); td.appendChild(document.createElement('BR')); td.appendChild(global_fightresult_3); tr.appendChild(td); table.appendChild(tr); form = document.createElement('FORM'); form.setAttribute('action', '#') form.setAttribute('method', 'POST') form.setAttribute('name', 'fightcalc') form.onsubmit = calc_fight; form.appendChild(table); fc.appendChild(form); } } aOnloadFunctions[aOnloadFunctions.length] = init_fightcalc; /* END Kampfrechner // ============================================================ == Besucherecke == // NEEDS multiple onload functions */ function init_gamesdyn() { div = document.getElementById('p-Besucherecke'); li = document.createElement('li'); ifr = document.createElement('iframe'); ifr.setAttribute('src', 'http://voting.gdynamite.de/45/'); ifr.setAttribute('width', '88'); ifr.setAttribute('height', '31'); ifr.setAttribute('frameborder', '0'); ifr.setAttribute('marginwidth', '0'); ifr.setAttribute('marginheight', '0'); ifr.setAttribute('scrolling', 'no'); ifr.setAttribute('hspace', '0'); ifr.setAttribute('vspace', '0'); li.appendChild(document.createTextNode('Vote für Freewar:')); li.appendChild(ifr); div.getElementsByTagName('ul')[0].appendChild(li); toolbar = document.getElementById('p-tb') toolbar.parentNode.insertBefore(div, toolbar); } aOnloadFunctions[aOnloadFunctions.length] = init_gamesdyn; /* END Gamesdynamite // ============================================================ == Questpassagen für Karten== // NEEDS multiple onload functions */ function showQP(bool) { if (bool) { document.cookie="tiramon_deShowQP=1"; } else { document.cookie="tiramon_deShowQP=0"; } location.reload(); } function work_on_questpassages() { // add show/hide links to all maps findmenu = document.getElementById("QPinout"); if (findmenu) { showlink=document.createElement("a"); showlink.setAttribute("href","Javascript:showQP(true)"); showlink.appendChild(document.createTextNode('anzeigen')); hidelink=document.createElement("a"); hidelink.setAttribute("href","Javascript:showQP(false)"); hidelink.appendChild(document.createTextNode('verbergen')); findmenu.appendChild(showlink); findmenu.appendChild(document.createTextNode('/')); findmenu.appendChild(hidelink); } // enable display of QPs if wished for(var i=0; foundspan = document.getElementsByTagName("span")[i]; i++) { var tiramon_deShowQP=document.cookie; if (tiramon_deShowQP.indexOf("tiramon_deShowQP=")=="-1") return(-1); if (tiramon_deShowQP.charAt(tiramon_deShowQP.indexOf("tiramon_deShowQP=")+17)!="1") return(-1); if (foundspan.className == "QP") { foundspan.setAttribute("style", "display:inline;"); } } } aOnloadFunctions[aOnloadFunctions.length] = work_on_questpassages; /* END QuestPassages // ============================================================ == FreewarWiki Chat == // NEEDS multiple onload functions */ function addChat() { findchat = document.getElementById("fwwchat"); if (!findchat) return (0); var chat = document.createElement("applet"); chat.setAttribute("archive","http://www.freejavachat.com/java/cr.zip"); chat.setAttribute("codebase","http://www.freejavachat.com/java/"); chat.setAttribute("name","cr"); chat.setAttribute("code","ConferenceRoom.class"); chat.setAttribute("width","640"); chat.setAttribute("height","480"); findchat.appendChild(chat); } } aOnloadFunctions[aOnloadFunctions.length] = addChat; // END QuestPassages // ============================================================