// FUNCIONES DE LA AGENDA

// Función que cambia el texto de un elemento mediante innerTHML
function cambiar_texto(item,nuevo_texto){
	if (document.all){
		document.all[item].innerHTML=nuevo_texto;		
	}else{
		document.getElementById(item).innerHTML=nuevo_texto;			
	}//else
}//cambiar_texto

// Función que cambia el class de un elemento mediante className
function cambiar_class(item,clase){
	if (document.all){
		document.all[item].className=clase;		
	}else{
		document.getElementById(item).className=clase;			
	}//else
}//cambiar_class

// Función que cambia el href de un elemento mediante href
function cambiar_href(item,url){
	if (document.all){
		document.all[item].href=url;		
	}else{
		document.getElementById(item).href=url;			
	}//else
}//cambiar_href

/* Función de funcionamiento del selector de dias de la agenda
   Tiene en cuenta las variables globales:  total_dias, visibles_dias, actual, elementos_texto, elementos_enlace, dias_eventos
*/
function selector_agenda(tipo_desplazamiento,pagina_destino,mes,anyo,pagina_eventos){
    var elemento;
	var contador,contador2;
	var texto_elemento;
	var mes_ant;
	var anyo_ant;
	var encontrado;
	switch(tipo_desplazamiento){
		case "retroceder":
			if (actual > visibles_dias){
				actual--;
				elemento=actual-visibles_dias+1;
				for (contador=1;contador<=visibles_dias;contador++){
					if (elemento < 10) texto_elemento="0" + elemento;
					else texto_elemento=elemento;
					cambiar_texto(elementos_texto[contador-1],texto_elemento);					
					// Fín de semana
					fecha=new Date(anyo,mes-1,elemento); 
					if (fecha.getDay()==0 || fecha.getDay()==6) cambiar_class(elementos_enlace[contador-1],"weekend");
					else cambiar_class(elementos_enlace[contador-1],"dummy");
					// Dia de evento
					encontrado=false;
					for (contador2=0;contador2<dias_eventos.length;contador2++){
						if (elemento == dias_eventos[contador2]){
							cambiar_class(elementos_enlace[contador-1],"feriado");
							cambiar_href(elementos_enlace[contador-1],pagina_eventos + "?dia=" + elemento + "&mes=" + mes + "&anyo=" + anyo);
							encontrado=true;
							break;
						}//if
					}//for
					if (!encontrado) cambiar_href(elementos_enlace[contador-1],pagina_eventos + "?dia=" + elemento + "&mes=" + mes + "&anyo=" + anyo);
					elemento++;
				}//for
			}else{
				mes_ant=mes;
				anyo_ant=anyo;
				if (mes > 1) mes--;
				else{
					mes=12;
					anyo--;
				}//else
				window.location.href=pagina_destino + "?mes=" + mes + "&anyo=" + anyo + "&mes_ant=" + mes_ant + "&anyo_ant=" + anyo_ant;
			}//else			
			break;
		case "avanzar":
			if (actual < total_dias){
				actual++;
				elemento=actual-visibles_dias+1;
				for (contador=1;contador<=visibles_dias;contador++){
					if (elemento < 10) texto_elemento="0" + elemento;
					else texto_elemento=elemento;
					cambiar_texto(elementos_texto[contador-1],texto_elemento);
					// Fín de semana
					fecha=new Date(anyo,mes-1,elemento); 
					if (fecha.getDay()==0 || fecha.getDay()==6) cambiar_class(elementos_enlace[contador-1],"weekend");
					else cambiar_class(elementos_enlace[contador-1],"dummy");
					// Día de evento
					encontrado=false;
					for (contador2=0;contador2<dias_eventos.length;contador2++){
						if (elemento == dias_eventos[contador2]){
							cambiar_class(elementos_enlace[contador-1],"feriado");
							cambiar_href(elementos_enlace[contador-1],pagina_eventos + "?dia=" + elemento + "&mes=" + mes + "&anyo=" + anyo);
							encontrado=true;
							break;
						}//if
					}//for
					if (!encontrado) cambiar_href(elementos_enlace[contador-1],pagina_eventos + "?dia=" + elemento + "&mes=" + mes + "&anyo=" + anyo);
					elemento++;
				}//for
			}else{
				mes_ant=mes;
				anyo_ant=anyo;
				if (mes < 12) mes++;
				else{
					mes=1;
					anyo++;
				}//else
				window.location.href=pagina_destino + "?mes=" + mes + "&anyo=" + anyo + "&mes_ant=" + mes_ant + "&anyo_ant=" + anyo_ant;
			}//else
	}//switch
}//selector_agenda
