﻿function iluminar_celda (obj)
{
 obj.style.fontWeight="bolder";
 obj.style.textDecoration= "underline";
}
function desiluminar_celda (obj)
{
 obj.style.fontWeight="normal";
 obj.style.textDecoration= "none";
}
function parseMonth (mes)
{
	if (mes=="08")
		return(8);
	if (mes=="09")
		return(9);
	return parseInt(mes);	
}

function comparacion_fechas (finicio, ffinal, merc)
{
 if (merc==2)
 {
 var dini=new Date(finicio.substring(6,10),parseMonth(finicio.substring(0,2))-1,finicio.substring(3,5));
 var dfin=new Date(ffinal.substring(6,10),parseMonth(ffinal.substring(0,2))-1,ffinal.substring(3,5));
 }
else
 {
 var dini=new Date(finicio.substring(6,10),parseMonth(finicio.substring(3,5))-1,finicio.substring(0,2));
 var dfin=new Date(ffinal.substring(6,10),parseMonth(ffinal.substring(3,5))-1,ffinal.substring(0,2));
 }
 if (dini>=dfin) {return false;} 
 return true;
}

function comparacion_fechas_sinmerc (finicio, ffinal)
{
 var dini=new Date(finicio.substring(6,10),parseMonth(finicio.substring(3,5))-1,finicio.substring(0,2));
 var dfin=new Date(ffinal.substring(6,10),parseMonth(ffinal.substring(3,5))-1,ffinal.substring(0,2));
 if (dini>dfin) {return false;} 
 return true;
}
function es_numero(input)
{
var cadena="0123456789";
var i;
var numero=1;
if (input.length==0)
	return false;
for (i=0;i<input.length;i++)
  {
  if (cadena.indexOf(input.substring(i,i+1))==-1)
       {
       numero=0;
       }
  }
if (numero==1)
  {return true;}
  else
  {return false;}
}

function damefecha( fechaeu )
{
 if (fechaeu.substr(0,1)=="0")
 	{dia = parseInt(fechaeu.substr(1,1));}
 else
 	{dia = parseInt(fechaeu.substr(0,2));}
 
 if (fechaeu.substr(3,1)=="0")
 	{mes = parseInt(fechaeu.substr(4,1))-1;}
 else
 	{mes = parseInt(fechaeu.substr(3,2))-1;}
 	
 fec = new Date(parseInt(fechaeu.substr(6,4)),mes,dia);
 return (fec);
}

function handleEnterfechanoches(event)
{

 var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
 if (keyCode == 13) { actualiza_fecha_salida(); return false;}
 return true;
}

function calendario_damedia ( obj, mescal )
{
	
	var mes2;
	var anyo2;
	
	if (mescal < 12)
	{
		mes2 = mescal;
		anyo2 = anyodisp;
	}else{
		mes2 = 0;
		anyo2 = anyodisp+1;
	}
	
 if(obj.innerHTML!="")
 	{
 	strdia="0"+obj.innerHTML;
 	strdia=strdia.substr(strdia.length-2,2);
 	strmes="0"+(mes2+1);
 	strmes=strmes.substr(strmes.length-2,2);
 	
 	
 	fec_hoy = new Date();
 	dia_hoy = "0"+fec_hoy.getDate();
 	mes_hoy = "0"+(fec_hoy.getMonth()+1);
 	ano_hoy = fec_hoy.getFullYear();
 	
 	if(!comparacion_fechas_sinmerc (dia_hoy.substr(dia_hoy.length-2,2)+"/"+mes_hoy.substr(mes_hoy.length-2,2)+"/"+ano_hoy,strdia+"/"+strmes+"/"+anyo2))
 		return;
 	
 	if (fecha_destino==1)
 		{
 		SELECCIONADO1_DIA=parseInt(obj.innerHTML);
 		SELECCIONADO1_MES=strmes-1;
 		SELECCIONADO1_ANYO=anyo2;
 		window.document.busquedadisponibilidad.fechaini.value = formatear_texto(obj.innerHTML, mes2, anyo2);
		actualiza_fecha_salida();
		document.getElementById('DISPCALENDARIO').style.visibility='hidden';
		//window.document.busquedadisponibilidad.fechanoches.focus();
 		}
 	else if (fecha_destino==2)
 		{
 		SELECCIONADO2_DIA=parseInt(obj.innerHTML);
 		SELECCIONADO2_MES=strmes-1;
 		SELECCIONADO2_ANYO=anyo2;
 		fechas_correctas_desdefin();
		window.document.busquedadisponibilidad.fechafin.value = formatear_texto(obj.innerHTML, mes2, anyo2);
 		fecentrada = damefecha(sinformato(window.document.busquedadisponibilidad.fechaini.value));
 		fecsalida  = damefecha(sinformato(window.document.busquedadisponibilidad.fechafin.value));
		window.document.busquedadisponibilidad.fechanoches.value = Math.round((fecsalida-fecentrada)/86400000);
		document.getElementById('DISPCALENDARIO').style.visibility='hidden';
 		}
 	}
 calendario_situado=0;
 try{RecargaRv();}catch(e){}//Función en nprv2resultadosdisponibilidad_min.asp
}

