/**
* 	Objeto grid de composiciones de la busqueda avanzada
*/	
function Noticias(){  

		
	this.htmlNoResultados = '<div style="text-align:center;height:60px;">{texto}</div>';
	this.anioCargado = ultimoAnioNoticias;
	this.store = null;

	this.tplNoResultados = new Ext.Template(this.htmlNoResultados);
	
	this.initGrid = function(){		
		var padre = this;
		this.listenersBotones();
		this.cargarUltimoAnioNoticias();
	}

	// Pintamos las composiciones cuando este cargado el store	
	this.pintar = function(){		
	
		Ext.get('listaNoticias').update();
		var htmlComposiciones	 = 	'<div  id=listaNoticias">'+	
										'<div id="noticiasMaskObra" style="padding-top:150px;"></div>'+									
									'</div>';					
		var tplComposiciones = new Ext.Template(htmlComposiciones);
		tplComposiciones.compile();
		tplComposiciones.append('listaNoticias', {});
	
		this.tplNoResultados.compile();
		
		var myMask = new Ext.LoadMask('noticiasMaskObra', {store:this.store});
		myMask.enable();
		
		try{				
			if(Ext.get('noticiasMaskObra')!=null){
				Ext.get('noticiasMaskObra').remove();
			}		
			if(this.store.getCount()>0){
				var numeroElementos = this.store.getCount();	
				for (var i = 0; i < numeroElementos; i++) {
					var esUltima = false; 
					if (i ==(numeroElementos-1)){
						esUltima = true;
					}
					var objComp = new objNoticia(this.store.getAt(i),i,esUltima);
					objComp.pintar();		
				}
			}else{
				// no hay resultados
				this.tplNoResultados.append('listaNoticias', {texto:localize('noticiasVacio')});
			}
		}catch(e){
			alert(e);
		}
	}		

	this.listenersBotones = function(){
	
		var padre = this;
		this.elBotonAnio1 = Ext.get('anio1');
		this.elBotonAnio1.on('click',function(){
			padre.cargarAnioActual();	
		});

		this.elBotonAnio2 = Ext.get('anio2');
		this.elBotonAnio2.on('click',function(){
			padre.cargarAnioAnterior();	
		});
		
		this.elBotonAnio3 = Ext.get('anio3');
		this.elBotonAnio3.on('click',function(){
			padre.cargarAnioAnteriorAnterior();	
		});			
		
		this.elBotonAnio11 = Ext.get('anio11');
		this.elBotonAnio11.on('click',function(){
			padre.cargarAnioActual();	
		});
	
		this.elBotonAnio22 = Ext.get('anio22');
		this.elBotonAnio22.on('click',function(){
			padre.cargarAnioAnterior();	
		});
				
		this.elBotonAnio33 = Ext.get('anio33');
		this.elBotonAnio33.on('click',function(){
			padre.cargarAnioAnteriorAnterior();	
		});			
	}	
		
	this.cargarAnioActual = function (){
	
		this.elBotonAnio1.removeClass('enlaceAnio');
		this.elBotonAnio2.removeClass('enlaceAnioSelecc');
		this.elBotonAnio3.removeClass('enlaceAnioSelecc');
		
		this.elBotonAnio1.addClass('enlaceAnioSelecc');
		this.elBotonAnio2.addClass('enlaceAnio');
		this.elBotonAnio3.addClass('enlaceAnio');

		this.elBotonAnio11.removeClass('enlaceAnio');
		this.elBotonAnio22.removeClass('enlaceAnioSelecc');
		this.elBotonAnio33.removeClass('enlaceAnioSelecc');
		
		this.elBotonAnio11.addClass('enlaceAnioSelecc');
		this.elBotonAnio22.addClass('enlaceAnio');
		this.elBotonAnio33.addClass('enlaceAnio');
				
		this.anioCargado = anioAct;
		this.cargarStore();
		var padre = this;
		this.store.on("load", function () {
			padre.pintar();
		});
		this.store.load();
	}		
	
	this.cargarAnioAnterior = function (){
		this.elBotonAnio2.removeClass('enlaceAnio');
		this.elBotonAnio1.removeClass('enlaceAnioSelecc');
		this.elBotonAnio3.removeClass('enlaceAnioSelecc');
		
		this.elBotonAnio2.addClass('enlaceAnioSelecc');
		this.elBotonAnio1.addClass('enlaceAnio');
		this.elBotonAnio3.addClass('enlaceAnio');

		this.elBotonAnio22.removeClass('enlaceAnio');
		this.elBotonAnio11.removeClass('enlaceAnioSelecc');
		this.elBotonAnio33.removeClass('enlaceAnioSelecc');
		
		this.elBotonAnio22.addClass('enlaceAnioSelecc');
		this.elBotonAnio11.addClass('enlaceAnio');
		this.elBotonAnio33.addClass('enlaceAnio');
				
		this.anioCargado = anioAnt;
		this.cargarStore();
		var padre = this;
		this.store.on("load", function () {
			padre.pintar();
		});
		this.store.load();
	}

	this.cargarAnioAnteriorAnterior = function (){
		this.elBotonAnio3.removeClass('enlaceAnio');
		this.elBotonAnio1.removeClass('enlaceAnioSelecc');
		this.elBotonAnio2.removeClass('enlaceAnioSelecc');
		
		this.elBotonAnio3.addClass('enlaceAnioSelecc');
		this.elBotonAnio1.addClass('enlaceAnio');
		this.elBotonAnio2.addClass('enlaceAnio');

		this.elBotonAnio33.removeClass('enlaceAnio');
		this.elBotonAnio11.removeClass('enlaceAnioSelecc');
		this.elBotonAnio22.removeClass('enlaceAnioSelecc');
		
		this.elBotonAnio33.addClass('enlaceAnioSelecc');
		this.elBotonAnio11.addClass('enlaceAnio');
		this.elBotonAnio22.addClass('enlaceAnio');
				
		this.anioCargado = anioAntAnt;
		this.cargarStore();
		var padre = this;
		this.store.on("load", function () {
			padre.pintar();
		});
		this.store.load();
	}
		
	this.cargarUltimoAnioNoticias = function (){
		if (ultimoAnioNoticias == anioAct)
			this.cargarAnioActual();
		else if (ultimoAnioNoticias == anioAnt)
			this.cargarAnioAnterior();
		else if (ultimoAnioNoticias == anioAntAnt)
			this.cargarAnioAnteriorAnterior();
		else this.cargarAnioActual();
	}
	
	this.cargarStore = function(){
		this.store = new Ext.data.JsonStore({
	    url: '../portal/json/ListaNoticias.adl',
	    root: 'lista',
	    fields:[
		{name: 'fechaLocale'},
		{name: 'idNoticiaI18n'},	
		{name: 'idNoticia'},
		{name: 'locale'},
		{name: 'titular'},
		{name: 'noticia'},
		{name: 'resumen'},
		{name: 'restoNoticia'}
		],
		baseParams: {
		    anio:this.anioCargado
		    }
		});
	}			
}



