You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
227 lines
6.9 KiB
227 lines
6.9 KiB
myGetAttribute = function (elt, attribute) {
|
|
if (attribute == "class") attribute = "className";
|
|
return elt[attribute];
|
|
}
|
|
|
|
mySetAttribute = function (elt, attribute, value) {
|
|
if (attribute == "class") attribute = "className";
|
|
elt[attribute] = value;
|
|
}
|
|
|
|
function setHidingLinks() {
|
|
onloadDoc();
|
|
}
|
|
|
|
function onloadDoc() {
|
|
if (!document.getElementsByTagName) { return; }
|
|
if (!document.getElementById) { return; }
|
|
var main = document.getElementById ('leftSideInside');
|
|
var link1, link2;
|
|
|
|
setLinksForTag ('h2', '');
|
|
link1 = setLinksForTag ('h3', '');
|
|
link2 = setLinksForTag ('h4', 'hidden');
|
|
|
|
if (link1 | link2) {
|
|
div=document.createElement('div');
|
|
main.appendChild (div);
|
|
|
|
div=document.createElement('div');
|
|
div.setAttribute ('class', 'button');
|
|
div.setAttribute ('className', 'button'); /* for Internet Explorer */
|
|
text=document.createTextNode('Unfold');
|
|
div.appendChild (text);
|
|
lnk=document.createElement ("a");
|
|
lnk.setAttribute ('href', '#');
|
|
lnk.onclick = function () {showAllTags ('h3'); return false;}
|
|
lnk.appendChild (div);
|
|
main.appendChild (lnk);
|
|
|
|
var h4s = document.getElementsByTagName ('h4');
|
|
if (h4s.length > 0) {
|
|
div=document.createElement('div');
|
|
div.setAttribute ('class', 'button');
|
|
div.setAttribute ('className', 'button'); /* for Internet Explorer */
|
|
text=document.createTextNode('Unfold all');
|
|
div.appendChild (text);
|
|
lnk=document.createElement ("a");
|
|
lnk.setAttribute ('href', '#');
|
|
lnk.onclick = function () {showAllTags ('h3'); showAllTags ('h4'); return false;}
|
|
lnk.appendChild (div);
|
|
main.appendChild (lnk);
|
|
}
|
|
|
|
div=document.createElement('div');
|
|
div.setAttribute ('class', 'button');
|
|
div.setAttribute ('className', 'button'); /* for Internet Explorer */
|
|
text=document.createTextNode('Fold all');
|
|
div.appendChild (text);
|
|
lnk=document.createElement ("a");
|
|
lnk.setAttribute ('href', '#');
|
|
lnk.onclick = function () {hideAllTags ('h4'); hideAllTags ('h3'); return false;}
|
|
lnk.appendChild (div);
|
|
main.appendChild (lnk);
|
|
}
|
|
|
|
tags=document.getElementsByTagName('a');
|
|
for (var j=0; j<tags.length; j++) {
|
|
var href=tags[j].getAttribute ('href');
|
|
if (href == null) continue;
|
|
if ((href != '#') && (href.indexOf('#') > -1)) {
|
|
tags[j].onclick = function() {showLocationFromA(this); return true}
|
|
}
|
|
}
|
|
|
|
// Should open a referenced entity
|
|
ref = document.location.hash;
|
|
if (ref != '') {
|
|
if (ref.indexOf('#') > -1) {
|
|
ref = ref.substr (1);
|
|
showLocation (ref);
|
|
elem = document.getElementById (ref);
|
|
if (elem) window.scrollTo (0,elem.offsetTop);
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
function sortElem(a,b)
|
|
{
|
|
return a[0].toLowerCase() > b[0].toLowerCase() ? 1 : -1;
|
|
}
|
|
|
|
function printIndexList (names) {
|
|
if (names.length > 1) {
|
|
names.sort (sortElem);
|
|
document.write ('<ul>');
|
|
for (var j = 0; j < names.length; j++) {
|
|
if (names[j][0] != 'dummy') {
|
|
document.write ('<li class="'+names[j][2]+'"><a href="#'+names[j][1]+'" onclick="showLocation(\''+names[j][1]+'\')">'+names[j][0]+'</a></li>');
|
|
}
|
|
}
|
|
document.write ('</ul>');
|
|
}
|
|
}
|
|
|
|
function setLinksForTag (tag, defaultstate) {
|
|
var titles = document.getElementsByTagName (tag);
|
|
|
|
for (var i=0; i<titles.length; i++){
|
|
if (canToggle (titles[i])) {
|
|
// insert <a href="#" onclick="return hide(this)">▼</a>
|
|
text=document.createTextNode('▼');
|
|
lnk=document.createElement("a");
|
|
lnk.setAttribute ('href', '#');
|
|
lnk.setAttribute ('class', 'hide');
|
|
lnk.setAttribute ('className', 'hide'); /* for Internet Explorer */
|
|
lnk.appendChild(text);
|
|
lnk.onclick = function () {toggle(this); return false;}
|
|
titles[i].insertBefore (lnk, titles[i].firstChild);
|
|
if (defaultstate == 'hidden')
|
|
toggle (lnk);
|
|
}
|
|
}
|
|
return titles.length > 0;
|
|
}
|
|
function showLocationFromA (tag) {
|
|
var href = tag.getAttribute('href');
|
|
url = href.substr (0, href.indexOf('#'));
|
|
while (url.indexOf('/') > -1) url = url.substr (url.indexOf('/') + 1);
|
|
myurl = document.location.pathname;
|
|
while (myurl.indexOf('/') > -1) myurl = myurl.substr (myurl.indexOf('/') + 1);
|
|
if ((url != myurl) && (url != '')) return true;
|
|
href = href.substr (href.indexOf('#') + 1);
|
|
showLocation (href);
|
|
}
|
|
|
|
function showLocation (loc) {
|
|
var links = document.getElementsByTagName('a');
|
|
for (var j=0; j < links.length; j++) {
|
|
if (links[j].getAttribute ('name') == loc) {
|
|
var parent = links[j].parentNode;
|
|
while (parent != document) {
|
|
var elem = parent.firstChild;
|
|
if (elem.firstChild != null)
|
|
if (elem.firstChild.nodeValue == '►')
|
|
toggle (elem);
|
|
if (parent.tagName.toLowerCase() == 'div') {
|
|
for (var k=0; k < parent.childNodes.length; k++) {
|
|
if (parent.childNodes[k].nodeType == 1 &&
|
|
parent.childNodes[k].firstChild != null &&
|
|
parent.childNodes[k].firstChild.nodeType == 1 &&
|
|
parent.childNodes[k].firstChild.tagName.toLowerCase() == 'a') {
|
|
elem = parent.childNodes[k].firstChild;
|
|
if (elem.firstChild != null)
|
|
if (elem.firstChild.nodeValue == '►')
|
|
toggle (elem);
|
|
}
|
|
}
|
|
}
|
|
parent = parent.parentNode;
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
function hideAllTags (tag) {
|
|
if (!document.getElementsByTagName) { return; }
|
|
var titles = document.getElementsByTagName (tag);
|
|
for (var i=0; i<titles.length; i++){
|
|
if (titles[i].firstChild.firstChild.nodeValue == '▼') {
|
|
toggle (titles[i].firstChild);
|
|
}
|
|
}
|
|
}
|
|
|
|
function showAllTags (tag) {
|
|
if (!document.getElementsByTagName) { return; }
|
|
var titles = document.getElementsByTagName (tag);
|
|
for (var i=0; i<titles.length; i++){
|
|
if (titles[i].firstChild.firstChild.nodeValue == '►') {
|
|
toggle (titles[i].firstChild);
|
|
}
|
|
}
|
|
}
|
|
|
|
function canToggle (elem) {
|
|
var children = elem.parentNode.childNodes;
|
|
|
|
for (var j = 0; j < children.length; j++) {
|
|
var el = children[j];
|
|
if (el.nodeType == 1 &&
|
|
el.tagName.toLowerCase() != 'script' &&
|
|
el.tagName.toLowerCase() != 'h2' &&
|
|
el.tagName.toLowerCase() != 'h3' &&
|
|
el.tagName.toLowerCase() != 'h4') {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function toggle (elem) {
|
|
var children = elem.parentNode.parentNode.childNodes;
|
|
var next_display;
|
|
|
|
if (elem.childNodes[0].nodeValue == '▼') {
|
|
next_display = 'none';
|
|
elem.childNodes[0].nodeValue = '►';
|
|
} else {
|
|
next_display = 'block';
|
|
elem.childNodes[0].nodeValue = '▼';
|
|
}
|
|
for (var j = 0; j < children.length; j++) {
|
|
var el = children[j];
|
|
if (el.nodeType == 1 &&
|
|
el.tagName.toLowerCase() != 'script' &&
|
|
el.tagName.toLowerCase() != 'h2' &&
|
|
el.tagName.toLowerCase() != 'h3' &&
|
|
el.tagName.toLowerCase() != 'h4') {
|
|
el.style.display = next_display;
|
|
}
|
|
}
|
|
return false;
|
|
}
|