function calcula_dia_inicio_mes ()
{
 DIA1SEMANAINICIO=DIA1ENERO;

 for (a=DIA1ANO;a<anyo;a++)
 	{
 	for (m=0;m<12;m++)
 		{
 		//Años bisiestos
 		if (m==1 && (a%4)==0) DIA1SEMANAINICIO++;
 		DIA1SEMANAINICIO += DIASMAXIMOS[m];
 		DIA1SEMANAINICIO%=7;
 		}
 	}
 for (m=0;m<mes;m++)
 		{
 		//Años bisiestos
 		if (m==1 && (anyo%4)==0) DIA1SEMANAINICIO++;
 		DIA1SEMANAINICIO += DIASMAXIMOS[m];
 		DIA1SEMANAINICIO%=7;
 		}
}

function calcula_dias_maximos_mes ( mes, anyo )
{
if ((mes==1 && (anyo%4)==0 && (anyo%100)!= 0 ) || (mes==1 && (anyo%400)==0 ) ) return (29);
 return DIASMAXIMOS[mes];
}

function fechas_correctas_desdeinicio()
{
 // Por si INICIO > FINAL
 if (SELECCIONADO2_ANYO > SELECCIONADO1_ANYO)
 	return;
 if (SELECCIONADO2_ANYO == SELECCIONADO1_ANYO && SELECCIONADO2_MES > SELECCIONADO1_MES)
 	return;
 if (SELECCIONADO2_ANYO == SELECCIONADO1_ANYO && SELECCIONADO2_MES == SELECCIONADO1_MES && SELECCIONADO2_DIA > SELECCIONADO1_DIA)
 	return;

 SELECCIONADO2_DIA  = parseInt(SELECCIONADO1_DIA)+1;
 SELECCIONADO2_MES  = SELECCIONADO1_MES;
 SELECCIONADO2_ANYO = SELECCIONADO1_ANYO;

 if (SELECCIONADO2_DIA > calcula_dias_maximos_mes (SELECCIONADO2_MES,SELECCIONADO2_ANYO))
 	 {
 	 SELECCIONADO2_DIA = 1;
 	 SELECCIONADO2_MES ++;
 	 if ( SELECCIONADO2_MES >= 12 )
 	 	{
 	 	SELECCIONADO2_MES = 00;
 	 	SELECCIONADO2_ANYO ++;
 	 	}
 	 }
 window.document.busquedadisponibilidad.fechafin.value = formatear_texto (SELECCIONADO2_DIA, SELECCIONADO2_MES, SELECCIONADO2_ANYO);
}


function fechas_correctas_desdefin()
{
 // Por si FINAL < INICIO
 if (SELECCIONADO2_ANYO > SELECCIONADO1_ANYO)
 	return;
 if (SELECCIONADO2_ANYO == SELECCIONADO1_ANYO && SELECCIONADO2_MES > SELECCIONADO1_MES)
 	return;
 if (SELECCIONADO2_ANYO == SELECCIONADO1_ANYO && SELECCIONADO2_MES == SELECCIONADO1_MES && SELECCIONADO2_DIA > SELECCIONADO1_DIA)
 	return;

 SELECCIONADO1_DIA  = parseInt(SELECCIONADO2_DIA-1);
 SELECCIONADO1_MES  = SELECCIONADO2_MES;
 SELECCIONADO1_ANYO = SELECCIONADO2_ANYO;
 if (SELECCIONADO1_DIA <= 0)
 	 {
 	 SELECCIONADO1_MES --;
 	 if ( SELECCIONADO1_MES <= 0 )
 	 	{
 	 	SELECCIONADO1_ANYO --;
 	 	SELECCIONADO1_MES = 11;
 	 	SELECCIONADO1_DIA = 31;
 	 	}
 	 else	{
 	 	SELECCIONADO1_DIA = calcula_dias_maximos_mes (SELECCIONADO1_MES,SELECCIONADO1_ANYO);
 		}
 	 }
 window.document.busquedadisponibilidad.fechaini.value = formatear_texto (SELECCIONADO1_DIA, SELECCIONADO1_MES, SELECCIONADO1_ANYO);
}

