PageSourceSearch

http://www.agrobudownictwo.pl/cnf/advajax.js

js agrobudownictwo.pl collected 2026-10-03 00:37:55 UTC 16,296 bytes, 480 lines download raw bytes

1/*
2 * AdvancedAJAX 1.1.2
3 * (c) 2005-2006 Lukasz Lach
4 *  mail: [email protected]
5 *  www:  http://advajax.anakin.us/
6 *        http://anakin.us/
7 * http://creativecommons.org/licenses/LGPL/2.1/
8 *
9 */
10
11function advAJAX() {
12
13    var obj = new Object();
14
15    obj.url = window.location.href;
16    obj.method = "GET";
17    obj.parameters = new Object();
18    obj.jsonParameters = new Object();
19    obj.headers = new Object();
20    obj.async = true;
21    obj.mimeType = "text/xml";
22    obj.username = null;
23    obj.password = null;
24    obj.form = null;
25    obj.disableForm = true;
26
27    obj.unique = true;
28    obj.uniqueParameter = "_uniqid";
29
30    obj.requestDone = false;
31    obj.queryString = "";
32    obj.responseText = null;
33    obj.responseXML = null;
34    obj.status = null;
35    obj.statusText = null;
36    obj.aborted = false;
37    obj.timeout = 0;
38    obj.retryCount = 0;
39    obj.retryDelay = 1000;
40    obj.tag = null;
41    obj.group = null;
42    obj.progressTimerInterval = 50;
43
44    obj.xmlHttpRequest = null;
45
46    obj.onInitialization = null;
47    obj.onFinalization = null;
48    obj.onReadyStateChange = null;
49    obj.onLoading = null;
50    obj.onLoaded = null;
51    obj.onInteractive = null;
52    obj.onComplete = null;
53    obj.onProgress = null;
54    obj.onSuccess = null;
55    obj.onFatalError = null;
56    obj.onError = null;
57    obj.onTimeout = null;
58    obj.onRetryDelay = null;
59    obj.onRetry = null;
60    obj.onGroupEnter = null;
61    obj.onGroupLeave = null;
62
63    obj.createXmlHttpRequest = function() {
64
65        if (typeof XMLHttpRequest != "undefined")
66            return new XMLHttpRequest();
67        var xhrVersion = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
68                "MSXML2.XMLHttp","Microsoft.XMLHttp" ];
69        for (var i = 0; i < xhrVersion.length; i++) {
70            try {
71                var xhrObj = new ActiveXObject(xhrVersion[i]);
72                return xhrObj;
73            } catch (e) { }
74        }
75        obj.raiseEvent("FatalError");
76        return null;
77    };
78
79    obj._oldResponseLength = null;
80    obj._progressTimer = null;
81    obj._progressStarted = navigator.userAgent.indexOf('Opera') == -1;
82    obj._onProgress = function() {
83
84        if (typeof obj.onProgress == "function" &&
85            typeof obj.xmlHttpRequest.getResponseHeader == "function") {
86            var contentLength = obj.xmlHttpRequest.getResponseHeader("Content-length");
87            if (contentLength != null && contentLength != '') {
88                var responseLength = obj.xmlHttpRequest.responseText.length;
89                if (responseLength != obj._oldResponseLength) {
90                    obj.raiseEvent("Progress", obj, responseLength, contentLength);
91                    obj._oldResponseLength = obj.xmlHttpRequest.responseText.length;
92                }
93            }
94        }
95        if (obj._progressStarted) return;
96        obj._progressStarted = true;
97        var _obj = this;
98        this.__onProgress = function() {
99            obj._onProgress();
100            obj._progressTimer = window.setTimeout(_obj.__onProgress, obj.progressTimerInterval);
101        }
102        _obj.__onProgress();
103    }
104
105    obj._onInitializationHandled = false;
106    obj._initObject = function() {
107
108        if (obj.xmlHttpRequest != null) {
109            delete obj.xmlHttpRequest["onreadystatechange"];
110            obj.xmlHttpRequest = null;
111        }
112        if ((obj.xmlHttpRequest = obj.createXmlHttpRequest()) == null)
113            return null;
114        if (typeof obj.xmlHttpRequest.overrideMimeType != "undefined")
115            obj.xmlHttpRequest.overrideMimeType(obj.mimeType);
116        obj.xmlHttpRequest.onreadystatechange = function() {
117
118            if (obj == null || obj.xmlHttpRequest == null)
119                return;
120            obj.raiseEvent("ReadyStateChange", obj, obj.xmlHttpRequest.readyState);
121            obj._onProgress();
122            switch (obj.xmlHttpRequest.readyState) {
123                case 1: obj._onLoading(); break;
124                case 2: obj._onLoaded(); break;
125                case 3: obj._onInteractive(); break;
126                case 4: obj._onComplete(); break;
127            }
128        };
129        obj._onLoadingHandled =
130            obj._onLoadedHandled =
131            obj._onInteractiveHandled =
132            obj._onCompleteHandled = false;
133    };
134
135    obj._onLoading = function() {
136
137        if (obj._onLoadingHandled)
138            return;
139        if (!obj._retry && obj.group != null) {
140            if (typeof advAJAX._groupData[obj.group] == "undefined")
141                advAJAX._groupData[obj.group] = 0;
142            advAJAX._groupData[obj.group]++;
143            if (typeof obj.onGroupEnter == "function" && advAJAX._groupData[obj.group] == 1)
144                obj.onGroupEnter(obj);
145        }
146        obj.raiseEvent("Loading", obj);
147        obj._onLoadingHandled = true;
148    };
149    obj._onLoaded = function() {
150
151        if (obj._onLoadedHandled)
152            return;
153        obj.raiseEvent("Loaded", obj);
154        obj._onLoadedHandled = true;
155    };
156    obj._onInteractive = function() {
157
158        if (obj._onInteractiveHandled)
159            return;
160        obj.raiseEvent("Interactive", obj);
161        obj._onInteractiveHandled = true;
162        if (!obj._progressStarted)
163            obj._onProgress();
164    };
165    obj._onComplete = function() {
166
167        if (obj._onCompleteHandled || obj.aborted)
168            return;
169        if (obj._progressStarted) {
170            window.clearInterval(obj._progressTimer);
171            obj._progressStarted = false;
172        }
173        obj.requestDone = true;
174        with (obj.xmlHttpRequest) {
175            obj.responseText = responseText;
176            obj.responseXML = responseXML;
177            if (typeof status != "undefined")
178                obj.status = status;
179            if (typeof statusText != "undefined")
180                obj.statusText = statusText;
181        }
182        obj.raiseEvent("Complete", obj);
183        obj._onCompleteHandled = true;
184        if (obj.status == 200)
185            obj.raiseEvent("Success", obj); else
186            obj.raiseEvent("Error", obj);
187        delete obj.xmlHttpRequest['onreadystatechange'];
188        obj.xmlHttpRequest = null;
189        if (obj.disableForm)
190            obj.switchForm(true);
191        obj._groupLeave();
192        obj.raiseEvent("Finalization", obj);
193    };
194
195    obj._groupLeave = function() {
196
197        if (obj.group != null) {
198            advAJAX._groupData[obj.group]--;
199            if (advAJAX._groupData[obj.group] == 0)
200                obj.raiseEvent("GroupLeave", obj);
201        }
202    };
203
204    obj._retry = false;
205    obj._retryNo = 0;
206    obj._onTimeout = function() {
207
208        if (obj == null || obj.xmlHttpRequest == null || obj._onCompleteHandled)
209            return;
210        obj.aborted = true;
211        obj.xmlHttpRequest.abort();
212        obj.raiseEvent("Timeout", obj);
213        obj._retry = true;
214        if (obj._retryNo != obj.retryCount) {
215            obj._initObject();
216            if (obj.retryDelay > 0) {
217                obj.raiseEvent("RetryDelay", obj);
218                startTime = new Date().getTime();
219                while (new Date().getTime() - startTime < obj.retryDelay);
220            }
221            obj._retryNo++;
222            obj.raiseEvent("Retry", obj, obj._retryNo);
223            obj.run();
224        } else {
225            delete obj.xmlHttpRequest["onreadystatechange"];
226            obj.xmlHttpRequest = null;
227            if (obj.disableForm)
228                obj.switchForm(true);
229            obj._groupLeave();
230            obj.raiseEvent("Finalization", obj);
231        }
232    };
233
234    obj.run = function() {
235
236        obj._initObject();
237        if (obj.xmlHttpRequest == null)
238            return false;
239        obj.aborted = false;
240        if (!obj._onInitializationHandled) {
241            obj.raiseEvent("Initialization", obj);
242            obj._onInitializationHandled = true;
243        }
244        if (obj.method == "GET" && obj.unique)
245            obj.parameters[encodeURIComponent(obj.uniqueParameter)] =
246            new Date().getTime().toString().substr(5) + Math.floor(Math.random() * 100).toString();
247        if (!obj._retry) {
248            for (var a in obj.parameters) {
249                if (obj.queryString.length > 0)
250                    obj.queryString += "&";
251                if (typeof obj.parameters[a] != "object")
252                    obj.queryString += encodeURIComponent(a) + "=" + encodeURIComponent(obj.parameters[a]); else {
253                    for (var i = 0; i < obj.parameters[a].length; i++)
254                        obj.queryString += encodeURIComponent(a) + "=" + encodeURIComponent(obj.parameters[a][i]) + "&";
255                    obj.queryString = obj.queryString.slice(0, -1);
256                }
257            }
258            for (var a in obj.jsonParameters) {
259                var useJson = typeof [].toJSONString == 'function';
260                if (obj.queryString.length > 0)
261                    obj.queryString += "&";
262                obj.queryString += encodeURIComponent(a) + "=";
263                if (useJson)
264                    obj.queryString += encodeURIComponent(obj.jsonParameters[a].toJSONString()); else
265                    obj.queryString += encodeURIComponent(obj.jsonParameters[a]);
266            }
267            if (obj.method == "GET" && obj.queryString.length > 0)
268                obj.url += (obj.url.indexOf("?") != -1 ? "&" : "?") + obj.queryString;
269        }
270        if (obj.disableForm)
271            obj.switchForm(false);
272        try {
273            obj.xmlHttpRequest.open(obj.method, obj.url, obj.async, obj.username || '', obj.password || '');
274        } catch (e) {
275            obj.raiseEvent("FatalError", obj, e);
276            return;
277        }
278        if (obj.timeout > 0)
279            setTimeout(obj._onTimeout, obj.timeout);
280        if (typeof obj.xmlHttpRequest.setRequestHeader != "undefined")
281            for (var a in obj.headers)
282                obj.xmlHttpRequest.setRequestHeader(encodeURIComponent(a), encodeURIComponent(obj.headers[a]));
283        if (obj.method == "POST" && typeof obj.xmlHttpRequest.setRequestHeader != "undefined") {
284            obj.xmlHttpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
285            obj.xmlHttpRequest.send(obj.queryString);
286        } else if (obj.method == "GET")
287            obj.xmlHttpRequest.send('');
288    };
289
290    obj.handleArguments = function(args) {
291
292        if (typeof args.form == "object" && args.form != null) {
293            obj.form = args.form;
294            obj.appendForm();
295        }
296        for (a in args) {
297            if (typeof obj[a] == "undefined")
298                obj.parameters[a] = args[a]; else {
299                if (a != "parameters" && a != "headers")
300                    obj[a] = args[a]; else
301                    for (b in args[a])
302                        obj[a][b] = args[a][b];
303            }
304        }
305        obj.method = obj.method.toUpperCase();
306    };
307
308    obj.switchForm = function(enable) {
309
310        if (typeof obj.form != "object" || obj.form == null)
311            return;
312        with (obj.form)
313            for (var nr = 0; nr < elements.length; nr++)
314                if (!enable) {
315                    if (elements[nr]["disabled"])
316                        elements[nr]["_disabled"] = true; else
317                        elements[nr]["disabled"] = "disabled";
318                } else
319                    if (typeof elements[nr]["_disabled"] == "undefined")
320                        elements[nr].removeAttribute("disabled");
321    };
322
323    obj.appendForm = function() {
324
325        with (obj.form) {
326            obj.method = getAttribute("method").toUpperCase();
327            obj.url = getAttribute("action");
328            for (var nr = 0; nr < elements.length; nr++) {
329                var e = elements[nr];
330                if (e.disabled)
331                    continue;
332                switch (e.type) {
333                    case "text":
334                    case "password":
335                    case "hidden":
336                    case "textarea":
337                        obj.addParameter(e.name, e.value);
338                        break;
339                    case "select-one":
340                        if (e.selectedIndex >= 0)
341                            obj.addParameter(e.name, e.options[e.selectedIndex].value);
342                        break;
343                    case "select-multiple":
344                        for (var nr2 = 0; nr2 < e.options.length; nr2++)
345                            if (e.options[nr2].selected)
346                                obj.addParameter(e.name, e.options[nr2].value);
347                        break;
348                    case "checkbox":
349                    case "radio":
350                        if (e.checked)
351                            obj.addParameter(e.name, e.value);
352                        break;
353                }
354            }
355        }
356    };
357
358    obj.addParameter = function(name, value) {
359        if (typeof obj.parameters[name] == "undefined")
360            obj.parameters[name] = value; else
361        if (typeof obj.parameters[name] != "object")
362            obj.parameters[name] = [ obj.parameters[name], value ]; else
363        obj.parameters[name][obj.parameters[name].length] = value;
364    };
365    obj.delParameter = function(name) {
366
367        delete obj.parameters[name];
368    };
369    obj.raiseEvent = function(name) {
370        var args = [];
371        for (var i = 1; i < arguments.length; i++)
372            args.push(arguments[i]);
373        if (typeof obj["on" + name] == "function")
374            obj["on" + name].apply(null, args);
375        if (name == "FatalError")
376            obj.raiseEvent("Finalization", obj);
377    }
378
379    if (typeof advAJAX._defaultParameters != "undefined")
380        obj.handleArguments(advAJAX._defaultParameters);
381    return obj;
382}
383
384advAJAX.get = function(args) {
385
386    return advAJAX.handleRequest("GET", args);
387};
388
389advAJAX.post = function(args) {
390
391    return advAJAX.handleRequest("POST", args);
392};
393
394advAJAX.head = function(args) {
395
396    return advAJAX.handleRequest("HEAD", args);
397};
398
399advAJAX.submit = function(form, args) {
400
401    if (typeof args == "undefined" || args == null)
402        return -1;
403    if (typeof form != "object" || form == null)
404        return -2;
405    var request = new advAJAX();
406    args["form"] = form;
407    request.handleArguments(args);
408    return request.run();
409};
410
411advAJAX.assign = function(form, args) {
412
413    if (typeof args == "undefined" || args == null)
414        return -1;
415    if (typeof form != "object" || form == null)
416        return -2;
417    if (typeof form["onsubmit"] == "function")
418        form["_onsubmit"] = form["onsubmit"];
419    form["advajax_args"] = args;
420    form["onsubmit"] = function() {
421        if (typeof this["_onsubmit"] != "undefined" && this["_onsubmit"]() === false)
422            return false;
423        if (advAJAX.submit(this, this["advajax_args"]) == false)
424            return true;
425        return false;
426    }
427    return true;
428};
429
430advAJAX.download = function(targetObj, url) {
431
432    if (typeof targetObj == "string")
433        targetObj = document.getElementById(targetObj);
434    if (!targetObj)
435        return -1;
436    advAJAX.get({
437        url: url,
438        onSuccess : function(obj) {
439            targetObj.innerHTML = obj.responseText;
440        }
441    });
442};
443
444advAJAX.scan = function() {
445
446    var obj = document.getElementsByTagName("a");
447    for (var i = 0; i < obj.length;) {
448        if (obj[i].getAttribute("rel") == "advancedajax" && obj[i].getAttribute("href") !== null) {
449            var url = obj[i].getAttribute("href");
450            var div = document.createElement("div");
451            div.innerHTML = obj[i].innerHTML;
452            div.className = obj[i].className;
453            var parent = obj[i].parentNode;
454            parent.insertBefore(div, obj[i]);
455            parent.removeChild(obj[i]);
456            advAJAX.download(div, url);
457        } else i++;
458    }
459};
460
461advAJAX.handleRequest = function(requestType, args) {
462
463    if (typeof args == "undefined" || args == null)
464        return -1;
465    var request = new advAJAX();
466    window.advajax_obj = request;
467    request.method = requestType;
468    request.handleArguments(args);
469    return request.run();
470};
471
472advAJAX._defaultParameters = new Object();
473advAJAX.setDefaultParameters = function(args) {
474
475    advAJAX._defaultParameters = new Object();
476    for (a in args)
477        advAJAX._defaultParameters[a] = args[a];
478};
479
480advAJAX._groupData = new Object();

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.