//var meses = ["Todos los meses","Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
var meses,literales;
var dias = [0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
var dimg = "/TLFU/mult/";
/**/
var anioBusqueda = -1;
var mesBusqueda = -1;
var diaBusqueda = -1;

function asigna(a, m)
{
	anioBusqueda = a;
	mesBusqueda = m;
}
/**/
function InicializaCalendario(d,m,a, pathimgs,idioma)
{
	diaBusqueda = d;
		
	// Si los parámetros son cero obtener la fecha del sistema
	if(a == 0 && m == 0) {
		var d = new Date();
		cal_a = d.getFullYear();
		cal_m = d.getMonth()+1;
	} else {
		cal_a = a;
		cal_m = m;
	}
	
	if(pathimgs != "") dimg = pathimgs;
	
	language = idioma;

	if (idioma=="_CAS")
	{
		meses=["Todos los meses","Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
		literales=["Mes:","Año:"];
	}
	else
	{
		meses = ["All months","January", "February ", "March", "April ", "May", "June", "July", "August", "September", "October", "November", "December"];
		literales=["Month:","Year:"];
	}
	// Crear una capa con los desplegables de mes y año

	CreaForm(cal_a, cal_m);

	// Crear el calendario de ese mes
	if (cal_m ==0)
	{
		var d = new Date();;
		cal_m = d.getMonth()+1;
	}
	CambiaMes(cal_a, cal_m, idioma);
}

function CreaForm(cal_a, cal_m)
{
	var fecha = new Date();
	anyo = fecha.getFullYear();
	// Generar el html
	html  = "<div class='contenido_calendario'>\n"
	html += "<form class='calendario' name='calendarioFORM' id='calendarioFORM'>\n";
	html += "<select class='calendario' name='m' id='comboAnyo' tabindex='1' onchange=asigna(ObjetoCapa('calendarioFORM').a.value,ObjetoCapa('calendarioFORM').m.value) style='width:108px'>\n";
	for(var i = 0; i < meses.length; i++) {
		if (i == cal_m) {
			html += "<option value=" + i + " selected>" + meses[i] + "</option>";
		} else {
			html += "<option value=" + i + ">" + meses[i] + "</option>";
		}
	}
	html += "</select>";

	html += "<select class='calendario' name='a' id='select' tabindex='2' onchange=asigna(document.forms.calendarioFORM.a.value,document.forms.calendarioFORM.m.value) style='width:50px'>\n";
	for(var i = anyo - 2; i <= anyo + 2; i++) {
		if (i == cal_a) {
			html += "<option value=" + i + " selected>" + i + "</option>\n";
		} else {
			html += "<option value=" + i + ">" + i + "</option>\n";
		}
	}

	html += "</select>\n"
	html += "</form>\n";
	html += "</div>\n";
	
	// Escribir la capa del formulario auxiliar
	AbreCapa("calformDIV");
	EscribeCapa(html);
	CierraCapa();
}

function EstaEnLaLista(d)
{
	// Comprobar si un dia esta en la lista
	
	for(i in ListaDias) if(ListaDias[i] == d) return true;
	return false;
}

function CambiaMes(a, m, idioma)
{
	// Escribir la capa del calendario
	AbreCapa("caldiasDIV");
	EscribeCapa(mes(a, m, idioma));
	CierraCapa("caldiasDIV");
}

function dias_mes(a, m)
{
	if(m == 2 && (!(a % 400) || ((a % 100) && !(a % 4)))) return 29;
	else return dias[m];
}

function primer_dia_mes(a, m)
{
	var f = new Date(a, m-1, 1);
	var d = f.getDay();
	
	if (meses[1]=="Enero")
		return !d ? 6 : d - 1;
	else
		return !d ? 7 : d;
}

function semanas_mes(a, m)
{
	return Math.round(0.49 + (dias_mes(a, m) + primer_dia_mes(a, m)) / 7);
}

function mes(a, m, idioma)
{
	// Generar la tabla del mes pedido

	var html = "<table class='calendarioTabla'>\n";
	//TITULO DEL CALENDARIO
	html += "<tr><td><a href=\"javascript:Ir_mes('ANTERIOR');\">";
	html += "<img src='"+dimg+"f_flechaCalendarioIzq.gif' alt='&#171;'/></a></td>\n";
	html += "<td colspan='5'><a href=\"javascript:Ir_dia('',"+ m + "," + a +");\"><span class='mesActual'>" + meses[m] + "&nbsp;"+a+"</span></a></td>\n";
	html += "<td><a href=\"javascript:Ir_mes('SIGUIENTE');\" style=text-decoration:none>";
	html += "<img src='"+dimg+"f_flechaCalendario.gif' alt='&#187;'/></a></td></tr>\n";
	
	//LETRAS DE LOS DIAS DE LA SEMANA
	html += "<tr class='calendarioColor'>";
	var fest = 5;
	if (idioma=="_CAS")
	{
		html += "<td>L</td>";
		html += "<td>M</td>";
		html += "<td>X</td>";
		html += "<td>J</td>";
		html += "<td>V</td>";
		html += "<td class='findesemana'>S</td>";
		html += "<td class='findesemana'>D</td>";
	}
	else
	{
		html += "<td class='findesemana'>S</td>";
		html += "<td>M</td>";
		html += "<td>T</td>";
		html += "<td>W</td>";
		html += "<td>T</td>";
		html += "<td>F</td>";
		html += "<td class='findesemana'>S</td>";
		fest = 0;
	}
	html += "</tr>";
	
	// Precalcular los datos necesarios
	
	var pdm = primer_dia_mes(a, m);
	var sm = semanas_mes(a, m);
	var dm = dias_mes(a, m);
	var dt = 7 * sm;
	var d = 1 - pdm;
	
	var fechaHoy = new Date();
	var diaHoy = fechaHoy.getDate();
	var mesHoy = fechaHoy.getMonth()+ 1;
	var anyoHoy = fechaHoy.getFullYear();
	
	// Cada semana es una fila en la tabla

	for(var i = 0; i < sm; i++) {
		html += "<tr class='calendarioColor'>";

		// Cada día es una celda (siete por fila lógicamente)
		for(var j = 0; j < 7; j++)
		{
			if(d >= 1 && d <= dm)
			{
				if (d == diaBusqueda)
				//Aqui determinamos si hemos pinchado en el dia
				{
					html += "<td><a class='diaSelecLink' style='color:green;border:blue' href='javascript:Ir_dia(" + d + "," + m + "," + a + ");'>" + d++ + "</a></td>\n";
				}
				else if(a == cal_a && m == cal_m && EstaEnLaLista(d))
				//Aqui determinamos si el dia tiene evento
				{
					html += "<td class='eventos'><a href='javascript:Ir_dia(" + d + "," + m + "," + a + ");' class='eventosLink'>"  + d++ + "</a></td>\n";
				}
				else if (d == diaHoy && mesHoy == m && a == anyoHoy) {
				//Aqui determinamos si es el dia, mes y año actual
					html += "<td><a class='hoy' href='javascript:Ir_dia(" + d + "," + m + "," + a + ");'>"  + d++ + "</a></td>\n";
				}
				else if (j == fest || j == 6) {
				//Aqui determinamos si es fin de semana
					html += "<td><a href='javascript:Ir_dia(" + d + "," + m + "," + a + ");' class='findesemana'>"  + d++ + "</a></td>\n";
				}
				else
				{
				//Aqui pintamos el resto de los dias
					html += "<td><a class='calendario' href='javascript:Ir_dia(" + d + "," + m + "," + a + ");'>" + d++ + "</a></td>\n";
					//html += "<td class='eventos'><a href='javascript:Ir_dia(" + d + "," + m + "," + a + ");' class='eventosLink'>"  + d++ + "</a></td>\n";
				}
			}
			else
			{
				html += "<td>&nbsp;</td>";
				d++;
			}
		}//FIN DEL BUCLE

		html += "</tr>\n";
	}
	
	html += "</table>\n";

	// Devolver el código html de la tabla del mes pedido

	return html;
}
