﻿var lastLiId="";var SUGG_HANDLER="SuggestHandler.ashx?q=";var lastKey="";function misOnKeyPress(ev){var keynum=0;if(window.event){keynum=ev.keyCode}else if(ev.which){keynum=ev.charCode}if(keynum!=0){window.setTimeout(updateSuggestionsList,100)}return true}function closeSuggestionsBox(){var sg=document.getElementById("sugg2");sg.innerHTML='';lastKey=""}function updateSuggestionsList(){var qq=document.getElementById("qinputbox");var sg=document.getElementById("sugg2");if(qq==null||sg==null){alert("updateSuggestionsList() cannot find required elements, qq, sg = "+qq+" "+sg);return}var key=qq.value;if(key==lastKey){return}lastKey=key;if(key.length<2){closeSuggestionsBox();return}var parent=qq.offsetParent;var wid=(qq.offsetWidth-2)+"px";var left=(qq.offsetLeft+parent.offsetLeft)+"px";var top=(qq.offsetTop+qq.offsetHeight+parent.offsetTop-2)+"px";sg.style.width=wid;sg.style.left=left;sg.style.top=top;var str=key;if(str.length==0){sg.innerHTML="";return}xmlHttp=GetXmlHttpObject();if(xmlHttp==null){alert("Your browser does not support AJAX!");return}var url="http://www.tybit.com/suggestions_helperajax.php?q=";url=url+str;xmlHttp.onreadystatechange=stateChanged;xmlHttp.open("GET",url,true);xmlHttp.send(null);lastLiId=""}function liActivate(el){if(lastLiId!=''){var lil=document.getElementById(lastLiId);if(lil!=null){liDeActivate(lil)}}el.active=true;el.style.background="#3366cc";el.style.color="white";lastLiId=el.id}function liDeActivate(el){el.active=true;el.style.background="white";el.style.color="black";lastLiId=""}function myclick(el){var key='';var qq=document.getElementById("qinputbox");if(el!=null){key=el.innerHTML}else{key=qq.value}key=key.replace("/ /g","+");closeSuggestionsBox();qq.value=key;document.search_form.submit()}function getSuggList(){var ul=document.getElementById("sugg_ul");if(ul==null){return null}var ilList=new Array();var iil=0;for(i=0;i<ul.childNodes.length;i++){var el=ul.childNodes[i];if(el.nodeName=="LI"){ilList[iil++]=el}else{}}return ilList}function inpKeyDown(ev){var debug=false;var key=(ev==null?13:ev.keyCode);var qq=document.getElementById("qinputbox");if(key==8){window.setTimeout(updateSuggestionsList,100);return true}else if(key==27){var sugul=document.getElementById("sugg_ul");closeSuggestionsBox();if(sugul!=null){return false}else{return true}}else if(key==13||key==40||key==38){var ill=getSuggList();if(ill==null){if(key==13){myclick(null);return false}if(debug)alert("inpKeyDown(ev), Il List empty, key = "+key+"  returnming true");return true}if(lastLiId==""&&ev.keyCode==40){liActivate(ill[0]);qq.value=ill[0].innerHTML;if(debug)alert("inpKeyDown(ev), empty list, keycode 40 (Down)"+"  returnming true");return false}else{var i=0;for(;i<ill.length;i++){if(ill[i].id==lastLiId){break}}if(i>=ill.length){if(key==13){myclick(null);if(debug)alert("inpKeyDown(ev), no list element found, key=13, ret true");return false}if(debug)alert("inpKeyDown(ev), no list element found, ret true");return true}var cur=ill[i];if(key==40){if(i<ill.length-1){liActivate(ill[i+1]);qq.value=ill[i+1].innerHTML;if(debug)alert("inpKeyDown(ev), Down, ret false");return false}}else if(key==38){if(i>0){liActivate(ill[i-1]);qq.value=ill[i-1].innerHTML;if(debug)alert("inpKeyDown(ev), Up, ret false");return false}}else if(key==13){myclick(ill[i]);if(debug)alert("inpKeyDown(ev), Enter, ret false");return false}else{alert("*** Non arrow key, Error")}}}else{}return true}function misKeyDown(){alert("misKeyDown() called")}function liKeyDown(elem,ev){alert("liKeyDown() called, elem.id,ev.keyCode = "+elem.id+" "+ev.keyCode)}function delayCloseSuggestionsBox(){window.setTimeout('closeSuggestionsBox()',500)}function stateChanged(){if(xmlHttp.readyState==4){var sg=document.getElementById("sugg2");sg.style.visibility="visible";var filter=xmlHttp.responseText;if(filter=="&apos"){sg.innerHTML="no text"}sg.innerHTML=xmlHttp.responseText}}function stateChanged2(){if(xmlHttp.readyState==4){document.getElementById("sugg2").innerHTML=xmlHttp.responseText}}function GetXmlHttpObject(){var xmlHttp=null;try{xmlHttp=new XMLHttpRequest()}catch(e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")}}return xmlHttp}