var keydownpress = false; var keyuppress = false; var pointer = null; var searchingText; var loadingContent; var itemBg = '#FFF6D5'; Array.prototype.contains = function(key) { for (var i = 0; i < this.length; i++) { if (this[i] == key) return true; } return false; }; String.prototype.trim = function () { return this.replace(/^\s*/, '').replace(/\s*$/, ''); }; function isIllegalKey(key) { var illegalKeys = new Array(33,34,37,39); return (illegalKeys.contains(key)) ? true : false; } function detectKey(e,input) { var keynum; keynum = (window.event) ? e.keyCode : e.which; if (isIllegalKey(keynum)) return; keydownpress = (keynum == 40) ? true : false; keyuppress = (keynum == 38) ? true : false; if (keynum == 13) { if (resultContainsOneRow()) pointer = $('#searchresult ul li:first')[0]; if (pointer == null) return; handleLi(pointer); return; } if (!(keydownpress || keyuppress)) pointer = null; if ((keydownpress || keyuppress) && ($('#searchresult').html() != '')) setActive(); else { if ($(input).val().length > 0) checkPattern($(input).val()); else { $('#searchresult').hide(); pointer = null; } } } function resultContainsOneRow() { return ($('#searchresult ul li').size() == 2) ? true : false; } function setActive() { if (pointer == null) { if (keydownpress) li = $('#searchresult ul li:first'); else if (keyuppress) li = $('#searchresult ul li:last'); $(li).css('background-color',itemBg); pointer = $(li)[0]; } else { var size = $('#searchresult ul li').size(); $('#searchresult ul li').each(function(i){ if ($(this)[0] == pointer) { setNonActive($(this)); if ((keydownpress) && (i < size-1)){ $(this).next().css('background-color',itemBg); pointer = $(this).next()[0]; } if ((keydownpress) && (i == size-1)){ $('#searchresult ul li:first').css('background-color',itemBg); pointer = $('#searchresult ul li:first')[0]; } if ((keyuppress) && (i == 0)){ $('#searchresult ul li:last').css('background-color',itemBg); pointer = $('#searchresult ul li:last')[0]; } if ((keyuppress) && (i > 0)){ $(this).prev().css('background-color',itemBg); pointer = $(this).prev()[0]; } return false; } }); } setWindowStatus(pointer); } function setNonActive(li) { $(li).css('background-color','white'); } function callbackPatternCheck(data) { if ($('.header .search input').val() == '') return; $('#searchresult')[0].innerHTML = data; if (data.indexOf('