code: function ( e, nTh )
  	{
  		var that = this;
  
  		/* Store information about the mouse position */
  		var target = $(e.target).closest('th, td');
  		var offset = target.offset();
  		var idx = parseInt( $(nTh).attr('data-column-index'), 10 );
  
  		if ( idx === undefined ) {
  			return;
  		}
  
  		this.s.mouse.startX = e.pageX;
  		this.s.mouse.startY = e.pageY;
  		this.s.mouse.offsetX = e.pageX - offset.left;
  		this.s.mouse.offsetY = e.pageY - offset.top;
  		this.s.mouse.target = this.s.dt.aoColumns[ idx ].nTh;//target[0];
  		this.s.mouse.targetIndex = idx;
  		this.s.mouse.fromIndex = idx;
  
  		this._fnRegions();
  
  		/* Add event handlers to the document */
  		$(document)
  			.on( 'mousemove.ColReorder', function (e) {
  				that._fnMouseMove.call( that, e );
  			} )
  			.on( 'mouseup.ColReorder', function (e) {
  				that._fnMouseUp.call( that, e );
  			} );
  	}
docs: Mouse down on a TH element in the table header
  @method  _fnMouseDown
  @param   event e Mouse event
  @param   element nTh TH element to be dragged
  @returns void
  @private