code: function(ed, url) {
  			// Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample');
  			ed.addCommand('mceExample', function() {
  				ed.windowManager.open({
  					file : url + '/dialog.htm',
  					width : 320 + parseInt(ed.getLang('example.delta_width', 0)),
  					height : 120 + parseInt(ed.getLang('example.delta_height', 0)),
  					inline : 1
  				}, {
  					plugin_url : url, // Plugin absolute URL
  					some_custom_arg : 'custom arg' // Custom argument
  				});
  			});
  
  			// Register example button
  			ed.addButton('example', {
  				title : 'example.desc',
  				cmd : 'mceExample',
  				image : url + '/img/example.gif'
  			});
  
  			// Add a node change handler, selects the button in the UI when a image is selected
  			ed.onNodeChange.add(function(ed, cm, n) {
  				cm.setActive('example', n.nodeName == 'IMG');
  			});
  		}
docs: Initializes the plugin, this will be executed after the plugin has been created.
  This call is done before the editor instance has finished it's initialization so use the onInit event
  of the editor instance to intercept that event.
  
  @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
  @param {string} url Absolute URL to where the plugin is located.