Achtung: Bitte alle im Wiki mitmachen und Artikel überarbeiten!
(Im Wiki arbeiten alle zusammen. Vlt. sehen die ersten Überarbeitungen noch nicht so "schön" aus ... dann werden andere weitermachen und die Artikel "schöner" formatieren.
Hauptsache ist, dass ihr euch alle einbringt).
(Im Wiki arbeiten alle zusammen. Vlt. sehen die ersten Überarbeitungen noch nicht so "schön" aus ... dann werden andere weitermachen und die Artikel "schöner" formatieren.
Hauptsache ist, dass ihr euch alle einbringt).
MediaWiki:Common.js
Version vom 5. April 2015, 16:40 Uhr von JBeE (Diskussion | Beiträge)
Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Gehe zu Menü → Einstellungen (Opera → Einstellungen auf dem Mac) und dann auf Datenschutz & Sicherheit → Browserdaten löschen → Gespeicherte Bilder und Dateien.
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/*
* Benutze ich fürs updaten :-(
*/
jQuery( document ).ready( function( $ ) {
if( wgPageName == 'Spezial:SMW-Administration' ) {
if( $( "input[value='stop'][name='rfsure']" ).length > 0 ) {
window.location.reload();
}
}
} );
/**
* Bilder-Vorschau
*/
/* Deaktiviert - führt zu einem JavaScript-Fehler
(function($) {
ftImages = {
'cfg' : {
'imgPadding' : 10, // in px
'imgBackground' : '#eeeeee',
'overlayPadding' : 40, // in px
'overflow_org_body' : '', // hier wird der original overflow-Zustand des body-Elementes gespeichert
'overflow_org_html' : '', // hier wird der original overflow-Zustand des html-Elementes gespeichert (IE)
'server' : 'http://www.wiki.svc', // soll in allen Instanzen verwendet werden können
'scrollbar' : 17 // Breite bzw. Höhe der Scrollbar (... extrem hässliche Lösung!)
},
'run' : function() {
$('a.image').live( 'click', function( event ) {
event.preventDefault();
ftImages.show( $(event.target)[0], this );
});
},
'show' : function( el, link ) {
// Der IE bis einschließlich Version 7 kann keine SVG-Grafiken darstellen!
if ( $.browser.msie && parseInt($.browser.version, 10) < 8 ) {
var extension = link.getAttribute( 'href' ).split( '.' );
extension = extension[extension.length - 1].toLowerCase();
if ( extension == 'svg' ) {
window.location.href = link.getAttribute( 'href' );
return true;
}
}
// Ein paar Sachen abspeichern
ftImages.cfg.overflow_org_html = $('html').css( 'overflow');
ftImages.cfg.overflow_org_body = $('body').css( 'overflow');
// overflow deaktivieren!
$('body').css( 'overflow', 'hidden' );
if ( $.browser.msie ) {
$('html').css( 'overflow', 'hidden' ); // html für den IE!
}
// Einge Elemente verstecken, die im IE Schwierigkeiten bereiten.
$('embed, object, select').css({ 'visibility' : 'hidden' });
// HTML hinter den body-Tag einfügen
$('body').append('<div id="ftImages-overlay" title="Schließen"></div>' +
'<div id="ftImages-container">' +
'<div id="ftImages-container-image-box">' +
'<div id="ftImages-container-desc">' +
'<div class="ftImages-close" style="margin-bottom:8px;" title="Schließen"><kbd style="cursor:pointer;">esc</kbd> Taste zum Schließen.</div>' +
'<div><span class="ftImages-desc-link" title="... zur Bildbeschreibungsseite"><a href="' + link.getAttribute( 'href' ) + '">Zur Bildbeschreibungsseite.</a></span></div>' +
'</div>' +
'<div id="ftImages-container-image" title="... zur Bildbeschreibungsseite">' +
'<a href="' + link.getAttribute( 'href' ) + '"><img id="ftImages-image" title="... zur Bildbeschreibungsseite"></a>' +
'<img title="Schließen" class="ftImages-close" id="ftImages-closeButton" src="' + ftImages.cfg.server + '/images/2/2d/ftImages-close.gif">' +
'</div>' +
'<div id="ftImages-loading"><a href="#" id="ftImages-loading-link"><img src="/skins/common/images/ajax-loader.gif"></a></div>' +
'</div></div>' +
'<div id="ftImages-loading-desc" style="display:none; position:absolute; z-index:100; width:100%; text-align:center; top:0;"><img src="/skins/common/images/ajax-loader.gif"></div>');
// Seitenabmaße
var arrPageSizes = ftImages.getPageSize();
// Style overlay and show it
$('#ftImages-overlay').css({
'backgroundColor': '#000000',
'opacity' : 0.8,
// 'width' : arrPageSizes[0],
'width' : $(window).width(),
'height' : arrPageSizes[1],
'left' : 0,
'position': 'absolute',
'top' : 0,
'z-index' : 90
}).fadeIn();
// Scroll-Zustand
var arrPageScroll = ftImages.getPageScroll();
// Calculate top and left offset for the jquery-lightbox div object and show it
$('#ftImages-container').css({
'left' : arrPageScroll[0],
'overflow' : 'auto',
'position' : 'absolute',
'top' : arrPageScroll[1] + ftImages.cfg.overlayPadding, // enthält das Mindest-margin
'width' : '100%',
'z-index' : 100
});
$('#ftImages-container-image').css({
'padding' : ftImages.cfg.imgPadding,
'position': 'relative',
'text-align': 'center'
});
$('#ftImages-closeButton').css({
'cursor' : 'pointer',
'left' : '4px',
'position': 'absolute',
'top' : '4px',
'z-index' : 110
});
$('#ftImages-container-image-box').css({
'background': '#FFFFFF',
'height' : '100px',
'margin' : '0 auto',
'position' : 'relative',
'width' : '25%'
});
$('#ftImages-container-desc').css({
'color' : '#555555',
'padding': ftImages.cfg.imgPadding,
'padding-bottom': 0,
'white-space' : 'pre'
});
$('kbd').css({
'background-color': '#DDDDDD',
'border-bottom' : '1px solid #CCCCCC',
'border-right' : '1px solid #CCCCCC',
'color' : '#555555',
'font-family' : 'inherit',
'font-size' : 'inherit',
'padding' : '2px 3px 1px 4px'
});
$('#ftImages-loading').css({
'margin-top': '-16px', // Halbe Höhe der Lade-Grafik
'position' : 'relative',
'text-align': 'center',
'top' : '50%'
});
// Laden der Bildbeschreibungsseite, wenn man auf das Bild oder den Link klickt
$('#ftImages-image')
.add('.ftImages-desc-link')
.click( function( e ) {
e = e || window.event;
if ( e.altKey && $.browser.mozilla ) {
// Speichern-Funktionalität im FF
return true;
}
var intImageHeight = 32;
var arrPageSizes = ftImages.getPageSize();
var topMargin = ( arrPageSizes[3] - intImageHeight ) / 2;
$('#ftImages-container').hide();
$('#ftImages-loading-desc').css( 'top', topMargin ).show();
// Noch überprüfen, ob ein STRG, ALT oder SHIFT gedrückt wurden!
if ( e.ctrlKey || e.altKey || e.shiftKey ) {
// Link soll in einem neuen Fenster/ Tab geladen werden => hier alles ausblenden
ftImages.finish();
}
});
// event-Handler, um das ganze wieder zu schließen
$('#ftImages-overlay')
// .add('#ftImages-container-desc') // Auskommentiert; sieht blöd aus, es gibt genug möglichen das wieder zu schließen!
.add('.ftImages-close')
.click(function() {
ftImages.finish_animate();
return false;
});
// Wenn man auf das Lade-Symbol klickt, wird die Vorschau ebenfalls geschlossen
$('#ftImages-loading-link').click( function() {
ftImages.finish();
return false;
});
// If window was resized, calculate the new overlay dimensions
$(window).resize( function() {
// Get page sizes
var arrPageSizes = ftImages.getPageSize();
// Style overlay and show it
$('#ftImages-overlay').css({
width: arrPageSizes[0],
height: arrPageSizes[1]
});
// Ausrichtung: links-rechts wird automatisch gemacht
// Ausrichtung: oben-unten
ftImages.resize_container_image_box2();
});
$('#ftImages-image,#ftImages-closeButton').hide();
$('#ftImages-loading').show();
// Bild laden
// Image preload process
var imagePreloader = new Image();
var src = el.getAttribute('src')
// Herausfinden des richtigen Bild-Pfades
if ( src.indexOf( '/thumb/' ) != -1 ) {
// Das verlinkte Bild ist ein thumbnail
var src_array = src.split('/');
var end = src_array.length;
src = '';
for ( var i = 0; i < end - 1; i++) {
if ( src_array[i] == 'thumb' ) {
continue;
}
if ( i == 0 ) {
src = src + src_array[i];
} else {
src = src + '/' + src_array[i];
}
}
}
imagePreloader.onload = function() {
$('#ftImages-image').attr( 'src', src );
// Perfomance an effect in the image container resizing it
ftImages.resize_container_image_box( imagePreloader.width, imagePreloader.height );
// clear onLoad, IE behaves irratically with animated gifs otherwise
imagePreloader.onload=function(){};
};
imagePreloader.src = src;
},
// Das div des Bildes muss in seiner Größe geändert werden, wenn das Bild fertig geladen wurde
// und angezeigt werden soll!
'resize_container_image_box' : function( intImageWidth, intImageHeight ) {
// Aktuelle Breite und Höhe
var intCurrentWidth = $('#ftImages-container-image-box').width();
var intCurrentHeight = $('#ftImages-container-image-box').height();
var intDescWidth = $('.ftImages-desc-link').outerWidth();
var intDescHeight = $('#ftImages-container-desc').outerHeight();
var intHeight = ( intImageHeight + ( ftImages.cfg.imgPadding * 2 ) );
// Ausmaße Bild plus padding
var intWidth = ( intImageWidth + ( ftImages.cfg.imgPadding * 2 ) );
if ( intWidth < ( intDescWidth + 2 * ftImages.cfg.imgPadding ) ) {
intWidth = intDescWidth + 2 * ftImages.cfg.imgPadding;
}
// Seitenabmaße
var arrPageSizes = ftImages.getPageSize();
var arrPageScroll = ftImages.getPageScroll();
var topMargin = 0;
if ( arrPageSizes[3] >= ( intHeight + intDescHeight ) ) {
topMargin = ( arrPageSizes[3] - intHeight - intDescHeight ) / 2;
if ( arrPageSizes[2] >= ( intWidth + ftImages.cfg.overlayPadding * 2 ) ) {
// Das Bild ist schmaler als die Bildschirmbreite und hat eine kleinere Höhe als die Bildschirmhöhe
$('#ftImages-container').css({
'height' : intHeight + intDescHeight,
'left' : ( arrPageSizes[2] - intWidth ) / 2,
'margin-top' : topMargin,
'top' : arrPageScroll[1],
'width' : intWidth
});
} else {
// Das Bild ist breiter als die Bildschirmbreite und hat eine kleinere Höhe als die Bildschirmhöhe
$('#ftImages-container').css({
'height' : intHeight + intDescHeight,
'left' : ftImages.cfg.overlayPadding,
'margin-top' : topMargin,
'overflow' : 'auto',
'top' : arrPageScroll[1],
'width' : arrPageSizes[2] - ftImages.cfg.overlayPadding * 2
});
}
} else {
if ( arrPageSizes[2] >= ( intWidth + ftImages.cfg.overlayPadding * 2 ) ) {
// Das Bild ist schmaler als die Bildschirmbreite und höher als die Bildschirmhöhe
$('#ftImages-container').css({
'height' : arrPageSizes[3] - ftImages.cfg.overlayPadding * 2,
'left' : ( arrPageSizes[2] - intWidth - ftImages.cfg.scrollbar ) / 2,
'margin-top' : ftImages.cfg.overlayPadding,
'overflow' : 'auto',
'top' : ( arrPageScroll[1] + topMargin ),
'width' : intWidth + ftImages.cfg.scrollbar
});
} else {
// Das Bild ist breiter als die Bildschirmbreite und höher als die Bildschirmhöhe
$('#ftImages-container').css({
'height' : arrPageSizes[3] - ftImages.cfg.overlayPadding * 2,
'left' : ftImages.cfg.overlayPadding,
'margin-top' : ftImages.cfg.overlayPadding,
'overflow' : 'auto',
'top' : arrPageScroll[1],
'width' : arrPageSizes[2] - ftImages.cfg.overlayPadding * 2
});
}
}
$('#ftImages-loading').css( 'margin-top', '-=' + intDescHeight ).show();
// Differenz
var intDiffW = intCurrentWidth - intWidth;
var intDiffH = intCurrentHeight - intHeight;
// div-Größe anpassen
$('#ftImages-container-image-box').animate({
'width' : intWidth,
'height': ( intHeight + intDescHeight )
}, 400, function() {
ftImages.show_image();
});
// ESC-Tasten-Funktionalität (Namespace "ftImages"!)
$(document).bind( 'keydown.ftImages', function( e ) {
// ESCAPE-Taste
if ( e.which == 27 ) {
ftImages.finish_animate();
}
});
},
// Wird ausgeführt, wenn die Fenstergröße geändert wird!
// Die Größe des divs, in dem das Bild ist soll icht mehr geändert werden.
// Es soll lediglich die neue Positionierung bestimmt werden!
'resize_container_image_box2' : function() {
// Aktuelle Breite und Höhe
var intWidth = $('#ftImages-container-image-box').outerWidth();
var intHeight = $('#ftImages-container-image-box').outerHeight();
// Seitenabmaße
var arrPageSizes = ftImages.getPageSize();
var arrPageScroll = ftImages.getPageScroll();
var topMargin = 0;
if ( arrPageSizes[3] >= intHeight ) {
topMargin = ( arrPageSizes[3] - intHeight ) / 2;
if ( arrPageSizes[2] >= intWidth ) {
// Das Bild ist schmaler als die Bildschirmbreite und hat eine kleinere Höhe als die Bildschirmhöhe
$('#ftImages-container').css({
'height' : intHeight,
'left' : ( arrPageSizes[2] - intWidth ) / 2,
'margin-top' : topMargin,
'top' : arrPageScroll[1],
'width' : intWidth
});
} else {
// Das Bild ist breiter als die Bildschirmbreite und hat eine kleinere Höhe als die Bildschirmhöhe
$('#ftImages-container').css({
'height' : intHeight,
'left' : ftImages.cfg.overlayPadding,
'margin-top' : topMargin,
'overflow' : 'auto',
'top' : arrPageScroll[1],
'width' : arrPageSizes[2] - ftImages.cfg.overlayPadding * 2
});
}
} else {
if ( arrPageSizes[2] >= ( intWidth + ftImages.cfg.overlayPadding * 2 ) ) {
// Das Bild ist schmaler als die Bildschirmbreite und höher als die Bildschirmhöhe
$('#ftImages-container').css({
'height' : arrPageSizes[3] - ftImages.cfg.overlayPadding * 2,
'left' : ( arrPageSizes[2] - intWidth - ftImages.cfg.scrollbar ) / 2,
'margin-top' : ftImages.cfg.overlayPadding,
'overflow' : 'auto',
'top' : ( arrPageScroll[1] + topMargin ),
'width' : intWidth + ftImages.cfg.scrollbar
});
} else {
// Das Bild ist breiter als die Bildschirmbreite und höher als die Bildschirmhöhe
$('#ftImages-container').css({
'height' : arrPageSizes[3] - ftImages.cfg.overlayPadding * 2,
'left' : ftImages.cfg.overlayPadding,
'margin-top' : ftImages.cfg.overlayPadding,
'overflow' : 'auto',
'top' : arrPageScroll[1],
'width' : arrPageSizes[2] - ftImages.cfg.overlayPadding * 2
});
}
}
},
'show_image' : function() {
$('#ftImages-loading').hide();
$('#ftImages-image,#ftImages-container-desc,#ftImages-closeButton').fadeIn();
$('#ftImages-container-image-box').css({
'background': ftImages.cfg.imgBackground
});
},
'finish_animate' : function() {
$('#ftImages-container').remove();
$('#ftImages-overlay').fadeOut(function() {
ftImages.finish();
});
},
'finish' : function() {
$(document).unbind( 'keydown.ftImages' );
$('#ftImages-overlay').remove();
$('#ftImages-container').remove();
$('#ftImages-loading-desc').remove();
// Scrollen wieder ermöglichen
$('html').css( 'overflow', ftImages.cfg.overflow_org_html );
$('body').css( 'overflow', ftImages.cfg.overflow_org_body );
// Die Elemente, die im IE Schwierigkeiten bereiten wieder einblenden!
$('embed, object, select').css({ 'visibility' : 'visible' });
},
'getPageSize' : function() {
var xScroll, yScroll;
if (window.innerHeight && window.scrollMaxY) {
xScroll = window.innerWidth + window.scrollMaxX;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth, windowHeight;
if (self.innerHeight) { // all except Explorer
if(document.documentElement.clientWidth){
windowWidth = document.documentElement.clientWidth;
} else {
windowWidth = self.innerWidth;
}
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
// for small pages with total height less then height of the viewport
if(yScroll < windowHeight){
pageHeight = windowHeight;
} else {
pageHeight = yScroll;
}
// for small pages with total width less then width of the viewport
if(xScroll < windowWidth){
pageWidth = xScroll;
} else {
pageWidth = windowWidth;
}
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
return arrayPageSize;
},
'getPageScroll' : function() {
var xScroll, yScroll;
if (self.pageYOffset) {
yScroll = self.pageYOffset;
xScroll = self.pageXOffset;
} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
yScroll = document.documentElement.scrollTop;
xScroll = document.documentElement.scrollLeft;
} else if (document.body) {// all other Explorers
yScroll = document.body.scrollTop;
xScroll = document.body.scrollLeft;
}
arrayPageScroll = new Array(xScroll,yScroll);
return arrayPageScroll;
}
}
$(document).ready( function() {
ftImages.run();
});
})(jQuery);
*/
// Links in neuem Fenster/Tab öffnen
addOnloadHook(function() {
if ( !document.getElementsByTagName ) return false;
var links = document.getElementsByTagName( "a" );
for ( var i=0; i<links.length; i++ ) {
if ( links[i].className == "external text" ||
links[i].className == "external free" ) {
links[i].onclick = function( e ) {
// Link in neuem Fenster/Tab öffnen
e = e || window.event;
if ( !e.ctrlKey &&
!e.altKey &&
!e.shiftKey ) {
return !window.open( this.href );
}
}
}
}
});
// Überschrift der Hauptseite verstecken
if (wgPageName == "Hauptseite") {
if (wgAction == "view" || wgAction == "purge") {
document.write('<style type="text/css">/*<![CDATA[*/ h1.firstHeading, #siteSub, #contentSub, #catlinks, #lastmod {display: none !important;} /*]]>*/</style>');
}
}
//============================================================
// en: ADD SOME EXTRA BUTTONS TO THE EDITPANEL [[:en:User:MarkS/Extra edit buttons]]
// de: FÜGE NEUE BUTTON IN DIE WERKZEUGLEISTE [[:de:Benutzer:Olliminatore/Extra-Editbuttons]]
// Converted by [[User:Olliminatore]] 25.09.2006
//============================================================
// de: Die Reihenfolge und Anzahl der Buttons ist über die (alphabetische) Variable customEditButtons wählbar.
//
var XEBOrder=[];
var attributes = ["imageFile","speedTip","tagOpen","tagClose","sampleText"];
// isMSIE55
//fills the variable mwCustomEditButtons (s. function in /wikibits.js), with buttons for the toolbar
function addCustomButton(){
var a = {};
for (d in attributes) a[attributes[d]] = arguments[d];
mwCustomEditButtons.push(a);
};
if (typeof usersignature == 'undefined') var usersignature = '-- \~\~\~\~';
var Isrc='http://upload.wikimedia.org/wikipedia/commons/';
var BDict={
'A':['e/e9/Button_headline2.png','Sekundäre Überschrift','\n=== ',' ===','Sekundäre Überschrift'],
'A3':['/3/3a/Button_headline3.png','Untergeordnete Überschrift','\n==== ',' ====','Untergeordnete Überschrift'],
'B':['1/13/Button_enter.png','Zeilenumbruch','<br />','',''],
'B1':['6/62/Button_desambig.png','Begriffsklärungseite','{{Begriffsklärung}}','',''],
'B2':['5/5e/Button_disambig_small.png','Dieser Artikel erläutert…','{{Dieser Artikel|','}}','erläutert den Buchstaben X, zu anderen Bedeutungen siehe [[X (Begriffsklärung)]].'],
'B3':['5/5e/Button_disambig_small.png','Begriffsklärungshinweis','{{Begriffsklärungshinweis}}','',''],
'C':['5/5f/Button_center.png','Zentriert','<div style="text-align: center;">\n','\n<\/div>','Zentriert'],
'CF':['2/2e/Button_math.png','Mathematische Formel (LaTeX)','<tex>','</tex>','Formel hier einfügen'],
'CO':['6/6c/Button_commons.png','Commons','{{Commons|Category:','}}','Seitenname'],
'D':['e/ea/Button_align_left.png','Left-Align','<div style="text-align: left; direction: ltr; margin-left: 1em;">\n','\n<\/div>','Left-aligned Text'],
'DS':['4/4e/Button_romain.png','SORTIERUNG','{{SORTIERUNG:','}}','Sortierbegriff'],
'DO':['e/e9/Button_done.png','Erledigt (kurz)','{{Erl.}}','',''],
'ER':['9/9d/Button_fait.png','Erledigt (lang)','{{Erledigt|1=' + usersignature,'}}',''],
'E':['0/04/Button_array.png','Tabelle','\n{| class="wikitable" \n|- \n| 1 || 2\n|- \n| 3 || 4','\n|}\n',''],
'F':['8/8f/Button_poeme.png','Farbiger Text','<span style="color: color">','<\/span>','Farbig'],
'FS':['1/1b/Button_miss_signature.png','Fehlende Signatur','\{\{ers\:Unsigned|','}}','BENUTZER'],
'G':['9/9e/Btn_toolbar_gallery.png','Bildergalerie',"\n<gallery>\nDatei:M63.jpg|[[M63]]\nDatei:Mona Lisa.jpg|[[Mona Lisa]]\nDatei:Truite arc-en-ciel.jpg|Eine [[Forelle ]]\n<\/gallery>","",''],
'H':['7/74/Button_comment.png','Versteckter Kommentar',"<!--","-->",'Versteckt'],
'I':['4/41/Button_hr_halfwidth.png','Gedankenstrich','–','',''],
'I1':['6/6a/Button_sup_letter.png','Hochgestellter Text (superscript)','<sup>','<\/sup>','Hochgestellt'],
'I2':['a/aa/Button_sub_letter.png','Tiefgestellter Text (subscript)','<sub>','<\/sub>','Tiefgestellt'],
'J1':['5/58/Button_small.png','Kleingeschriebener Text (small)','<small>','<\/small>','Klein'],
'J2':['5/56/Button_big.png','Größerer Text (big)','<big>','<\/big>','Groß'],
'K':['b/b4/Button_category03.png','Kategorie',"[[Kategorie:","]]",'Name der Kategorie'],
'KR':['b/b1/Button_dagger.png','Kreuz','†','',''],
'L':['8/8e/Button_shifting.png','Setze Tab(s)',':','',':'],
'M':['f/fd/Button_blockquote.png','Markiert ein Zitat mit Absatz','<blockquote style="border: 1px solid blue; padding: 2em;">\n','\n<\/blockquote>','Text'],
'N':['4/4b/Button_nbsp.png','Geschütztes Leerzeichen (nonbreaking space)',' ','',''],
'NT':['b/bf/Button_thinsp.png','Schmales geschütztes Leerzeichen',' ','',''],
'O':['2/23/Button_code.png','Code einfügen','<code>','<\/code>','Code'],
'P':['3/3c/Button_pre.png','Vorformatierter Text','<pre>','<\/pre>','Präformatierter Text'],
'P1':['9/93/Button_sub_link.png','Link zu einem Seiten-Abschnitt','[[Seite#',']]','Abschnitt'],
'P2':['9/93/Button_sub_link.png','Link zu einer Unterseite','[[','/Unterseite]]','{{PAGENAME}}'],
'PF':['f/ff/Button_arrow_right.png','Pfeil nach rechts','\u2192','',''],
'PD':['e/ee/Button_vote_biblio.png','Personendaten','{{Personendaten\n|NAME=\n|ALTERNATIVNAMEN=','\n|KURZBESCHREIBUNG=\n|GEBURTSDATUM=\n|GEBURTSORT=\n|STERBEDATUM=\n|STERBEORT=\n}}',''],
'PO':['c/c7/Button_polytonique.png','Unicode-Sonderzeichen der altgriechischen Schrift','{{Polytonisch|','}}','Text'],
'Q':['d/d3/Button_definition_list.png','Definitionsliste','\n; ',' : ','Text'],
'Q1':['0/05/Button_Anf%C3%BChrung.png','Anführungszeichen',"„","“",'Text'],
'Q2':['2/26/Button_latinas.png','Latinas',"«","»",'Text'],
'Q3':['b/bc/Button_guillemet.png','Guillemets',"»","«",'Text'],
'R':['7/79/Button_reflink.png','Markiere eine Referenz','<ref>','<\/ref>','Bezugsangabe'],
'R1':['c/c4/Button_ref.png','Referenz mit Name','<ref name="">','<\/ref>','Bezugsangabe'],
'R2':['f/fe/Button_refs.png','Wiederholungs-Referenz','<ref name="','"/>','Referenzname'],
'R3':['9/9a/Button_references.png','Referenz-Footer','\n== Einzelnachweise ==\n<references />\n','',''],
'RD':['7/70/Button_fusion.png','Redundanz','{{ers:Redundanz|','}}','Artikel1|Artikel2|Artikel3…'],
'S':['c/c9/Button_strike.png','Durchgestrichener Text',"<s>","<\/s>",'Durchgestrichen'],
'SA':['b/bb/Seealso.png','Siehe auch','\n== Siehe auch ==\n','',''],
'SC':['0/02/Button_S_yellow.png','SourceCode hervorheben','<source lang="javascript">',"<\/source>",'Quelltext'],
'SM':['7/74/Button_oeil.png','Smiley','<tt style="background:#FE3">','</tt>',':D'],
'ST':['7/72/Button_span_2.png','span-tag mit CSS-Angabe','<span style="">','<\/span>','Markierter Inhalt'],
'T':['e/eb/Button_plantilla.png','Vorlage','{{','}}','Vorlagenname'],
'TL':['e/eb/Button_templatelink.png','Vorlagenlink','{{[[Vorlage:','|]]}}','Vorlagenname'],
'TT':['3/30/Tt_icon.png','Schreibmaschinenstil','<tt>','<\/tt>','Teletyper Text'],
'U':['f/fd/Button_underline.png','Unterstreichen',"<u>","<\/u>",'Unterstrichener Text'],
'UR':['e/ec/Button_aviso.png','Urheberrecht ungeklärt',"{{Urheberrecht ungeklärt}}","",''],
'URV':['9/9d/Button_halt.png','Urheberrechtsverletzung',"{{URV}} [","] " + usersignature,'Url'],
'V':['c/c8/Button_redirect.png','Weiterleitung (Redirect)',"#REDIRECT [[","]]",'Ziel einfügen'],
'VP':['b/ba/Button_conserver.png','Vote *pro*',"# {{pro}} " + usersignature,"",''],
'VC':['f/fc/Button_supp.png','Vote *contra*',"# {{contra}} " + usersignature,"",''],
'VN':['4/4e/Button_neutre.png','Vote *neutral*',"# {{neutral}} " + usersignature,"",''],
'WB':['6/61/Button_wikibooks.png','Wikibooks',"{{Wikibooks","}}",'|Seitenname'],
'WS':['e/eb/Button_wikisource.png','Wikisource',"{{Wikisource","}}",'|Seitenname'],
'WT':['b/bf/WP-icon.png','Wiktionary',"{{Wiktionary","}}",'|Seitenname'],
'WV':['b/b5/Button_wikiversity.png','Wikiversity',"{{Wikiversity","}}",'|Seitenname'],
'W':['8/88/Btn_toolbar_enum.png','Nummerierung',"\n# Element 1\n# Element 2\n# Element 3","",''],
'X':['1/11/Btn_toolbar_liste.png','Liste',"\n* Element A\n* Element B\n* Element C","",''],
'Y1':['c/ce/Button_no_include.png','No Include',"<noinclude>","<\/noinclude>",'Text'],
'Y2':['7/79/Button_include.png','Include only',"<includeonly>","<\/includeonly>",'Text'],
'Z':['3/35/Button_substitute.png','Ersetzen',"{{ers:","}}",'Vorlage'],
'ZI':['8/83/Button_biocitas.png','Zitat',"{{Zitat|","}}",'Text|Autor (optional)|Quelle (optional)'],
'T1':['c/c6/Blending_blue_button_background.png','Spacer (no function)','','','']
};
function initButtons(){
var bc,d;
if (typeof customEditButtons!='string') // can be modified
XEBOrder="A,A3,B,E,F,G,H,I1,I2,J1,K,M,Q,R,R1,R2,R3,S,T,U,V,W,X".split(",");
else if (customEditButtons.toLowerCase()=='all')
for (b in BDict) XEBOrder.push(b);
else XEBOrder=customEditButtons.split(",");
for (b in BDict) BDict[b][0] = Isrc+BDict[b][0]; // // Add the start of the URL (Isrc) to the XEB buttons
// If the user has defined any buttons then add them into the available button lists
if (typeof myButtons=='object')
for (b in myButtons) BDict[b] = myButtons[b]; // custom user buttons
// Add the media wiki standard buttons into the available buttons
for (b in mwEditButtons) { // add standard buttons for full XEB order changing
BDict[b]=[];
// for (d in mwEditButtons[b])
for (d in attributes) BDict[b].push(mwEditButtons[b][attributes[d]]);
}
// Build the new buttons
for (i=0;i<XEBOrder.length;i++) {
bc = BDict[XEBOrder[i]];
//try { // catch not existing button names
addCustomButton(bc[0],bc[1],bc[2],bc[3],bc[4]);
//}
// catch(e) {continue}
}
// Remove the default buttons (if requested by the user)
eraseButtons();
};
//============================================================
// Table generator
//============================================================
/** en: Generate an array using Mediawiki syntax
* @author: originally from fr:user:dake
* @version: 0.2 */
function generateTable(caption, exhead, nbCol, nbRow, exfield, align){
var code = "\n";
code += '{| class="wikitable" ' + align + '\n'
+ caption + exhead;
if (exfield) code += '!\n';
for (i=1;i<nbCol+1;i++) code += '! FELD ' + i + '\n';
var items = 0;
for (var j=0;j<nbRow;j++){
if (exfield) {
items++;
code += '|-\n! style="background: #FFDDDD;"|ITEM ' + items + '\n';
} else code += '|-\n';
for (i=0;i<nbCol;i++) code += '| Element\n';
}
code += '|}\n';
insertTags('','', code);
editform.elements['wpSummary'].value+=' table+';
return false
};
/** en: Open a popup with parameters to generate an array.
* The number of rows/columns can be modified.
* @author: originally fr:user:dake
* @version: 0.2 */
function popupTable(){
var popup = window.open('about:blank','WPtable','height=400,width=400,scrollbars=yes');
var javaCode = '<script type="text\/javascript">function insertCode(){'
+'var caption = (document.paramForm.inputCaption.checked)?"\|\+ TABLE CAPTION \\n":""; '
+'var exhead = (document.paramForm.inputHead.checked)?\'\|\- style=\"background: #DDFFDD;\"\\n\':""; '
+'var row = parseInt(document.paramForm.inputRow.value); '
+'var col = parseInt(document.paramForm.inputCol.value); '
+'var exfield = document.paramForm.inputItems.checked; '
+'var align = (document.paramForm.inputAlign.checked)?\'align="center"\':""; '
+'window.opener.generateTable(caption,exhead,col,row,exfield,align); '
+'window.close()}<\/script>';
popup.document.write('<html><head><title>Make table<\/title>'
// +'<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><\/script>'
//+'<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>'
+ javaCode +'<\/head><body>'
+'<p>Enter the table parameters below: <\/p>'
+'<form name="paramForm">'
+'Table caption: <input type="checkbox" name="inputCaption"><p\/>'
+'Table alignment: center<input type="checkbox" name="inputAlign"><p\/>'
+'Table headline: colored<input type="checkbox" name="inputHead"><p\/>'
+'Number of rows: <input type="text" name="inputRow" value="3" size="2"><p\/>'
+'Number of columns: <input type="text" name="inputCol" value="3" size="2"><p\/>'
//+'Alternating grey lines: <input type="checkbox" name="inputLine" checked="1" ><p\/>'
+'Item column: <input type="checkbox" name="inputItems" ><p\/>'
+'<\/form">'
+'<i>The default table allows for fields and values only.<\/i><p\/>'
+'Check "Item column" to allow for the table to have fields, items, and values.<\/i><p\/>'
+'<p><a href="javascript:insertCode()"> Insert table into window<\/a> |'
+' <a href="javascript:self.close()">Cancel<\/a><\/p>'
+'<\/body><\/html>');
popup.document.close();
return false
};
/** en: Removes arbitrary standard buttons from the toolbar
* @author: [[:de:User:Olliminatore]]
* @version: 0.2 (01.10.2006) **/
function eraseButtons(){
if(typeof rmEditButtons!='object') return;
if (typeof rmEditButtons[0] == 'string' && rmEditButtons[0].toLowerCase() == 'all')
return mwEditButtons=[];
//Remove the buttons the user doesn't want
for(i=0;i<rmEditButtons.length;i++){
var n=rmEditButtons[i]-i;
if(n>=0 && n<mwEditButtons.length){
if(n<mwEditButtons.length){
var x = -1;
while((++x)<mwEditButtons.length)
if(x>=n)
mwEditButtons[x] = mwEditButtons[x+1];
}
mwEditButtons.pop();
}
}
};
// Adds extended onclick-function to some buttons
function extendButtons(){
if(!(allEditButtons = document.getElementById('toolbar'))) return false;
if(typeof editform == 'undefined')
if(!(window.editform = document.editform)) return false;
XEBOrder.getIndex = function (item){
if(is_gecko) return this.indexOf(item);
else //is IE (Opera < 9)
for (var i=0;i < this.length;i++) if (this[i]==item) return Number(i);
return -1
}
var searchbox = allEditButtons.getElementsByTagName('span')[0];
if (searchbox) allEditButtons.appendChild(searchbox) // pay Zocky/Search Box
allEditButtons = allEditButtons.getElementsByTagName('img');
var bu_len = mwEditButtons.length;
var c=0;
if(!allEditButtons.length) return false;
// own signature
if (bu_len>0){
if(typeof rmEditButtons=='object' && rmEditButtons.pop()==10) c=1;
mwEditButtons[bu_len-2+c].tagOpen=usersignature;
if(usersignature != '-- \~\~\~\~')
allEditButtons[bu_len-2+c].src=Isrc+'d/d1/Button_mysignature.png';
}
// table
if((c=XEBOrder.getIndex('E')) != -1) allEditButtons[bu_len+c].onclick=popupTable;
// redirect
c=XEBOrder.getIndex('V');
if(c != -1)
allEditButtons[bu_len+c].onclick=function(){
if (a = window.prompt("Wohin soll die Weiterleitung gehen\?", "")) {
a = '\#REDIRECT \[\[' + a + '\]\]';
editform.wpTextbox1.value=a;
editform.wpSummary.value=a; // not more needed?
editform.wpWatchthis.checked=false
}
};
// spacer width
if((c = XEBOrder.getIndex('T1')) != -1) allEditButtons[bu_len+c].width = 6;
};
if ((wgAction=="edit") || (wgAction=="submit"))
addOnloadHook(initButtons);
if(!wgIsArticle) // only if edit
hookEvent("load", extendButtons);
//================================================================================
//*** Dynamic Navigation Bars
//
// Übernommen aus: de.wikipedia.org
// Permanenter Link: http://de.wikipedia.org/w/index.php?title=MediaWiki:Common.js&oldid=63370426
// Änderungen:
// Modifikation, so dass auch Bilder als 'Einklappen'- und
// 'Ausklappen'-Button verwendet werden können.
// Infos werden aus folgenden divs ausgelesen, die in der
// Vorlage vorhanden sein müssen:
// <div class="NavFrame" style="...">
// <div class="NavBildAusklappen" style="...">{{{Pfad zum Bild}}}</div>
// <div class="NavBildEinklappen" style="...">{{{Pfad zum Bild}}}</div>
// <div class="NavBildAbstand" style="margin-top: {{{ANGABE!!!}}}; margin-right: {{{ANGABE!!!}}}; ..."></div>
// <div class="NavHead" style="...">{{{TITEL}}}</div>
// <div class="NavContent" style="...">{{{INHALT}}}</div>
// <div class="NavEnd" style="..."> </div>
// </div>
// "Standard"-Links setzen und Variablen initialisieren
var NavBarHideBild = new Array();
var NavBarShowBild = new Array();
var NavigationBarHide = 'Einklappen';
var NavigationBarShow = 'Ausklappen';
// Festlegen der maximalen Anzahl der Navigation Bars auf der Seite
// - falls mehr Navigation Bars auf der Seite sind, werden alle einge-
// klappt
NavigationBarShowDefault = 0; // Alle Bars werden eingeklappt
// NavigationBarShowDefault = 1; // Auf Seiten mit mehr als einen Bar, werden alle eingeklappt
if (typeof NavigationBarShowDefault == 'undefined' ) {
var NavigationBarShowDefault = 1;
}
addOnloadHook(function()
{
// Einblenden und Ausblenden des Inhalts und des Bildes (falls vorhanden)
// der Navigation Bar
// Parameter:
// indexNavigationBar: Der Indes der Navigation Bar, die eingeklappt/
// ausgeklappt werden soll
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle)
{
return false;
}
// Wenn die Navigationsleiste bereits angezeigt wird
var NavToggleBild = '';
if (NavToggle.firstChild.nodeName == "IMG")
{
NavToggleBild = NavToggle.firstChild.getAttribute('alt');
}
if ((NavToggle.firstChild.data == NavigationBarHide) ||
(NavToggleBild == 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')
{
// Wenn bereits ein Bild angezeigt wird
if (typeof(NavBarHideBild[indexNavigationBar]) == 'string')
{
NavChild.firstChild.setAttribute('alt',NavigationBarShow);
NavChild.firstChild.setAttribute('title',NavigationBarShow);
NavChild.firstChild.setAttribute('src',NavBarShowBild[indexNavigationBar]);
} else
{
NavChild.firstChild.data = NavigationBarShow;
}
}
}
// Wenn die Navigation Bar momentan ausgeblendet ist
} else if ((NavToggle.firstChild.data == NavigationBarShow) ||
(NavToggleBild == 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')
{
// Wenn bereits ein Bild angezeigt wird
if (typeof(NavBarHideBild[indexNavigationBar]) == 'string')
{
NavChild.firstChild.setAttribute('alt',NavigationBarHide);
NavChild.firstChild.setAttribute('title',NavigationBarHide);
NavChild.firstChild.setAttribute('src',NavBarHideBild[indexNavigationBar]);
} else
{
NavChild.firstChild.data = NavigationBarHide;
}
}
}
}
}
// < img >-DOM erstellen
// Parameter:
// url: Pfad zu der Bilddatei
// art: "Einklappen" oder "Ausklappen"
function createImgDOM(url,art) {
var NavToggleText = document.createElement("img");
NavToggleText.src = url;
NavToggleText.title = art;
NavToggleText.alt = art;
return NavToggleText;
}
// Leitet weiter zu der Funktion, die die Navigation Bar ein- und aus-
// blendet
function toggleNavigationBarFunction(indexNavigationBar)
{
return function()
{
toggleNavigationBar(indexNavigationBar);
return false;
};
}
// Hinzufügen des "Einklappen"-/ "Ausklappen"-Buttons zu den Navigation
// Bars
var indexNavigationBar = 0;
// Iteration über alle < div >-Elemente
var divs = document.getElementsByTagName("div");
for (var i=0; i<divs.length; i++)
{
var NavFrame = divs[i];
// Wenn eine Navigation Bar gefunden wurde
if (NavFrame.className == "NavFrame")
{
indexNavigationBar++;
// Link-Element erstellen
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', '#');
NavToggle.onclick = toggleNavigationBarFunction(indexNavigationBar);
// Link-Text erstellen; wenn ein Bild gefunden wird, wird dieser Text wieder überschrieben
var NavToggleText = document.createTextNode(NavigationBarHide);
// Suchen von weiteren Informationen zu der Navigationsleiste
// Wenn keine Pfade zu Bildern gefunden werden, werden die
// Standardlinks 'Einklappen' und 'Ausklappen' verwendet
var divs2 = NavFrame.getElementsByTagName("div");
for (
var i2 = 0;
i2 < divs2.length;
i2++
)
{
// Es wurde ein "Ausklappen"-Bild angegeben
if (divs2[i2].className == "NavBildAusklappen")
{
// Durch MediaWiki wird ein direkter Link zu einem Bild
// in ein < img >-Element umgewandelt! Wenn keine url zu
// einem Bild angegeben wurde, ist das Ergebnis 'null'!
if (divs2[i2].firstChild.getAttribute('src') != null)
{
NavBarShowBild[indexNavigationBar] = divs2[i2].firstChild.getAttribute('src');
if (typeof(NavBarHideBild[indexNavigationBar]) != 'string')
{
NavBarHideBild[indexNavigationBar] = divs2[i2].firstChild.getAttribute('src');
}
}
// < div >-Element löschen
NavFrame.removeChild(divs2[i2]);
}
// Wenn kein Bild zum "Einklappen" angegeben wurde, wird
// das selbe Bild wie beim "Ausklappen" verwendet
if (divs2[i2].className == "NavBildEinklappen")
{
if (divs2[i2].firstChild.getAttribute('src') != null)
{
NavBarHideBild[indexNavigationBar] = divs2[i2].firstChild.getAttribute('src');
if (typeof(NavBarShowBild[indexNavigationBar]) != 'string')
{
NavBarShowBild[indexNavigationBar] = divs2[i2].firstChild.getAttribute('src');
}
}
// < div >-Element löschen
NavFrame.removeChild(divs2[i2]);
}
// Wenn Angaben zu den Abständen getroffen wurden
if (divs2[i2].className == "NavBildAbstand")
{
if (divs2[i2].style.marginTop != null)
{
NavToggle.style.marginTop = divs2[i2].style.marginTop;
}
if (divs2[i2].style.marginRight != null)
{
NavToggle.style.marginRight = divs2[i2].style.marginRight;
}
// < div >-Element löschen
NavFrame.removeChild(divs2[i2]);
}
}
// Wenn ein Bild angegeben wurde, soll dieses verwendet werden, alle
// Elemente sind am Anfang ausgeklappt, von daher ist das erste
// Element "Einklappen"
if (typeof(NavBarHideBild[indexNavigationBar]) == 'string')
{
delete NavToggleText;
var NavToggleText = createImgDOM(NavBarHideBild[indexNavigationBar],NavigationBarHide);
}
NavToggle.appendChild(NavToggleText);
// Hinzufügen des NavToggle-Button als erstes Element des
// < div >-Elements (in < div class="NavFrame" >)
NavFrame.insertBefore(
NavToggle,
NavFrame.firstChild
);
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// Wenn mehr Navigation Bars gefunden wurden, als in der Default-
// Einstellung festgelegt, sollen alle "eingeklappt" werden
if (NavigationBarShowDefault < indexNavigationBar)
{
for(
var i=1;
i<=indexNavigationBar;
i++
)
{
toggleNavigationBar(i);
}
}
});