function Slider(A){this.mContainer;this.mBody;this.mSegments;this.mSlider;this.mIncrementButton;this.mDecrementButton;this.mGlassPlate;this.mSegmentRange=null;this.mValue=null;this.mFunctionNotifyOfChange=A;this.mSlideInProgress=null;this.mReverseScale=true;this.mAnimate=true;this.SEGMENT_CLASSNAME="sliderSegment";this.INCREMENT_CLASSNAME="sliderIncrement";this.DECREMENT_CLASSNAME="sliderDecrement";this.SLIDER_CLASSNAME="slider";this.SLIDER_OPACITY=0.75;this.SEGMENT_DIMENSIONS=$([20,17]);this.init=function(){this.mBody=$(document.createElement("div"));this.mSegments=$(document.createElement("div"));this.mSlider=$(document.createElement("div"));this.mIncrementButton=$(document.createElement("div"));this.mDecrementButton=$(document.createElement("div"));this.mBody.slider=this;this.mSegments.slider=this;this.mSlider.slider=this;this.mIncrementButton.slider=this;this.mDecrementButton.slider=this;this.mSlider.addClassName(this.SLIDER_CLASSNAME);this.mIncrementButton.addClassName(this.INCREMENT_CLASSNAME);this.mDecrementButton.addClassName(this.DECREMENT_CLASSNAME);this.mBody.appendChild(this.mSlider);this.mBody.appendChild(this.mDecrementButton);this.mBody.appendChild(this.mSegments);this.mBody.appendChild(this.mIncrementButton);jshSetOpacity(this.mBody,this.SLIDER_OPACITY);this.mContainer.appendChild(this.mBody);this.mSlider.onmousedown=Static_Slider_StartDrag;this.mSlider.onmousemove=Static_Slider_Drag;this.mSlider.onmouseup=Static_Slider_EndDrag;this.mDecrementButton.onclick=Static_Slider_PreviousValue;this.mIncrementButton.onclick=Static_Slider_NextValue;this.mSlider.style.position="absolute";this.mSlider.style.left=0+"px";this.mSlider.style.top=0+"px";this.mSlider.style.zIndex="10000";this.mSlider.style.height=this.SEGMENT_DIMENSIONS[1]+"px";this.mDecrementButton.style.position="absolute";this.mDecrementButton.style.left=0+"px";this.mDecrementButton.style.top=0+"px";this.mDecrementButton.style.height=this.SEGMENT_DIMENSIONS[1]+"px";this.mSegments.style.position="absolute";this.mSegments.style.left=this.mDecrementButton.getWidth()+"px";this.mSegments.style.top=0+"px";this.mSegments.style.height=this.SEGMENT_DIMENSIONS[1]+"px";this.mIncrementButton.style.position="absolute";this.mIncrementButton.style.right=0+"px";this.mIncrementButton.style.top=0+"px";this.mIncrementButton.style.height=this.SEGMENT_DIMENSIONS[1]+"px";this.constructSegments();this.mBody.style.position="absolute";this.mBody.style.width=(this.mDecrementButton.getWidth()+this.mSegments.getWidth()+this.mIncrementButton.getWidth())+"px";this.mBody.style.height=this.SEGMENT_DIMENSIONS[1]+"px";this.mBody.style.overflow="hidden";this.reposition();this.setValue(this.mValue)};this.constructSegments=function(){if(this.mSegmentRange){var B=0;var E;var D;for(var C=this.mSegmentRange[0];C<=this.mSegmentRange[1];C++){E=$(document.createElement("div"));E.addClassName(this.SEGMENT_CLASSNAME);E.slider=this;this.mSegments.appendChild(E);D=(B*this.SEGMENT_DIMENSIONS[0]);E.style.position="absolute";E.style.left=D+"px";E.style.top=0+"px";E.style.width=this.SEGMENT_DIMENSIONS[0]+"px";E.style.height=this.SEGMENT_DIMENSIONS[1]+"px";if(this.mReverseScale==true){E.mSegmentValue=this.mSegmentRange[1]-B}else{E.mSegmentValue=C}E.onclick=Static_Slider_JumptTo;B++}this.mSegments.style.width=(this.SEGMENT_DIMENSIONS[0]*B)+"px"}};this.render=function(B,C,D,E){if(B&&D){this.setSegmentRange(D);this.mValue=E;this.mGlassPlate=C;this.mContainer=B;this.init()}};this.setAnimate=function(B){this.mAnimate=B};this.setSegmentRange=function(B){this.mSegmentRange=B};this.setValue=function(C,B){C=Math.max(C,this.mSegmentRange[0]);C=Math.min(C,this.mSegmentRange[1]);this.mValue=C;this.moveSliderTo(this.mValue);if(this.mFunctionNotifyOfChange&&(B!=false)){this.mFunctionNotifyOfChange(this.mValue)}};this.nextValue=function(){if(this.mReverseScale){this.setValue(this.mValue-1)}else{this.setValue(this.mValue+1)}};this.previousValue=function(){if(this.mReverseScale){this.setValue(this.mValue+1)}else{this.setValue(this.mValue-1)}};this.moveSliderTo=function(F){if((F>=this.mSegmentRange[0])&&(F<=this.mSegmentRange[1])){var E=null;var D=this.mSegments.childNodes;for(var C=0;C<D.length;C++){if(D[C]&&(D[C].mSegmentValue==F)){E=D[C];break}}if(E){var G=parseInt(E.style.left);var B=G+this.mDecrementButton.getWidth();B+=(this.SEGMENT_DIMENSIONS[0]/2);B-=(this.mSlider.getWidth()/2);this.mSlider.style.left=Math.round(B)+"px";this.mSlider.style.top=0+"px"}}};this.moveTo=function(C){var B=Math.max(C[0],0);var D=Math.max(C[1],0);this.mBody.style.left=B+"px";this.mBody.style.top=D+"px"};this.reposition=function(){if(this.mContainer){var B=Math.round((this.mContainer.getWidth()/2)-(this.mBody.getWidth()/2));var C=Math.round((2.3*this.mContainer.getHeight()/3)-(this.mBody.getHeight()/2));this.moveTo([B,C])}};this.showControls=function(){if(this.mSegments&&this.mSegments.childNodes&&this.mSegments.childNodes.length>0){if(this.mAnimate==true){jshFadeElement(this.mBody,100,30,true,this.SLIDER_OPACITY)}else{this.mBody.show()}}};this.hideControls=function(){if(this.mAnimate==true){jshFadeElement(this.mBody,100,30,false)}else{this.mBody.hide()}}}function Static_Slider_EndDrag(D,A){D=jshGetEvent(D);var B=jshGetSourceElement(D);if(B&&B.slider){var C=B.slider;if(C.mSlideInProgress==true){C.mSlideInProgress=null;C.mBody.onmousemove=null;C.mBody.onmouseup=null;if(C.mGlassPlate){C.mGlassPlate.hide();C.mGlassPlate.slider=null;C.mGlassPlate.onmousemove=null;C.mGlassPlate.onmouseup=null;C.mGlassPlate.onmouseout=null}if(A!=true){C.setValue(C.newValue)}C.newValue=null}}}function Static_Slider_StartDrag(C){C=jshGetEvent(C);var A=jshGetSourceElement(C);if(A&&A.slider){var B=A.slider;if(B.mSlideInProgress!=true){B.mSlideInProgress=true;B.mDragingX=Event.pointerX(C);B.mBody.onmousemove=Static_Slider_Drag;B.mBody.onmouseup=Static_Slider_EndDrag;B.mLastCurrentX=parseInt(B.mSlider.style.left);B.newValue=B.mValue;if(B.mGlassPlate){B.mGlassPlate.slider=B;B.mGlassPlate.show();B.mGlassPlate.onmousemove=Static_Slider_Drag;B.mGlassPlate.onmouseup=Static_Slider_EndDrag;B.mGlassPlate.onmouseout=Static_Slider_EndDrag}B.slidingValue=B.mValue}}}function Static_Slider_Drag(F){F=jshGetEvent(F);var B=jshGetSourceElement(F);if(B&&B.slider){var E=B.slider;if(E.mSlideInProgress==true){var A=Event.pointerX(F);var G=Event.pointerY(F);var D=E.mSegments.childNodes;for(var C=0;C<D.length;C++){if(D[C]){if(PPosition.within(D[C],A,G)){E.moveSliderTo(D[C].mSegmentValue);E.newValue=D[C].mSegmentValue}}}}}}function Static_Slider_NextValue(C){C=jshGetEvent(C);var A=jshGetSourceElement(C);if(A&&A.slider){var B=A.slider;if(B.mSlideInProgress!=true){B.nextValue()}}}function Static_Slider_PreviousValue(C){C=jshGetEvent(C);var A=jshGetSourceElement(C);if(A&&A.slider){var B=A.slider;if(B.mSlideInProgress!=true){B.previousValue()}}}function Static_Slider_JumptTo(C){C=jshGetEvent(C);var A=jshGetSourceElement(C);if(A&&A.slider){var B=A.slider;if(B.mSlideInProgress!=true){B.setValue(A.mSegmentValue,true)}}};
