text: /*!
   * UF Config Manager - Config Manager Widget
   *
   * @link      https://github.com/lcharette/UF_ConfigManager
   * @copyright Copyright (c) 2016 Louis Charette
   * @license   https://github.com/lcharette/UF_ConfigManager/blob/master/LICENSE (MIT License)
   */
  
  (function( $ ){
  
      'use strict';
  
      var options = {};
  
      var methods = {
          init : function(optionsArg) {
  
              // Setup options
              options = $.extend( options, $.fn.ConfigManager.defaultOptions, optionsArg );
  
              // To use this inside sub-functions
              var elements = this;
  
              // Get the currently selected panel from the url anchor and switch to it
              var hash = window.location.hash.substr(1);
              if (hash != undefined && hash !== "") {
                  $(elements).hide();
                  $("#"+hash).show();
  
                  // Change the menu
                  $(options.menu).find("li").removeClass('active');
                  $(options.menu).find('a[href="#'+hash+'"]').parent().addClass("active");
              }
  
              // Set the menu
              $(options.menu).find("li > a").click(function () {
  
                  // Change the menu first
                  $(options.menu).find("li").removeClass('active');
                  $(this).parent().addClass("active");
  
                  // Change the displayed forms next
                  $(elements).hide();
                  $("#"+$(this).data('target')).show();
              });
  
              // For each element the plugin is called on
              this.each(function() {
  
                  // To use this inside sub-functions
                  var formPanel = this;
  
                  // ufForm instance. Don't need FormGeneator now
                  $(formPanel).find("form").ufForm({
                      validators: options.validators[ $(formPanel).attr('id') ],
                      msgTarget: $(formPanel).find("form .form-alerts")
                  }).on("submitSuccess.ufForm", function() {
                      // Forward to settings page on success
                      window.location.reload(true);
                  }).on("submitError.ufForm", function() {
                      $(formPanel).find("form .form-alerts").show();
                  });
  
              });
              return;
          }
      };
  
      /*
       * Main plugin function
       */
      $.fn.ConfigManager = function(methodOrOptions) {
          if ( methods[methodOrOptions] ) {
              return methods[ methodOrOptions ].apply( this, Array.prototype.slice.call( arguments, 1 ));
          } else if ( typeof methodOrOptions === 'object' || ! methodOrOptions ) {
              // Default to "init"
              return methods.init.apply( this, arguments );
          } else {
              $.error( 'Method ' +  methodOrOptions + ' does not exist on jQuery.ConfigManager' );
          }
      };
  
      /*
       * Default plugin options
       */
      $.fn.ConfigManager.defaultOptions = {
          menu : $(".configMenu"),
          validators: {}
      };
  
  
  })( jQuery );