	function createXMLHttpRequest() {
 
		var ua;
 
		if(window.XMLHttpRequest) {
			try {
				ua = new XMLHttpRequest();
			} catch(e) {
				ua = false;
			}
		} else if(window.ActiveXObject) {
			try {
				ua = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				ua = false;
			}
		}
		return ua;
	}


	function handleResponseAJAX() {
		if(req.readyState != 4){ return; }

		var response = req.responseText;
		var update = new Array();

		if (response.indexOf('||') != -1)
		{
			update = response.split('||');

			if ((update.length & 1) == 0)
			{
				for (i=0;i<update.length;i+=2)
				{
					if ((ns6)||(ie4))
					{
						document.getElementById(update[i]).innerHTML = update[i+1];
					}else{
						document.layers[update[i]].document.open();
							document.layers[update[i]].document.write(update[i+1]);
						document.layers[update[i]].document.close();
					}
				}
			}
		}
 	}

	var fecha = new Date();
	var req = createXMLHttpRequest();
	var ns4=document.layers;
	var ie4=document.all;
	var ns6=document.getElementById&&!document.all;
	var seleccionado=false;

	function actualizarCalendario(mes,anyo,seccion) {
		req.open('get', '/comunes/calendario.php?mes=' + mes +'&anyo='+anyo+'&seccion='+seccion);
		req.onreadystatechange = handleResponseAJAX;
		req.send(null);
		seleccionado=false;
	}

	function actualizarFecha(dia,mes,anyo,seccion)
	{
		req.open('get', '/comunes/calendario.php?modo=eventos&dia='+ dia +'&mes=' + mes +'&anyo='+anyo+'&seccion='+seccion);
		req.onreadystatechange = actualizaFechaAJAX;
		req.send(null);
		seleccionado=true;		
	}

	function actualizarFechaCondicional(dia,mes,anyo,seccion)
	{
		if (!seleccionado)
		{
			req.open('get', '/comunes/calendario.php?modo=eventos&dia='+ dia +'&mes=' + mes +'&anyo='+anyo+'&seccion='+seccion);
			req.onreadystatechange = actualizaFechaAJAX;
			req.send(null);	
		}
	}

	function actualizaFechaAJAX()
	{
		handleResponseAJAX();
		if (req.readyState == 4)
		{
			var obj = getCapa('detallesCalendario'); 
			obj.visibility = (document.layers) ? "show" : "visible" ; 
			obj.display = 'block';
		}
	}

	function getCapa(idCapa){ 
		capa=null; 
		if (document.layers) capa = eval("document." + idCapa);
		else if (document.all) capa = eval(idCapa + ".style");
		else if (document.getElementById) capa = eval('document.getElementById("'+idCapa+'").style');
		return capa;
	}

	function mesAnterior(seccion)
	{
		anteriorMes = fecha.getMonth();
		anyo = fecha.getFullYear();
		if (anteriorMes == 0)
		{
			anteriorMes = 11;
			anyo = anyo - 1;
			
		}else
		{
			anteriorMes = anteriorMes - 1;
		}
		
		actualizarCalendario(anteriorMes,anyo,seccion);
		fecha.setMonth(anteriorMes);
		fecha.setFullYear(anyo);
	}
	
	function mesSiguiente(seccion)
	{

		siguienteMes = fecha.getMonth();
		anyo = fecha.getFullYear();
		if (siguienteMes == 11)
		{
			siguienteMes = 0;
			anyo = anyo + 1;
		}else
		{
			siguienteMes = siguienteMes + 1;
		}
		actualizarCalendario(siguienteMes,anyo,seccion);
		fecha.setMonth(siguienteMes);	
		fecha.setFullYear(anyo);		
	}

