var rracarray,rrac_lastpart;var rr_autocomplete=function(e,rracself,rraclimit,ajax_script_name,ajax_param_name){var isArray=function(obj){return(typeof(obj.length)=="undefined")?false:true};var alertClient=function(http_request){if(http_request.readyState==4){if(http_request.status==200){var tmp=eval(http_request.responseText);if(isArray(tmp)){rracarray=tmp}action()}}};var makeRequest=function(url){var http_request=false;if(window.XMLHttpRequest){http_request=new XMLHttpRequest();if(http_request.overrideMimeType){http_request.overrideMimeType("text/xml")}}else{if(window.ActiveXObject){try{http_request=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{http_request=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}}}http_request.onreadystatechange=function(){alertClient(http_request)};http_request.open("POST",url,true);http_request.send(null)};var refresh_acarray=function(){if(ajax_script_name){var i,p_val,params=new Object();if(!ajax_param_name||isArray(ajax_param_name)){if(ajax_param_name){if(!/\?/.test(ajax_script_name)){ajax_script_name+="?"}ajax_param_name=[ajax_param_name]}else{ajax_param_name=new Array()}}for(var i in ajax_param_name){if(p_val=rracself.getAttribute(ajax_param_name[i])){params[ajax_param_name[i]]=p_val}}params.p=rracself.value;for(i in params){ajax_script_name+="&"+i+"="+params[i]}makeRequest(ajax_script_name);rrac_lastpart=rracself.value}};var getBounds=function(p){var rect=p.getBoundingClientRect();return{top:rect.top,right:rect.right,bottom:rect.bottom,left:rect.left,width:p.offsetWidth,height:p.offsetHeight}};var getKeynum=function(){if(window.event){return window.event.keyCode}else{if(ev.keyCode){return ev.keyCode}else{if(ev.which){return ev.which}}}};var keyController=function(keynum){if(keynum==13){rracself.value=tt_select.value;tt_div.style.display="none";return false}if(keynum==27){tt_div.style.display="none";if(window.event){window.event.cancelBubble=true}else{if(e.which){e.stopPropagation()}}return false}if(keynum==38){if(tt_select.length==0){return false}if(tt_select.selectedIndex<=0){tt_select.selectedIndex=tt_select.length-1}else{--tt_select.selectedIndex}return false}if(keynum==40){if(tt_select.length==0){return false}if(tt_select.selectedIndex>=tt_select.length-1){tt_select.selectedIndex=0}else{++tt_select.selectedIndex}return false}if((keynum>=65&&keynum<=90)||keynum==8||keynum==32||keynum==46||keynum==109){return true}else{return false}};var getTooltip=function(){if(!document.getElementById("rractt")){var select=document.createElement("select");select.style.height="100px";select.style.width="250px";select.id="rracselect";select.setAttribute("multiple","true");var div=document.createElement("div");div.style.display="none";div.style.position="absolute";div.style.zIndex="10";div.id="rractt";div.appendChild(select);document.body.appendChild(div);return div}else{return document.getElementById("rractt")}};var showDropDown=function(p){tt_div.style.display="block";var mc=getBounds(p);tt_div.style.top=document.documentElement.scrollTop+mc.bottom+"px";tt_div.style.left=mc.left+"px";tt_select.onclick=function(){var me=this;setTimeout(function(){p.value=me.value},100);return false};tt_select.onblur = function(){var me=this;setTimeout(function(){p.value=me.value},100);return false;};if(typeof(document.addEventListener)=="undefined"){document.attachEvent("onclick",function(){tt_div.style.display="none"})}else{document.addEventListener("click",function(){tt_div.style.display="none"},true)}};var tt_div,tt_select,ev=e,keynum=getKeynum();var action=function(){tt_div=getTooltip();tt_select=document.getElementById("rracselect");if(!keyController(keynum)||rracself.value==""){return false}var r=RegExp("^"+rracself.value.toLowerCase()),cnt=0,compl=new Array(),i;for(i=0;i<rracarray.length;++i){if(r.test(rracarray[i].toLowerCase())){++cnt;compl[compl.length]=rracarray[i]}if(cnt>rraclimit-1){break}}if(cnt==0){tt_div.style.display="none";return false}tt_select.length=0;for(i=0;i<compl.length;++i){tt_select.options[tt_select.length]=new Option(compl[i],compl[i],false,null)}showDropDown(rracself)};if(rracself.value.length==2&&rrac_lastpart!=rracself.value){refresh_acarray()}else{action()}};function rr_autocomplete_init(g,c,b,f){var a=document.getElementsByTagName("input");var d;if(g){rracarray=g}else{rracarray=[]}if(c){d=c}else{d=10}for(var e=0;e<a.length;++e){if(a[e].className.match(/rracinput/gi)){a[e].onkeyup=function(i){var h=this;rr_autocomplete(i,h,d,(b?b:null),(f?f:null))};a[e].setAttribute("autocomplete","off")}}};
