var getCalendario = null;
var xmlCalendario = null;
var getEventos = null;
var xmlEventos = null;
var CualMes=0;

function CrearCalendario(QueMes){

	if (window.XMLHttpRequest){
		getCalendario=new XMLHttpRequest()
	}else if (window.ActiveXObject){
		getCalendario=new ActiveXObject("Microsoft.XMLHTTP")
	}
	if (getCalendario){
		var url="calendario.xml";
		CualMes=QueMes;
		getCalendario.onreadystatechange=CambioDeEstado;
		getCalendario.open("GET",url,true);
		getCalendario.send(null);
		
	}else{
		alert ("Tu explorador no soporta XMLHttpRequest");
	}
}

function CambioDeEstado(){
	if (getCalendario.readyState == 4){
		xmlCalendario = getCalendario.responseXML;
		xmlCalendario = xmlCalendario.getElementsByTagName('cita');
		setCal(CualMes);
	} 
} 

function bisiesto(Anio) {
	if (Anio % 4 == 0)
	return true
	return false
}

function diasPorMes(mes, Anio) {
var meses = new Array(12)
meses[1] = 31; // Enero
meses[2] = (((Anio % 4 == 0) && (Anio % 100 != 0)) || (Anio % 400 == 0)) ? 29 : 28
meses[3] = 31 // Marzo
meses[4] = 30 // Abril
meses[5] = 31 // Mayo
meses[6] = 30 // Junio
meses[7] = 31 // Julio
meses[8] = 31 // Agosto
meses[9] = 30 // Septiembre
meses[10] = 31 // Octubre
meses[11] = 30 // Noviembre
meses[12] = 31 // Diciembre
return meses[mes]
}

function getNombreDelMes(mes) {
var meses = new Array(12)
meses[1] = "Enero"
meses[2] = "Febrero"
meses[3] = "Marzo"
meses[4] = "Abril"
meses[5] = "Mayo"
meses[6] = "Junio"
meses[7] = "Julio"
meses[8] = "Agosto"
meses[9] = "Septiembre"
meses[10] = "Octubre"
meses[11] = "Noviembre"
meses[12] = "Diciembre"
return meses[mes]
}

function setCal(QueMes) {

	var now = new Date()
	var anio = now.getYear()
	if (anio < 1000) {anio+=1900}
	var mes = now.getMonth()+QueMes
	if (now.getMonth()+QueMes > 11) {mes-=12;anio++}
	if (now.getMonth()+QueMes < 0) {mes+=12;anio--}
	//
	if (mes > 11) {mes-=12;anio++}
	if (mes< 0) {mes+=12;anio--}
	//
	
	var fecha = now.getDate()
	var primerDia = new Date(anio, mes, 1)
	var primerDia2 = primerDia.getDay()
	if(primerDia2 == 0){primerDia2=6;}
        else{primerDia2--;}
	primerDia = null
	var dias = diasPorMes(mes+1, anio)
	
	drawCal(primerDia2 + 1, dias, fecha, mes+1, anio)
}


function drawCal(firstDay, lastDate, date, Mes, Anio) {
var now = new Date()
var codigo = ""
var codigo2= "";

var now = new Date()
var xanio = now.getYear()
if (xanio < 1000) {xanio+=1900}

var xmes = now.getMonth()+1;
var xdia = now.getDate();


codigo += '<table class="tabla">'
codigo += '<tr><td class="encabezado" colspan="1">'
codigo += '<a href="javascript:CrearCalendario(--MesSeleccionado)"><<</a>'
codigo += '</td>'
codigo += '<td class="encabezado" colspan="5">'
codigo += getNombreDelMes(Mes) +' ' +Anio
codigo += '</td>'
codigo += '<td class="encabezado" colspan="1">'
codigo += '<a href="javascript:CrearCalendario(++MesSeleccionado)">>></a>'
codigo += '</td></tr>'

var diasSemana = new Array(7)
diasSemana[7] = "<acronym title=\"Domingo\">D</acronym>"
diasSemana[1] = "<acronym title=\"Lunes\">L</acronym>"
diasSemana[2] = "<acronym title=\"Martes\">M</acronym>"
diasSemana[3] = "<acronym title=\"Miercoles\">X</acronym>"
diasSemana[4] = "<acronym title=\"Jueves\">J</acronym>"
diasSemana[5] = "<acronym title=\"Viernes\">V</acronym>"
diasSemana[6] = "<acronym title=\"Sabado\">S</acronym>"

var categoria= "" 

codigo += '<tr>'
for (var dayNum = 1; dayNum < 8; ++dayNum) {
	if(dayNum == 6 || dayNum == 7)
		codigo += '<td class="celdaDiaSemanaFinde">' + diasSemana[dayNum] + '</td>' 
	else
		codigo += '<td class="celdaDiaSemana">' + diasSemana[dayNum] + '</td>' 
}
codigo += '</tr>'

var cDia = 1
var curCell = 1

//Recorre todos los dias
for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
	
	codigo += '<tr>'

	for (var col = 1; col <= 7; ++col) {
		
		if (cDia > lastDate)
			break
	
		if (curCell < firstDay) {
			codigo += '<td class="normal">&nbsp;</td>';
			curCell++
		} else {
			
		var textoCelda = cDia;
		var textoTd = '<td class="celda">'
		
		if(col==6 || col == 7){
			var textoTd = '<td class="finde">'
		}
		
		if (cDia == date && Mes == now.getMonth()+1) {
			textoTd = '<td class="hoy">'
			
			if(col==6 || col == 7){
				var textoTd = '<td class="hoyfinde">'
			}
		}
	
		for (i=0;i<xmlCalendario.length;i++){
			var fecha = xmlCalendario[i].getAttribute('fecha');
		
			//Comprueba si existe una cita
			var auxfecha = fecha.split("/");
			fecha = parseInt(auxfecha[0])+ "/" + parseInt(auxfecha[1]) + "/" + auxfecha[2];
			
			if (fecha == cDia+ "/" + Mes + "/" + Anio){
		
				var titulo = xmlCalendario[i].getAttribute('titulo');
				var cat = xmlCalendario[i].getAttribute('categoria');
				var id = xmlCalendario[i].getAttribute('id');
			
				textoCelda = '<span class="puntero" onclick="eventosDia('+cDia+ "," + Mes + "," + Anio+')" class="diacita"  title="'+cat+": "+titulo+'">' + cDia + '</span>';
				textoTd = '<td class="celdacita">'
			}
		}

		codigo += textoTd + textoCelda + '</td>'
		cDia++
		}
	}

	codigo += '</tr>'

}

