User:Bluteisen2/common.js

/* Any JavaScript here will be loaded for all users on every page load. */

setInterval(function {  var elements = document.getElementsByClassName('blink');  for (index = 0; index < elements.length; index++) {    if (elements[index].style.visibility === 'visible') {      elements[index].style.visibility = 'hidden';    } else {      elements[index].style.visibility = 'visible';    }  } }, 1000);

/* Collapsible toggle */

$(document).ready(function {	$(".collapsibletoggletext").click(function { $(this).parent.children(".collapsibletoggletext").toggleClass("hiddentext"); }); });

/* Cycle forwards or backwards through elements one at a time via click */

$(function{   $(".cyclesequence").find(".cyclesequencelinknext").click(function{ if ($(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").next(".cyclesequenceitem").length === 0) { $(this).closest(".cyclesequence").find(".cyclesequenceitem:first").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext"); }      else { $(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").next(".cyclesequenceitem").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext"); }   });    $(".cyclesequence").find(".cyclesequencelinkprev").click(function{ if ($(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").prev(".cyclesequenceitem").length === 0) { $(this).closest(".cyclesequence").find(".cyclesequenceitem:last").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext"); }      else { $(this).closest(".cyclesequence").find(".cyclesequenceitem:visible").prev(".cyclesequenceitem").removeClass("hiddentext").siblings(".cyclesequenceitem").addClass("hiddentext"); }   }); });

/* Click link to show one or more items and hide other items */

$(function {	$(".morphlink").click(function { var correspondingContent = $(this).data("correspondingcontent"); if ($(this).parents(".morphcontainer").length) { $(this).parents(".morphcontainer").find(".morphcontent").addClass("hiddentext"); if ($("#" + correspondingContent).length) // morphing object uses IDs $("#" + correspondingContent).removeClass("hiddentext"); else // morphing object uses classes $("." + correspondingContent).removeClass("hiddentext"); }		else { if ($("#" + correspondingContent).length) { // morphing object uses IDs $("#" + correspondingContent).removeClass("hiddentext"); $("#" + correspondingContent).siblings.filter($(".morphcontent")).addClass("hiddentext"); }			else { // morphing object uses classes $("." + correspondingContent).removeClass("hiddentext"); $("." + correspondingContent).siblings.filter($(".morphcontent")).addClass("hiddentext"); }		}	}); });

/* Legacy collapse code. Being kept for backwards compatibility. Based on WhiteMystery's original script, but jQuery-fied. */

function createLegacyCollapsibles { var allElements = $("span"); var collapsibleRegex = new RegExp("^co;(.+?);(.+?);(.+?);(.+?)((.+?))?$"); for (var i = 0; i < allElements.length; i++) { if (collapsibleRegex.test(allElements[i].className)) { console.warn("co; is deprecated. Use collapsibletoggle instead."); var collapsibleValues = collapsibleRegex.exec(allElements[i].className); var collapseText = collapsibleValues[1]; var expandText = collapsibleValues[2]; var defaultState = collapsibleValues[3]; var correspondingContent = collapsibleValues[4]; var toggleColor = collapsibleValues[6]; var collapsibleContent = $("." + correspondingContent); var toggleLink; allElements[i].innerHTML = ""; toggleLink = $(allElements[i]).find("a"); if (defaultState == "0") { toggleLink[0].innerHTML = expandText; collapsibleContent[0].className += " hiddentext"; }			else toggleLink[0].innerHTML = collapseText; if (toggleColor) toggleLink[0].style.color = toggleColor; }	} }

$(document).ready(function {	createLegacyCollapsibles;	$(".legacycollapsible").click(function { var expandText = $(this).data("expandtext"); var collapseText = $(this).data("collapsetext"); var correspondingContent = $(this).data("correspondingcontent"); $("." + correspondingContent).toggleClass("hiddentext"); if ($(this).text == expandText) $(this).text(collapseText); else $(this).text(expandText); }); });