PageSourceSearch

https://www.viart.com/js/ajax.js?2025-03-04

js viart.com collected 2026-10-01 05:30:42 UTC 6,188 bytes, 247 lines download raw bytes

1var xmlHttp = new Array(); // use array for simultaneous calls
2
3function GetXmlHttpObject() {
4	try { return new XMLHttpRequest(); }
5	catch (e) {
6		try { 
7			return new ActiveXObject("MSXML2.XMLHTTP");
8		} catch (e) {
9			return null;
10		}
11	}
12}
13
14function loadAjax(divId, url, someFunction, someParams) {
15	var divObj = document.getElementById(divId);
16	if(divObj) {
17		var reqId = xmlHttp.length;
18		xmlHttp[reqId] = GetXmlHttpObject();
19		if (xmlHttp[reqId] == null) {
20			alert ("Your browser does not support AJAX!");
21			return;
22		}
23		xmlHttp[reqId].onreadystatechange = function() { loadedAjax(reqId, someFunction, someParams, divObj); };  
24		xmlHttp[reqId].open("GET", url, true);
25		xmlHttp[reqId].setRequestHeader('Content-Type', 'application/ajax+html');
26		xmlHttp[reqId].send(null);
27	} else {
28		alert("Can't initiliaze HTML object: " + divId);
29	}
30	return false;
31}
32
33function callAjax(url, someFunction, someParams) {
34	if (someFunction) {
35		var reqId = xmlHttp.length;
36		xmlHttp[reqId] = GetXmlHttpObject();
37		if (xmlHttp[reqId] == null) {
38			alert ("Your browser does not support AJAX!");
39			return;
40		}
41
42		xmlHttp[reqId].onreadystatechange = function() { loadedAjax(reqId, someFunction, someParams, ""); };  
43		xmlHttp[reqId].open("GET", url, true);
44		xmlHttp[reqId].setRequestHeader('Content-Type', 'application/ajax+html');
45		xmlHttp[reqId].send(null);
46	} else {
47		alert("Function is not defined for AJAX call.");
48	}
49	return false;
50}
51
52function postAjax(url, someFunction, someParams, formObject, postParams) {
53	var params = "";
54	if (formObject) {
55		for (var f = 0; f < formObject.elements.length; f++) {
56			var formElement = formObject.elements[f];
57			var elementType = formElement.type;
58			var elementName = formElement.name;
59			var elementValue = "";
60			if (elementType == "radio" || elementType == "checkbox") {
61				if (formElement.checked) {
62					elementValue = formElement.value;
63				}
64			} else {
65				elementValue = formElement.value;
66			}
67			if (elementValue && elementValue != "") {
68				if (params != "") { params += "&"; }
69				params += elementName+"="+encodeURIComponent(elementValue);
70			}
71		}
72	}
73	if (postParams && (postParams instanceof Array || postParams instanceof Object)) {
74		for (paramName in postParams) {
75			if (params != "") { params += "&"; }
76			params += encodeURIComponent(paramName)+"="+encodeURIComponent(postParams[paramName]);
77		}
78	}         
79	if (someFunction) {
80		var reqId = xmlHttp.length;
81		xmlHttp[reqId] = GetXmlHttpObject();
82		if (xmlHttp[reqId] == null) {
83			alert ("Your browser does not support AJAX!");
84			return;
85		}
86
87		xmlHttp[reqId].onreadystatechange = function() { loadedAjax(reqId, someFunction, someParams, ""); };  
88		xmlHttp[reqId].open('POST', url, true);
89		xmlHttp[reqId].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
90		xmlHttp[reqId].send(params);
91	} else {
92		alert("Function is not defined for AJAX call.");
93	}
94	return false;
95}
96
97
98function loadedAjax(reqId, someFunction, someParams, divObj) 
99{
100	if (xmlHttp[reqId].readyState == 4) {
101		if (divObj) {
102			divObj.innerHTML = xmlHttp[reqId].responseText;
103		}
104		if (someFunction) {
105			someFunction(xmlHttp[reqId].responseText, someParams);
106		}
107		xmlHttp[reqId] = null;
108	}
109}
110
111function nextNode(e) {
112	return ((e && e.nodeType != 1) ? nextNode(e = e.nextSibling) : e);
113}
114
115function prevNode(e) {
116	return ((e && e.nodeType != 1) ? prevNode(e = e.previousSibling) : e);
117}
118
119function nextElement(e) {
120	return nextNode(e.nextSibling);
121}
122
123function prevElement(e) {
124	return prevNode(e.previousSibling);
125}
126
127
128
129function addClassNameByID(obj_id, classname) {
130	var obj    = document.getElementById(obj_id);
131	if (obj) {
132		addClassName(obj, classname);	
133	}
134	var obj    = document.getElementsByName(obj_id);
135	if (obj) {
136		for(var j=0; j<obj.length; j++) {
137			addClassName(obj[j], classname);
138		}
139	}	
140}
141
142function addClassName(obj, classname) {
143	obj.className += " " + classname;	
144}
145
146function removeClassNameByID(obj_id, classname) {
147	var obj    = document.getElementById(obj_id);
148	if (obj) {
149		removeClassName(obj, classname);
150	}
151	var obj    = document.getElementsByName(obj_id);
152	if (obj) {
153		for(var j=0; j<obj.length; j++) {
154			removeClassName(obj[j], classname);
155		}
156	}
157}
158
159function removeClassName(obj, classname) {
160	var substr = obj.className.split(" ");
161	if (substr.length) {
162		obj.className = "";
163		for (i = 0; i < substr.length; i++) {
164			if (substr[i] !== classname) {
165				obj.className += " " + substr[i];
166			}
167		}
168	} else if (obj.className == classname){
169		obj.className = "";
170	}
171}
172
173function hasClassNameByID(obj_id, classname) {
174	var obj    = document.getElementById(obj_id);
175	if (obj) {
176		return hasClassName(obj, classname);
177	}
178	var obj    = document.getElementsByName(obj_id);
179	if (obj) {
180		if (obj.length) {
181			return hasClassName(obj[0], classname);
182		} else {
183			return hasClassName(obj, classname);
184		}
185	}
186	return false;
187}
188
189function hasClassName(obj, classname) {
190	var substr = obj.className.split(" ");
191	if (substr.length) {
192		for (i = 0; i < substr.length; i++) {
193			if (substr[i] == classname) {
194				return true;
195			}
196		}
197	} else if (obj.className == classname){
198		return true;
199	}
200	return false;
201}
202
203function formSerialize(form) {
204	var serialized = "";
205	for (i = 0; i<form.length; i++) {
206		if(form[i].type) {
207			if (form[i].type == "text" || form[i].type == "hidden" || form[i].type == "select-one") {
208				serialized += form[i].name + "=" + form[i].value + "&";
209			} else if (form[i].type == "checkbox") {
210				if (form[i].checked) {
211					serialized += form[i].name + "=" + form[i].value + "&";
212				}
213			}
214		} else {
215			serialized += form[i].name + "=" + form[i].value + "&";
216		}
217	}
218	return serialized;	
219}
220
221function stringUnserialize(str) {
222	var substr = str.split("&");
223	var values = new Array();
224	var j = 0;
225	if (substr.length) {
226		for (i = 0; i < substr.length; i++) {
227			if (substr[i].length) {
228				line = substr[i].split("=");
229				if (line.length && line[0]){
230					values[j] = new Array();
231					values[j][0] = line[0];
232					values[j][1] = line[1];
233					j++;
234				}
235			}
236		}
237	} else {
238		line = response.split("=");
239		if (line.length && line[0]){
240			values[j] = new Array();
241			values[j][0] = line[0];
242			values[j][1] = line[1];
243			j++;
244		}
245	}
246	return values;
247}

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.