code: function _fnPageChange ( settings, action, redraw )
  	{
  		var
  			start     = settings._iDisplayStart,
  			len       = settings._iDisplayLength,
  			records   = settings.fnRecordsDisplay();
  	
  		if ( records === 0 || len === -1 )
  		{
  			start = 0;
  		}
  		else if ( typeof action === "number" )
  		{
  			start = action * len;
  	
  			if ( start > records )
  			{
  				start = 0;
  			}
  		}
  		else if ( action == "first" )
  		{
  			start = 0;
  		}
  		else if ( action == "previous" )
  		{
  			start = len >= 0 ?
  				start - len :
  				0;
  	
  			if ( start < 0 )
  			{
  			  start = 0;
  			}
  		}
  		else if ( action == "next" )
  		{
  			if ( start + len < records )
  			{
  				start += len;
  			}
  		}
  		else if ( action == "last" )
  		{
  			start = Math.floor( (records-1) / len) * len;
  		}
  		else
  		{
  			_fnLog( settings, 0, "Unknown paging action: "+action, 5 );
  		}
  	
  		var changed = settings._iDisplayStart !== start;
  		settings._iDisplayStart = start;
  	
  		_fnCallbackFire( settings, null, 'page', [settings] );
  	
  		if ( redraw ) {
  			_fnDraw( settings );
  		}
  	
  		return changed;
  	}
docs: Alter the display settings to change the page
  @param {object} settings DataTables settings object
  @param {string|int} action Paging action to take: "first", "previous",
  "next" or "last" or page number to jump to (integer)
  @param [bool] redraw Automatically draw the update or not
  @returns {bool} true page has changed, false - no change
  @memberof DataTable#oApi