Difference between revisions of "MediaWiki:Common.js"

From The Infosphere, the Futurama Wiki
Jump to navigation Jump to search
m (Jæs.)
m (More testing, this is purely temporary!)
Line 80: Line 80:
divC.style.backgroundPosition = "bottom left";
divC.style.backgroundPosition = "bottom left";
divC.style.backgroundRepeat = "no-repeat";
divC.style.backgroundRepeat = "no-repeat";
var c = document.createTextNode(divC.style.backgroundImage);
var c = document.createTextNode(divC.style.backgroundImage + divC.style.backgroundPosition + divC.style.backgroundRepeat);
b.appendChild(c);
b.appendChild(c);
a.appendChild(b);
a.appendChild(b);
Line 92: Line 92:


function getBackTmpFun(where) {
function getBackTmpFun(where) {
   where.firstChild.data = document.getElementById("content").style.backgroundImage;
   where.firstChild.data = document.getElementById("content").style.backgroundImage + document.getElementById("content").style.backgroundPosition + document.getElementById("content").style.backgroundRepeat;
}
}

Revision as of 19:02, 12 March 2008

/* Any JavaScript here will be loaded for all users on every page load. */
var reasonCaptionShow = "Show reason";
var reasonCaptionHide = "Hide reason";

var hasClass = (function () {
  var reCache = {};
  return function (element, className) {
    return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
  };
})();

function collapseReason(id) {
  var content = document.getElementById("reasonContent-" + id);
  var rSwitch = document.getElementById("reasonSwitch-" + id);
  if(rSwitch.firstChild.data==reasonCaptionShow) {
    content.style.display = "block";
    rSwitch.firstChild.data = reasonCaptionHide;
  } else {
    content.style.display = "none";
    rSwitch.firstChild.data = reasonCaptionShow;
  }
}

function createAllReasonButtons() {
  var reasonIndex = 0;
  var divs = document.getElementsByTagName("div");
  for(var i = 0; i < divs.length; i++) {
    if(hasClass(divs[i], "reasonContainer")) {
      var rSwitch = divs[i].childNodes[0].lastChild;
      var content = divs[i].childNodes[1];

      content.setAttribute("id", "reasonContent-" + reasonIndex);

      var link = document.createElement("a");
      var linkCaption = document.createTextNode(reasonCaptionShow);
      link.setAttribute("id", "reasonSwitch-" + reasonIndex);
      link.setAttribute("href", "javascript:collapseReason(" + reasonIndex + ");");
      link.appendChild(linkCaption);
      
      rSwitch.appendChild(link);
      
      reasonIndex++;
    }
  }
}

addOnloadHook(createAllReasonButtons);

function columnAreaImage(){
	var divS;
	var divC;
	if (document.getElementById ) {
		divS = document.getElementById("column-content");
		divC = document.getElementById("content");
	} else if (document.all ) {
		divS = document.all["column-content"];
		divC = document.all["content"];
	} else {
		return;
	}
	if ( divS && divS.style ){
		var divSHval;
		if (divS.style.pixelHeight) { 
			divSHval= divS.style.pixelHeight;
		} else {
			divSHval=  divS.offsetHeight;
		}
		
		if(Number(divSHval) >1136){
		//1136=768(number bigger than background image and side buttons)+imgheight(370)
			divS.style.backgroundImage = "url(/images/0/02/Infosphere_lower_Background.png)";
			divS.style.backgroundPosition = "bottom left";
			divS.style.backgroundRepeat = "no-repeat";
			if(!hasClass(document.body, "ns-8") && divC && divC.style ) {
				//Uhm... apparently this is working now!  Woo!
				var a = document.createElement("p");
				var b = document.createElement("a");
				b.setAttribute("href", "javascript:getBackTmpFun(this)");
				divC.style.backgroundImage = "url(/images/4/44/Infosphere_content_Background.png)";
				divC.style.backgroundPosition = "bottom left";
				divC.style.backgroundRepeat = "no-repeat";
				var c = document.createTextNode(divC.style.backgroundImage + divC.style.backgroundPosition + divC.style.backgroundRepeat);
				b.appendChild(c);
				a.appendChild(b);
				divC.appendChild(a);
			}
		}
	}
}

addOnloadHook(columnAreaImage);

function getBackTmpFun(where) {
  where.firstChild.data = document.getElementById("content").style.backgroundImage + document.getElementById("content").style.backgroundPosition + document.getElementById("content").style.backgroundRepeat;
}