text: /**
   * To change this license header, choose License Headers in Project Properties.
   * To change this template file, choose Tools | Templates
   * and open the template in the editor.
   */
  
  // Sidebar
  $(function () {
      var URL = window.location,
          $BODY = $('body'),
          $SIDEBAR_MENU = $('#sidebar-menu'),
          $MENU_TOGGLE = $('#menu_toggle');
          $SIDEBAR_FOOTER = $('.sidebar-footer');
          $LEFT_COL = $('.left_col');
  
      $SIDEBAR_MENU.find('li ul').slideUp();
      $SIDEBAR_MENU.find('li').removeClass('active');
  
      $SIDEBAR_MENU.find('li').on('click', function(ev) {
          var link = $('a', this).attr('href');
  
          // prevent event bubbling on parent menu
          if (link) {
              ev.stopPropagation();
          } 
          // execute slidedown if parent menu
          else {
              if ($(this).is('.active')) {
                  $(this).removeClass('active');
                  $('ul', this).slideUp();
              } else {
                  $SIDEBAR_MENU.find('li').removeClass('active');
                  $SIDEBAR_MENU.find('li ul').slideUp();
                  
                  $(this).addClass('active');
                  $('ul', this).slideDown();
              }
          }
      });
  
      $MENU_TOGGLE.on('click', function() {
          if ($BODY.hasClass('nav-md')) {
              $BODY.removeClass('nav-md').addClass('nav-sm');
              $LEFT_COL.removeClass('scroll-view').removeAttr('style');
              $SIDEBAR_FOOTER.hide();
  
              if ($SIDEBAR_MENU.find('li').hasClass('active')) {
                  $SIDEBAR_MENU.find('li.active').addClass('active-sm').removeClass('active');
              }
          } else {
              $BODY.removeClass('nav-sm').addClass('nav-md');
              $SIDEBAR_FOOTER.show();
  
              if ($SIDEBAR_MENU.find('li').hasClass('active-sm')) {
                  $SIDEBAR_MENU.find('li.active-sm').addClass('active').removeClass('active-sm');
              }
          }
      });
  
      // check active menu
      $SIDEBAR_MENU.find('a[href="' + URL + '"]').parent('li').addClass('current-page');
  
      $SIDEBAR_MENU.find('a').filter(function () {
          return this.href == URL;
      }).parent('li').addClass('current-page').parent('ul').slideDown().parent().addClass('active');
  });
  
  // Panel toolbox
  $(function () {
      $('.collapse-link').on('click', function() {
          var $BOX_PANEL = $(this).closest('.x_panel'),
              $ICON = $(this).find('i'),
              $BOX_CONTENT = $BOX_PANEL.find('.x_content');
          
          // fix for some div with hardcoded fix class
          if ($BOX_PANEL.attr('style')) {
              $BOX_CONTENT.slideToggle(200, function(){
                  $BOX_PANEL.removeAttr('style');
              });
          } else {
              $BOX_CONTENT.slideToggle(200); 
              $BOX_PANEL.css('height', 'auto');  
          }
  
          $ICON.toggleClass('fa-chevron-up fa-chevron-down');
      });
  
      $('.close-link').click(function () {
          var $BOX_PANEL = $(this).closest('.x_panel');
  
          $BOX_PANEL.remove();
      });
  });
  
  // Right column height
  $(".right_col").css("min-height", $(window).height());
  $(window).resize(function () {
      $(".right_col").css("min-height", $(window).height());
  });
  
  // Tooltip
  $(function () {
      $('[data-toggle="tooltip"]').tooltip();
  });
  
  // Progressbar
  if ($(".progress .progress-bar")[0]) {
      $('.progress .progress-bar').progressbar(); // bootstrap 3
  }
  
  // Switchery
  if ($(".js-switch")[0]) {
      var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
      elems.forEach(function (html) {
          var switchery = new Switchery(html, {
              color: '#26B99A'
          });
      });
  }
  
  // iCheck
  if ($("input.flat")[0]) {
      $(document).ready(function () {
          $('input.flat').iCheck({
              checkboxClass: 'icheckbox_flat-green',
              radioClass: 'iradio_flat-green'
          });
      });
  }
  
  // Starrr
  var __slice = [].slice;
  
  (function ($, window) {
      var Starrr;
  
      Starrr = (function () {
          Starrr.prototype.defaults = {
              rating: void 0,
              numStars: 5,
              change: function (e, value) {
              }
          };
  
          function Starrr($el, options) {
              var i, _, _ref,
                      _this = this;
  
              this.options = $.extend({}, this.defaults, options);
              this.$el = $el;
              _ref = this.defaults;
              for (i in _ref) {
                  _ = _ref[i];
                  if (this.$el.data(i) !== null) {
                      this.options[i] = this.$el.data(i);
                  }
              }
              this.createStars();
              this.syncRating();
              this.$el.on('mouseover.starrr', 'span', function (e) {
                  return _this.syncRating(_this.$el.find('span').index(e.currentTarget) + 1);
              });
              this.$el.on('mouseout.starrr', function () {
                  return _this.syncRating();
              });
              this.$el.on('click.starrr', 'span', function (e) {
                  return _this.setRating(_this.$el.find('span').index(e.currentTarget) + 1);
              });
              this.$el.on('starrr:change', this.options.change);
          }
  
          Starrr.prototype.createStars = function () {
              var _i, _ref, _results;
  
              _results = [];
              for (_i = 1, _ref = this.options.numStars; 1 <= _ref ? _i <= _ref : _i >= _ref; 1 <= _ref ? _i++ : _i--) {
                  _results.push(this.$el.append("<span class='glyphicon .glyphicon-star-empty'></span>"));
              }
              return _results;
          };
  
          Starrr.prototype.setRating = function (rating) {
              if (this.options.rating === rating) {
                  rating = void 0;
              }
              this.options.rating = rating;
              this.syncRating();
              return this.$el.trigger('starrr:change', rating);
          };
  
          Starrr.prototype.syncRating = function (rating) {
              var i, _i, _j, _ref;
  
              rating || (rating = this.options.rating);
              if (rating) {
                  for (i = _i = 0, _ref = rating - 1; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) {
                      this.$el.find('span').eq(i).removeClass('glyphicon-star-empty').addClass('glyphicon-star');
                  }
              }
              if (rating && rating < 5) {
                  for (i = _j = rating; rating <= 4 ? _j <= 4 : _j >= 4; i = rating <= 4 ? ++_j : --_j) {
                      this.$el.find('span').eq(i).removeClass('glyphicon-star').addClass('glyphicon-star-empty');
                  }
              }
              if (!rating) {
                  return this.$el.find('span').removeClass('glyphicon-star').addClass('glyphicon-star-empty');
              }
          };
  
          return Starrr;
  
      })();
      return $.fn.extend({
          starrr: function () {
              var args, option;
  
              option = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
              return this.each(function () {
                  var data;
  
                  data = $(this).data('star-rating');
                  if (!data) {
                      $(this).data('star-rating', (data = new Starrr($(this), option)));
                  }
                  if (typeof option === 'string') {
                      return data[option].apply(data, args);
                  }
              });
          }
      });
  })(window.jQuery, window);
  
  $(function () {
      return $(".starrr").starrr();
  });
  
  $(document).ready(function () {
  
      $('#stars').on('starrr:change', function (e, value) {
          $('#count').html(value);
      });
  
  
      $('#stars-existing').on('starrr:change', function (e, value) {
          $('#count-existing').html(value);
      });
  
  });
  
  // Table
  $('table input').on('ifChecked', function () {
      check_state = '';
      $(this).parent().parent().parent().addClass('selected');
      countChecked();
  });
  $('table input').on('ifUnchecked', function () {
      check_state = '';
      $(this).parent().parent().parent().removeClass('selected');
      countChecked();
  });
  
  var check_state = '';
  $('.bulk_action input').on('ifChecked', function () {
      check_state = '';
      $(this).parent().parent().parent().addClass('selected');
      countChecked();
  });
  $('.bulk_action input').on('ifUnchecked', function () {
      check_state = '';
      $(this).parent().parent().parent().removeClass('selected');
      countChecked();
  });
  $('.bulk_action input#check-all').on('ifChecked', function () {
      check_state = 'check_all';
      countChecked();
  });
  $('.bulk_action input#check-all').on('ifUnchecked', function () {
      check_state = 'uncheck_all';
      countChecked();
  });
  
  function countChecked() {
      if (check_state == 'check_all') {
          $(".bulk_action input[name='table_records']").iCheck('check');
      }
      if (check_state == 'uncheck_all') {
          $(".bulk_action input[name='table_records']").iCheck('uncheck');
      }
      var n = $(".bulk_action input[name='table_records']:checked").length;
      if (n > 0) {
          $('.column-title').hide();
          $('.bulk-actions').show();
          $('.action-cnt').html(n + ' Records Selected');
      } else {
          $('.column-title').show();
          $('.bulk-actions').hide();
      }
  }
  
  // Accordion
  $(function () {
      $(".expand").on("click", function () {
          $(this).next().slideToggle(200);
          $expand = $(this).find(">:first-child");
  
          if ($expand.text() == "+") {
              $expand.text("-");
          } else {
              $expand.text("+");
          }
      });
  });
  
  function aqShowAStepCallback(obj, context){
      if(context.fromStep == 1 && context.toStep == 2) {
          if($('#question-qtype').val() == 'objective') {
              var i = 1;
              $(".option-answer").each(function() {
                  $(this).html("<b>Option "+i+"</b>");
                  i ++;
              });
              $('.hide-subjective').removeClass('hide');
              $('.hide-objective').addClass("hide");
          }
          else {
              var i = 1;
              $(".option-answer").each(function() {
                  $(this).html("<b>Question "+i+"</b>");
                  i ++;
              });
              $('.hide-subjective').addClass("hide");
              $('.hide-objective').removeClass("hide");
          }
      }
      else if(context.fromStep == 2 && context.toStep == 3) {
          var html = "<p>"+
                     "Chapter: "+$("#question-chapter_id option:selected").text()+ "<br />"+
                     "Type: "+$("#question-qtype option:selected").text() + ", Marks: "+$('#question-marks').val() + "<br />" +
                     "</p><p>" + $('#question-description').val() +"</p>";
  
          for(var i = 0;i<4;i++) {
              if($('#questionoption-'+i+'-description').val().length) {
                  html += "<p>";
                  if ($('#question-qtype').val() == 'objective') {
                      html += "<b>Option " + i + "</b> (Correct Answer: "+($('#questionoption-'+i+'-correct_answer').val() == 'y' ? "Yes" : "No")+")<br />";
                  }
                  else {
                      html += "<b>Question " + i + "</b> (Marks: "+$('#questionoption-'+i+'-marks').val()+")<br />";
                  }
                  html += $('#questionoption-'+i+'-description').val();
                  html += "</p>";
              }
          }
  
          $('#question-preview').html(html);
      }
      return true;
  }
  
  function aqSave(obj, context){
      $("#w0").submit();
  }
  
  $(document).ready(function() {
  	$('#wizard_add_question').smartWizard({
          labelFinish: "Save",
          onShowStep: aqShowAStepCallback,
          onFinish: aqSave
      });
  
  	$('.buttonNext').addClass('btn btn-success');
  	$('.buttonPrevious').addClass('btn btn-primary');
  	$('.buttonFinish').addClass('btn btn-default');
  
      $(".select2_group").select2({});
      $('#ta-questions-table').dataTable({
          paging: false,
          info: false,
          searching: false
      });
    });
  
  
  // NProgress
  if (typeof NProgress != 'undefined') {
      $(document).ready(function () {
          NProgress.start();
      });
  
      $(window).load(function () {
          NProgress.done();
      });
  }