PageSourceSearch

https://bosssafety.com/Scripts/guidednavigation.js

js bosssafety.com collected 2026-10-05 21:10:08 UTC 6,142 bytes, 206 lines download raw bytes

1var delimeter = "-";
2
3function getQueryStringParameters() {
4	var idx = document.URL.indexOf('?');
5	var params = new Array();
6	if (idx != -1) {
7		var pairs = document.URL.substring(idx + 1, document.URL.length).split('&');
8		for (var i = 0; i < pairs.length; i++) {
9			nameVal = pairs[i].split('=');
10			params[nameVal[0]] = nameVal[1];
11		}
12	}
13	return params;
14}
15
16function getParamsbyref() {
17	paramsbyref = getParamsbyrefString(document.URL);
18	return paramsbyref;
19}
20
21function getParamsbyrefString(url) {
22	var idx = url.indexOf('?');
23	var paramsbyref = new Array();
24	if (idx != -1) {
25		var pairs = url.substring(idx + 1, url.length).split('&');
26		for (var i = 0; i < pairs.length; i++) {
27			nameVal = pairs[i].split('=');
28			paramsbyref[i] = nameVal;
29		}
30	}
31	return paramsbyref;
32}
33
34function setParam(id, value) {
35	if (value === "") {
36		return false;
37	}
38	paramsbyref = getParamsbyref();
39	var url = 'not';
40	if (document.URL.indexOf('?') == -1) {
41		url = "?" + id + "=" + value;
42	}
43	else if (document.URL.indexOf("&" + id + "=") != -1 || document.URL.indexOf("?" + id + "=") != -1) {
44		url = "?";
45		for (var i = 0; i < paramsbyref.length; i++) {
46			if (i != 0)
47				url += "&";
48			url += paramsbyref[i][0] + "=";
49			if (paramsbyref[i][0].toLowerCase() != id.toLowerCase())
50				url += paramsbyref[i][1];
51			else
52				url += value;
53		}
54		if (id.toLowerCase() != 'pagenum') {
55			url = removeParamString("pagenum", url);
56		}
57	}
58	else {
59		var idx = document.URL.indexOf('?');
60		url = "?" + document.URL.substring(idx + 1, document.URL.length) + "&" + id + "=" + value;
61		if (id.toLowerCase() != 'pagenum') {
62			url = removeParamString("pagenum", url);
63		}
64	}
65	document.location.href = url;
66}
67
68function removeParamString(id, instring) {
69	if (instring == "")
70		paramsbyref = getParamsbyref();
71	else
72		paramsbyref = getParamsbyrefString(instring);
73	var url = "";
74	for (var i = 0; i < paramsbyref.length; i++) {
75		if (paramsbyref[i][0].toLowerCase() != id.toLowerCase()) {
76			if (url.length != 0)
77				url += "&";
78			else
79				url += "?";
80			url += paramsbyref[i][0] + "=" + paramsbyref[i][1];
81		}
82	}
83	if (url == "") {
84		var idx = document.URL.indexOf('?');
85		url = document.URL.substring(0, idx);
86	}
87	return url;
88}
89
90function removeParam(id) {
91	var url = removeParamString(id, "");
92	document.location.href = url;
93}
94
95function guidedNavigationStartOver() {
96	var url = removeParamString("section", "");
97	url = removeParamString("category", url);
98	url = removeParamString("manufacturer", url);
99	url = removeParamString("distributor", url);
100	url = removeParamString("genre", url);
101	url = removeParamString("vector", url);
102	if (url.indexOf('search.aspx') === -1) {
103		url = removeParamString("searchterm", url);
104	}
105	document.location.href = url;
106}
107
108function sectionLink(sec) { entityLink(sec, "sections"); }    // override for backwards compatability
109function entityLink(id, paramname) {
110	params = getQueryStringParameters();
111	if (params[paramname] != null && params[paramname].match(delimeter + id + delimeter) == delimeter + id + delimeter)
112	{ return; }
113	if (params[paramname] != null)
114		var querystring = params[paramname] + id + delimeter;
115	else
116		var querystring = delimeter + id + delimeter;
117	setParam(paramname, querystring);
118}
119
120function sectionReplaceLink(sec, oldsec) { entityReplaceLink(sec, oldsec, "sections"); }//override for backwards compatability
121function entityReplaceLink(id, oldid, paramname) {
122	params = getQueryStringParameters();
123	if (params[paramname] != null && params[paramname].match(delimeter + id + delimeter) == delimeter + id + delimeter)
124	{ return; }
125	if (params[paramname] != null)
126		var querystring = params[paramname].replace(delimeter + oldid + delimeter, delimeter + id + delimeter);
127	else
128		var querystring = delimeter + id + delimeter;
129	setParam(paramname, querystring);
130}
131
132function removeSection(id) { removeEntity(id, "sections"); } //override for backwards compatability
133function removeEntity(id, paramname) {
134	params = getQueryStringParameters();
135	var out = removeID(params[paramname], delimeter + id + delimeter);
136	if (out == delimeter)
137		removeParam(paramname);
138	else
139		setParam(paramname, out);
140}
141
142function removeID(s, t) {
143	i = s.indexOf(t);
144	r = "";
145	if (i == -1) return s;
146	r += s.substring(0, i) + delimeter + removeID(s.substring(i + t.length), t);
147	return r;
148}
149
150function replaceBasePage(newpage) {
151	var idx = document.URL.indexOf('?');
152	var qs = '';
153	if (idx > 0) {
154		qs = document.URL.substring(idx, document.URL.length);
155	}
156	document.location.href = newpage + qs;
157}
158
159
160
161
162//Cookie Code
163function getCookie(c_name) {
164	if (document.cookie.length > 0) {
165		c_start = document.cookie.indexOf(c_name + "=")
166		if (c_start != -1) {
167			c_start = c_start + c_name.length + 1
168			c_end = document.cookie.indexOf(";", c_start)
169			if (c_end == -1) c_end = document.cookie.length
170			return unescape(document.cookie.substring(c_start, c_end))
171		}
172	}
173	return ""
174}
175
176function setCookie(c_name, value, expiredays) {
177	var exdate = new Date()
178	exdate.setDate(exdate.getDate() + expiredays)
179	document.cookie = c_name + "=" + escape(value) +
180	((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
181}
182
183function checkCookie() {
184	username = getCookie('username')
185	if (username != null && username != "")
186	{ alert('Welcome again ' + username + '!') }
187	else
188	{
189		username = prompt('Please enter your name:', "")
190		if (username != null && username != "") {
191			setCookie('username', username, 365)
192		}
193	}
194}
195
196function show(sid, name, sectionname) { showEntity(sid, name, sectionname, "sections"); } //override for backwards compatability
197function showEntity(id, name, entityname, paramname) {
198	if (params[paramname] != null && params[paramname].match(delimeter + id + delimeter) == delimeter + id + delimeter)
199	{ selectedArray.push([id, name, entityname]); }
200	document.getElementById(entityname + "Header").style.display = "block";
201}
202
203
204var selectedArray = new Array();
205var showSelected = false;
206params = getQueryStringParameters();

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.