(function(a){a.fn.unwrap=a.fn.unwrap||function(b){return this.each(function(){a(this).parents(b).eq(0).after(this).remove()})};a.widget("ui.slider",{plugins:{},ui:function(b){return{options:this.options,handle:this.currentHandle,value:this.options.axis!="both"||!this.options.axis?Math.round(this.value(null,this.options.axis=="vertical"?"y":"x")):{x:Math.round(this.value(null,"x")),y:Math.round(this.value(null,"y"))},range:this.getRange()}},propagate:function(c,b){a.ui.plugin.call(this,c,[b,this.ui()]);this.element.triggerHandler(c=="slide"?c:"slide"+c,[b,this.ui()],this.options[c])},destroy:function(){this.element.removeClass("ui-slider ui-slider-disabled").removeData("slider").unbind(".slider");if(this.handle&&this.handle.length){this.handle.unwrap("a");this.handle.each(function(){a(this).data("mouse").mouseDestroy()})}this.generated&&this.generated.remove()},setData:function(b,c){a.widget.prototype.setData.apply(this,arguments);if(/min|max|steps/.test(b)){this.initBoundaries()}if(b=="range"){c?this.handle.length==2&&this.createRange():this.removeRange()}},init:function(){var b=this;this.element.addClass("ui-slider");this.initBoundaries();this.handle=a(this.options.handle,this.element);if(!this.handle.length){b.handle=b.generated=a(b.options.handles||[0]).map(function(){var d=a("<div/>").addClass("ui-slider-handle").appendTo(b.element);if(this.id){d.attr("id",this.id)}return d[0]})}var c=function(d){this.element=a(d);this.element.data("mouse",this);this.options=b.options;this.element.bind("mousedown",function(){if(b.currentHandle){this.blur(b.currentHandle)}b.focus(this,1)});this.mouseInit()};a.extend(c.prototype,a.ui.mouse,{mouseStart:function(d){return b.start.call(b,d,this.element[0])},mouseStop:function(d){return b.stop.call(b,d,this.element[0])},mouseDrag:function(d){return b.drag.call(b,d,this.element[0])},mouseCapture:function(){return true},trigger:function(d){this.mouseDown(d)}});a(this.handle).each(function(){new c(this)}).wrap('<a id="slider_link" href="javascript:void(0);" style="outline:none;border:none;"></a>').parent().bind("focus",function(d){b.focus(this.firstChild)}).bind("blur",function(d){b.blur(this.firstChild)}).bind("keydown",function(d){if(!b.options.noKeyboard){b.keydown(d.keyCode,this.firstChild)}});this.element.bind("mousedown.slider",function(d){b.click.apply(b,[d]);b.currentHandle.data("mouse").trigger(d);b.firstValue=b.firstValue+1});a.each(this.options.handles||[],function(d,e){b.moveTo(e.start,d,true)});if(!isNaN(this.options.startValue)){this.moveTo(this.options.startValue,0,true)}this.previousHandle=a(this.handle[0]);if(this.handle.length==2&&this.options.range){this.createRange()}},initBoundaries:function(){var b=this.element[0],c=this.options;this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};a.extend(c,{axis:c.axis||(b.offsetWidth<b.offsetHeight?"vertical":"horizontal"),max:!isNaN(parseInt(c.max,10))?{x:parseInt(c.max,10),y:parseInt(c.max,10)}:({x:c.max&&c.max.x||100,y:c.max&&c.max.y||100}),min:!isNaN(parseInt(c.min,10))?{x:parseInt(c.min,10),y:parseInt(c.min,10)}:({x:c.min&&c.min.x||0,y:c.min&&c.min.y||0})});c.realMax={x:c.max.x-c.min.x,y:c.max.y-c.min.y};c.stepping={x:c.stepping&&c.stepping.x||parseInt(c.stepping,10)||(c.steps?c.realMax.x/(c.steps.x||parseInt(c.steps,10)||c.realMax.x):0),y:c.stepping&&c.stepping.y||parseInt(c.stepping,10)||(c.steps?c.realMax.y/(c.steps.y||parseInt(c.steps,10)||c.realMax.y):0)}},keydown:function(c,b){if(/(37|38|39|40)/.test(c)){this.moveTo({x:/(37|39)/.test(c)?(c==37?"-":"+")+"="+this.oneStep("x"):0,y:/(38|40)/.test(c)?(c==38?"-":"+")+"="+this.oneStep("y"):0},b)}},focus:function(b,c){this.currentHandle=a(b).addClass("ui-slider-handle-active");if(c){this.currentHandle.parent()[0].focus()}},blur:function(b){a(b).removeClass("ui-slider-handle-active");if(this.currentHandle&&this.currentHandle[0]==b){this.previousHandle=this.currentHandle;this.currentHandle=null}},click:function(c){var d=[c.pageX,c.pageY];var b=false;this.handle.each(function(){if(this==c.target){b=true}});if(b||this.options.disabled||!(this.currentHandle||this.previousHandle)){return}if(!this.currentHandle&&this.previousHandle){this.focus(this.previousHandle,true)}this.offset=this.element.offset();this.moveTo({y:this.convertValue(c.pageY-this.offset.top-this.currentHandle[0].offsetHeight/2,"y"),x:this.convertValue(c.pageX-this.offset.left-this.currentHandle[0].offsetWidth/2,"x")},null,!this.options.distance)},createRange:function(){if(this.rangeElement){return}this.rangeElement=a("<div></div>").addClass("ui-slider-range").css({position:"absolute"}).appendTo(this.element);this.updateRange()},removeRange:function(){this.rangeElement.remove();this.rangeElement=null},updateRange:function(){var c=this.options.axis=="vertical"?"top":"left";var b=this.options.axis=="vertical"?"height":"width";this.rangeElement.css(c,(parseInt(a(this.handle[0]).css(c),10)||0)+this.handleSize(0,this.options.axis=="vertical"?"y":"x")/2);this.rangeElement.css(b,(parseInt(a(this.handle[1]).css(c),10)||0)-(parseInt(a(this.handle[0]).css(c),10)||0))},getRange:function(){return this.rangeElement?this.convertValue(parseInt(this.rangeElement.css(this.options.axis=="vertical"?"height":"width"),10),this.options.axis=="vertical"?"y":"x"):null},handleIndex:function(){return this.handle.index(this.currentHandle[0])},value:function(d,b){if(this.handle.length==1){this.currentHandle=this.handle}if(!b){b=this.options.axis=="vertical"?"y":"x"}var c=a(d!=undefined&&d!==null?this.handle[d]||d:this.currentHandle);if(c.data("mouse").sliderValue){return parseInt(c.data("mouse").sliderValue[b],10)}else{return parseInt(((parseInt(c.css(b=="x"?"left":"top"),10)/(this.actualSize[b=="x"?"width":"height"]-this.handleSize(d,b)))*this.options.realMax[b])+this.options.min[b],10)}},convertValue:function(c,b){return this.options.min[b]+(c/(this.actualSize[b=="x"?"width":"height"]-this.handleSize(null,b)))*this.options.realMax[b]},translateValue:function(c,b){return((c-this.options.min[b])/this.options.realMax[b])*(this.actualSize[b=="x"?"width":"height"]-this.handleSize(null,b))},translateRange:function(d,b){if(this.rangeElement){if(this.currentHandle[0]==this.handle[0]&&d>=this.translateValue(this.value(1),b)){d=this.translateValue(this.value(1,b)-this.oneStep(b),b)}if(this.currentHandle[0]==this.handle[1]&&d<=this.translateValue(this.value(0),b)){d=this.translateValue(this.value(0,b)+this.oneStep(b),b)}}if(this.options.handles){var c=this.options.handles[this.handleIndex()];if(d<this.translateValue(c.min,b)){d=this.translateValue(c.min,b)}else{if(d>this.translateValue(c.max,b)){d=this.translateValue(c.max,b)}}}return d},translateLimits:function(c,b){if(c>=this.actualSize[b=="x"?"width":"height"]-this.handleSize(null,b)){c=this.actualSize[b=="x"?"width":"height"]-this.handleSize(null,b)}if(c<=0){c=0}return c},handleSize:function(c,b){return a(c!=undefined&&c!==null?this.handle[c]:this.currentHandle)[0]["offset"+(b=="x"?"Width":"Height")]},oneStep:function(b){return this.options.stepping[b]||1},start:function(c,b){var d=this.options;if(d.disabled){return false}this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};if(!this.currentHandle){this.focus(this.previousHandle,true)}this.offset=this.element.offset();this.handleOffset=this.currentHandle.offset();this.clickOffset={top:c.pageY-this.handleOffset.top,left:c.pageX-this.handleOffset.left};this.firstValue=this.value();this.propagate("start",c);this.drag(c,b);return true},stop:function(b){this.propagate("stop",b);if(this.firstValue!=this.value()){this.propagate("change",b)}this.focus(this.currentHandle,true);return false},drag:function(f,d){var g=this.options;var b={top:f.pageY-this.offset.top-this.clickOffset.top,left:f.pageX-this.offset.left-this.clickOffset.left};if(!this.currentHandle){this.focus(this.previousHandle,true)}b.left=this.translateLimits(b.left,"x");b.top=this.translateLimits(b.top,"y");if(g.stepping.x){var c=this.convertValue(b.left,"x");c=Math.round(c/g.stepping.x)*g.stepping.x;b.left=this.translateValue(c,"x")}if(g.stepping.y){var c=this.convertValue(b.top,"y");c=Math.round(c/g.stepping.y)*g.stepping.y;b.top=this.translateValue(c,"y")}b.left=this.translateRange(b.left,"x");b.top=this.translateRange(b.top,"y");if(g.axis!="vertical"){this.currentHandle.css({left:b.left})}if(g.axis!="horizontal"){this.currentHandle.css({top:b.top})}this.currentHandle.data("mouse").sliderValue={x:Math.round(this.convertValue(b.left,"x"))||0,y:Math.round(this.convertValue(b.top,"y"))||0};if(this.rangeElement){this.updateRange()}this.propagate("slide",f);return false},moveTo:function(f,e,g){var h=this.options;this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};if(e==undefined&&!this.currentHandle&&this.handle.length!=1){return false}if(e==undefined&&!this.currentHandle){e=0}if(e!=undefined){this.currentHandle=this.previousHandle=a(this.handle[e]||e)}if(f.x!==undefined&&f.y!==undefined){var b=f.x,i=f.y}else{var b=f,i=f}if(b!==undefined&&b.constructor!=Number){var d=/^\-\=/.test(b),c=/^\+\=/.test(b);if(d||c){b=this.value(null,"x")+parseInt(b.replace(d?"=":"+=",""),10)}else{b=isNaN(parseInt(b,10))?undefined:parseInt(b,10)}}if(i!==undefined&&i.constructor!=Number){var d=/^\-\=/.test(i),c=/^\+\=/.test(i);if(d||c){i=this.value(null,"y")+parseInt(i.replace(d?"=":"+=",""),10)}else{i=isNaN(parseInt(i,10))?undefined:parseInt(i,10)}}if(h.axis!="vertical"&&b!==undefined){if(h.stepping.x){b=Math.round(b/h.stepping.x)*h.stepping.x}b=this.translateValue(b,"x");b=this.translateLimits(b,"x");b=this.translateRange(b,"x");h.animate?this.currentHandle.stop().animate({left:b},(Math.abs(parseInt(this.currentHandle.css("left"))-b))*(!isNaN(parseInt(h.animate))?h.animate:5)):this.currentHandle.css({left:b})}if(h.axis!="horizontal"&&i!==undefined){if(h.stepping.y){i=Math.round(i/h.stepping.y)*h.stepping.y}i=this.translateValue(i,"y");i=this.translateLimits(i,"y");i=this.translateRange(i,"y");h.animate?this.currentHandle.stop().animate({top:i},(Math.abs(parseInt(this.currentHandle.css("top"))-i))*(!isNaN(parseInt(h.animate))?h.animate:5)):this.currentHandle.css({top:i})}if(this.rangeElement){this.updateRange()}this.currentHandle.data("mouse").sliderValue={x:Math.round(this.convertValue(b,"x"))||0,y:Math.round(this.convertValue(i,"y"))||0};if(!g){this.propagate("start",null);this.propagate("stop",null);this.propagate("change",null);this.propagate("slide",null)}}});a.ui.slider.getter="value";a.ui.slider.defaults={handle:".ui-slider-handle",distance:1,animate:false}})(jQuery);
