code: function ( nButton, oConfig )
  	{
  		var that = this;
  
  		if ( oConfig.fnInit !== null )
  		{
  			oConfig.fnInit.call( this, nButton, oConfig );
  		}
  
  		if ( oConfig.sToolTip !== "" )
  		{
  			nButton.title = oConfig.sToolTip;
  		}
  
  		$(nButton).hover( function () {
  			if ( oConfig.fnMouseover !== null )
  			{
  				oConfig.fnMouseover.call( this, nButton, oConfig, null );
  			}
  		}, function () {
  			if ( oConfig.fnMouseout !== null )
  			{
  				oConfig.fnMouseout.call( this, nButton, oConfig, null );
  			}
  		} );
  
  		if ( oConfig.fnSelect !== null )
  		{
  			TableTools._fnEventListen( this, 'select', function (n) {
  				oConfig.fnSelect.call( that, nButton, oConfig, n );
  			} );
  		}
  
  		$(nButton).click( function (e) {
  			//e.preventDefault();
  
  			if ( oConfig.fnClick !== null )
  			{
  				oConfig.fnClick.call( that, nButton, oConfig, null, e );
  			}
  
  			/* Provide a complete function to match the behaviour of the flash elements */
  			if ( oConfig.fnComplete !== null )
  			{
  				oConfig.fnComplete.call( that, nButton, oConfig, null, null );
  			}
  
  			that._fnCollectionHide( nButton, oConfig );
  		} );
  	}
docs: /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  Text button functions
   
  Configure a text based button for interaction events
  @method  _fnTextConfig
  @param   {Node} nButton Button element which is being considered
  @param   {Object} oConfig Button configuration object
  @returns void
  @private