PageSourceSearch

https://www.greenlough.com/wp-content/plugins/sk-lotto-plugin/js/domtab.js

js greenlough.com collected 2026-10-03 01:37:07 UTC 9,399 bytes, 256 lines download raw bytes

1/*
2	DOMtab Version 3.1415927
3	Updated March the First 2006
4	written by Christian Heilmann
5	check blog for updates: http://www.wait-till-i.com	
6	free to use, not free to resell
7*/
8
9domtab={
10	tabClass:'domtab', // class to trigger tabbing
11	listClass:'domtabs', // class of the menus
12	activeClass:'active', // class of current link
13	contentElements:'div', // elements to loop through
14	backToLinks:/#top/, // pattern to check "back to top" links
15	printID:'domtabprintview', // id of the print all link
16	showAllLinkText:'show all content', // text for the print all link
17	prevNextIndicator:'doprevnext', // class to trigger prev and next links
18	prevNextClass:'prevnext', // class of the prev and next list
19	prevLabel:'previous', // HTML content of the prev link
20	nextLabel:'next', // HTML content of the next link
21	prevClass:'prev', // class for the prev link
22	nextClass:'next', // class for the next link
23	init:function(){
24		var temp;
25		if(!document.getElementById || !document.createTextNode){return;}
26		var tempelm=document.getElementsByTagName('div');		
27		for(var i=0;i<tempelm.length;i++){
28			if(!domtab.cssjs('check',tempelm[i],domtab.tabClass)){continue;}
29			domtab.initTabMenu(tempelm[i]);
30			domtab.removeBackLinks(tempelm[i]);
31			if(domtab.cssjs('check',tempelm[i],domtab.prevNextIndicator)){
32				domtab.addPrevNext(tempelm[i]);
33			}
34			domtab.checkURL();
35		}
36		if(document.getElementById(domtab.printID) 
37		   && !document.getElementById(domtab.printID).getElementsByTagName('a')[0]){
38			var newlink=document.createElement('a');
39			newlink.setAttribute('href','#');
40			domtab.addEvent(newlink,'click',domtab.showAll,false);
41			newlink.onclick=function(){return false;} // safari hack
42			newlink.appendChild(document.createTextNode(domtab.showAllLinkText));
43			document.getElementById(domtab.printID).appendChild(newlink);
44		}
45	},
46	checkURL:function(){
47		var id;
48		var loc=window.location.toString();
49		loc=/#/.test(loc)?loc.match(/#(\w.+)/)[1]:'';
50		if(loc==''){return;}
51		var elm=document.getElementById(loc);
52		if(!elm){return;}
53		var parentMenu=elm.parentNode.parentNode.parentNode;
54		parentMenu.currentSection=loc;
55		parentMenu.getElementsByTagName(domtab.contentElements)[0].style.display='none';
56		domtab.cssjs('remove',parentMenu.getElementsByTagName('a')[0].parentNode,domtab.activeClass);
57		var links=parentMenu.getElementsByTagName('a');
58		for(i=0;i<links.length;i++){
59			if(!links[i].getAttribute('href')){continue;}
60			if(!/#/.test(links[i].getAttribute('href').toString())){continue;}
61			id=links[i].href.match(/#(\w.+)/)[1];
62			if(id==loc){
63				var cur=links[i].parentNode.parentNode;
64				domtab.cssjs('add',links[i].parentNode,domtab.activeClass);
65				break;
66			}
67		}
68		domtab.changeTab(elm,1);
69		elm.focus();
70		cur.currentLink=links[i];
71		cur.currentSection=loc;
72	},
73	showAll:function(e){
74		document.getElementById(domtab.printID).parentNode.removeChild(document.getElementById(domtab.printID));
75		var tempelm=document.getElementsByTagName('div');		
76		for(var i=0;i<tempelm.length;i++){
77			if(!domtab.cssjs('check',tempelm[i],domtab.tabClass)){continue;}
78			var sec=tempelm[i].getElementsByTagName(domtab.contentElements);
79			for(var j=0;j<sec.length;j++){
80				sec[j].style.display='block';
81			}
82		}
83		var tempelm=document.getElementsByTagName('ul');		
84		for(i=0;i<tempelm.length;i++){
85			if(!domtab.cssjs('check',tempelm[i],domtab.prevNextClass)){continue;}
86			tempelm[i].parentNode.removeChild(tempelm[i]);
87			i--;
88		}
89		domtab.cancelClick(e);
90	},
91	addPrevNext:function(menu){
92		var temp;
93		var sections=menu.getElementsByTagName(domtab.contentElements);
94		for(var i=0;i<sections.length;i++){
95			temp=domtab.createPrevNext();
96			if(i==0){
97				temp.removeChild(temp.getElementsByTagName('li')[0]);
98			}
99			if(i==sections.length-1){
100				temp.removeChild(temp.getElementsByTagName('li')[1]);
101			}
102			temp.i=i; // h4xx0r!
103			temp.menu=menu;
104			sections[i].appendChild(temp);
105		}
106	},
107	removeBackLinks:function(menu){
108		var links=menu.getElementsByTagName('a');
109		for(var i=0;i<links.length;i++){
110			if(!domtab.backToLinks.test(links[i].href)){continue;}
111			links[i].parentNode.removeChild(links[i]);
112			i--;
113		}
114	},
115	initTabMenu:function(menu){
116		var id;
117		var lists=menu.getElementsByTagName('ul');
118		for(var i=0;i<lists.length;i++){
119			if(domtab.cssjs('check',lists[i],domtab.listClass)){
120				var thismenu=lists[i];
121				break;
122			}
123		}
124		if(!thismenu){return;}
125		thismenu.currentSection='';
126		thismenu.currentLink='';
127		var links=thismenu.getElementsByTagName('a');
128		for(i=0;i<links.length;i++){
129			if(!/#/.test(links[i].getAttribute('href').toString())){continue;}
130			id=links[i].href.match(/#(\w.+)/)[1];
131			if(document.getElementById(id)){
132				domtab.addEvent(links[i],'click',domtab.showTab,false);
133				links[i].onclick=function(){return false;} // safari hack
134				domtab.changeTab(document.getElementById(id),0);
135			}
136		}
137		id=links[0].href.match(/#(\w.+)/)[1];
138		if(document.getElementById(id)){
139			domtab.changeTab(document.getElementById(id),1);
140			thismenu.currentSection=id;
141			thismenu.currentLink=links[0];
142			domtab.cssjs('add',links[0].parentNode,domtab.activeClass);
143		}
144	},
145	createPrevNext:function(){
146		// this would be so much easier with innerHTML, darn you standards fetish!
147		var temp=document.createElement('ul');
148		temp.className=domtab.prevNextClass;
149		temp.appendChild(document.createElement('li'));
150		temp.getElementsByTagName('li')[0].appendChild(document.createElement('a'));
151		temp.getElementsByTagName('a')[0].setAttribute('href','#');
152		temp.getElementsByTagName('a')[0].innerHTML=domtab.prevLabel;
153		temp.getElementsByTagName('li')[0].className=domtab.prevClass;
154		temp.appendChild(document.createElement('li'));
155		temp.getElementsByTagName('li')[1].appendChild(document.createElement('a'));
156		temp.getElementsByTagName('a')[1].setAttribute('href','#');
157		temp.getElementsByTagName('a')[1].innerHTML=domtab.nextLabel;
158		temp.getElementsByTagName('li')[1].className=domtab.nextClass;
159		domtab.addEvent(temp.getElementsByTagName('a')[0],'click',domtab.navTabs,false);
160		domtab.addEvent(temp.getElementsByTagName('a')[1],'click',domtab.navTabs,false);
161		// safari fix
162		temp.getElementsByTagName('a')[0].onclick=function(){return false;}
163		temp.getElementsByTagName('a')[1].onclick=function(){return false;}
164		return temp;
165	},
166	navTabs:function(e){
167		var li=domtab.getTarget(e);
168		var menu=li.parentNode.parentNode.menu;
169		var count=li.parentNode.parentNode.i;
170		var section=menu.getElementsByTagName(domtab.contentElements);
171		var links=menu.getElementsByTagName('a');
172		var othercount=(li.parentNode.className==domtab.prevClass)?count-1:count+1;
173		section[count].style.display='none';
174		domtab.cssjs('remove',links[count].parentNode,domtab.activeClass);
175		section[othercount].style.display='block';
176		domtab.cssjs('add',links[othercount].parentNode,domtab.activeClass);
177		var parent=links[count].parentNode.parentNode;
178		parent.currentLink=links[othercount];
179		parent.currentSection=links[othercount].href.match(/#(\w.+)/)[1];
180		domtab.cancelClick(e);
181	},
182	changeTab:function(elm,state){
183		do{
184			elm=elm.parentNode;
185		} while(elm.nodeName.toLowerCase()!=domtab.contentElements)
186		elm.style.display=state==0?'none':'block';
187	},
188	showTab:function(e){
189		var o=domtab.getTarget(e);
190		if(o.parentNode.parentNode.currentSection!=''){
191			domtab.changeTab(document.getElementById(o.parentNode.parentNode.currentSection),0);
192			domtab.cssjs('remove',o.parentNode.parentNode.currentLink.parentNode,domtab.activeClass);
193		}
194		var id=o.href.match(/#(\w.+)/)[1];
195		o.parentNode.parentNode.currentSection=id;
196		o.parentNode.parentNode.currentLink=o;
197		domtab.cssjs('add',o.parentNode,domtab.activeClass);
198		domtab.changeTab(document.getElementById(id),1);
199		document.getElementById(id).focus();
200		domtab.cancelClick(e);
201	},
202/* helper methods */
203	getTarget:function(e){
204		var target = window.event ? window.event.srcElement : e ? e.target : null;
205		if (!target){return false;}
206		if (target.nodeName.toLowerCase() != 'a'){target = target.parentNode;}
207		return target;
208	},
209	cancelClick:function(e){
210		if (window.event){
211			window.event.cancelBubble = true;
212			window.event.returnValue = false;
213			return;
214		}
215		if (e){
216			e.stopPropagation();
217			e.preventDefault();
218		}
219	},
220	addEvent: function(elm, evType, fn, useCapture){
221		if (elm.addEventListener) 
222		{
223			elm.addEventListener(evType, fn, useCapture);
224			return true;
225		} else if (elm.attachEvent) {
226			var r = elm.attachEvent('on' + evType, fn);
227			return r;
228		} else {
229			elm['on' + evType] = fn;
230		}
231	},
232	cssjs:function(a,o,c1,c2){
233		switch (a){
234			case 'swap':
235				o.className=!domtab.cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
236			break;
237			case 'add':
238				if(!domtab.cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
239			break;
240			case 'remove':
241				var rep=o.className.match(' '+c1)?' '+c1:c1;
242				o.className=o.className.replace(rep,'');
243			break;
244			case 'check':
245				var found=false;
246				var temparray=o.className.split(' ');
247				for(var i=0;i<temparray.length;i++){
248					if(temparray[i]==c1){found=true;}
249				}
250				return found;
251			break;
252		}
253	}
254}
255domtab.addEvent(window, 'load', domtab.init, false);
256	

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.