// JavaScript Document
// JavaScript Document
var getCalendario = null;
var xmlCalendario = null;
var CualMes=0;
var idioma	= "";

var di=0,mi=0,ai=0;



function CrearCalendario(QueMes, sidioma, op){
	
	idioma = sidioma;
    

	CualMes=QueMes;
	setCal(CualMes,op);
	
}

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);

switch(idioma) {
	
	case "ga":
	
		meses[1] = "Xaneiro";
		meses[2] = "Febreiro";
		meses[3] = "Marzo";
		meses[4] = "Abril";
		meses[5] = "Maio";
		meses[6] = "Xu&ntilde;o";
		meses[7] = "Xullo";
		meses[8] = "Agosto";
		meses[9] = "Setembro";
		meses[10] = "Outubro";
		meses[11] = "Novembro";
		meses[12] = "Decembro";
		
		break;

	case "en":

		meses[1] = "January";
		meses[2] = "February";
		meses[3] = "March";
		meses[4] = "April";
		meses[5] = "May";
		meses[6] = "June";
		meses[7] = "July";
		meses[8] = "August";
		meses[9] = "September";
		meses[10] = "October";
		meses[11] = "November";
		meses[12] = "December";
		
		break;

	default:
	
		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";
		
		break;
}

return meses[mes];
}

function setCal(QueMes,op) {
	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--}
	var fecha = now.getDate()
	var primerDia = new Date(anio, mes, 1)
	
	var primerDia2 = primerDia.getDay()
	if (primerDia2==0) primerDia2=7;
	primerDia = null
	var dias = diasPorMes(mes+1, anio)
	drawCal(primerDia2 + 1, dias, fecha, mes+1, anio,op)
}

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

if (op=="final") { 
	tdiv  ="calSalida";
} else {
	tdiv  ="calEntrada";
}


codigo += '<table class="tabla">'
codigo += '<tr><td class="encabezado" colspan="7">'
codigo += getNombreDelMes(Mes) + ' ' + Anio 
codigo += '</td></tr>'

var diasSemana = new Array(8);

	switch(idioma) {
	
	case "ga":
		diasSemana[0] = "<acronym title=\"Domingo\">D</acronym>";
		diasSemana[1] = "<acronym title=\"Lunes\">L</acronym>";
		diasSemana[2] = "<acronym title=\"Martes\">M</acronym>";
		diasSemana[3] = "<acronym title=\"Miercoles\">Me</acronym>";
		diasSemana[4] = "<acronym title=\"Jueves\">X</acronym>";
		diasSemana[5] = "<acronym title=\"Viernes\">V</acronym>";
		diasSemana[6] = "<acronym title=\"Sabado\">S</acronym>";
		diasSemana[7] = diasSemana[0];
		INIT_CUR_CELL=2;
		INIT_CAB_NUM=1;		
		break;

	case "en":
				
		diasSemana[0] = "<acronym title=\"Domingo\">S</acronym>";
		diasSemana[1] = "<acronym title=\"Lunes\">M</acronym>";
		diasSemana[2] = "<acronym title=\"Martes\">T</acronym>";
		diasSemana[3] = "<acronym title=\"Miercoles\">W</acronym>";
		diasSemana[4] = "<acronym title=\"Jueves\">Th</acronym>";
		diasSemana[5] = "<acronym title=\"Viernes\">F</acronym>";
		diasSemana[6] = "<acronym title=\"Sabado\">Sa</acronym>";
		diasSemana[7] = diasSemana[0];
		INIT_CUR_CELL=1;
		INIT_CAB_NUM=0;		
		break;
				
	default:
				
		diasSemana[0] = "<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>";
		diasSemana[7] = diasSemana[0];
		
		INIT_CUR_CELL=2;
		INIT_CAB_NUM=1;
		break;
			
	}

codigo += '<tr>'
/*for (var dayNum = 0; dayNum < 7; ++dayNum) {*/
for (var dayNum = 0+INIT_CAB_NUM; dayNum < 7+INIT_CAB_NUM; ++dayNum) {
codigo += '<td class="celdaDiaSemana">' + diasSemana[dayNum] + '</td>' 
}
codigo += '</tr>'

var cDia = 1
var curCell = INIT_CUR_CELL;
	var di  = document.getElementById("di").value;
	var mi  = document.getElementById("mi").value;
	var ai  = document.getElementById("ai").value;

var limite1 = new Date(ai,mi,di, 00, 00, 00);
var hoy = new Date(now.getFullYear(),now.getMonth()+1,now.getDate(),00,00,00);

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 {

/*if (curCell==8) clasedia = "diacitaFestivo"; else */clasedia="diacita";
	
var textoCelda = '<a  href="#fentrada" onClick="enlace(\''+Anio+'\',\''+Mes+'\',\''+cDia+'\',\''+op+'\')">'+cDia+'</a>';
var textoTd = '<td class="celda">'
var textoTdFestivo = '<td class="celdaFestivo">'

var actual = new Date(Anio,Mes,cDia, 00, 00, 00);


if (actual.getTime()== hoy.getTime()) {
textoTd = '<td class="hoy">'
}


if (op=='inicial') {

	if (actual.getTime()<=hoy.getTime()) textoCelda = '<i>'+cDia+'</i>';

} else {
	
	if (actual.getTime()<=limite1.getTime()) textoCelda = '<i>'+cDia+'</i>';
}

if (idioma != "en") {
	
	if (col==6 || col==7) textoTd = textoTdFestivo;
	
} else {

	if (col==1 || col==7) textoTd = textoTdFestivo;
}
/*textoTdFestivo*/
codigo += textoTd + textoCelda + '</td>'
cDia++
}
}
codigo += '</tr>'
}


if (idioma!="en") {
	
	txtMes ="Mes";
	txtActual="actual";
	
} else {

	txtMes ="Month";
	txtActual="current";
}


if (Mes <= now.getMonth()+1) {
	
	var BM_ANTERIOR = '';
} else {
	var BM_ANTERIOR = '<input type="button" class="botonesCalendario" value="< '+txtMes+'" onClick="CrearCalendario(--MesSeleccionado,idioma,\''+op+'\')" />';

}
codigo += '<tr><td colspan="7">'+
BM_ANTERIOR+
'<input type="button" class="botonesCalendario" value="'+txtActual+'" onClick="MesSeleccionado=0;CrearCalendario(MesSeleccionado,idioma,\''+op+'\')" />'+
'<input type="button" class="botonesCalendario" value="'+txtMes+' >" onClick="CrearCalendario(++MesSeleccionado,idioma,\''+op+'\')" /></tr>';

codigo += '</table>'

// segun op

document.getElementById(tdiv).innerHTML=codigo;
}



function enlace(a,m,d,op)
{
	if (op=="final") { 
	tdiv  ="calSalida";
	} else {
	tdiv  ="calEntrada";
	}
	document.getElementById(tdiv).innerHTML="";
	if (op=="inicial") {
		
		document.getElementById("di").value=d;
		document.getElementById("mi").value=m;
		document.getElementById("ai").value=a;

		document.getElementById("df").value="";
		document.getElementById("mf").value="";
		document.getElementById("af").value="";	
		CrearCalendario(0,'es','final');
	} else {
		document.getElementById("df").value=d;
		document.getElementById("mf").value=m;
		document.getElementById("af").value=a;		
	}
	
	

}
/*
	Inicio
*/

MesSeleccionado=0;
