(function(window,document){if(!document.querySelector)return;var inputField=document.querySelector('input[name="ulice"]');if(!inputField||inputField.type==="hidden")return;var styles=".address-autocomplete-suggestions{font-size:13px;text-align:left;cursor:default;border:1px solid #ccc;border-top:0;background:#fff;box-shadow:-1px 1px 3px rgba(0,0,0,.1);position:absolute;display:none;z-index:9999;max-height:254px;overflow:hidden;overflow-y:auto;box-sizing:border-box}.address-autocomplete-suggestion{position:relative;padding:1em .6em 1em .6em;line-height:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.02em;color:#333}.address-autocomplete-suggestion b{font-weight:400;color:#1f8dd6}.address-autocomplete-suggestion.selected{background:#f0f0f0}";var head=document.getElementsByTagName("head")[0];var s=document.createElement("style");s.setAttribute("type","text/css");if(s.styleSheet){s.styleSheet.cssText=styles}else{s.appendChild(document.createTextNode(styles))}head.appendChild(s);var location;if("geolocation"in navigator){navigator.geolocation.getCurrentPosition(function(position){location=position.coords})}function autoComplete(options){function hasClass(el,className){return el.classList?el.classList.contains(className):new RegExp("\\b"+className+"\\b").test(el.className)}function addEvent(el,type,handler){if(el.attachEvent)el.attachEvent("on"+type,handler);else el.addEventListener(type,handler)}function removeEvent(el,type,handler){if(el.detachEvent)el.detachEvent("on"+type,handler);else el.removeEventListener(type,handler)}function live(elClass,event,cb,context){addEvent(context||document,event,function(e){var found,el=e.target||e.srcElement;while(el&&!(found=hasClass(el,elClass)))el=el.parentElement;if(found)cb.call(el,e)})}var o={selector:0,source:0,minChars:3,delay:150,offsetLeft:0,offsetTop:1,cache:1,menuClass:"",renderItem:function(item,search){search=search.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");var re=new RegExp("("+search.split(" ").join("|")+")","gi");return'<div class="address-autocomplete-suggestion" data-val="'+item+'">'+item.replace(re,"<b>$1</b>")+"</div>"},onSelect:function(e,term,item){}};for(var k in options){if(options.hasOwnProperty(k))o[k]=options[k]}var elems=typeof o.selector=="object"?[o.selector]:document.querySelectorAll(o.selector);for(var i=0;i<elems.length;i++){var that=elems[i];that.sc=document.createElement("div");that.sc.className="address-autocomplete-suggestions "+o.menuClass;that.autocompleteAttr=that.getAttribute("autocomplete");that.setAttribute("autocomplete","off");that.cache={};that.last_val="";that.updateSC=function(resize,next){var rect=that.getBoundingClientRect();that.sc.style.left=Math.round(rect.left+(window.pageXOffset||document.documentElement.scrollLeft)+o.offsetLeft)+"px";that.sc.style.top=Math.round(rect.bottom+(window.pageYOffset||document.documentElement.scrollTop)+o.offsetTop)+"px";that.sc.style.width=Math.round(rect.right-rect.left)+"px";if(!resize){that.sc.style.display="block";if(!that.sc.maxHeight){that.sc.maxHeight=parseInt((window.getComputedStyle?getComputedStyle(that.sc,null):that.sc.currentStyle).maxHeight)}if(!that.sc.suggestionHeight)that.sc.suggestionHeight=that.sc.querySelector(".address-autocomplete-suggestion").offsetHeight;if(that.sc.suggestionHeight)if(!next)that.sc.scrollTop=0;else{var scrTop=that.sc.scrollTop,selTop=next.getBoundingClientRect().top-that.sc.getBoundingClientRect().top;if(selTop+that.sc.suggestionHeight-that.sc.maxHeight>0)that.sc.scrollTop=selTop+that.sc.suggestionHeight+scrTop-that.sc.maxHeight;else if(selTop<0)that.sc.scrollTop=selTop+scrTop}}};addEvent(window,"resize",that.updateSC);document.body.appendChild(that.sc);live("address-autocomplete-suggestion","mouseleave",function(e){var sel=that.sc.querySelector(".address-autocomplete-suggestion.selected");if(sel)setTimeout(function(){sel.className=sel.className.replace("selected","")},20)},that.sc);live("address-autocomplete-suggestion","mouseover",function(e){var sel=that.sc.querySelector(".address-autocomplete-suggestion.selected");if(sel)sel.className=sel.className.replace("selected","");this.className+=" selected"},that.sc);live("address-autocomplete-suggestion","mousedown",function(e){if(hasClass(this,"address-autocomplete-suggestion")){var v=this.getAttribute("data-val");that.value=v;o.onSelect(e,v,this);that.sc.style.display="none"}},that.sc);that.blurHandler=function(){try{var over_sb=document.querySelector(".address-autocomplete-suggestions:hover")}catch(e){var over_sb=0}if(!over_sb){that.last_val=that.value;that.sc.style.display="none";setTimeout(function(){that.sc.style.display="none"},350)}else if(that!==document.activeElement)setTimeout(function(){that.focus()},20)};addEvent(that,"blur",that.blurHandler);var suggest=function(data){var val=that.value;that.cache[val]=data;if(data.length&&val.length>=o.minChars){var s="";for(var i=0;i<data.length;i++)s+=o.renderItem(data[i],val);that.sc.innerHTML=s;that.updateSC(0)}else that.sc.style.display="none"};that.keydownHandler=function(e){var key=window.event?e.keyCode:e.which;if((key==40||key==38)&&that.sc.innerHTML){var next,sel=that.sc.querySelector(".address-autocomplete-suggestion.selected");if(!sel){next=key==40?that.sc.querySelector(".address-autocomplete-suggestion"):that.sc.childNodes[that.sc.childNodes.length-1];next.className+=" selected";that.value=next.getAttribute("data-val")}else{next=key==40?sel.nextSibling:sel.previousSibling;if(next){sel.className=sel.className.replace("selected","");next.className+=" selected";that.value=next.getAttribute("data-val")}else{sel.className=sel.className.replace("selected","");that.value=that.last_val;next=0}}that.updateSC(0,next);return false}else if(key==27){that.value=that.last_val;that.sc.style.display="none"}else if(key==13||key==9){var sel=that.sc.querySelector(".address-autocomplete-suggestion.selected");if(sel&&that.sc.style.display!="none"){o.onSelect(e,sel.getAttribute("data-val"),sel);setTimeout(function(){that.sc.style.display="none"},20)}}if(key===13){e.preventDefault()}};addEvent(that,"keydown",that.keydownHandler);that.keyupHandler=function(e){var key=window.event?e.keyCode:e.which;if(!key||(key<35||key>40)&&key!=13&&key!=27){var val=that.value;if(val.length>=o.minChars){if(val!=that.last_val){that.last_val=val;clearTimeout(that.timer);if(o.cache){if(val in that.cache){suggest(that.cache[val]);return}}that.timer=setTimeout(function(){o.source(val,suggest)},o.delay)}}else{that.last_val=val;that.sc.style.display="none"}}};addEvent(that,"keyup",that.keyupHandler);that.focusHandler=function(e){that.last_val="\n";that.keyupHandler(e)};if(!o.minChars)addEvent(that,"focus",that.focusHandler)}this.destroy=function(){for(var i=0;i<elems.length;i++){var that=elems[i];removeEvent(window,"resize",that.updateSC);removeEvent(that,"blur",that.blurHandler);removeEvent(that,"focus",that.focusHandler);removeEvent(that,"keydown",that.keydownHandler);removeEvent(that,"keyup",that.keyupHandler);if(that.autocompleteAttr)that.setAttribute("autocomplete",that.autocompleteAttr);else that.removeAttribute("autocomplete");document.body.removeChild(that.sc);that=null}}}var xhr;autoComplete({selector:inputField,renderItem:function(item,search){search=search.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");var re=new RegExp("("+search.split(" ").join("|")+")","gi");return'<div class="address-autocomplete-suggestion" data-city="'+item.city+'" data-street="'+item.street+'" data-country="'+item.country+'" data-zip="'+item.zip+'">'+item.label.replace(re,"<b>$1</b>")+"</div>"},onSelect:function(e,term,item){var obj=document.querySelector('input[name="ulice"]');if(obj){obj.value=item.getAttribute("data-street")}obj=document.querySelector('input[name="mesto"]');if(obj){obj.value=item.getAttribute("data-city")}obj=document.querySelector('input[name="psc"]');if(obj){obj.value=item.getAttribute("data-zip")}obj=document.querySelector('select[name="stat"]');if(obj){obj.value=item.getAttribute("data-country")}},source:function(term,response){if(xhr&&xhr.abort){try{xhr.abort()}catch(e){}}var geoElement=document.getElementById("geo_ip_location");var country;if(document.querySelector('input[name="stat"][type=hidden]')){country=document.querySelector('input[name="stat"][type=hidden]').value}else if(document.querySelector('select[name="stat"]')){country=document.querySelector('select[name="stat"]').value}else if(geoElement&&geoElement.dataset.location&&JSON.parse(geoElement.dataset.location).country_code){country=JSON.parse(geoElement.dataset.location).country_code.toLowerCase()}if(!location||!location.latitude||!location.longitude){if(geoElement&&geoElement.dataset.location){location={latitude:JSON.parse(geoElement.dataset.location).latitude,longitude:JSON.parse(geoElement.dataset.location).longitude}}}xhr=new XMLHttpRequest;var url;if(country&&country!=="ro"){url="https://dl2bkuujyrimp.cloudfront.net/api/?q="+encodeURIComponent(term.trim());url+="&lang=default";if(location&&location.latitude){url+="&lat="+Math.round(location.latitude*1e4)/1e4}if(location&&location.longitude){url+="&lon="+Math.round(location.longitude*1e4)/1e4}}else{url="https://d1uezpeg54m0ue.cloudfront.net/api?language="+encodeURIComponent(document.documentElement.lang)+"&q="+encodeURIComponent(term.trim());url+="&country="+country;if(location&&location.latitude){url+="&latitude="+Math.round(location.latitude*1e4)/1e4}if(location&&location.longitude){url+="&longitude="+Math.round(location.longitude*1e4)/1e4}}if("withCredentials"in xhr){xhr.open("../other/get",url,true)}else if(typeof XDomainRequest!=="undefined"){xhr=new XDomainRequest;xhr.open("../other/get",url)}else{return}xhr.onload=function(){if(xhr.status===200){var responseData=JSON.parse(xhr.responseText);if(country&&country!=="ro"){var suggestions=[];for(const item of responseData.features){if(item.properties.osm_key!=="place"||item.properties.osm_value!=="house"){continue}if(country.toUpperCase()!==item.properties.countrycode){continue}let street=item.properties.street?item.properties.street:null;const streetNumber=item.properties.housenumber?item.properties.housenumber:null;const city=item.properties.city?item.properties.city:null;const countryCode=item.properties.countrycode?item.properties.countrycode:null;const zip=item.properties.postcode?item.properties.postcode:null;if(streetNumber&&!street){street=city}if(street&&streetNumber&&city&&streetNumber&&countryCode){const label=`${street} ${streetNumber}, ${city}`;suggestions.push({label:label,street:`${street} ${streetNumber}`,city:city,zip:zip||"",country:country.toLowerCase()})}}return response(suggestions)}return response(responseData)}response([])};xhr.send()}})})(window,document);
