function memberSort(initOptions){
    if(!canEdit){
    userLogin();
    winMemberSort.close();
    }
    var windowHeight = 250;

    var _self = this;
    var _settings = {};
    _settings.gcdID = 0;    
    
    Ext.apply(_settings, initOptions);
    var treePanner = new Ext.tree.TreePanel({
                  region: 'center',
                  useArrows: true,
                  autoScroll: true,
                  containerScroll: true,
                  animate: true,
                  enableDD: true,
                  rootVisible: false,
                  dataUrl: '/ajax/memberList/getMemberPSO.cfm?gcdID='+_settings.gcdID,
                  root: {
                      nodeType: 'async',
                      text: 'Users',
                      draggable: false
                  }
              });

      var winMemberSort = new Ext.Window({
        title: 'Public Sorting Order',
        constrainHeader: true,
        height: 450,
        width: 350,
        resizable: true,
        border: false,
        layout: 'border',
        modal: true,
        items: [ {region: 'north', padding: 5, margins: '0 0 5 0', html: '<strong>Drag and Drop Users to specify the Public Sorting Order.</strong><br /><br />Click \'Update\' below when you are finished.'},
                 treePanner
              ],
        buttons: [
                  {
                    text: 'Update',
                    handler: function(){
                    var tmpSerial = new Ext.tree.JsonTreeSerializer(treePanner, { nodeFilter: function(node) {
                        return true;
                      }});
                    Ext.Msg.wait('Saving your Ordering configuration. This may take a few seconds.', 'Please wait...');
                    Ext.Ajax.request({
                      url:'/ajax/memberList/updateMemberPSO.cfm?gcdID='+_settings.gcdID,
                      params: {navData:Base64.encode(tmpSerial.toString())},
                      success: function(transport){
                        Ext.Msg.updateText('Reloading the page...');
                        winMemberSort.close();
                        window.location.reload(true);
                      }
                    });
                    }
                  },
                  {
                    text:'Cancel', 
                    handler: function(){ winMemberSort.close();} 
                  }
                ]
      });
    winMemberSort.show();
}
