

  function xsort( x, isNumber ) { 
  		  
  		  var sNode = document.getElementById( 's'+x );
  		  var sNodeC = document.getElementById( 's'+currentSortNumber ); 
  		  if( x != currentSortNumber ) {
  		  		xDir='normal';
  		  		sNodeC.src = 'images/spacer.gif';
  		  		sNode.src = 'images/downArrow.gif';
  		  } else { 
  		  		if( xDir == 'normal' ) {
  		  			xDir = 'reverse';
  		  			sNodeC.src = 'images/spacer.gif';
	  		  		sNode.src = 'images/upArrow.gif';
  		  		} else { 
  		  			xDir = 'normal';
  		  			sNodeC.src = 'images/spacer.gif';
  		  			sNode.src = 'images/downArrow.gif';
  		  		}
  		  		 
  		  } 
          currentSortNumber = x; 
          
  		  var indexA = Sorter( valNode[x], isNumber ); 
		  for( var k=0; k<indexA.length; k++ ) { 
		  	   for( var kk=0; kk<indexA.length; kk++ ) { 
		  	   		if( k == indexA[kk] ) {
		  	   			next=kk;
		  	   			break;
		  	   		}
		  	   }
		  	   
		  	   for(var kk=1; kk<=numberOfCols; kk++){
	  	   			var xN = document.getElementById( kk + '_' + k );   
	  	   			var xNC= xN.childNodes[0];
	  	   			if(! xNC ) xN.appendChild( document.createTextNode('')) ; 
	  	   			xNC = xN.childNodes[0];
	  	   			
	  	   			var nN = (holdNode[kk][next]).cloneNode(true);
	  	   				nN = nN.childNodes[0];  
	  	   			if( !nN ) { nN = document.createTextNode(''); } 
	  	   			
	  	   			xN.replaceChild( nN, xNC ); 	
	  	   				  
	  	   			   
		  	   }
		  } 
  } 




  function numOrder(a,b){return a-b; }
  function numOrderR(a,b){return b-a; } 
  
  function Sorter( xArray, isNumber ) { 
		  var compareA = new Array( ) ;
		  for( var k=0; k<xArray.length; k++){
		  	compareA[k] = xArray[k];
		  } 
		  var indexA = new Array(); 
		  
		  if(isNumber) { 
		  	  if( xDir == 'normal' ) { 
		  	  	compareA = compareA.sort( numOrder ); 
		  	  } else { 
		  	    compareA = compareA.sort( numOrderR ); 
		  	  } 
		  	  
		  } else {
		  	  if( xDir == 'normal') {  
		  	  	compareA = compareA.sort(  ); 
		  	  } else { 
		  	    compareA = compareA.sort();
		  	    compareA = compareA.reverse();
		  	  }
		  }
		  
		  for( var k=0; k<xArray.length; k++){   
		     for( var kk=0; kk<compareA.length; kk++ ) {  
		  			if( compareA[kk] == xArray[k] ) { 
		  				indexA[k] = kk;
		  				compareA[kk] = 'undef*@'; 
		  				break;
		  			} 
		     }
		  }
		  return indexA; 
  }
