/*
 * Componente grid composiciones busqueda avanzada
 */
function gridEfectos(tabEfectos){
	var objGrid;
	objGrid = new objetoGridEfectos(tabEfectos);
    objGrid.initGrid();
}

/**
* 	Objeto grid de composiciones de la busqueda avanzada
*/	

function objetoGridEfectos(tabEfectos){  

	this.htmlNoResultados = '<div style="text-align:center;height:60px;">{texto}</div>';
	
	this.store = new Ext.data.JsonStore({
	    url: '../portal/json/ListaEfectos.adl',
	    root: 'lista',
	    fields:[
			{name: 'idComposicion'},	
			{name: 'codigoComposicion'},
			{name: 'duracionFichero1Formato'},
			{name: 'novedad'},
			{name: 'destacado'},
			{name: 'titulo'},
			{name: 'nota'},
			{name: 'numeroEfectos'},
			{name: 'compositoresPseudonimo'},
			{name: 'nombreCompositorPrincipal'},
			{name: 'precioOfertaEfecto'},
			{name: 'textoOferta'},
			{name: 'licenciaEfecto'},
			{name: 'fechaRegistroLocale'},
			{name: 'seleccion'},
			{name: 'carrito'},
			{name: 'duracionCarrito'},
			{name: 'licenciaCarrito'}
		],
	    totalProperty: 'elementCount'
	});
	
	this.tplNoResultados = new Ext.Template(this.htmlNoResultados);
	this.initGrid = function(){			
			
		var parent = this;
		this.tplNoResultados.compile();
		var paging = new Ext.BarBusqueda('barraPaginacion',this.store,{
		    pageSize:10 ,
		    afterPageText : localize("de") + ' {0}',
		    beforePageText: localize("pagina") 
		});
		
		this.store.load({params:{start:0, limit:10 }});
		this.store.on("load", function () {
			parent.pintar();
		});
	}

	// Pintamos las composiciones cuando este cargado el store	
	this.pintar = function(){	
			
		try{					
			Ext.get('composicionBusqueda').update();
			if(this.store.getCount()>0){	
				for (var i = 0; i < this.store.getCount(); i++) {
					var objComp = new objetoComposicionBusqueda(this.store.getAt(i),i,tabEfectos);
					objComp.pintar();		
				}
			}else{
				// no hay resultados
				this.tplNoResultados.append('composicionBusqueda', {texto:localize('busquedaVacia')});
			}
		}catch(e){
			alert(e);
		}
	}						
}