var cal; 
		var selectedEvent = new Event();
		var events = new Array();
		var today = new Date();
		
	    	var months = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
	    
		

		function Event (id, name, type, date) {
			this.id = id;
			this.name = name;
			this.type = type;
			this.date = date;
            		this.prevs = true;
            		this.pdf = null;
           		this.webcast = null;
           		this.html = null;
            		this.excel = null;
        }

		function fetchError(o){
			alert("Error fetching events: " + o.statusText);
		}

		function fetchEvents(){

			var callback = { 
			  success: paintEvents,
			  failure: fetchError,
			  timeout: 5000	
			} 

			YAHOO.util.Connect.asyncRequest('GET', eventsXML, callback, null); 
		}

		function paintEvents(o){

			var _events = o.responseXML.getElementsByTagName("alerta");

			for(var i = 0; i < _events.length; i++){
				var _event = new Event();
				for(var j = 0; j < _events[i].childNodes.length; j++){
					var node = _events[i].childNodes[j];
					if (node.nodeName == "cod_alerta"){
						_event.id = node.firstChild.nodeValue;			
					} else if (node.nodeName == "des_alerta") {
						_event.name = node.firstChild.nodeValue;		
					} else if (node.nodeName == "xti_alerta") {
						_event.type = node.firstChild.nodeValue;
					} else if (node.nodeName == "fec_alerta") {
						_event.date = new Date(toISOString(node.firstChild.nodeValue));
                   			} else if (node.nodeName == "enlace_pdf") {
                        			if(node.firstChild){
                            				_event.pdf = node.firstChild.nodeValue;
                        			}
                    			} else if (node.nodeName == "enlace_webcast") {
			                        if(node.firstChild){
			                            _event.webcast = node.firstChild.nodeValue;
			                        }
                    			} else if (node.nodeName == "enlace_doc") {
                        			if(node.firstChild){
                            				_event.excel = node.firstChild.nodeValue;
                        			}
                    			} else if (node.nodeName == "enlace_otro") {
			                        if(node.firstChild){
			                            _event.html = node.firstChild.nodeValue;
			                        }
                    			}
                    	
                	}
				events[i] = _event;
				cal.addRenderer(stringDate(_event.date), paintEvent);
			}
			setNextEvent();
			cal.render();
		}
		
		function setNextEvent() {							
			for(var i = 0; i < events.length; i++){
					if ((events[i].date.getTime() + 86399999) > today.getTime()) {
                        events[i].prevs = false;
                        selectedEvent = events[i];
						showSelectedEvent();
						break;
					}
			}
		}
		
		function setSelectedEvent(e, _event){
			selectedEvent = _event;
			showSelectedEvent();
		}
		
		function toISOString(date_string){
				return date_string.substring(4,6) + "/" + date_string.substring(6,8) + "/" + date_string.substring(0,4);
		}

		function showEvent(e, _event){
			document.getElementById(eventsContainer).innerHTML = (_event.prevs ? "" : "<b>Próximo Evento</b><br>" ) + toSpanishString(_event.date) + "<br><span style='color:black;font-weight:normal;'>" + _event.name + "</span><br/>" +
                      (_event.prevs ? (_event.pdf == null ? "" : "<br/><div class='texto_descarga_tablas'>" + "<a href='" +  _event.pdf + "' target='_blank'>" + "<img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_pdf.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + _event.pdf + "' target='_blank' style='padding-top: 2px;'>PDF</a></div>") +
                      (_event.webcast == null ? "" : "<div class='texto_descarga_tablas'>" + "<a href='" + _event.webcast + "' target='_blank'>" + "<img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_webcast.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + _event.webcast + "' target='_blank' style='padding-top: 2px;'>Webcast</a></div></div>") +
                      (_event.excel == null ? "" : "<div class='texto_descarga_tablas'>" + "<a href='" + _event.excel + "'>" + "<img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_excel.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + _event.excel + "'style='padding-top: 2px;'>Excel</a></div>") +
                      (_event.html == null ? "" : "<div class='texto_descarga_tablas'>" + "<a href='" + _event.html + "' target='_blank'>" + "<img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_html.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + _event.html + "' target='_blank' style='padding-top: 2px;'>Html</a></div>")
                      
                      : "<div class='texto_descarga_tablas'><a href='#'>Crear alerta</a>&nbsp;<img ALIGN='absmiddle' src='/TLBB/mult/img/alerta.gif' width='13' height='13'/></div><br/>" +
                      (_event.pdf == null ? "" : "<div class='texto_descarga_tablas'>" + "<a href='" +  _event.pdf + "' target='_blank'>" + "<img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_pdf.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" +  _event.pdf + "' target='_blank' style='padding-top: 2px;'>PDF</a></div>") +
                      (_event.webcast == null ? "" : "<div class='texto_descarga_tablas'>" + "<a href='" + _event.webcast + "' target='_blank'>" + "<img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_webcast.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + _event.webcast + "' target='_blank' style='padding-top: 2px;'>Webcast</a></div>") +
                      (_event.excel == null ? "" : "<div class='texto_descarga_tablas'>" + "<a href='" + _event.excel + "'>" + "<img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_excel.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + _event.excel + "' style='padding-top: 2px;'>Excel</a></div>") +
                      (_event.html == null ? "" : "<div class='texto_descarga_tablas'>" + "<a href='" + _event.html + "' target='_blank'>" + "<img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_html.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + _event.html + "' target='_blank' style='padding-top: 2px;'>Html</a></div>"));
                      

                      //"<div class='texto_descarga_tablas'><img src='/TLBB/mult/img/guion.gif' width='11' height='11' />&nbsp;<a href='" + selectedEvent.pdf + "'><img src='/TLBB/mult/img/icono_pdf.gif' width='13' height='13' border='0' /></a> </div>";
                      
                        (_event.prevs ? "" : "<div class='texto_descarga_tablas'><a href='/TLBB/tlbb/jsp/rie/Calendario/iframealertas.jsp?op=alertaPuntual&sCodAlerta=" + _event.id + "'>Crear alerta</a>&nbsp;<img ALIGN='middle' src='/TLBB/mult/img/alerta.gif' width='13' height='13'/></div>");
		}
                                                                    

        function showSelectedEvent(e){                                            
               if (selectedEvent.id != undefined) {                                                                    
                	document.getElementById(eventsContainer).innerHTML = (selectedEvent.prevs ? "" : "<b>Próximo Evento</b><br>" ) + toSpanishString(selectedEvent.date) + "<br><span style='color:black;font-weight:normal;'>" + selectedEvent.name + "</span><br/>" +
                      (selectedEvent.prevs ? (selectedEvent.pdf == null ? "" : "<div class='texto_descarga_tablas'><br/><a href='" +  selectedEvent.pdf + "' target='_blank'><img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_pdf.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + selectedEvent.pdf + "' target='_blank' style='padding-top: 2px;'>PDF</a></div>") +
                      (selectedEvent.webcast == null ? "" : " <div class='texto_descarga_tablas'><a href='" + selectedEvent.webcast + "' target='_blank'><img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_webcast.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + selectedEvent.webcast + "' target='_blank' style='padding-top: 2px;'>Webcast</a></div>") +
                      (selectedEvent.excel == null ? "" : " <div class='texto_descarga_tablas'><a href='" + selectedEvent.excel + "'><img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_excel.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + selectedEvent.excel + "' style='padding-top: 2px;'>Excel</a></div>") +
                      (selectedEvent.html == null ? "" : " <div class='texto_descarga_tablas'><a href='" + selectedEvent.html + "' target='_blank'><img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_html.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + selectedEvent.html + "' target='_blank' style='padding-top: 2px;'>Html</a></div>") 
                      
                       : "<div class='texto_descarga_tablas'><a href='/TLBB/tlbb/jsp/rie/Calendario/iframealertas.jsp?op=alertaPuntual&sCodAlerta=" + selectedEvent.id +"'>Crear alerta</a>&nbsp;<img ALIGN='middle' src='/TLBB/mult/img/alerta.gif' alt='guion' width='13' height='13'/></div>"+
                      (selectedEvent.pdf == null ? "" : "<div class='texto_descarga_tablas'><br/><a href='" + selectedEvent.pdf + "' target='_blank'><img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_pdf.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + selectedEvent.pdf + "' target='_blank' style='padding-top: 2px;'>PDF</a></div>") +
                      (selectedEvent.webcast == null ? "" : " <div class='texto_descarga_tablas'><a href='" + selectedEvent.webcast + "' target='_blank'><img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_webcast.gif' width='14' height='14' border='0'style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + selectedEvent.webcast + "' target='_blank' style='padding-top: 2px;'>Webcast</a></div>") +
                      (selectedEvent.excel == null ? "" : " <div class='texto_descarga_tablas'><a href='" +  selectedEvent.excel + "'><img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_excel.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + selectedEvent.excel + "' style='padding-top: 2px;'>Excel</a></div>") +
                      (selectedEvent.html == null ? "" : " <div class='texto_descarga_tablas'><a href='" + selectedEvent.html + "' target='_blank'><img ALIGN='absmiddle' src='/TLBB/mult/img/calendario_html.gif' width='14' height='14' border='0' style='padding-top: 2px;'/></a> &nbsp;&nbsp;&nbsp; <a href='" + selectedEvent.html + "' target='_blank' style='padding-top: 2px;'>Html</a></div>"));

                     	(selectedEvent.prevs ? "" : "<div class='texto_descarga_tablas'><a href='/TLBB/tlbb/jsp/rie/Calendario/iframealertas.jsp?op=alertaPuntual&sCodAlerta=" + selectedEvent.id +"'>Crear alerta</a>&nbsp;<img ALIGN='middle' src='/TLBB/mult/img/alerta.gif' alt='guion' width='13' height='13'/></div>");
               }
        }
        

        function paintEvent(date, cell){                                                                   
			for(var i = 0; i < events.length; i++){
				if(events[i].date.getTime() == date.getTime()){
                    YAHOO.util.Event.purgeElement(cell);
                    YAHOO.util.Event.addListener(cell, "click", setSelectedEvent, events[i]);
					YAHOO.util.Event.addListener(cell, "click", cal.doSelectCell, cal);
					YAHOO.util.Event.addListener(cell, "mouseover", cal.doCellMouseOver, cal);
					YAHOO.util.Event.addListener(cell, "mouseover", showEvent, events[i]);
					YAHOO.util.Event.addListener(cell, "mouseout", showSelectedEvent);
					YAHOO.util.Event.addListener(cell, "mouseout", cal.doCellMouseOut, cal);
					if ((events[i].date.getTime() + 86399999) < today.getTime()) {
                            YAHOO.util.Dom.replaceClass(cell, "weekend", "previous-alerts");
					} else {
                            events[i].prevs = false;     
                            YAHOO.util.Dom.replaceClass(cell, "weekend", "next-alerts");
                    }
				}                                                                                    
			}
		}
		
		function toSpanishString(date) {
			return date.getDate() + " " + months[date.getMonth()] + " " + date.getFullYear();
		}
	
		function spanishSetup(){
			this.Config.Locale.MONTHS_SHORT = ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"];
			this.Config.Locale.MONTHS_LONG = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
			this.Config.Locale.WEEKDAYS_1CHAR = ["D", "L", "M", "M", "J", "V", "S"];
			this.Config.Locale.WEEKDAYS_SHORT = ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"];
			this.Config.Locale.WEEKDAYS_MEDIUM = ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"];
			this.Config.Locale.WEEKDAYS_LONG = ["Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado"];
	    	this.Config.Options.START_WEEKDAY = 1;
	    	this.Config.Options.HIDE_BLANK_WEEKS = true;
	    	this.Config.Options.SHOW_WEEKDAYS = false;
		}

        function englishSetup(){
	    	this.Config.Options.START_WEEKDAY = 1;
	    	this.Config.Options.HIDE_BLANK_WEEKS = true;
	    	this.Config.Options.SHOW_WEEKDAYS = false;
		}

		var eventsContainer;
		var eventsXML;

		function calInit(_calContainer, _eventsContainer, _xml) { 
		   eventsContainer = _eventsContainer;	
		   eventsXML = _xml;
					
		   cal = new YAHOO.widget.Calendar("cal",_calContainer);
            cal.addWeekdayRenderer(1, weekendRenderer);
            cal.addWeekdayRenderer(7, weekendRenderer);                  
           
            //Idioma
            //cal.customConfig = spanishSetup;
	    
	    	cal.customConfig = spanishSetup;
	    
           
           
            cal.setupConfig();
            cal.render();
            fetchEvents();
		}
                                                     

		function weekendRenderer(date, cell) {
            YAHOO.util.Dom.addClass(cell, "weekend");
        }

        function stringDate(date) {
			return ((date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear());
		}
