!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,o){return void 0===o&&(o="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(o),o}:e(jQuery)}((function(e){"use strict";var t="selectric",o=".sl",i={onChange:function(t){e(t).trigger("change")},maxHeight:300,keySearchTimeout:500,arrowButtonMarkup:'<b class="button">&#x25be;</b>',disableOnMobile:!0,openOnHover:!1,hoverIntentTimeout:500,expandToItemText:!1,responsive:!1,preventWindowScroll:!0,inheritOriginalWidth:!1,allowWrap:!0,customClass:{prefix:t,camelCase:!1},optionsItemBuilder:"{text}",labelBuilder:"{text}"},s={add:function(e,t,o){this[e]||(this[e]={}),this[e][t]=o},remove:function(e,t){delete this[e][t]}},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(" "),o=t.length;o--;)e=e.toLowerCase().replace(RegExp("["+t[o]+"]","g"),"aeiouncy".charAt(o));return e},format:function(e){var t=arguments;return(""+e).replace(/{(\d+|(\w+))}/g,(function(e,o,i){return i&&t[1]?t[1][i]:t[o]}))},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(o,i){var l=i.element,a=i.options["on"+o];"function"==typeof a&&a.call(l,l,i),s[o]&&e.each(s[o],(function(){this.call(l,l,i)})),e(l).trigger(t+"-"+n.toDash(o),i)}},l=e(document),a=e(window),r=function(s,r){var c,d,p,u,f,h,m,v,g,b,w,C,x,y,k,T=this,D=e(s),I=!1,O=!1,S=/android|ip(hone|od|ad)/i.test(navigator.userAgent),B=D.prop("tabindex");function H(){T.items=[];var i=D.children(),s="<ul>",l=D.find("option"),a=l.index(l.filter(":selected")),r=0;g=v=~a?a:0,(x=i.length)&&(i.each((function(){var t=e(this);if(t.is("optgroup")){var o=t.prop("disabled"),i=t.children();s+=n.format('<ul class="{1}"><li class="{2}">{3}</li>',[T.classes.group,o?"disabled":"",t.prop("class")].join(" ").trim(),T.classes.grouplabel,t.prop("label")),o&&i.prop("disabled",!0),i.each(l),s+="</ul>"}else l.call(t);function l(){var t=e(this),o=t.html(),i=t.prop("disabled"),l=T.options.optionsItemBuilder;T.items[r]={element:t,value:t.val(),text:o,slug:n.replaceDiacritics(o),disabled:i},s+=n.format('<li data-index="{1}" class="{2}">{3}</li>',r,[r==g?"selected":"",r==x-1?"last":"",i?"disabled":""].join(" ").trim(),"function"==typeof l?l(T.items[r],t,r):n.format(l,T.items[r])),r++}})),d.append(p.html(s+"</ul>")),f.html("function"==typeof k?k(T.items[g]):n.format(k,T.items[g]))),u.add(D).add(h).add(c).off(o),h.prop("class",[T.classes.wrapper,D.prop("class").replace(/\S+/g,T.options.customClass.prefix+"-$&"),T.options.responsive?T.classes.responsive:""].join(" ")),D.prop("disabled")?(h.addClass(T.classes.disabled),c.prop("disabled",!0)):(O=!0,h.removeClass(T.classes.disabled).on("mouseenter.sl mouseleave"+o,(function(t){e(this).toggleClass(T.classes.hover),T.options.openOnHover&&(clearTimeout(T.closeTimer),"mouseleave"==t.type?T.closeTimer=setTimeout(E,T.options.hoverIntentTimeout):M())})),u.on("click"+o,(function(e){I?E():M(e)})),c.prop({tabindex:B,ariaLabel:t,disabled:!1}).on("keypress"+o,j).on("keydown"+o,(function(e){j(e),clearTimeout(T.resetStr),T.resetStr=setTimeout((function(){c.val("")}),T.options.keySearchTimeout);var t=e.keyCode||e.which;if(t>36&&t<41){if(!T.options.allowWrap&&(t<39&&0==v||t>38&&v+1==T.items.length))return;A(n[(t<39?"previous":"next")+"EnabledItem"](T.items,v))}})).on("focusin"+o,(function(e){I||M(e)})).on("oninput"in c[0]?"input":"keyup",(function(){c.val().length&&e.each(T.items,(function(e,t){if(RegExp("^"+c.val(),"i").test(t.slug)&&!t.disabled)return A(e),!1}))})),D.prop("tabindex",!1),m=e("li",d.removeAttr("style")).on({mousedown:function(e){e.preventDefault(),e.stopPropagation()},click:function(){return A(e(this).data("index"),!0),!1}}).filter("[data-index]")),n.triggerCallback("Init",T)}function W(){n.triggerCallback("Refresh",T),H()}function j(e){var t=e.keyCode||e.which;13==t&&e.preventDefault(),/^(9|13|27)$/.test(t)&&(e.stopPropagation(),A(v,!0))}function M(i){var s,a,r,p;n.triggerCallback("BeforeOpen",T),i&&(i.preventDefault(),i.stopPropagation()),O&&(s=d.closest(":visible").children(":hidden").addClass(T.classes.tempshow),a=T.options.maxHeight,r=d.outerWidth(),p=u.outerWidth()-(r-d.width()),!T.options.expandToItemText||p>r?C=p:(d.css("overflow","scroll"),h.width(9e4),C=d.width(),d.css("overflow",""),h.width("")),d.width(C).height()>a&&d.height(a),s.removeClass(T.classes.tempshow),e("."+T.classes.hideselect,"."+T.classes.open).children()[t]("close"),I=!0,b=d.outerHeight(),w=d.height(),h.addClass(T.classes.open),c.val(""),i&&"focusin"!==i.type&&c.focus(),l.on("click"+o,E).on("scroll"+o,q),q(),T.options.preventWindowScroll&&l.on("mousewheel.sl DOMMouseScroll"+o,"."+T.classes.scroll,(function(t){var o=t.originalEvent,i=e(this).scrollTop(),s=0;"detail"in o&&(s=-1*o.detail),"wheelDelta"in o&&(s=o.wheelDelta),"wheelDeltaY"in o&&(s=o.wheelDeltaY),"deltaY"in o&&(s=-1*o.deltaY),(i==this.scrollHeight-w&&s<0||0==i&&s>0)&&t.preventDefault()})),L(v),n.triggerCallback("Open",T))}function q(){var e=a.scrollTop(),t=a.height(),o=h.offset().top,i=!(o+h.outerHeight()+b<=e+t)&&o-b>e;h.toggleClass(T.classes.above,i)}function E(){if(n.triggerCallback("BeforeClose",T),g!=v){n.triggerCallback("BeforeChange",T);var e=T.items[v].text;D.prop("selectedIndex",g=v).data("value",e),f.html("function"==typeof k?k(T.items[v]):n.format(k,T.items[v])),n.triggerCallback("Change",T)}l.off(o),h.removeClass(T.classes.open),I=!1,n.triggerCallback("Close",T)}function A(e,t){null!=e&&(T.items[e].disabled||(m.removeClass("selected").eq(v=e).addClass("selected"),L(e),t&&E()))}function L(e){var t=m.eq(e).outerHeight(),o=m[e].offsetTop,i=p.scrollTop(),s=o+2*t;p.scrollTop(s>i+b?s-b:o-t<i?o-t:i)}function $(e){O&&(d.add(u).add(c).remove(),!e&&D.removeData(t).removeData("value"),D.prop("tabindex",B).off(o).off(y).unwrap().unwrap(),O=!1)}!function t(o){if(T.options=e.extend(!0,{},i,T.options,o),T.classes={},T.element=s,n.triggerCallback("BeforeInit",T),T.options.disableOnMobile&&S)T.disableOnMobile=!0;else{$(!0);var l=T.options.customClass,a="Input Items Open Disabled TempShow HideSelect Wrapper Hover Responsive Above Scroll Group GroupLabel".split(" "),r=D.width();e.each(a,(function(e,t){var o=l.prefix+t;T.classes[t.toLowerCase()]=l.camelCase?o:n.toDash(o)})),c=e("<input/>",{class:T.classes.input,readonly:S}),d=e("<div/>",{class:T.classes.items,tabindex:-1}),p=e("<div/>",{class:T.classes.scroll}),u=e("<div/>",{class:l.prefix,html:T.options.arrowButtonMarkup}),f=e('<p class="label"/>'),h=D.wrap("<div>").parent().append(u.prepend(f),d,c),y={open:M,close:E,destroy:$,refresh:W,init:t},D.on(y).wrap('<div class="'+T.classes.hideselect+'">'),e.extend(T,y),k=T.options.labelBuilder,T.options.inheritOriginalWidth&&r>0&&h.width(r),H()}}(r)};e.fn[t]=function(o){return this.each((function(){var i=e.data(this,t);i&&!i.disableOnMobile?""+o===o&&i[o]?i[o]():i.init(o):e.data(this,t,new r(this,o))}))},e.fn[t].hooks=s}));