var u=60, I=""; var gInputQuery = null, gBtnSearch = null; var gInputQueryFocused = false, gInputQueryBlured = false, gInputQueryValue = null, gInputQueryKeycode = "";
var gKeyword = "", gKeywordPre = "", gKeywordToDisplayCompStrings = ""; var gCompDiv = null, gCompIFrame = null; var gCompDivBorderLeftWidth = 1, gCompDivBorderTopWidth = 1;
var gCompleteStrings = {};
var gNotResponsedResquestNum = 0; var gTimerHideCompDiv = null; var gDivTagName = "div"; var gSpanTagName = "span";
var gCompStringDivNum = 5; var gCompStringDivNumber = -1; var gCompStringDivs = null; var gSelectedCompStringDiv = null, gSelectedCompStringDivIndex = -1;
var gSelectionValue = null, gSelectionStart = null, gSelectionLength = null; var gMousePositionX = -1, gMousePositionY = -1;
function inputQueryTemporaryBlur() { gInputQueryBlured = true; gInputQuery.blur(); setTimeout("inputQueryFocus();", 10*gTimeFactor) }
function gb() { if (document.createEventObject) { var a = document.createEventObject(); a.ctrlKey = true; a.keyCode = 70; document.fireEvent("onkeypress", a) } }
function documentOnkeydown(keydownEvent) { if (!keydownEvent && window.event) keydownEvent = window.event; if (keydownEvent) gDocumentKeycode = keydownEvent.keyCode; if (keydownEvent && keydownEvent.keyCode == 8) { // } }
function windowOnresize() { setCompDivPosition() }
function trimStr(str) { for (var i = 0, trimedStr = "", crlf = "\n\r"; i < str.length; i++) if (crlf.indexOf(str.charAt(i)) == - 1) trimedStr += str.charAt(i); else trimedStr += " "; return trimedStr }
function separateCompStringDiv(compStringDiv, styleClassName) { var compStringSpan = compStringDiv.getElementsByTagName(gSpanTagName); if (compStringSpan) { for (var i = 0; i < compStringSpan.length; ++i) { if (compStringSpan[i].className == styleClassName) { var f = compStringSpan[i].innerHTML; if (f == " ") return ""; else { var str = trimStr(f); return str } } } } else { return "" } }
function separateCompStringDivC(compStringDiv) { if (!compStringDiv) return null; return separateCompStringDiv(compStringDiv, "cAutoComplete") }
function separateCompStringDivD(compStringDiv) { if (!compStringDiv) return null; return separateCompStringDiv(compStringDiv, "dAutoComplete") }
var compStringDivOnmousemove = function() { if (window.event) { var x = window.event.x, y = window.event.y; if (x == gMousePositionX && y == gMousePositionY) { return } gMousePositionX = x; gMousePositionY = y } if (gSelectedCompStringDiv) setStyle(gSelectedCompStringDiv, "aAutoComplete"); setStyle(this, "bAutoComplete"); gSelectedCompStringDiv = this; for (var i = 0; i < gCompStringDivNumber; i++) { if (gCompStringDivs[i] == gSelectedCompStringDiv) { gSelectedCompStringDivIndex = i; break } } }
var compStringDivOnmouseout = function() { setStyle(this, "aAutoComplete") };
function hilightCompStringDiv(compStringDivIndex) { gKeyword = I; setInputQueryValue(I);
var a = 110, b = adjustOffsetWidth(), c = (b - a) / b * 100; u = c
}
function fillCompDiv(completeDiv, completeStrings, displayStrings) { while (completeDiv.childNodes.length > 0) completeDiv.removeChild(completeDiv.childNodes[0]); for (var e = 0; e < completeStrings.length; ++e) { var f = document.createElement("DIV"); setStyle(f, "aAutoComplete"); f.onmousedown = compStringDivOnmousedown; f.onmousemove = compStringDivOnmousemove; f.onmouseout = compStringDivOnmouseout; var i = document.createElement("SPAN"); setStyle(i, "lAutoComplete");
i.style.height = gInputQuery.offsetHeight ;
var h = document.createElement("SPAN"); h.innerHTML = completeStrings[e]; var l = document.createElement("SPAN"); setStyle(l, "dAutoComplete"); setStyle(h, "cAutoComplete"); f.displaySpan = l; l.innerHTML = displayStrings[e]; i.appendChild(h); i.appendChild(l); f.appendChild(i); completeDiv.appendChild(f) } }
function setInputQueryValue(value) { gInputQuery.value = value; gInputQueryValue = value; }
function selectionNotChanged() { var value= gInputQuery.value, start = selectionStart(gInputQuery), length = selectionLength(gInputQuery); return length == gSelectionStart && c == gSelectionLength && value == gSelectionValue }