User:Ugog Nizdast/FloatingTOC.js

/* Originally designed to replace User:Osarius/FloatingTOC.css.

if (typeof hideDefault === 'undefined') var hideDefault; //declared as global if (typeof leftDefault === 'undefined') var leftDefault;

function hideShow(header, content) { header.text(function {        return content.is(":visible") ? "Hide" : "Show";    }); }

$(function {   importStylesheet('User:Ugog Nizdast/FloatingTOC.css');

var itm = document.getElementById("toc");

if (itm) { //check if toc exists var cln = itm.cloneNode(true); // clone and append the toc cln.id = "toc2"; document.body.appendChild(cln);

$('#toc2').wrap(" "); //encase it with header and container var header = " Hide  "; $('.content1').append(header); $('#main1').wrapAll(" ");

var useless = document.getElementsByClassName("toctoggle")[1]; //remove the damn not working "hide" option $(useless).remove;

$header = $(".header1"); $content = $header.prev; if (leftDefault) $("#main2").css('right', ""); //config variables if (hideDefault) { $("#toc2").css('display', "none"); hideShow($header, $content); //when default is hidden, display as "hide" too }

$(".header1").click(function { //when clicked, collapse! vice-versa            $content.slideToggle( function  { hideShow($header, $content); });       });    } });