{"version":3,"file":"kendo.slider.min.js","names":["factory","define","amd","$","undefined$1","kendo","window","Widget","ui","Draggable","outerWidth","_outerWidth","outerHeight","_outerHeight","extend","format","parse","parseFloat","isArray","Array","math","Math","support","pointers","msPointers","CHANGE","SLIDE","NS","MOUSE_DOWN","TRACK_MOUSE_DOWN","MOUSE_UP","TRACK_MOUSE_UP","MOVE_SELECTION","KEY_DOWN","CLICK","MOUSE_OVER","FOCUS","BLUR","DRAG_HANDLE","TRACK_SELECTOR","TICK_SELECTOR","STATE_DISABLED","DISABLED","TABINDEX","getTouches","ARIA_VALUETEXT","ARIA_VALUENOW","SliderBase","init","element","options","that","this","fn","call","_isHorizontal","orientation","_isRtl","isRtl","_position","_sizeFn","_outerSize","tooltip","enabled","smallStep","Error","_createHtml","_trackDiv","wrapper","find","_maxSelection","_sliderItemsInit","_reset","_tabindex","rtlDirectionSign","_keyMap","step","setValue","max","min","largeStep","_ariaLabel","notify","events","tickPlacement","_distance","round","_resize","remove","_refresh","enable","sizeBetweenTicks","pixelWidths","_calculateItemsWidth","floor","removeFraction","parent","before","distance","i","result","count","createSliderItems","_setItemsTitle","_calculateSteps","_setItemsLargeTick","first","addClass","last","getSize","dimensions","items","titleNumber","length","attr","item","makeArray","reverse","valueWithoutFraction","_values","html","css","itemsCount","itemWidth","trackDivSize","preciseItemsCount","pixelStep","_roundWidths","pixelWidthsArray","balance","_addAdditionalSize","additionalSize","parseInt","lastItem","val","selection","ceil","splice","pop","_pixelSteps","_getValueFromPosition","mousePosition","draggableArea","position","halfStep","startPoint","abs","_getFormattedValue","drag","tooltipTemplate","selectionStart","selectionEnd","type","template","value","_getDraggableArea","offset","getOffset","left","top","endPoint","inputs","eq","prop","formatValue","wrap","isHorizontal","orientationCssClass","style","cssClasses","tickPlacementCssClass","createWrapper","hide","parents","showButtons","after","createButton","elementValue","minElementValue","maxElementValue","dragHandleCount","is","firstDragHandleTitle","leftDragHandleTitle","dragHandleTitle","rightDragHandleTitle","createTrack","_focus","e","target","_drag","_firstHandleDrag","_activeHandle","_lastHandleDrag","STATE_FOCUSED","_activeHandleDrag","_updateTooltip","_focusWithMouse","idx","index","setTimeout","focus","_setTooltipTimeout","_blur","removeClass","_removeTooltip","_tooltipTimeout","_clearTooltipTimeout","clearTimeout","tooltipDiv","stop","formId","form","closest","_form","on","_formResetHandler","bind","setOptions","destroy","off","buttonCssClass","stepValue","replace","cultures","current","numberFormat","precision","power","number","toString","split","calculatePrecision","pow","parseAttr","name","getAttribute","defined","Slider","dragHandle","_selection","Selection","Drag","_refreshAriaAttr","increaseButtonTitle","decreaseButtonTitle","clickHandler","move","disable","touch","location","pageX","pageY","hasClass","_update","dragstart","preventDefault","end","document","documentElement","one","_end","sign","newVal","_nextValueByIndex","_valueIndex","_setValueInRange","mouseDownHandler","which","timeout","timer","setInterval","_clearTimer","currentTarget","_keydown","change","trigger","isNaN","formattedValue","_tooltipDiv","text","clearInterval","keyCode","draggable","moveSelection","selectionValue","selectionDiv","rtlCorrection","sender","owner","_dragstart","dragend","dragcancel","click","prototype","_activeDragHandle","userEvents","cancel","_setZIndex","oldVal","_createTooltip","calloutCssClass","wnd","appendTo","body","tooltipInnerDiv","_scrollOffset","scrollTop","scrollLeft","moveTooltip","slideParams","x","y","constrainValue","values","_disposeAll","noAnimation","fadeOut","dragHandles","sdhOffset","diff","anchorSize","viewport","callout","width","height","_flip","_fit","size","viewPortEnd","output","maxOverflow","plugin","RangeSlider","firstInput","secondInput","console","warn","from","to","handle","dragSelectionStart","dragSelectionEnd","activeHandleDrag","selectionStartValue","selectionEndValue","_value","start","each","selectionStartIndex","selectionEndIndex","selectionPosition","makeSelection","jQuery"],"sources":["kendo.slider.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.draganddrop'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"slider\",\n name: \"Slider\",\n category: \"web\",\n description: \"The Slider widget provides a rich input for selecting values or ranges of values.\",\n depends: [ \"draganddrop\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n Draggable = kendo.ui.Draggable,\n outerWidth = kendo._outerWidth,\n outerHeight = kendo._outerHeight,\n extend = $.extend,\n format = kendo.format,\n parse = kendo.parseFloat,\n isArray = Array.isArray,\n math = Math,\n support = kendo.support,\n pointers = support.pointers,\n msPointers = support.msPointers,\n CHANGE = \"change\",\n SLIDE = \"slide\",\n NS = \".slider\",\n MOUSE_DOWN = \"touchstart\" + NS + \" mousedown\" + NS,\n TRACK_MOUSE_DOWN = pointers ? \"pointerdown\" + NS : (msPointers ? \"MSPointerDown\" + NS : MOUSE_DOWN),\n MOUSE_UP = \"touchend\" + NS + \" mouseup\" + NS,\n TRACK_MOUSE_UP = pointers ? \"pointerup\" : (msPointers ? \"MSPointerUp\" + NS : MOUSE_UP),\n MOVE_SELECTION = \"moveSelection\",\n KEY_DOWN = \"keydown\" + NS,\n CLICK = \"click\" + NS,\n MOUSE_OVER = \"mouseover\" + NS,\n FOCUS = \"focus\" + NS,\n BLUR = \"blur\" + NS,\n DRAG_HANDLE = \".k-draghandle\",\n TRACK_SELECTOR = \".k-slider-track\",\n TICK_SELECTOR = \".k-tick\",\n STATE_SELECTED = \"k-selected\",\n STATE_FOCUSED = \"k-focus\",\n STATE_DISABLED = \"k-disabled\",\n DISABLED = \"disabled\",\n UNDEFINED = \"undefined\",\n TABINDEX = \"tabindex\",\n getTouches = kendo.getTouches,\n\n ARIA_VALUETEXT = \"aria-valuetext\",\n ARIA_VALUENOW = \"aria-valuenow\";\n\n var SliderBase = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n options = that.options;\n that._isHorizontal = options.orientation == \"horizontal\";\n that._isRtl = that._isHorizontal && kendo.support.isRtl(element);\n that._position = that._isHorizontal ? \"left\" : \"bottom\";\n that._sizeFn = that._isHorizontal ? \"width\" : \"height\";\n that._outerSize = that._isHorizontal ? outerWidth : outerHeight;\n\n options.tooltip.format = options.tooltip.enabled ? options.tooltip.format || \"{0}\" : \"{0}\";\n\n if (options.smallStep <= 0) {\n throw new Error('Kendo UI Slider smallStep must be a positive number.');\n }\n\n that._createHtml();\n that._trackDiv = that.wrapper.find(TRACK_SELECTOR);\n\n that._maxSelection = that._trackDiv[that._sizeFn]();\n\n that._sliderItemsInit();\n\n that._reset();\n\n that._tabindex(that.wrapper.find(DRAG_HANDLE));\n that[options.enabled ? \"enable\" : \"disable\"]();\n\n var rtlDirectionSign = kendo.support.isRtl(that.wrapper) ? -1 : 1;\n\n that._keyMap = {\n 37: step(-1 * rtlDirectionSign * options.smallStep), // left arrow\n 40: step(-options.smallStep), // down arrow\n 39: step(+1 * rtlDirectionSign * options.smallStep), // right arrow\n 38: step(+options.smallStep), // up arrow\n 35: setValue(options.max), // end\n 36: setValue(options.min), // home\n 33: step(+options.largeStep), // page up\n 34: step(-options.largeStep) // page down\n };\n\n that._ariaLabel(that.wrapper.find(DRAG_HANDLE));\n\n kendo.notify(that);\n },\n\n events: [\n CHANGE,\n SLIDE\n ],\n\n options: {\n enabled: true,\n min: 0,\n max: 10,\n smallStep: 1,\n largeStep: 5,\n orientation: \"horizontal\",\n tickPlacement: \"both\",\n tooltip: { enabled: true, format: \"{0}\" }\n },\n\n _distance: function() {\n return round(this.options.max - this.options.min);\n },\n\n _resize: function() {\n this.wrapper.find(\".k-slider-items\").remove();\n\n this._maxSelection = this._trackDiv[this._sizeFn]();\n this._sliderItemsInit();\n this._refresh();\n\n if (this.options.enabled) {\n this.enable(true);\n }\n },\n\n _sliderItemsInit: function() {\n var that = this,\n options = that.options;\n\n // [Backwards compatibilty]: maxSelection is reduced with 2 to compensate new styling and preserve automatic calculation to not show ticks.\n var sizeBetweenTicks = (that._maxSelection - 2) / ((options.max - options.min) / options.smallStep);\n\n var pixelWidths = that._calculateItemsWidth(math.floor(removeFraction(that._distance()) / removeFraction(options.smallStep)));\n\n if (options.tickPlacement != \"none\" && sizeBetweenTicks >= 2) {\n $(this.element).parent().find(\".k-slider-items\").remove();\n that._trackDiv.before(createSliderItems(options, that._distance()));\n that._setItemsTitle();\n }\n\n that._calculateSteps(pixelWidths);\n\n if (options.tickPlacement != \"none\" && sizeBetweenTicks >= 2 &&\n options.largeStep >= options.smallStep) {\n that._setItemsLargeTick();\n that.wrapper.find(TICK_SELECTOR).first().addClass(\"k-first\");\n that.wrapper.find(TICK_SELECTOR).last().addClass(\"k-last\");\n }\n },\n\n getSize: function() {\n return kendo.dimensions(this.wrapper);\n },\n\n _setItemsTitle: function() {\n var that = this,\n options = that.options,\n items = that.wrapper.find(TICK_SELECTOR),\n titleNumber = options.min,\n count = items.length;\n\n for (var i = 0; i <= count; i += 1) {\n $(items[i]).attr(\"title\", format(options.tooltip.format, round(titleNumber)));\n titleNumber += options.smallStep;\n }\n },\n\n _setItemsLargeTick: function() {\n var that = this,\n options = that.options,\n items = that.wrapper.find(TICK_SELECTOR),\n i = 0, item, value;\n\n if (removeFraction(options.largeStep) % removeFraction(options.smallStep) === 0 || that._distance() / options.largeStep >= 3) {\n if (!that._isHorizontal && !that._isRtl) {\n items = $.makeArray(items).reverse();\n }\n\n for (i = 0; i < items.length; i++) {\n item = $(items[i]);\n value = that._values[i];\n var valueWithoutFraction = round(removeFraction(value - this.options.min));\n if (valueWithoutFraction % removeFraction(options.smallStep) === 0 && valueWithoutFraction % removeFraction(options.largeStep) === 0) {\n item.addClass(\"k-tick-large\")\n .html(\"\" + item.attr(\"title\") + \"\");\n\n if (i !== 0 && i !== items.length - 1) {\n item.css(\"line-height\", item[that._sizeFn]() + \"px\");\n }\n }\n }\n }\n },\n\n _calculateItemsWidth: function(itemsCount) {\n var that = this,\n options = that.options,\n trackDivSize = parseFloat(that._trackDiv.css(that._sizeFn)) + 1,\n distance = that._distance(),\n preciseItemsCount = removeFraction(distance) / removeFraction(options.smallStep),\n pixelStep = trackDivSize / removeFraction(distance),\n itemWidth,\n pixelWidths,\n i;\n\n if (preciseItemsCount - itemsCount > 0) {\n trackDivSize -= ((removeFraction(distance) % removeFraction(options.smallStep)) * pixelStep);\n }\n\n itemWidth = trackDivSize / itemsCount;\n pixelWidths = [];\n\n for (i = 0; i < itemsCount - 1; i++) {\n pixelWidths[i] = itemWidth;\n }\n\n pixelWidths[itemsCount - 1] = pixelWidths[itemsCount] = itemWidth / 2;\n return that._roundWidths(pixelWidths);\n },\n\n _roundWidths: function(pixelWidthsArray) {\n var balance = 0,\n count = pixelWidthsArray.length,\n i;\n\n for (i = 0; i < count; i++) {\n balance += (pixelWidthsArray[i] - math.floor(pixelWidthsArray[i]));\n pixelWidthsArray[i] = math.floor(pixelWidthsArray[i]);\n }\n\n balance = math.round(balance);\n\n return this._addAdditionalSize(balance, pixelWidthsArray);\n },\n\n _addAdditionalSize: function(additionalSize, pixelWidthsArray) {\n if (additionalSize === 0) {\n return pixelWidthsArray;\n }\n\n //set step size\n var step = parseFloat(pixelWidthsArray.length - 1) / parseFloat(additionalSize == 1 ? additionalSize : additionalSize - 1),\n i;\n\n for (i = 0; i < additionalSize; i++) {\n pixelWidthsArray[parseInt(math.round(step * i), 10)] += 1;\n }\n\n return pixelWidthsArray;\n },\n\n _calculateSteps: function(pixelWidths) {\n var that = this,\n options = that.options,\n val = options.min,\n selection = 0,\n distance = that._distance(),\n itemsCount = math.ceil(removeFraction(distance) / removeFraction(options.smallStep)),\n i = 1,\n lastItem;\n\n itemsCount += (removeFraction(distance) / removeFraction(options.smallStep)) % 1 === 0 ? 1 : 0;\n pixelWidths.splice(0, 0, pixelWidths[itemsCount - 2] * 2);\n pixelWidths.splice(itemsCount - 1, 1, pixelWidths.pop() * 2);\n\n that._pixelSteps = [selection];\n that._values = [val];\n\n if (itemsCount === 0) {\n return;\n }\n\n while (i < itemsCount) {\n selection += (pixelWidths[i - 1] + pixelWidths[i]) / 2;\n that._pixelSteps[i] = selection;\n val += options.smallStep;\n that._values[i] = round(val);\n\n i++;\n }\n\n lastItem = (removeFraction(distance) % removeFraction(options.smallStep)) === 0 ? itemsCount - 1 : itemsCount;\n\n that._pixelSteps[lastItem] = that._maxSelection;\n that._values[lastItem] = options.max;\n\n if (that._isRtl) {\n that._pixelSteps.reverse();\n that._values.reverse();\n }\n },\n\n _getValueFromPosition: function(mousePosition, draggableArea) {\n var that = this,\n options = that.options,\n step = math.max(options.smallStep * (that._maxSelection / that._distance()), 0),\n position = 0,\n halfStep = (step / 2),\n i;\n\n if (that._isHorizontal) {\n position = mousePosition - draggableArea.startPoint;\n if (that._isRtl) {\n position = that._maxSelection - position;\n }\n } else {\n position = draggableArea.startPoint - mousePosition;\n }\n\n if (that._maxSelection - ((parseInt(that._maxSelection % step, 10) - 3) / 2) < position) {\n return options.max;\n }\n\n for (i = 0; i < that._pixelSteps.length; i++) {\n if (math.abs(that._pixelSteps[i] - position) - 1 <= halfStep) {\n return round(that._values[i]);\n }\n }\n },\n\n _getFormattedValue: function(val, drag) {\n var that = this,\n html = \"\",\n tooltip = that.options.tooltip,\n tooltipTemplate,\n selectionStart,\n selectionEnd;\n\n if (isArray(val)) {\n selectionStart = val[0];\n selectionEnd = val[1];\n } else if (drag && drag.type) {\n selectionStart = drag.selectionStart;\n selectionEnd = drag.selectionEnd;\n }\n\n if (drag) {\n tooltipTemplate = drag.tooltipTemplate;\n }\n\n if (!tooltipTemplate && tooltip.template) {\n tooltipTemplate = kendo.template(tooltip.template);\n }\n\n if (isArray(val) || (drag && drag.type)) {\n\n if (tooltipTemplate) {\n html = tooltipTemplate({\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n });\n } else {\n selectionStart = format(tooltip.format, selectionStart);\n selectionEnd = format(tooltip.format, selectionEnd);\n html = selectionStart + \" - \" + selectionEnd;\n }\n } else {\n if (drag) {\n drag.val = val;\n }\n\n if (tooltipTemplate) {\n html = tooltipTemplate({\n value: val\n });\n } else {\n html = format(tooltip.format, val);\n }\n }\n return html;\n },\n\n _getDraggableArea: function() {\n var that = this,\n offset = kendo.getOffset(that._trackDiv);\n\n return {\n startPoint: that._isHorizontal ? offset.left : offset.top + that._maxSelection,\n endPoint: that._isHorizontal ? offset.left + that._maxSelection : offset.top\n };\n },\n\n _createHtml: function() {\n var that = this,\n element = that.element,\n options = that.options,\n inputs = element.find(\"input\");\n\n if (inputs.length == 2) {\n inputs.eq(0).prop(\"value\", formatValue(options.selectionStart));\n inputs.eq(1).prop(\"value\", formatValue(options.selectionEnd));\n } else {\n element.prop(\"value\", formatValue(options.value));\n }\n\n that.wrapper = element.wrap(createWrapper(options, element, that._isHorizontal)).hide().parents(\".k-slider\");\n\n if (options.showButtons) {\n that.wrapper.find(\".k-slider-track-wrap\")\n .after(createButton(options, \"increase\", that._isHorizontal, that._isRtl))\n .before(createButton(options, \"decrease\", that._isHorizontal, that._isRtl));\n }\n\n element.before(createTrack(options, element, that._isHorizontal));\n },\n\n _focus: function(e) {\n var that = this,\n target = e.target,\n val = that.value(),\n drag = that._drag;\n\n if (!drag) {\n if (target == that.wrapper.find(DRAG_HANDLE).eq(0)[0]) {\n drag = that._firstHandleDrag;\n that._activeHandle = 0;\n } else {\n drag = that._lastHandleDrag;\n that._activeHandle = 1;\n }\n val = val[that._activeHandle];\n }\n\n $(target).addClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n\n if (drag) {\n that._activeHandleDrag = drag;\n\n drag.selectionStart = that.options.selectionStart;\n drag.selectionEnd = that.options.selectionEnd;\n\n drag._updateTooltip(val);\n }\n },\n\n _focusWithMouse: function(target) {\n target = $(target);\n\n var that = this,\n idx = target.is(DRAG_HANDLE) ? target.index() : 0;\n\n window.setTimeout(function() {\n that.wrapper.find(DRAG_HANDLE)[idx == 2 ? 1 : 0].focus();\n }, 1);\n\n that._setTooltipTimeout();\n },\n\n _blur: function(e) {\n var that = this,\n drag = that._activeHandleDrag;\n\n $(e.target).removeClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n\n if (drag) {\n drag._removeTooltip();\n delete that._activeHandleDrag;\n delete that._activeHandle;\n }\n },\n\n _setTooltipTimeout: function() {\n var that = this;\n that._tooltipTimeout = window.setTimeout(function() {\n var drag = that._drag || that._activeHandleDrag;\n if (drag) {\n drag._removeTooltip();\n }\n }, 300);\n },\n\n _clearTooltipTimeout: function() {\n var that = this;\n window.clearTimeout(this._tooltipTimeout);\n var drag = that._drag || that._activeHandleDrag;\n if (drag && drag.tooltipDiv) {\n drag.tooltipDiv.stop(true, false).css(\"opacity\", 1);\n }\n },\n\n _reset: function() {\n var that = this,\n element = that.element,\n formId = element.attr(\"form\"),\n form = formId ? $(\"#\" + formId) : element.closest(\"form\");\n\n if (form[0]) {\n that._form = form.on(\"reset\", that._formResetHandler.bind(that));\n }\n },\n\n min: function(value) {\n if (!value) {\n return this.options.min;\n }\n this.setOptions({ \"min\": value });\n },\n\n max: function(value) {\n if (!value) {\n return this.options.max;\n }\n this.setOptions({ \"max\": value });\n },\n\n setOptions: function(options) {\n Widget.fn.setOptions.call(this, options);\n this._sliderItemsInit();\n this._refresh();\n },\n\n destroy: function() {\n if (this._form) {\n this._form.off(\"reset\", this._formResetHandler);\n }\n Widget.fn.destroy.call(this);\n }\n });\n\n function createWrapper(options, element, isHorizontal) {\n var orientationCssClass = isHorizontal ? \" k-slider-horizontal\" : \" k-slider-vertical\",\n style = options.style ? options.style : element.attr(\"style\"),\n cssClasses = element.attr(\"class\") ? (\" \" + element.attr(\"class\")) : \"\",\n tickPlacementCssClass = \"\";\n\n if (options.tickPlacement == \"bottomRight\") {\n tickPlacementCssClass = \" k-slider-bottomright\";\n } else if (options.tickPlacement == \"topLeft\") {\n tickPlacementCssClass = \" k-slider-topleft\";\n }\n\n style = style ? \" style='\" + style + \"'\" : \"\";\n\n return \"
\" +\n \"
\";\n }\n\n function createButton(options, type, isHorizontal) {\n var buttonCssClass = \"\";\n\n if (isHorizontal) {\n if (type === \"increase\") {\n buttonCssClass = \"k-i-arrow-e\";\n } else {\n buttonCssClass = \"k-i-arrow-w\";\n }\n } else {\n if (type == \"increase\") {\n buttonCssClass = \"k-i-arrow-n\";\n } else {\n buttonCssClass = \"k-i-arrow-s\";\n }\n }\n\n return \"\" +\n \"\";\n }\n\n function createSliderItems(options, distance) {\n var result = \"\";\n\n return result;\n }\n\n function createTrack(options, element, isHorizontal) {\n var dragHandleCount = element.is(\"input\") ? 1 : 2,\n firstDragHandleTitle = dragHandleCount == 2 ? options.leftDragHandleTitle : options.dragHandleTitle,\n value = options.value,\n min = options.selectionStart,\n max = options.selectionEnd,\n elementValue, minElementValue, maxElementValue;\n\n if (dragHandleCount === 1) {\n elementValue = element.val();\n\n if (elementValue !== null && elementValue !== undefined$1 && elementValue !== 'null') {\n if (value === null || value === undefined$1) {\n value = elementValue;\n }\n }\n } else {\n minElementValue = element.find(\"input\").eq(0).val();\n maxElementValue = element.find(\"input\").eq(1).val();\n\n if (minElementValue !== null && minElementValue !== undefined$1 && minElementValue !== 'null') {\n if (min === null || min === undefined$1) {\n min = minElementValue;\n }\n }\n\n if (maxElementValue !== null && maxElementValue !== undefined$1 && maxElementValue !== 'null') {\n if (max === null || max === undefined$1) {\n max = maxElementValue;\n }\n }\n }\n\n var result = \"
\" +\n \"\" +\n (dragHandleCount > 1 ? \"\" : \"\") +\n \"
\";\n\n return result;\n }\n\n function step(stepValue) {\n return function(value) {\n return value + stepValue;\n };\n }\n\n function setValue(value) {\n return function() {\n return value;\n };\n }\n\n function formatValue(value) {\n return (value + \"\").replace(\".\", kendo.cultures.current.numberFormat[\".\"]);\n }\n\n function calculatePrecision(value) {\n var number = value.toString();\n var precision = 0;\n\n number = number.split(\".\");\n\n if (number[1]) {\n precision = number[1].length;\n }\n\n precision = precision > 10 ? 10 : precision;\n return precision;\n }\n\n function round(value) {\n var precision, power;\n\n value = parseFloat(value, 10);\n precision = calculatePrecision(value);\n power = math.pow(10, precision || 0);\n\n return math.round(value * power) / power;\n }\n\n function parseAttr(element, name) {\n var value = parse(element.getAttribute(name));\n if (value === null) {\n value = undefined$1;\n }\n return value;\n }\n\n function defined(value) {\n return typeof value !== UNDEFINED;\n }\n\n function removeFraction(value) {\n return value * 10000;\n }\n\n var Slider = SliderBase.extend({\n init: function(element, options) {\n var that = this,\n dragHandle;\n\n element.type = \"text\";\n options = extend({}, {\n value: parseAttr(element, \"value\"),\n min: parseAttr(element, \"min\"),\n max: parseAttr(element, \"max\"),\n smallStep: parseAttr(element, \"step\")\n }, options);\n\n element = $(element);\n\n if (options && options.enabled === undefined$1) {\n options.enabled = !element.is(\"[disabled]\");\n }\n\n SliderBase.fn.init.call(that, element, options);\n options = that.options;\n if (!defined(options.value) || options.value === null) {\n options.value = options.min;\n element.prop(\"value\", formatValue(options.min));\n }\n options.value = math.max(math.min(options.value, options.max), options.min);\n\n dragHandle = that.wrapper.find(DRAG_HANDLE);\n\n that._selection = new Slider.Selection(dragHandle, that, options);\n that._drag = new Slider.Drag(dragHandle, \"\", that, options);\n\n that._refreshAriaAttr(options.value);\n },\n\n options: {\n name: \"Slider\",\n showButtons: true,\n increaseButtonTitle: \"Increase\",\n decreaseButtonTitle: \"Decrease\",\n dragHandleTitle: \"drag\",\n tooltip: { format: \"{0:#,#.##}\" },\n value: null\n },\n\n enable: function(enable) {\n var that = this,\n options = that.options,\n clickHandler,\n move;\n\n that.disable();\n if (enable === false) {\n return;\n }\n\n that.wrapper\n .removeClass(STATE_DISABLED);\n\n that.wrapper.find(\"input\").prop(DISABLED, false);\n\n clickHandler = function(e) {\n var touch = getTouches(e)[0];\n\n if (!touch) {\n return;\n }\n\n var mousePosition = that._isHorizontal ? touch.location.pageX : touch.location.pageY,\n draggableArea = that._getDraggableArea(),\n target = $(e.target);\n\n if (target.hasClass(\"k-draghandle\")) {\n target.addClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n return;\n }\n\n that._update(that._getValueFromPosition(mousePosition, draggableArea));\n\n that._focusWithMouse(e.target);\n\n that._drag.dragstart(e);\n e.preventDefault();\n };\n\n that.wrapper\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR)\n .on(TRACK_MOUSE_DOWN, clickHandler)\n .end()\n .on(TRACK_MOUSE_DOWN, function() {\n $(document.documentElement).one(\"selectstart\", kendo.preventDefault);\n })\n .on(TRACK_MOUSE_UP, function() {\n that._drag._end();\n });\n\n that.wrapper\n .find(DRAG_HANDLE)\n .attr(TABINDEX, 0)\n .on(MOUSE_UP, function() {\n that._setTooltipTimeout();\n })\n .on(CLICK, function(e) {\n that._focusWithMouse(e.target);\n e.preventDefault();\n })\n .on(FOCUS, that._focus.bind(that))\n .on(BLUR, that._blur.bind(that));\n\n move = (function(sign) {\n var newVal = that._nextValueByIndex(that._valueIndex + (sign * 1));\n that._setValueInRange(newVal);\n that._drag._updateTooltip(newVal);\n });\n\n if (options.showButtons) {\n var mouseDownHandler = (function(e, sign) {\n this._clearTooltipTimeout();\n if (e.which === 1 || (support.touch && e.which === 0)) {\n move(sign);\n\n this.timeout = setTimeout((function() {\n this.timer = setInterval(function() {\n move(sign);\n }, 60);\n }).bind(this), 200);\n }\n }).bind(that);\n\n that.wrapper.find(\".k-button\")\n .on(MOUSE_UP, (function(e) {\n this._clearTimer();\n that._focusWithMouse(e.target);\n }).bind(that))\n .on(MOUSE_OVER, function(e) {\n $(e.currentTarget).addClass(\"k-hover\");\n })\n .on(\"mouseout\" + NS, (function(e) {\n $(e.currentTarget).removeClass(\"k-hover\");\n this._clearTimer();\n }).bind(that))\n .on(MOUSE_DOWN, (function(e) {\n var sign = $(e.target).closest(\".k-button\").is(\".k-button-increase\") ? 1 : -1;\n mouseDownHandler(e, sign);\n }))\n .on(\"click\", kendo.preventDefault);\n }\n\n that.wrapper\n .find(DRAG_HANDLE)\n .off(KEY_DOWN, false)\n .on(KEY_DOWN, this._keydown.bind(that));\n\n options.enabled = true;\n },\n\n disable: function() {\n var that = this;\n\n that.wrapper\n .addClass(STATE_DISABLED);\n\n $(that.element).prop(DISABLED, DISABLED);\n\n that.wrapper\n .find(\".k-button\")\n .off(MOUSE_DOWN)\n .on(MOUSE_DOWN, function(e) {\n e.preventDefault();\n $(this).addClass(\"k-active\");\n })\n .off(MOUSE_UP)\n .on(MOUSE_UP, function(e) {\n e.preventDefault();\n $(this).removeClass(\"k-active\");\n })\n .off(\"mouseleave\" + NS)\n .on(\"mouseleave\" + NS, kendo.preventDefault)\n .off(MOUSE_OVER)\n .on(MOUSE_OVER, kendo.preventDefault);\n\n that.wrapper\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR).off(TRACK_MOUSE_DOWN).off(TRACK_MOUSE_UP);\n\n that.wrapper\n .find(DRAG_HANDLE)\n .attr(TABINDEX, -1)\n .off(MOUSE_UP)\n .off(KEY_DOWN)\n .off(CLICK)\n .off(FOCUS)\n .off(BLUR);\n\n that.options.enabled = false;\n },\n\n _update: function(val) {\n var that = this,\n change = that.value() != val;\n\n that.value(val);\n\n if (change) {\n that.trigger(CHANGE, { value: that.options.value });\n }\n },\n\n value: function(value) {\n var that = this,\n options = that.options;\n\n value = round(value);\n if (isNaN(value)) {\n return options.value;\n }\n\n if (value >= options.min && value <= options.max) {\n if (options.value != value) {\n that.element.prop(\"value\", formatValue(value));\n options.value = value;\n that._refreshAriaAttr(value);\n that._refresh();\n }\n }\n },\n\n _refresh: function() {\n this.trigger(MOVE_SELECTION, { value: this.options.value });\n },\n\n _refreshAriaAttr: function(value) {\n var that = this,\n drag = that._drag,\n formattedValue;\n\n if (drag && drag._tooltipDiv) {\n formattedValue = drag._tooltipDiv.text();\n } else {\n formattedValue = that._getFormattedValue(value, null);\n }\n this.wrapper.find(DRAG_HANDLE).attr(ARIA_VALUENOW, value).attr(ARIA_VALUETEXT, formattedValue);\n },\n\n _clearTimer: function() {\n clearTimeout(this.timeout);\n clearInterval(this.timer);\n },\n\n _keydown: function(e) {\n var that = this;\n\n if (e.keyCode in that._keyMap) {\n that._clearTooltipTimeout();\n that._setValueInRange(that._keyMap[e.keyCode](that.options.value));\n that._drag._updateTooltip(that.value());\n e.preventDefault();\n }\n },\n\n _setValueInRange: function(val) {\n var that = this,\n options = that.options;\n\n val = round(val);\n if (isNaN(val)) {\n that._update(options.min);\n return;\n }\n\n val = math.max(math.min(val, options.max), options.min);\n that._update(val);\n },\n\n _nextValueByIndex: function(index) {\n var count = this._values.length;\n if (this._isRtl) {\n index = count - 1 - index;\n }\n return this._values[math.max(0, math.min(index, count - 1))];\n },\n\n _formResetHandler: function() {\n var that = this,\n min = that.options.min;\n\n setTimeout(function() {\n var value = that.element[0].value;\n that.value(value === \"\" || isNaN(value) ? min : value);\n });\n },\n\n destroy: function() {\n var that = this;\n\n SliderBase.fn.destroy.call(that);\n\n that.wrapper.off(NS)\n .find(\".k-button\").off(NS)\n .end()\n .find(DRAG_HANDLE).off(NS)\n .end()\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR).off(NS)\n .end();\n\n that._drag.draggable.destroy();\n that._drag._removeTooltip(true);\n }\n });\n\n Slider.Selection = function(dragHandle, that, options) {\n function moveSelection(val) {\n var selectionValue = val - options.min,\n index = that._valueIndex = math.ceil(round(selectionValue / options.smallStep)),\n selection = parseInt(that._pixelSteps[index], 10),\n selectionDiv = that._trackDiv.find(\".k-slider-selection\"),\n rtlCorrection = that._isRtl ? 2 : 0;\n\n selectionDiv[that._sizeFn](that._isRtl ? that._maxSelection - selection : selection);\n dragHandle.css(that._position, selection - rtlCorrection);\n }\n\n moveSelection(options.value);\n\n that.bind([SLIDE, MOVE_SELECTION], function(e) {\n moveSelection(parseFloat(e.value, 10));\n });\n\n that.bind(CHANGE, function(e) {\n moveSelection(parseFloat(e.sender.value(), 10));\n });\n };\n\n Slider.Drag = function(element, type, owner, options) {\n var that = this;\n that.owner = owner;\n that.options = options;\n that.element = element;\n that.type = type;\n\n that.draggable = new Draggable(element, {\n distance: 0,\n dragstart: that._dragstart.bind(that),\n drag: that.drag.bind(that),\n dragend: that.dragend.bind(that),\n dragcancel: that.dragcancel.bind(that)\n });\n\n element.click(false);\n\n // Disable link dragging\n element.on(\"dragstart\", function(e) {\n e.preventDefault();\n });\n };\n\n Slider.Drag.prototype = {\n dragstart: function(e) {\n // add reference to the last active drag handle.\n this.owner._activeDragHandle = this;\n // HACK to initiate click on the line\n this.draggable.userEvents.cancel();\n this._dragstart(e);\n this.dragend();\n },\n\n _dragstart: function(e) {\n var that = this,\n owner = that.owner,\n options = that.options;\n\n if (!options.enabled) {\n e.preventDefault();\n return;\n }\n\n // add reference to the last active drag handle.\n this.owner._activeDragHandle = this;\n\n owner.element.off(MOUSE_OVER);\n owner.wrapper.find(\".\" + STATE_FOCUSED).removeClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n that.element.addClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n $(document.documentElement).css(\"cursor\", \"pointer\");\n\n that.draggableArea = owner._getDraggableArea();\n that.step = math.max(options.smallStep * (owner._maxSelection / owner._distance()), 0);\n\n if (that.type) {\n that.selectionStart = options.selectionStart;\n that.selectionEnd = options.selectionEnd;\n owner._setZIndex(that.type);\n } else {\n that.oldVal = that.val = options.value;\n }\n\n that._removeTooltip(true);\n that._createTooltip();\n },\n\n _createTooltip: function() {\n var that = this,\n owner = that.owner,\n tooltip = that.options.tooltip,\n html = '',\n wnd = $(window),\n tooltipTemplate, calloutCssClass;\n\n if (!tooltip.enabled) {\n return;\n }\n\n if (tooltip.template) {\n tooltipTemplate = that.tooltipTemplate = kendo.template(tooltip.template);\n }\n\n $(\".k-slider-tooltip\").remove(); // if user changes window while tooltip is visible, a second one will be created\n that.tooltipDiv = $(\"
\").appendTo(document.body);\n\n html = owner._getFormattedValue(that.val || owner.value(), that);\n\n if (!that.type) {\n calloutCssClass = \"k-callout-\" + (owner._isHorizontal ? 's' : 'e');\n that.tooltipInnerDiv = \"
\";\n html += that.tooltipInnerDiv;\n }\n\n that.tooltipDiv.html(html);\n\n that._scrollOffset = {\n top: wnd.scrollTop(),\n left: kendo.scrollLeft(wnd)\n };\n\n that.moveTooltip();\n },\n\n drag: function(e) {\n var that = this,\n owner = that.owner,\n x = e.x.location,\n y = e.y.location,\n startPoint = that.draggableArea.startPoint,\n endPoint = that.draggableArea.endPoint,\n slideParams;\n\n e.preventDefault();\n\n if (owner._isHorizontal) {\n if (owner._isRtl) {\n that.val = that.constrainValue(x, startPoint, endPoint, x < endPoint);\n } else {\n that.val = that.constrainValue(x, startPoint, endPoint, x >= endPoint);\n }\n } else {\n that.val = that.constrainValue(y, endPoint, startPoint, y <= endPoint);\n }\n\n if (that.oldVal != that.val) {\n that.oldVal = that.val;\n\n if (that.type) {\n if (that.type == \"firstHandle\") {\n if (that.val < that.selectionEnd) {\n that.selectionStart = that.val;\n } else {\n that.selectionStart = that.selectionEnd = that.val;\n }\n } else {\n if (that.val > that.selectionStart) {\n that.selectionEnd = that.val;\n } else {\n that.selectionStart = that.selectionEnd = that.val;\n }\n }\n slideParams = {\n values: [that.selectionStart, that.selectionEnd],\n value: [that.selectionStart, that.selectionEnd]\n };\n } else {\n slideParams = { value: that.val };\n }\n\n owner.trigger(SLIDE, slideParams);\n }\n that._updateTooltip(that.val);\n },\n\n _updateTooltip: function(val) {\n var that = this,\n options = that.options,\n tooltip = options.tooltip,\n html = \"\";\n\n if (!tooltip.enabled) {\n return;\n }\n\n if (!that.tooltipDiv) {\n that._createTooltip();\n }\n\n html = that.owner._getFormattedValue(round(val), that);\n\n if (!that.type) {\n html += that.tooltipInnerDiv;\n }\n\n that.tooltipDiv.html(html);\n that.moveTooltip();\n },\n\n dragcancel: function() {\n this.owner._refresh();\n $(document.documentElement).css(\"cursor\", \"\");\n return this._end();\n },\n\n dragend: function() {\n var that = this,\n owner = that.owner;\n\n $(document.documentElement).css(\"cursor\", \"\");\n\n if (that.type) {\n owner._update(that.selectionStart, that.selectionEnd);\n } else {\n owner._update(that.val);\n that.draggable.userEvents._disposeAll();\n }\n\n that.draggable.userEvents.cancel();\n return that._end();\n },\n\n _end: function() {\n var that = this,\n owner = that.owner;\n\n owner._focusWithMouse(that.element);\n\n owner.element.on(MOUSE_OVER);\n\n return false;\n },\n\n _removeTooltip: function(noAnimation) {\n var that = this,\n owner = that.owner;\n\n if (that.tooltipDiv && owner.options.tooltip.enabled && owner.options.enabled) {\n if (noAnimation) {\n that.tooltipDiv.remove();\n that.tooltipDiv = null;\n } else {\n that.tooltipDiv.fadeOut(\"slow\", function() {\n $(this).remove();\n that.tooltipDiv = null;\n });\n }\n }\n },\n\n moveTooltip: function() {\n var that = this,\n owner = that.owner,\n top = 0,\n left = 0,\n element = that.element,\n offset = kendo.getOffset(element),\n margin = 8,\n viewport = $(window),\n callout = that.tooltipDiv.find(\".k-callout\"),\n width = outerWidth(that.tooltipDiv),\n height = outerHeight(that.tooltipDiv),\n dragHandles, sdhOffset, diff, anchorSize;\n\n if (that.type) {\n dragHandles = owner.wrapper.find(DRAG_HANDLE);\n offset = kendo.getOffset(dragHandles.eq(0));\n sdhOffset = kendo.getOffset(dragHandles.eq(1));\n\n if (owner._isHorizontal) {\n top = sdhOffset.top;\n left = offset.left + ((sdhOffset.left - offset.left) / 2);\n } else {\n top = offset.top + ((sdhOffset.top - offset.top) / 2);\n left = sdhOffset.left;\n }\n\n anchorSize = outerWidth(dragHandles.eq(0)) + 2 * margin;\n } else {\n top = offset.top;\n left = offset.left;\n anchorSize = outerWidth(element) + 2 * margin;\n }\n\n if (owner._isHorizontal) {\n left -= parseInt((width - owner._outerSize(element)) / 2, 10);\n top -= height + margin + (callout.length ? callout.height() : 0);\n } else {\n top -= parseInt((height - owner._outerSize(element)) / 2, 10);\n left -= width + margin + (callout.length ? callout.width() : 0);\n }\n\n if (owner._isHorizontal) {\n diff = that._flip(top, height, anchorSize, outerHeight(viewport) + that._scrollOffset.top);\n top += diff;\n left += that._fit(left, width, outerWidth(viewport) + that._scrollOffset.left);\n } else {\n diff = that._flip(left, width, anchorSize, outerWidth(viewport) + that._scrollOffset.left);\n top += that._fit(top, height, outerHeight(viewport) + that._scrollOffset.top);\n left += diff;\n }\n\n if (diff > 0 && callout) {\n callout.removeClass();\n callout.addClass(\"k-callout k-callout-\" + (owner._isHorizontal ? \"n\" : \"w\"));\n }\n\n that.tooltipDiv.css({ top: top, left: left });\n },\n\n _fit: function(position, size, viewPortEnd) {\n var output = 0;\n\n if (position + size > viewPortEnd) {\n output = viewPortEnd - (position + size);\n }\n\n if (position < 0) {\n output = -position;\n }\n\n return output;\n },\n\n _flip: function(offset, size, anchorSize, viewPortEnd) {\n var output = 0;\n\n if (offset + size > viewPortEnd) {\n output += -(anchorSize + size);\n }\n\n if (offset + output < 0) {\n output += anchorSize + size;\n }\n\n return output;\n },\n\n constrainValue: function(position, min, max, maxOverflow) {\n var that = this,\n val = 0;\n\n if (min < position && position < max) {\n val = that.owner._getValueFromPosition(position, that.draggableArea);\n } else {\n if (maxOverflow ) {\n val = that.options.max;\n } else {\n val = that.options.min;\n }\n }\n\n return val;\n }\n\n };\n\n kendo.ui.plugin(Slider);\n\n var RangeSlider = SliderBase.extend({\n init: function(element, options) {\n var that = this,\n inputs = $(element).find(\"input\"),\n firstInput = inputs.eq(0)[0],\n secondInput = inputs.eq(1)[0];\n\n firstInput.type = \"text\";\n secondInput.type = \"text\";\n\n if (options && options.showButtons) {\n if (window.console) {\n window.console.warn(\"showbuttons option is not supported for the range slider, ignoring\");\n }\n\n options.showButtons = false;\n }\n\n options = extend({}, {\n selectionStart: parseAttr(firstInput, \"value\"),\n min: parseAttr(firstInput, \"min\"),\n max: parseAttr(firstInput, \"max\"),\n smallStep: parseAttr(firstInput, \"step\")\n }, {\n selectionEnd: parseAttr(secondInput, \"value\"),\n min: parseAttr(secondInput, \"min\"),\n max: parseAttr(secondInput, \"max\"),\n smallStep: parseAttr(secondInput, \"step\")\n }, options);\n\n if (options && options.enabled === undefined$1) {\n options.enabled = !inputs.is(\"[disabled]\");\n }\n\n SliderBase.fn.init.call(that, element, options);\n options = that.options;\n if (!defined(options.selectionStart) || options.selectionStart === null) {\n options.selectionStart = options.min;\n inputs.eq(0).prop(\"value\", formatValue(options.min));\n }\n\n if (!defined(options.selectionEnd) || options.selectionEnd === null) {\n options.selectionEnd = options.max;\n inputs.eq(1).prop(\"value\", formatValue(options.max));\n }\n\n var dragHandles = that.wrapper.find(DRAG_HANDLE);\n\n this._selection = new RangeSlider.Selection(dragHandles, that, options);\n that._firstHandleDrag = new Slider.Drag(dragHandles.eq(0), \"firstHandle\", that, options);\n that._lastHandleDrag = new Slider.Drag(dragHandles.eq(1), \"lastHandle\" , that, options);\n\n that._refreshAriaAttr(options.selectionStart , options.selectionEnd);\n },\n\n options: {\n name: \"RangeSlider\",\n leftDragHandleTitle: \"drag\",\n rightDragHandleTitle: \"drag\",\n tooltip: { format: \"{0:#,#.##}\" },\n selectionStart: null,\n selectionEnd: null\n },\n\n enable: function(enable) {\n var that = this,\n options = that.options,\n clickHandler;\n\n that.disable();\n if (enable === false) {\n return;\n }\n\n that.wrapper\n .removeClass(STATE_DISABLED);\n\n that.wrapper.find(\"input\").prop(DISABLED, false);\n\n clickHandler = function(e) {\n var touch = getTouches(e)[0];\n\n if (!touch) {\n return;\n }\n\n var mousePosition = that._isHorizontal ? touch.location.pageX : touch.location.pageY,\n draggableArea = that._getDraggableArea(),\n val = that._getValueFromPosition(mousePosition, draggableArea),\n target = $(e.target),\n from, to, drag;\n\n if (target.hasClass(\"k-draghandle\")) {\n that.wrapper.find(\".\" + STATE_FOCUSED).removeClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n target.addClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n return;\n }\n\n if (val < options.selectionStart) {\n from = val;\n to = options.selectionEnd;\n drag = that._firstHandleDrag;\n } else if (val > that.selectionEnd) {\n from = options.selectionStart;\n to = val;\n drag = that._lastHandleDrag;\n } else {\n if (val - options.selectionStart <= options.selectionEnd - val) {\n from = val;\n to = options.selectionEnd;\n drag = that._firstHandleDrag;\n } else {\n from = options.selectionStart;\n to = val;\n drag = that._lastHandleDrag;\n }\n }\n\n drag.dragstart(e);\n that._setValueInRange(from, to);\n that._focusWithMouse(drag.element);\n };\n\n that.wrapper\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR)\n .on(TRACK_MOUSE_DOWN, clickHandler)\n .end()\n .on(TRACK_MOUSE_DOWN, function() {\n $(document.documentElement).one(\"selectstart\", kendo.preventDefault);\n })\n .on(TRACK_MOUSE_UP, function() {\n if (that._activeDragHandle) {\n that._activeDragHandle._end();\n }\n });\n\n that.wrapper\n .find(DRAG_HANDLE)\n .attr(TABINDEX, 0)\n .on(MOUSE_UP, function() {\n that._setTooltipTimeout();\n })\n .on(CLICK, function(e) {\n that._focusWithMouse(e.target);\n e.preventDefault();\n })\n .on(FOCUS, that._focus.bind(that))\n .on(BLUR, that._blur.bind(that));\n\n that.wrapper.find(DRAG_HANDLE)\n .off(KEY_DOWN, kendo.preventDefault)\n .eq(0).on(KEY_DOWN,\n (function(e) {\n this._keydown(e, \"firstHandle\");\n }).bind(that)\n )\n .end()\n .eq(1).on(KEY_DOWN,\n (function(e) {\n this._keydown(e, \"lastHandle\");\n }).bind(that)\n );\n\n that.options.enabled = true;\n },\n\n disable: function() {\n var that = this;\n\n that.wrapper\n .addClass(STATE_DISABLED);\n\n that.wrapper.find(\"input\").prop(DISABLED, DISABLED);\n\n that.wrapper\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR).off(TRACK_MOUSE_DOWN).off(TRACK_MOUSE_UP);\n\n that.wrapper\n .find(DRAG_HANDLE)\n .attr(TABINDEX, -1)\n .off(MOUSE_UP)\n .off(KEY_DOWN)\n .off(CLICK)\n .off(FOCUS)\n .off(BLUR);\n\n that.options.enabled = false;\n },\n\n _keydown: function(e, handle) {\n var that = this,\n selectionStartValue = that.options.selectionStart,\n selectionEndValue = that.options.selectionEnd,\n dragSelectionStart,\n dragSelectionEnd,\n activeHandleDrag;\n\n if (e.keyCode in that._keyMap) {\n\n that._clearTooltipTimeout();\n\n if (handle == \"firstHandle\") {\n activeHandleDrag = that._activeHandleDrag = that._firstHandleDrag;\n selectionStartValue = that._keyMap[e.keyCode](selectionStartValue);\n\n if (selectionStartValue > selectionEndValue) {\n selectionEndValue = selectionStartValue;\n }\n } else {\n activeHandleDrag = that._activeHandleDrag = that._lastHandleDrag;\n selectionEndValue = that._keyMap[e.keyCode](selectionEndValue);\n\n if (selectionStartValue > selectionEndValue) {\n selectionStartValue = selectionEndValue;\n }\n }\n\n that._setValueInRange(round(selectionStartValue), round(selectionEndValue));\n\n dragSelectionStart = Math.max(selectionStartValue, that.options.selectionStart);\n dragSelectionEnd = Math.min(selectionEndValue, that.options.selectionEnd);\n\n activeHandleDrag.selectionEnd = Math.max(dragSelectionEnd, that.options.selectionStart);\n activeHandleDrag.selectionStart = Math.min(dragSelectionStart, that.options.selectionEnd);\n\n activeHandleDrag._updateTooltip(that.value()[that._activeHandle]);\n\n e.preventDefault();\n }\n },\n\n _update: function(selectionStart, selectionEnd) {\n var that = this,\n values = that.value();\n\n var change = values[0] != selectionStart || values[1] != selectionEnd;\n\n that.value([selectionStart, selectionEnd]);\n\n if (change) {\n that.trigger(CHANGE, {\n values: [selectionStart, selectionEnd],\n value: [selectionStart, selectionEnd]\n });\n }\n },\n\n value: function(value) {\n if (value && value.length) {\n return this._value(value[0], value[1]);\n } else {\n return this._value();\n }\n },\n\n _value: function(start, end) {\n var that = this,\n options = that.options,\n selectionStart = options.selectionStart,\n selectionEnd = options.selectionEnd;\n\n if (isNaN(start) && isNaN(end)) {\n return [selectionStart, selectionEnd];\n } else {\n start = round(start);\n end = round(end);\n }\n\n if (start >= options.min && start <= options.max &&\n end >= options.min && end <= options.max && start <= end) {\n if (selectionStart != start || selectionEnd != end) {\n that.element.find(\"input\")\n .eq(0).prop(\"value\", formatValue(start))\n .end()\n .eq(1).prop(\"value\", formatValue(end));\n\n options.selectionStart = start;\n options.selectionEnd = end;\n that._refresh();\n that._refreshAriaAttr(start, end);\n }\n }\n },\n\n values: function(start, end) {\n if (isArray(start)) {\n return this._value(start[0], start[1]);\n } else {\n return this._value(start, end);\n }\n },\n\n _refresh: function() {\n var that = this,\n options = that.options;\n\n that.trigger(MOVE_SELECTION, {\n values: [options.selectionStart, options.selectionEnd],\n value: [options.selectionStart, options.selectionEnd]\n });\n\n if (options.selectionStart == options.max && options.selectionEnd == options.max) {\n that._setZIndex(\"firstHandle\");\n }\n },\n\n _refreshAriaAttr: function(start, end) {\n var that = this,\n dragHandles = that.wrapper.find(DRAG_HANDLE),\n drag = that._activeHandleDrag,\n formattedValue;\n\n formattedValue = that._getFormattedValue([start, end], drag);\n\n dragHandles.eq(0).attr(ARIA_VALUENOW, start);\n dragHandles.eq(1).attr(ARIA_VALUENOW, end);\n dragHandles.attr(ARIA_VALUETEXT, formattedValue);\n },\n\n _setValueInRange: function(selectionStart, selectionEnd) {\n var options = this.options;\n\n selectionStart = math.max(math.min(selectionStart, options.max), options.min);\n\n selectionEnd = math.max(math.min(selectionEnd, options.max), options.min);\n\n if (selectionStart == options.max && selectionEnd == options.max) {\n this._setZIndex(\"firstHandle\");\n }\n\n this._update(math.min(selectionStart, selectionEnd), math.max(selectionStart, selectionEnd));\n },\n\n _setZIndex: function(type) {\n this.wrapper.find(DRAG_HANDLE).each(function(index) {\n $(this).css(\"z-index\", type == \"firstHandle\" ? 1 - index : index);\n });\n },\n\n _formResetHandler: function() {\n var that = this,\n options = that.options;\n\n setTimeout(function() {\n var inputs = that.element.find(\"input\");\n var start = inputs[0].value;\n var end = inputs[1].value;\n that.values(start === \"\" || isNaN(start) ? options.min : start, end === \"\" || isNaN(end) ? options.max : end);\n });\n },\n\n destroy: function() {\n var that = this;\n\n SliderBase.fn.destroy.call(that);\n\n that.wrapper.off(NS)\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR).off(NS)\n .end()\n .find(DRAG_HANDLE).off(NS);\n\n that._firstHandleDrag.draggable.destroy();\n that._lastHandleDrag.draggable.destroy();\n }\n });\n\n RangeSlider.Selection = function(dragHandles, that, options) {\n function moveSelection(value) {\n value = value || [];\n var selectionStartValue = value[0] - options.min,\n selectionEndValue = value[1] - options.min,\n selectionStartIndex = math.ceil(round(selectionStartValue / options.smallStep)),\n selectionEndIndex = math.ceil(round(selectionEndValue / options.smallStep)),\n selectionStart = that._pixelSteps[selectionStartIndex],\n selectionEnd = that._pixelSteps[selectionEndIndex],\n rtlCorrection = that._isRtl ? 2 : 0;\n\n dragHandles.eq(0).css(that._position, selectionStart - rtlCorrection)\n .end()\n .eq(1).css(that._position, selectionEnd - rtlCorrection);\n\n makeSelection(selectionStart, selectionEnd);\n }\n\n function makeSelection(selectionStart, selectionEnd) {\n var selection,\n selectionPosition,\n selectionDiv = that._trackDiv.find(\".k-slider-selection\");\n\n selection = math.abs(selectionStart - selectionEnd);\n\n selectionDiv[that._sizeFn](selection);\n if (that._isRtl) {\n selectionPosition = math.max(selectionStart, selectionEnd);\n selectionDiv.css(\"right\", that._maxSelection - selectionPosition - 1);\n } else {\n selectionPosition = math.min(selectionStart, selectionEnd);\n selectionDiv.css(that._position, selectionPosition - 1);\n }\n }\n\n moveSelection(that.value());\n\n that.bind([ CHANGE, SLIDE, MOVE_SELECTION ], function(e) {\n moveSelection(e.values);\n });\n };\n\n kendo.ui.plugin(RangeSlider);\n\n })(window.kendo.jQuery);\n\n}));\n"]}