/** Archivo: eventos.js (iced_theme) **/


function cambiarEvento(){
	
var indice = document.frmEvento.cambiarFecha.selectedIndex 	
var fechaEscogida = document.frmEvento.cambiarFecha.options[indice].value; 
document.location = fechaEscogida;
} 


/** Archivo: semanal.js (iced_theme) **/

Ext.ux.displayEvents = Ext.extend(Ext.util.Observable, {	
	arrDaysWeek:[],
	dayNow:0,
	fDay:'',
	lDay:'',
	jsonEvents:{},//datos		
	dataEvent:[],//guarda temporalmente el evento seleccionado para mostrarlo en template
	wDivDays:0,//width de div que contendra a los dias de la semana
	divSemana:'',
	divEventos:'',
	divInfo:'',
	hDivEvents:'',
	wDivEvents:'',	
	divEventosRestore : 200,			
	constructor :function(elE, config){
	   	config = config || {};
        Ext.apply(this, config);
		//console.log(config.arrDaysWeek);
        //arr de dias de la semana
        var arrDiax = [];
        var arrDiaxNames = config.arrDaysWeek;
        for(var d = 0; d < arrDiaxNames.length; d++){
        	arrDiax[d] = arrDiaxNames[d].charAt(0);
        }        
        
        //divs principales
        this.divContentEventos =  Ext.get('evSem-contenedor');
        this.divSemana =  Ext.get('evSem-semana');
        this.divEventos =  Ext.get('evSem-eventos');
        this.divEventosRestore = this.divEventos.getHeight();
        this.divInfo =  Ext.get('evSem-info');
        
        
        //configuracion de div dias
        this.wDivDays = Math.floor(Ext.get('evSem-semana').getWidth() / 7);
        this.hDivDays = Ext.get('evSem-semana').getHeight();

        //configuracion de div eventos
        this.hDivEvents =   this.divEventos.getHeight();      
        this.wDivEvents =   this.divEventos.getWidth();      	        
		this.divLstEvents = this.divEventos.createChild({tag:'div', cls : 'evSem_lista_eventos'});
		this.divLstEvents.setHeight(this.hDivEvents);
		this.divLstEvents.setWidth(this.wDivEvents);
		
		//arma divs de dias de la semana	        
        for(var t = 0; t <= 6; t++){	        	
        	this.divSemana.createChild({
				tag: 'div',
				id:"dia"+t,
				cls: 'evSem_dias',		
				html: '<a id="diax'+ this.jsonEvents.data[t].hoy+'" href="javascript:void(0)" title="'+arrDiaxNames[t] +' '+ this.jsonEvents.data[t].dia+'" onclick="objEventWeek.loadEvents('+t+')"><div style="cursor:pointer;width:'+this.wDivDays+'px;height:'+this.hDivDays+'px;"><div class="evSem_texto_dias pie">'+arrDiax[t]+'</div></div></div>'
			});					        		        	
        }

        Ext.ux.displayEvents.superclass.constructor.call(this, config);
        this._init();
	},
	_init : function(){
					
		Ext.get(this.divSemana.select("a#diax1").elements[0].id).parent('div').addClass("evSem_selected");
		var aPos = Ext.get(this.divSemana.select("a#diax1").elements[0].id).parent('div').id;
		aPos = aPos.split('dia');			
		var p = aPos[1];
		this.loadEvents(p);				
	},		
	loadEvents : function(pos){ //carga template de eventos (lista)
					
		Ext.get(this.divSemana.select("div#dia"+pos)).radioClass("evSem_selected");
		this.divEventos.slideIn('r',{ 
			easing: 'easeOut',
		    duration: .4
		});
		this.templateEventos(this.jsonEvents.data[pos], pos);	
		this.hiddenEventoInfo();					
	},
	templateEventos : function(dEv, po){			
		
		this.events = new Ext.XTemplate(
			'<tpl if="this.existEvents(e)">'
				,'<tpl for="eventos">'      			
      				,'<div class="evSem_eventos" style="cursor:pointer;" onclick="objEventWeek.loadInfoEvent({id},'+po+')">'
      					,'<div class="evSem_eventos_hr" style="float:left;">{hr_inicio}</div>' 
      					,'<div style="padding-left:65px;">'     			
	      					,'<div class="evSem_eventos_titulo">{titulo}</div>'      			
	      					,'<div class="evSem_eventos_lugar">{lugar}</div>'   
  						,'</div>'      			
  					,'</div>'      			
      			,'</tpl>'
      		,'</tpl>'
      		,'<tpl if="!this.existEvents(e)">'					     			
  				,'<div class="evSem_eventos evSem_eventos_lugar">' + objEventMensajeSinEventos + '</div>'      				      			
      		,'</tpl>'
      		,{
      			existEvents : function(e){
      				return (e == 1)? true : false;	      				
      			}		      		
      		}
  		);
  		var eE = (dEv.eventos)? 1 : 0;      		
  		this.events.overwrite(this.divEventos,{eventos:dEv.eventos,h:this.hDivEvents,e:eE});
		
	},
	loadInfoEvent : function(id, p){			//muestra informacion del evento seleccionado
		var sEv = objEventWeek.jsonEvents.data[p];
					
		for(var s = 0; s <= sEv.eventos.length; s++){
			if(sEv.eventos[s].id == id){
				this.dataEvent = sEv.eventos[s];
				objEventWeek.templateInfo(sEv.eventos[s]);										
				this.visibleEventoInfo();
				break;
			}
		}					
	},
	templateInfo : function(dataInfo){			
		this.infoEvent = new Ext.XTemplate(	
			//,'<div style="width:100%;height:10px;text-align:right;background:#fff" onclick="objEventWeek.ocultaEventoInfo();"></div>'			  			
			'<div class="evSem_info_titulo" onclick="window.location = GLOBAL_PATH + GLOBAL_IDIOMA + \'/eventos/{nombre}\'" style="cursor:pointer;"><div style="padding:4px 18px">{titulo}</div></div>'      				
			,'<div class="evSem_info_img">'
				,'<div style="cursor:pointer;font-size: 12px; display: table-cell; vertical-align: middle; text-align: center; height: 110px; width: 277px;" onclick="window.location = GLOBAL_PATH + GLOBAL_IDIOMA + \'/eventos/{nombre}\'">'
					,'<img class="evSem_imagen" src="{imagen}" />'
				,'</div>'
			,'</div>'
			,'<div style="float:left;width:100%;">'
				,'<div class="evSem_info_entrada">{costo}</div>'
				,'<div class="evSem_info_fecha">{fecha}</div>'
			,'</div>'	
				      					      		
  		);      		    	
  		this.infoEvent.overwrite(this.divInfo,dataInfo);
  		this.divInfo.fadeIn({
		    endOpacity: 1, 
		    easing: 'easeOut',
		    duration: .5
		});
	},
	hiddenEventoInfo : function(){				
		this.divEventos.setHeight(this.divEventosRestore, {duration : .5});
		this.divInfo.fadeOut({
		    endOpacity: 0, 
		    easing: 'easeOut',
		    duration: .5,
		    remove: false,
		});
	},
	visibleEventoInfo : function(){	
		this.divEventos.setHeight(this.divContentEventos.getHeight() - (this.divInfo.getHeight()+40), {duration : .5});		
	}
});