function entre_fechasdisp2 ( dia, mes, anyo, filtro1, filtro2, filtro3 )
{
 if (1==1 || HOTEL_CON_DETALLE==window.document.busquedadisponibilidad.buscadordisponibilidadlistadohoteles.value)
 	{
	fecha = new Date (parseInt(anyo), parseInt(mes), parseInt(dia));
	suma1=(filtro1!="false")?false:true;
	suma2=(filtro2!="false")?false:true;
	suma3=(filtro3!="false")?false:true;
	habitacion1=-1;
	habitacion2=-1;
	habitacion3=-1;
	for(x=0;x<dDISP.length;x++)
		{
		if(!(dDISP[x][0]-fecha))
			{
			if (eval(filtro1))
				{
				if(dDISP[x][1]==habitacion2 && dDISP[x][1]==habitacion3 && dDISP[x][2]>2)
					{suma1=true; habitacion1=dDISP[x][1];}
				else if (dDISP[x][1]!=habitacion2 && dDISP[x][1]!=habitacion3)
					{suma1=true; habitacion1=dDISP[x][1];}
				else if (dDISP[x][1]!=habitacion2 && dDISP[x][2]>1)
					{suma1=true; habitacion1=dDISP[x][1];}
				else if (dDISP[x][1]!=habitacion3 && dDISP[x][2]>1)
					{suma1=true; habitacion1=dDISP[x][1];}
				}
			if (eval(filtro2))
				{
				if(dDISP[x][1]==habitacion1 && dDISP[x][1]==habitacion3 && dDISP[x][2]>2)
					{suma2=true; habitacion2=dDISP[x][1];}
				else if (dDISP[x][1]!=habitacion1 && dDISP[x][1]!=habitacion3)
					{suma2=true; habitacion2=dDISP[x][1];}
				else if (dDISP[x][1]!=habitacion1 && dDISP[x][2]>1)
					{suma2=true; habitacion2=dDISP[x][1];}
				else if (dDISP[x][1]!=habitacion3 && dDISP[x][2]>1)
					{suma2=true; habitacion2=dDISP[x][1];}
				}
			if (eval(filtro3))
				{
				if(dDISP[x][1]==habitacion1 && dDISP[x][1]==habitacion2 && dDISP[x][2]>2)
					{suma3=true; habitacion3=dDISP[x][1];}
				else if (dDISP[x][1]!=habitacion1 && dDISP[x][1]!=habitacion2)
					{suma3=true; habitacion3=dDISP[x][1];}
				else if (dDISP[x][1]!=habitacion1 && dDISP[x][2]>1)
					{suma3=true; habitacion3=dDISP[x][1];}
				else if (dDISP[x][1]!=habitacion2 && dDISP[x][2]>1)
					{suma3=true; habitacion3=dDISP[x][1];}
				}
			}
		}
	return((suma1&&suma2&&suma3)?"#57e652":false);
	}
 return (false);
}

function fuera_contrato ( dia, mes, anyo )
{
 if (HOTEL_CON_DETALLE==window.document.busquedadisponibilidad.buscadordisponibilidadlistadohoteles.value)
 	{
 	if((dFECHAS_CERRADO.length==1) && dFECHAS_CERRADO[0][0]==0)
 		return false;
	fuera=true;
	fec = new Date(parseInt(anyo),parseInt(mes),parseInt(dia));
	for(x=0;x<dFECHAS_CERRADO.length;x++)
		{
		if ((dFECHAS_CERRADO[x][0]<=fec) && (dFECHAS_CERRADO[x][1]>=fec))
			fuera = false;
		}
	return (fuera);
	}
 return (false);
}
function calcula_dia_inicio_mesdisp ()
{
 DIA1SEMANAINICIOdisp=DIA1ENEROdisp;

 for (a=DIA1ANOdisp;a<anyodisp;a++)
 	{
 	for (m=0;m<12;m++)
 		{
 		//Años bisiestos
 		if (m==1 && (a%4)==0) DIA1SEMANAINICIOdisp++;
 		DIA1SEMANAINICIOdisp += DIASMAXIMOS[m];
 		DIA1SEMANAINICIOdisp%=7;
 		}
 	}
 for (m=0;m<mesdisp;m++)
 		{
 		//Años bisiestos
 		if (m==1 && (anyodisp%4)==0) DIA1SEMANAINICIOdisp++;
 		DIA1SEMANAINICIOdisp += DIASMAXIMOS[m];
 		DIA1SEMANAINICIOdisp%=7;
 		}
}
var animatedcollapseready=false;
var last_calendario=false;

