PageSourceSearch

https://www.innebandykungen.com/js/additional/treenavi.js

js innebandykungen.com collected 2026-10-08 23:35:59 UTC 2,741 bytes, 86 lines download raw bytes

1/**
2 * Catalog navigation
3 *
4 * @package    Sprinnet_Accmenu
5 * @copyright  Copyright (c) 2010 SPRINNET Systems, s.r.o. (http://www.sprinnet.com/)
6 */
7DOM = (document.getElementById);
8IE = (navigator.userAgent.indexOf("MSIE") != -1);
9createTreeMenu = function(options, id){
10	if(DOM){
11		container = document.getElementById(id);
12		if(container){
13			treeWalk(container, options);
14		}
15	}
16}
17treeWalk = function(container, options){
18	isCollapsed = !getStateFromClass(options.expanded, container.className);
19	treeItems = document.getElementsByTagName(options.itemElement);
20	for(var i=0; i<treeItems.length; i++){
21		if(getStateFromClass(options.containerFlag, treeItems.item(i).className)){
22			mayHaveContainer = getStateFromClass(options.containerFlag, treeItems.item(i).className);
23			if(mayHaveContainer){
24				container = getNearestContainer(treeItems.item(i), options.container);
25				if(container){
26					isItemExpanded = getStateFromClass(options.expanded, treeItems.item(i).className);
27					if((isCollapsed && !isItemExpanded) || (!isCollapsed && !isItemExpanded)){
28						container.style.display = "none";
29					}
30					treeItems.item(i).container = container;
31					treeItems.item(i).expanded = options.expanded;
32					treeItems.item(i).collapsed = options.collapsed;
33					treeItems.item(i).onclick = function(e){
34						this.container.style.display = (this.container.style.display == "none")? "block" : "none";
35						setItemClass(this);
36					}
37					enableLinkClick(treeItems.item(i), options.itemLink);
38				}
39			}
40		}
41	}
42}
43
44getStateFromClass = function (str, className){
45	return (className.indexOf(str) != -1)? true : false;
46}
47
48getNearestContainer = function (elem, className){
49	if(elem.nextSibling.className){
50		if(getStateFromClass(className, elem.nextSibling.className)){
51			return elem.nextSibling;
52		}else{
53			return getNearestContainer(elem.nextSibling, className);
54		}
55	}else{
56		return getNearestContainer(elem.nextSibling, className);
57	}
58}
59enableLinkClick = function(elem, nodeName){
60	var links = elem.getElementsByTagName(nodeName);
61	for(var i=0; i<links.length; i++){
62		links.item(i).onclick = function(e){
63			if(e){
64				e.stopPropagation();
65			}else{
66				event.cancelBubble = true;
67			}
68		}
69	}
70}
71setItemClass = function(node){
72	if(node.container.style.display == "block"){
73		removeClassName(node, node.collapsed)
74		node.className += (" " + node.expanded);
75	}else{
76		removeClassName(node, node.expanded)
77		node.className += (" " + node.collapsed);
78	}
79}
80removeClassName = function(node, str){
81    if(typeof node !== 'undefined'){
82        cName = node.className;
83        re = new RegExp(str,"gi");
84        node.className = cName.replace(re,"");
85    }
86}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.