!function(e){"use strict";var t="selectric",s="Input Items Open Disabled TempShow HideSelect Wrapper Hover Responsive Above Scroll",o=".sl",i={onChange:function(t){e(t).change()},maxHeight:300,keySearchTimeout:500,arrowButtonMarkup:'<b class="button">&#x25be;</b>',disableOnMobile:!0,openOnHover:!1,expandToItemText:!1,responsive:!1,preventWindowScroll:!0,inheritOriginalWidth:!1,customClass:{prefix:t,postfixes:s,camelCase:!0},optionsItemBuilder:"{text}"},n={replaceDiacritics:function(e){for(var t="40-46 50-53 54-57 62-70 71-74 61 47 77".replace(/\d+/g,"\\3$&").split(" "),s=t.length;s--;)e=e.toLowerCase().replace(RegExp("["+t[s]+"]","g"),"aeiouncy".charAt(s));return e},format:function(e){var t=arguments;return(""+e).replace(/{(\d+|(\w+))}/g,function(e,s,o){return o&&t[1]?t[1][o]:t[s]})},nextEnabledItem:function(e,t){for(;e[t=(t+1)%e.length].disabled;);return t},previousEnabledItem:function(e,t){for(;e[t=(t>0?t:e.length)-1].disabled;);return t},toDash:function(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()},triggerCallback:function(s,o){var i=o.element,a=o.options["on"+s];e.isFunction(a)&&a.call(i,i),e(i).trigger(t+"-"+n.toDash(s))}},a=e(document),l=e(window),r=function(r,c){function p(t){if($.options=e.extend(!0,{},i,$.options,t),$.classes={},$.element=r,n.triggerCallback("BeforeInit",$),$.options.disableOnMobile&&L)return void($.disableOnMobile=!0);C(!0);var o=$.options.customClass,a=o.postfixes.split(" "),l=R.width();e.each(s.split(" "),function(e,t){var s=o.prefix+a[e];$.classes[t.toLowerCase()]=o.camelCase?s:n.toDash(s)}),x=e("<input/>",{"class":$.classes.input,readonly:L}),k=e("<div/>",{"class":$.classes.items,tabindex:-1}),T=e("<div/>",{"class":$.classes.scroll}),D=e("<div/>",{"class":o.prefix,html:$.options.arrowButtonMarkup}),O=e('<p class="label"/>'),y=R.wrap("<div>").parent().append(D.prepend(O),k,x),A={open:v,close:g,destroy:C,refresh:u,init:p},R.on(A).wrap('<div class="'+$.classes.hideselect+'">'),e.extend($,A),$.options.inheritOriginalWidth&&l>0&&y.width(l),j=!0,d()}function d(){$.items=[];var s=R.children(),i="<ul>",a=s.filter(":selected").index();S=H=~a?a:0,(E=s.length)&&(s.each(function(t){var s=e(this),o=s.html(),a=s.prop("disabled"),l=$.options.optionsItemBuilder;$.items[t]={value:s.val(),text:o,slug:n.replaceDiacritics(o),disabled:a},i+=n.format('<li class="{1}">{2}</li>',e.trim([t==S?"selected":"",t==E-1?"last":"",a?"disabled":""].join(" ")),e.isFunction(l)?l($.items[t],s,t):n.format(l,$.items[t]))}),k.append(T.html(i+"</ul>")),O.html($.items[S].text)),D.add(R).off(o),y.prop("class",[$.classes.wrapper,R.prop("class").replace(/\S+/g,t+"-$&"),$.options.responsive?$.classes.responsive:""].join(" ")),R.prop("disabled")?(y.addClass($.classes.disabled),x.prop("disabled",!0)):(y.removeClass($.classes.disabled).hover(function(){e(this).toggleClass($.classes.hover)}),$.options.openOnHover&&D.on("mouseenter"+o,v),D.on("click"+o,function(e){Y?g():v(e)}),x.prop({tabindex:q,disabled:!1}).off().on({keypress:h,keydown:function(e){h(e),clearTimeout($.resetStr),$.resetStr=setTimeout(function(){x.val("")},$.options.keySearchTimeout);var t=e.keyCode||e.which;t>36&&41>t&&b(n[(39>t?"previous":"next")+"EnabledItem"]($.items,H))},focusin: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),I=e("li",k.removeAttr("style")).click(function(){return b(e(this).index(),!0),!1})),n.triggerCallback("Init",$)}function u(){n.triggerCallback("Refresh",$),d()}function h(e){var t=e.keyCode||e.which;13==t&&e.preventDefault(),/^(9|13|27)$/.test(t)&&(e.stopPropagation(),b(H,!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?W=o:(k.css("overflow","scroll"),y.width(9e4),W=k.width(),k.css("overflow",""),y.width("")),k.width(W).height()>t&&k.height(t),e.removeClass($.classes.tempshow)}function v(t){n.triggerCallback("BeforeOpen",$),t&&(t.preventDefault(),t.stopPropagation()),j&&(f(),e("."+$.classes.open).removeClass($.classes.open),Y=!0,M=k.outerHeight(),B=k.height(),x.val("").is(":focus")||x.focus(),a.on("click"+o,g).on("scroll"+o,m),m(),$.options.preventWindowScroll&&a.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()}),$.options.openOnHover&&(clearTimeout($.closeTimer),y.one("mouseleave"+o,function(){$.closeTimer=setTimeout(g,500)})),y.addClass($.classes.open),w(H),n.triggerCallback("Open",$))}function m(){f(),y.toggleClass($.classes.above,y.offset().top+y.outerHeight()+M>l.scrollTop()+l.height())}function g(e){if(n.triggerCallback("BeforeClose",$),!e&&S!=H){var t=$.items[H].text;R.prop("selectedIndex",S=H).data("value",t),n.triggerCallback("Change",$),O.html(t)}a.off(o),y.removeClass($.classes.open),Y=!1,n.triggerCallback("Close",$)}function b(e,t){$.items[H=e].disabled||(I.removeClass("selected").eq(e).addClass("selected"),w(e),t&&g())}function w(e){var t=I.eq(e).outerHeight(),s=I[e].offsetTop,o=T.scrollTop(),i=s+2*t;T.scrollTop(i>o+M?i-M: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,O,y,I,H,S,M,B,W,E,A,$=this,R=e(r),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 r(this,s))})}}(jQuery);