IBAN: DE30 2585 0110 0046 0424 20
BIC: NOLADE21UEL
Stichwort: PERRYPEDIA
Institut: SK Uelzen Lüchow-Dannenberg
Kontoinhaber: PERRY RHODAN FAN ZENTRALEDeine Spenden helfen, die Perrypedia zu betreiben.MediaWiki:Common.js
Zur Navigation springen
Zur Suche springen
Anmerkung: Nach dem Speichern muss der Browser-Cache geleert werden, damit die Änderungen sichtbar werden: Mozilla/Firefox: neu laden anklicken (oder Strg-R), IE / Opera: Strg-F5, Safari: Kommando-R, Konqueror Strg-R.
/* Jedes JavaScript hier wird für alle Benutzer (auch nicht angemeldete) für jede Seite geladen. */ /** ** Namensräume für die Seitenvorschau **/ mw.config.set('wgContentNamespaces', [0, 100]); /** ** Toolbox erweitern **/ $( function() { // Sidebar ändern function ModifySidebar( action, section, name, link ) { try { switch ( section ) { case 'languages': var target = 'p-lang'; break; case 'toolbox': var target = 'p-tb'; break; case 'navigation': var target = 'p-navigation'; break; default: var target = 'p-' + section; break; } if ( action == 'add' ) { var node = document.getElementById( target ) .getElementsByTagName( 'div' )[0] .getElementsByTagName( 'ul' )[0]; var aNode = document.createElement( 'a' ); var liNode = document.createElement( 'li' ); aNode.appendChild( document.createTextNode( name ) ); aNode.setAttribute( 'href', link ); liNode.appendChild( aNode ); liNode.className = 'plainlinks'; node.appendChild( liNode ); } else if ( action == 'remove' ) { var list = document.getElementById( target ) .getElementsByTagName( 'div' )[0] .getElementsByTagName( 'ul' )[0]; var listelements = list.getElementsByTagName( 'li' ); for ( var i = 0; i < listelements.length; i++ ) { if ( listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name || listelements[i].getElementsByTagName( 'a' )[0].href == link ) { list.removeChild( listelements[i] ); } } } } catch( e ) { // let's just ignore what's happened return; } } ; function CustomizeSidebar() { // Kategoriebaum hinzufügen ModifySidebar( 'add', 'toolbox', 'Kategoriebaum', 'https://www.perrypedia.de/wiki/Spezial:CategoryTree' ); // Semantische Suche hinzufügen (ersatzweise für Extension:MultiCategorySearch, die in MW 1.35 nicht läuft) ModifySidebar( 'add', 'toolbox', 'Semantische Suche', 'https://www.perrypedia.de/wiki/Spezial:Semantische_Suche' ); } ; jQuery( CustomizeSidebar ); }) ; /** ** Dynamic Navigation Bars **/ // set up the words in your language var NavigationBarHide = 'Einklappen'; var NavigationBarShow = 'Ausklappen'; // adds show/hide-button to navigation bars $( function() { // 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 == 'NavContent') { NavChild.style.display = 'none'; } else 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 == 'NavContent') { NavChild.style.display = 'block'; } else if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } } function toggleNavigationBarFunction( indexNavigationBar ) { return function() { toggleNavigationBar( indexNavigationBar ); return false; }; } // iterate over all <div>-elements var indexNavigationBar = 0; var divs = document.getElementsByTagName( "div" ); for ( var i = 0; i < divs.length; i++ ) { var NavFrame = divs[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', '#' ); NavToggle.onclick = toggleNavigationBarFunction( indexNavigationBar ); // add NavToggle-Button as first div-element in <div class="NavFrame"> var NavToggleText = document.createTextNode( NavigationBarHide ); NavToggle.appendChild( NavToggleText ); NavFrame.insertBefore( NavToggle, NavFrame.firstChild ); NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar ); } } // Normalansicht: alle zu, Vorschau: alle auf for ( var i = 1; i <= indexNavigationBar; i++ ) { toggleNavigationBar( i ); } }) ; /** * Tabellensortierung merken * * based on: http://meta.wikimedia.org/wiki/Help:Sorting#Persistent_sort_states_using_cookies */ /*** addOnloadHook( function() { jQuery('.sortable').each( function() { var id = jQuery(this).attr('id'); if ( id != undefined ) { // Versuche, passenden Cookie zu lesen document.shCookie = jQuery.cookie('sortheader-'+id); // Falls kein Cookie gefunden wurde: Gehe alle Spalten durch und schau, ob Standard-Sortierung // durch class="ppSortAsc" bzw. class="ppSortDesc" im Spaltenkopf gesetzt. // Da nur eine Spalte möglich ist: Falls versehentlich/fehlerhaft mehrere Spalten markiert wurden, // zählt die erste in der Tabelle gefundene. if ( document.shCookie == undefined ) { document.sortheaderId = 0; jQuery('#'+id+' th').each( function() { var sh = document.sortheaderId++; if(jQuery(this).hasClass('ppSortAsc')) { document.shCookie = sh; return false; // beendet Schleife über Spalten => erstes zählt ("false" notwendig für jQuery-each) } else if(jQuery(this).hasClass('ppSortDesc')) { document.shCookie = sh+100; return false; // beendet Schleife über Spalten => erstes zählt } }); } // Gehe alle Spalten durch und führe auf die zu sortierende Spalte // entweder zwei Klicks aus (aufsteigend) oder einen Klick (absteigend) document.sortheaderId = 0; jQuery('#'+id+' th').each( function() { var sh = document.sortheaderId++; if( sh+100 == document.shCookie ) { jQuery(this).click(); jQuery(this).click(); } else if( sh == document.shCookie ) { jQuery(this).click(); sh += 100; } // Zukünftige "clicks" werden in einem Cookie gespeichert. jQuery(this).bind('click', {id: id, sh: sh}, function(e) { jQuery.cookie('sortheader-'+e.data.id, e.data.sh, { expires: 9999 } ); e.data.sh += e.data.sh < 100 ? 100 : -100; }); }); } }); }); ***/