!function(i){"use strict";var t=function(t,e){this.options=e,this.$element=i(t),this.$container=i("
"),this.$bar=i(""),this.$slider=i(""),this.$options=i(t).children("option"),this.numberOfOptions=this.$options.length,this.initialOptionIndex=this.$options.filter('[value="'+i(t).val()+'"]').index(),this.init()};t.prototype={constructor:t,lastSliderPosition:null,init:function(){var t=this;this.$element.css({position:"absolute",left:"-9999px"}),this.$container.append(this.$bar.append(this.$slider)),this.$element.after(this.$container),this.lastSliderPosition=this.initialOptionIndex;var e=this.$bar.innerWidth()/(this.numberOfOptions-1);this.$slider.css({left:t.sliderPosition(e,this.initialOptionIndex)}),this.$element.on("change",function(i){var s=t.$options.filter('[value="'+t.$element.val()+'"]').index();t.lastSliderPosition!=s&&t.moveSliderTo(e,s,!1)}),void 0!=this.$slider.drag&&1==this.options.draggable&&this.$slider.drag("end",function(i,s){var n=t.$slider.position().left+t.$slider.outerWidth(!0)/2,o=Math.round(n/e);t.moveSliderTo(e,o,!0)}).drag(function(e,s){var n={left:0,right:t.$bar.innerWidth()-t.$slider.outerWidth(!0)};i(this).css({left:Math.min(n.right,Math.max(n.left,s.offsetX))})},{relative:!0}),this.$bar.on("click",function(i){var s=t.$slider.position().left,n=Math.ceil(s/e),o=i.pageX-t.$bar.offset().left,r=Math.round(o/e);n!=r&&t.moveSliderTo(e,r,!0)})},sliderPosition:function(i,t){var e=null;return e=0==t?0:t==this.numberOfOptions-1?-this.$slider.outerWidth(!0):-(this.$slider.outerWidth(!0)/2),i*t+e},moveSliderTo:function(i,t,e){var s=this.sliderPosition(i,t);null!=s&&this.$slider.animate({left:s},"fast"),this.$options.removeAttr("selected"),this.$options.eq(t).prop("selected","selected"),1==e&&this.$element.trigger("change"),this.lastSliderPosition=t}},i.fn.switchy=function(e){return this.each(function(){var s=(i(this),i.extend({},i.fn.switchy.defaults,"object"==typeof e&&e));new t(this,s)})},i.fn.switchy.defaults={draggable:!0},i.fn.switchy.Constructor=t}(window.jQuery); //# sourceMappingURL=./switchy.min.js.map