
$.fn.dataTableExt.oApi.fnReloadAjax = function ( oSettings, sNewSource, fnCallback )
{

     if ( typeof sNewSource != 'undefined' )
     {
          oSettings.sAjaxSource = sNewSource;

     }
      this.oApi._fnProcessingDisplay( oSettings, true );
     var that = this;


     oSettings.fnServerData( oSettings.sAjaxSource, null, function(json) {
          /* Clear the old information from the table */
          that.oApi._fnClearTable( oSettings );

          /* Got the data - add it to the table */
          for ( var i=0 ; i<json.aaData.length ; i++ )
          {
               that.oApi._fnAddData( oSettings, json.aaData[i] );
          }
          oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
          that.fnDraw( that );

          that.oApi._fnProcessingDisplay( oSettings, false );

          /* Callback user function - for event handlers etc */
          if ( typeof fnCallback == 'function' )
          {
               fnCallback( oSettings );
          }
     } );
}

