docs: function _abstract_annotation_widget(widget_type, placeholder,
  					 placeholder_secondary){
  
  	var anchor = this;
  
  	// Create add button.
  	var add_btn_args = {
      	    'generate_id': true,
      	    'type': 'button',
      	    'class': 'btn btn-success'
  	};
  	anchor.add_button = new tag('button', add_btn_args, 'Add');
  
  	// The form control for the input area.
  	var text_args = {
      	    'generate_id': true,
      	    //'type': 'text',
      	    'class': 'form-control',
      	    'placeholder': placeholder
  	};
  	if( widget_type == 'textarea' ){
  	    text_args['type'] = 'text';
  	    text_args['rows'] = '2';
  	    anchor.text_input = new tag('textarea', text_args);
  	}else if( widget_type == 'text' ){
  	    text_args['type'] = 'text';
  	    anchor.text_input = new tag('input', text_args);
  	}else{ // 'source_ref'
  	    text_args['type'] = 'text';
  	    anchor.text_input = new tag('input', text_args);
  	    // Gets a second input.
  	    text_args['placeholder'] = placeholder_secondary;
  	    anchor.text_input_secondary = new tag('input', text_args);	    
  	}
  
  	// Both placed into the larger form string.
  	var form = [];
  	if( widget_type == 'textarea' ){
  	    form = [
  		'<div>',
  		'<div class="form-group">',
  		anchor.text_input.to_string(),
  		'</div>',
      		anchor.add_button.to_string(),
  		'</div>'
  	    ];
  	}else if( widget_type == 'text' ){
  	    form = [
      		'<div class="form-inline">',
      		'<div class="form-group">',
  		anchor.text_input.to_string(),
      		'</div>',
      		anchor.add_button.to_string(),
      		'</div>'
  	    ];
  	}else{ // 'source_ref'
  	    form = [
      		'<div class="form-inline">',
      		'<div class="form-group">',
  		anchor.text_input.to_string(),
  		'&nbsp;',
  		anchor.text_input_secondary.to_string(),
      		'</div>',
      		anchor.add_button.to_string(),
      		'</div>'
  	    ];
  	}
  	anchor.form_string = form.join('');
      }