var fecha = new Date();

function CalcularMes()
{
	return Meses[fecha.getMonth()];
}
function CalcularNumeroMes()
{
	return fecha.getMonth();
}
function CalcularAnyo()
{		
	return fecha.getFullYear();
}

function CalcularInicioMes(mes, anyo)
{
	var temp = new Date(anyo,mes,1);
	var str = "";
	var valor = temp.getDay() - 1;
	if(valor == -1)
		valor = 6;
	for(var i=0; i < valor;i++)
	{
		str += "<td></td>";
	}
	return (str);
}
function CalcularDesfaseInicio(mes, anyo)
{
	var temp = new Date(anyo,mes,1);	
	var valor = temp.getDay() - 1;
	if(valor == -1)
		valor = 6;
	return (valor);
}
function CalcularVisiesto(anyo)
{
	if(anyo % 4 == 0)
		return 29;
	else
		return 28;
}
function CalcularDiasMes(numeroMes,anyo)
{
	switch(numeroMes)
	{
		case 0:case 2:case 4:case 6:case 7:case 9:case 11:
			return 31;
		break;
		
		case 3:case 5:case 8:case 10:
			return 30;
		break;
		
		case 1:
			return CalcularVisiesto(anyo);
		break;
	}
}
function CalcularMesAnterior(obj,tipo,input,mes, anyo)
{
	
	if(mes == 0)
	{
		mes = 12;
		anyo -= 1;
	}
	var desfase = CalcularDesfaseInicio(mes - 1, anyo);
	var mesactual = Meses[(mes - 1)];
	//if(mes - 1 == fecha.getMonth())
	//	alert(fecha.getDate() + " " + fecha.getMonth() + " " + desfase);	
	var restoMes = "";
	var link = "";
	
	for(var i = desfase; i < CalcularDiasMes(mes - 1, anyo) + desfase; i++)
	{
			if(tipo == "Calendario")
				link = "javascript:MostrarFecha(\"" + obj + "\",\"" + input + "\",\"" + (i + 1 - desfase) + "\",\"" + (mes) + "\",\"" + anyo + "\");";
			
			if(tipo == "Cartelera")
                link = "javascript:getLinkBuscador(\"" + (i + 1 - desfase) + "\",\"" + (mes) + "\",\"" + anyo + "\");";
            
				
			if(i + 1 == desfase + fecha.getDate() && mes - 1 == fecha.getMonth())
				restoMes += "<td class='DiaActual'><a href='" + link + "'>" + (i + 1 - desfase) + "</a></td>";
			else
				restoMes += "<td><a href='" + link + "'>" + (i + 1 - desfase) + "</a></td>";
			if((i+1)%7 == 0)
				restoMes += "</tr><tr>";				
	}
	var calendario = "<a href='javascript:CalcularMesAnterior(\"" + obj + "\",\"" + tipo + "\",\"" + input + "\"," + (mes - 1) + "," + anyo + ")'><img id='CarteleraMesAnterior' src='/telentrada-templating/_images/MesAnterior.gif' alt='Mes anterior' /></a><span id='CarteleraMesTitulo'>" + mesactual + " " + anyo + "</span><a href='javascript:CalcularMesSiguiente(\"" + obj + "\",\"" + tipo + "\",\"" + input + "\"," + (mes) + "," + anyo + ")'><img id='CarteleraMesSiguiente' src='/telentrada-templating/_images/MesSiguiente.gif' alt='Mes seg&#252;ent' /></a>" +
							"<table summary='Calendari de Juliol 2007'>" +
							"<caption>" + mes + " " + anyo + "</caption>" +
							"<thead><tr><th>dl</th><th>dt</th><th>dc</th><th>dj</th><th>dv</th><th>ds</th><th>dg</th></tr></thead>" +
							"<tbody>" +
							"<tr>" + CalcularInicioMes(mes - 1, anyo)+ restoMes + 
							"</tr>" + 
							"</tbody></table>";
	var hiddenFecha="";
	if (tipo == "Cartelera") {
		hiddenFecha = "<input type='hidden' id='buscador_fechaexacta_dia' name='buscador_fechaexacta_dia'/>" +
		"<input type='hidden' id='buscador_fechaexacta_mes' name='buscador_fechaexacta_mes'/>" +
		"<input type='hidden' id='buscador_fechaexacta_anyo' name='buscador_fechaexacta_anyo'/>";
	}
	calendario=calendario+hiddenFecha;						
	document.getElementById(obj).innerHTML = "";							
	document.getElementById(obj).innerHTML = calendario;
}

