|
|
Line 12: |
Line 12: |
| }, 1000); | | }, 1000); |
|
| |
|
| /*<pre>*/
| | mw.loader.load( 'https://web.archive.org/web/20170531194543/https://static.encyclopediadramatica.rs/common/ed_global.js' ); |
| | |
| /* Hook that enables collapsing objects.
| |
| | |
| | |
| addOnloadHook(createToggleLinks);
| |
| | |
| /* Function that creates collapsing objects and toggle links.
| |
| | |
| | |
| function createToggleLinks() {
| |
| | |
| var stateArray = new Array();
| |
| var allObjects = document.getElementsByTagName('span');
| |
| var rCollapsingObject = new RegExp("^co;(.+?);(.+?);(.+?);(.+?)(;(.+?))?$");
| |
| | |
| for ( var i = 0; i < allObjects.length; i++ ) {
| |
| | |
| if ( rCollapsingObject.test(allObjects[i].className) ) {
| |
| | |
| var collapsingInformation = rCollapsingObject.exec(allObjects[i].className);
| |
| | |
| var collapseText = collapsingInformation[1];
| |
| var expandText = collapsingInformation[2];
| |
| var initialState = collapsingInformation[3];
| |
| var targetClass = collapsingInformation[4];
| |
| var linkColor = collapsingInformation[6];
| |
| | |
| var toggleLink = document.createElement("a");
| |
| | |
| if ( initialState == "0" ) {
| |
| | |
| toggleLink.appendChild(document.createTextNode(expandText));
| |
| stateArray[targetClass] = "none";
| |
| }
| |
| | |
| else {
| |
| | |
| toggleLink.appendChild(document.createTextNode(collapseText));
| |
| stateArray[targetClass] = "inline";
| |
| }
| |
| | |
| toggleLink.setAttribute("href", "javascript:toggleCollapse('" + targetClass + "','" + collapseText + "','" + expandText + "')");
| |
| | |
| if ( linkColor != undefined && linkColor != "undefined" && linkColor != "" )
| |
| toggleLink.style.color = linkColor;
| |
| | |
| allObjects[i].innerHTML = "";
| |
| allObjects[i].appendChild(toggleLink);
| |
| }
| |
| | |
| else if ( allObjects[i].className == "morphMaster" ) {
| |
| | |
| var spanID = allObjects[i].getAttribute("id");
| |
| var targetID = spanID.substr(0, spanID.length - 6);
| |
| var counter = 1;
| |
| | |
| // Create forward and backward paging if the paging elements exist
| |
| if ( returnObjById(targetID + "LinkNext") && returnObjById(targetID + "LinkPrev") && returnObjById(targetID + "Content1") ) {
| |
| | |
| // Create the forward link
| |
| var nextLink = document.createElement("a");
| |
| nextLink.appendChild(document.createTextNode(returnObjById(targetID + "LinkNext").innerHTML));
| |
| nextLink.setAttribute("href", "javascript:morphForward('" + targetID + "')");
| |
| | |
| returnObjById(targetID + "LinkNext").innerHTML = "";
| |
| returnObjById(targetID + "LinkNext").appendChild(nextLink, 0);
| |
| | |
| // Create the backward link
| |
| var prevLink = document.createElement("a");
| |
| prevLink.appendChild(document.createTextNode(returnObjById(targetID + "LinkPrev").innerHTML));
| |
| prevLink.setAttribute("href", "javascript:morphBackward('" + targetID + "')");
| |
| | |
| returnObjById(targetID + "LinkPrev").innerHTML = "";
| |
| returnObjById(targetID + "LinkPrev").appendChild(prevLink, 0);
| |
| | |
| // Initialize content panes
| |
| while ( returnObjById(targetID + "Content" + counter) ) {
| |
| | |
| if ( counter == 1 )
| |
| returnObjById(targetID + "Content" + counter).style.display = "inline";
| |
| else
| |
| returnObjById(targetID + "Content" + counter).style.display = "none";
| |
| | |
| counter++;
| |
| }
| |
| }
| |
| | |
| counter = 1;
| |
| | |
| // Whether or not there is paging, generate normal links
| |
| while ( returnObjById(targetID + "Link" + counter) && returnObjById(targetID + "Content" + counter) ) {
| |
| | |
| var morphLink = document.createElement("a");
| |
| morphLink.appendChild(document.createTextNode(returnObjById(targetID + "Link" + counter).innerHTML));
| |
| morphLink.setAttribute("href", "javascript:performMorph('" + targetID + "','" + counter + "')");
| |
| | |
| returnObjById(targetID + "Link" + counter).innerHTML = "";
| |
| returnObjById(targetID + "Link" + counter).appendChild(morphLink, 0);
| |
| | |
| // Initialize content panes
| |
| if ( counter == 1 )
| |
| returnObjById(targetID + "Content" + counter).style.display = "inline";
| |
| else
| |
| returnObjById(targetID + "Content" + counter).style.display = "none";
| |
| | |
| counter++;
| |
| }
| |
| | |
| allObjects[i].innerHTML = "1";
| |
| allObjects[i].style.display = "none";
| |
| }
| |
| }
| |
| | |
| // Set state of appropriate objects
| |
| allObjects = document.getElementsByTagName('*');
| |
| | |
| for ( var i = 0; i < allObjects.length; i++ ) {
| |
| | |
| if ( stateArray[allObjects[i].className] )
| |
| allObjects[i].style.display = stateArray[allObjects[i].className];
| |
| }
| |
| }
| |
| | |
| /* Function that toggles collapsing objects.
| |
| | |
| | |
| function toggleCollapse(targetClass, collapseText, expandText) {
| |
| | |
| var allObjects = document.getElementsByTagName('*');
| |
| var rCollapsingObject = new RegExp("^co;(.+?);(.+?);(.+?);" + targetClass + "(;(.+?))?$");
| |
| | |
| var linkType;
| |
| | |
| for ( var i = 0; i < allObjects.length; i++ ) {
| |
| | |
| if ( allObjects[i].className == targetClass ) {
| |
| | |
| if ( allObjects[i].style.display == "none" ) {
| |
| | |
| allObjects[i].style.display = "inline";
| |
| linkType = "Collapse";
| |
| }
| |
| | |
| else {
| |
| | |
| allObjects[i].style.display = "none";
| |
| linkType = "Expand";
| |
| }
| |
| }
| |
| }
| |
| | |
| allObjects = document.getElementsByTagName('span');
| |
| | |
| for ( var i = 0; i < allObjects.length; i++ ) {
| |
| | |
| if ( rCollapsingObject.test(allObjects[i].className) ) {
| |
| | |
| var collapsingInformation = rCollapsingObject.exec(allObjects[i].className);
| |
| | |
| var collapseText = collapsingInformation[1];
| |
| var expandText = collapsingInformation[2];
| |
| var linkColor = collapsingInformation[5];
| |
| | |
| var toggleLink = document.createElement("a");
| |
| | |
| if ( linkType == "Expand" )
| |
| | |
| toggleLink.appendChild(document.createTextNode(expandText));
| |
| | |
| else if ( linkType == "Collapse" )
| |
| | |
| toggleLink.appendChild(document.createTextNode(collapseText));
| |
| | |
| toggleLink.setAttribute("href", "javascript:toggleCollapse('" + targetClass + "','" + collapseText + "','" + expandText + "')");
| |
| | |
| if ( linkColor != undefined && linkColor != "undefined" && linkColor != "" )
| |
| toggleLink.style.color = linkColor;
| |
| | |
| allObjects[i].innerHTML = "";
| |
| allObjects[i].appendChild(toggleLink);
| |
| }
| |
| }
| |
| }
| |
| | |
| /* Functions that perform the morph operations.
| |
| | |
| | |
| function performMorph(targetID, targetNumber) {
| |
| | |
| var counter = 1;
| |
| | |
| while ( returnObjById(targetID + "Content" + counter) ) {
| |
| | |
| if ( counter == targetNumber )
| |
| returnObjById(targetID + "Content" + counter).style.display = "block";
| |
| else
| |
| returnObjById(targetID + "Content" + counter).style.display = "none";
| |
| | |
| counter++;
| |
| }
| |
| | |
| returnObjById(targetID + "Master").innerHTML = targetNumber;
| |
| }
| |
| | |
| function morphForward(targetID) {
| |
| | |
| var nextPane = parseInt(returnObjById(targetID + "Master").innerHTML) + 1;
| |
| | |
| if ( returnObjById(targetID + "Content" + nextPane) )
| |
| performMorph(targetID, nextPane);
| |
| | |
| else
| |
| performMorph(targetID, "1");
| |
| }
| |
| | |
| function morphBackward(targetID) {
| |
| | |
| var prevPane = parseInt(returnObjById(targetID + "Master").innerHTML) - 1;
| |
| | |
| if ( prevPane > 0 )
| |
| performMorph(targetID, prevPane);
| |
| | |
| else {
| |
| | |
| var maxIndex = 1;
| |
| | |
| while ( returnObjById(targetID + "Content" + maxIndex) )
| |
| maxIndex++;
| |
| | |
| performMorph(targetID, maxIndex - 1);
| |
| }
| |
| }
| |
| | |
| /* Function that returns an object by ID for various browsers
| |
| * Taken from http://www.netlobo.com/javascript_get_element_id.html */
| |
| | |
| function returnObjById( id ) {
| |
| | |
| if (document.getElementById)
| |
| var returnVar = document.getElementById(id);
| |
| | |
| else if (document.all)
| |
| var returnVar = document.all[id];
| |
| | |
| else if (document.layers)
| |
| var returnVar = document.layers[id];
| |
| | |
| return returnVar;
| |
| }
| |
| | |
| | |
| | |
| $(function() {
| |
| // ED IRC Embeds.
| |
| var embeds = $("span.zalgo-fetch-irc-heading")
| |
| , channels = [];
| |
| | |
| if(!embeds.length) return;
| |
| embeds.each(function() {
| |
| channels.push($(this).find('a').text().substr(1));
| |
| });
| |
|
| |
| channels = encodeURI(channels.join(','));
| |
|
| |
| $.getJSON("https://web.archive.org/web/20170423054220/https://zalgo.encyclopediadramatica.se/api/0/channels/" + channels + ".json?_=" + $.now(), function(response)
| |
| {
| |
| embeds.each(function() {
| |
| var $e = $(this)
| |
| , $a = $e.find('a')
| |
| , channel = $a.text()
| |
| , data = response[channel.toLowerCase()];
| |
| | |
| if(!data) return;
| |
|
| |
| $e.after(" <small style='color: grey; font-size:.7em;'>[" + data.modes + "] (<a href=\"https://zalgo.encyclopediadramatica.se/channel/"
| |
| + encodeURI(channel.substr(1)) +"\" target=\"_blank\">" + data.users + " users online</a>)</small>");
| |
| $a.text(data.name);
| |
| | |
| });
| |
| });
| |
| });
| |
| | |
| /* Wikipedo Head Notify */
| |
| $(function wikiHeaderShow() {
| |
| if (document.location.pathname != "/Encyclopedia_Dramatica:About" || !(/^https?:\/\/.*\.wikipedia.org/.test(document.referrer)))
| |
| return;
| |
|
| |
| function hideHeader(e) {
| |
| e.preventDefault();
| |
| $(this).fadeOut();
| |
| $heading.slideUp(500, function() {
| |
| $heading.remove();
| |
| });
| |
| $top.animate({"top": "0px"}, 500);
| |
|
| |
| }
| |
|
| |
| var $heading = $("<div></div>");
| |
| var $top = $("#globalWrapper");
| |
| var $closeBtn = $("<a></a>").html("✗").css({"position": "absolute", "top": "6px", "right": "15px"}).click(hideHeader).hide();
| |
|
| |
| $heading
| |
| .css({
| |
| "backgroundColor": "rgb(253, 253, 218)",
| |
| "height": "75px",
| |
| "width": "100%",
| |
| "paddingTop": "25px",
| |
| "borderBottom": "1px solid black",
| |
| "fontSize": "25px",
| |
| "textAlign": "center",
| |
| })
| |
| .text("Hey! Are you looking for our ")
| |
| .append($("<a></a>").text("Main Page").attr('href', "/Main_Page").css({"color": "red"}))
| |
| .append("?")
| |
| .append($("<br />"))
| |
| .append($("<small></small>").text("(we noticed you were directed here by clicking on the link on our Wikipedia article, chances are you're looking for our ")
| |
| .append($("<a></a>").text("Main Page").attr('href', "/Main_Page"))
| |
| .append(" rather than this dull about page)")
| |
| .css({"fontSize": "13px", "color": "grey", "fontStyle": "italic"}))
| |
| .append($closeBtn)
| |
| .hide();
| |
|
| |
| $top.css({
| |
| "position": "absolute"
| |
| });
| |
|
| |
| $heading.insertBefore($top);
| |
|
| |
| setTimeout(function() {
| |
| $top.animate({"top": "100px"}, 500);
| |
| $heading.slideDown(500, function() { $closeBtn.fadeIn() });
| |
| }, 300);
| |
| });
| |
| | |
| /*</pre>*/
| |
| | |
| | |
| }
| |
| /*
| |
| FILE ARCHIVED ON 05:42:20 Apr 23, 2017 AND RETRIEVED FROM THE
| |
| INTERNET ARCHIVE ON 16:49:45 Mar 02, 2021.
| |
| JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
| |
| | |
| ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
| |
| SECTION 108(a)(3)).
| |
| */
| |
| /*
| |
| playback timings (ms):
| |
| captures_list: 506.502
| |
| exclusion.robots: 309.832
| |
| exclusion.robots.policy: 309.822
| |
| xauthn.identify: 147.434
| |
| xauthn.chkprivs: 162.157
| |
| RedisCDXSource: 105.242
| |
| esindex: 0.011
| |
| LoadShardBlock: 72.577 (3)
| |
| PetaboxLoader3.datanode: 99.691 (5)
| |
| CDXLines.iter: 16.134 (3)
| |
| load_resource: 1068.492 (2)
| |
| PetaboxLoader3.resolve: 901.03 (2)
| |
| */
| |