Ext.namespace('lor');

lor.SeasonGrid = Ext.extend(Ext.grid.GridPanel, {
	
	url: null,
	
	seasonData: null,
	
	stripeRows: true,
	
	initComponent: function()
	{
		var sc = {
			autoDestroy: true,
			autoLoad: true,
			data: this.seasonData,
			root: 'events',
			idProperty: 'name',
			sortInfo: {
				field: 'date',
				direction: 'ASC'
			},
			fields: [
			{name: 'date', type: 'date', dateFormat: 'Y-m-d'},
			'name',
			'url',
			'location',
			'prov',
			'mapUrl',
			'resultUrl',
			'photoUrl',
			'videoUrl',
			'type',
			{name: 'valid', type: 'auto'}
			]
		};
		
		if(this.seasonData)
			sc.data = this.seasonData;
		else
			sc.url = this.url;
		
		this.store = new Ext.data.JsonStore(sc);
		
		this.columns = [
		{
			header: 'Data',
			dataIndex: 'date',
			sortable: true,
			xtype: 'datecolumn',
			format: 'd/m/y'
		},
		{
			header: 'Manifestazione',
			dataIndex: 'name',
			width: 280,
			renderer: function(v,md,r)
			{
				if(Ext.isEmpty(r.get('url')))
				{
					return v;
				}
				else
				{
					return '<a href="'+r.get('url')+'" target="_blank">'+v+'</a>'
				}
			}
		},
		{
			header: 'Tipologia',
			dataIndex: 'type',
			width: 150
		},
		{
			header: 'Validit&agrave;',
			dataIndex: 'valid',
			width: 200,
			renderer: function(v)
			{
				if(!v)
					return '&nbsp;';
				if(!Ext.isArray(v))
					v = [v];
				var res = '';
				for(var i=0;i<v.length;i++)
				{
					res += v[i]+'<br>';
				}
				return res;
			}
		},
		{
			header: 'Luogo',
			dataIndex: 'location',
			width: 200,
			renderer: function(v,md,r)
			{
				if(Ext.isEmpty(r.get('mapUrl')))
				{
					return v;
				}
				else
				{
					return '<a href="'+r.get('mapUrl')+'" target="_blank">'+v+'</a>'
				}
			}
		},
		{
			header: 'Provincia',
			dataIndex: 'prov'
		},
		{
			header: 'Risultati',
			dataIndex: 'resultUrl',
			renderer: function(v,md,r)
			{
				if(Ext.isEmpty(v))
				{
					return '';
				}
				else
				{
					return '<a href="'+v+'" target="_blank">Risultati</a>'
				}
			}
		},
		{
			header: 'Foto',
			dataIndex: 'photoUrl',
			renderer: function(v,md,r)
			{
				if(Ext.isEmpty(v))
				{
					return '';
				}
				else
				{
					return '<a href="'+v+'" target="_blank">Foto</a>'
				}
			}
		}
		
		];
		
		lor.SeasonGrid.superclass.initComponent.call(this);
	}
	
});