/**
 * Set the exporturl property in the constructor for passing line numbers
 *
 * Example:
 * TG.exportwin = new TG.Export({
 *		exporturl: BASE_URL + '/index/report/'
 * });
 * TG.exportwin.show();
 */
TG.Export = Ext.extend(Ext.Window, {
	id: 'export-win',
	title: 'Export',
	width: 500,
	height: 300,
	closeAction: 'hide',
	layout: 'fit',
	border: false,
	modal: true,
	initComponent: function() {
		
		var g = Ext.getCmp('risk-rules');
		var s = g.getStore();

		var sm = new  Ext.grid.CheckboxSelectionModel({
			singleSelect: false,
			checkOnly: false
		});

		Ext.apply(this, {
			items: [{
				xtype: 'grid',
				id: 'exportgrid',
				store: s,
				multiSelect: true,
				sm: sm,
				emptyText: 'Geen regels',
				columns: [
					sm,
					{
						header: 'Number',
						width: 50,
						dataIndex: 'id'
					},{
						header: 'Oorzaak',
						width: 120,
						dataIndex: 'oorzaak'
					},{
						header: 'Gebeurtenis',
						width: 120,
						dataIndex: 'gebeurtenis'
					},{
						header: 'Gevolg',
						width: 120,
						dataIndex: 'gevolg'
					}
				]

			}]
		});
		TG.Export.superclass.initComponent.apply(this, arguments);
	},
	buttons: [{
		text: 'Exporteren',
		handler: function() {
			var selected = Ext.getCmp('exportgrid').getSelectionModel().selections.items;

			if(selected.length > 0){
				var requestStr = '';
				for(i = 0; i < selected.length; i++){
					requestStr += selected[i].id + ',';
				}
				requestStr = requestStr.slice(0, -1); //remove last comma
				window.open (Ext.getCmp('export-win').exporturl + 'selections/' + requestStr + '/',"download");
				Ext.getCmp('export-win').hide();
			}else{
				Ext.Msg.alert('Exporteren', 'Selecteer 1 of meerdere regels a.u.b.');
			}
		}
	},{
		text: 'Annuleren',
		handler: function() {
			Ext.getCmp('export-win').hide();
		}
	}],
	setExportUrl : function(url){
		Ext.getCmp('export-win').exporturl = url;
	}
});
