function loadJSON(url) { var headID = document.getElementsByTagName("head")[0]; var newScript = document.createElement('script'); newScript.type = 'text/javascript'; newScript.src = url; headID.appendChild(newScript); _suggest_wordposition = -1; _suggest_hlbefore = ''; } var _suggest_suggestlength = 0; var _suggest_entersearch = false; var _suggest_force_wordposition = -1; var _suggest_count = 0; function processJSONSuggest(sresult, servercount){ var htmlresult = ""; var searchword = document.getElementById('searchword').value; if (sresult.length > 0 && (!servercount || servercount == -1 || servercount == _suggest_count)) { htmlresult = ""; _suggest_suggestlength = sresult.length; //alert(_suggest_suggestlength); for(i=0; i" + d + "\n"; } } } document.getElementById('_suggest_disp').innerHTML = htmlresult; if (document.getElementById('_suggest_disp').innerHTML != "") { document.getElementById('_suggest_disp').style.visibility="visible"; } else { document.getElementById('_suggest_disp').style.visibility="hidden"; } if (_suggest_force_wordposition != -1) { _suggest_wordposition = _suggest_force_wordposition; _suggest_force_wordposition = -1; var hl = document.getElementById('_sg'+_suggest_wordposition); _suggest_L4(hl); _suggest_hlbefore = hl; }; /* if(!_suggest_entersearch) { document.getElementById('_suggest_disp').style.visibility="visible"; } else{ document.getElementById('_suggest_disp').style.visibility="hidden"; _suggest_entersearch = false; } */ if(_suggest_entersearch) { document.getElementById('_suggest_disp').style.visibility="hidden"; //document.getElementById('exampleselect').style.visibility="visible"; _suggest_entersearch = false; } } function clearSuggestDiv() { document.getElementById('_suggest_disp').innerHTML= ""; document.getElementById('_suggest_disp').style.visibility="hidden"; //document.getElementById('exampleselect').style.visibility="visible"; } function _suggest_L2(x) { //x.style.cssText = ''; x.style.backgroundColor = '#ffffff'; x.style.color = '#000000'; } function _suggest_L4(x) { if(x==null) return false; //x.style.cssText = 'color:red;background-color:#bdffbd;border:0px solid blue;'; x.style.backgroundColor = '#EDF5FA'; x.style.color = '#494949'; _suggest_wordposition = parseInt(x.id.substr(3)); if(_suggest_hlbefore!='') _suggest_L2(_suggest_hlbefore); _suggest_hlbefore = x; } function dosuggestClicked(checked) { if (checked) { _suggest_load(document.getElementById("searchword").value); } else { clearSuggestDiv(); } } function suggest_navigation_keys_check(e) { var keycode; if (window.event) { keycode = window.event.keyCode; // IE } else if (e) keycode = e.which; //Firefox if(document.getElementById('_suggest_disp').style.visibility!="hidden"){ switch(keycode) { case 40: //down arrow if(_suggest_wordposition<_suggest_suggestlength-1) { _suggest_wordposition++; } else { _suggest_wordposition = 0; //_suggest_hlbefore = ''; } if(_suggest_hlbefore!='') _suggest_L2(_suggest_hlbefore); var hl = document.getElementById('_sg'+_suggest_wordposition); _suggest_L4(hl); _suggest_hlbefore = hl; break; case 37: //left arrow break; case 39: //right arrow break; case 38: //up arrow if(_suggest_wordposition>0) { _suggest_wordposition--; } else { _suggest_wordposition = _suggest_suggestlength-1; } if(_suggest_hlbefore!='') _suggest_L2(_suggest_hlbefore); var hl = document.getElementById('_sg'+_suggest_wordposition); _suggest_L4(hl); _suggest_hlbefore = hl; break; /* case 32://spacebar var hl = document.getElementById('_sg'+_suggest_wordposition); document.getElementById('searchword').value = getInnerWord(hl); document.getElementById('_suggest_disp').style.visibility="hidden"; */ break; case 13://enter if (_suggest_timer) { clearTimeout(_suggest_timer); } document.getElementById('_suggest_disp').style.visibility="hidden"; //document.getElementById('exampleselect').style.visibility="visible"; var hl = document.getElementById('_sg'+_suggest_wordposition); //document.getElementById('searchword').value = getInnerWord(hl); if (hl) { document.getElementById('searchword').value = hl.title; _suggest_entersearch = true; hl.onclick(); //doSearch(''); // form's onsubmit will do that } break; case 27://esc document.getElementById('_suggest_disp').style.visibility="hidden"; //document.getElementById('exampleselect').style.visibility="visible"; break; //default :alert(keycode); default : //return false; // no navigation keys return true; // nativation keys } //return true; // nativation keys } else { if(keycode == 40) { // force suggest _suggest_old_headword = ""; _suggest_force_wordposition = 0; } } } var _suggest_timer = 0; var _suggest_old_headword = ""; function _suggest_load() { var str = document.getElementById('searchword').value; //alert(str + ", old = " + _suggest_old_headword); if ( str != _suggest_old_headword ) { _suggest_old_headword = str; str = str.replace(new RegExp(/'/g),"'"); str = encodeURIComponent(str); if (_suggest_timer) { clearTimeout(_suggest_timer); } _suggest_timer = setTimeout("_suggest_doLoad('"+str+"')", 300); } } var _suggest_wordposition = -1; var _suggest_hlbefore = ''; var count = 1; function _suggest_doLoad(str) { if(!str || str.length < 3 || ! document.getElementById('dosuggest').checked ) { document.getElementById('_suggest_disp').innerHTML=""; document.getElementById('_suggest_disp').style.visibility="hidden"; //document.getElementById('exampleselect').style.visibility="visible"; return; } _suggest_count++; loadJSON('suggestword?key='+str+'&count='+count); count++; } function setSuggestDivPosition () { document.getElementById('_suggest_disp').style.top = document.getElementById('searchword').style.top; }