/*
 * Punto de entrada a la aplicacion
 * componente tabsPrincipal
 */
Ext.onReady(function(){
	var tabPanel = new TabEfecto();
	tabPanel.iniciarTabs();
	tabPanel.iniciarComponentes();
	createMenu('idiomas');
});

/**
 * Componente Tabs
 */
function TabEfecto(){
	this.logado = logado;
	this.componenteCargado = constantsAdl("COMP_LICENCIAS");
    this.panel = new componentePanel(this);
    this.numeroObrasMusica = 0;
    //Componentes del Tab
    
    /**
     * Inicia los tabs del menu
     */
    this.iniciarTabs = function (){
    	// Si está logado cambiamos el texto del tab Mi cuenta
    	var tabActivo = Ext.get('pestanaAcceso');
    	var linkActivo = Ext.get('linkPestanaAcceso');
    	
    	if (this.logado == true){
    		tabActivo.update("<div></div><span>" + localize('miCuenta') + "</span>");
    		if (linkActivo)
    			linkActivo.dom.href = '../portal/TabMiCuenta.adl';
    	} else {
    		tabActivo.update("<div></div><span>" + localize('accesoClientes') + "</span>");
    		if (linkActivo)
    			linkActivo.dom.href= '../portal/acceso-compra-online-musica-royalty-free.adl';
    	}
    	
    	// Activamos el de música
    	var tabActivo = Ext.get('pestanaEfectos');
    	tabActivo.removeClass('tabDesactivado');
    	tabActivo.addClass('tabActivado');
		this.actualizaCamino(this.componenteCargado);  
    }

    /**
     * Inicia los componenetes de la manera adecuada
     */    
    this.iniciarComponentes = function (){
		this.loadCarrito();
		this.resumenCarrito();
  	    if(this.logado==true){
			saludarTiempo();
			this.panel.iniciar();
    	}
    	gridOfertas(this);
    }
	
	/**
	 *
	 */
	this.actualizaCamino = function(){
	    nodosEnlaces(localize("efectos"),"../portal/efectos-royalty-free-libres-de-derechos.adl",localize("ofertasEfectos"),"../portal/ofertas-efectos-royalty-free-libres-de-derechos.adl");
	}
	
	this.actualizaPanel = function(){
		this.panel = new componentePanel(this);
		this.panel.iniciar();
	}
	
	this.loadCarrito = function(){
		var elCarrito = Ext.get('carritoresumen');
		var padre = this;
		elCarrito.on('click',function(){
			if(padre.logado==true){
				document.location = '../portal/UsuariosMiCarrito.adl';
			}else{
				document.location = '../portal/AnonimoMiCarrito.adl';
			}
		})
	}
	
	this.resumenCarrito = function(){
		this.storeResumen = new Ext.data.JsonStore({
		    url: '../portal/json/ResumenCarrito.adl',
		    root: 'numeroObras',
		    fields:[],
		    baseParams: {}
		   	}
		);
		this.storeResumen.load();
		padre = this;
		this.storeResumen.on("load",function(){
			padre.numeroObrasMusica = this.reader.jsonData.numeroObras;
			Ext.get("numeroObrasCarrito").dom.firstChild.nodeValue = this.reader.jsonData.numeroObras;
		});
	}
	
	this.addCarrito = function(idComposicion,licenciaEfecto, capaCarrito){
		this.storeAddCarrito = new Ext.data.JsonStore({
		    url: '../portal/json/CarritoAdd.adl',
		    root: 'idComposicion',
		    fields:[],
		    baseParams: {
		    	idComposicion: idComposicion,
		    	licencia: licenciaEfecto,
		    	duracion:1
       			}
		   	}
		);
		var padre = this;
		this.storeAddCarrito.on("load", function () {
			if(this.reader.jsonData.error == ""){
				Ext.MessageBox.alert(localize("addlibrary"), localize("efectoAddCarrito"));
				padre.resumenCarrito();
				padre.actualizaPanel();
				capaCarrito.dom.firstChild.style.color = "#E4103E";
				capaCarrito.dom.getElementsByTagName("img")[0].src = '../img/carritoS.jpg';
			}else{
				Ext.MessageBox.alert(localize("addlibrary"), this.reader.jsonData.error);
			}
		});
		
		this.storeAddCarrito.load();
	}
	
	this.addMisSelecciones = function(idComposicion,licencia,duracion,titulo){
		this.storeAddCarrito = new Ext.data.JsonStore({
		    url: '../portal/json/MisSeleccionesAdd.adl',
		    root: 'idComposicion',
		    fields:[],
		    baseParams: {
		    	idComposicion: idComposicion,
		    	licencia: licencia,
		    	duracion: 1
       			}
		   	}
		);
		var padre = this;
		this.storeAddCarrito.on("load", function () {

		});
		
		this.storeAddCarrito.load();
	}
	
}
