MediaWiki:Common.js: Unterschied zwischen den Versionen

aus FreewarWiki, der Referenz für Freewar
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 139: Zeile 139:
  // NEEDS multiple onload functions
  // NEEDS multiple onload functions
   
   
  var global_lp_a, global_a_a, global_v_a, global_lp_v, global_a_v, global_v_v, global_fightresult;
  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()
  function calc_fight()
Zeile 153: Zeile 154:
     else lp_v = 1;
     else lp_v = 1;
     end_v_lp = Math.floor(global_lp_v.value - fac_v * lp_v);   
     end_v_lp = Math.floor(global_lp_v.value - fac_v * lp_v);   
     global_fightresult.firstChild.nodeValue = 'Verteidiger gewinnt mit ' + end_v_lp + ' LP'
     global_fightresult_1.nodeValue = 'Verteidiger gewinnt mit ' + end_v_lp + ' LP'
   }
   }
   else {
   else {
Zeile 159: Zeile 160:
     else lp_a = 1;
     else lp_a = 1;
     end_a_lp = Math.floor(global_lp_a.value - fac_a * lp_a);
     end_a_lp = Math.floor(global_lp_a.value - fac_a * lp_a);
     global_fightresult.firstChild.nodeValue = 'Angreifer gewinnt mit ' + end_a_lp + ' LP'
     global_fightresult_1.nodeValue = 'Angreifer gewinnt mit ' + end_a_lp + ' LP'
    global_fightresult_2.nodeValue = 'Minimale LP für Sieg: ' + (global_lp_a - end_a_lo)
   }
   }
   return false;
   return false;
Zeile 244: Zeile 246:
   
   
     tr = document.createElement('TR');
     tr = document.createElement('TR');
     global_fightresult = document.createElement('TD');
     td = document.createElement('TD');
     global_fightresult.setAttribute('colspan', '3')
     td.setAttribute('colspan', '3')
     global_fightresult.style.textAlign = 'center';
     td.style.textAlign = 'center';
     global_fightresult.appendChild(document.createTextNode('Werte eingeben und auf Berechnen klicken'));
     global_fightresult_1 = document.createTextNode('Werte eingeben und auf Berechnen klicken');
     tr.appendChild(global_fightresult);
    global_fightresult_2 = document.createTextNode('');
    global_fightresult_3 = document.createTextNode('');
    tr.appendChild(global_fightresult_1);
    tr.appendChild(document.createElement('BR'));
    tr.appendChild(global_fightresult_2);
    tr.appendChild(document.createElement('BR'));
    tr.appendChild(global_fightresult_3);
     tr.appendChild(td);
     table.appendChild(tr);
     table.appendChild(tr);
   
   

Version vom 27. Februar 2006, 17:47 Uhr

 // ============================================================
 // BEGIN Enable 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
 // ============================================================

 // ============================================================
 // BEGIN 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
 // ============================================================


 // ============================================================
 // BEGIN Kampfrechner
 // NEEDS 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()
 {
   div_a = global_a_a.value - global_v_v.value;
   div_v = global_a_v.value - global_v_a.value;
   if (div_a < 1) div_a = 1;
   if (div_v < 1) div_v = 1;
   fac_a = global_lp_v.value / div_a;
   fac_v = global_lp_a.value / div_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'
   }
   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: ' + (global_lp_a - end_a_lo)
   }
   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('');
     tr.appendChild(global_fightresult_1);
     tr.appendChild(document.createElement('BR'));
     tr.appendChild(global_fightresult_2);
     tr.appendChild(document.createElement('BR'));
     tr.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
 // ============================================================