MediaWiki:Common.js: Unterschied zwischen den Versionen

aus Chaos FreewarWiki, der Referenz für Freewar
Zur Navigation springen Zur Suche springen
(solange ich keine andere lösung gefunden hab bleibt der drin es steht nämlich in den News...)
Zeile 279: Zeile 279:
  // ============================================================
  // ============================================================


== Gamesdynamite ==
== Besucherecke ==
  // NEEDS multiple onload functions */
  // NEEDS multiple onload functions */
   
   
  function init_gamesdyn()
  function init_gamesdyn()
  {
  {
<div class='portlet' id='p-Besucherecke'>
  div = document.getElementById('p-Besucherecke');
  div.id = 'p-Besucherecke_'
   li = document.createElement('li');
   li = document.createElement('li');
   ifr = document.createElement('iframe');
   ifr = document.createElement('iframe');
Zeile 297: Zeile 300:
   li.appendChild(document.createTextNode('Vote für Freewar:'));
   li.appendChild(document.createTextNode('Vote für Freewar:'));
   li.appendChild(ifr);
   li.appendChild(ifr);
   _parent = document.getElementById('p-Besucherecke').getElementsByTagName('ul')[0];
   div.appendChild(li);
   _parent.appendChild(li);
  toolbar = document.getElementById('p-tb')
   toolbar.parent.insertBefore(div, toolbar);
  }
  }
  aOnloadFunctions[aOnloadFunctions.length] = init_gamesdyn;
  aOnloadFunctions[aOnloadFunctions.length] = init_gamesdyn;

Version vom 3. 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 class='portlet' id='p-Besucherecke'>
   div = document.getElementById('p-Besucherecke');
   div.id = '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.appendChild(li);
   toolbar = document.getElementById('p-tb')
   toolbar.parent.insertBefore(div, toolbar);
 }
 aOnloadFunctions[aOnloadFunctions.length] = init_gamesdyn;
 
 // END Gamesdynamite
 // ============================================================