(function($, undefined){ "use strict"; $.widget("ui.sliderDemo", { options:{ }, _title: "Float values", _name: "rangeSlider", _create: function(){ this.element.addClass("ui-sliderDemo"); this._elements = {}; this._createTitle(); this._createZones(); this._createOptions(); this._createSlider(); this._createLog(); this._createCode(); }, destroy: function(){ this.element.empty(); }, _setOption: function(name, value){ this._elements.slider[this._name]("option", name, value); }, _getOption: function(name){ return this._elements.slider[this._name]("option", name); }, _easyOptionChange: function(e){ var target = $(e.target), value = target.val(), name = target.attr("name"); if (value === "false"){ value = false } else if (value === "null"){ value = null } else if (!isNaN(parseFloat(value)) && parseFloat(value).toString() == value){ value = parseFloat(value) } this._setOption(name, value); }, _createZones: function(){ var wrapper = $("
").appendTo(this.element), inputZone = $("
").appendTo(wrapper), optionsZone = $("
").appendTo(this.element); this._elements.sliderZone = $("
").appendTo(inputZone); this._elements.optionsZone = $("").appendTo(optionsZone); this._elements.logZone = $("
").appendTo(wrapper); }, _createTitle: function(){ var title = $("

"); title.text(this._title); this.element.append(title); }, _createInputs: function(){ var inputs = $("
"), minInputContainer = $("
"), maxInputContainer = $("
"); this._elements.minInput = $("").appendTo(minInputContainer); this._elements.maxInput = $("").appendTo(maxInputContainer); inputs.append("
min
") .append(minInputContainer) .append("
max
") .append(maxInputContainer) .appendTo(this._elements.sliderZone); }, _createSlider: function(){ var slider = $("
").appendTo(this._elements.sliderZone); slider[this._name](); this._elements.slider = slider; }, _format: function(value){ return value; }, _createOptions: function(){ this._elements.options = $("
").appendTo(this._elements.optionsZone); this._createBoundsOptions(); this._createRangeOptions(); this._createStepOption(); this._createWheelModeOption(); this._createWheelSpeedOption(); this._createArrowsOption(); this._createLabelsOption(); this._createEnabledOption(); }, _createBoundsOptions: function(){ this._createDT("Bounds"); var minSelect = this._createSelect("min", "Bound"), maxSelect = this._createSelect("max", "Bound"); this._addOption(minSelect, 0); this._addOption(minSelect, 10); this._addOption(minSelect, 20); this._addOption(maxSelect, 100); this._addOption(maxSelect, 90); this._addOption(maxSelect, 80); minSelect.bind("change", "min", $.proxy(this._changeBound, this)); maxSelect.bind("change", "max", $.proxy(this._changeBound, this)); }, _changeBound: function(event, ui){ var value = $(event.target).val(), bounds = this._getOption("bounds"); bounds[event.data] = parseFloat(value); this._setOption("bounds", bounds); }, _createRangeOptions: function(){ this._createDT("Range limit"); var minSelect = this._createSelect("min", "RangeLimit"), maxSelect = this._createSelect("max", "RangeLimit"); this._fillMinSelect(minSelect); this._fillMaxSelect(maxSelect); minSelect.bind("change", $.proxy(this._minSelectChange, this)); maxSelect.bind("change", $.proxy(this._maxSelectChange, this)); }, _createStepOption: function(){ this._createDT("Step"); var select = $("").attr("name", name + suffix); this._elements.options.append($("
") .append(name + ":") .append(select)); return select; }, _fillMinSelect: function(select){ this._addOption(select, "false"); this._addOption(select, 10); this._addOption(select, 20); this._addOption(select, 30); this._addOption(select, 40); }, _fillMaxSelect: function(select){ this._addOption(select, "false"); this._addOption(select, 50); this._addOption(select, 60); this._addOption(select, 70); this._addOption(select, 80); }, _addOption: function(select, text, value){ var value, option = $("