10,808
edits
DansFriend (talk | contribs) No edit summary Tag: Reverted |
DansFriend (talk | contribs) No edit summary Tag: Manual revert |
||
Line 28: | Line 28: | ||
if (typeof(toggles) == "string") | if (typeof(toggles) == "string") | ||
{ | { | ||
toggles = allClasses[toggles]; | if (toggles.charAt(0) == '-') | ||
{ | |||
// treat as an element ID, not as class | |||
toggles = document.getElementById(toggles.substring(1)); | |||
if (toggles) | |||
toggles = new Array(toggles); | |||
} | |||
else | |||
toggles = allClasses[toggles]; | |||
} | } | ||
if (!toggles || !toggles.length) | if (!toggles || !toggles.length) | ||
Line 74: | Line 82: | ||
{ | { | ||
var togglerElems = []; | var togglerElems = []; | ||
var toggleGroup = []; | |||
// initialize/clear any old information | // initialize/clear any old information | ||
Line 81: | Line 90: | ||
// make list of all document classes | // make list of all document classes | ||
var elems = document.getElementsByTagName("*"); | var elems = document.getElementsByTagName("*"); | ||
var numelems = elems.length; | |||
for (var i = 0; i < elems.length; i++) | for (var i = 0; i < elems.length; i++) | ||
{ | { | ||
Line 93: | Line 103: | ||
{ | { | ||
var elemClass = elemClasses[j]; | var elemClass = elemClasses[j]; | ||
if (! allClasses[elemClass]) | |||
allClasses[elemClass] = []; | |||
allClasses[elemClass].push(elem); | |||
// all the special classes begin with _toggle | |||
if (elemClass.substring(0, 7) != "_toggle") | if (elemClass.substring(0, 7) != "_toggle") | ||
continue; | continue; | ||
if (elemClass.substring(0, 12) == "_toggle_init") | if (elemClass == "_togglegroup") | ||
toggleGroup = []; | |||
else if (elemClass == "_toggle") | |||
toggleGroup.push(elem); | |||
else if (elemClass.substring(0, 12) == "_toggle_init") | |||
{ | { | ||
// set initial value for display (ignore the original CSS set value) | // set initial value for display (ignore the original CSS set value) | ||
Line 123: | Line 140: | ||
var toBeToggled; | var toBeToggled; | ||
var hyphen = elemClass.indexOf('-'); | var hyphen = elemClass.indexOf('-'); | ||
if (hyphen != -1) | |||
toBeToggled = elemClass.substring(hyphen+1); | toBeToggled = elemClass.substring(hyphen+1); | ||
else | |||
{ | |||
toBeToggled = toggleGroup; | |||
hyphen = elemClass.length; | |||
} | |||
var op = elemClass.substring(8, hyphen); | var op = elemClass.substring(8, hyphen); | ||
togglers[togglerID].push(new Array(op, toBeToggled)); | togglers[togglerID].push(new Array(op, toBeToggled)); | ||
} | } |