
/********************************************************************************************************/
var NS7=(document.getElementById && !document.all)?1:0;
var hoy = new Date();
var diaHoy = hoy.getDate();
var mesHoy = hoy.getMonth()+1;
var anoHoy = hoy.getYear();
if (anoHoy<1900) anoHoy+=1900;
var elDia = diaHoy;
var elMes = mesHoy;
var elAno = anoHoy;

var losMeses = new Array (	"Enero",
							"Febrero",
							"Marzo",
							"Abril",
							"Mayo",
							"Junio",
							"Julio",
							"Agosto",
							"Septiembre",
							"Octubre",
							"Noviembre",
							"Diciembre");
var losMesesEn = new Array ("January",
							"February",
							"March",
							"April",
							"May",
							"June",
							"July",
							"August",
							"September",
							"October",
							"November",
							"Dicember");

var losDias = new Array (31,28,31,30,31,30,31,31,30,31,30,31);
var losDiasDeLaSemana = new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sabado");
var losDiasDeLaSemanaEn = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
var diasSemana  = new Array ('L','M','X','J','V','S','D');
var diasSemanaEn  = new Array ('Su','Mo','Tu','We','Th','Fr','Sa');



/**
 * Sirve para poder dar estilos a las capas en los descendientes de netscape
 */

function ReconoceCapas(capitas)
{
	var cadena="";
    if (NS7)
    {
    	cadena=capitas+"=document.getElementById('"+capitas+"')";
		eval (cadena);
    }
}



/**
 * siguienteMes
 */
function siguienteMes(mes,ano)
{
	if (mes==12)
	{
		mes = 1;
	    ano++;
	}
	else
	{
		mes++;
	}
	return mes+"-"+ano;
}//siguienteMes

/**
 * anteriorMes
 */
function anteriorMes(mes,ano)
{
	if (mes==1)
	{
	    mes = 12;
	    ano--;
	}
	else
	{
	    mes--;
	}
	return mes+"-"+ano;
}//anteriorMes




/**
 * calcularDia
 */
function calcularDia(dia,mes,ano)
{
	var dias=365*(ano-1);
	var i;
	var deSemana;
       for (i=0;i<(mes-1);i++)
		dias+=losDias[i];
  	dias+=dia-1;
  	dias+=(Math.floor((ano-1)/4));
  	if ((mes>2) && (((ano%4)==0)))
  		 dias++;
  	deSemana=dias % 7;
    if (idioma=="es"){
	  	if (deSemana==0) deSemana=6;
	  	else deSemana--;
  	}
   	return diasSemana[deSemana];
}//calcularDia


/**
 * explode
 */
function explode(elSeparador,laCadena)
{
	var elArray = new Array();
	var cadenita = "";
	for (var a=0,indice=0;a<laCadena.length;a++){
	    if (laCadena.charAt(a)==elSeparador){
	        elArray[indice] = cadenita;
	        indice++;
	        cadenita = "";
	    }else{
	        cadenita+=laCadena.charAt(a);
	    }
	}//for a
	elArray[indice] = cadenita;
	return elArray;
}//explode

/**
 * implode
 */
function implode(elSeparador,elArray){
	var cadena = elArray[0];
	for (var a=1;a<elArray.length;a++){
		cadena = cadena + elSeparador + elArray[a];
	}//for a
	return cadena;
}//implode

/**
 * abrirCalendario
 */
function abrirCalendario(laCapa){
	eval(laCapa+".style.visibility='visible'");
}//abrirCapa




/**
 *  Cerrar la capa
 */
function cerrarCapa(laCapa,cont){
	calendario.innerHTML = "";
	eval(laCapa+".style.visibility='hidden'");

//	eval("document.reservas.noches"+cont+".style.visibility = 'visible'");

}
/**
 * cerrar calendario
 */
function cerrar(laCapa){
    cerrarCapa('calendario');
}

/**
 * Calcula las coordenadas para sacar el calendario
 */
function CalcularCoordenadas(tipoFecha, mes, ano, Evento, dirimagenes, color)
 {

  if(document.all)
  {
   PosX = window.event.clientX + document.documentElement.scrollLeft;
   PosY = window.event.clientY + document.documentElement.scrollTop;
  }
  else
  {
   PosX = Evento.pageX;
   PosY = Evento.pageY;
  }

  PosX = PosX - 30;
  PosY = PosY - 15;

  mostrarCalendario(tipoFecha,mes,ano,PosX,PosY,dirimagenes,color);
 }


/**
 * Mostrar calendario
 */
