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);

