(function(b){b.fn.extend({slider:function(d){var a=Array.prototype.slice.call(arguments,1);if(d=="value"){return b.data(this[0],"ui-slider").value(arguments[1])}return this.each(function(){if(typeof d=="string"){var c=b.data(this,"ui-slider");c[d].apply(c,a)}else{if(!b.data(this,"ui-slider")){new b.ui.slider(this,d)}}})}});b.ui.slider=function(g,h){var a=this;this.element=b(g);b.data(g,"ui-slider",this);this.element.addClass("ui-slider");this.options=b.extend({},h);var f=this.options;b.extend(f,{axis:f.axis||(g.offsetWidth<g.offsetHeight?"vertical":"horizontal"),maxValue:!isNaN(parseInt(f.maxValue,10))?parseInt(f.maxValue,10):100,minValue:parseInt(f.minValue,10)||0,startValue:parseInt(f.startValue,10)||"none"});f.realMaxValue=f.maxValue-f.minValue;f.stepping=parseInt(f.stepping,10)||(f.steps?f.realMaxValue/f.steps:0);b(g).bind("setData.slider",function(d,e,c){a.options[e]=c}).bind("getData.slider",function(c,d){return a.options[d]});this.handle=f.handle?b(f.handle,g):b("> *",g);b(this.handle).mouseInteraction({executor:this,delay:f.delay,distance:f.distance||0,dragPrevention:f.prevention?f.prevention.toLowerCase().split(","):["input","textarea","button","select","option"],start:this.start,stop:this.stop,drag:this.drag,condition:function(c,d){if(!this.disabled){if(this.currentHandle){this.blur(this.currentHandle)}this.focus(d,1);return !this.disabled}}}).wrap('<a href="javascript:void(0)"></a>').parent().bind("focus",function(c){a.focus(this.firstChild)}).bind("blur",function(c){a.blur(this.firstChild)}).bind("keydown",function(c){if(/(37|39)/.test(c.keyCode)){a.moveTo((c.keyCode==37?"-":"+")+"="+(a.options.stepping?a.options.stepping:(a.options.realMaxValue/a.size)*5),this.firstChild)}});if(f.helper=="original"&&(this.element.css("position")=="static"||this.element.css("position")=="")){this.element.css("position","relative")}if(f.axis=="horizontal"){this.size=this.element.outerWidth();this.properties=["left","width"]}else{this.size=this.element.outerHeight();this.properties=["top","height"]}this.element.bind("click",function(c){a.click.apply(a,[c])});if(!isNaN(f.startValue)){this.moveTo(f.startValue,0)}if(this.handle.length==1){this.previousHandle=this.handle}if(this.handle.length==2&&f.range){this.createRange()}};b.extend(b.ui.slider.prototype,{plugins:{},createRange:function(){this.rangeElement=b("<div></div>").addClass("ui-slider-range").css({position:"absolute"}).css(this.properties[0],parseInt(b(this.handle[0]).css(this.properties[0]),10)+this.handleSize(0)/2).css(this.properties[1],parseInt(b(this.handle[1]).css(this.properties[0]),10)-parseInt(b(this.handle[0]).css(this.properties[0]),10)).appendTo(this.element)},updateRange:function(){this.rangeElement.css(this.properties[0],parseInt(b(this.handle[0]).css(this.properties[0]),10)+this.handleSize(0)/2);this.rangeElement.css(this.properties[1],parseInt(b(this.handle[1]).css(this.properties[0]),10)-parseInt(b(this.handle[0]).css(this.properties[0]),10))},getRange:function(){return this.rangeElement?this.convertValue(parseInt(this.rangeElement.css(this.properties[1]),10)):null},ui:function(a){return{instance:this,options:this.options,handle:this.currentHandle,value:this.value(),range:this.getRange()}},propagate:function(d,a){b.ui.plugin.call(this,d,[a,this.ui()]);this.element.triggerHandler(d=="slide"?d:"slide"+d,[a,this.ui()],this.options[d])},destroy:function(){this.element.removeClass("ui-slider ui-slider-disabled").removeData("ul-slider").unbind(".slider");this.handles.removeMouseInteraction()},enable:function(){this.element.removeClass("ui-slider-disabled");this.disabled=false},disable:function(){this.element.addClass("ui-slider-disabled");this.disabled=true},focus:function(a,d){this.currentHandle=b(a).addClass("ui-slider-handle-active");if(d){this.currentHandle.parent()[0].focus()}},blur:function(a){b(a).removeClass("ui-slider-handle-active");if(this.currentHandle&&this.currentHandle[0]==a){this.previousHandle=this.currentHandle;this.currentHandle=null}},value:function(a){if(this.handle.length==1){this.currentHandle=this.handle}return((parseInt(b(a!=undefined?this.handle[a]||a:this.currentHandle).css(this.properties[0]),10)/(this.size-this.handleSize()))*this.options.realMaxValue)+this.options.minValue},convertValue:function(a){return(a/(this.size-this.handleSize()))*this.options.realMaxValue},translateValue:function(a){return((a-this.options.minValue)/this.options.realMaxValue)*(this.size-this.handleSize())},handleSize:function(a){return b(a!=undefined?this.handle[a]:this.currentHandle)["outer"+this.properties[1].substr(0,1).toUpperCase()+this.properties[1].substr(1)]()},click:function(f){var e=[f.pageX,f.pageY];var a=false;this.handle.each(function(){if(this==f.target){a=true}});if(a||this.disabled||!(this.currentHandle||this.previousHandle)){return}if(this.previousHandle){this.focus(this.previousHandle,1)}this.offset=this.element.offset();this.moveTo(this.convertValue(f[this.properties[0]=="top"?"pageY":"pageX"]-this.offset[this.properties[0]]-this.handleSize()/2))},start:function(f,a){var e=this.options;this.offset=this.element.offset();this.handleOffset=this.currentHandle.offset();this.clickOffset={top:f.pageY-this.handleOffset.top,left:f.pageX-this.handleOffset.left};this.firstValue=this.value();this.propagate("start",f);return false},stop:function(a){this.propagate("stop",a);if(this.firstValue!=this.value()){this.propagate("change",a)}return false},drag:function(i,j){var e=this.options;var l={top:i.pageY-this.offset.top-this.clickOffset.top,left:i.pageX-this.offset.left-this.clickOffset.left};var a=l[this.properties[0]];if(a>=this.size-this.handleSize()){a=this.size-this.handleSize()}if(a<=0){a=0}if(e.stepping){var k=this.convertValue(a);k=Math.round(k/e.stepping)*e.stepping;a=this.translateValue(k)}if(this.rangeElement){if(this.currentHandle[0]==this.handle[0]&&a>=this.translateValue(this.value(1))){a=this.translateValue(this.value(1))}if(this.currentHandle[0]==this.handle[1]&&a<=this.translateValue(this.value(0))){a=this.translateValue(this.value(0))}}this.currentHandle.css(this.properties[0],a);if(this.rangeElement){this.updateRange()}this.propagate("slide",i);return false},moveTo:function(f,a){var e=this.options;if(a==undefined&&!this.currentHandle&&this.handle.length!=1){return false}if(a==undefined&&!this.currentHandle){a=0}if(a!=undefined){this.currentHandle=this.previousHandle=b(this.handle[a]||a)}if(f.constructor==String){f=/\-\=/.test(f)?this.value()-parseInt(f.replace("-=",""),10):this.value()+parseInt(f.replace("+=",""),10)}if(e.stepping){f=Math.round(f/e.stepping)*e.stepping}f=this.translateValue(f);if(f>=this.size-this.handleSize()){f=this.size-this.handleSize()}if(f<=0){f=0}if(this.rangeElement){if(this.currentHandle[0]==this.handle[0]&&f>=this.translateValue(this.value(1))){f=this.translateValue(this.value(1))}if(this.currentHandle[0]==this.handle[1]&&f<=this.translateValue(this.value(0))){f=this.translateValue(this.value(0))}}this.currentHandle.css(this.properties[0],f);if(this.rangeElement){this.updateRange()}this.propagate("start",null);this.propagate("stop",null);this.propagate("change",null)}})})(jQuery);