function mostrarCalendario(tipoFecha,mes,ano,posIz,posTop,dirimagenes,color)
{

   	if (tipoFecha!="") tratando = tipoFecha;

	if(posIz!="")	calendario.style.left=posIz+"px";

	if(posTop!=""){
		calendario.style.top=posTop+"px";
	}


	if (tipoFecha=='fin')
	{
		var valorCampo = eval("document.reservas.fechaInicio.value");
		diasol = explode("-",valorCampo);
		mes = diasol[1];
		ano = diasol[2];
	}


	var tablaCalendario = "<table>";
	tablaCalendario+= "<tr><td>"+generarCalendario(mes,ano,tratando,dirimagenes,color)+"</td></tr></table>";
	var celda;

	calendario.innerHTML = tablaCalendario;
	abrirCalendario('calendario');

}//mostrarCalendario

/**
 * generarCalendario
 */
function generarCalendario(mes,ano,tratando,dirimagenes,color){
	var hoy = new Date();
	if (tratando == 'inicio')
	{
		var diaHoy = hoy.getDate();
		var mesHoy = hoy.getMonth()+1;
		var anoHoy = hoy.getYear();
	}
	else {
		var valorCampo = eval("document.reservas.fechaInicio.value");
		diasol = explode("-",valorCampo);
		var diaHoy = diasol[0];
		var mesHoy = diasol[1];
		var anoHoy = diasol[2];
	}
	if (anoHoy<1900) anoHoy+=1900;

	var dias=losDias[mes-1];
  	var i,j;

  	diaUno=calcularDia(1,mes,ano);

  	var calendarioMes="";

	calendarioMes=calendarioMes+"<table border='0' cellpadding='0' cellspacing='0' style='border:1px solid #000000;text-align:center;width: 160px; font-family: Verdana, Arial, Helvetica; font-size: 10px;'><tr valign='middle'>";
	var mesAnt = anteriorMes(mes,ano);
	mesAnt = explode("-",mesAnt);
	var mesSig = siguienteMes(mes,ano);
	mesSig = explode("-",mesSig);
	if ((mes==mesHoy) && (ano==anoHoy)) mesAnt="";
	else mesAnt = "onClick=\"mostrarCalendario('',"+mesAnt[0]+","+mesAnt[1]+",'','','"+dirimagenes+"','"+color+"')\"";
	calendarioMes+="<td style='width:20px; height:20px; background:"+color+";  text-align:center;cursor:pointer;'><img src='"+dirimagenes+"prev.jpg' alt='Mes Anterior' "+mesAnt+" width='15' height='15'/></td>";
	if (idioma=="es")
		calendarioMes= calendarioMes + "<td colspan='4' height='20' class='tfecha' style='cursor:default; background:"+color+"; color:#FFFFFF; font-family: Verdana, Arial, Helvetica; font-size: 10px;'>"+losMeses[mes-1]+" "+ano+"</td>";
	else
		calendarioMes= calendarioMes + "<td colspan='4' height='20' class='tfecha' style='cursor:default; background:"+color+"; color:#FFFFFF;'>"+losMesesEn[mes-1]+" "+ano+"</td>";
		calendarioMes+="<td style='width:20px; height:20px; text-align:center; background:"+color+"; cursor:pointer;'><img src='"+dirimagenes+"/next.jpg' alt='Mes Siguiente' width='15px' height='15px' onClick=\"mostrarCalendario('',"+mesSig[0]+","+mesSig[1]+",'','','"+dirimagenes+"','"+color+"')\"/></td>";
		calendarioMes+="<td style='text-align:center; cursor:pointer; width:20px; height:20px; background:"+color+";'><img src=\""+dirimagenes+"/close.jpg\" border='0' width='15px' height='15px' onclick=\"cerrarCapa('calendario');\" title=\"Cerrar calendario\"></td></tr></table>";
		//rellenamos la segunda fila con las primeras letras de cada dia L M X J V S D
		calendarioMes+="<table border='0' style='width:160px; border:1px solid #000000;text-align:center; font-family: Verdana, Arial, Helvetica; font-size: 10px;'><tr style='font-weight:bold;'>";
	for (i=0;i<7;i++)
		if (idioma=="es")
			calendarioMes=calendarioMes+ "<td class='semana'  width=\"12\" height=\"12\" style=\"cursor:default;\">"+diasSemana[i]+"</td>";
		else
			calendarioMes=calendarioMes+ "<td class='semana'  width=\"12\" height=\"12\" style=\"cursor:default;\">"+diasSemanaEn[i]+"</td>";
			calendarioMes=calendarioMes+"</tr>";
			calendarioMes+="<tr>";

	//rellenamos hasta el primer dia de Mes a guiones
	for (i=0;diasSemana[i]!=diaUno;i++)
		calendarioMes=calendarioMes+"<td style=\"background-color:#aaaaaa;color:#666666;\"  width=\"12\" height=\"12\" style=\"cursor:default;\">-</td>";

	dias_del_mes = losDias[mes-1];
	if ((mes==2) && (ano % 4==0)) dias_del_mes++;  //es bisiesto
		for (j=i,i=1;i<=dias_del_mes;){
			for (;j<7 && i<=dias_del_mes;j++,i++)
				if (j==6){
					calendarioMes+=colorear(i,mes,ano,1,tratando);
				}
				else
					calendarioMes+=colorear(i,mes,ano,0,tratando);
				if (j==7){
					calendarioMes+=("</tr><tr>");
					j=0;
				}//if (j==7)
		}//1º for
	if (j>0)
		for (;j<7;j++)
			calendarioMes+="<td style=\"background-color:#aaaaaa;color:#666666;\" width=\"12\" height=\"12\" style=\"cursor:default;\">-</td>";
			calendarioMes+= "</tr></table>"

	return calendarioMes;
}//dameCalendario

