MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus DarkfleetWiki
Wechseln zu: Navigation, Suche
(teilweise aus FWWiki übernommen)
 
(NPC-Bilder)
Zeile 158: Zeile 158:
 
   
 
   
 
  /* END Besucherecke
 
  /* END Besucherecke
 +
// ============================================================
 +
 +
== NPC-Bilder ein/aus ==
 +
// NEEDS multiple onload functions */
 +
 +
function showNI(bool)
 +
{
 +
  if (bool)
 +
  {
 +
    document.cookie="tiramon_deShowNI=1";
 +
  }
 +
  else
 +
  {
 +
    document.cookie="tiramon_deShowNI=0";
 +
  }
 +
  location.reload();
 +
}
 +
 +
function work_on_npcimages()
 +
{
 +
  // add show/hide links to all maps
 +
  findmenu = document.getElementById("NIinout");
 +
  if (findmenu)
 +
  {
 +
    showlink=document.createElement("a");
 +
    showlink.setAttribute("href","Javascript:showNI(true)");
 +
    showlink.appendChild(document.createTextNode('anzeigen'));
 +
    hidelink=document.createElement("a");
 +
    hidelink.setAttribute("href","Javascript:showNI(false)");
 +
    hidelink.appendChild(document.createTextNode('verbergen'));
 +
    findmenu.appendChild(showlink);
 +
    findmenu.appendChild(document.createTextNode('/'));
 +
    findmenu.appendChild(hidelink);
 +
  }
 +
 +
  // enable display of NIs if wished
 +
  for(var i=0; foundspan = document.getElementsByTagName("span")[i]; i++)
 +
  {
 +
    var tiramon_deShowNI=document.cookie;
 +
    if (tiramon_deShowNI.indexOf("tiramon_deShowNI=")=="-1") return(-1);
 +
    if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") return(-1);
 +
    if (foundspan.className == "NI")
 +
    {
 +
      foundspan.setAttribute("style", "display:inline;");
 +
    }
 +
  }
 +
 +
}
 +
aOnloadFunctions[aOnloadFunctions.length] = work_on_npcimages;
 +
 +
/* END NPC-Images
 
  // ============================================================
 
  // ============================================================
  
 
  // END OF FILE */
 
  // END OF FILE */

Version vom 15. April 2007, 01:13 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
 // ============================================================

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

== NPC-Bilder ein/aus ==
 // NEEDS multiple onload functions */
 
 function showNI(bool)
 {
   if (bool) 
   {
     document.cookie="tiramon_deShowNI=1";
   }
   else
   {
     document.cookie="tiramon_deShowNI=0";
   }
   location.reload();
 }

 function work_on_npcimages()
 {
   // add show/hide links to all maps
   findmenu = document.getElementById("NIinout");
   if (findmenu) 
   {
     showlink=document.createElement("a");
     showlink.setAttribute("href","Javascript:showNI(true)");
     showlink.appendChild(document.createTextNode('anzeigen'));
     hidelink=document.createElement("a");
     hidelink.setAttribute("href","Javascript:showNI(false)");
     hidelink.appendChild(document.createTextNode('verbergen'));
     findmenu.appendChild(showlink);
     findmenu.appendChild(document.createTextNode('/'));
     findmenu.appendChild(hidelink);
   }

   // enable display of NIs if wished
   for(var i=0; foundspan = document.getElementsByTagName("span")[i]; i++)
   {
     var tiramon_deShowNI=document.cookie;
     if (tiramon_deShowNI.indexOf("tiramon_deShowNI=")=="-1") return(-1);
     if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") return(-1);
     if (foundspan.className == "NI")
     {
       foundspan.setAttribute("style", "display:inline;");
     }
   }

 }
 aOnloadFunctions[aOnloadFunctions.length] = work_on_npcimages;
 
 /* END NPC-Images
 // ============================================================

 // END OF FILE */