/** Archivo: por_mes.js (default_theme) **/

Ext.ux.Efemerides = Ext.extend(Ext.util.Observable, {
	mes:0,
	dia:0,
	arrEfemerides:[],
	tpl: new Ext.XTemplate(
			'<tpl for="data">',
			'<div >',
			'<div class="efe-dia">',
			'{dia}',
			'</div>',
			'<div class="efe-efe" style="width:{w}px;">',
			'<tpl for="data">',
			'<div>',
			'{efemeride}',
			'</div>',
			'<div class="efe-footer">',
			'{footer}',
			'</div>',
			'</tpl>',
			'</div>',
			'</div>',
			'</tpl>'
			),
	meses: new Array(),
	prev:0,
	next:0,
	nf:'',
	constructor: function(el,config){
		config = config || {};
        Ext.apply(this, config);
        Ext.ux.Efemerides.superclass.constructor.call(this, config);
        this.el = Ext.get(el);
        
       this.width =  Ext.get('divEfemerides').getWidth();
       this.content_width = this.width-25;
       Ext.get('divEfeContent').setWidth(this.content_width);
       this.efe_width =  this.content_width -110;
	},
	setJson: function(arrEfe, arrMeses){
		this.arrEfemerides = arrEfe;
		this.meses = arrMeses;
		this.createMonth(this.mes);
	},
	createMonth: function(mes){
		var arrResult = [];
		Ext.get('divEfeMes').dom.innerHTML = this.meses[mes];
		if(typeof(this.arrEfemerides[mes]) !== 'undefined'){
			for(var x in this.arrEfemerides[mes]){
				if(x > 0){
					var result = {};
					result.dia = x;
					result.w = this.efe_width;
					result.data = [];
					for(var y in this.arrEfemerides[mes][x]){
						result.data.push({
							efemeride : this.arrEfemerides[mes][x][y][0].efemeride,
							footer : this.arrEfemerides[mes][x][y][0].footer
						});
					}
					
					arrResult.push(result);
				}
			}
			this.el.stopFx();
			this.el.fadeIn();
			Ext.get('divEfeMes').stopFx();
			Ext.get('divEfeMes').fadeIn();
		 	this.tpl.overwrite(this.el, {data:arrResult});
		}else{
			this.el.stopFx();
			this.el.fadeIn();
			Ext.get('divEfeMes').stopFx();
			Ext.get('divEfeMes').fadeIn();
			Ext.get('divEfeContent').dom.innerHTML = '<div class ="efe-no">'+this.nf+'</div>';
		}
	},
	prevMonth: function(){
		this.mes = this.mes - 1;
		if(this.mes == 0)
			this.mes = 12;
		this.createMonth(this.mes);
	},
	nextMonth: function(){
		this.mes = this.mes + 1;
		if(this.mes == 13)
			this.mes = 1;
		this.createMonth(this.mes);
	}
});