codigo += '</table>'
var ev=0;

for (i=0;i<xmlCalendario.length;i++){
	
	var fecha = xmlCalendario[i].getAttribute('fecha');
	
    if(mayor(fecha,xdia+ "/" + xmes + "/" + xanio) && ev<2){
		ev++;
		var titulo = xmlCalendario[i].getAttribute('titulo');
		var cat = xmlCalendario[i].getAttribute('categoria');
		var id = xmlCalendario[i].getAttribute('id');
		yfecha=fecha.split("/");
		var xMes=getNombreDelMes(yfecha[1]);
		var xDia=yfecha[0];
		var xAnio=yfecha[2];
		
		codigo2 +=  '<div class="txtRojo" style="margin-top: 5px;">'+fecha+'</div>';
		
		switch(cat)
		{
			case "Curso":
				codigo2 += cat+': <a href="formacion-detalle.php?id='+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
				break;
			case "Reunión":
				codigo2 += cat+': <a href="comisiones.php" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
				break;
			case "Actividad":
				codigo2 += cat+': <a href="actividad-detalle.php?id='+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
				break;
		}
		
	}
}
	
	
document.getElementById("boxcalendario").innerHTML=codigo;
document.getElementById("eventos").innerHTML=codigo2;
}



function mayor(fecha, fecha2){
xfecha=fecha.split("/");
yfecha=fecha2.split("/");

var xMes=parseInt(xfecha[1]);
var xDia=parseInt(xfecha[0]);
var xAnio=parseInt(xfecha[2]);


var yMes=parseInt(yfecha[1]);
var yDia=parseInt(yfecha[0]);
var yAnio=parseInt(yfecha[2]);
if (xAnio > yAnio){
	return(true);
}else{
	if (xAnio == yAnio){
		if (xMes > yMes){
      		return(true);
		}
 		if (xMes == yMes){
			if (xDia > yDia ||  xDia == yDia){
				return(true);
			}else{
				return(false);
			}
		}else{
			return(false);
		}
	}else{
		return(false);
	}
}
}

function eventosDia(xdia,xmes,xanio){

var categoria= "" 

var codigo2= ""
for (i=0;i<xmlCalendario.length;i++){
	var fecha = xmlCalendario[i].getAttribute('fecha');
	
	var auxfecha = fecha.split("/");
	fecha = parseInt(auxfecha[0])+ "/" + parseInt(auxfecha[1]) + "/" + auxfecha[2];

if(fecha==xdia+ "/" + xmes + "/" + xanio) {
	
		var titulo = xmlCalendario[i].getAttribute('titulo');
		var cat = xmlCalendario[i].getAttribute('categoria');
		var id = xmlCalendario[i].getAttribute('id');
		
		
		
		codigo2 +=  '<div class="txtRojo" style="margin-top: 10px;">'+fecha+'</div>';
		
		switch(cat)
		{
		case "Curso":
			codigo2 += cat + ': <a href="formacion-detalle.php?id='+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
			break;		
		case "Reunión":
			codigo2 += cat + ': <a href="comisiones.php" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
			break;
		case "Actividad":
			codigo2 += cat + ': <a href="actividad-detalle.php?id='+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
			break;
		}
	
	}
	}
	
document.getElementById("eventos").innerHTML=codigo2;

}
