User:Lily/global.js

$(function {	//make TOC draggable	console.log('right: pos.right');	var $mytoc = $('#toc');	if ( $mytoc.length ) {		var pos = $mytoc.position;		$mytoc.css({ 'position': 'absolute', marginLeft: 0, marginTop: 0, top: pos.top, right: pos.right });		dragElement($mytoc[0]);		setTimeout(function { $('#toc').css({				'position': 'fixed',				'right': '0.5em', 'top': '5em'			}); }, 200);	}	else{   	console.log('No TOC');	}

function dragElement(elmnt) { var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0; elmnt.onmousedown = dragMouseDown; function dragMouseDown(e) { e = e || window.event; e.preventDefault; // get the mouse cursor position at startup: pos3 = e.clientX; pos4 = e.clientY; document.onmouseup = closeDragElement; // call a function whenever the cursor moves: document.onmousemove = elementDrag; //console.log('MediaWiki:Gadget-Navbar.js dragMouseDown'); }		function elementDrag(e) { e = e || window.event; e.preventDefault; // calculate the new cursor position: pos1 = pos3 - e.clientX; pos2 = pos4 - e.clientY; pos3 = e.clientX; pos4 = e.clientY; // set the element's new position: elmnt.style.top = elmnt.offsetTop - pos2 + 'px'; elmnt.style.left = elmnt.offsetLeft - pos1 + 'px'; //console.log('MediaWiki:Gadget-Navbar.js elementDrag'); }		function closeDragElement { // stop moving when mouse button is released: document.onmouseup = null; document.onmousemove = null; //console.log('MediaWiki:Gadget-Navbar.js closeDragElement'); }	}

//console.log('MediaWiki:Gadget-Navbar.js 2'); //console.log('\nprefix: ' +mw.config.get( 'wgServer' ) +mw.config.get( 'wgScript' ) +'?title=' +mw.config.get( 'wgPageName' ) +'&action=edit'); var pfx = '\n' +' ' +wikiadmin(pfx) +mywikis +buttons +'\n  ';	$('body').append(navBar);	var $mybar = $('#botbar');	try {		$mybar.css({ 'position': 'absolute' });		dragElement(document.getElementById('botbar'));		setTimeout(function  {			$('#botbar').css({				'bottom': '0',				'position': 'fixed'			});		}, 200);	} catch (err) {		console.log('MediaWiki:Gadget-Navbar.js#botbar ' +err.message);	}

$('#closebar').click(function {		$('#botbar').hide;	});

$('#siteNotice').click(function {		$('#siteNotice').hide;	});

$('#toggle').click(function {		try {			$('#navbarAdministration').toggle;			$('#navbarWikiliste').toggle;			//console.log('MediaWiki:Gadget-Navbar.js#toggle toggle');		} catch (err) {			console.log('MediaWiki:Gadget-Navbar.js#toggle ' +err.message);		}	}); try { $('#centralNotice').hide; //console.log('MediaWiki:Gadget-Navbar.js#centralNotice hidden'); } catch (err) { console.log('MediaWiki:Gadget-Navbar.js#centralNotice ' +err.message); }	$('#centralNotice').click(function {		$('#centralNotice').hide;		//console.log('MediaWiki:Gadget-Navbar.js#centralNotice clicked');	});

$("#transparent").click(function{		try {   		$("#botbar").toggleClass("bottombar");    		//console.log('MediaWiki:Common.js#transparent toggleClass');		} catch (err) {			console.log('MediaWiki:Common.js#transparent ' +err.message);		}	});

function buttons { // erzeugt die Navigationselemente Pfeile und Disk var klass = '\n '; var tail = ' '; var top = '\n&#11014;'; var bot = '\n&#11015;'; var toggl = '\n &#8660; '; var transp = ''; // '\n' +'&#10059; '; var floppy = '\n &#10004;'; var cross = '\n' +'&#10008; '; var mybuts = klass +top +tail +klass +bot +tail +transp +toggl +cross +floppy +tail; //console.log(mybuts); return mybuts; }

function navbar(pfx) { // Menüpunkt zum Anklicken der wichtigsten Elemente der Navigation Bar var linktext = 'Gadget Navigationsleiste'; var link = 'Globale User CSS Datei Yazz:MediaWiki:Common.css/bottombar.css' +		'Globale User JavaScript Datei Yazz:MediaWiki:Gadget-Navbar.js' +		' ' +		pfx +'Special:AllPages/MediaWiki:">Alle MediaWiki Seiten' + pfx +'MediaWiki:Vector.css">Vector.css (im Wiki)' +		pfx +'MediaWiki:Common.css">Common.css (im Wiki)' + pfx +'MediaWiki:Vector.js">Vector.js (im Wiki)' +		pfx +'MediaWiki:Common.js">Common.js (im Wiki)'; return dropdown_submenu(linktext, linkliste, link); }

function wikipedia { var mywikis = 'Meta</a>\ MediaWiki</a>\ Commons</a>\ Wikipedia</a>\ Wikibooks</a>\ Wikipedia (en)</a>\ Wikibooks (en)</a>\ Wikidata</a>\ Species</a>\ Wikisource</a>\ Wikiquote</a>\ Wikiversity</a>\ Wikivoyage</a>\ Wikinews</a>\ Wikiquote (en)</a>\ Wikiversity (en)</a>\ <a target="_blank" href="https://en.wikivoyage.org/">Wikivoyage (en)</a>\ <a target="_blank" href="https://en.wikinews.org/">Wikinews (en)</a>'; var mytext = 'Wikipedia'; return dropdown_submenu(mytext, mywikis); }

function otherwikis { var mytext = 'andere Wikis'; var mywikis = '<a target="_blank" href="https://wiki.piratenpartei.de">Deutsche Piraten</a>' + '<a target="_blank" href="https://wiki.piratenpartei.at">Österreichische Piraten</a>' + '<a target="_blank" href="https://www.cpdl.org">Choralwiki</a>' + '<a target="_blank" href="https://en.scratch-wiki.info/">Scratch Wiki englisch</a>' + '<a target="_blank" href="https://de.scratch-wiki.info/">Scratch Wiki deutsch</a>\t<a target="_blank" href="https://imslp.org/">IMSPL</a>' + '<a target="_blank" href="https://wiki.selfhtml.org/wiki/">Selfhtml Wiki</a>' + '<a target="_blank" href="https://www.stupidedia.org/">Stupidedia (leider geschlossen)</a>' + '<a target="_blank" href="https://de.uncyclopedia.co/wiki/">Uncyclopedia</a>' + '<a target="_blank" href="https://de.pluspedia.org/wiki/">PlusPedia</a>' + '<a target="_blank" href="https://marjorie-wiki.de/wiki/">MARJORIE-WIKI</a>' + '<a target="_blank" href="https://www.perrypedia.de/">PerryPedia</a>' + '<a target="_blank" href="http://de.spongepedia.org/">Spongepedia</a>' + '<a target="_blank" href="http://kamelopedia.net/">Kamelopedia</a>' + ' ' +		'<a target="_blank" href="https://www.mediawiki.org/wiki/Sites_using_MediaWiki/de">Liste deutschsprachiger MediaWiki-Wikis</a>'; return dropdown_submenu(mytext, mywikis); }	function mirameta { var linktext = 'Miraheze Meta Wikis'; var linkliste = '<a target="_blank" href="https://meta.miraheze.org/wiki/">Meta</a>' + '<a target="_blank" href="https://login.miraheze.org/wiki/">Login</a>' + '<a target="_blank" href="https://template.miraheze.org/wiki/">Templates</a>' + '<a target="_blank" href="https://dev.miraheze.org/wiki/">Entwicklerwiki</a>' + '<a target="_blank" href="https://commons.miraheze.org/wiki/">Commons</a>' + '<a target="_blank" href="https://test.miraheze.org/wiki/">Testwiki</a>'; return dropdown_submenu(linktext, linkliste); }	function mirawiki { var linktext = 'Miraheze Wikis'; var linkliste = '<a target="_blank" href="https://lilypond.miraheze.org/">Lilypond</a>' + '<a target="_blank" href="https://yazz.miraheze.org/">Wiki Kunterbunt</a>' + '<a target="_blank" href="https://musi.miraheze.org/">Walletschek Wiki</a>' + '<a target="_blank" href="https://nopedia.miraheze.org/">Stupidedia Mirror</a>' + '<a target="_blank" href="https://meingarten.miraheze.org/">Mein Garten</a>' + '<a target="_blank" href="https://regionalbahnstattbus.miraheze.org/">Regionalbahn</a>' + '<a target="_blank" href="https://klimarealisten.miraheze.org/">Mein Testwiki</a>' + '<a target="_blank" href="https://aboutpcs.miraheze.org/">About PCs Wiki</a>' + ' ' +		'<a target="_blank" href="https://hexengarten.miraheze.org/">Hexengarten</a>' + '<a target="_blank" href="https://traunstoaner.miraheze.org/">TraunStoaner</a>' + '<a target="_blank" href="https://physicsde.miraheze.org/">Offene Fragen und Probleme der Physik</a>' + '<a target="_blank" href="https://albionweb.miraheze.org/">ALBIONWEB</a>' + '<a target="_blank" href="https://startups.miraheze.org/">Geschichte der Startups</a>' + '<a target="_blank" href="https://schuelerwiki.miraheze.org/">Schülerwiki</a>' + '<a target="_blank" href="https://stiff.miraheze.org/">Strümpfe im Feature Film</a>' + ' ' +		'<a target="_blank" href="https://sdiy.info/wiki/Main_Page">Synth DIY Wiki</a>' + '<a target="_blank" href="https://quirc.miraheze.org/">QuIRC</a>' + '<a target="_blank" href="https://combinatorialnumbertheory.miraheze.org/">Combinatorial Number Theory</a>' + '<a target="_blank" href="https://poserdazfreebies.miraheze.org/">Poser and Daz Studio Free Resources Wiki</a>' + '<a target="_blank" href="https://terribletvshows.miraheze.org/">Terrible TV Shows Wiki</a>' + '<a target="_blank" href="https://xen.miraheze.org/">Xenharmonic Wiki</a>' + '<a target="_blank" href="https://mylittlepony.miraheze.org/">Equestripedia – a MLP Wiki</a>' + '<a target="_blank" href="https://snapwiki.miraheze.org/">Snap!</a>'; return dropdown_submenu(linktext, linkliste); }

function wikiactn(pfx) { // Seitenaktionenen var mypfad = mw.config.get('wgScript'); var mwname = mw.config.get('wgPageName'); var mwserv = mw.config.get('wgServer'); var myname = '<a target="_blank" href="' +mwserv +mypfad +'?title=' +mwname +'&';		var editme = 'action=edit';		var rawme = 'action=raw&ctype=text/css';		var histme = 'action=history';		var infome = 'action=info';		var purme = 'action=purge';		var qqxme = 'uselang=qqx';		var linktext = 'Seitenaktionen';		var linkliste = myname +editme +'">edit</a>' +myname +rawme +'">raw</a>' +		myname +histme +'">history</a>' +myname +infome +'">info</a>' +		myname +purme +'">refresh</a>' +myname +qqxme +'">qqx</a>' +		'<a target="_blank" href="' +mwserv +mypfad +'?title=Special:PrefixIndex/' +mwname +'/">Unterseiten</a>';		return dropdown_submenu(linktext, linkliste);	}	function mywikis(pfx) {		var linktext = 'Wikiliste';		var content = mirawiki +mirameta +otherwikis +wikipedia;		return dropdown(linktext, content);	}	function progm {		var linktext = 'Programmieren';		var linkliste = '<a target="_blank" href="https://gchq.github.io/CyberChef/">Cyber Chef</a>' + ' ' +		'<a target="_blank" href="https://www.javascript.com/">JavaScript offizielle Webseite</a>' + '<a target="_blank" href="https://www.w3schools.com/js/default.asp">JavaScript Tutorial auf W3</a>' + '<a target="_blank" href="https://www.w3schools.com/jquery/default.asp">jQuery Tutorial auf W3</a>' + ' ' +		'<a target="_blank" href="https://www.php.net/manual/de/">PHP-Handbuch</a>' + '<a target="_blank" href="https://www.w3schools.com/php/default.asp">PHP Tutorial auf W3</a>' + ' ' +		'<a target="_blank" href="https://www.w3schools.com/html/default.asp">HTML Tutorial auf W3</a>' + '<a target="_blank" href="https://www.w3schools.com/css/default.asp">CSS Tutorial auf W3</a>' + '<a target="_blank" href="https://www.w3.org/TR/SVG/">Scalable Vector Graphics (SVG) 2</a>' + '<a target="_blank" href="https://validator.w3.org/">Markup Validation Service</a>' + '<a target="_blank" href="https://de.wikibooks.org/wiki/SVG">SVG Wikibook</a>' + '<a target="_blank" href="https://de.wikibooks.org/wiki/Websiteentwicklung">Websiteentwicklung Wikibook</a>' ;		return dropdown_submenu(linktext, linkliste); }	function wikins(pfx) { var linktext = 'Namensräume'; var link = '<a target="_blank" href="https://yazz.miraheze.org/wiki/Help:Namensr%C3%A4ume';		var linkliste = pfx +'Special:AllPages">Alle Seiten</a>' + pfx +'Special:AllPages&namespace=6">Alle Dateien</a>' +		pfx +'Special:AllPages&namespace=8">MediaWiki Seiten</a>' + pfx +'Special:AllPages&namespace=14">Alle Kategorien</a>' +		pfx +'Special:AllPages&namespace=12">Help Seiten</a>' + pfx +'Special:AllPages&namespace=2">Benutzerseiten</a>' +		pfx +'Special:AllPages&namespace=4">Projektseiten</a>' + pfx +'Special:AllPages&namespace=10">Vorlagen</a>' +		pfx +'Special:AllPages/Module:">Module</a>'; return dropdown_submenu(linktext, linkliste, link); }

function wikiadmin(pfx) { var linktext ='Administration'; var content = wikins(pfx) +wikiinfo(pfx) +wikiactn(pfx) +wikiwant(pfx) +wikimaint(pfx) +wikipags(pfx) +progm +navbar(pfx); return dropdown(linktext, content); }

function wikimaint(pfx) { var linktext = 'Wartung'; var linkliste = pfx +'Special:LongPages">Lange Seiten</a>' +		pfx +'Special:AncientPages">Seit längerem unbearbeitete Seiten</a>' + pfx +'Special:UncategorizedCategories">Nicht kategorisierte Kategorien</a>' +		pfx +'Special:UncategorizedPages">Nicht kategorisierte Seiten</a>' + pfx +'Special:UncategorizedFiles">Nicht kategorisierte Dateien</a>' +		pfx +'Special:UncategorizedTemplates">Nicht kategorisierte Vorlagen</a>' + pfx +'Special:UnusedCategories">Verwaiste Kategorien</a>' +		pfx +'Special:UnusedFiles">Verwaiste Dateien</a>' + pfx +'Special:UnusedTemplates">Verwaiste Vorlagen</a>' +		pfx +'Special:AbuseLog">Abuse Log</a>' + pfx +'Special:AbuseFilter">Abuse Filter Management</a>';		return dropdown_submenu(linktext, linkliste);	}

function wikiwant(pfx) { var linktext = 'Fehlende Elemente'; var linkliste = pfx +'Special:WantedPages">Fehlende Seiten</a>' +		pfx +'Special:WantedCategories">Fehlende Kategorien</a>' + pfx +'Special:WantedFiles">Fehlende Dateien</a>' +		pfx +'Special:WantedTemplates">Fehlende Vorlagen</a>'; return dropdown_submenu(linktext, linkliste); }

function wikipags(pfx) { var linktext = 'Seiteninformationen'; var linkliste = pfx +'Special:NewPages">Neue Seiten</a>' +		pfx +'Special:NewFiles">Neue Dateien</a>' + pfx +'Special:MostCategories">meiste Kategorien</a>' +		pfx +'Special:MostLinkedPages">meistverlinkte Seiten</a>' + pfx +'Special:MostRevisions">meiste Bearbeitungen</a>' +		pfx +'Special:MostTranscludedPages">meisteingebundene Seiten</a>' + pfx +'Special:MostLinkedCategories">meistverwendete Kategorien</a>';		return dropdown_submenu(linktext, linkliste);	}

function wikiinfo(pfx) { var linktext = 'Infos über das Wiki'; var linkliste = pfx +'Special:Version">Version</a>' +		pfx +'Special:Statistics">Statistik</a>' + pfx +'Special:ExpandTemplates">Vorlagen expandieren</a>' +		pfx +'Special:Interwiki">Interwiki Daten</a>' + pfx +'Special:AllMessages">Systemnachrichten</a>' +		pfx +'Special:RecentChanges">letzte Änderungen</a>' + ' ' +		pfx +'Special:MediaStatistics">Medieninformation</a>' +		pfx +'Special:MIMESearch/image/svg%2Bxml">SVG Images</a>' + pfx +'Special:MIMESearch/image/png">PNG Images</a>' +		pfx +'Special:MIMESearch/image/jpeg">JPG Images</a>' + pfx +'Special:MIMESearch/image/x-icon">Icons</a>' +		pfx +'Special:MIMESearch/image/*">Alle Bilder</a>' + pfx +'Special:MIMESearch/application/pdf">PDF Dateien</a>' +		pfx +'Special:MIMESearch/application/*">Alle Anwendungsdateien</a>' + pfx +'Special:MIMESearch/video/webm">Videos webm</a>' +		pfx +'Special:MIMESearch/video/*">Alle Videos</a>' + pfx +'Special:MIMESearch/audio/mpeg">MP3 Audios</a>' +		pfx +'Special:MIMESearch/application/ogg">OGG Audios</a>' + pfx +'Special:MIMESearch/audio/midi">Midi Audios</a>' +		pfx +'Special:MIMESearch/audio/*">Alle Audiodateien</a>'; return dropdown_submenu(linktext, linkliste); }

function dropdown(linktext, content, link) { // liefert einen Punkt der Navigationsleiste mit Untermenüs zurück // linktext: Beschriftung des Menüpunktes, der Pfeil nach unten wird durch CSS-Klasse hinzugefügt // link: muss mit <a href=" beginnen, optional		// content: der Inhalt 		var mylink = link || '<a href="#'; var mylist = ''; var myid = 'navbar' +linktext; try { mylist = '\n<div class="dropdown" id="' +myid +'"> ' +mylink +'">' +			linktext +'</a> \n ' +			content +'\n ';		} catch (err) {			mylist = err.message;		}		return mylist;	}

function dropdown_submenu(linktext, linkliste, link) { // liefert ein komplettes Untermenü zurück // link: wenn der Menüpunkt keinen Link enthalten soll, den Textstring # übergeben // link muss mit <a href=" beginnen		// linktext: Beschriftung des Menüpunktes, der Pfeil nach rechts wird automatisch hinzugefügt		// linkliste: die Linkliste		var mylink = link || '<a href="#'; // wenn Argument weggelassen, dann durch default ersetzen var mylist = ''; try { mylist = '\n ' +mylink +'">' +			linktext +' &#x25BA;</a>\n<ul class="sub-menu">' +			linkliste +'\n</ul> ';		} catch (err) {			mylist = err.message;		}		return mylist;	}	function preurl(s, i) {		// i=1 ergibt das Wiki Prefix		// i=2 ergibt den Seitennamen		// die URL enthält entweder /wiki/ oder title=		// falls noch andere Varianten auftauchen muss die match-Funktion ergänzt werden		try {			// var try1 = s.match(/([\S]*\/wiki\/)([^&]*)/);			// var try2 = s.match(/([\S]*title=)([^&]*)/);			// var mytry = try1 || try2;			result = mw.config.get('wgPageName');			// mytry[2];			if (i == 1) {				result = mw.config.get('wgServer') +mw.config.get('wgScript') +'?title=';	// mytry[1];			}		} catch (err) {			result = err.message;		}		return result;	}	function dragElement(elmnt) {		var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;		elmnt.onmousedown = dragMouseDown;		function dragMouseDown(e) {			e = e || window.event; e.preventDefault; // get the mouse cursor position at startup: pos3 = e.clientX; pos4 = e.clientY; document.onmouseup = closeDragElement; // call a function whenever the cursor moves: document.onmousemove = elementDrag;	//console.log('MediaWiki:Gadget-Navbar.js dragMouseDown'); }		function elementDrag(e) { e = e || window.event; e.preventDefault; // calculate the new cursor position: pos1 = pos3 - e.clientX; pos2 = pos4 - e.clientY; pos3 = e.clientX; pos4 = e.clientY; // set the element's new position: elmnt.style.top = elmnt.offsetTop - pos2 +'px'; elmnt.style.left = elmnt.offsetLeft - pos1 +'px';	//console.log('MediaWiki:Gadget-Navbar.js elementDrag'); }		function closeDragElement { // stop moving when mouse button is released: document.onmouseup = null; document.onmousemove = null;	//console.log('MediaWiki:Gadget-Navbar.js closeDragElement'); }	} });