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 += '<img src="img/flechaRojaVolver.gif" onclick="CrearCalendario(--MesSeleccionado)" style="cursor:pointer"/>'
codigo += '</td>'
codigo += '<td class="encabezado" colspan="5">'
codigo += getNombreDelMes(Mes) +' ' +Anio
codigo += '</td>'
codigo += '<td class="encabezado" colspan="1">'
codigo += '<img src="img/flechaRoja.gif" onclick="CrearCalendario(++MesSeleccionado)" style="cursor:pointer"/>'
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\">M</acronym>"
diasSemana[4] = "<acronym title=\"Jueves\">J</acronym>"
diasSemana[5] = "<acronym title=\"Viernes\">V</acronym>"
diasSemana[6] = "<acronym title=\"Sabado\">S</acronym>"

var categoria= new Array() 
categoria[1] = "Congreso"
categoria[2] = "Ciclo de pel&iacute;culas" 
categoria[3] = "Exposiciones temporales" 
categoria[4] = "Seminario"
categoria[5] = "Actividad divulgativa"
codigo += '<tr>'
for (var dayNum = 1; dayNum < 8; ++dayNum) {
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></td>';
curCell++
} else {
var textoCelda = cDia;
var textoTd = '<td class="celda">'


for (i=0;i<xmlCalendario.length;i++){
	var fecha = xmlCalendario[i].getAttribute('fecha');
	
	//Comprueba si existe una cita
	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="'+categoria[cat]+": "+titulo+'">' + cDia + '</span>';
		textoTd = '<td class="celdacita">'

		
	}
	
	
	
	
}

if (cDia == date && Mes == now.getMonth()+1) {
textoTd = '<td class="hoy">'
}

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<3){
		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: 12px;">'+categoria[cat]+'</div>';
		
		switch(cat)
		{
		case "1":
		codigo2 += '<a href="congresos.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		break;
		case "2":
		codigo2 += '<a href="peliculas.php#'+id+'" class="txtNegro" style="text-decoration:none; text-transform:uppercase;">' +  xmlCalendario[i].getAttribute('ciclo') + '</a><br />';
		codigo2 += '<a href="peliculas.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		break;
		case "3":
		codigo2 += '<a href="temporales.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		break;
		case "4":
		codigo2 += '<a href="seminarios.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		break;
		case "5":
		codigo2 += '<a href="conferencias.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		break;
		}
		codigo2 += '<span class="txtNormal ">'+xDia+' de '+xMes+'</span> <BR/>'
		
	}
	}
	
	
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= new Array() 
categoria[1] = "Congreso"
categoria[2] = "Ciclo de pel&iacute;culas" 
categoria[3] = "Exposiciones temporales" 
categoria[4] = "Seminario"
categoria[5] = "Actividad divulgativa"
var codigo2= ""
for (i=0;i<xmlCalendario.length;i++){
	var fecha = xmlCalendario[i].getAttribute('fecha');

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;">'+categoria[cat]+'</div>';
		
		switch(cat)
		{
		case "1":
		codigo2 += '<a href="congresos.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		break;		
		case "2":
		codigo2 += '<a href="peliculas.php#'+id+'" class="txtNegro" style="text-decoration:none; text-transform:uppercase;">' +  xmlCalendario[i].getAttribute('ciclo') + '</a><br />';
		codigo2 += '<a href="peliculas.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		break;
		case "3":
		codigo2 += '<a href="temporales.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		break;
		case "4":
		codigo2 += '<a href="seminarios.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		 codigo2 += '<a href="seminarios.php#'+id+'" class="txtNegro"  style="text-decoration:none; font-weight:normal;">' +  xmlCalendario[i].getAttribute('ponente') +  '</a><br />';
		break;
		case "5":
		codigo2 += '<a href="conferencias.php#'+id+'" class="txtNegro" style="text-decoration:none">' + titulo + '</a><br />';
		break;
		}
		codigo2 += '<span class="txtNormal ">'+xdia+' de '+getNombreDelMes(xmes)+'</span> <BR/>'
	
	}
	}
	
document.getElementById("eventos").innerHTML=codigo2;

}
