/* JavaScript autocomplete widget, version 1.6.6. For details, see http://createwebapp.com  */
(function() { var ua = navigator.userAgent.toLowerCase(); var webkit = /webkit/.test(ua), webkit4 = /webkit\/4/.test(ua), gecko = !webkit && /gecko/.test(ua), ff2 = !webkit && /firefox\/2/.test(ua), ff3 = !webkit && /firefox\/3/.test(ua), msie = /msie/.test(ua), msie6 = /msie 6/.test(ua), msie7 = /msie 7/.test(ua), msie8 = /msie 8/.test(ua), backCompat = document.compatMode == "BackCompat", loaded = 0, sw = 0, sn, $$ = 0, PX = "px", Event = new Object(), g_bw = 1; var empty = function() { }, getStyle = function(e) { if (!webkit && document.defaultView && document.defaultView.getComputedStyle) { return document.defaultView.getComputedStyle(e, null) } else { return e.currentStyle || e.style } }, Estyle = function(e, s) { e = $(e); var v = e.style[s]; if ((!v) && (document.defaultView)) { var css = document.defaultView.getComputedStyle(e, null); v = css ? css[s] : null } return v == "auto" ? null : v }, $ = function(e) { if (typeof e == "string") { e = document.getElementById(e) } return e }, $A = function(itr) { if (!itr) { return [] } var rs = []; for (var i = 0, length = itr.length; i < length; i++) { rs.push(itr[i]) } return rs }, toInt = function(s) { return isNaN(parseInt(s)) ? 0 : parseInt(s) }, has_class = function(e, n) { return new RegExp("(^|\\s)" + n + "(\\s|$)").test(e.className) }, rm_class = function(e, n) { if (!e) { return } e.className = e.className.replace(new RegExp(n, "g"), "") }, cumulativeOffset = function(e) { var T = 0, L = 0; do { T += e.offsetTop || 0; L += e.offsetLeft || 0; e = e.offsetParent } while (e); return [L, T] }, getOffsetParent = function(e) { if (e.offsetParent) { return e.offsetParent } if (e == document.body) { return e } while ((e = e.parentNode) && e != document.body) { if (Estyle(e, "position") != "static") { return e } } return document.body }, viewportOffset = function(t) { var T = 0, L = 0, e = t; do { T += e.offsetTop || 0; L += e.offsetLeft || 0; if (e.offsetParent == document.body && e.style.position == "absolute") { break } } while (e = e.offsetParent); e = t; do { if (!window.opera || e.tagName == "BODY") { T -= e.scrollTop || 0; L -= e.scrollLeft || 0 } } while (e = e.parentNode); return [L, T] }, fixMSIE = function(e) { var d = [0, 0]; if (e == document.body) { d[0] += document.body.offsetLeft; d[1] += document.body.offsetTop } else { if ((msie6 || msie7) && e.style) { d[0] += toInt(getStyle(e).marginLeft); d[1] += toInt(getStyle(e).marginTop) } } return d }; var Try = { these: function() { var returnValue; for (var i = 0, length = arguments.length; i < length; i++) { var lambda = arguments[i]; try { returnValue = lambda(); break } catch (e) { } } return returnValue } }; Object.extend = function(d, s) { for (var p in s) { d[p] = s[p] } return d }; Object.extend(Object, { keys: function(o) { var keys = []; for (var p in o) { keys.push(p) } return keys }, clone: function(o) { return Object.extend({}, o) } }); var Class = { create: function() { var parent = null, ps = $A(arguments); function klass() { this.initialize.apply(this, arguments) } Object.extend(klass, Class.Methods); klass.superclass = parent; klass.subclasses = []; for (var i = 0; i < ps.length; i++) { klass.addMethods(ps[i]) } if (!klass.prototype.initialize) { klass.prototype.initialize = function() { } } klass.prototype.constructor = klass; return klass } }; Class.Methods = { addMethods: function(s) { var ps = Object.keys(s); if (!Object.keys({ toString: true }).length) { ps.push("toString", "valueOf") } for (var i = 0, length = ps.length; i < length; i++) { var property = ps[i], value = s[property]; this.prototype[property] = value } return this } }; Object.extend(Function.prototype, { bind: function() { if (arguments.length < 2 && typeof arguments[0] == "undefined") { return this } var __method = this, args = $A(arguments), object = args.shift(); return function() { return __method.apply(object, args.concat($A(arguments))) } }, bindAsEventListener: function() { var __method = this, args = $A(arguments), object = args.shift(); return function(event) { return __method.apply(object, [event || window.event].concat(args)) } }, curry: function() { if (!arguments.length) { return this } var __method = this, args = $A(arguments); return function() { return __method.apply(this, args.concat($A(arguments))) } }, delay: function() { var __method = this, args = $A(arguments), timeout = args.shift() * 80; return window.setTimeout(function() { return __method.apply(__method, args) }, timeout) } }); Function.prototype.defer = Function.prototype.delay.curry(0.01); Object.extend(Event, { element: function(e) { return $(e.target || e.srcElement) }, stop: function(e) { if (e.preventDefault) { e.preventDefault(); e.stopPropagation() } else { e.returnValue = false; e.cancelBubble = true } }, observers: false, _observeAndCache: function(e, n, observer, useCapture) { if (!this.observers) { this.observers = [] } if (e.addEventListener) { this.observers.push([e, n, observer, useCapture]); e.addEventListener(n, observer, useCapture) } else { if (e.attachEvent) { this.observers.push([e, n, observer, useCapture]); e.attachEvent("on" + n, observer) } } }, unloadCache: function() { if (!Event.observers) { return } for (var i = 0, length = Event.observers.length; i < length; i++) { Event.stopObserving.apply(this, Event.observers[i]); Event.observers[i][0] = null } Event.observers = false }, observe: function(e, n, observer, useCapture) { e = $(e); useCapture = useCapture || false; if (n == "keypress" && (webkit || e.attachEvent)) { n = "keydown" } Event._observeAndCache(e, n, observer, useCapture) }, stopObserving: function(e, n, observer, useCapture) { e = $(e); useCapture = useCapture || false; if (n == "keypress" && (webkit || e.attachEvent)) { n = "keydown" } if (e.removeEventListener) { e.removeEventListener(n, observer, useCapture) } else { if (e.detachEvent) { try { e.detachEvent("on" + n, observer) } catch (ex) { } } } } }); if (msie) { Event.observe(window, "unload", Event.unloadCache, false) } var Ajax = { getTransport: function() { return Try.these(function() { return new XMLHttpRequest() }, function() { return new ActiveXObject("Msxml2.XMLHTTP") }, function() { return new ActiveXObject("Microsoft.XMLHTTP") }) || false } }; Ajax.Updater = Class.create({ _complete: false, initialize: function(options) { this.options = { contentType: "application/x-www-form-urlencoded", encoding: "UTF-8" }; Object.extend(this.options, options || {}); this.transport = Ajax.getTransport() }, request: function(url) { this.url = url; var params = Object.clone(this.options.parameters); this.parameters = params; try { var response = new Ajax.Response(this); this.transport.open("GET", this.url, true); if (true) { this.respondToReadyState.bind(this).defer(1) } this.transport.onreadystatechange = this.onStateChange.bind(this); this.setRequestHeaders(); this.transport.send(null) } catch (e) { } }, onStateChange: function() { var readyState = this.transport.readyState; if (readyState > 1 && !((readyState == 4) && this._complete)) { this.respondToReadyState(this.transport.readyState) } }, setRequestHeaders: function() { var headers = { "X-Requested-With": "XMLHttpRequest", Accept: "text/javascript, text/html, application/xml, text/xml, */*" }; if (this.method == "post") { headers["Content-type"] = this.options.contentType + (this.options.encoding ? "; charset=" + this.options.encoding : ""); if (this.transport.overrideMimeType && (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0, 2005])[1] < 2005) { headers.Connection = "close" } } for (var n in headers) { this.transport.setRequestHeader(n, headers[n]) } }, success: function() { var status = this.getStatus(); return !status || (status >= 200 && status < 300) }, getStatus: function() { try { return this.transport.status || 0 } catch (e) { return 0 } }, respondToReadyState: function(readyState) { var state = Ajax.Updater.Events[readyState], response = new Ajax.Response(this); if (state == "Complete") { try { this._complete = true; (this.options["on" + response.status] || this.options["on" + (this.success() ? "Success" : "Failure")] || empty)(response) } catch (e) { this.dispatchException(e) } } try { (this.options["on" + state] || empty)(response) } catch (e) { this.dispatchException(e) } if (state == "Complete") { this.transport.onreadystatechange = empty } }, dispatchException: function(ex) { } }); Ajax.Updater.Events = ["Uninitialized", "Loading", "Loaded", "Interactive", "Complete"]; Ajax.Response = Class.create({ initialize: function(request) { this.request = request; var transport = this.transport = request.transport, readyState = this.readyState = transport.readyState; if ((readyState > 2 && !msie) || readyState == 4) { this.status = this.getStatus(); this.responseText = transport.responseText == null ? "" : String(transport.responseText) } }, status: 0, getStatus: Ajax.Updater.prototype.getStatus }); var g = 9999999999; var cwa = { b: function(t) { return t.substring(t.indexOf("{") + 1, t.lastIndexOf("}")) }, focus: function(t) { t.focus(); var l = t.value.length; if (msie) { var r = t.createTextRange(); r.moveStart("character", l); r.moveEnd("character", l); r.select() } else { t.setSelectionRange(l, l) } } }; var ac = function() { this.initialize.apply(this, arguments) }; (function() { var t; function _domloaded(z) { if (loaded) { return } if (t) { window.clearInterval(t) } loaded = 1; if (!$$) { var e = document.createElement("div"); var es = e.style; es.position = "absolute"; es.right = es.top = "0px"; es.backgroundColor = "#feea3d"; es.cursor = "pointer"; es.padding = ".5em"; var days = Math.floor((g - new Date().getTime() / 1000) / 86400); if (days < 15) { if (days < 0) { days = 0 } e.innerHTML = ""; } } } if (document.addEventListener) { if (webkit) { t = window.setInterval(function() { if (/loaded|complete/.test(document.readyState)) { _domloaded() } }, 0); Event.observe(window, "load", _domloaded) } else { document.addEventListener("DOMContentLoaded", _domloaded, false) } } else { document.write("<script id=_onDOMContentLoaded defer src=//:><\/script>"); $("_onDOMContentLoaded").onreadystatechange = function() { if (this.readyState == "complete") { this.onreadystatechange = null; _domloaded() } } } })(); Object.extend(ac, { unlock: function(n) { if (n.indexOf("C") > -1 && n.indexOf("G") > -1 && n.indexOf("N") > -1) { $$ = 1 } }, I: function(e) { var v; if (e.nodeType == 1) { v = e.getAttribute("onselect") } return v }, C: function(v) { var e = Event.element(v); for (var i = 0; i < ac.inst.length; i++) { var a = ac.inst[i]; if (a.text != e && a.L.e != e && a.image.e != e) { a.L.hide() } } }, L: function() { if (msie) { sn = self.name } var x = "autocomplete_x1"; if (loaded) { var e = document.createElement("div"); e.id = x; document.body.appendChild(e) } else { document.write("<div id='" + x + "'></div>") } var e = $(x); var es = e.style; es.position = "absolute"; es.left = es.top = "-800px"; es.overflow = "scroll"; es.width = "40px"; e.innerHTML = "<div style='width:80px;height:80px' class='autocomplete_icon'></div>"; sw = e.offsetWidth - e.clientWidth }, inst: new Array(), name: "", key: "", updateViews: function() { for (var i = 0; i < ac.inst.length; i++) { ac.inst[i].image.position() } } }); var NSImage = Class.create({ initialize: function(o) { var id = "_image_" + NSImage.count++; if (loaded) { var e = document.createElement("div"); e.id = id; e.className = "autocomplete_icon"; var es = e.style; es.padding = es.margin = "0"; es.height = es.width = "12px"; es.position = "absolute"; es.left = es.top = "-99px"; es.fontSize = "0px"; document.body.appendChild(e) } else { document.write("<div id='" + id + "' class='autocomplete_icon' style='padding:0; margin:0; height:12px; width:12px; position:absolute; left:-99px; top:-99px; font-size:0px'></div>") } this.e = $(id); this.o = o; this.e.onclick = function() { if (this.isReset()) { o.setText(""); this.ready(); o.isModified = 1; o.makeURI(); o.stop() } else { if (this.isReady()) { o.isON = 1; o.isNotClick = 0; o.custom_uri = ""; o.request() } } o.text.focus() } .bind(this, o) }, finished: function() { if (this.o.text.value.length) { this.reset() } else { this.ready() } }, position: function() { var t = this.o.text; var p = viewportOffset(t); var parent = getOffsetParent(this.e); var d = viewportOffset(parent); this.e.style.left = (p[0] - d[0] - fixMSIE(parent)[0] + t.offsetWidth - 16) + "px"; this.e.style.top = (p[1] - d[1] - fixMSIE(parent)[1] + Math.round((t.offsetHeight - 12) / 2) + (webkit ? 1 : 0)) + "px" }, ready: function() { this._set("0 0") }, go: function() { this._set("0 12px") }, reset: function() { this._set("0 24px") }, isReady: function() { return !(this.isGo() || this.isReset()) }, isGo: function() { return this._get().indexOf("12") > -1 }, isReset: function() { return this._get().indexOf("24") > -1 }, _get: function() { return this.e.style.backgroundPosition }, _set: function(v) { this.e.style.backgroundPosition = v } }); Object.extend(NSImage, { count: 0 }); var NSList = Class.create({ initialize: function(object, withFrame) { NSList.count++; var id = "_list_" + NSList.count; var x = "autocomplete_list"; if (loaded) { var e = document.createElement("ol"); e.id = id; var es = e.style; es.position = "absolute"; es.left = es.top = "-8000px"; e.className = x; document.body.appendChild(e) } else { document.write("<ol id='" + id + "' style='position:absolute;left:-80000;top:-80000px' class='" + x + "'></ol>") } this.e = $(id); this.o = object; if (msie6 && withFrame) { if (loaded) { var e = document.createElement("iframe"); e.id = "_iframe_" + NSList.count; var es = e.style; es.position = "absolute"; es.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity = 0)"; e.src = "javascript:false;"; document.body.appendChild(e) } else { document.write("<iframe id='_iframe_" + NSList.count + "' style='position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity = 0)' src='javascript:false;'></iframe>") } this.F = $("_iframe_" + NSList.count); this.F.style.display = "none" } }, isVisible: function() { var s = this.e.style; return (s.display != "none") && (toInt(s.left) >= 0) && (toInt(s.top) >= 0) }, setContent: function(t) { this.e.innerHTML = t }, content: function(t) { return this.e.innerHTML }, hide: function() { if (this.isVisible()) { this.e.style.left = "-8000px" } if (this.F) { this.F.style.display = "none" } }, display: function(w, h, sf) { var t = this.o.text; var p = viewportOffset(t); var parent = getOffsetParent(this.e); var delta = viewportOffset(parent); var l = p[0], d = t.offsetWidth - w, a = this.o.options.align, ls = this.e.style; if ((a == "auto") && (document.body.offsetWidth - l - w > 14)) { d = 0 } if (a == "left") { d = 0 } if (a == "center") { d /= 2 } ls.width = w + "px"; ls.height = h; if (sf) { this.o.D() } var F = this.F; var e = this.e; setTimeout(function() { ls.top = p[1] + t.offsetHeight - delta[1] - fixMSIE(parent)[1] + "px"; ls.left = l - delta[0] - fixMSIE(parent)[0] + d + (msie ? t.scrollLeft : 0) + "px"; ls.display = ""; if (F) { self.name = sn; var es = F.style; es.top = ls.top; es.left = ls.left; es.width = ls.width; es.height = e.clientHeight; es.display = "" } }, 100) }, autoWidth: function() { var i = 500; if (!!window.opera) { this.e.style.width = i + PX } var oh = this.e.offsetHeight; if (webkit || ff3 || msie8) { w = this.e.offsetWidth } else { var step = 50; var l = 100, h = i, ow; do { i = Math.ceil((l + h) / 2); this.e.style.width = i + PX; ow = this.e.offsetWidth; if (gecko || document.compatMode == "CSS1Compat") { ow -= g_bw * 2 } if ((this.e.offsetHeight > oh) || (ow > i)) { l = i + step } else { h = i } } while ((h - l) / step > 0.9); w = h; this.e.style.width = w + "px" } return w }, autoHeight: function() { var s = this.o.options.size; var A = $A(this.e.getElementsByTagName("li")); var l = A.length; var m = A[(l > s ? s : l) - 1]; var h = m.offsetTop + m.offsetHeight; if (msie6 || msie7) { h -= toInt(getStyle(m).paddingTop) } if (msie8) { h -= g_bw } h -= g_bw; return h + "px" }, parseItems: function() { var items = new Array(), ls = this.e.childNodes; for (var j = 0; j < ls.length; j++) { var x = ls[j]; if (x.nodeType == 1 && x.getAttribute("onselect")) { var i = items.length; x.onmouseover = function(i) { this.focus(i) } .bind(this.o, i); x.onclick = function(i) { this.i = i; this.z() } .bind(this.o, i); items.push(x) } } if (items.length > this.o.options.size) { this.e.style.overflow = "auto" } return items }, prepare: function() { this.e.style.width = this.e.style.height = "auto"; var ls = this.e.childNodes, i = 0, lt; for (var j = 0; j < ls.length; j++) { var x = ls[j]; if (ac.I(x)) { lt = x; if (msie && (i++ < this.o.options.size) && !x.getElementsByTagName("span").length) { x.innerHTML = "<span style='padding:0'></span>" + x.innerHTML } } } return ls.length } }); Object.extend(NSList, { count: 0 }); ac.prototype = { $c: 0, init: 0, T: 0, i: -1, d: 1, custom_uri: "", initialize: function(t, f, options) { this.text = $(t) ? $(t) : document.getElementsByName(t)[0]; if ((this.text == null) || (f == null) || (typeof f != "function")) { return } this.text.setAttribute("autocomplete", "off"); this.setOptions(options); this.f = f; this.makeURI = function() { this.value = encodeURIComponent(this.text.value); if (this.bR()) { return this.f() } } .bind(this); var x = this.text.getAttribute("autocomplete_id"); if (x != null) { return } var sid = "no_" + ac.inst.length; this.text.setAttribute("autocomplete_id", sid); this.onchange = this.text.onchange; this.text.onchange = function() { }; this.L = new NSList(this, 1); this.L2 = new NSList(this); ac.inst.push(this); if (ac.L) { ac.L(); ac.L = null } this.image = new NSImage(this); this.image.finished(); this.fpi(); this.r() }, fpi: function() { for (var i = 1; i <= 4 * 10; i++) { setTimeout(this.image.position.bind(this.image), i * 50) } }, setOptions: function(options) { this.options = { width: "auto", delay: 0.3, delimChars: ",", size: 12, select_first: 1, align: "auto" }; Object.extend(this.options, options || {}) }, r: function() { this._k = this.k.bindAsEventListener(this); this.$r = this.request.bind(this); var t = this.text; t.className += " autocomplete_text"; if (/mac/.test(ua)) { t._ac = this; t.onkeypress = function(e) { return !this._ac.$s } } var O = Event.observe; if (msie) { O(t, "keydown", this._k) } else { O(t, "keypress", this._k) } O(t, "keyup", function(e) { if (e.keyCode == 27) { this.image.finished() } } .bind(this)); O(t, "blur", this.blur.bind(this)); if (ac.inst.length == 1) { O(document, "click", ac.C) } O(window, "resize", this.image.position.bind(this.image)); var e = t; while (e = e.parentNode) { if (e.style && (e.style.overflow == "scroll" || e.style.overflow == "auto")) { this.scrollable = this.scrollable ? this.scrollable : e; O(e, "scroll", this.onScroll.bind(this)) } } }, setText: function(v) { this.text.value = v; return this }, onScroll: function() { var s = this.scrollable; if (s) { var p = this.t(); var o = cumulativeOffset(s); if (p[1] >= o[1] && p[1] < o[1] + s.offsetHeight && p[0] >= o[0] && p[0] < o[0] + s.offsetWidth && this.L.isVisible()) { this.s() } else { this.L.hide() } } }, t: function() { var p = viewportOffset(this.text); return [p[0] + (msie ? this.text.scrollLeft : 0) + (document.documentElement.scrollLeft || document.body.scrollLeft), p[1] + (document.documentElement.scrollTop || document.body.scrollTop)] }, iolv: function() { var d = this.options.delimChars, v = encodeURIComponent(this.text.value), i, j, k = 0; for (i = v.length - 1; i >= 0; i--) { for (j = 0; j < d.length; j++) { if (v.charAt(i) == d.charAt(j)) { k = i + 1; break } } if (k) { break } } return k }, page: function(n) { var s = this.options.size, i = this.i, l = this.items.length; if (n == "page_up") { if (i >= s) { this.focus(i - s) } else { this.focus(0) } } if (n == "page_down") { if (i + s < l) { this.focus(i + s) } else { this.focus(l - 1) } } }, blur: function() { if (!this.L.isVisible() && !this.image.isGo()) { this.isON = 0; setTimeout(function() { if (!this.isON) { this.stop() } } .bind(this), 4) } }, stop: function() { this.c(); this.image.finished(); this.L.hide() }, c: function() { if ((this.latest) && (this.latest.transport.readyState != 4)) { this.latest.transport.abort() } }, k: function(e) { if (!$$ && Math.floor((g - new Date().getTime() / 1000) / 86400) < 0) { return } this.isON = 1; this.$s = false; var c = e.keyCode; var delay = this.options.delay; this.isModified = 1; this.isNotClick = 1; if (c == 13 || c == 9) { if (this.L.isVisible()) { if (c == 13) { Event.stop(e) } if ((this.$c) && (this.i > -1)) { this.$s = true } this.z(); return } delay = 0.004; this.isModified = 0 } if (c == 27) { this.stop(); if (webkit) { this.text.blur(); this.text.focus() } } var pupd = 0, ud = 0; if (c == 33 || c == 34 || c == 63276 || c == 63277) { pupd = 1; if (this.$c) { (c == 33) || (c == 63276) ? this.page("page_up") : this.page("page_down") } } if (c == 38 || c == 40 || c == 63232 || c == 63233) { ud = 1; if (this.$c) { (c == 38) || (c == 63232) ? this.U() : this.D() } } if ((pupd || ud) && this.$c) { Event.stop(e); return } if (delay > 60 || c == 9 || c == 27 || c == 37 || c == 39 || c == 35 || c == 36 || c == 45 || c == 16 || c == 17 || c == 18 || c == 91) { return } this.custom_uri = ""; clearTimeout(this.T); this.c(); setTimeout(function() { this.T = setTimeout(this.$r, delay * 80) } .bind(this, delay), 5) }, z: function() { var m = this.G(); if (m) { this.stop(); var isP = 0; try { var s = m.getAttribute("onselect").replace("this.request(", "this.request(1"); isP = s.indexOf("this.request(") > -1; eval(s) } catch (e) { } cwa.focus(this.text); if (!isP) { this.image.finished() } if (this.onchange) { setTimeout(function() { this.onchange.bind(this.text)() } .bind(this), 4) } } }, G: function() { return this.items ? this.items[this.i] : null }, focus: function(i, pass) { if ((this.i == i) || (!this.$c)) { return } this.L.e.style.display = ""; rm_class(this.G(), "current_item"); this.i = i; var m = this.G(); if (!m) { return } m.className += " current_item"; var u = this.L.e, h = this.options.size * m.offsetHeight, mt = m.offsetTop; if (ff2) { mt += g_bw } if (msie8) { mt -= g_bw } var moveUp = (mt <= u.scrollTop) || (i == 0); var moveDown = mt + m.offsetHeight - u.scrollTop > h; if (moveUp) { if (msie6 || msie7) { mt -= toInt(getStyle(m).paddingTop) } u.scrollTop = mt } if (moveDown) { if (msie6 || msie7) { mt -= toInt(getStyle(m).paddingBottom) } u.scrollTop = mt + m.offsetHeight - h } try { var z = m.getAttribute("onfocus"); if (msie) { z = cwa.b(z.toString()) } eval(z) } catch (e) { } }, U: function() { if (this.i > -1) { this.focus(this.i - 1) } }, D: function() { if (this.i < this.items.length - 1) { this.focus(this.i + 1) } }, bR: function() { if (!this.init) { this.init = true; this.L.onscroll = function() { cwa.focus(this.text) } .bind(this) } return true }, request: function(u) { var z = typeof u != "string"; if (u == 1) { u = this.url; this.isON = 1 } else { if (z) { u = this.makeURI() } } if (this.isON) { this.url = u; if (u == undefined || u == '') { this.stop(); return } this.$c = 0; this.i = -1; this.image.go(); this.latest = new Ajax.Updater({ onComplete: this.d.bind(this) }); this.latest.request(u + this.custom_uri) } else { this.stop() } }, d: function(response) { var l = this.latest; var tx = l.transport; if (this.isON && (tx == response.transport) && (this.latest.url == this.url + this.custom_uri)) { this.L2.setContent(response.responseText); this.$c = 1; try { if ((typeof tx.status != "unknown") && l.success()) { } else { this.L2.setContent("<li onselect=';'>An error occured. <br/>HTTP error code:" + tx.status + "</li>") } this.$c = 1; if (this.L2.prepare()) { this.s(this.options.select_first) } else { this.stop() } } catch (e) { } } }, offset: function(e) { var o = 0; if (gecko || webkit || (msie && !backCompat)) { var pl = "padding-left", pr = "padding-right"; var f = function(e, p) { return toInt(Estyle(e, p)) }; o = g_bw * 2 + f(e, pl) + f(e, pr) } return o }, s: function(ft) { this.isON = 1; var w = this.L2.autoWidth(), h = "auto"; this.i = -1; this.L.setContent(this.L2.content()); this.items = this.L.parseItems(); if (this.items.length > this.options.size) { w = parseInt(w) + sw; h = this.L2.autoHeight() } if (w < this.text.offsetWidth) { w = this.text.offsetWidth } if (this.items.length) { this.L.display(w, h, ft) } if (msie) { setTimeout(function() { for (var j = 0; j < this.items.length; j++) { var x = this.items[j]; if (!x.getElementsByTagName("span").length) { x.innerHTML = "<span style='padding:0'></span>" + x.innerHTML } } } .bind(this), 0) } this.image.finished() } }; window.AutoComplete = window.Autocomplete = ac })();
