var smf;
var smt;
var srecordsf;
//var checkboxselmodelf;
var checkboxselmodelt;
var srecordst;
function tablaf(userid2) {

	smf = getSelectionModelf();
	var gridf = new Ext.grid.GridPanel({
		id : 'funkciok_'+userid2,
		store : getDataStoref(),
		cm : getColumnModelf(smf),
		sm : smf,
//		autoExpandColumn:'leiras',
		width : 220,
		height: 304,
		frame : true,
		iconCls : 'icon-grid',
		viewConfig : {
			forceFit : true
		}
	});
	// grid.render(document.body);
	// a kivalasztas elkeszitese
	//getUserDataStoref(userid, smf);
	return gridf;
}

function getDataStoref() {
	// ez a grid (tablazat) sorait kezelo adattarolo
	var storef = new Ext.data.JsonStore({
		url : 'phpk/user/getfunc.php',
		root : 'funkciok',
		fields : ['leiras'],
		id : 'id'
	});
	// beolvastatjuk az adatokat
	storef.load();
	return storef;
}

function getUserDataStoref(userid2, selectionModel) {
	// ez a userhez tartozo funkciocsoportokat selectionModel tarolja
	var storef = new Ext.data.JsonStore({
		url : 'phpk/user/getuserfunc.php?id=' + userid2,
		root : 'funkciok',
		fields : ['id'],
		id : 'id'
	});
	// Esemenyveyerlo deklaralasa, ha lefutott a load, akkor hivodik meg.
	storef.on('load', function(storef, records, options) {
		// ha betoltodtek az adatok, akkor lerendezzuk a kivalasztast.
		srecordsf = new Array();
		// Ez a ciklus vegigfut minden elemen a beolvasott rekordoknak
		Ext.each(records, function(r) {
			// megkeressuk a tabla adatai kozul
			var rsf = selectionModel.grid.store.getById(r.id);
			srecordsf.push(rsf);
		});
		// az osszevalogatott rekordokat valasztatjuk ki.
		selectionModel.selectRecords(srecordsf);
	});
	// meghivjuk a betoltest
	storef.load();
	return storef;
}

function getSelectionModelf() {
	var checkboxselmodelf = new Ext.grid.CheckboxSelectionModel();
	return checkboxselmodelf;
}

function getColumnModelf(selectionModel) {
	// Oszlopdefiniciok letrehoyasa
	return new Ext.grid.ColumnModel([selectionModel, {
		id : 'leir',
		header : "Összes kiválasztása",
		width : 40,
		sortable : false,
		menuDisabled : true,
		dataIndex : 'leiras'
	}]);
}

function tablat(userid2) {
	smt = getSelectionModelt();
	var gridt = new Ext.grid.GridPanel({
		id : 'meta_'+userid2,
		store : getDataStoret(),
		cm : getColumnModelt(smt),
		sm : smt,
		width: 250,
		height:304,
		frame: true,
		iconCls: 'icon-grid',
		viewConfig : {
			forceFit : true
		}
	});			 
	//	grid.render(document.body);
	// a kivalasztas elkeszitese
	//	getUserDataStore(userid, sm);
	return gridt;
}
function getDataStoret() {
	//ez a grid (tablazat) sorait kezelo adattarolo
	var storet = new Ext.data.JsonStore({
		url : 'phpk/user/getmeta.php',
		root : 'meta',
		fields : ['id','leiras'],
		id : 'id'
	});
	//beolvastatjuk az adatokat
	storet.load();	
	return storet;
}

function getUserDataStoret(userid2, selectionModel) {
	//ez a userhez tartozo funkciocsoportokat tarolja
	var storet = new Ext.data.JsonStore({
		url : 'phpk/user/getusermeta.php?id='+userid2,
		root : 'meta',
		fields : ['id'],
		id : 'id'
	});	
	//Esemenyveyerlo deklaralasa, ha lefutott a load, akkor hivodik meg.
	storet.on('load', function(storet, records, options) {
		//ha betoltodtek az adatok, akkor lerendezzuk a kivalasztast.
		srecordst = new Array();
		//Ez a ciklus vegigfut minden elemen a beolvasott rekordoknak
		Ext.each(records, function(r){
			// megkeressuk a tabla adatai kozul
			var rst = selectionModel.grid.store.getById(r.id);
			srecordst.push(rst);
		});
		//az osszevalogatott rekordokat valasztatjuk ki.
  	selectionModel.selectRecords(srecordst);
	});
	storet.load();	
	return storet;
}

function getSelectionModelt() {
	checkboxselmodelt = new Ext.grid.CheckboxSelectionModel();
	return checkboxselmodelt;
}

function getColumnModelt(selectionModel){
	//Oszlopdefiniciok letrehoyasa
	return new Ext.grid.ColumnModel([selectionModel, {
		id: 'leir',
		header : "Összes kiválasztása",
		width: 40,
		sortable: false,
		dataIndex: 'leiras',
		menuDisabled : true
	}]);
}
