text: (function (window, document, undefined) {
      L.Control.Custom = L.Control.extend({
          version: '1.0.1',
          options: {
              position: 'topright',
              id: '',
              title: '',
              classes: '',
              content: '',
              style: {},
              datas: {},
              events: {},
          },
          container: null,
          onAdd: function (map) {
              this.container = L.DomUtil.create('div');
              this.container.id = this.options.id;
              this.container.title = this.options.title;
              this.container.className = this.options.classes;
              this.container.innerHTML = this.options.content;
  
              for (var option in this.options.style)
              {
                  this.container.style[option] = this.options.style[option];
              }
  
              for (var data in this.options.datas)
              {
                  this.container.dataset[data] = this.options.datas[data];
              }
  
  
              /* Prevent click events propagation to map */
              L.DomEvent.disableClickPropagation(this.container);
  
              /* Prevent right click event propagation to map */
              L.DomEvent.on(this.container, 'contextmenu', function (ev)
              {
                  L.DomEvent.stopPropagation(ev);
              });
  
              /* Prevent scroll events propagation to map when cursor on the div */
              L.DomEvent.disableScrollPropagation(this.container);
  
              for (var event in this.options.events)
              {
                  L.DomEvent.on(this.container, event, this.options.events[event], this.container);
              }
  
              return this.container;
          },
  
          onRemove: function (map) {
              for (var event in this.options.events)
              {
                  L.DomEvent.off(this.container, event, this.options.events[event], this.container);
              }
          },
      });
  
      L.control.custom = function (options) {
          return new L.Control.Custom(options);
      };
  
  }(window, document));