// Class definition
      var KTnoUiSliderDemos = function() {
       // Private functions
       var demo1 = function() {
        // init slider
        var slider = document.getElementById('kt_nouislider_1');
        noUiSlider.create(slider, {
         start: [ 0 ],
         step: 2,
         range: {
          'min': [ 0 ],
          'max': [ 10 ]
         },
         format: wNumb({
          decimals: 0
         })
        });
        // init slider input
        var sliderInput = document.getElementById('kt_nouislider_1_input');
        slider.noUiSlider.on('update', function( values, handle ) {
         sliderInput.value = values[handle];
        });
        sliderInput.addEventListener('change', function(){
         slider.noUiSlider.set(this.value);
        });
       }
       var demo2 = function() {
        // init slider
        var slider = document.getElementById('kt_nouislider_2');
        noUiSlider.create(slider, {
         start: [ 20000 ],
         connect: [true, false],
         step: 1000,
         range: {
          'min': [ 20000 ],
          'max': [ 80000 ]
         },
         format: wNumb({
          decimals: 3,
          thousand: '.',
          postfix: ' (US $)',
         })
        });
        // init slider input
        var sliderInput = document.getElementById('kt_nouislider_2_input');
        slider.noUiSlider.on('update', function( values, handle ) {
         sliderInput.value = values[handle];
        });
        sliderInput.addEventListener('change', function(){
         slider.noUiSlider.set(this.value);
        });
       }
       var demo3 = function() {
        // init slider
        var slider = document.getElementById('kt_nouislider_3');
        noUiSlider.create(slider, {
         start: [20, 80],
         connect: true,
         direction: 'rtl',
         tooltips: [true, wNumb({ decimals: 1 })],
         range: {
          'min': [0],
          '10%': [10, 10],
          '50%': [80, 50],
          '80%': 150,
          'max': 200
         }
        });
        // init slider input
        var sliderInput0 = document.getElementById('kt_nouislider_3_input');
        var sliderInput1 = document.getElementById('kt_nouislider_3.1_input');
        var sliderInputs = [sliderInput1, sliderInput0];
        slider.noUiSlider.on('update', function( values, handle ) {
         sliderInputs[handle].value = values[handle];
        });
       }
       var demo4 = function() {
       var slider = document.getElementById('kt_nouislider_input_select');
        // Append the option elements
        for ( var i = -20; i <= 40; i++ ){
         var option = document.createElement('option');
          option.text = i;
          option.value = i;
         slider.appendChild(option);
        }
        // init slider
        var html5Slider = document.getElementById('kt_nouislider_4');
        noUiSlider.create(html5Slider, {
         start: [ 10, 30 ],
         connect: true,
         range: {
          'min': -20,
          'max': 40
         }
        });
        // init slider input
        var inputNumber = document.getElementById('kt_nouislider_input_number');
        html5Slider.noUiSlider.on('update', function( values, handle ) {
         var value = values[handle];
         if ( handle ) {
          inputNumber.value = value;
         } else {
          slider.value = Math.round(value);
         }
        });
        slider.addEventListener('change', function(){
         html5Slider.noUiSlider.set([this.value, null]);
        });
        inputNumber.addEventListener('change', function(){
         html5Slider.noUiSlider.set([null, this.value]);
        });
       }
       var demo5 = function() {
        // init slider
        var slider = document.getElementById('kt_nouislider_5');
        noUiSlider.create(slider, {
         start: 20,
         range: {
          min: 0,
          max: 100
         },
         pips: {
          mode: 'values',
          values: [20, 80],
          density: 4
         }
        });
        var sliderInput = document.getElementById('kt_nouislider_5_input');
        slider.noUiSlider.on('update', function( values, handle ) {
         sliderInput.value = values[handle];
        });
        sliderInput.addEventListener('change', function(){
         slider.noUiSlider.set(this.value);
        });
        slider.noUiSlider.on('change', function ( values, handle ) {
         if ( values[handle] < 20 ) {
          slider.noUiSlider.set(20);
         } else if ( values[handle] > 80 ) {
          slider.noUiSlider.set(80);
         }
        });
       }
       var demo6 = function() {
        // init slider
        var verticalSlider = document.getElementById('kt_nouislider_6');
        noUiSlider.create(verticalSlider, {
         start: 40,
         orientation: 'vertical',
         range: {
          'min': 0,
          'max': 100
         }
        });
        // init slider input
        var sliderInput = document.getElementById('kt_nouislider_6_input');
        verticalSlider.noUiSlider.on('update', function( values, handle ) {
         sliderInput.value = values[handle];
        });
        sliderInput.addEventListener('change', function(){
         verticalSlider.noUiSlider.set(this.value);
        });
       }
       // Modal demo
       var modaldemo1 = function() {
        var slider = document.getElementById('kt_nouislider_modal1');
        noUiSlider.create(slider, {
         start: [ 0 ],
         step: 2,
         range: {
          'min': [ 0 ],
          'max': [ 10 ]
         },
         format: wNumb({
          decimals: 0
         })
        });
        // init slider input
        var sliderInput = document.getElementById('kt_nouislider_modal1_input');
        slider.noUiSlider.on('update', function( values, handle ) {
         sliderInput.value = values[handle];
        });
        sliderInput.addEventListener('change', function(){
         slider.noUiSlider.set(this.value);
        });
       }
       var modaldemo2 = function() {
        var slider = document.getElementById('kt_nouislider_modal2');
        noUiSlider.create(slider, {
         start: [ 20000 ],
         connect: [true, false],
         step: 1000,
         range: {
          'min': [ 20000 ],
          'max': [ 80000 ]
         },
         format: wNumb({
          decimals: 3,
          thousand: '.',
          postfix: ' (US $)',
         })
        });
        // init slider input
        var sliderInput = document.getElementById('kt_nouislider_modal2_input');
        slider.noUiSlider.on('update', function( values, handle ) {
         sliderInput.value = values[handle];
        });
        sliderInput.addEventListener('change', function(){
         slider.noUiSlider.set(this.value);
        });
       }
       var modaldemo3 = function() {
        var slider = document.getElementById('kt_nouislider_modal3');
        noUiSlider.create(slider, {
         start: [20, 80],
         connect: true,
         direction: 'rtl',
         tooltips: [true, wNumb({ decimals: 1 })],
         range: {
          'min': [0],
          '10%': [10, 10],
          '50%': [80, 50],
          '80%': 150,
          'max': 200
         }
        });
        // init slider input
        var sliderInput0 = document.getElementById('kt_nouislider_modal1.1_input');
        var sliderInput1 = document.getElementById('kt_nouislider_modal1.2_input');
        var sliderInputs = [sliderInput1, sliderInput0];
        slider.noUiSlider.on('update', function( values, handle ) {
         sliderInputs[handle].value = values[handle];
        });
       }
       return {
        // public functions
        init: function() {
         demo1();
         demo2();
         demo3();
         demo4();
         demo5();
         demo6();
         modaldemo1();
         modaldemo2();
         modaldemo3();
        }
       };
      }();
      jQuery(document).ready(function() {
       KTnoUiSliderDemos.init();
      });