function disp_mensaje (tipo, mensaje,opcional)
{
	opcional = opcional || ""; //parametro opcional para que no muestre la caja
	//alert("TIPO="+tipo);
	if(tipo=="calendario")
	{
		//refresca_calendariorv('calendarioRV_',0);
		refresca_calendario2m('calendariov2_',0);
		document.getElementById('DISPCALENDARIO').style.visibility='visible';
		return;
	}

	if(document.getElementById('caja_nodisponibilidad_desc')==null)
	{
		setTimeout("disp_mensaje('"+tipo+"','"+mensaje+"')",100);
		return;
	}
	if(animatedcollapseready==false)
	{
		setTimeout("disp_mensaje('"+tipo+"','"+mensaje+"')",500);
		return;
	}
	document.getElementById('caja_sidisponibilidad_desc').style.display='none';
	document.getElementById('caja_nodisponibilidad_tabla').style.display='block';
	document.getElementById('caja_nodisponibilidad_tabla_habmin').style.display='none';
	switch(tipo)
	{
		case "error":
			last_calendario=false;
			document.getElementById('caja_nodisponibilidad_desc').innerHTML=mensaje;
			document.getElementById('caja_nodisponibilidad_desc2').innerHTML=opcional;
			document.getElementById('caja_nodisponibilidad_tabla_habmin_desc').innerHTML=mensaje;
			
			document.getElementById('caja_nodisponibilidad_tabla').style.display='none';
			document.getElementById('caja_nodisponibilidad_tabla_habmin').style.display='block';
			document.getElementById('caja_nodisponibilidad_desc').style.display='block';
			document.getElementById('caja_nodisponibilidad_calendarios').style.display='none';
			document.getElementById('disponibilidad_criterios').style.display='none';
			document.getElementById('disponibilidad_cerrado').style.display='none';
						
			if (document.getElementById('caparesultadodisponibilidad'))
				document.getElementById('caparesultadodisponibilidad').style.display='none';
			
			if(document.getElementById('caja_nodisponibilidad'))
				$('.nprv2sindisponibilidad').show();
				//animatedcollapse.show('caja_nodisponibilidad');
			document.getElementById('DISPCALENDARIO').style.visibility='hidden';
			break;

		case "nodisponibilidad":
			last_calendario=true;
			refresca_calendariorv("calendarioRV_",0);
			document.getElementById('caja_nodisponibilidad_desc').style.display='none';
			document.getElementById('caja_nodisponibilidad_calendarios').style.display='block';
						document.getElementById('disponibilidad_criterios').style.display='block';
			document.getElementById('disponibilidad_cerrado').style.display='block';
			if (document.getElementById('caparesultadodisponibilidad'))
				document.getElementById('caparesultadodisponibilidad').style.display='none';
			
			//if(document.getElementById('caja_nodisponibilidad'))
				$('.nprv2sindisponibilidad').show();
				//animatedcollapse.show('caja_nodisponibilidad');
			document.getElementById('DISPCALENDARIO').style.visibility='hidden';
			break;

		case "ok":
			if(last_calendario==false)
			{
				if(document.getElementById('caja_nodisponibilidad'))
					//animatedcollapse.hide('caja_nodisponibilidad');
					$('.nprv2sindisponibilidad').hide();
				if(document.getElementById('caparesultadodisponibilidad'))
					document.getElementById('caparesultadodisponibilidad').style.display='block';
			}
			else
			{
				refresca_calendariorv("calendarioRV_",0);
				document.getElementById('caja_sidisponibilidad_desc').style.display='block';
			}
			document.getElementById('DISPCALENDARIO').style.visibility='hidden';
			break;

		default:
			refresca_calendariorv("calendarioRV_",0);
			last_calendario=true;
			if (document.getElementById('caparesultadodisponibilidad'))
				document.getElementById('caparesultadodisponibilidad').style.display='block';
			document.getElementById('caja_nodisponibilidad_desc').innerHTML="";
			document.getElementById('caja_nodisponibilidad_desc').style.display='none';
			document.getElementById('caja_nodisponibilidad_calendarios').style.display='block';
			document.getElementById('disponibilidad_criterios').style.display='block';
			document.getElementById('disponibilidad_cerrado').style.display='block';

			if(document.getElementById('caja_nodisponibilidad'))
				//animatedcollapse.show('caja_nodisponibilidad');
				$('.nprv2sindisponibilidad').show();
			document.getElementById('DISPCALENDARIO').style.visibility='hidden';
			break;
		
	}
}

