whole_func_string: function(className, testFn, scope) {
          var me = this,
              dom = me.dom,
              hasTest = Ext.isFunction(testFn);
              
          me.hover(
              function() {
                  if (hasTest && testFn.call(scope || me, me) === false) {
                      return;
                  }
                  Ext.fly(dom, INTERNAL).addCls(className);
              },
              function() {
                  Ext.fly(dom, INTERNAL).removeCls(className);
              }
          );
          return me;
      }
func_code_string: function(className, testFn, scope) {
          var me = this,
              dom = me.dom,
              hasTest = Ext.isFunction(testFn);
              
          me.hover(
              function() {
                  if (hasTest && testFn.call(scope || me, me) === false) {
                      return;
                  }
                  Ext.fly(dom, INTERNAL).addCls(className);
              },
              function() {
                  Ext.fly(dom, INTERNAL).removeCls(className);
              }
          );
          return me;
      }
func_documentation_string: Sets up event handlers to add and remove a css class when the mouse is over this element
  @param {String} className The class to add
  @param {Function} [testFn] A test function to execute before adding the class. The passed parameter
  will be the Element instance. If this functions returns false, the class will not be added.
  @param {Object} [scope] The scope to execute the testFn in.
  @return {Ext.dom.Element} this