text: ;(function($, window, document, undefined) {
  
  
  
      var pluginName = "metisMenu",
  
          defaults = {
  
              toggle: true,
  
              doubleTapToGo: false
  
          };
  
  
  
      function Plugin(element, options) {
  
          this.element = $(element);
  
          this.settings = $.extend({}, defaults, options);
  
          this._defaults = defaults;
  
          this._name = pluginName;
  
          this.init();
  
      }
  
  
  
      Plugin.prototype = {
  
          init: function() {
  
  
  
              var $this = this.element,
  
                  $toggle = this.settings.toggle,
  
                  obj = this;
  
  
  
              if (this.isIE() <= 9) {
  
                  $this.find("li.active").has("ul").children("ul").collapse("show");
  
                  $this.find("li").not(".active").has("ul").children("ul").collapse("hide");
  
              } else {
  
                  $this.find("li.active").has("ul").children("ul").addClass("collapse in");
  
                  $this.find("li").not(".active").has("ul").children("ul").addClass("collapse");
  
              }
  
  
  
              //add the "doubleTapToGo" class to active items if needed
  
              if (obj.settings.doubleTapToGo) {
  
                  $this.find("li.active").has("ul").children("a").addClass("doubleTapToGo");
  
              }
  
  
  
              $this.find("li").has("ul").children("a").on("click" + "." + pluginName, function(e) {
  
                  e.preventDefault();
  
  
  
                  //Do we need to enable the double tap
  
                  if (obj.settings.doubleTapToGo) {
  
  
  
                      //if we hit a second time on the link and the href is valid, navigate to that url
  
                      if (obj.doubleTapToGo($(this)) && $(this).attr("href") !== "#" && $(this).attr("href") !== "") {
  
                          e.stopPropagation();
  
                          document.location = $(this).attr("href");
  
                          return;
  
                      }
  
                  }
  
  
  
                  $(this).parent("li").toggleClass("active").children("ul").collapse("toggle");
  
  
  
                  if ($toggle) {
  
                      $(this).parent("li").siblings().removeClass("active").children("ul.in").collapse("hide");
  
                  }
  
  
  
              });
  
          },
  
  
  
          isIE: function() { //https://gist.github.com/padolsey/527683
  
              var undef,
  
                  v = 3,
  
                  div = document.createElement("div"),
  
                  all = div.getElementsByTagName("i");
  
  
  
              while (
  
                  div.innerHTML = "<!--[if gt IE " + (++v) + "]><i></i><![endif]-->",
  
                  all[0]
  
              ) {
  
                  return v > 4 ? v : undef;
  
              }
  
          },
  
  
  
          //Enable the link on the second click.
  
          doubleTapToGo: function(elem) {
  
              var $this = this.element;
  
  
  
              //if the class "doubleTapToGo" exists, remove it and return
  
              if (elem.hasClass("doubleTapToGo")) {
  
                  elem.removeClass("doubleTapToGo");
  
                  return true;
  
              }
  
  
  
              //does not exists, add a new class and return false
  
              if (elem.parent().children("ul").length) {
  
                   //first remove all other class
  
                  $this.find(".doubleTapToGo").removeClass("doubleTapToGo");
  
                  //add the class on the current element
  
                  elem.addClass("doubleTapToGo");
  
                  return false;
  
              }
  
          },
  
  
  
          remove: function() {
  
              this.element.off("." + pluginName);
  
              this.element.removeData(pluginName);
  
          }
  
  
  
      };
  
  
  
      $.fn[pluginName] = function(options) {
  
          this.each(function () {
  
              var el = $(this);
  
              if (el.data(pluginName)) {
  
                  el.data(pluginName).remove();
  
              }
  
              el.data(pluginName, new Plugin(this, options));
  
          });
  
          return this;
  
      };
  
  
  
  })(jQuery, window, document);