text: /*
   *  Document   : uiProgress.js
   *  Author     : igorbrandao
   *  Description: Custom javascript code used in Progress & Loading page
   */
  
  var UiProgress = function() {
  
      // Get random number function from a given range
      var getRandomInt = function(min, max) {
          return Math.floor(Math.random() * (max - min + 1)) + min;
      };
  
      return {
          init: function() {
              /* Randomize progress bars width */
              var random = 0;
  
              $('.toggle-bars').click(function() {
                  $('.progress-bar', '.bars-container').each(function() {
                      random = getRandomInt(10, 100) + '%';
                      $(this).css('width', random).html(random);
                  });
  
                  $('.progress-bar', '.bars-stacked-container').each(function() {
                      random = getRandomInt(10, 25) + '%';
                      $(this).css('width', random).html(random);
                  });
              });
  
              /* With NProgress, check out more examples at https://github.com/rstacruz/nprogress */
              var startBtn    = $('#top-loading-start');
              var stopBtn     = $('#top-loading-stop');
  
              // User Bootstrap functionality to disable both buttons just to demostrate one time on page load
              startBtn.add(stopBtn).button('loading');
  
              // Start top loading bar and finish after 2,5 seconds just for demostration
              // You could bind NProgress.start() and NProgress.done() to Jquery events ajaxStart and ajaxStop to add progress to your ajax calls :-)
              NProgress.start();
              setTimeout(function(){
                  NProgress.done();
                  startBtn.button('reset');
              }, 2500);
  
              // On start button click start loading again
              startBtn.on('click', function(){
                  NProgress.start();
                  $(this).button('loading');
                  stopBtn.button('reset');
              });
  
              // On stop button click stop loading
              stopBtn.on('click', function(){
                  NProgress.done();
                  $(this).button('loading');
                  startBtn.button('reset');
              });
  
              /* Grawl Notifications with Bootstrap-growl plugin, check out more examples at http://ifightcrime.github.io/bootstrap-growl/ */
              $('.btn-growl').on('click', function(){
                  var growlType = $(this).data('growl');
  
                  $.bootstrapGrowl('<h4>Hi there!</h4> <p>This is another notification!</p>', {
                      type: growlType,
                      delay: 2500,
                      allow_dismiss: true
                  });
  
                  $(this).prop('disabled', true);
              });
          }
      };
  }();