1 line
32 KiB
JavaScript
1 line
32 KiB
JavaScript
Type.registerNamespace("Sys.Extended.UI");Sys.Extended.UI._MultiHandleSliderDragDropInternal=function(){Sys.Extended.UI._MultiHandleSliderDragDropInternal.initializeBase(this);this._instance=null};Sys.Extended.UI._MultiHandleSliderDragDropInternal.prototype={_getInstance:function(){return this._instance=new Sys.Extended.UI.GenericDragDropManager,this._instance.initialize(),this._instance.add_dragStart(Function.createDelegate(this,this._raiseDragStart)),this._instance.add_dragStop(Function.createDelegate(this,this._raiseDragStop)),this._instance}};Sys.Extended.UI._MultiHandleSliderDragDropInternal.registerClass("Sys.Extended.UI._MultiHandleSliderDragDropInternal",Sys.Extended.UI._DragDropManager);Sys.Extended.UI.DragDrop=new Sys.Extended.UI._MultiHandleSliderDragDropInternal;Sys.Extended.UI.MultiHandleInnerRailStyle=function(){};Sys.Extended.UI.MultiHandleInnerRailStyle.prototype={AsIs:0,SlidingDoors:1};Sys.Extended.UI.MultiHandleInnerRailStyle.registerEnum("Sys.Extended.UI.MultiHandleInnerRailStyle",!1);Sys.Extended.UI.MultiHandleSliderOrientation=function(){};Sys.Extended.UI.MultiHandleSliderOrientation.prototype={Horizontal:0,Vertical:1};Sys.Extended.UI.MultiHandleSliderOrientation.registerEnum("Sys.Extended.UI.MultiHandleSliderOrientation",!1);Sys.Extended.UI.MultiHandleSliderBehavior=function(n){Sys.Extended.UI.MultiHandleSliderBehavior.initializeBase(this,[n]);this._isServerControl=!1;this._minimum=null;this._maximum=null;this._orientation=Sys.Extended.UI.MultiHandleSliderOrientation.Horizontal;this._cssClass=null;this._multiHandleSliderTargets=null;this._length=150;this._steps=0;this._enableHandleAnimation=!1;this._showInnerRail=!1;this._showHoverStyle=!1;this._showDragStyle=!1;this._raiseChangeOnlyOnMouseUp=!0;this._innerRailStyle=Sys.Extended.UI.MultiHandleInnerRailStyle.AsIs;this._enableInnerRangeDrag=!1;this._enableRailClick=!0;this._isReadOnly=!1;this._increment=1;this._enableKeyboard=!0;this._enableMouseWheel=!0;this._tooltipText="";this._boundControlID=null;this._handleCssClass=null;this._handleImageUrl=null;this._handleImage=null;this._railCssClass=null;this._decimals=0;this._textBox=null;this._wrapper=null;this._outer=null;this._inner=null;this._handleData=null;this._handleAnimationDuration=.02;this._handles=0;this._innerDragFlag=!1;this._isVertical=!1;this._selectStartHandler=null;this._mouseUpHandler=null;this._mouseOutHandler=null;this._keyDownHandler=null;this._mouseWheelHandler=null;this._mouseOverHandler=null;this._animationPending=!1;this._selectStartPending=!1;this._initialized=!1;this._handleUnderDrag=null;this._innerDrag=!1;this._blockInnerClick=!1};Sys.Extended.UI.MultiHandleSliderBehavior.prototype={initialize:function(){if(Sys.Extended.UI.MultiHandleSliderBehavior.callBaseMethod(this,"initialize"),this._boundControlID&&!this._multiHandleSliderTargets&&(this._multiHandleSliderTargets=[{ControlID:this._boundControlID,HandleCssClass:this._handleCssClass,HandleImageUrl:this._handleImageUrl,Decimals:this._decimals}]),this._handles=this._multiHandleSliderTargets?this._multiHandleSliderTargets.length:0,this._handles===0){var n=document.createElement("INPUT");n.id="boundless";n.style.display="none";n.value=this.get_minimum();document.forms[0].appendChild(n);this._multiHandleSliderTargets=[{ControlID:n.id,HandleCssClass:this._handleCssClass,HandleImageUrl:this._handleImageUrl,Decimals:this._decimals}];this._boundControlID=n.id;this._handles=1}this._isVertical=this._orientation===Sys.Extended.UI.MultiHandleSliderOrientation.Vertical;this._resolveNamingContainer();this._createWrapper();this._createOuterRail();this._createHandles();this._createInnerRail();this._setRailStyles();this._length&&(this._cssClass||this._innerRailStyle===Sys.Extended.UI.MultiHandleInnerRailStyle.SlidingDoors||(this._isVertical?this._outer.style.height=this._length+"px":this._outer.style.width=this._length+"px"));this._build();this._enforceElementPositioning();this._initializeSlider()},dispose:function(){this._disposeHandlers();this._disposeMultiHandleSliderTargets();this._enableHandleAnimation&&this._handleAnimation&&this._handleAnimation.dispose();Sys.Extended.UI.MultiHandleSliderBehavior.callBaseMethod(this,"dispose")},get_sliderInitialized:function(){return this._initialized},get_SliderInitialized:function(){return Sys.Extended.Deprecated("get_SliderInitialized()","get_sliderInitialized()"),this.get_sliderInitialized()},getValue:function(n){var t=$get(this._multiHandleSliderTargets[n].ControlID);return t.value},setValue:function(n,t){var i=$get(this._multiHandleSliderTargets[n].ControlID);i&&(this.beginUpdate(),this._setMultiHandleSliderTargetValue(i,this._getNearestStepValue(t)),this.endUpdate())},get_values:function(){for(var i,t=[this._handles],n=0;n<this._handles;n++)i=this._multiHandleSliderTargets[n],t[n]=i.value;return t.join(",")},_build:function(){this._textBox=this.get_element();this._textBox.parentNode.insertBefore(this._wrapper,this._textBox);this._wrapper.appendChild(this._outer);this._inner&&this._showInnerRail&&this._outer.appendChild(this._inner);this._textBox.style.display="none"},_calculateInnerRailOffset:function(n){var t=this._isVertical?this._inner.style.top:this._inner.style.left,i=this._isVertical?n.offsetY:n.offsetX;return i+parseInt(t,10)},_calculateClick:function(n){var f=this._getOuterBounds(),i=this._handleData[0],e=this._getBoundsInternal(i),t,r,u;i=this._calculateClosestHandle(n);t=e.width/2;r=f.width-t;n=n<t?t:n>r?r:n;u=$get(i.multiHandleSliderTargetID);this._calculateMultiHandleSliderTargetValue(u,n,!0);$common.tryFireEvent(this.get_element(),"change")},_calculateClosestHandle:function(n){for(var f,e,o,i=this._handleData[0],r=[this._handles],s=this._getOuterBounds(),t=0;t<this._handles;t++){var u=this._handleData[t],l=this._getBoundsInternal(u),a=this._isVertical?u.offsetTop:l.x-s.x;r[t]=Math.abs(a-n)}for(f=r[0],t=0;t<this._handles;t++)e=r[t],e<f&&(u=this._handleData[t],f=e,i=u);if(this._innerDrag){var h=Array.indexOf(this._handleData,i),c=Sys.UI.DomElement.getLocation(i),v=this._isVertical?c.y:c.x-s.x;v>=n+r[h]&&(o=this._handleData[h-1],o&&(i=o))}return i},_calculateMultiHandleSliderTargetValue:function(n,t,i){var u,c,f=this._minimum,e=this._maximum,y,o,r,s,ut,k,d,g,nt,ot;if(this._handleUnderDrag&&!n&&(o=this._handleUnderDrag,n=$get(this._handleUnderDrag.multiHandleSliderTargetID),this._innerDrag&&(y=Array.indexOf(this._handleData,o),u=this._handleData[y+1],u||(u=this._handleData[y-1]),c=$get(u.multiHandleSliderTargetID))),o=n.Handle,r=n.value,r&&!i){if(typeof r!="number")try{r=parseFloat(r)}catch(lt){r=Number.NaN}isNaN(r)&&(r=this._minimum);val=Math.max(Math.min(r,e),f)}else{var l=this._getBoundsInternal(o),p=this._getOuterBounds(),w=t?t-l.width/2:l.x-p.x,st=p.width-l.width,ht=w/st;val=Math.max(Math.min(r,e),f);val=w===0?f:w===p.width-l.width?e:f+ht*(e-f)}this._steps>0&&(val=this._getNearestStepValue(val));val=Math.max(Math.min(val,e),f);var tt=[],it=[],a=0,b=0,v,rt=!0;for(s=0;s<this._handles;s++)ut=this._multiHandleSliderTargets[s],ut.ControlID.match(n.id)?rt=!1:rt?(tt[a]=this._multiHandleSliderTargets[s],a++):(it[b]=this._multiHandleSliderTargets[s],b++);if(a>0&&(k=parseFloat($get(tt[a-1].ControlID).value),val=Math.max(val,k),v=val===k),b>0&&(d=parseFloat($get(it[0].ControlID).value),val=Math.min(val,d),v=val===d),u){var ct=val-parseFloat(r),ft=parseFloat(c.value),h=ft+ct,et=Array.indexOf(this._handleData,u)+1;et<this._multiHandleSliderTargets.length&&(g=this._multiHandleSliderTargets[et].ControlID);g&&(nt=$get(g));nt&&(ot=nt.value);h>(ot||e)&&(h=ft,val=r,v=!0)}return v||Math.max(val,e)!==e||Math.min(val,f)!==f?(this.beginUpdate(),this._handles===1?this._setMultiHandleSliderTargetValue(n,val):(n.value=val,o.Value=val,this._setHandlePosition(o,!0)),u&&(c.value=h,u.Value=h,this._setHandlePosition(u,!0)),this.endUpdate()):(this.beginUpdate(),val=Math.max(Math.min(val,e),f),this._setMultiHandleSliderTargetValue(n,val),u&&this._setMultiHandleSliderTargetValue(c,h),this.endUpdate()),val},_cancelDrag:function(){Sys.Extended.UI.MultiHandleSliderBehavior.DropPending===this&&(Sys.Extended.UI.MultiHandleSliderBehavior.DropPending=null,this._selectStartPending&&$removeHandler(document,"selectstart",this._selectStartHandler))},_createHandles:function(){for(var o,c,t,s,h,l,e,n=0;n<this._handles;n++){var a=this.get_id()+"_handle_"+n,f=this._isVertical,i="",r="",u="";this._handles===1&&this._handleImageUrl&&(o="<img id='"+this.get_id()+"_handleImage' src='"+this._handleImageUrl+"' alt='' />");var v="<a id='"+a+"' ",y=o?o:"",p="><div>"+y+"<\/div><\/a>";this._outer.innerHTML+=v+p}for(this._handleData=[this._handles],n=0;n<this._handles;n++)c=this._cssClass?this._cssClass:"ajax__multi_slider_default",t=this._multiHandleSliderTargets[n].HandleCssClass,(t||this._cssClass)&&(i=t?t+" ":this._cssClass+" ",r=i,u=i,s=t,h=t,i=t?i+t:i+this._isVertical?"handle_vertical":"handle_horizontal",r=h?r+h:r+this._isVertical?"handle_vertical_hover":"handle_horizontal_hover",u=s?u+s:u+this._isVertical?"handle_vertical_down":"handle_horizontal_down"),this._handleCallbacks={mouseover:Function.createCallback(this._onShowHover,{vertical:f,custom:r}),mouseout:Function.createCallback(this._onHideHover,{vertical:f,custom:i}),mousedown:Function.createCallback(this._onShowDrag,{vertical:f,custom:u}),mouseup:Function.createCallback(this._onHideDrag,{vertical:f,custom:i})},this._handleData[n]=this._outer.childNodes[n],this._handleData[n].style.overflow="hidden",$addHandlers(this._handleData[n],this._handleCallbacks),t=this._multiHandleSliderTargets[n].HandleCssClass,t?(Sys.UI.DomElement.addCssClass(this._handleData[n],c),Sys.UI.DomElement.addCssClass(this._handleData[n],t)):this._handleData[n].className=this._isVertical?"handle_vertical":"handle_horizontal",this._multiHandleSliderTargets&&(l=this._multiHandleSliderTargets[n].ControlID,this._handleData[n].multiHandleSliderTargetID=l),this._handleData[n].style.left="0px",this._handleData[n].style.top="0px",this._steps<1?this._enableHandleAnimation&&(e=new Sys.Extended.UI.Animation.LengthAnimation(this._handleData[n],this._handleAnimationDuration,100,"style"),e.add_ended(Function.createDelegate(this,this._onAnimationEnded)),e.add_step(Function.createDelegate(this,this._onAnimationStep)),this._handleData[n].Animation=e):this._enableHandleAnimation=!1},_createInnerRail:function(){this._handles>1&&this._showInnerRail&&(this._inner=document.createElement("DIV"),this._inner.id=this.get_id()+"_inner",this._inner.style.outline="none",this._inner.tabIndex=-1)},_createOuterRail:function(){this._outer=document.createElement("DIV");this._outer.id=this.get_id()+"_outer";this._outer.style.outline="none";this._outer.tabIndex=-1},_createWrapper:function(){this._wrapper=document.createElement("DIV");this._wrapper.style.position="relative";this._wrapper.style.outline="none"},_disposeHandlers:function(){if(!this._isReadOnly){$removeHandler(document,"mouseup",this._mouseUpHandler);$removeHandler(document,"mouseout",this._mouseOutHandler);this._outer&&(this._outer.addEventListener?this._outer.removeEventListener("DOMMouseScroll",this._mouseWheelHandler,!1):this._outer.detachEvent("onmousewheel",this._mouseWheelHandler),$common.removeHandlers(this._outer,this._outerDelegates));for(var n=0;n<this._handles;n++)this._handleDelegates&&$common.removeHandlers(this._handleData[n],this._handleDelegates),this._handleCallbacks&&$clearHandlers(this._handleData[n]);this._handleDelegates=null;this._handleCallbacks=null;this._inner&&this._showInnerRail&&this._innerDelegates&&$common.removeHandlers(this._inner,this._innerDelegates);this._selectStartHandler=null;this._mouseUpHandler=null;this._mouseOutHandler=null;this._mouseWheelHandler=null;this._mouseOverHandler=null;this._keyDownHandler=null}},_disposeMultiHandleSliderTargets:function(){var t,n,i;if(this._multiHandleSliderTargets)for(t=0;t<this._handles;t++)n=this._multiHandleSliderTargets[t],i=n&&n.nodeName==="INPUT",i&&($removeHandler(n,"change",n.ChangeHandler),$removeHandler(n,"keypress",n.KeyPressHandler),n.ChangeHandler=null,n.KeyPressHandler=null)},_ensureBinding:function(n){var t,i;n&&(t=n.value,(t>=this._minimum||t<=this._maximum)&&(i=n&&n.nodeName==="INPUT",i?n.value=t:n&&(n.innerHTML=t)))},_enforceElementPositioning:function(){var n={position:this.get_element().style.position,top:this.get_element().style.top,right:this.get_element().style.right,bottom:this.get_element().style.bottom,left:this.get_element().style.left};n.position!==""&&(this._wrapper.style.position=n.position);n.top!==""&&(this._wrapper.style.top=n.top);n.right!==""&&(this._wrapper.style.right=n.right);n.bottom!==""&&(this._wrapper.style.bottom=n.bottom);n.left!==""&&(this._wrapper.style.left=n.left)},_getNearestStepValue:function(n){var t,i;if(this._steps===0||(t=this._maximum-this._minimum,t===0))return n;if(this._steps-1!=0)i=t/(this._steps-1);else return n;return Math.round(n/i)*i},_getStepValues:function(){var t=[this._steps],i=this._maximum-this._minimum,r=i/(this._steps-1),n;for(t[0]=this._minimum,n=1;n<this._steps;n++)t[n]=this._minimum+r*n;return t},_handleSlide:function(n){var r=n?0:this._handles-1,u=n?1:0,f=n?this._handles:this._handles-1,i=this._handleData[r].multiHandleSliderTargetID,t;if(this._slideMultiHandleSliderTarget(i,n))for(t=u;t<f;t++)i=this._handleData[t].multiHandleSliderTargetID,this._slideMultiHandleSliderTarget(i,n);this._initializeInnerRail()},_initializeDragHandle:function(n){var t=n.DragHandle=document.createElement("DIV");t.style.position="absolute";t.style.width="1px";t.style.height="1px";t.style.overflow="hidden";t.style.background="none";document.forms[0].appendChild(n.DragHandle)},_initializeHandlers:function(){if(!this._isReadOnly){this._selectStartHandler=Function.createDelegate(this,this._onSelectStart);this._mouseUpHandler=Function.createDelegate(this,this._onMouseUp);this._mouseOutHandler=Function.createDelegate(this,this._onMouseOut);this._mouseWheelHandler=Function.createDelegate(this,this._onMouseWheel);this._mouseOverHandler=Function.createDelegate(this,this._onMouseOver);this._keyDownHandler=Function.createDelegate(this,this._onKeyDown);$addHandler(document,"mouseup",this._mouseUpHandler);$addHandler(document,"mouseout",this._mouseOutHandler);this._handleDelegates={mousedown:Function.createDelegate(this,this._onMouseDown),dragstart:Function.createDelegate(this,this._IEDragDropHandler),drag:Function.createDelegate(this,this._IEDragDropHandler),dragEnd:Function.createDelegate(this,this._IEDragDropHandler)};for(var n=0;n<this._handles;n++)$addHandlers(this._handleData[n],this._handleDelegates);this._outer&&(this._enableMouseWheel&&(this._outer.addEventListener?this._outer.addEventListener("DOMMouseScroll",this._mouseWheelHandler,!1):this._outer.attachEvent("onmousewheel",this._mouseWheelHandler)),this._outerDelegates={click:Function.createDelegate(this,this._onOuterRailClick),mouseover:Function.createDelegate(this,this._mouseOverHandler),keydown:Function.createDelegate(this,this._keyDownHandler)},$addHandlers(this._outer,this._outerDelegates));this._inner&&this._showInnerRail&&(this._innerDelegates={click:Function.createDelegate(this,this._onInnerRailClick),mousedown:Function.createDelegate(this,this._onMouseDownInner),mouseup:Function.createDelegate(this,this._onMouseUpInner),mouseout:Function.createDelegate(this,this._onMouseOutInner),mousemove:Function.createDelegate(this,this._onMouseMoveInner),dragStart:Function.createDelegate(this,this._IEDragDropHandler),drag:Function.createDelegate(this,this._IEDragDropHandler),dragEnd:Function.createDelegate(this,this._IEDragDropHandler)},$addHandlers(this._inner,this._innerDelegates))}},_initializeHandles:function(){var r=this.get_ClientState(),i,t,n,u;for(r&&(i=r.split(",",this._handles)),t=0;t<this._handles;t++)n=this._handleData[t],u=this._multiHandleSliderTargets[t].Decimals,i&&(n.Value=parseFloat(i[t])),this._initializeMultiHandleSliderTarget(n.multiHandleSliderTargetID,u,n),this._initializeHandleValue(n),this._setHandlePosition(n,!0),this._initializeDragHandle(n)},_initializeHandleValue:function(n){if(!n.Value){try{var t=$get(n.multiHandleSliderTargetID),r=t&&t.nodeName==="INPUT",i=parseFloat(r?t.value:t.innerHTML)}catch(u){i=Number.NaN}isNaN(i)?(n.Value=this._minimum,r?t.value=n.Value:t.innerHTML=n.Value):n.Value=i}},_initializeInnerRail:function(){if(this._inner&&this._showInnerRail){var u=0,f=this._handles-1,t=this._handleData[u],i=this._handles>1?this._handleData[f]:null;if(i){var e=parseInt(this._getBoundsInternal(t).width,10),n=parseInt(this._isVertical?t.style.top:t.style.left,10),r=parseInt(this._isVertical?i.style.top:i.style.left,10),o=parseInt(this._multiHandleSliderTargets[u].Offset,10),s=parseInt(this._multiHandleSliderTargets[f].Offset,10);n+=o;r+=s;this._isVertical?(this._inner.style.top=n+"px",this._inner.style.height=r+e-n+"px"):(this._inner.style.left=n+"px",this._inner.style.width=r+e-n+"px");this._innerRailStyle===Sys.Extended.UI.MultiHandleInnerRailStyle.SlidingDoors&&(this._inner.style.backgroundPosition=this._isVertical?"0 -"+n+"px":"-"+n+"px 0")}}},_initializeMultiHandleSliderTarget:function(n,t,i){var r,u;n&&(r=$get(n),i.Value&&(r.value=i.Value),r.Handle=i,r.Decimals=t,r.OldValue=r.value,r.onchange="setValue(this, "+r.value+")",r.Decimals||(r.Decimals=0),u=r&&r.nodeName==="INPUT",u&&(r.KeyPressHandler=Function.createDelegate(this,this._onMultiHandleSliderTargetKeyPressed),r.ChangeHandler=Function.createDelegate(this,this._onMultiHandleSliderTargetChange),$addHandler(r,"keypress",r.KeyPressHandler),$addHandler(r,"change",r.ChangeHandler)))},_initializeSlider:function(){Sys.Extended.UI.DragDrop.registerDropTarget(this);this._initializeHandles();this._initializeHandlers();this._initializeInnerRail();this._initialized=!0;this._raiseEvent("load")},_resetDragHandle:function(n){var t=$common.getBounds(n);$common.setLocation(n.DragHandle,{x:t.x,y:t.y})},_resolveNamingContainer:function(){var t,i,n;if(this._isServerControl&&this._multiHandleSliderTargets&&!this._boundControlID)for(t=this._clientStateFieldID.lastIndexOf(this._id),i=this._clientStateFieldID.substring(0,t),n=0;n<this._handles;n++)this._multiHandleSliderTargets[n].ControlID=i+this._multiHandleSliderTargets[n].ControlID},_saveState:function(){for(var t=[this._handles],n=0;n<this._handles;n++)t[n]=$get(this._multiHandleSliderTargets[n].ControlID).value;this.set_ClientState(t.join(","))},_setHandlePosition:function(n,t){var f=this._minimum,o=this._maximum,e=n.Value,h=this._enableHandleAnimation&&this._animationPending&&t,i=this._getBoundsInternal(n),r=this._getOuterBounds();if(i.width<=0&&r.width<=0&&(i.width=parseInt($common.getCurrentStyle(n,"width"),10),r.width=parseInt($common.getCurrentStyle(this._outer,"width"),10),i.width<=0||r.width<=0))throw Error.argument("width",Sys.Extended.UI.Resources.MultiHandleSlider_CssHeightWidthRequired);var c=o-f,l=(e-f)/c,u=Math.round(l*(r.width-i.width)),s=e===f?0:e===o?r.width-i.width:u;h?(n.Animation.set_startValue(i.x-r.x),n.Animation.set_endValue(s),n.Animation.set_propertyKey(this._isVertical?"top":"left"),n.Animation.play(),this._animationPending=!1):(u=s+"px",this._isVertical?n.style.top=u:n.style.left=u)},_setRailStyles:function(){var n,t,i;if(!this._inner&&this._railCssClass){this._outer.className=this._railCssClass;return}n=this._cssClass?this._cssClass:"ajax__multi_slider_default";Sys.UI.DomElement.addCssClass(this.get_element(),n);Sys.UI.DomElement.addCssClass(this._outer,n);Sys.UI.DomElement.addCssClass(this._wrapper,n);this._inner?(Sys.UI.DomElement.addCssClass(this._inner,n),t=this._isVertical?"outer_rail_vertical":"outer_rail_horizontal",i=this._isVertical?"inner_rail_vertical":"inner_rail_horizontal",Sys.UI.DomElement.addCssClass(this._outer,t),Sys.UI.DomElement.addCssClass(this._inner,i)):(t=this._isVertical?"inner_rail_vertical":"inner_rail_horizontal",Sys.UI.DomElement.addCssClass(this._outer,t))},_setMultiHandleSliderTargetValue:function(n,t){var r=n.OldValue,i=t,u;if(r===i&&this._isReadOnly)n.value=r;else{if(this.get_isUpdating()||(i=this._calculateMultiHandleSliderTargetValue(n)),n.value=i.toFixed(n.Decimals),this._ensureBinding(n),!Number.isInstanceOfType(n.value))try{n.value=parseFloat(n.value)}catch(f){n.value=Number.NaN}this._tooltipText&&(u=n.Handle,u.alt=u.title=String.format(this._tooltipText,n.value));this._initialized&&(n.Handle.Value=i,this._setHandlePosition(n.Handle,!0),this._handles===1&&(this.get_element().value=i),n.value!==r&&(n.OldValue=n.value,this._initializeInnerRail(),this._innerDrag&&(this._blockInnerClick=!0),this._raiseEvent("valueChanged"),this.get_isUpdating()&&(this._raiseChangeOnlyOnMouseUp||$common.tryFireEvent(this.get_element(),"change"))))}this._saveState()},_setValueFromMultiHandleSliderTarget:function(n){this.beginUpdate();n&&(this._isReadOnly?this._setMultiHandleSliderTargetValue(n,n.OldValue):(this._handles===1&&this._steps>0&&this._setMultiHandleSliderTargetValue(n,n.value),this._calculateMultiHandleSliderTargetValue(n)));this.endUpdate()},_slideMultiHandleSliderTarget:function(n,t){var u=$get(n),s=u.value,r,i,f,e,o;if(this._steps>0){if(f=this._getStepValues(),e=this._getNearestStepValue(s),r=e,t){for(i=this._steps-1;i>-1;i--)if(f[i]<e){r=f[i];break}}else for(i=0;i<this._steps;i++)if(f[i]>e){r=f[i];break}}else o=parseFloat(u.value),r=t?o-parseFloat(this._increment):o+parseFloat(this._increment);return u.value=r,this._setValueFromMultiHandleSliderTarget(u),u.value==r},_startDragDrop:function(n){this._resetDragHandle(n);this._handleUnderDrag=n;Sys.Extended.UI.DragDrop.startDragDrop(this,n.DragHandle,null)},_onAnimationEnded:function(){this._initializeInnerRail()},_onAnimationStep:function(){this._initializeInnerRail()},_onHideDrag:function(n,t){this.className=t.custom&&t.custom.length>0?t.custom:t.vertical?"handle_vertical":"handle_horizontal"},_onHideHover:function(n,t){this.className=t.custom&&t.custom.length>0?t.custom:t.vertical?"ajax__multi_slider_default handle_vertical":"ajax__multi_slider_default handle_horizontal"},_onInnerRailClick:function(n){if(this._enableRailClick){var t=n.target;t!==this._inner||this._blockInnerClick?this._blockInnerClick=!1:(this._animationPending=!0,this._onInnerRailClicked(n))}},_onInnerRailClicked:function(n){var t=this._calculateInnerRailOffset(n);this._calculateClick(t)},_onKeyDown:function(n){if(this._enableKeyboard){var t=new Sys.UI.DomEvent(n),i=!1;switch(t.keyCode||t.rawEvent.keyCode){case Sys.UI.Key.up:case Sys.UI.Key.left:return i||(this._handleSlide(!0),t.preventDefault(),i=!0),!1;case Sys.UI.Key.down:case Sys.UI.Key.right:return i||(this._handleSlide(!1),t.preventDefault(),i=!0),!1;default:return!1}}},_onMouseOver:function(){this._outer.focus()},_onMouseWheel:function(n){var t=0;return n.wheelDelta?(t=n.wheelDelta/120,Sys.Browser.agent===Sys.Browser.Opera&&(t=-t)):n.detail&&(t=-n.detail/3),t&&this._handleSlide(t<=0),n.preventDefault&&n.preventDefault(),!1},_onMouseUp:function(n){window._event=n;n.preventDefault();this._cancelDrag()},_onMouseOut:function(n){window._event=n;n.preventDefault();this._outer.blur();this._handleUnderDrag&&this._cancelDrag()},_onMouseOutInner:function(n){window._event=n;n.preventDefault();this._inner.blur();this._innerDrag&&this._cancelDrag()},_onMouseDown:function(n){if(window._event=n,n.preventDefault(),!Sys.Extended.UI.MultiHandleSliderBehavior.DropPending){Sys.Extended.UI.MultiHandleSliderBehavior.DropPending=this;$addHandler(document,"selectstart",this._selectStartHandler);this._selectStartPending=!0;var t=n.target;this._startDragDrop(t)}},_onMouseDownInner:function(n){window._event=n;n.preventDefault();this._enableInnerRangeDrag&&(this._innerDragFlag||(this._innerDragFlag=!0))},_onMouseUpInner:function(){this._enableInnerRangeDrag&&(this._innerDragFlag=!1)},_onMouseMoveInner:function(n){if(window._event=n,n.preventDefault(),this._enableInnerRangeDrag&&!this._innerDrag&&this._innerDragFlag&&(this._innerDragFlag=!1,!Sys.Extended.UI.MultiHandleSliderBehavior.DropPending)){Sys.Extended.UI.MultiHandleSliderBehavior.DropPending=this;$addHandler(document,"selectstart",this._selectStartHandler);this._selectStartPending=!0;this._innerDrag=!0;var t=this._calculateInnerRailOffset(n),i=this._calculateClosestHandle(t);this._startDragDrop(i)}},_onMultiHandleSliderTargetChange:function(n){this._animationPending=!0;var t=n.target;this._setValueFromMultiHandleSliderTarget(t);this._initializeInnerRail();n.preventDefault()},_onMultiHandleSliderTargetKeyPressed:function(n){var t=new Sys.UI.DomEvent(n),i;t.charCode===13&&(this._animationPending=!0,i=t.target,this._setValueFromMultiHandleSliderTarget(i),this._initializeInnerRail(),t.preventDefault())},_onOuterRailClick:function(n){if(this._enableRailClick){var t=n.target;t===this._outer&&(this._animationPending=!0,this._onOuterRailClicked(n))}},_onOuterRailClicked:function(n){var t=this._isVertical?n.offsetY:n.offsetX;this._calculateClick(t)},_onShowDrag:function(n,t){this.className=t.custom&&t.custom.length>0?t.custom:t.vertical?"ajax__multi_slider_default handle_vertical_down":"ajax__multi_slider_default handle_horizontal_down"},_onShowHover:function(n,t){this.className=t.custom&&t.custom.length>0?t.custom:t.vertical?"ajax__multi_slider_default handle_vertical_hover":"ajax__multi_slider_default handle_horizontal_hover"},get_dragDataType:function(){return"HTML"},getDragData:function(){return this._handleUnderDrag},get_dragMode:function(){return Sys.Extended.UI.DragMode.Move},onDragStart:function(){this._resetDragHandle(this._handleUnderDrag);this._raiseEvent("dragStart")},onDrag:function(){var n=this._getBoundsInternal(this._handleUnderDrag.DragHandle),r=this._getBoundsInternal(this._handleUnderDrag),t=this._getOuterBounds(),i;i=this._isVertical?{y:n.x-t.x,x:0}:{x:n.x-t.x,y:0};$common.setLocation(this._handleUnderDrag,i);this._calculateMultiHandleSliderTargetValue(null,null,!0);this._steps>1&&this._setHandlePosition(this._handleUnderDrag,!1);this._raiseEvent("drag")},onDragEnd:function(){this._initializeInnerRail();this._raiseChangeOnlyOnMouseUp&&$common.tryFireEvent(this.get_element(),"change");this._innerDrag=!1;this._handleUnderDrag=null;this._raiseEvent("dragEnd")},get_dropTargetElement:function(){return document.forms[0]},canDrop:function(n,t){return t=="HTML"},drop:Function.emptyMethod,onDragEnterTarget:Function.emptyMethod,onDragLeaveTarget:Function.emptyMethod,onDragInTarget:Function.emptyMethod,_IEDragDropHandler:function(n){n.preventDefault()},_onSelectStart:function(n){return n.preventDefault(),!1},_getOuterBounds:function(){return this._getBoundsInternal(this._outer)},_getInnerBounds:function(){return this._getBoundsInternal(this._inner)},_getBoundsInternal:function(n){var t=$common.getBounds(n);return this._isVertical?{x:t.y,y:t.x,height:t.width,width:t.height,right:t.right,left:t.left,bottom:t.bottom,location:{x:t.y,y:t.x},size:{width:t.height,height:t.width}}:{x:t.x,y:t.y,height:t.height,width:t.width,right:t.right,left:t.left,bottom:t.bottom,location:{x:t.x,y:t.y},size:{width:t.width,height:t.height}}},_raiseEvent:function(n,t){var i=this.get_events().getHandler(n);i&&(t||(t=Sys.EventArgs.Empty),i(this,t))},get_value:function(){var n=$get(this._boundControlID);return n.value?n.value:0},set_value:function(n){var t=$get(this._multiHandleSliderTargets[0].ControlID);this.beginUpdate();this._setMultiHandleSliderTargetValue(t,this._getNearestStepValue(n));this.endUpdate();$common.tryFireEvent(t,"change")},get_Value:function(){return Sys.Extended.Deprecated("get_Value()","get_value()"),this.get_value()},set_Value:function(n){Sys.Extended.Deprecated("set_Value(value)","set_value(value)");this.set_value(n)},get_minimum:function(){return this._minimum},set_minimum:function(n){n!==this._minimum&&(this._minimum=n,this.raisePropertyChanged("minimum"))},get_maximum:function(){return this._maximum},set_maximum:function(n){n!==this._maximum&&(this._maximum=n,this.raisePropertyChanged("maximum"))},get_length:function(){return this._length},set_length:function(n){n!==this._length&&(this._length=n,this.raisePropertyChanged("length"))},get_steps:function(){return this._steps},set_steps:function(n){var t=this._steps;this._steps=Math.abs(n);this._steps=this._steps===1?2:this._steps;t!==this._steps&&this.raisePropertyChanged("steps")},get_orientation:function(){return this._isVertical},set_orientation:function(n){n!==this._isVertical&&(this._orientation=n,this.raisePropertyChanged("orientation"))},get_enableHandleAnimation:function(){return this._enableHandleAnimation},set_enableHandleAnimation:function(n){n!==this._enableHandleAnimation&&(this._enableHandleAnimation=n,this.raisePropertyChanged("enableHandleAnimation"))},get_handleAnimationDuration:function(){return this._handleAnimationDuration},set_handleAnimationDuration:function(n){n!==this._handleAnimationDuration&&(this._handleAnimationDuration=n,this.raisePropertyChanged("handleAnimationDuration"))},get_raiseChangeOnlyOnMouseUp:function(){return this._raiseChangeOnlyOnMouseUp},set_raiseChangeOnlyOnMouseUp:function(n){n!==this._raiseChangeOnlyOnMouseUp&&(this._raiseChangeOnlyOnMouseUp=n,this.raisePropertyChanged("raiseChangeOnlyOnMouseUp"))},get_showInnerRail:function(){return this._showInnerRail},set_showInnerRail:function(n){n!==this._showInnerRail&&(this._showInnerRail=n,this.raisePropertyChanged("showInnerRail"))},get_showHandleHoverStyle:function(){return this._showHoverStyle},set_showHandleHoverStyle:function(n){n!==this._showHoverStyle&&(this._showHoverStyle=n,this.raisePropertyChanged("showHandleHoverStyle"))},get_showHandleDragStyle:function(){return this._showDragStyle},set_showHandleDragStyle:function(n){n!==this._showDragStyle&&(this._showDragStyle=n,this.raisePropertyChanged("showHandleDragStyle"))},get_innerRailStyle:function(){return this._innerRailStyle},set_innerRailStyle:function(n){n!==this._innerRailStyle&&(this._innerRailStyle=n,this.raisePropertyChanged("innerRailStyle"))},get_enableInnerRangeDrag:function(){return this._enableInnerRangeDrag},set_enableInnerRangeDrag:function(n){n!==this._enableInnerRangeDrag&&(this._enableInnerRangeDrag=n,this.raisePropertyChanged("enableInnerRangeDrag"))},get_enableRailClick:function(){return this._enableRailClick},set_enableRailClick:function(n){n!==this._enableRailClick&&(this._enableRailClick=n,this.raisePropertyChanged("enableRailClick"))},get_isReadOnly:function(){return this._isReadOnly},set_isReadOnly:function(n){n!==this._isReadOnly&&(this._isReadOnly=n,this.raisePropertyChanged("isReadOnly"))},get_enableKeyboard:function(){return this._enableKeyboard},set_enableKeyboard:function(n){n!==this._enableKeyboard&&(this._enableKeyboard=n,this.raisePropertyChanged("enableKeyboard"))},get_enableMouseWheel:function(){return this._enableMouseWheel},set_enableMouseWheel:function(n){n!==this._enableMouseWheel&&(this._enableMouseWheel=n,this.raisePropertyChanged("enableMouseWheel"))},get_increment:function(){return this._increment},set_increment:function(n){n!==this._increment&&(this._increment=n,this.raisePropertyChanged("increment"))},get_tooltipText:function(){return this._tooltipText},set_tooltipText:function(n){n!==this._tooltipText&&(this._tooltipText=n,this.raisePropertyChanged("tooltipText"))},get_multiHandleSliderTargets:function(){return this._multiHandleSliderTargets},set_multiHandleSliderTargets:function(n){n!==this._multiHandleSliderTargets&&(this._multiHandleSliderTargets=n,this.raisePropertyChanged("multiHandleSliderTargets"))},get_cssClass:function(){return this._cssClass},set_cssClass:function(n){n!==this._cssClass&&(this._cssClass=n,this.raisePropertyChanged("cssClass"))},get_boundControlID:function(){return this._boundControlID},set_boundControlID:function(n){this._boundControlID=n;this._boundControl=this._boundControlID?$get(this._boundControlID):null},get_handleCssClass:function(){return this._handleCssClass},set_handleCssClass:function(n){this._handleCssClass=n},get_handleImageUrl:function(){return this._handleImageUrl},set_handleImageUrl:function(n){this._handleImageUrl=n},get_railCssClass:function(){return this._railCssClass},set_railCssClass:function(n){this._railCssClass=n},get_decimals:function(){return this._decimals},set_decimals:function(n){this._decimals=n},add_load:function(n){this.get_events().addHandler("load",n)},remove_load:function(n){this.get_events().removeHandler("load",n)},add_dragStart:function(n){this.get_events().addHandler("dragStart",n)},remove_dragStart:function(n){this.get_events().removeHandler("dragStart",n)},add_drag:function(n){this.get_events().addHandler("drag",n)},remove_drag:function(n){this.get_events().removeHandler("drag",n)},add_dragEnd:function(n){this.get_events().addHandler("dragEnd",n)},remove_dragEnd:function(n){this.get_events().removeHandler("dragEnd",n)},add_valueChanged:function(n){this.get_events().addHandler("valueChanged",n)},remove_valueChanged:function(n){this.get_events().removeHandler("valueChanged",n)}};Sys.Extended.UI.MultiHandleSliderBehavior.DropPending=null;Sys.Extended.UI.MultiHandleSliderBehavior.registerClass("Sys.Extended.UI.MultiHandleSliderBehavior",Sys.Extended.UI.BehaviorBase); |