// Autocomplete mini
jQuery.autocomplete=function(i,a){function n(){j={data:{},length:0}}function A(a){var c=$("li",o);c&&(l+=a,l<0?l=0:l>=c.size()&&(l=c.size()-1),c.removeClass("ac_over"),$(c[l]).addClass("ac_over"))}function G(){var b=$("li.ac_over",o)[0];if(!b){var c=$("li",o);a.selectOnly?c.length==1&&(b=c[0]):a.selectFirst&&(b=c[0])}return b?(w(b),!0):!1}function w(b){if(!b)b=document.createElement("li"),b.extra=[],b.selectValue="";var c=$.trim(b.selectValue?b.selectValue:b.innerHTML);p=i.lastSelected=c;k.html("");
g.val(c);q();a.onItemSelect&&setTimeout(function(){a.onItemSelect(b)},1)}function q(){m&&clearTimeout(m);g.removeClass(a.loadingClass);k.is(":visible")&&k.hide();a.mustMatch&&g.val()!=i.lastSelected&&w(null)}function B(b,c){var d,f;if(c){g.removeClass(a.loadingClass);o.innerHTML="";if(!x||c.length==0)return q();$.browser.msie&&k.append(document.createElement("iframe"));o.appendChild(H(c));if(a.autoFill&&g.val().toLowerCase()==b.toLowerCase()&&(f=c[0][0],r!=8)){g.val(g.val()+f.substring(p.length));
d=p.length;f=f.length;var e=g.get(0);if(e.createTextRange){var h=e.createTextRange();h.collapse(!0);h.moveStart("character",d);h.moveEnd("character",f);h.select()}else if(e.setSelectionRange)e.setSelectionRange(d,f);else if(e.selectionStart)e.selectionStart=d,e.selectionEnd=f;e.focus()}d=i;e=d.offsetLeft||0;for(f=d.offsetTop||0;d=d.offsetParent;)e+=d.offsetLeft,f+=d.offsetTop;d=e;e=a.width>0?a.width:g.width();k.css({width:parseInt(e)+"px",top:f+i.offsetHeight+"px",left:d+"px"}).show()}else q()}function C(b){if(!b)return null;
for(var c=[],b=b.split(a.lineSeparator),d=0;d<b.length;d++){var f=$.trim(b[d]);f&&(c[c.length]=f.split(a.cellSeparator))}return c}function H(b){var c=document.createElement("ul"),d=b.length;if(a.maxItemsToShow>0&&a.maxItemsToShow<d)d=a.maxItemsToShow;for(var f=0;f<d;f++){var e=b[f];if(e){var h=document.createElement("li");h.innerHTML=a.formatItem?a.formatItem(e,f,d):e[0];h.selectValue=e[0];var g=null;if(e.length>1)for(var g=[],i=1;i<e.length;i++)g[g.length]=e[i];h.extra=g;c.appendChild(h);$(h).hover(function(){$("li",
c).removeClass("ac_over");$(this).addClass("ac_over");l=$("li",c).indexOf($(this).get(0))},function(){$(this).removeClass("ac_over")}).click(function(a){a.preventDefault();a.stopPropagation();w(this)})}}return c}function I(b){a.matchCase||(b=b.toLowerCase());var c=a.cacheLength?D(b):null;c?B(b,c):typeof a.url=="string"&&a.url.length>0?$.get(E(b),function(a){a=C(a);y(b,a);B(b,a)}):g.removeClass(a.loadingClass)}function E(b){var b=a.url+"?q="+encodeURI(b),c;for(c in a.extraParams)b+="&"+c+"="+encodeURI(a.extraParams[c]);
return b}function D(b){if(!b)return null;if(j.data[b])return j.data[b];if(a.matchSubset)for(var c=b.length-1;c>=a.minChars;c--){var d=b.substr(0,c);if(d=j.data[d]){for(var c=[],f=0;f<d.length;f++){var e=d[f],h=e[0],g=b;a.matchCase||(h=h.toLowerCase());h=h.indexOf(g);(h==-1?0:h==0||a.matchContains)&&(c[c.length]=e)}return c}}return null}function z(b,c){c&&g.removeClass(a.loadingClass);for(var d=c?c.length:0,f=null,e=0;e<d;e++){var h=c[e];if(h[0].toLowerCase()==b.toLowerCase()){f=document.createElement("li");
f.innerHTML=a.formatItem?a.formatItem(h,e,d):h[0];f.selectValue=h[0];var i=null;if(h.length>1)for(var i=[],j=1;j<h.length;j++)i[i.length]=h[j];f.extra=i}}a.onFindValue&&setTimeout(function(){a.onFindValue(f)},1)}function y(b,c){c&&b&&a.cacheLength&&(!j.length||j.length>a.cacheLength?(n(),j.length++):j[b]||j.length++,j.data[b]=c)}var g=$(i).attr("autocomplete","off");a.inputClass&&g.addClass(a.inputClass);var o=document.createElement("div"),k=$(o);k.hide().addClass(a.resultsClass).css("position","absolute");
a.width>0&&k.css("width",a.width);$("body").append(o);i.autocompleter=this;var m=null,p="",l=-1,j={},x=!1,r=null;n();if(a.data!=null){var u="",s={},v=[];if(typeof a.url!="string")a.cacheLength=1;for(var t=0;t<a.data.length;t++)v=typeof a.data[t]=="string"?[a.data[t]]:a.data[t],v[0].length>0&&(u=v[0].substring(0,1).toLowerCase(),s[u]||(s[u]=[]),s[u].push(v));for(var F in s)a.cacheLength++,y(F,s[F])}g.keydown(function(b){r=b.keyCode;switch(b.keyCode){case 38:b.preventDefault();A(-1);break;case 40:b.preventDefault();
A(1);break;case 9:case 13:G()&&(g.get(0).blur(),b.preventDefault());break;default:l=-1,m&&clearTimeout(m),m=setTimeout(function(){if(r==46||r>8&&r<32)k.hide();else{var b=g.val();b!=p&&(p=b,b.length>=a.minChars?(g.addClass(a.loadingClass),I(b)):(g.removeClass(a.loadingClass),k.hide()))}},a.delay)}}).focus(function(){x=!0}).blur(function(){x=!1;m&&clearTimeout(m);m=setTimeout(q,200)});q();this.flushCache=function(){n()};this.setExtraParams=function(b){a.extraParams=b};this.findValue=function(){var b=
g.val();a.matchCase||(b=b.toLowerCase());var c=a.cacheLength?D(b):null;c?z(b,c):typeof a.url=="string"&&a.url.length>0?$.get(E(b),function(a){a=C(a);y(b,a);z(b,a)}):z(b,null)};};
jQuery.fn.autocomplete=function(i,a,n){a=a||{};a.url=i;a.data=typeof n=="object"&&n.constructor==Array?n:null;a.inputClass=a.inputClass||"ac_input";a.resultsClass=a.resultsClass||"ac_results";a.lineSeparator=a.lineSeparator||"\n";a.cellSeparator=a.cellSeparator||"|";a.minChars=a.minChars||1;a.delay=a.delay||400;a.matchCase=a.matchCase||0;a.matchSubset=a.matchSubset||1;a.matchContains=a.matchContains||0;a.cacheLength=a.cacheLength||1;a.mustMatch=a.mustMatch||0;a.extraParams=a.extraParams||{};a.loadingClass=
a.loadingClass||"ac_loading";a.selectFirst=a.selectFirst||!1;a.selectOnly=a.selectOnly||!1;a.maxItemsToShow=a.maxItemsToShow||-1;a.autoFill=a.autoFill||!1;a.width=parseInt(a.width,10)||0;this.each(function(){new jQuery.autocomplete(this,a)});return this};jQuery.fn.autocompleteArray=function(i,a){return this.autocomplete(null,a,i)};jQuery.fn.indexOf=function(i){for(var a=0;a<this.length;a++)if(this[a]==i)return a;return-1};

    //Address
    function selectItem()
        {
            var city = document.getElementById('city');
            var city_name = '';
            if (city)
                    city_name = city.value
            var tr_names = 'region_tr';
            ShowRegion(city_name, tr_names);
            $("#street").autocomplete("/js/autocomplete.php",
                {
                    delay:10,
                    matchSubset:1,
                    autoFill:false,
                    matchContains:1,
                    cacheLength:10,
                    selectFirst:true,
                    maxItemsToShow:10,
                    onItemSelect:location.pathname.match(/^\/search\.php/)?AjaxSearch:null,
                    extraParams:{search:"street",city:city_name}
                });

        }
    $(document).ready(function()
        {
            $("#city").autocomplete("/js/autocomplete.php",
                {
                    delay:10,
                    matchSubset:1,
                    autoFill:false,
                    matchContains:1,
                    cacheLength:10,
                    selectFirst:true,
                    maxItemsToShow:10,
                    onItemSelect:location.pathname.match(/^\/search\.php/)?AjaxSearch2:selectItem,
                    extraParams:{search:"city"}
                });
            selectItem();
        });
