var YMAutoComplete=function(){var TIMEOUT=1000;var MIN_INPUTLENGTH=3;var Timer=null;var AUTOCOMPLETE_MAXSIZE=5;var WS="../../YMap/Poi/PoiJSService.aspx?limit="+AUTOCOMPLETE_MAXSIZE+"&Action=AutoComplete&NewSession=No";var LISTELEMENT_CLASSNAME="AutoCompleteLI";var LIST_CLASSNAME="AutoCompleteUL";var ADDITIONAL_OFFSET_TOP=14;function HandleAjaxCallback(Response,DOMinputField,DOMListElement){if(!Response||typeof Response!=="string"){return false}var ULObj=BuildListFromWebserviceResponse(Response,DOMinputField,DOMListElement);if(ULObj){if(DOMListElement.firstChild){DOMListElement.removeChild(DOMListElement.firstChild)}if(DOMinputField.offsetTop&&DOMinputField.offsetTop>ADDITIONAL_OFFSET_TOP){window.scrollTo(0,DOMinputField.offsetTop-ADDITIONAL_OFFSET_TOP)}DOMListElement.appendChild(ULObj);DOMListElement.className+=" Shown"}}function BuildListFromWebserviceResponse(Response,DOMinputField,DOMListElement){var ResponseArray=null;var ULElement=document.createElement("ul");ULElement.className=LIST_CLASSNAME;try{ResponseArray=eval(Response.substring(1,Response.length));for(var i=0;i<ResponseArray.length;i++){var Element=document.createElement("li");Element.className=LISTELEMENT_CLASSNAME;Element.innerHTML=ResponseArray[i];YMAutoComplete.AttachEvent(Element,"click",function(e){var elem=e.target||e.srcElement;DOMinputField.value=elem.innerHTML;DOMListElement.className=DOMListElement.className.replace(" Shown","")});ULElement.appendChild(Element)}var CloseElement=document.createElement("li");CloseElement.className=LISTELEMENT_CLASSNAME+" CloseElement";CloseElement.innerHTML="Schlie&szlig;en";YMAutoComplete.AttachEvent(CloseElement,"click",function(){DOMListElement.className=DOMListElement.className.replace(" Shown","")});ULElement.appendChild(CloseElement)}catch(exc){return null}return ULElement}return{AutoComplete:function(DOMinputField,DOMListElement,Type){return false;if(!DOMinputField||typeof DOMinputField!=="string"||!DOMListElement||typeof DOMListElement!=="string"){return false}else{DOMinputField=document.getElementById(DOMinputField);DOMListElement=document.getElementById(DOMListElement);if(!DOMinputField||!DOMListElement){return false}}DOMinputField.hasFocus=false;DOMinputField.onfocus=function(){this.hasFocus=true};DOMinputField.onblur=function(){this.hasFocus=false};YMAutoComplete.AttachEvent(DOMinputField,"keyup",function(e){var InputValue=DOMinputField.value;if(InputValue.length>=MIN_INPUTLENGTH){var Params="&FieldText=";Params+=InputValue;Params+="&FieldName=";Params+=Type;clearTimeout(Timer);Timer=setTimeout(function(){if(DOMinputField.hasFocus){YMAutoComplete.AjaxRequest(WS+Params,function(Response){HandleAjaxCallback(Response,DOMinputField,DOMListElement)})}},TIMEOUT)}})},AttachEvent:function(element,eventType,functionRef){if(typeof element.addEventListener!=="undefined"){element.addEventListener(eventType,functionRef,false)}else{element.attachEvent("on"+eventType,functionRef)}},AjaxRequest:function(url,callback){var RequestObj=null;if(window.XMLHttpRequest){try{RequestObj=new XMLHttpRequest()}catch(exc){}}else{if(window.ActiveXObject){try{RequestObj=new ActiveXObject("Msxml2.XMLHTTP")}catch(exc2){try{RequestObj=new ActiveXObject("Microsoft.XMLHTTP")}catch(exc3){}}}}if(RequestObj){RequestObj.onreadystatechange=function(){var Done=4,Ok=200;if(RequestObj.readyState===Done&&RequestObj.status===Ok){if(RequestObj.responseText&&typeof callback==="function"){callback(RequestObj.responseText)}}};RequestObj.open("GET",url,true);RequestObj.send(null)}}}}();