function fecha2strfechaeu (fecha)
{
 dia_ = "0"+fecha.getDate();
 mes_ = "0"+(fecha.getMonth()+1);
 ano_ = fecha.getFullYear();
 return(dia_.substr(dia_.length-2,2)+"/"+mes_.substr(mes_.length-2,2)+"/"+ano_);
}
function incrementa_fecha (fecha_inicio,incremento)
{
	
 dia_inicio = fecha_inicio.getDate();
 mes_inicio = fecha_inicio.getMonth();
 ano_inicio = fecha_inicio.getFullYear();
 inc=parseInt(incremento);
 while (incremento>calcula_dias_maximos_mes(mes_inicio,ano_inicio))
 	{
	incremento-=calcula_dias_maximos_mes(mes_inicio,ano_inicio);
 	mes_inicio++;
 	if (mes_inicio==12) {mes_inicio=0; ano_inicio++;}
 	}
 dia_inicio+=incremento;
 
 if (dia_inicio>calcula_dias_maximos_mes(mes_inicio,ano_inicio))
 	{
 	dia_inicio-=calcula_dias_maximos_mes(mes_inicio,ano_inicio);
 	mes_inicio++;
 	if (mes_inicio==12) {mes_inicio=0; ano_inicio++;}
 	} 
 dia_entrega = new Date (ano_inicio,mes_inicio,dia_inicio);
 return (dia_entrega);
}


function corresponde_catconhab(cat,hab)
{
 if (cat==-1){return(true);}
 
 for (ch=0;ch<dCATxHAB.length;ch++)
 	{
 	if((dCATxHAB[ch][0]==hab) && (dCATxHAB[ch][1]==cat))
 		return (true);
 	}
 return (false);
}

function jsCambiaFormatoFecha(fechaE)
{
	var arrFecha = fechaE.split("/");
	fechaA = arrFecha[1] +"/"+ arrFecha[0] +"/"+ arrFecha[2];
	return (fechaA);
}

function dame_estanciasminimascerradas (dfinicio, habitacion)
{
	fecini=new Date (dfinicio);
	for (ez=0; ez < dESTAMINCERRADA.length ; ez++ )
	{
		if (dESTAMINCERRADA[ez][0] > fecini  )
		{
			return 99;
		}
		else
		{
			if ((dESTAMINCERRADA[ez][0]+"") == (fecini+""))
			{	
				return dESTAMINCERRADA[ez][2];
			}
		}
	}
}

function minimo (v1, v2)
{
	if (v1 > v2)
	{
		return v2;
	}
	else
	{
		return v1;
	}
}

function dame_estanciasminimas(dfinicio,habitacion)
{
 fecini=new Date (dfinicio);
 estanciaminimacerrada = 99;
 if (haycerradas == "si")
	estanciaminimacerrada  = dame_estanciasminimascerradas (dfinicio, habitacion);

 for (em=0;em<dESTAMIN.length;em++)
 {
 	if(dESTAMIN[em][0]<=fecini && dESTAMIN[em][1]>=fecini && ((dESTAMIN[em][2]==-1) || (dESTAMIN[em][2]==habitacion)))
 	{
		return minimo(dESTAMIN[em][3],estanciaminimacerrada); 
	}
 }
 return (1);
}
function dame_release(dfinicio,habitacion)
{
 fecini=new Date (dfinicio);
 for (re=0;re<dRELE.length;re++)
 	{
 	if(dRELE[re][1]==habitacion)
 		{ return (dRELE[re][2]); }
 	}
 return (1);
}


function max (val1, val2)
{
	if (val1 > val2)
	{
		return val1;
	}
	return val2;
}
function Dame_huesmax (habcodi)
{
	usos = 0;
		
	for (c=0; c < dHABxHOT.length ; c++ )
	{
		if (dHABxHOT[c][0] == centcodi)
		{
			if (habcodi != -1)
			{
				if (dHABxHOT[c][1] == habcodi)
				{
					usos = max(dHABxHOT[c][3],usos);
				}
			}
			else
			{
					usos = max(dHABxHOT[c][3],usos);
			}
		}
	}
	err_hues_maximos = usos;
	return usos;
}
function Dame_bebesmax (habcodi)
{
	usos = 0;
		
	for (c=0; c < dHABxHOT.length ; c++ )
	{
		if (dHABxHOT[c][0] == centcodi)
		{
			if (habcodi != -1)
			{
				if (dHABxHOT[c][1] == habcodi)
				{
					usos = max(dHABxHOT[c][4],usos);
				}
			}
			else
			{
					usos = max(dHABxHOT[c][4],usos);
			}
		}
	}
	err_bebes_maximos = usos;
	return usos;
}

