if(!Control)var Control={};Control.Slider=Class.create();Control.Slider.prototype={initialize:function(i,l,I){var O=this,o=O;if(i instanceof Array){O.handles=i.collect(function(i){return $(i)})}else{O.handles=[$(i)]}
O.track=$(l);O.options=I||{};O.axis=O.options.axis||'horizontal';O.increment=O.options.increment||1;O.step=parseInt(O.options.step||'1');O.range=O.options.range||$R(0,1);O.value=0;O.values=O.handles.map(function(){return 0});O.spans=O.options.spans?O.options.spans.map(function(i){return $(i)}):false;O.options.startSpan=$(O.options.startSpan||null);O.options.endSpan=$(O.options.endSpan||null);O.restricted=O.options.restricted||false;O.maximum=O.options.maximum||O.range.end;O.minimum=O.options.minimum||O.range.start;O.alignX=parseInt(O.options.alignX||'0');O.alignY=parseInt(O.options.alignY||'0');O.trackLength=O.maximumOffset()-O.minimumOffset();O.handleLength=O.isVertical()?O.handles[0].offsetHeight:O.handles[0].offsetWidth;O.active=false;O.dragging=false;O.disabled=false;if(O.options.disabled)O.setDisabled();O.allowedValues=O.options.values?O.options.values.sortBy(Prototype.K):false;if(O.allowedValues){O.minimum=O.allowedValues.min();O.maximum=O.allowedValues.max()}
O.eventMouseDown=O.startDrag.bindAsEventListener(O);O.eventMouseUp=O.endDrag.bindAsEventListener(O);O.eventMouseMove=O.update.bindAsEventListener(O);O.handles.each(function(i,I){I=o.handles.length-1-I;o.setValue(parseFloat((o.options.sliderValue instanceof Array?o.options.sliderValue[I]:o.options.sliderValue)||o.range.start),I);Element.makePositioned(i);Event.observe(i,"mousedown",o.eventMouseDown)});Event.observe(O.track,"mousedown",O.eventMouseDown);Event.observe(document,"mouseup",O.eventMouseUp);Event.observe(document,"mousemove",O.eventMouseMove);O.initialized=true},dispose:function(){var I=this,i=I;Event.stopObserving(I.track,"mousedown",I.eventMouseDown);Event.stopObserving(document,"mouseup",I.eventMouseUp);Event.stopObserving(document,"mousemove",I.eventMouseMove);I.handles.each(function(I){Event.stopObserving(I,"mousedown",i.eventMouseDown)})},setDisabled:function(){this.disabled=true},setEnabled:function(){this.disabled=false},getNearestValue:function(i){var o=this;if(o.allowedValues){if(i>=o.allowedValues.max())return(o.allowedValues.max());if(i<=o.allowedValues.min())return(o.allowedValues.min());var l=Math.abs(o.allowedValues[0]-i),I=o.allowedValues[0];o.allowedValues.each(function(O){var o=Math.abs(O-i);if(o<=l){I=O;l=o}});return I}
if(i>o.range.end)return o.range.end;if(i<o.range.start)return o.range.start;return i},setValue:function(I,i){var l=this;if(!l.active){l.activeHandle=l.handles[i];l.activeHandleIdx=i;l.updateStyles()}
i=i||l.activeHandleIdx||0;if(l.initialized&&l.restricted){if((i>0)&&(I<l.values[i-1]))I=l.values[i-1];if((i<(l.handles.length-1))&&(I>l.values[i+1]))I=l.values[i+1]}
I=l.getNearestValue(I);l.values[i]=I;l.value=l.values[0];l.handles[i].style[l.isVertical()?'top':'left']=l.translateToPx(I);l.drawSpans();if(!l.dragging||!l.event)l.updateFinished()},setValueBy:function(I,i){var l=this;l.setValue(l.values[i||l.activeHandleIdx||0]+I,i||l.activeHandleIdx||0)},translateToPx:function(i){var I=this;return Math.round(((I.trackLength-I.handleLength)/(I.range.end-I.range.start))*(i-I.range.start))+"px"},translateToValue:function(i){var I=this;return((i/(I.trackLength-I.handleLength)*(I.range.end-I.range.start))+I.range.start)},getRange:function(i){var I=this.values.sortBy(Prototype.K);i=i||0;return $R(I[i],I[i+1])},minimumOffset:function(){var i=this;return(i.isVertical()?i.alignY:i.alignX)},maximumOffset:function(){var i=this;return(i.isVertical()?i.track.offsetHeight-i.alignY:i.track.offsetWidth-i.alignX)},isVertical:function(){return(this.axis=='vertical')},drawSpans:function(){var I=this,i=I;if(I.spans)$R(0,I.spans.length-1).each(function(I){i.setSpan(i.spans[I],i.getRange(I))});if(I.options.startSpan)I.setSpan(I.options.startSpan,$R(0,I.values.length>1?I.getRange(0).min():I.value));if(I.options.endSpan)I.setSpan(I.options.endSpan,$R(I.values.length>1?I.getRange(I.spans.length-1).max():I.value,I.maximum))},setSpan:function(I,i){var l=this;if(l.isVertical()){I.style.top=l.translateToPx(i.start);I.style.height=l.translateToPx(i.end-i.start)}else{I.style.left=l.translateToPx(i.start);I.style.width=l.translateToPx(i.end-i.start)}},updateStyles:function(){var i=this;i.handles.each(function(i){Element.removeClassName(i,'selected')});Element.addClassName(i.activeHandle,'selected')},startDrag:function(o){var O=this;if(Event.isLeftClick(o)){if(!O.disabled){O.active=true;var l=Event.element(o),I=[Event.pointerX(o),Event.pointerY(o)];if(l==O.track){var i=Position.cumulativeOffset(O.track);O.event=o;O.setValue(O.translateToValue((O.isVertical()?I[1]-i[1]:I[0]-i[0])-(O.handleLength/2)));var i=Position.cumulativeOffset(O.activeHandle);O.offsetX=(I[0]-i[0]);O.offsetY=(I[1]-i[1])}else{while((O.handles.indexOf(l)==-1)&&l.parentNode)l=l.parentNode;O.activeHandle=l;O.activeHandleIdx=O.handles.indexOf(O.activeHandle);O.updateStyles();var i=Position.cumulativeOffset(O.activeHandle);O.offsetX=(I[0]-i[0]);O.offsetY=(I[1]-i[1])}}
Event.stop(o)}},update:function(i){var I=this;if(I.active){if(!I.dragging)I.dragging=true;I.draw(i);if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);Event.stop(i)}},draw:function(l){var o=this,i=[Event.pointerX(l),Event.pointerY(l)],I=Position.cumulativeOffset(o.track);i[0]-=o.offsetX+I[0];i[1]-=o.offsetY+I[1];o.event=l;o.setValue(o.translateToValue(o.isVertical()?i[1]:i[0]));if(o.initialized&&o.options.onSlide)o.options.onSlide(o.values.length>1?o.values:o.value,o)},endDrag:function(i){var I=this;if(I.active&&I.dragging){I.finishDrag(i,true);Event.stop(i)}
I.active=false;I.dragging=false},finishDrag:function(I,i){var l=this;l.active=false;l.dragging=false;l.updateFinished()},updateFinished:function(){var i=this;if(i.initialized&&i.options.onChange)i.options.onChange(i.values.length>1?i.values:i.value,i);i.event=null}}