芝麻web文件管理V1.00
编辑当前文件:/var/www/italafricacentrale.com/wp-content/plugins/mapsvg/mapsvg2/js/ion.rangeSlider.min.js
// Ion.RangeSlider | version 2.1.2 | https://github.com/IonDen/ion.rangeSlider (function (f, r, h, t, v) { var u = 0, p = (function () { var a = t.userAgent, b = /msie\s\d+/i; return 0 < a.search(b) && ((a = b.exec(a).toString()), (a = a.split(" ")[1]), 9 > a) ? (f("html").addClass("lt-ie9"), !0) : !1; })(); Function.prototype.bind || (Function.prototype.bind = function (a) { var b = this, d = [].slice; if ("function" != typeof b) throw new TypeError(); var c = d.call(arguments, 1), e = function () { if (this instanceof e) { var g = function () {}; g.prototype = b.prototype; var g = new g(), l = b.apply(g, c.concat(d.call(arguments))); return Object(l) === l ? l : g; } return b.apply(a, c.concat(d.call(arguments))); }; return e; }); Array.prototype.indexOf || (Array.prototype.indexOf = function (a, b) { var d; if (null == this) throw new TypeError('"this" is null or not defined'); var c = Object(this), e = c.length >>> 0; if (0 === e) return -1; d = +b || 0; Infinity === Math.abs(d) && (d = 0); if (d >= e) return -1; for (d = Math.max(0 <= d ? d : e - Math.abs(d), 0); d < e; ) { if (d in c && c[d] === a) return d; d++; } return -1; }); var q = function (a, b, d) { this.VERSION = "2.1.2"; this.input = a; this.plugin_count = d; this.old_to = this.old_from = this.update_tm = this.calc_count = this.current_plugin = 0; this.raf_id = this.old_min_interval = null; this.is_update = this.is_key = this.no_diapason = this.force_redraw = this.dragging = !1; this.is_start = !0; this.is_click = this.is_resize = this.is_active = this.is_finish = !1; this.$cache = { win: f(h), body: f(r.body), input: f(a), cont: null, rs: null, min: null, max: null, from: null, to: null, single: null, bar: null, line: null, s_single: null, s_from: null, s_to: null, shad_single: null, shad_from: null, shad_to: null, edge: null, grid: null, grid_labels: [], }; this.coords = { x_gap: 0, x_pointer: 0, w_rs: 0, w_rs_old: 0, w_handle: 0, p_gap: 0, p_gap_left: 0, p_gap_right: 0, p_step: 0, p_pointer: 0, p_handle: 0, p_single_fake: 0, p_single_real: 0, p_from_fake: 0, p_from_real: 0, p_to_fake: 0, p_to_real: 0, p_bar_x: 0, p_bar_w: 0, grid_gap: 0, big_num: 0, big: [], big_w: [], big_p: [], big_x: [], }; this.labels = { w_min: 0, w_max: 0, w_from: 0, w_to: 0, w_single: 0, p_min: 0, p_max: 0, p_from_fake: 0, p_from_left: 0, p_to_fake: 0, p_to_left: 0, p_single_fake: 0, p_single_left: 0, }; var c = this.$cache.input; a = c.prop("value"); var e; d = { type: "single", min: 10, max: 100, from: null, to: null, step: 1, min_interval: 0, max_interval: 0, drag_interval: !1, values: [], p_values: [], from_fixed: !1, from_min: null, from_max: null, from_shadow: !1, to_fixed: !1, to_min: null, to_max: null, to_shadow: !1, prettify_enabled: !0, prettify_separator: " ", prettify: null, force_edges: !1, keyboard: !1, keyboard_step: 5, grid: !1, grid_margin: !0, grid_num: 4, grid_snap: !1, hide_min_max: !1, hide_from_to: !1, prefix: "", postfix: "", max_postfix: "", decorate_both: !0, values_separator: " \u2014 ", input_values_separator: ";", disable: !1, onStart: null, onChange: null, onFinish: null, onUpdate: null, }; c = { type: c.data("type"), min: c.data("min"), max: c.data("max"), from: c.data("from"), to: c.data("to"), step: c.data("step"), min_interval: c.data("minInterval"), max_interval: c.data("maxInterval"), drag_interval: c.data("dragInterval"), values: c.data("values"), from_fixed: c.data("fromFixed"), from_min: c.data("fromMin"), from_max: c.data("fromMax"), from_shadow: c.data("fromShadow"), to_fixed: c.data("toFixed"), to_min: c.data("toMin"), to_max: c.data("toMax"), to_shadow: c.data("toShadow"), prettify_enabled: c.data("prettifyEnabled"), prettify_separator: c.data("prettifySeparator"), force_edges: c.data("forceEdges"), keyboard: c.data("keyboard"), keyboard_step: c.data("keyboardStep"), grid: c.data("grid"), grid_margin: c.data("gridMargin"), grid_num: c.data("gridNum"), grid_snap: c.data("gridSnap"), hide_min_max: c.data("hideMinMax"), hide_from_to: c.data("hideFromTo"), prefix: c.data("prefix"), postfix: c.data("postfix"), max_postfix: c.data("maxPostfix"), decorate_both: c.data("decorateBoth"), values_separator: c.data("valuesSeparator"), input_values_separator: c.data("inputValuesSeparator"), disable: c.data("disable"), }; c.values = c.values && c.values.split(","); for (e in c) c.hasOwnProperty(e) && (c[e] || 0 === c[e] || delete c[e]); a && ((a = a.split(c.input_values_separator || b.input_values_separator || ";")), a[0] && a[0] == +a[0] && (a[0] = +a[0]), a[1] && a[1] == +a[1] && (a[1] = +a[1]), b && b.values && b.values.length ? ((d.from = a[0] && b.values.indexOf(a[0])), (d.to = a[1] && b.values.indexOf(a[1]))) : ((d.from = a[0] && +a[0]), (d.to = a[1] && +a[1]))); f.extend(d, b); f.extend(d, c); this.options = d; this.validate(); this.result = { input: this.$cache.input, slider: null, min: this.options.min, max: this.options.max, from: this.options.from, from_percent: 0, from_value: null, to: this.options.to, to_percent: 0, to_value: null, }; this.init(); }; q.prototype = { init: function (a) { this.no_diapason = !1; this.coords.p_step = this.convertToPercent(this.options.step, !0); this.target = "base"; this.toggleInput(); this.append(); this.setMinMax(); a ? ((this.force_redraw = !0), this.calc(!0), this.callOnUpdate()) : ((this.force_redraw = !0), this.calc(!0), this.callOnStart()); this.updateScene(); }, append: function () { this.$cache.input.before('
'); this.$cache.input.prop("readonly", !0); this.$cache.cont = this.$cache.input.prev(); this.result.slider = this.$cache.cont; this.$cache.cont.html( '
0
1
0
0
0
' ); this.$cache.rs = this.$cache.cont.find(".irs"); this.$cache.min = this.$cache.cont.find(".irs-min"); this.$cache.max = this.$cache.cont.find(".irs-max"); this.$cache.from = this.$cache.cont.find(".irs-from"); this.$cache.to = this.$cache.cont.find(".irs-to"); this.$cache.single = this.$cache.cont.find(".irs-single"); this.$cache.bar = this.$cache.cont.find(".irs-bar"); this.$cache.line = this.$cache.cont.find(".irs-line"); this.$cache.grid = this.$cache.cont.find(".irs-grid"); "single" === this.options.type ? (this.$cache.cont.append( '
' ), (this.$cache.edge = this.$cache.cont.find(".irs-bar-edge")), (this.$cache.s_single = this.$cache.cont.find(".single")), (this.$cache.from[0].style.visibility = "hidden"), (this.$cache.to[0].style.visibility = "hidden"), (this.$cache.shad_single = this.$cache.cont.find(".shadow-single"))) : (this.$cache.cont.append( '
' ), (this.$cache.s_from = this.$cache.cont.find(".from")), (this.$cache.s_to = this.$cache.cont.find(".to")), (this.$cache.shad_from = this.$cache.cont.find(".shadow-from")), (this.$cache.shad_to = this.$cache.cont.find(".shadow-to")), this.setTopHandler()); this.options.hide_from_to && ((this.$cache.from[0].style.display = "none"), (this.$cache.to[0].style.display = "none"), (this.$cache.single[0].style.display = "none")); this.appendGrid(); this.options.disable ? (this.appendDisableMask(), (this.$cache.input[0].disabled = !0)) : (this.$cache.cont.removeClass("irs-disabled"), (this.$cache.input[0].disabled = !1), this.bindEvents()); this.options.drag_interval && (this.$cache.bar[0].style.cursor = "ew-resize"); }, setTopHandler: function () { var a = this.options.max, b = this.options.to; this.options.from > this.options.min && b === a ? this.$cache.s_from.addClass("type_last") : b < a && this.$cache.s_to.addClass("type_last"); }, changeLevel: function (a) { switch (a) { case "single": this.coords.p_gap = this.toFixed( this.coords.p_pointer - this.coords.p_single_fake ); break; case "from": this.coords.p_gap = this.toFixed( this.coords.p_pointer - this.coords.p_from_fake ); this.$cache.s_from.addClass("state_hover"); this.$cache.s_from.addClass("type_last"); this.$cache.s_to.removeClass("type_last"); break; case "to": this.coords.p_gap = this.toFixed(this.coords.p_pointer - this.coords.p_to_fake); this.$cache.s_to.addClass("state_hover"); this.$cache.s_to.addClass("type_last"); this.$cache.s_from.removeClass("type_last"); break; case "both": (this.coords.p_gap_left = this.toFixed( this.coords.p_pointer - this.coords.p_from_fake )), (this.coords.p_gap_right = this.toFixed( this.coords.p_to_fake - this.coords.p_pointer )), this.$cache.s_to.removeClass("type_last"), this.$cache.s_from.removeClass("type_last"); } }, appendDisableMask: function () { this.$cache.cont.append('
'); this.$cache.cont.addClass("irs-disabled"); }, remove: function () { this.$cache.cont.remove(); this.$cache.cont = null; this.$cache.line.off("keydown.irs_" + this.plugin_count); this.$cache.body.off("touchmove.irs_" + this.plugin_count); this.$cache.body.off("mousemove.irs_" + this.plugin_count); this.$cache.win.off("touchend.irs_" + this.plugin_count); this.$cache.win.off("mouseup.irs_" + this.plugin_count); p && (this.$cache.body.off("mouseup.irs_" + this.plugin_count), this.$cache.body.off("mouseleave.irs_" + this.plugin_count)); this.$cache.grid_labels = []; this.coords.big = []; this.coords.big_w = []; this.coords.big_p = []; this.coords.big_x = []; cancelAnimationFrame(this.raf_id); }, bindEvents: function () { if (!this.no_diapason) { this.$cache.body.on( "touchmove.irs_" + this.plugin_count, this.pointerMove.bind(this) ); this.$cache.body.on( "mousemove.irs_" + this.plugin_count, this.pointerMove.bind(this) ); this.$cache.win.on("touchend.irs_" + this.plugin_count, this.pointerUp.bind(this)); this.$cache.win.on("mouseup.irs_" + this.plugin_count, this.pointerUp.bind(this)); this.$cache.line.on( "touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") ); this.$cache.line.on( "mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") ); this.options.drag_interval && "double" === this.options.type ? (this.$cache.bar.on( "touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "both") ), this.$cache.bar.on( "mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "both") )) : (this.$cache.bar.on( "touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") ), this.$cache.bar.on( "mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") )); "single" === this.options.type ? (this.$cache.single.on( "touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "single") ), this.$cache.s_single.on( "touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "single") ), this.$cache.shad_single.on( "touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") ), this.$cache.single.on( "mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "single") ), this.$cache.s_single.on( "mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "single") ), this.$cache.edge.on( "mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") ), this.$cache.shad_single.on( "mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") )) : (this.$cache.single.on( "touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, null) ), this.$cache.single.on( "mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, null) ), this.$cache.from.on( "touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "from") ), this.$cache.s_from.on( "touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "from") ), this.$cache.to.on( "touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "to") ), this.$cache.s_to.on( "touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "to") ), this.$cache.shad_from.on( "touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") ), this.$cache.shad_to.on( "touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") ), this.$cache.from.on( "mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "from") ), this.$cache.s_from.on( "mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "from") ), this.$cache.to.on( "mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "to") ), this.$cache.s_to.on( "mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "to") ), this.$cache.shad_from.on( "mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") ), this.$cache.shad_to.on( "mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click") )); if (this.options.keyboard) this.$cache.line.on( "keydown.irs_" + this.plugin_count, this.key.bind(this, "keyboard") ); p && (this.$cache.body.on( "mouseup.irs_" + this.plugin_count, this.pointerUp.bind(this) ), this.$cache.body.on( "mouseleave.irs_" + this.plugin_count, this.pointerUp.bind(this) )); } }, pointerMove: function (a) { this.dragging && ((this.coords.x_pointer = (a.pageX || (a.originalEvent.touches && a.originalEvent.touches[0].pageX)) - this.coords.x_gap), this.calc()); }, pointerUp: function (a) { if (this.current_plugin === this.plugin_count && this.is_active) { this.is_active = !1; this.$cache.cont.find(".state_hover").removeClass("state_hover"); this.force_redraw = !0; p && f("*").prop("unselectable", !1); this.updateScene(); this.restoreOriginalMinInterval(); if (f.contains(this.$cache.cont[0], a.target) || this.dragging) (this.is_finish = !0), this.callOnFinish(); this.dragging = !1; } }, pointerDown: function (a, b) { b.preventDefault(); var d = b.pageX || (b.originalEvent.touches && b.originalEvent.touches[0].pageX); 2 !== b.button && ("both" === a && this.setTempMinInterval(), a || (a = this.target), (this.current_plugin = this.plugin_count), (this.target = a), (this.dragging = this.is_active = !0), (this.coords.x_gap = this.$cache.rs.offset().left), (this.coords.x_pointer = d - this.coords.x_gap), this.calcPointerPercent(), this.changeLevel(a), p && f("*").prop("unselectable", !0), this.$cache.line.trigger("focus"), this.updateScene()); }, pointerClick: function (a, b) { b.preventDefault(); var d = b.pageX || (b.originalEvent.touches && b.originalEvent.touches[0].pageX); 2 !== b.button && ((this.current_plugin = this.plugin_count), (this.target = a), (this.is_click = !0), (this.coords.x_gap = this.$cache.rs.offset().left), (this.coords.x_pointer = +(d - this.coords.x_gap).toFixed()), (this.force_redraw = !0), this.calc(), this.$cache.line.trigger("focus")); }, key: function (a, b) { if ( !( this.current_plugin !== this.plugin_count || b.altKey || b.ctrlKey || b.shiftKey || b.metaKey ) ) { switch (b.which) { case 83: case 65: case 40: case 37: b.preventDefault(); this.moveByKey(!1); break; case 87: case 68: case 38: case 39: b.preventDefault(), this.moveByKey(!0); } return !0; } }, moveByKey: function (a) { var b = this.coords.p_pointer, b = a ? b + this.options.keyboard_step : b - this.options.keyboard_step; this.coords.x_pointer = this.toFixed((this.coords.w_rs / 100) * b); this.is_key = !0; this.calc(); }, setMinMax: function () { this.options && (this.options.hide_min_max ? ((this.$cache.min[0].style.display = "none"), (this.$cache.max[0].style.display = "none")) : (this.options.values.length ? (this.$cache.min.html( this.decorate(this.options.p_values[this.options.min]) ), this.$cache.max.html( this.decorate(this.options.p_values[this.options.max]) )) : (this.$cache.min.html( this.decorate(this._prettify(this.options.min), this.options.min) ), this.$cache.max.html( this.decorate(this._prettify(this.options.max), this.options.max) )), (this.labels.w_min = this.$cache.min.outerWidth(!1)), (this.labels.w_max = this.$cache.max.outerWidth(!1)))); }, setTempMinInterval: function () { var a = this.result.to - this.result.from; null === this.old_min_interval && (this.old_min_interval = this.options.min_interval); this.options.min_interval = a; }, restoreOriginalMinInterval: function () { null !== this.old_min_interval && ((this.options.min_interval = this.old_min_interval), (this.old_min_interval = null)); }, calc: function (a) { if (this.options) { this.calc_count++; if (10 === this.calc_count || a) (this.calc_count = 0), (this.coords.w_rs = this.$cache.rs.outerWidth(!1)), this.calcHandlePercent(); if (this.coords.w_rs) { this.calcPointerPercent(); a = this.getHandleX(); "click" === this.target && ((this.coords.p_gap = this.coords.p_handle / 2), (a = this.getHandleX()), (this.target = this.options.drag_interval ? "both_one" : this.chooseHandle(a))); switch (this.target) { case "base": var b = (this.options.max - this.options.min) / 100; a = (this.result.from - this.options.min) / b; b = (this.result.to - this.options.min) / b; this.coords.p_single_real = this.toFixed(a); this.coords.p_from_real = this.toFixed(a); this.coords.p_to_real = this.toFixed(b); this.coords.p_single_real = this.checkDiapason( this.coords.p_single_real, this.options.from_min, this.options.from_max ); this.coords.p_from_real = this.checkDiapason( this.coords.p_from_real, this.options.from_min, this.options.from_max ); this.coords.p_to_real = this.checkDiapason( this.coords.p_to_real, this.options.to_min, this.options.to_max ); this.coords.p_single_fake = this.convertToFakePercent( this.coords.p_single_real ); this.coords.p_from_fake = this.convertToFakePercent( this.coords.p_from_real ); this.coords.p_to_fake = this.convertToFakePercent( this.coords.p_to_real ); this.target = null; break; case "single": if (this.options.from_fixed) break; this.coords.p_single_real = this.convertToRealPercent(a); this.coords.p_single_real = this.calcWithStep( this.coords.p_single_real ); this.coords.p_single_real = this.checkDiapason( this.coords.p_single_real, this.options.from_min, this.options.from_max ); this.coords.p_single_fake = this.convertToFakePercent( this.coords.p_single_real ); break; case "from": if (this.options.from_fixed) break; this.coords.p_from_real = this.convertToRealPercent(a); this.coords.p_from_real = this.calcWithStep(this.coords.p_from_real); this.coords.p_from_real > this.coords.p_to_real && (this.coords.p_from_real = this.coords.p_to_real); this.coords.p_from_real = this.checkDiapason( this.coords.p_from_real, this.options.from_min, this.options.from_max ); this.coords.p_from_real = this.checkMinInterval( this.coords.p_from_real, this.coords.p_to_real, "from" ); this.coords.p_from_real = this.checkMaxInterval( this.coords.p_from_real, this.coords.p_to_real, "from" ); this.coords.p_from_fake = this.convertToFakePercent( this.coords.p_from_real ); break; case "to": if (this.options.to_fixed) break; this.coords.p_to_real = this.convertToRealPercent(a); this.coords.p_to_real = this.calcWithStep(this.coords.p_to_real); this.coords.p_to_real < this.coords.p_from_real && (this.coords.p_to_real = this.coords.p_from_real); this.coords.p_to_real = this.checkDiapason( this.coords.p_to_real, this.options.to_min, this.options.to_max ); this.coords.p_to_real = this.checkMinInterval( this.coords.p_to_real, this.coords.p_from_real, "to" ); this.coords.p_to_real = this.checkMaxInterval( this.coords.p_to_real, this.coords.p_from_real, "to" ); this.coords.p_to_fake = this.convertToFakePercent( this.coords.p_to_real ); break; case "both": if (this.options.from_fixed || this.options.to_fixed) break; a = this.toFixed(a + 0.1 * this.coords.p_handle); this.coords.p_from_real = this.convertToRealPercent(a) - this.coords.p_gap_left; this.coords.p_from_real = this.calcWithStep(this.coords.p_from_real); this.coords.p_from_real = this.checkDiapason( this.coords.p_from_real, this.options.from_min, this.options.from_max ); this.coords.p_from_real = this.checkMinInterval( this.coords.p_from_real, this.coords.p_to_real, "from" ); this.coords.p_from_fake = this.convertToFakePercent( this.coords.p_from_real ); this.coords.p_to_real = this.convertToRealPercent(a) + this.coords.p_gap_right; this.coords.p_to_real = this.calcWithStep(this.coords.p_to_real); this.coords.p_to_real = this.checkDiapason( this.coords.p_to_real, this.options.to_min, this.options.to_max ); this.coords.p_to_real = this.checkMinInterval( this.coords.p_to_real, this.coords.p_from_real, "to" ); this.coords.p_to_fake = this.convertToFakePercent( this.coords.p_to_real ); break; case "both_one": if (this.options.from_fixed || this.options.to_fixed) break; var d = this.convertToRealPercent(a); a = this.result.to_percent - this.result.from_percent; var c = a / 2, b = d - c, d = d + c; 0 > b && ((b = 0), (d = b + a)); 100 < d && ((d = 100), (b = d - a)); this.coords.p_from_real = this.calcWithStep(b); this.coords.p_from_real = this.checkDiapason( this.coords.p_from_real, this.options.from_min, this.options.from_max ); this.coords.p_from_fake = this.convertToFakePercent( this.coords.p_from_real ); this.coords.p_to_real = this.calcWithStep(d); this.coords.p_to_real = this.checkDiapason( this.coords.p_to_real, this.options.to_min, this.options.to_max ); this.coords.p_to_fake = this.convertToFakePercent( this.coords.p_to_real ); } "single" === this.options.type ? ((this.coords.p_bar_x = this.coords.p_handle / 2), (this.coords.p_bar_w = this.coords.p_single_fake), (this.result.from_percent = this.coords.p_single_real), (this.result.from = this.convertToValue(this.coords.p_single_real)), this.options.values.length && (this.result.from_value = this.options.values[this.result.from])) : ((this.coords.p_bar_x = this.toFixed( this.coords.p_from_fake + this.coords.p_handle / 2 )), (this.coords.p_bar_w = this.toFixed( this.coords.p_to_fake - this.coords.p_from_fake )), (this.result.from_percent = this.coords.p_from_real), (this.result.from = this.convertToValue(this.coords.p_from_real)), (this.result.to_percent = this.coords.p_to_real), (this.result.to = this.convertToValue(this.coords.p_to_real)), this.options.values.length && ((this.result.from_value = this.options.values[this.result.from]), (this.result.to_value = this.options.values[this.result.to]))); this.calcMinMax(); this.calcLabels(); } } }, calcPointerPercent: function () { this.coords.w_rs ? (0 > this.coords.x_pointer || isNaN(this.coords.x_pointer) ? (this.coords.x_pointer = 0) : this.coords.x_pointer > this.coords.w_rs && (this.coords.x_pointer = this.coords.w_rs), (this.coords.p_pointer = this.toFixed( (this.coords.x_pointer / this.coords.w_rs) * 100 ))) : (this.coords.p_pointer = 0); }, convertToRealPercent: function (a) { return (a / (100 - this.coords.p_handle)) * 100; }, convertToFakePercent: function (a) { return (a / 100) * (100 - this.coords.p_handle); }, getHandleX: function () { var a = 100 - this.coords.p_handle, b = this.toFixed(this.coords.p_pointer - this.coords.p_gap); 0 > b ? (b = 0) : b > a && (b = a); return b; }, calcHandlePercent: function () { this.coords.w_handle = "single" === this.options.type ? this.$cache.s_single.outerWidth(!1) : this.$cache.s_from.outerWidth(!1); this.coords.p_handle = this.toFixed((this.coords.w_handle / this.coords.w_rs) * 100); }, chooseHandle: function (a) { return "single" === this.options.type ? "single" : a >= this.coords.p_from_real + (this.coords.p_to_real - this.coords.p_from_real) / 2 ? this.options.to_fixed ? "from" : "to" : this.options.from_fixed ? "to" : "from"; }, calcMinMax: function () { this.coords.w_rs && ((this.labels.p_min = (this.labels.w_min / this.coords.w_rs) * 100), (this.labels.p_max = (this.labels.w_max / this.coords.w_rs) * 100)); }, calcLabels: function () { this.coords.w_rs && !this.options.hide_from_to && ("single" === this.options.type ? ((this.labels.w_single = this.$cache.single.outerWidth(!1)), (this.labels.p_single_fake = (this.labels.w_single / this.coords.w_rs) * 100), (this.labels.p_single_left = this.coords.p_single_fake + this.coords.p_handle / 2 - this.labels.p_single_fake / 2)) : ((this.labels.w_from = this.$cache.from.outerWidth(!1)), (this.labels.p_from_fake = (this.labels.w_from / this.coords.w_rs) * 100), (this.labels.p_from_left = this.coords.p_from_fake + this.coords.p_handle / 2 - this.labels.p_from_fake / 2), (this.labels.p_from_left = this.toFixed(this.labels.p_from_left)), (this.labels.p_from_left = this.checkEdges( this.labels.p_from_left, this.labels.p_from_fake )), (this.labels.w_to = this.$cache.to.outerWidth(!1)), (this.labels.p_to_fake = (this.labels.w_to / this.coords.w_rs) * 100), (this.labels.p_to_left = this.coords.p_to_fake + this.coords.p_handle / 2 - this.labels.p_to_fake / 2), (this.labels.p_to_left = this.toFixed(this.labels.p_to_left)), (this.labels.p_to_left = this.checkEdges( this.labels.p_to_left, this.labels.p_to_fake )), (this.labels.w_single = this.$cache.single.outerWidth(!1)), (this.labels.p_single_fake = (this.labels.w_single / this.coords.w_rs) * 100), (this.labels.p_single_left = (this.labels.p_from_left + this.labels.p_to_left + this.labels.p_to_fake) / 2 - this.labels.p_single_fake / 2), (this.labels.p_single_left = this.toFixed(this.labels.p_single_left))), (this.labels.p_single_left = this.checkEdges( this.labels.p_single_left, this.labels.p_single_fake ))); }, updateScene: function () { this.raf_id && (cancelAnimationFrame(this.raf_id), (this.raf_id = null)); clearTimeout(this.update_tm); this.update_tm = null; this.options && (this.drawHandles(), this.is_active ? (this.raf_id = requestAnimationFrame(this.updateScene.bind(this))) : (this.update_tm = setTimeout(this.updateScene.bind(this), 300))); }, drawHandles: function () { this.coords.w_rs = this.$cache.rs.outerWidth(!1); if (this.coords.w_rs) { this.coords.w_rs !== this.coords.w_rs_old && ((this.target = "base"), (this.is_resize = !0)); if (this.coords.w_rs !== this.coords.w_rs_old || this.force_redraw) this.setMinMax(), this.calc(!0), this.drawLabels(), this.options.grid && (this.calcGridMargin(), this.calcGridLabels()), (this.force_redraw = !0), (this.coords.w_rs_old = this.coords.w_rs), this.drawShadow(); if (this.coords.w_rs && (this.dragging || this.force_redraw || this.is_key)) { if ( this.old_from !== this.result.from || this.old_to !== this.result.to || this.force_redraw || this.is_key ) { this.drawLabels(); this.$cache.bar[0].style.left = this.coords.p_bar_x + "%"; this.$cache.bar[0].style.width = this.coords.p_bar_w + "%"; if ("single" === this.options.type) (this.$cache.s_single[0].style.left = this.coords.p_single_fake + "%"), (this.$cache.single[0].style.left = this.labels.p_single_left + "%"), this.options.values.length ? this.$cache.input.prop("value", this.result.from_value) : this.$cache.input.prop("value", this.result.from), this.$cache.input.data("from", this.result.from); else { this.$cache.s_from[0].style.left = this.coords.p_from_fake + "%"; this.$cache.s_to[0].style.left = this.coords.p_to_fake + "%"; if (this.old_from !== this.result.from || this.force_redraw) this.$cache.from[0].style.left = this.labels.p_from_left + "%"; if (this.old_to !== this.result.to || this.force_redraw) this.$cache.to[0].style.left = this.labels.p_to_left + "%"; this.$cache.single[0].style.left = this.labels.p_single_left + "%"; this.options.values.length ? this.$cache.input.prop( "value", this.result.from_value + this.options.input_values_separator + this.result.to_value ) : this.$cache.input.prop( "value", this.result.from + this.options.input_values_separator + this.result.to ); this.$cache.input.data("from", this.result.from); this.$cache.input.data("to", this.result.to); } (this.old_from === this.result.from && this.old_to === this.result.to) || this.is_start || this.$cache.input.trigger("change"); this.old_from = this.result.from; this.old_to = this.result.to; this.is_resize || this.is_update || this.is_start || this.is_finish || this.callOnChange(); if (this.is_key || this.is_click) (this.is_click = this.is_key = !1), this.callOnFinish(); this.is_finish = this.is_resize = this.is_update = !1; } this.force_redraw = this.is_click = this.is_key = this.is_start = !1; } } }, drawLabels: function () { if (this.options) { var a = this.options.values.length, b = this.options.p_values, d; if (!this.options.hide_from_to) if ("single" === this.options.type) (a = a ? this.decorate(b[this.result.from]) : this.decorate(this._prettify(this.result.from), this.result.from)), this.$cache.single.html(a), this.calcLabels(), (this.$cache.min[0].style.visibility = this.labels.p_single_left < this.labels.p_min + 1 ? "hidden" : "visible"), (this.$cache.max[0].style.visibility = this.labels.p_single_left + this.labels.p_single_fake > 100 - this.labels.p_max - 1 ? "hidden" : "visible"); else { a ? (this.options.decorate_both ? ((a = this.decorate(b[this.result.from])), (a += this.options.values_separator), (a += this.decorate(b[this.result.to]))) : (a = this.decorate( b[this.result.from] + this.options.values_separator + b[this.result.to] )), (d = this.decorate(b[this.result.from])), (b = this.decorate(b[this.result.to]))) : (this.options.decorate_both ? ((a = this.decorate( this._prettify(this.result.from), this.result.from )), (a += this.options.values_separator), (a += this.decorate( this._prettify(this.result.to), this.result.to ))) : (a = this.decorate( this._prettify(this.result.from) + this.options.values_separator + this._prettify(this.result.to), this.result.to )), (d = this.decorate( this._prettify(this.result.from), this.result.from )), (b = this.decorate(this._prettify(this.result.to), this.result.to))); this.$cache.single.html(a); this.$cache.from.html(d); this.$cache.to.html(b); this.calcLabels(); b = Math.min(this.labels.p_single_left, this.labels.p_from_left); a = this.labels.p_single_left + this.labels.p_single_fake; d = this.labels.p_to_left + this.labels.p_to_fake; var c = Math.max(a, d); this.labels.p_from_left + this.labels.p_from_fake >= this.labels.p_to_left ? ((this.$cache.from[0].style.visibility = "hidden"), (this.$cache.to[0].style.visibility = "hidden"), (this.$cache.single[0].style.visibility = "visible"), this.result.from === this.result.to ? ("from" === this.target ? (this.$cache.from[0].style.visibility = "visible") : "to" === this.target && (this.$cache.to[0].style.visibility = "visible"), (this.$cache.single[0].style.visibility = "hidden"), (c = d)) : ((this.$cache.from[0].style.visibility = "hidden"), (this.$cache.to[0].style.visibility = "hidden"), (this.$cache.single[0].style.visibility = "visible"), (c = Math.max(a, d)))) : ((this.$cache.from[0].style.visibility = "visible"), (this.$cache.to[0].style.visibility = "visible"), (this.$cache.single[0].style.visibility = "hidden")); this.$cache.min[0].style.visibility = b < this.labels.p_min + 1 ? "hidden" : "visible"; this.$cache.max[0].style.visibility = c > 100 - this.labels.p_max - 1 ? "hidden" : "visible"; } } }, drawShadow: function () { var a = this.options, b = this.$cache, d = "number" === typeof a.from_min && !isNaN(a.from_min), c = "number" === typeof a.from_max && !isNaN(a.from_max), e = "number" === typeof a.to_min && !isNaN(a.to_min), g = "number" === typeof a.to_max && !isNaN(a.to_max); "single" === a.type ? a.from_shadow && (d || c) ? ((d = this.convertToPercent(d ? a.from_min : a.min)), (c = this.convertToPercent(c ? a.from_max : a.max) - d), (d = this.toFixed(d - (this.coords.p_handle / 100) * d)), (c = this.toFixed(c - (this.coords.p_handle / 100) * c)), (d += this.coords.p_handle / 2), (b.shad_single[0].style.display = "block"), (b.shad_single[0].style.left = d + "%"), (b.shad_single[0].style.width = c + "%")) : (b.shad_single[0].style.display = "none") : (a.from_shadow && (d || c) ? ((d = this.convertToPercent(d ? a.from_min : a.min)), (c = this.convertToPercent(c ? a.from_max : a.max) - d), (d = this.toFixed(d - (this.coords.p_handle / 100) * d)), (c = this.toFixed(c - (this.coords.p_handle / 100) * c)), (d += this.coords.p_handle / 2), (b.shad_from[0].style.display = "block"), (b.shad_from[0].style.left = d + "%"), (b.shad_from[0].style.width = c + "%")) : (b.shad_from[0].style.display = "none"), a.to_shadow && (e || g) ? ((e = this.convertToPercent(e ? a.to_min : a.min)), (a = this.convertToPercent(g ? a.to_max : a.max) - e), (e = this.toFixed(e - (this.coords.p_handle / 100) * e)), (a = this.toFixed(a - (this.coords.p_handle / 100) * a)), (e += this.coords.p_handle / 2), (b.shad_to[0].style.display = "block"), (b.shad_to[0].style.left = e + "%"), (b.shad_to[0].style.width = a + "%")) : (b.shad_to[0].style.display = "none")); }, callOnStart: function () { if (this.options.onStart && "function" === typeof this.options.onStart) this.options.onStart(this.result); }, callOnChange: function () { if (this.options.onChange && "function" === typeof this.options.onChange) this.options.onChange(this.result); }, callOnFinish: function () { if (this.options.onFinish && "function" === typeof this.options.onFinish) this.options.onFinish(this.result); }, callOnUpdate: function () { if (this.options.onUpdate && "function" === typeof this.options.onUpdate) this.options.onUpdate(this.result); }, toggleInput: function () { this.$cache.input.toggleClass("irs-hidden-input"); }, convertToPercent: function (a, b) { var d = this.options.max - this.options.min; return d ? this.toFixed((b ? a : a - this.options.min) / (d / 100)) : ((this.no_diapason = !0), 0); }, convertToValue: function (a) { var b = this.options.min, d = this.options.max, c = b.toString().split(".")[1], e = d.toString().split(".")[1], g, l, k = 0, f = 0; if (0 === a) return this.options.min; if (100 === a) return this.options.max; c && (k = g = c.length); e && (k = l = e.length); g && l && (k = g >= l ? g : l); 0 > b && ((f = Math.abs(b)), (b = +(b + f).toFixed(k)), (d = +(d + f).toFixed(k))); a = ((d - b) / 100) * a + b; (b = this.options.step.toString().split(".")[1]) ? (a = +a.toFixed(b.length)) : ((a /= this.options.step), (a *= this.options.step), (a = +a.toFixed(0))); f && (a -= f); f = b ? +a.toFixed(b.length) : this.toFixed(a); f < this.options.min ? (f = this.options.min) : f > this.options.max && (f = this.options.max); return f; }, calcWithStep: function (a) { var b = Math.round(a / this.coords.p_step) * this.coords.p_step; 100 < b && (b = 100); 100 === a && (b = 100); return this.toFixed(b); }, checkMinInterval: function (a, b, d) { var c = this.options; if (!c.min_interval) return a; a = this.convertToValue(a); b = this.convertToValue(b); "from" === d ? b - a < c.min_interval && (a = b - c.min_interval) : a - b < c.min_interval && (a = b + c.min_interval); return this.convertToPercent(a); }, checkMaxInterval: function (a, b, d) { var c = this.options; if (!c.max_interval) return a; a = this.convertToValue(a); b = this.convertToValue(b); "from" === d ? b - a > c.max_interval && (a = b - c.max_interval) : a - b > c.max_interval && (a = b + c.max_interval); return this.convertToPercent(a); }, checkDiapason: function (a, b, d) { a = this.convertToValue(a); var c = this.options; "number" !== typeof b && (b = c.min); "number" !== typeof d && (d = c.max); a < b && (a = b); a > d && (a = d); return this.convertToPercent(a); }, toFixed: function (a) { a = a.toFixed(9); return +a; }, _prettify: function (a) { return this.options.prettify_enabled ? this.options.prettify && "function" === typeof this.options.prettify ? this.options.prettify(a) : this.prettify(a) : a; }, prettify: function (a) { return a .toString() .replace(/(\d{1,3}(?=(?:\d\d\d)+(?!\d)))/g, "$1" + this.options.prettify_separator); }, checkEdges: function (a, b) { if (!this.options.force_edges) return this.toFixed(a); 0 > a ? (a = 0) : a > 100 - b && (a = 100 - b); return this.toFixed(a); }, validate: function () { var a = this.options, b = this.result, d = a.values, c = d.length, e, g; "string" === typeof a.min && (a.min = +a.min); "string" === typeof a.max && (a.max = +a.max); "string" === typeof a.from && (a.from = +a.from); "string" === typeof a.to && (a.to = +a.to); "string" === typeof a.step && (a.step = +a.step); "string" === typeof a.from_min && (a.from_min = +a.from_min); "string" === typeof a.from_max && (a.from_max = +a.from_max); "string" === typeof a.to_min && (a.to_min = +a.to_min); "string" === typeof a.to_max && (a.to_max = +a.to_max); "string" === typeof a.keyboard_step && (a.keyboard_step = +a.keyboard_step); "string" === typeof a.grid_num && (a.grid_num = +a.grid_num); a.max < a.min && (a.max = a.min); if (c) for ( a.p_values = [], a.min = 0, a.max = c - 1, a.step = 1, a.grid_num = a.max, a.grid_snap = !0, g = 0; g < c; g++ ) (e = +d[g]), isNaN(e) ? (e = d[g]) : ((d[g] = e), (e = this._prettify(e))), a.p_values.push(e); if ("number" !== typeof a.from || isNaN(a.from)) a.from = a.min; if ("number" !== typeof a.to || isNaN(a.from)) a.to = a.max; if ("single" === a.type) a.from < a.min && (a.from = a.min), a.from > a.max && (a.from = a.max); else { if (a.from < a.min || a.from > a.max) a.from = a.min; if (a.to > a.max || a.to < a.min) a.to = a.max; a.from > a.to && (a.from = a.to); } if ("number" !== typeof a.step || isNaN(a.step) || !a.step || 0 > a.step) a.step = 1; if ( "number" !== typeof a.keyboard_step || isNaN(a.keyboard_step) || !a.keyboard_step || 0 > a.keyboard_step ) a.keyboard_step = 5; "number" === typeof a.from_min && a.from < a.from_min && (a.from = a.from_min); "number" === typeof a.from_max && a.from > a.from_max && (a.from = a.from_max); "number" === typeof a.to_min && a.to < a.to_min && (a.to = a.to_min); "number" === typeof a.to_max && a.from > a.to_max && (a.to = a.to_max); if (b) { b.min !== a.min && (b.min = a.min); b.max !== a.max && (b.max = a.max); if (b.from < b.min || b.from > b.max) b.from = a.from; if (b.to < b.min || b.to > b.max) b.to = a.to; } if ( "number" !== typeof a.min_interval || isNaN(a.min_interval) || !a.min_interval || 0 > a.min_interval ) a.min_interval = 0; if ( "number" !== typeof a.max_interval || isNaN(a.max_interval) || !a.max_interval || 0 > a.max_interval ) a.max_interval = 0; a.min_interval && a.min_interval > a.max - a.min && (a.min_interval = a.max - a.min); a.max_interval && a.max_interval > a.max - a.min && (a.max_interval = a.max - a.min); }, decorate: function (a, b) { var d = "", c = this.options; c.prefix && (d += c.prefix); d += a; c.max_postfix && (c.values.length && a === c.p_values[c.max] ? ((d += c.max_postfix), c.postfix && (d += " ")) : b === c.max && ((d += c.max_postfix), c.postfix && (d += " "))); c.postfix && (d += c.postfix); return d; }, updateFrom: function () { this.result.from = this.options.from; this.result.from_percent = this.convertToPercent(this.result.from); this.options.values && (this.result.from_value = this.options.values[this.result.from]); }, updateTo: function () { this.result.to = this.options.to; this.result.to_percent = this.convertToPercent(this.result.to); this.options.values && (this.result.to_value = this.options.values[this.result.to]); }, updateResult: function () { this.result.min = this.options.min; this.result.max = this.options.max; this.updateFrom(); this.updateTo(); }, appendGrid: function () { if (this.options.grid) { var a = this.options, b, d; b = a.max - a.min; var c = a.grid_num, e = 0, g = 0, f = 4, k, h, m = 0, n = ""; this.calcGridMargin(); a.grid_snap ? ((c = b / a.step), (e = this.toFixed(a.step / (b / 100)))) : (e = this.toFixed(100 / c)); 4 < c && (f = 3); 7 < c && (f = 2); 14 < c && (f = 1); 28 < c && (f = 0); for (b = 0; b < c + 1; b++) { k = f; g = this.toFixed(e * b); 100 < g && ((g = 100), (k -= 2), 0 > k && (k = 0)); this.coords.big[b] = g; h = (g - e * (b - 1)) / (k + 1); for (d = 1; d <= k && 0 !== g; d++) (m = this.toFixed(g - h * d)), (n += '
'); n += '
'; m = this.convertToValue(g); m = a.values.length ? a.p_values[m] : this._prettify(m); n += '
' + m + "
"; } this.coords.big_num = Math.ceil(c + 1); this.$cache.cont.addClass("irs-with-grid"); this.$cache.grid.html(n); this.cacheGridLabels(); } }, cacheGridLabels: function () { var a, b, d = this.coords.big_num; for (b = 0; b < d; b++) (a = this.$cache.grid.find(".js-grid-text-" + b)), this.$cache.grid_labels.push(a); this.calcGridLabels(); }, calcGridLabels: function () { var a, b; b = []; var d = [], c = this.coords.big_num; for (a = 0; a < c; a++) (this.coords.big_w[a] = this.$cache.grid_labels[a].outerWidth(!1)), (this.coords.big_p[a] = this.toFixed( (this.coords.big_w[a] / this.coords.w_rs) * 100 )), (this.coords.big_x[a] = this.toFixed(this.coords.big_p[a] / 2)), (b[a] = this.toFixed(this.coords.big[a] - this.coords.big_x[a])), (d[a] = this.toFixed(b[a] + this.coords.big_p[a])); this.options.force_edges && (b[0] < -this.coords.grid_gap && ((b[0] = -this.coords.grid_gap), (d[0] = this.toFixed(b[0] + this.coords.big_p[0])), (this.coords.big_x[0] = this.coords.grid_gap)), d[c - 1] > 100 + this.coords.grid_gap && ((d[c - 1] = 100 + this.coords.grid_gap), (b[c - 1] = this.toFixed(d[c - 1] - this.coords.big_p[c - 1])), (this.coords.big_x[c - 1] = this.toFixed( this.coords.big_p[c - 1] - this.coords.grid_gap )))); this.calcGridCollision(2, b, d); this.calcGridCollision(4, b, d); for (a = 0; a < c; a++) (b = this.$cache.grid_labels[a][0]), (b.style.marginLeft = -this.coords.big_x[a] + "%"); }, calcGridCollision: function (a, b, d) { var c, e, g, f = this.coords.big_num; for (c = 0; c < f; c += a) { e = c + a / 2; if (e >= f) break; g = this.$cache.grid_labels[e][0]; g.style.visibility = d[c] <= b[e] ? "visible" : "hidden"; } }, calcGridMargin: function () { this.options.grid_margin && ((this.coords.w_rs = this.$cache.rs.outerWidth(!1)), this.coords.w_rs && ((this.coords.w_handle = "single" === this.options.type ? this.$cache.s_single.outerWidth(!1) : this.$cache.s_from.outerWidth(!1)), (this.coords.p_handle = this.toFixed( (this.coords.w_handle / this.coords.w_rs) * 100 )), (this.coords.grid_gap = this.toFixed(this.coords.p_handle / 2 - 0.1)), (this.$cache.grid[0].style.width = this.toFixed(100 - this.coords.p_handle) + "%"), (this.$cache.grid[0].style.left = this.coords.grid_gap + "%"))); }, update: function (a) { this.input && ((this.is_update = !0), (this.options.from = this.result.from), (this.options.to = this.result.to), (this.options = f.extend(this.options, a)), this.validate(), this.updateResult(a), this.toggleInput(), this.remove(), this.init(!0)); }, reset: function () { this.input && (this.updateResult(), this.update()); }, destroy: function () { this.input && (this.toggleInput(), this.$cache.input.prop("readonly", !1), f.data(this.input, "ionRangeSlider", null), this.remove(), (this.options = this.input = null)); }, }; f.fn.ionRangeSlider = function (a) { return this.each(function () { f.data(this, "ionRangeSlider") || f.data(this, "ionRangeSlider", new q(this, a, u++)); }); }; (function () { for ( var a = 0, b = ["ms", "moz", "webkit", "o"], d = 0; d < b.length && !h.requestAnimationFrame; ++d ) (h.requestAnimationFrame = h[b[d] + "RequestAnimationFrame"]), (h.cancelAnimationFrame = h[b[d] + "CancelAnimationFrame"] || h[b[d] + "CancelRequestAnimationFrame"]); h.requestAnimationFrame || (h.requestAnimationFrame = function (b, d) { var g = new Date().getTime(), f = Math.max(0, 16 - (g - a)), k = h.setTimeout(function () { b(g + f); }, f); a = g + f; return k; }); h.cancelAnimationFrame || (h.cancelAnimationFrame = function (a) { clearTimeout(a); }); })(); })(jQuery, document, window, navigator);