text: /*
  Copyright (c) 2010, Yahoo! Inc. All rights reserved.
  Code licensed under the BSD License:
  http://developer.yahoo.com/yui/license.html
  version: 3.4.0
  build: nightly
  */
  YUI.add('editor-tab', function(Y) {
  
  
      /**
       * Handles tab and shift-tab indent/outdent support.
       * @class Plugin.EditorTab
       * @constructor
       * @extends Base
       * @module editor
       * @submodule editor-tab
       */
      
      var EditorTab = function() {
          EditorTab.superclass.constructor.apply(this, arguments);
      }, HOST = 'host';
  
      Y.extend(EditorTab, Y.Base, {
          /**
          * Listener for host's nodeChange event and captures the tabkey interaction.
          * @private
          * @method _onNodeChange
          * @param {Event} e The Event facade passed from the host.
          */
          _onNodeChange: function(e) {
              var action = 'indent';
  
              if (e.changedType === 'tab') {
                  if (!e.changedNode.test('li, li *')) {
                      e.changedEvent.halt();
                      e.preventDefault();
                      if (e.changedEvent.shiftKey) {
                          action = 'outdent';
                      }
  
                      this.get(HOST).execCommand(action, '');
                  }
              }
          },
          initializer: function() {
              this.get(HOST).on('nodeChange', Y.bind(this._onNodeChange, this));
          }
      }, {
          /**
          * editorTab
          * @property NAME
          * @static
          */
          NAME: 'editorTab',
          /**
          * tab
          * @property NS
          * @static
          */
          NS: 'tab',
          ATTRS: {
              host: {
                  value: false
              }
          }
      });
  
  
      Y.namespace('Plugin');
  
      Y.Plugin.EditorTab = EditorTab;
  
  
  }, '3.4.0' ,{skinnable:false, requires:['editor-base']});
  