var extra72011 = [30,31];
var extra82011 = [1,20];
var alta42011 = [20,24];
var alta72011 = [16,29];
var alta82011 = [21,31];
var alta92011 = [1,2];
var media12011 = [1,8];
var media32011 = [18,19];
var media42011 = [15,19, 25,30];
var media52011 = [1,1, 12,14];
var media62011 = [17,30];
var media72011 = [1,15];
var media92011 = [3,18];
var media102011 = [7,15, 28,31];
var media122011 = [2,10, 23,31];
var baja2011 = [1,12];

var ocutotal12011 = [];
var ocuparcial2011 = [];


var NombreMes = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"];
var DiasMes = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var MAno=0;
var MMes=0;
var CeldadeFechaObjetivo='FEntrada';


function FormarCalendario(CeldaFecha)
{
	document.getElementById("Bcalendario").scrollTop=0;
	switch (CeldadeFechaObjetivo)
	{
		case 'FEntrada':
		  document.getElementById("infoCalendario").innerHTML = "[seleccione la fecha de entrada]"
		  break;
		case 'FSalida':
		  document.getElementById("infoCalendario").innerHTML = "[seleccione la fecha de salida]"
		  break;
	}
	
	for (N=1; N<=12; N++)
	{ 
		
		document.getElementById("Bcalendario").style.display = 'block';
		MMes = N-1;
		var LaFecha = new Date(); //Guardo la fecha completa.
		
		LaFecha.setMonth(LaFecha.getMonth()+MMes);
		
		
		document.getElementById("Ano"+N).innerHTML = LaFecha.getFullYear(); //Pido el aņo de la fecha y lo pongo en la tabla.
		document.getElementById("Mes"+N).innerHTML = NombreMes[LaFecha.getMonth()]; //Pido el numero de mes de la fecha, busco el nombre en el array, y lo pongo en la tabla.
		var PrimerDiaMes = new Date(LaFecha.getFullYear(), LaFecha.getMonth(), 0); //Pido el dia de la semana del dia 1 del mes de la fecha.


		if ((LaFecha.getMonth()==1) && ((LaFecha.getFullYear()%4==0) && ((LaFecha.getFullYear()%100!=0) || (LaFecha.getFullYear()%400==0))) )//Si el mes seleccionado es febrero aberiguo si el aņo es bisiesto.
		{
			DiasMesSeleccionado = DiasMes[LaFecha.getMonth()]+1; //Cojo en el array la cantidad dias que tiene el mes y le sumo uno por ser aņo bisiesto.
		}else{
			DiasMesSeleccionado = DiasMes[LaFecha.getMonth()]; //Cojo en el array la cantidad dias que tiene el mes.
		}

		for (j=0; j<42; j++) //Limpio las celdas de numeros
		{	
			FilaCalendario = Math.floor(j/7);
			document.getElementById("Tcalendario"+N).rows[FilaCalendario+2].cells[j-(FilaCalendario*7)].innerHTML = "&nbsp;";
		}
		
		for (i=0; i<DiasMesSeleccionado; i++) //voy colocando consecutivamente los numeros del 1 hasta el numero de dias del mes en la tabla, en la celda correcta.
		{	
			FilaCalendario = Math.floor((PrimerDiaMes.getDay()+i)/7);
			ObjetoTd = document.getElementById("Tcalendario"+N).rows[FilaCalendario+2].cells[PrimerDiaMes.getDay()+i-(FilaCalendario*7)]
			ObjetoTd.innerHTML = i + 1;
			
			if (ObjetoArray = window['baja'+LaFecha.getFullYear()])
			{
				for (l=0; l<=(ObjetoArray.length/2); l=l+2)
				if (ObjetoArray[0+l]<= (parseInt(LaFecha.getMonth(),10)+1) && ObjetoArray[1+l]>= (parseInt(LaFecha.getMonth(),10)+1))
				{
				ObjetoTd.style.backgroundColor = '#8ed2cd';
				}
			}
			if (ObjetoArray = window['media'+(LaFecha.getMonth()+1)+''+LaFecha.getFullYear()])
			{
				for (l=0; l<=(ObjetoArray.length/2); l=l+2)
				if (ObjetoArray[0+l]<= i+1 && ObjetoArray[1+l]>= i+1)
				{
				ObjetoTd.style.backgroundColor = '#8fe88f';
				}
			}			
			if (ObjetoArray = window['alta'+(LaFecha.getMonth()+1)+''+LaFecha.getFullYear()])
			{
				for (l=0; l<=(ObjetoArray.length/2); l=l+2)
				if (ObjetoArray[0+l]<= i+1 && ObjetoArray[1+l]>= i+1)
				{
				ObjetoTd.style.backgroundColor = '#b1e36b';
				}
			}			
			if (ObjetoArray = window['extra'+(LaFecha.getMonth()+1)+''+LaFecha.getFullYear()])
			{
				for (l=0; l<=(ObjetoArray.length/2); l=l+2)
				if (ObjetoArray[0+l]<= i+1 && ObjetoArray[1+l]>= i+1)
				{
				ObjetoTd.style.backgroundColor = '#eebe6c';
				}
			}
			if (ObjetoArray = window['ocutotal'+(LaFecha.getMonth()+1)+''+LaFecha.getFullYear()])
			{
				for (l=0; l<=(ObjetoArray.length/2); l=l+2)
				if (ObjetoArray[0+l]<= i+1 && ObjetoArray[1+l]>= i+1)
				{
				ObjetoTd.style.backgroundImage = "url(estilo/ocupaciontotal.gif)";
				}
			}
			if (ObjetoArray = window['ocuparcial'+(LaFecha.getMonth()+1)+''+LaFecha.getFullYear()])
			{
				for (l=0; l<=(ObjetoArray.length/2); l=l+2)
				if (ObjetoArray[0+l]<= i+1 && ObjetoArray[1+l]>= i+1)
				{
				ObjetoTd.style.backgroundImage = "url(estilo/ocupacionparcial.gif)";
				}
			}
		}
		
	}
}

function ElegirDia(event, N)
{
	var texto="";
	var elemento = event.target || event.srcElement;
	if (elemento.tagName=="TD" && elemento.innerHTML!="")
	{
		document.getElementById(CeldadeFechaObjetivo).value = texto.concat(elemento.innerHTML, "/", document.getElementById("Mes"+N).innerHTML, "/", document.getElementById("Ano"+N).innerHTML);
		cerrarCalendario();
	}
	switch (CeldadeFechaObjetivo)
	{
		case 'FEntrada':
		  CeldadeFechaObjetivo='FSalida'
		  break;
		case 'FSalida':
		  CeldadeFechaObjetivo='FEntrada'
		  break;
	}	
}
function cerrarCalendario()
{
	document.getElementById("Bcalendario").style.display = 'none';	
}
