User:Korath/Spoiler.js

function hide_spoilerbox(num) { document.getElementById("spoilercontents_" + num).style.display="none"; var lk = document.getElementById("spoilerlk_" + num); lk.replaceChild(document.createTextNode("show"), lk.firstChild); lk.setAttribute("href", "javascript:show_spoilerbox(" + num + ")"); }

function show_spoilerbox(num) { document.getElementById("spoilercontents_" + num).style.display=""; var lk = document.getElementById("spoilerlk_" + num); lk.replaceChild(document.createTextNode("hide"), lk.firstChild); lk.setAttribute("href", "javascript:hide_spoilerbox(" + num + ")"); }

function setup_spoilerbox(initial) { var divs = document.getElementsByTagName("div"); var box; var contents; var lk; var txt; if (divs && document.getElementById) for (var x = 0; x < divs.length; ++x) if (divs[x].className.indexOf("spoilerbox") != -1) {	 box = divs[x].getElementsByTagName("table")[0].getElementsByTagName("tr"); contents = box[1]; contents.id = "spoilercontents_" + x;	 box = box[0].getElementsByTagName("td")[0].getElementsByTagName("div")[0]; var lk = document.createElement('a'); if (initial) {	     lk.setAttribute("href", "javascript:hide_spoilerbox(" + x + ")"); lk.appendChild(document.createTextNode("hide")); }	 else {	     lk.setAttribute("href", "javascript:show_spoilerbox(" + x + ")"); lk.appendChild(document.createTextNode("show")); contents.style.display="none"; }	 lk.id = "spoilerlk_" + x;	  box.appendChild(document.createTextNode(" [")); box.appendChild(lk); box.appendChild(document.createTextNode("]")); } }

function load_spoilerbox { // use setup_spoilerbox(false) instead to hide spoiler boxes by default setup_spoilerbox(true); }

if (window.addEventListener) window.addEventListener("load", load_spoilerbox, false); else if (window.attachEvent) window.attachEvent("onload", load_spoilerbox);