// JavaScript Document
var vecMeses = new Array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
var vecCADias = new Array('Do','Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá');
var oFechaTemporal = new Date();


//ver detalle
function fDetalle(_dia){
	var oFT = new Date(oFechaTemporal.getFullYear(), oFechaTemporal.getMonth(), _dia);	
	alert("Fecha: " + oFT);
}

//verificando dias con nota
function fVerificaNota(_dia){
	var evento = false;
	var oFT = new Date(oFechaTemporal.getFullYear(), oFechaTemporal.getMonth(), _dia);	
	var oLink=document.createElement('a');
	oLink.setAttribute("href","javascript:fDetalle(" + _dia + ");");
	oLink.className="diaEvento";
	for(var e=0; e < vecAgenda.length; e++){		
		if((oFT.getDate()==vecAgenda[e].fecha.getDate()) && (oFT.getMonth()==vecAgenda[e].fecha.getMonth())&&(oFT.getFullYear()==vecAgenda[e].fecha.getFullYear())){								
			oLink.title += " -  " + vecAgenda[e].titulo + "   \n";
			evento = true;
		}		
	}
	oLink.title=oLink.title.substring(0, oLink.title.length-2);
	oLink.appendChild(document.createTextNode(_dia));
	//verificando objeto
	if(evento){
		return oLink; 
	}else{	
		return null;
	}	
}


function fCrearCalendario(_contenedor, _fecha){	
	//inicializacion	
	oFechaTemporal = new Date(_fecha.getFullYear(), _fecha.getMonth(), 1);	
	var diaSemana = oFechaTemporal.getDay();
	var diaInicial = 1;
		oFechaTemporal.setMonth(oFechaTemporal.getMonth()+1);
		oFechaTemporal.setDate(oFechaTemporal.getDate()-1);
	var diaFinal = oFechaTemporal.getDate();
	var filas = (diaFinal+diaSemana)/7;
	oFechaTemporal = new Date(_fecha.getFullYear(), _fecha.getMonth(), _fecha.getDate());
	
	//<<<DIV>>>recuperando contenedor principal
	oContenedor = document.getElementById(_contenedor);
	
	//eliminando tabla al navegar por meses
	oTable = document.getElementById("calendario");	
	spanFechaActual = document.getElementById("fechaActual");	
	divNavegacion = document.getElementById("barraNavegacion");	
	if(oTable != null){
		oContenedor.removeChild(oTable);
		oContenedor.removeChild(spanFechaActual);
		oContenedor.removeChild(divNavegacion);
	}
	
//fecha actual	
	spanFechaActual = document.createElement("div");
	spanFechaActual.id = "fechaActual";
	spanFechaActual.className="fechaActual";
	spanFechaActual.appendChild(document.createTextNode(vecMeses[oFechaTemporal.getMonth()] + " " + oFechaTemporal.getFullYear()));	
	oContenedor.appendChild(spanFechaActual);
	
//tabla mes	
	oTable = document.createElement("table");
	oTable.id = "calendario";
	oTable.border = 0;
	oTable.className="tabla";
	oTable.setAttribute("cellpadding", "1");
	oTableBody = document.createElement("tbody");
	
	//linea
	oCell = document.createElement("td");oCell.colSpan = "7";oCell.className="linea";
	oRow = document.createElement("tr");oRow.appendChild(oCell);
	oTableBody.appendChild(oRow);
	
	//encabezado
	oRow = document.createElement("tr");
	for (i = 0; i < 7; i++) {
		oCell = document.createElement("td");
		oCell.className="calendarioEncabezado";
		//oCell.setAttribute("class","calendarioEncabezado");
		textVal = vecCADias[i];
		oNode = document.createTextNode(textVal);		
		oCell.appendChild(oNode);oRow.appendChild(oCell);
	}
	oTableBody.appendChild(oRow);
	
	//linea	
	oCell = document.createElement("td");oCell.colSpan = "7";oCell.className="linea";
	oRow = document.createElement("tr");oRow.appendChild(oCell);
	oTableBody.appendChild(oRow);
	
	//dias del mes
	var diaMesActual=1;
	//creando filas con celdas
	for(i = 0; i < filas; i++) {
		oRow = document.createElement("tr");
		for (j = 0; j < 7; j++) {			
			oCell = document.createElement("td");
			oCell.vAlign = "top";
			
			var	oDivDia = document.createElement("div");			
				if(i==0 && j >= diaSemana){//primera fila		
					oCell.className=((diaMesActual==oFechaTemporal.getDate())? ((fVerificaNota(diaMesActual) != null)? "calendarioCeldaNotaActual" : "calendarioCeldaActual"): ((fVerificaNota(diaMesActual) != null)? "calendarioCeldaNota" : "calendarioCelda"));
					oDivDia.className=((diaMesActual==oFechaTemporal.getDate())? "calendarioDiaActual":"calendarioDia");					
					if(fVerificaNota(diaMesActual) != null)
						oDivDia.appendChild(fVerificaNota(diaMesActual));	
					else
						oDivDia.appendChild(document.createTextNode(diaMesActual));						
					diaMesActual++;
				}else if(i > 0 && diaFinal >= diaMesActual){//desde la segunda fila hasta el final				
					oCell.className = ((diaMesActual==oFechaTemporal.getDate())? ((fVerificaNota(diaMesActual) != null)? "calendarioCeldaNotaActual" : "calendarioCeldaActual"): ((fVerificaNota(diaMesActual) != null)? "calendarioCeldaNota" : "calendarioCelda"));
					oDivDia.className = ((diaMesActual==oFechaTemporal.getDate())? "calendarioDiaActual":"calendarioDia");				
					if(fVerificaNota(diaMesActual) != null)
						oDivDia.appendChild(fVerificaNota(diaMesActual));	
					else
						oDivDia.appendChild(document.createTextNode(diaMesActual));											
					diaMesActual++;
				}else{//vacios del final
					oCell.className =((diaMesActual==oFechaTemporal.getDate())? "calendarioCeldaActual":"calendarioCeldaNoActiva")
					oDivDia.className =((diaMesActual==oFechaTemporal.getDate())? "calendarioDiaActual":"calendarioDia")
					oDivDia.innerHTML = "";
				}
											
			textNode = document.createTextNode(textVal);											
			oCell.appendChild(oDivDia);
			oRow.appendChild(oCell);			
		}
		oTableBody.appendChild(oRow);		
	}
	

	
	oTable.appendChild(oTableBody);
	oContenedor.appendChild(oTable);
	
}