text: /* --------------------------------------------------------
   Detact Mobile Browser
   -----------------------------------------------------------*/
  if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
      $('html').addClass('ismobile');
  }
  
  $(document).ready(function () {
      /* --------------------------------------------------------
       Tooltips
       -----------------------------------------------------------*/
      if ($('[data-toggle="tooltip"]')[0]) {
          $('[data-toggle="tooltip"]').tooltip();
      }
  
  
      /* --------------------------------------------------------
       Popover
       -----------------------------------------------------------*/
      if ($('.pover')[0]) {
          $('.pover').popover();
      }
  
  
      /* --------------------------------------------------------
       Scrollbar
       -----------------------------------------------------------*/
      function scrollBar(selector, theme) {
          $(selector).mCustomScrollbar({
              theme: theme,
              scrollInertia: 500,
          });
      }
  
      if (!$('html').hasClass('ismobile')) {
          //Scrollbar for sidebar
          scrollBar('#sidebar', 'minimal');
  
          //For custom
          if ($('.c-overflow')[0]) {
              scrollBar('.c-overflow', 'minimal');
          }
  
          //For Custom Dark
          if ($('.c-overflow-dark')[0]) {
              scrollBar('.c-overflow-dark', 'dark');
          }
      }
  
  
      /* --------------------------------------------------------
       Sidebar
       -----------------------------------------------------------*/
      $('body').on('click', '.sm-sub > a', function (e) {
          e.preventDefault();
  
          var s = $('#sidebar').css('width'); //This is to get the screen size. If it's 64px it's a mid screen size otherwise large/small screen.
          var x = $(this).closest('.sm-sub');
  
          if (s == '240px') { //Only fire this on large/small screen.
              x.find('ul').slideToggle(200);
              x.toggleClass('toggled');
  
          }
      });
  
      //Mobile Menu
      $('body').on('click', '#menu-trigger', function () {
          $(this).toggleClass('toggled');
          $('#sidebar').toggleClass('toggled');
      });
  
  
      /* --------------------------------------------------------
       Fullscreen browsing
       -----------------------------------------------------------*/
      $("[data-toggle='fullscreen']").click(function (e) {
          e.preventDefault();
          var docElement, request;
  
          if (!$(this).hasClass('toggled')) {
              $(this).addClass('toggled');
  
              docElement = document.documentElement;
              request = docElement.requestFullScreen || docElement.webkitRequestFullScreen || docElement.mozRequestFullScreen || docElement.msRequestFullScreen;
  
              if (typeof request != "undefined" && request) {
                  request.call(docElement);
              }
          }
          else {
              $("[data-toggle='fullscreen']").removeClass('toggled');
              docElement = document;
              request = docElement.cancelFullScreen || docElement.webkitCancelFullScreen || docElement.mozCancelFullScreen || docElement.msCancelFullScreen || docElement.exitFullscreen;
              if (typeof request != "undefined" && request) {
                  request.call(docElement);
              }
          }
      });
  
  
      /* --------------------------------------------------------
       TEXTAREA AUTOSIZE
       -----------------------------------------------------------*/
      if ($('.auto-size')[0]) {
          autosize($('.auto-size'));
      }
  
  
      /* --------------------------------------------------------
       CHOSEN
       -----------------------------------------------------------*/
      if ($('.tag-select')[0]) {
          $('.tag-select').chosen({
              width: '100%',
              allow_single_deselect: true
          });
      }
  
  
      /* --------------------------------------------------------
       DATETIME PICKER
       -----------------------------------------------------------*/
      //Date Time Picker
      if ($('.date-time-picker')[0]) {
          $('.date-time-picker').datetimepicker();
      }
  
      //Time
      if ($('.time-picker')[0]) {
          $('.time-picker').datetimepicker({
              format: 'LT'
          });
      }
  
      //Date
      if ($('.date-picker')[0]) {
          $('.date-picker').datetimepicker({
              format: 'DD/MM/YYYY'
          });
      }
  
  
      /* --------------------------------------------------------
       NOUISLIDER
       -----------------------------------------------------------*/
      if ($('.input-slider')[0]) {
          $('.input-slider').each(function () {
              var isStart = $(this).data('is-start');
  
              $(this).noUiSlider({
                  start: isStart,
                  range: {
                      'min': 0,
                      'max': 100,
                  }
              });
          });
      }
  
      //Range slider
      if ($('.input-slider-range')[0]) {
          $('.input-slider-range').noUiSlider({
              start: [30, 60],
              range: {
                  'min': 0,
                  'max': 100
              },
              connect: true
          });
      }
  
      //Range slider with value
      if ($('.input-slider-values')[0]) {
          $('.input-slider-values').noUiSlider({
              start: [45, 80],
              connect: true,
              direction: 'rtl',
              behaviour: 'tap-drag',
              range: {
                  'min': 0,
                  'max': 100
              }
          });
  
          $('.input-slider-values').Link('lower').to($('#value-lower'));
          $('.input-slider-values').Link('upper').to($('#value-upper'), 'html');
      }
  
  
      /* --------------------------------------------------------
       COLOR PICKER
       -----------------------------------------------------------*/
      if ($('.color-picker')[0]) {
          $('.color-picker').each(function () {
              var colorOutput = $(this).closest('.cp-container').find('.cp-value');
              $(this).farbtastic(colorOutput);
          });
      }
  
  
      /* --------------------------------------------------------
       SUMMERNOTE
       -----------------------------------------------------------*/
      if ($('.html-editor')[0]) {
          $('.html-editor').summernote({
              height: 150
          });
      }
  
      if ($('.html-editor-click')[0]) {
          //Edit
          $('body').on('click', '.hec-button', function () {
              $('.html-editor-click').summernote({
                  focus: true
              });
              $('.hec-save').show();
          })
  
          //Save
          $('body').on('click', '.hec-save', function () {
              $('.html-editor-click').code();
              $('.html-editor-click').destroy();
              $('.hec-save').hide();
              notify('Content Saved Successfully!', 'success');
          });
      }
  
      //Air Mode
      if ($('.html-editor-airmod')[0]) {
          $('.html-editor-airmod').summernote({
              airMode: true
          });
      }
  
  
      /** TYPEAHEAD **/
      if ($('.typeahead')[0]) {
  
          var statesArray = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
              'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
              'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',
              'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota',
              'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire',
              'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota',
              'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island',
              'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',
              'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'
          ];
          var states = new Bloodhound({
              datumTokenizer: Bloodhound.tokenizers.whitespace,
              queryTokenizer: Bloodhound.tokenizers.whitespace,
              local: statesArray
          });
  
          $('.typeahead').typeahead({
                  hint: true,
                  highlight: true,
                  minLength: 1
              },
              {
                  name: 'states',
                  source: states
              });
      }
  
  
      /* --------------------------------------------------------
       Light Gallery
       -----------------------------------------------------------*/
      if ($('.lightbox')[0]) {
          $(".lightbox").lightGallery();
      }
  
  
      /* --------------------------------------------------------
       Media Elements
       -----------------------------------------------------------*/
      if ($('audio, video')[0]) {
          $('video,audio').mediaelementplayer();
      }
  
  
      /* --------------------------------------------------------
       Wizard
       -----------------------------------------------------------*/
      if ($('.form-wizard-basic')[0]) {
          $('.form-wizard-basic').bootstrapWizard({
              tabClass: 'fw-nav',
              'nextSelector': '.next',
              'previousSelector': '.previous'
          });
      }
  
  
      /* --------------------------------------------------------
       Link Prevent
       -----------------------------------------------------------*/
      if ($('.a-prevent')[0]) {
          $('body').on('click', '.a-prevent', function (e) {
              e.preventDefault();
          });
      }
  
  
      /* --------------------------------------------------------
       Collapse Fix
       -----------------------------------------------------------*/
      if ($('.collapse')[0]) {
  
          //Add active class for opened items
          $('.collapse').on('show.bs.collapse', function (e) {
              $(this).closest('.panel').find('.panel-heading').addClass('active');
          });
  
          $('.collapse').on('hide.bs.collapse', function (e) {
              $(this).closest('.panel').find('.panel-heading').removeClass('active');
          });
  
          //Add active class for pre opened items
          $('.collapse.in').each(function () {
              $(this).closest('.panel').find('.panel-heading').addClass('active');
          });
      }
  
  
      /* --------------------------------------------------------
       Popover
       -----------------------------------------------------------*/
      if ($('[data-toggle="popover"]')[0]) {
          $('[data-toggle="popover"]').popover();
      }
  
  
      /* --------------------------------------------------------
       Action Header Search
       -----------------------------------------------------------*/
      if ($('.aha-trigger')[0]) {
  
  
          $('body').on('click', '.aha-trigger', function (e) {
              e.preventDefault();
              x = $(this).closest('.action-header').find('.ah-search');
  
              x.fadeIn(300);
              x.find('.ahs-input').focus();
          });
  
          //Close Search
          $('body').on('click', '.ahs-close', function () {
              x.fadeOut(300);
              setTimeout(function () {
                  x.find('.ahs-input').val('');
              }, 350);
          })
      }
  
  
      /* --------------------------------------------------------
       Profile Edit Toggle
       -----------------------------------------------------------*/
      if ($('[data-pmb-action]')[0]) {
          $('body').on('click', '[data-pmb-action]', function (e) {
              e.preventDefault();
              var d = $(this).data('pmb-action');
  
              if (d === "edit") {
                  $(this).closest('.pmb-block').toggleClass('toggled');
              }
  
              if (d === "reset") {
                  $(this).closest('.pmb-block').removeClass('toggled');
              }
  
  
          });
      }
  
  
      /* --------------------------------------------------------
       Print
       -----------------------------------------------------------*/
      if ($('[data-action="print"]')[0]) {
          $('body').on('click', '[data-action="print"]', function (e) {
              e.preventDefault();
  
              window.print();
          })
      }
  
  
      /* --------------------------------------------------------
       Login
       -----------------------------------------------------------*/
      if ($('.login-content')[0]) {
          //Add class to HTML. This is used to center align the logn box
          $('html').addClass('login-content');
  
          $('body').on('click', '.login-navigation > li', function () {
              var z = $(this).data('block');
              var t = $(this).closest('.lc-block');
  
              t.removeClass('toggled');
  
              setTimeout(function () {
                  $(z).addClass('toggled');
              });
  
          })
      }
  
  
      /* --------------------------------------------------------
       Header Search
       -----------------------------------------------------------*/
      if ($('.top-search')[0]) {
          $('body').on('click', '.ts-input', function () {
              $(this).parent().addClass('toggled');
          });
  
          //Reset Search
          $('body').on('click', '.ts-reset', function () {
              $('.top-search .ts-input').val('');
              $('.top-search').removeClass('toggled');
          });
      }
  
  
      /* --------------------------------------------------------
       IE 9 Placeholder
       -----------------------------------------------------------*/
      if ($('html').hasClass('ie9')) {
          $('input, textarea').placeholder({
              customClass: 'ie9-placeholder'
          });
      }
  
  
      /* --------------------------------------------------------
       Messages
       -----------------------------------------------------------*/
      if ($('#ms-menu-trigger')[0]) {
          $('body').on('click', '#ms-menu-trigger', function () {
              $('.ms-menu').toggleClass('toggled');
          });
      }
  });
  
  /* --------------------------------------------------------
   Date Time Widget
   -----------------------------------------------------------*/
  (function () {
      // Create a newDate() object
      var newDate = new Date();
  
      setInterval(function () {
          // Create a newDate() object and extract the seconds of the current time on the visitor's
          var seconds = new Date().getSeconds();
  
          // Add a leading zero to seconds value
          $("#t-sec").html(( seconds < 10 ? "0" : "" ) + seconds);
      }, 100);
  
      setInterval(function () {
          // Create a newDate() object and extract the minutes of the current time on the visitor's
          var minutes = new Date().getMinutes();
  
          // Add a leading zero to the minutes value
          $("#t-min").html(( minutes < 10 ? "0" : "" ) + minutes);
      }, 100);
  
      setInterval(function () {
          // Create a newDate() object and extract the hours of the current time on the visitor's
          var hours = new Date().getHours();
  
          // Add a leading zero to the hours value
          $("#t-hours").html(( hours < 10 ? "0" : "" ) + hours);
      }, 100);
  })();
  
  $(window).load(function () {
      /* --------------------------------------------------------
       Animate numbers
       -----------------------------------------------------------*/
      $('.mini-charts > div').each(function () {
          var target = $(this).find('.media-body > span');
          var toAnimate = $(this).find('.media-body > span').attr('data-value');
          // Animate the element's value from x to y:
          $({someValue: 0}).animate({someValue: toAnimate}, {
              duration: 2000,
              easing: 'swing', // can be anything
              step: function () { // called on every step
                  // Update the element's text with rounded-up value:
                  target.text(commaSeparateNumber(Math.round(this.someValue)));
              }
          });
  
          function commaSeparateNumber(val) {
              while (/(\d+)(\d{3})/.test(val.toString())) {
                  val = val.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
              }
              return val;
          }
      });
  });
  