Issue with jQuery tablesorter

Issue with jQuery tablesorter

hey guys,
 I am using jQuery tablesorter plugin and it seems to be working fine. But i have a requirement to filter the data's based on client and do sorting then. I put a combo box and from that user will select the Client. Based on the selected client, i manipulate the JSON data locally and display the relevant data's based on client ID. Before selecting a client, say All Client (means all data from JSON), sorting is working fine. But after selecting a client, the sorting is working only ascending and not vice versa. I don't know where i went wrong. Please help me guys.

With the below javascript code, i display the values for all clients and particular clients.
  1. function addData()
  2. {       
  3.     var table = document.getElementById('example1');
  4.     var tablerows = parseInt(document.getElementById('example1').rows.length);   
  5.     while(table.lastChild){       
  6.         table.removeChild(table.lastChild);
  7.     }
  8.     // For flight
  9.     if (serviceDetails1.length > 0) {   
  10.         var serviceDetails = new Array();
  11.         var e = document.getElementById("clientid");
  12.         var clientid = e.options[e.selectedIndex].value;
  13.         if (parseInt(clientid) == 0)
  14.             serviceDetails = serviceDetails1;
  15.         else {
  16.             serviceDetails = new Array();
  17.             for ( var i = 0; i < serviceDetails1.length; i++) {
  18.                 if (parseInt(serviceDetails1[i].client_id) == parseInt(clientid))
  19.                 {
  20.                     serviceDetails.push(serviceDetails1[i]);
  21.                 }
  22.             }
  23.         }   
  24.        
  25.         var outstanding = 0;
  26.        
  27.         for ( var i = 0; i < serviceDetails.length; i++) {
  28.            
  29.             var tr = document.createElement("tr");
  30.             tr.align = 'center';
  31.             var URL = '';
  32.             var tempVal = '';
  33.             var traveller_name = '';
  34.            
  35.             var tDate = new Date(serviceDetails[i].invoice_date);
  36.            
  37.             outstanding += parseFloat(amountTot);           
  38.            
  39.             var td1 = document.createElement("td");
  40.             td1.className = 'maintext';
  41.             td1.innerHTML = '<input type="checkbox" value="' + tempVal + '" name="invoices" onchange="javascript:calculateTotal(this)"/>';
  42.             var td2 = document.createElement("td");
  43.             td2.className = 'maintext';
  44.             td2.innerHTML = '<a href="javascript:openWindow(\'' + URL
  45.                     + '\');">' + serviceDetails[i].invoice_no + '</a>';
  46.             var td6 = document.createElement("td");
  47.             td6.className = 'maintext';
  48.             //td6.innerHTML = '<a href="javascript:openWindow(\'' + URL
  49.             //        + '\');">' + dat_obj.date+' / '+(month+1) +' / '+year.substr(1,2)+ '</a>';
  50.             td6.innerHTML = '<a href="javascript:openWindow(\'' + URL
  51.                     + '\');">' +serviceDetails[i].invoice_date+ '</a>';
  52.             var td3 = document.createElement("td");
  53.             td3.className = 'maintext';
  54.             td3.innerHTML = '<a href="javascript:openWindow(\'' + URL
  55.                     + '\');">' + traveller_name + '</a>';
  56.             var td4 = document.createElement("td");
  57.             td4.className = 'maintext';
  58.             td4.innerHTML = '<a href="javascript:openWindow(\'' + URL
  59.                     + '\');">' + serviceDetails[i].project_name + '</a>';
  60.             var td5 = document.createElement("td");
  61.             td5.className = 'maintext';
  62.             td5.innerHTML = '<a href="javascript:openWindow(\'' + URL
  63.                     + '\');">' + serviceDetails[i].total_fare.toFixed(2) + '</a>';
  64.             tr.appendChild(td1);
  65.             tr.appendChild(td2);
  66.             tr.appendChild(td6);
  67.             tr.appendChild(td3);
  68.             tr.appendChild(td4);
  69.             tr.appendChild(td5);
  70.             table.appendChild(tr);
  71.             document.getElementById('outstanding_amount').innerHTML = outstanding.toFixed(2);           
  72.         }   
  73.        
  74.         $.tablesorter.addParser({
  75.             id: 'quarters',
  76.             is: function (s) {
  77.                 return false;
  78.             },
  79.             format: function (s) {
  80.                 s = s.toLowerCase().replace(/q[0-9]/,'').replace(/\(/,'').replace(/\)/,'');           
  81.                 match = s.match(/(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20\d\d)/);
  82.                 return match[3] + match[2] + match[1];
  83.             },
  84.             type: 'text'
  85.         });
  86.        
  87.         $("#example").tablesorter({headers: {2: {sorter: 'quarters'}}, sortList: [[1,0], [1,1], [2,0], [2,1], [5,0], [5,1]]})
  88.                      .tablesorterPager({container: $("#pager")});
  89.     } else {
  90.         var tr = document.createElement("tr");
  91.         var td1 = document.createElement("td");
  92.         td1.colSpan = 5;
  93.         td1.align = 'center';
  94.         td1.innerHTML = 'No invoice(s) found for Flight';
  95.         tr.appendChild(td1);
  96.         table.insertBefore(tr, document.getElementById("display_last"));
  97.     }   
  98. }

The highlighted code is for tablesorter. I am calling this method @ page load once and after whenever a user selects a client.