").parent().append(D.prepend(I),k,x),A={open:v,close:g,destroy:C,refresh:u,init:p},R.on(A).wrap('
'),e.extend($,A),$.options.inheritOriginalWidth&&r>0&&y.width(r),d()}function d(){$.items=[];var t=R.children(),s="
",i=t.filter(":selected").index();H=S=~i?i:0,(E=t.length)&&(t.each(function(t){var o=e(this),i=o.html(),n=o.prop("disabled"),l=$.options.optionsItemBuilder;$.items[t]={value:o.val(),text:i,slug:a.replaceDiacritics(i),disabled:n},s+=a.format('- {2}
',e.trim([t==H?"selected":"",t==E-1?"last":"",n?"disabled":""].join(" ")),e.isFunction(l)?l($.items[t],o,t):a.format(l,$.items[t]))}),k.append(T.html(s+"
")),I.html($.items[H].text)),D.add(R).add(y).add(x).off(o),y.prop("class",[$.classes.wrapper,$.options.customClass.overwrite?R.prop("class").replace(/\S+/g,$.options.customClass.prefix+"-$&"):R.prop("class"),$.options.responsive?$.classes.responsive:""].join(" ")),R.prop("disabled")?(y.addClass($.classes.disabled),x.prop("disabled",!0)):(j=!0,y.removeClass($.classes.disabled).on("mouseenter"+o+" mouseleave"+o,function(t){e(this).toggleClass($.classes.hover),$.options.openOnHover&&(clearTimeout($.closeTimer),"mouseleave"==t.type?$.closeTimer=setTimeout(g,$.options.hoverIntentTimeout):v())}),D.on("click"+o,function(e){Y?g():v(e)}),x.prop({tabindex:q,disabled:!1}).on("keypress"+o,h).on("keydown"+o,function(e){h(e),clearTimeout($.resetStr),$.resetStr=setTimeout(function(){x.val("")},$.options.keySearchTimeout);var t=e.keyCode||e.which;if(t>36&&41>t){if(!$.options.allowWrap&&(39>t&&0==S||t>38&&S+1==$.items.length))return;b(a[(39>t?"previous":"next")+"EnabledItem"]($.items,S))}}).on("focusin"+o,function(e){x.one("blur",function(){x.blur()}),Y||v(e)}).on("oninput"in x[0]?"input":"keyup",function(){x.val().length&&e.each($.items,function(e,t){return RegExp("^"+x.val(),"i").test(t.slug)&&!t.disabled?(b(e),!1):void 0})}),R.prop("tabindex",!1),O=e("li",k.removeAttr("style")).click(function(){return b(e(this).index(),!0),!1})),a.triggerCallback("Init",$)}function u(){a.triggerCallback("Refresh",$),d()}function h(e){var t=e.keyCode||e.which;13==t&&e.preventDefault(),/^(9|13|27)$/.test(t)&&(e.stopPropagation(),b(S,!0))}function f(){var e=k.closest(":visible").children(":hidden"),t=$.options.maxHeight;e.addClass($.classes.tempshow);var s=k.outerWidth(),o=D.outerWidth()-(s-k.width());!$.options.expandToItemText||o>s?M=o:(k.css("overflow","scroll"),y.width(9e4),M=k.width(),k.css("overflow",""),y.width("")),k.width(M).height()>t&&k.height(t),e.removeClass($.classes.tempshow)}function v(s){a.triggerCallback("BeforeOpen",$),s&&(s.preventDefault(),s.stopPropagation()),j&&(f(),e("."+$.classes.hideselect,"."+$.classes.open).children()[t]("close"),Y=!0,W=k.outerHeight(),B=k.height(),x.val("").is(":focus")||x.focus(),l.on("click"+o,g).on("scroll"+o,m),m(),$.options.preventWindowScroll&&l.on("mousewheel"+o+" DOMMouseScroll"+o,"."+$.classes.scroll,function(t){var s=t.originalEvent,o=e(this).scrollTop(),i=0;"detail"in s&&(i=-1*s.detail),"wheelDelta"in s&&(i=s.wheelDelta),"wheelDeltaY"in s&&(i=s.wheelDeltaY),"deltaY"in s&&(i=-1*s.deltaY),(o==this.scrollHeight-B&&0>i||0==o&&i>0)&&t.preventDefault()}),y.addClass($.classes.open),w(S),a.triggerCallback("Open",$))}function m(){f(),y.toggleClass($.classes.above,y.offset().top+y.outerHeight()+W>r.scrollTop()+r.height())}function g(){if(a.triggerCallback("BeforeClose",$),H!=S){a.triggerCallback("BeforeChange",$);var e=$.items[S].text;R.prop("selectedIndex",H=S).data("value",e),I.html(e),a.triggerCallback("Change",$)}l.off(o),y.removeClass($.classes.open),Y=!1,a.triggerCallback("Close",$)}function b(e,t){$.items[e].disabled||(O.removeClass("selected").eq(S=e).addClass("selected"),w(e),t&&g())}function w(e){var t=O.eq(e).outerHeight(),s=O[e].offsetTop,o=T.scrollTop(),i=s+2*t;T.scrollTop(i>o+W?i-W:o>s-t?s-t:o)}function C(e){j&&(k.add(D).add(x).remove(),!e&&R.removeData(t).removeData("value"),R.prop("tabindex",q).off(o).off(A).unwrap().unwrap(),j=!1)}var x,k,T,D,I,y,O,S,H,W,B,M,E,A,$=this,R=e(n),Y=!1,j=!1,L=/android|ip(hone|od|ad)/i.test(navigator.userAgent),q=R.prop("tabindex");p(c)};e.fn[t]=function(s){return this.each(function(){var o=e.data(this,t);o&&!o.disableOnMobile?""+s===s&&o[s]?o[s]():o.init(s):e.data(this,t,new c(this,s))})},e.fn[t].hooks=n}(jQuery);