PageSourceSearch

https://i40nds.de/files/i40/js/script.js

js i40nds.de collected 2026-10-04 03:34:59 UTC 2,763 bytes, 85 lines download raw bytes

1// must be loaded at the end of the body element
2(function(){
3	var addEvent = function(element, event, func){
4			if(element.addEventListener){
5				element.addEventListener(event, func, false);
6			}
7			else{
8				element.attachEvent('on'+event, func);
9			}
10		},
11		eventPreventDefault = function(event){
12			event = event || window.event;
13			if(event.preventDefault){
14				event.preventDefault();
15			}
16			else{
17				event.returnValue = false;
18			}
19		},
20		navMainMobile = document.getElementById('nav-main-mobile'),
21		navMain = document.getElementById('nav-main'),
22		navMainLis, i, element, navMainTouched, touchUsed,
23		navSearch = document.getElementById('nav-search');
24	if(navMainMobile){
25		addEvent(navMainMobile, 'change', function(){
26			document.location.href = navMainMobile.value;
27		});
28	}
29	if(navSearch){
30		addEvent(navSearch.getElementsByTagName('input')[0], 'focus', function(){
31			navSearch.className = 'focus';
32		});
33		addEvent(navSearch.getElementsByTagName('button')[0], 'focus', function(){
34			navSearch.className = 'focus';
35		});
36		addEvent(navSearch.getElementsByTagName('input')[0], 'blur', function(){
37			navSearch.className = '';
38		});
39		addEvent(navSearch.getElementsByTagName('button')[0], 'blur', function(){
40			navSearch.className = '';
41		});
42	}
43	// dropdown fix for all touch devices except iOS
44	if(window.Modernizr && Modernizr.touch && !navigator.userAgent.match(/(iPad|iPhone|iPod)/i)){
45		if(navMain && navMain.getElementsByTagName('ul').length){
46			// devices supporting touch events may not mean touch input is used
47			// e.g. touch enabled laptops running Windows 8
48			addEvent(navMain, 'touchstart', function(event) {
49				touchUsed = true;
50			});
51			navMainLis = navMain.getElementsByTagName('ul')[0].childNodes;
52			for(i = 0; i < navMainLis.length; i++){
53				if(navMainLis[i].nodeName && navMainLis[i].nodeName.toLowerCase() === 'li' && navMainLis[i].getElementsByTagName('ul').length){
54					element = navMainLis[i].getElementsByTagName('a');
55					if(element && (element = element[0])){
56						addEvent(element, 'click', function(event){
57							if(navMainTouched !== this && touchUsed){
58								navMainTouched = this;
59								eventPreventDefault(event);
60							}
61						});
62					}
63				}
64			}
65		}
66	}
67})();
68
69// IE8 icon font bug (http://stackoverflow.com/a/10557782)
70if((function(){
71	var div = document.createElement('div');
72	div.innerHTML = '<!--[if lt IE 9]><br><![endif]-->';
73	return div.getElementsByTagName('br')[0];
74})()){
75	(function(){
76		var head = document.getElementsByTagName('head')[0],
77		    style = document.createElement('style');
78		style.type = 'text/css';
79		style.styleSheet.cssText = ':before,:after{content:none !important';
80		head.appendChild(style);
81		setTimeout(function(){
82			head.removeChild(style);
83		}, 0);
84	})();
85}

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.