(function ($) {
    'use strict';
    var container = null,
        Slider = {},
        currentValue = null;
    Slider = {
        init: function (options) {
            this.opts = options;
            this.handle = container.find('a');
            this.handle.css({'-webkit-touch-callout': 'none', '-webkit-user-select': 'none', '-khtml-user-select': 'none', '-moz-user-select': 'none', '-ms-user-select': 'none', 'user-select': 'none'});
            this.bindEvents();
            $(document).trigger('mousemove');
        },
        bindEvents: function () {
            var local = this,
                initValue = 0,
                min = currentValue > 0 ? currentValue : local.opts.min,
                left = 0,
                mouseDown = false,
                init = false,
                posX   = 0,
                innerX = 0,
                bounds = local.getBounds(local.handle);
            local.handle.off().on("mousedown", function (e) {
                innerX = e.pageX - $(this).offset().left;
                mouseDown = true;
                e.preventDefault();
            }).on("mouseup", function () {
                mouseDown = false;
            });
            $(document).off().on("mousemove", function (e) {
                if (mouseDown) {
                    posX = e.pageX - innerX + 4;
                    var m = {
                            left: posX < bounds.left ? bounds.left - 1 : (posX > bounds.right ? bounds.right + 1 : posX)
                        },
                        percent = local.getPercentageByValue(posX, {min: bounds.left, max: bounds.right}),
                        value = local.getValueByPercentage(percent, local.opts.interval);
                    if (value >= local.opts.min) {
                        local.handle.offset(m);
                        currentValue = value;
                        if (typeof local.opts.slide === 'function')
                            local.opts.slide.apply(this, [value, percent, m.left]);
                    }
                }
                if (init === false) {
                    init = true;
                    initValue = local.getPercentageByValue(min, local.opts.interval);
                    left = local.getValueByPercentage(initValue, {min: bounds.left, max: bounds.right});
                    local.handle.offset({
                        left: left
                    });
                    if (typeof local.opts.slide === 'function')
                        local.opts.slide.apply(this, [min, initValue, left]);
                }
            }).on('mouseup', function (e) {
                    mouseDown = false;
                e.preventDefault();
            });
        },
        getBounds: function (handle) {
            var offset = container.offset();
            return {
                bottom: offset.top + container.height() - handle.width(),
                left: offset.left,
                right: offset.left + container.width() - handle.width(),
                top: offset.top - handle.offset().top + 2
            };
        },
        getPercentageByValue: function (value, range) {
            var percentage = 100 * (value - range.min) / (range.max - range.min);
            percentage = percentage > 100 ? 100 : percentage;
            percentage = percentage < 0 ? 0 : percentage;
            return Math.round(percentage);
        },
        getValueByPercentage: function (percent, range) {
            return Math.round((((range.max - range.min ) / 100) * percent) + range.min);
        },
        destroy: function () {
            this.handle.off();
            $(document).off('mousemove mouseup');
        }
    };
    $.fn.extend({
        simpleSlider: function (options) {
            container = this;
            Slider.init(options);
            $(window).resize(function () {
                Slider.destroy();
                Slider.init(options);
            });
        }
    });
}(jQuery));

@@ -101,16 +101,42 @@
 e = null
+,%0A        $d = $(document)
 ;%0A    Sl
@@ -255,24 +255,90 @@
 .find('a');%0A
+            this.bounds = this.getBounds(this.handle, container);%0A
             
@@ -572,26 +572,17 @@
        $
-(document)
+d
 .trigger
@@ -923,63 +923,816 @@
  = 0
-,%0A                bounds = local.getBounds(local.handle
+;%0A            container.css('cursor', 'pointer').on('click', function (e) %7B%0A                posX = e.pageX - innerX;%0A                var m = %7B%0A                        left: posX %3C local.bounds.left ? local.bounds.left : (posX %3E local.bounds.right ? local.bounds.right : posX)%0A                    %7D,%0A                    percent = local.getPercentageByValue(posX, %7Bmin: local.bounds.left, max: local.bounds.right%7D),%0A                    value = local.getValueByPercentage(percent, local.opts.interval);%0A                if (value %3E= local.opts.min) %7B%0A                    local.handle.offset(m);%0A                    currentValue = value;%0A                    if (typeof local.opts.slide === 'function')%0A                        local.opts.slide.apply(this, %5Bvalue, percent, m.left%5D);%0A                %7D%0A            %7D
 );%0A 
@@ -2023,34 +2023,25 @@
            $
-(document)
+d
 .off().on(%22m
@@ -2146,12 +2146,8 @@
 nerX
- + 4
 ;%0A  
@@ -2215,16 +2215,22 @@
  posX %3C 
+local.
 bounds.l
@@ -2231,24 +2231,30 @@
 unds.left ? 
+local.
 bounds.left 
@@ -2257,12 +2257,8 @@
 eft 
-- 1 
 : (p
@@ -2263,16 +2263,22 @@
 (posX %3E 
+local.
 bounds.r
@@ -2284,16 +2284,22 @@
 right ? 
+local.
 bounds.r
@@ -2307,12 +2307,8 @@
 ght 
-+ 1 
 : po
@@ -2403,32 +2403,38 @@
 lue(posX, %7Bmin: 
+local.
 bounds.left, max
@@ -2427,32 +2427,38 @@
 unds.left, max: 
+local.
 bounds.right%7D),%0A
@@ -3112,16 +3112,22 @@
 , %7Bmin: 
+local.
 bounds.l
@@ -3136,16 +3136,22 @@
 t, max: 
+local.
 bounds.r
@@ -3600,16 +3600,27 @@
  (handle
+, container
 ) %7B%0A    
@@ -3920,12 +3920,8 @@
 .top
- + 2
 %0A   
@@ -4488,26 +4488,17 @@
        $
-(document)
+d
 .off('mo

Update hSlider.js