code: function ( oCache )
  	{
  		var
  			s = this.fnGetSettings(),
  			oMes = s.oMes,
  			oWin = FixedHeader.oWin,
  			oDoc = FixedHeader.oDoc,
  			nTable = oCache.nWrapper,
  			iCellWidth = $(nTable).outerWidth();
  
  		if ( oWin.iScrollLeft < oMes.iTableLeft )
  		{
  			/* Fully left align */
  			this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
  			this._fnUpdateCache( oCache, 'sTop', oMes.iTableTop+"px", 'top', nTable.style );
  			this._fnUpdateCache( oCache, 'sLeft', oMes.iTableLeft+"px", 'left', nTable.style );
  		}
  		else if ( oWin.iScrollLeft < oMes.iTableLeft+oMes.iTableWidth-iCellWidth )
  		{
  			this._fnUpdateCache( oCache, 'sPosition', 'fixed', 'position', nTable.style );
  			this._fnUpdateCache( oCache, 'sTop', (oMes.iTableTop-oWin.iScrollTop)+"px", 'top', nTable.style );
  			this._fnUpdateCache( oCache, 'sLeft', "0px", 'left', nTable.style );
  		}
  		else
  		{
  			/* Fully right align */
  			this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
  			this._fnUpdateCache( oCache, 'sTop', oMes.iTableTop+"px", 'top', nTable.style );
  			this._fnUpdateCache( oCache, 'sLeft', (oMes.iTableLeft+oMes.iTableWidth-iCellWidth)+"px", 'left', nTable.style );
  		}
  	}
docs: /*
  Function: _fnScrollHorizontalLeft
  Purpose:  Update the positioning of the scrolling elements
  Returns:  -
  Inputs:   object:oCache - the cached values for this fixed element