calendarMngCategoriesGrid = function(limitColumns){
   var radioChoice = new Ext.grid.RadioColumn({header: "Assigned", width: 55, dataIndex: 'assign'});
  var columns = [
    {header: 'Category',width: 150, sortable: true, menuDisabled: true, dataIndex: 'category', treeCol: true},
    radioChoice
  ];

      // allow samples to limit columns
    if(limitColumns){
        var cs = [];
        for(var i = 0, len = limitColumns.length; i < len; i++){
            cs.push(columns[limitColumns[i]]);
        }
        columns = cs;
    }

    calendarMngCategoriesGrid.superclass.constructor.call(this, {
        store: new Ext.data.Store({
            url : 'main_menu/calendar_data.json.php',
            baseParams: {command: 'getMngCategories'},
   		   reader: new Ext.ux.EditorTreeGrid.Reader({
      			fields: [
                  { name: 'catid', mapping: 'catid' }, 
                  { name: 'category', mapping: 'category' }, 
                  { name: 'assign', mapping: 'assign', type: 'bool' }
               ]
            }),
            autoLoad : false
        }),
        view: new Ext.ux.EditorTreeGrid.View({
      		useArrows: true,
      		staticTree: false
        }),
        columns: columns,
   	  columnLines: true,
        title: 'Categories',
        height: 280,
        plugins:radioChoice,
        layout: 'fit',
        autoScroll: true,  
        id: 'calendar_category_grid'
    });
}

Ext.extend(calendarMngCategoriesGrid, Ext.grid.EditorGridPanel);