function CalcularMesSiguiente(obj,tipo,input, mes, anyo)
{

	if(mes == 12)
	{
		mes = 0;
		anyo += 1;
	}
	var desfase = CalcularDesfaseInicio(mes, anyo);
	var mesactual = Meses[(mes)];
	var restoMes = "";
	var link = "";	
	for(var i = desfase; i < CalcularDiasMes(mes, anyo) + desfase; i++)
	{
		if(tipo == "Calendario")
			link = "javascript:MostrarFecha(\"" + obj + "\",\"" + input + "\",\"" + (i + 1 - desfase) + "\",\"" + (mes+1) + "\",\"" + anyo + "\");";
		
		
        if (tipo == "Cartelera") 
			link = "javascript:getLinkBuscador(\"" + (i + 1 - desfase) + "\",\"" + (mes+1) + "\",\"" + anyo + "\");";
				
            			
		if(i + 1 == desfase + fecha.getDate() && mes == fecha.getMonth()){
			restoMes += "<td class='DiaActual'><a href='" + link + "'>" + (i + 1 - desfase) + "</a></td>";
		}
		else{
			restoMes += "<td><a href='" + link + "'>" + (i + 1 - desfase) + "</a></td>";
		}
		
		if((i+1)%7 == 0){
			restoMes += "</tr><tr>";
		}				
	}
	var calendario = "<a href='javascript:CalcularMesAnterior(\"" + obj + "\",\"" + tipo + "\",\"" + input + "\"," + (mes) + "," + anyo + ")'><img id='CarteleraMesAnterior' src='/telentrada-templating/_images/MesAnterior.gif' alt='Mes anterior' /></a><span id='CarteleraMesTitulo'>" + mesactual + " " + anyo + "</span><a href='javascript:CalcularMesSiguiente(\"" + obj + "\",\"" + tipo + "\",\"" + input + "\"," + (mes + 1)+ "," + anyo + ")'><img id='CarteleraMesSiguiente' src='/telentrada-templating/_images/MesSiguiente.gif' alt='Mes seg&#252;ent' /></a>" +
							"<table summary='Calendari de Juliol 2007'>" +
							"<caption>" + (mes+1) + " " + anyo + "</caption>" +
							"<thead><tr><th>dl</th><th>dt</th><th>dc</th><th>dj</th><th>dv</th><th>ds</th><th>dg</th></tr></thead>" +
							"<tbody>" +
							"<tr>" + CalcularInicioMes(mes, anyo)+ restoMes + 
							"</tr>" + 
							"</tbody></table>";
	var hiddenFecha="";
	if (tipo == "Cartelera") {
		hiddenFecha = "<input type='hidden' id='buscador_fechaexacta_dia' name='buscador_fechaexacta_dia'/>" +
		"<input type='hidden' id='buscador_fechaexacta_mes' name='buscador_fechaexacta_mes'/>" +
		"<input type='hidden' id='buscador_fechaexacta_anyo' name='buscador_fechaexacta_anyo'/>";
		
	}
					
    calendario=calendario+hiddenFecha;                      
    document.getElementById(obj).innerHTML = "";							
	document.getElementById(obj).innerHTML = calendario;
}
function MostrarFecha(obj,input, dia, mes, anyo)
{
	document.getElementById('BusquedaFormularioFiltro' + input + 'Dia').value = completarCerosIzquierda(dia,2);
    document.getElementById('BusquedaFormularioFiltro' + input + 'Mes').value = completarCerosIzquierda(mes,2);
    document.getElementById('BusquedaFormularioFiltro' + input + 'Ano').value = anyo;
    document.getElementById(obj).innerHTML = "";
    document.getElementById(obj).style.display = 'none';
    
}

function getLinkBuscador( dia, mes, anyo)
{
	document.getElementById('buscador_fechaexacta_dia').value = completarCerosIzquierda(dia,2);
    document.getElementById('buscador_fechaexacta_mes').value = completarCerosIzquierda(mes,2);
    document.getElementById('buscador_fechaexacta_anyo').value = anyo;
    document.Cartelera.submit();
}

function completarCerosIzquierda(texto, longitud){
    var p = new String("");
    for (; longitud > texto.length; longitud--) p += '0';
    return (p += texto);
}