/**
 * colear el calendario
 */
function colorear(dia,mes,ano,esDomingo,tratando){
	var hoy = new Date();

	if (tratando == 'inicio')
	{
		var diaHoy = hoy.getDate();
		var mesHoy = hoy.getMonth()+1;
		var anoHoy = hoy.getYear();
	}
	else {
		var valorCampo = eval("document.reservas.fechaInicio.value");
		diasol = explode("-",valorCampo);
		var diaHoy = diasol[0];
		var mesHoy = diasol[1];
		var anoHoy = diasol[2];
	}

	if (anoHoy<1900) anoHoy+=1900;
	var celdaDia;
	if ((ano>anoHoy) || ((ano==anoHoy) && (mes>mesHoy)) || ((ano==anoHoy) && (mes==mesHoy) && (dia>=diaHoy))){
		if ((dia+"-"+mes+"-"+ano)==(diaHoy+"-"+mesHoy+"-"+anoHoy))
		    celdaDia = "<td id=\"celda"+dia+"\" style=\"background-color:#7C7C57;color:#FFFFFF;font-weight:bold;cursor:pointer;font-family: Verdana, Arial, Helvetica; font-size: 9px;\" onClick=\"marcar("+dia+","+mes+","+ano+");\" width=\"12\" height=\"12\">"+dia+"</td>";
		else{
		    if (esDomingo)
		        celdaDia = "<td id=\"celda"+dia+"\" style=\"background-color:#FFFFFF;color:#CC0000;cursor:pointer;font-family: Verdana, Arial, Helvetica; font-size: 9px;\" onClick=\"marcar("+dia+","+mes+","+ano+");\" width=\"12\" height=\"12\">"+dia+"</td>";
			else
				celdaDia = "<td id=\"celda"+dia+"\" style=\"background-color:#FFFFFF;color:#000000;cursor:pointer;font-family: Verdana, Arial, Helvetica; font-size: 9px;\" onClick=\"marcar("+dia+","+mes+","+ano+");\" width=\"12\" height=\"12\">"+dia+"</td>";
		}//else
	}else{
		celdaDia = "<td id=\"celda"+dia+"\" style=\"background-color:#aaaaaa;color:#888888;cursor:default;font-family: Verdana, Arial, Helvetica; font-size: 9px;\" width=\"12\" height=\"12\">"+dia+"</td>";
	}
	return celdaDia;
}//colorear

/**
 * marcar la fecha del calendario
 */
function marcar(dia,mes,ano){
//	alert(dia+"-"+mes+"-"+ano);
	if ((elDia<10) && (elDia.toString().length)>1){
	    elDia = elDia.toString().substr(1,1);
	}

	elDia = dia;
	elMes = mes;
	elAno = ano;

	devolverFecha(dia,mes,ano);
}//marcar

/**
 * devolver fecha
 */
function devolverFecha(elDia,elMes,elAno){
	if (elDia<10) elDia = "0"+elDia;
	if (elMes<10) elMes = "0"+elMes;
	var fechaTexto = elDia+"-"+elMes+"-"+elAno;

	if (tratando=='inicio'){
		eval("document.reservas.fechaInicio.value='"+fechaTexto+"'");

		var id = "fechaFin";
		if( (document) && (document.getElementById(id)) )
		{
			var valorInicio = eval("document.reservas.fechaInicio.value");
			var valorFin = eval("document.reservas.fechaFin.value");
			diasal = explode("-",valorInicio);
			diareg = explode("-",valorFin);
			var diaHoy = diasal[0];
			var mesHoy = diasal[1];
			var anoHoy = diasal[2];
			var concsal = diasal[2]+diasal[1]+diasal[0];
			var diavue = diareg[0];
			var mesvue = diareg[1];
			var anovue = diareg[2];
			var concvue = diareg[2]+diareg[1]+diareg[0];
			if (concsal >= concvue) {
				eval("document.reservas.fechaFin.value='"+fechaTexto+"'");
			}
		}
	}
	else
		if (tratando == 'fin')
		{
			eval("document.reservas.fechaFin.value='"+fechaTexto+"'");
		}



	cerrarCapa('calendario');

}