//Esta función se llama al seleccionar una fecha del calendario y debe refrescar los combos de
//dia y mes+año a la fecha seleccionada
//La fecha pasada por parametro es la que nos devuelve el calendario flotante
//Se supone que está en formato dd/mm/aaaa y libre de errores.
//Si ini=0, estamos cambiando la fecha fin (fecha salida), si ini=1, estamos cambiando la fecha ini (entrada)
var urldelay="";

function fechaSeleccCalendario (fecha, ini) {
	
	//Separamos la fecha en dia-mes-año
	fechaSplitted = fecha.split("/");
	fDia = fechaSplitted[0];
	fMes = fechaSplitted[1];
	fAno = fechaSplitted[2];

	//alert("fdia: "+fDia+", fMes: "+fMes+", fAno: "+fAno+", ini: "+ini);	

	if (ini=="1")
		identificadorDia = "Ini";
	else
		identificadorDia = "Fin";

	//Creamos unos objetos para la lista de dias y de meses
	listaDias  = document.getElementById("dia"+identificadorDia);
	listaMeses = document.getElementById("mes"+identificadorDia);
	
	//Guardamos el valor de la opción seleccionada por si se produce un error volver a marcarla
	backupIndiceDia = listaDias.selectedIndex;
	backupIndiceMes = listaMeses.selectedIndex;

	//Seleccionamos del combo dia y mes la opcion correspondiente a la fecha pasada por parametro
	listaDias.value=fDia;
	//alert(fMes+"_"+fAno);
	listaMeses.value=fMes+"_"+fAno;

	//Si se pasa de dia, seleccionamos el ultimo (Caso poco probable)
	if (listaDias.selectedIndex==-1) {
		listaDias.selectedIndex = backupIndiceDia;
		alert("La fecha seleccionada no es válida.");
	}

	//Si se pasa de mes o año, seleccionamos el ultimo
	if (listaMeses.selectedIndex==-1) {
		listaMeses.selectedIndex = backupIndiceMes;
		alert("La fecha seleccionada no es válida.");
	}
}

function  actualizaListaDiasFin(valorMes, esHome, idi, esSegundoNivel) {
	var diaSel = document.getElementById("diaFin").value;
	var mesSel = document.getElementById("mesFin").value;
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarListaDiasFin.jsp?mes_anyo="+mesSel+"&dia="+diaSel+"&idioma="+idi;
}

function  actualizaListaDiasFinFH(valorMes, idi, codOfe, codHot, codCta, tF, tMin, tMax) {
	var diaSel = document.getElementById("fh_diaFin").value;
	var mesSel = document.getElementById("fh_mesFin").value;
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarListaDiasFinFH.jsp?mes_anyo="+mesSel+"&dia="+diaSel+"&idioma="+idi+"&p_codofe="+codOfe+"&p_codhot="+codHot+"&p_codcta="+codCta+"&txtFechas="+tF+"&txtMin="+tMin+"&txtMax="+tMax;
}

function  actualizaListaDiasFinPex(valorMes, esHome, idi, esSegundoNivel) {
	var diaSel = document.getElementById("diaFin").value;
	var mesSel = document.getElementById("mesFin").value;	
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarListaDiasFinPex.jsp?mes_anyo="+mesSel+"&dia="+diaSel+"&idioma="+idi;
}

function  actualizaListaDiasIni(valorMes, esHome, idi, esSegundoNivel) {
	var diaSel = document.getElementById("diaIni").value;
	var mesSel = document.getElementById("mesIni").value;
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarListaDiasIni.jsp?mes_anyo="+mesSel+"&dia="+diaSel+"&idioma="+idi;
}

function  actualizaListaDiasIniFH(valorMes, idi, codOfe, codHot, codCta, tF, tMin, tMax) {
	var diaSel = document.getElementById("fh_diaIni").value;
	var mesSel = document.getElementById("fh_mesIni").value;
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarListaDiasIniFH.jsp?mes_anyo="+mesSel+"&dia="+diaSel+"&idioma="+idi+"&p_codofe="+codOfe+"&p_codhot="+codHot+"&p_codcta="+codCta+"&txtFechas="+tF+"&txtMin="+tMin+"&txtMax="+tMax;
}

function  actualizaListaDiasIniPex(valorMes, esHome, idi, esSegundoNivel) {
	var diaSel = document.getElementById("diaIni").value;
	var mesSel = document.getElementById("mesIni").value;
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarListaDiasIniPex.jsp?mes_anyo="+mesSel+"&dia="+diaSel+"&idioma="+idi;
}

function  actualizaDiaForm(inicial, esHome, idi, esSegundoNivel) {
		
	if (inicial==1) {
		diaSel = document.getElementById("diaIni").value;
	} else {
		diaSel = document.getElementById("diaFin").value;
	}

	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarDiaSesion.jsp?dia="+diaSel+"&ini="+inicial+"&idioma="+idi;	
}

function  actualizaDiaFormFH(inicial, idi, codOfe, codHot, codCta, tF, tMin, tMax) {
	
	if (inicial==1) {
		diaSel = document.getElementById("fh_diaIni").value;
	} else {
		diaSel = document.getElementById("fh_diaFin").value;
	}

	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarDiaSesionFH.jsp?dia="+diaSel+"&ini="+inicial+"&idioma="+idi+"&p_codofe="+codOfe+"&p_codhot="+codHot+"&p_codcta="+codCta+"&txtFechas="+tF+"&txtMin="+tMin+"&txtMax="+tMax;	
}

function  actualizaDiaFormPex(inicial, esHome, idi, esSegundoNivel) {
	
	if (inicial==1)
		diaSel = document.getElementById("diaIni").value;
	else
		diaSel = document.getElementById("diaFin").value;
	
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarDiaSesionPex.jsp?dia="+diaSel+"&ini="+inicial+"&idioma="+idi;
}

function  actualizaListaHotelesDestino(valorDestino, esHome,idi, esSegundoNivel) {

	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarHoteles.jsp?destino="+valorDestino+"&idioma="+idi;
	
	if (document.getElementById("frameactualizaninos"))
		document.getElementById("frameactualizaninos").src="/hotel/jsp_utils/actualizaComboEdatNin.jsp?destino="+document.getElementById("destinos").value+"&idioma="+idi+"&zona="+document.getElementById("zonas").value+"&hotel="+document.getElementById("hoteles").value;	
}

function  actualizaListaHotelesDestinoPex(valorDestino, esHome,idi, esSegundoNivel) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarHoteles.jsp?destino="+valorDestino+"&idioma="+idi+"&formPromos=S";	
}

function  actualizaListaHotelesZonaPex(valorZona, esHome,idi, esSegundoNivel) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarHoteles.jsp?zona="+valorZona+"&idioma="+idi+"&formPromos=S";
}

function  actualizaHotelPex(valorHotel, esHome, idioma, esSegundoNivel) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizaHotelSesion.jsp?hotel="+valorHotel+"&idioma="+idioma+"&formPromos=S";
}

function borraDatosUbicacionPexSesion(idioma) {
	document.getElementById("frameActualizador").src="/hotel/"+idioma+"/jsp/borraDatosUbicacionPexSesion.jsp?idioma="+idioma;
}

function  actualizaListaHotelesZona(valorZona, esHome, idi, esSegundoNivel) {

	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarHoteles.jsp?zona="+valorZona+"&idioma="+idi;
	
	if (document.getElementById("frameactualizaninos"))
		document.getElementById("frameactualizaninos").src="/hotel/jsp_utils/actualizaComboEdatNin.jsp?destino="+document.getElementById("destinos").value+"&idioma="+idi+"&zona="+document.getElementById("zonas").value+"&hotel="+document.getElementById("hoteles").value;	
}

function  actualizaListaHotelesDestinoGrupo(valorDestino, esHome,idi, esSegundoNivel) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarHotelesGrupo.jsp?destino="+valorDestino+"&idioma="+idi;	
}

function  actualizaListaHotelesZonaGrupo(valorZona, esHome,idi, esSegundoNivel) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarHotelesGrupo.jsp?zona="+valorZona+"&idioma="+idi;
}

function  actualizaHotel(valorHotel, esHome, idioma, esSegundoNivel) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizaHotelSesion.jsp?hotel="+valorHotel+"&idioma="+idioma+"&esHome="+esHome;
	
	if (document.getElementById("frameactualizaninos"))
		document.getElementById("frameactualizaninos").src="/hotel/jsp_utils/actualizaComboEdatNin.jsp?destino="+document.getElementById("destinos").value+"&idioma="+idioma+"&zona="+document.getElementById("zonas").value+"&hotel="+valorHotel;	
}

function  actualizaMarcadorProcesoBusqueda(valor, codHot, esHome, idi, esSegundoNivel) {
	var ruta = "";
	if (!esHome && !esSegundoNivel) {
		ruta = "../../";
	}else{
		if (!esHome && esSegundoNivel){
			ruta = "../../../";
		}
		else{
			if (esHome && esSegundoNivel) {
				ruta="../";
			}else{
				if (esHome && !esSegundoNivel){
					ruta="";
				}
			}
		}
	}
	document.getElementById("frameActualizador").src=ruta+"jsp/marcadorProcesoBusqueda.jsp?valor="+valor+"&codHot="+codHot+"&idioma="+idi;
}

function  actualizaMarcadorPromociones(valor, esHome, idi, codHot, esSegundoNivel) {
	var ruta = "";
	if (!esHome && !esSegundoNivel) {
		ruta = "../../";
	}else{
		if (!esHome && esSegundoNivel){
			ruta = "../../../";
		}
		else{
			if (esHome && esSegundoNivel) {
				ruta="../";
			}else{
				if (esHome && !esSegundoNivel){
					ruta="";
				}
			}
		}
	}
	//alert("marcador promociones con codHot="+codHot);
	document.getElementById("frameActualizador").src=ruta+"jsp/marcadorPromociones.jsp?valor="+valor+"&idioma="+idi+"&codHot="+codHot;
}

function  actualizaMarcadorPromocionesNuevo(valor, idi, codHot) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/marcadorPromociones.jsp?valor="+valor+"&idioma="+idi+"&codHot="+codHot;
}

//Solo subir a PRO cuando se suba la nueva FH
function abrirCalendario (fecha, dia, inicial, nombrePagina, idioma,diaHoy) {
	
	var fecha_s = fecha.split("_");
	var mes = fecha_s[0];
	var ano = fecha_s[1];

	document.getElementById("frameActualizador").src='/hotel/'+idioma+'/calendario.jsp?mes='+mes+'&ano='+ano+'&inicial='+inicial+'&pag='+nombrePagina+'&dia='+dia+'&hoy='+diaHoy;
	
	if (nombrePagina=='HOME') {
		document.getElementById("divCalendarioDispo").className="divCalendarioForms_ho";
	}else{
		if (nombrePagina=='GRUPOS') {
			document.getElementById("divCalendarioDispo").className="divCalendarioForms_gr";
		}else{
			if (nombrePagina=='FH') {
				document.getElementById("divCalendarioDispo").className="divCalendarioForms_fh";
			}else{
				if (nombrePagina=='PROMOS') {
					document.getElementById("divCalendarioDispo").className="divCalendarioForms_of";
				}else{
					if (nombrePagina=='FH_OFE') {
						document.getElementById("divCalendarioDispo").className="divCalendarioForms_fh_of";
					}else{
						if (nombrePagina=='PR') {
							document.getElementById("divCalendarioDispo").className="divCalendarioForms_pr";
						}
					}
				}
			}
		}
	}
}

function abrirCalendarioInfoOferta (fecha, dia, inicial, nombrePagina, idioma, codOfe, codHot, codCta, tFechas, tMin, tMax) {
	
	var fecha_s = fecha.split("_");
	var mes = fecha_s[0];
	var ano = fecha_s[1];

	document.getElementById("frameActualizador").src='/hotel/'+idioma+'/calendario.jsp?mes='+mes+'&ano='+ano+'&inicial='+inicial+'&pag='+nombrePagina+'&dia='+dia+'&p_codofe='+codOfe+'&p_codhot='+codHot+'&p_codcta='+codCta+'&msjFechas='+tFechas+'&msjMin='+tMin+'&msjMax='+tMax;	

	if (nombrePagina=='FH_OFE') {
		document.getElementById("divCalendarioDispo").className="divCalendarioForms_fh_of";
	}
}

function ocultarDivCalendario () {
	window.top.document.getElementById('divCalendarioDispo').innerHTML="";
	window.top.document.getElementById('divCalendarioDispo').className="divCalendarioForms";
}

function  actualizaNumHabitacionesSesion(valorHab, idioma, esFormLateral) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarHabitacionesSesion.jsp?numHab="+valorHab+"&idioma="+idioma+"&esFormLateral="+esFormLateral;
}

function  actualizaNumHabitacionesSesionFH(valorHab, esHome, idioma, esSegundoNivel) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarHabitacionesSesionFH.jsp?numHab="+valorHab+"&idioma="+idioma;
}

function  actualizaNumAdultosSesion(numAdul, numHab,idioma) {
	
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarAdultosSesion.jsp?numAdul="+numAdul+"&numHab="+numHab+"&idioma="+idioma;
}

function  actualizaNumAdultosSesionFH(numAdul, numHab, esHome, idioma, esSegundoNivel) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarAdultosSesionFH.jsp?numAdul="+numAdul+"&numHab="+numHab+"&idioma="+idioma;
}

function  actualizaListaRegimen(hot, idioma) {
	document.getElementById("frameRegimenes").src="../../jsp_utils/actualizarRegimen.jsp?codHot="+hot+"&idioma="+idioma;
}

function  actualizaNumHabitacionesSesionPaq(valorHab, idioma) {
	
	document.getElementById("frameActualizador").src="../jsp_utils/actualizarHabitacionesSesionPaquetes.jsp?numHab="+valorHab+"&idioma="+idioma;
}

function  actualizaNumAdultosSesionPaq(numAdul, numHab, idioma) {

	document.getElementById("frameActualizador").src="../jsp_utils/actualizarAdultosSesionPaquetes.jsp?numAdul="+numAdul+"&numHab="+numHab+"&idioma="+idioma;
}

function  actualizaNumNinosSesionPaq(numNin, numHab, idioma) {
	
	document.getElementById("frameActualizador").src="../jsp_utils/actualizarNinosSesionPaquetes.jsp?numNin="+numNin+"&numHab="+numHab+"&idioma="+idioma;
}

function  actualizaEdadNinosSesionPaq(edad, numHab, numNino, idioma) {

	document.getElementById("frameActualizador").src="../jsp_utils/actualizaEdadNinosSesionPaquetes.jsp?edadNino="+edad+"&numHab="+numHab+"&numNino="+numNino+"&idioma="+idioma;
}

function  actualizaNumBebesSesionPaq(numBeb, numHab, idioma) {
	
	document.getElementById("frameActualizador").src="../jsp_utils/actualizarBebesSesionPaquetes.jsp?numBeb="+numBeb+"&numHab="+numHab+"&idioma="+idioma;
}

function  actualizaNumNinosSesion(numNin, numHab, idioma) {
	
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarNinosSesion.jsp?numNin="+numNin+"&numHab="+numHab+"&idioma="+idioma;
}

function  actualizaNumBebesSesion(numBeb, numHab, idioma) {
	
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarBebesSesion.jsp?numBeb="+numBeb+"&numHab="+numHab+"&idioma="+idioma;
}

function  actualizaEdadNinosSesion(edad, numHab, numNino, idioma) {
	
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizaEdadNinosSesion.jsp?edadNino="+edad+"&numHab="+numHab+"&numNino="+numNino+"&idioma="+idioma;
}

function validarFormularioDispo (mensajeBuscando, arrayMensajes,idioma, esB2b, verCopB2b, verCtaB2b) {

	if (!mensajeBuscando || mensajeBuscando=="")
		mensajeBuscando = " ... ";
	
	var errores = new Array();
	var e		= 0;
	var destino = document.getElementById('destinos').value;
	var zona    = document.getElementById('zonas').value;
	var hotel   = document.getElementById('hoteles').value;
	var fecIni  = document.getElementById('diaIni').value+"/"+document.getElementById('mesIni').value.replace("_", "/");
	var fecFin  = document.getElementById('diaFin').value+"/"+document.getElementById('mesFin').value.replace("_", "/");
	var numHab  = document.getElementById('dispo_numero_habit').value;
	var adultos = new Array();
	var promocode = document.getElementById('promoCode').value;
	var codcop_b2b = null;
	var codcta_b2b = null;
	if (esB2b!=null && esB2b && verCopB2b!=null && verCopB2b && document.getElementById('b2b_pai')!=null){
		codcop_b2b = document.getElementById('b2b_pai').value;
	}
	if (esB2b!=null && esB2b && verCtaB2b!=null && verCtaB2b && document.getElementById('b2b_cta')!=null){
		codcta_b2b = document.getElementById('b2b_cta').value;
	}
	
   	if (promocode=="" || promocode=="null" || promocode=="undefined") {
  		
			var n = 0;
			var iframeHab = document.getElementById('iframeHabitaciones');
			var docIframeHab = iframeHab.contentDocument || iframeHab.contentWindow.document; 
			while (n<parseInt(numHab)) {
				adultos[n] = docIframeHab.getElementById('dispo_numero_adultos_'+(n+1)).value;	
				n++;
			}
		
			var diaHoy = new Date();
			var diaHoy_s = diaHoy.getDate()+"/"+(diaHoy.getMonth()+1)+"/"+diaHoy.getFullYear();
			
			var resFechas   = compararFechas(fecIni, fecFin);
			//alert("resultado compararFechas(fecIni, fecFin)="+resFechas);
			var resFechas_b = compararFechas(fecIni, diaHoy_s);
			//alert("resultado compararFechas(fecIni, diaHoy_s)="+resFechas_b);
			
			if (resFechas_b<1) {
				if (resFechas<1) { //La fecha hoy es menor que la fecha ini 
					errores[e] = recuperar_valor_array('FORM_DISPO_1_0',arrayMensajes);
					e++;
				}
			}else{
				errores[e] =recuperar_valor_array('FORM_DISPO_1_1',arrayMensajes) ;
				e++;
			}
			
			if (destino=="" && zona=="" && hotel=="") {
				errores[e] = recuperar_valor_array('FORM_DISPO_1_2',arrayMensajes);
				e++;
			}
		
			var a=0;
			var adultosError = false;
			while(a<parseInt(numHab) && !adultosError) {
				if (adultos[a]==0) {
					errores[e] = recuperar_valor_array('FORM_DISPO_1_3',arrayMensajes);
					e++;
					adultosError = true;
				}
				a++;
			}
			
			if (esB2b!=null && esB2b==true){
				//alert('esB2b: '+esB2b);
				//alert('verCopB2b: '+verCopB2b+" con codcop_b2b: "+codcop_b2b);
				//alert('verCtaB2b: '+verCtaB2b+" con codcta_b2b: "+codcta_b2b);
				if ((verCtaB2b!=null && verCtaB2b==true) && (verCopB2b!=null && verCopB2b==true)){
					if ((codcop_b2b==null || codcop_b2b=="" || codcop_b2b=="null")
						&& (codcta_b2b==null || codcta_b2b=="" || codcta_b2b=="null")){
							
							errores[e] = recuperar_valor_array('FORM_DISPO_1_4',arrayMensajes);
							e++;
						}
				}else{
					if (verCtaB2b!=null && verCtaB2b==true){
						if ((codcta_b2b==null || codcta_b2b=="" || codcta_b2b=="null")){

							errores[e] = recuperar_valor_array('FORM_DISPO_1_5',arrayMensajes);
							e++;
						}
					}else{
						
						if (verCopB2b!=null && verCopB2b==true){
							
							if (codcop_b2b==null || codcop_b2b=="" || codcop_b2b=="null"){
								
								errores[e] = recuperar_valor_array('FORM_DISPO_1_6',arrayMensajes);
								e++;
							}
						}
					}
				}
			}
			
			if (errores.length>0) {
				var strErrores = "";
				
				for (var r=0; r<errores.length; r++)
					strErrores=strErrores+errores[r]+"\n";
				
				alert(strErrores);
			}else{
				try {
					document.getElementById('btnVerDisCen').innerHTML = mensajeBuscando;
				} catch (Exception) {
					document.getElementById('spanCenBus').innerHTML = mensajeBuscando;
				}
				document.getElementById('formDispoHome').action='/hotel/'+idioma+'/proceso_reserva/resultado_disponibilidad.jsp';
				document.getElementById('formDispoHome').submit();
			}
   	} else {
   		validarCodigoPromo(idioma);
   	}
}

/**
 * Acepta 2 fechas con formato dd/mm/aaaa o d/m/aaaa
 * Devuelve 1 si la fecha b es mayor que la fecha a
 * 0 si son iguales
 * -1 si la fecha a es mayor que la b
 */
function compararFechas(fecIni, fecFin) {
	
	//alert("Fechas a comparar: "+fecIni+" - "+fecFin)
	 
	var fechaIniSplit = fecIni.split("/");
	var fechaFinSplit = fecFin.split("/");

	if (fechaIniSplit[0].charAt(0)=="0")
		fechaIniSplit[0] = fechaIniSplit[0].charAt(1);
	
	if (fechaFinSplit[0].charAt(0)=="0")
		fechaFinSplit[0] = fechaFinSplit[0].charAt(1);
	
	if (fechaIniSplit[1].charAt(0)=="0")
		fechaIniSplit[1] = fechaIniSplit[1].charAt(1);
	
	if (fechaFinSplit[1].charAt(0)=="0")
		fechaFinSplit[1] = fechaFinSplit[1].charAt(1);
	
	var diaIni = parseInt(fechaIniSplit[0]);
	var diaFin = parseInt(fechaFinSplit[0]);
	var mesIni = parseInt(fechaIniSplit[1]);
	var mesFin = parseInt(fechaFinSplit[1]);
	var anoIni = parseInt(fechaIniSplit[2]);
	var anoFin = parseInt(fechaFinSplit[2]);
	
	//alert("diaIni:"+diaIni+", diaFin:"+diaFin+", mesIni:"+mesIni+", mesFin:"+mesFin+", anoIni:"+anoIni+", anoFin:"+anoFin);
	
	if (anoIni>anoFin) {
		return -1;
	}else{
		if (anoFin>anoIni) {
			return 1;
		}else{ //los años son iguales, continuamos con los meses
			if (mesIni>mesFin) {
				return -1;
			}else{
				if (mesFin>mesIni) {
					return 1;
				}else{ //los meses son iguales, continuamos con los dias
					if (diaIni>diaFin) {
						return -1;
					}else{
						if (diaFin>diaIni) {
							return 1;
						}else{
							return 0;
						}
					}
				}
			}
		}
	}
}

function validarCodigoPromo(idioma){
	codigoPro=document.getElementById('promoCode').value;
	urlValidacion = '/hotel/jsp_utils/busquedaHotelConPromo.jsp?codHot='+codigoPro+'&idioma='+idioma;
	//alert('validamos!! --> '+urlValidacion);
	document.getElementById('frameActualizador').src=urlValidacion;
}

function delayando() {
	document.getElementById("frameActualizador").src=urldelay;
}

function validarCodigoPromoDelay(idioma) {
	var codigoPro=document.getElementById('promoCode').value;
    urldelay ="/hotel/jsp_utils/busquedaHotelConPromo.jsp?codHot="+codigoPro+"&idioma="+idioma;
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/busquedaHotelConPromo.jsp?codHot="+codigoPro+"&idioma="+idioma;
	setTimeout("delayando()", 5000);
}

function validarFormularioPromos (fecIniEst, fecFinEst) {

	var errores = new Array();
	var e		= 0;
	var fecIni  = document.getElementById('diaIni').value+"/"+document.getElementById('mesIni').value.replace("_", "/");
	var fecFin  = document.getElementById('diaFin').value+"/"+document.getElementById('mesFin').value.replace("_", "/");
	var numHab  = document.getElementById('dispo_numero_habit').value;
	var adultos = new Array();
	var n = 0;
	
	while (n<parseInt(numHab)) {
		adultos[n] = document.getElementById('dispo_numero_adultos_'+(n+1)).value;	
		n++;
	}

	var fechaIniSplit = fecIni.split("/");
	var fechaFinSplit = fecFin.split("/");	
	var fechaActual  = new Date();
	var fechaEntrada = new Date();
	
	if (fechaIniSplit[0].charAt(0)=="0")
		fechaIniSplit[0] = fechaIniSplit[0].charAt(1);

	if (fechaIniSplit[1].charAt(0)=="0")
		fechaIniSplit[1] = fechaIniSplit[1].charAt(1);

	fechaEntrada.setMonth(parseInt(fechaIniSplit[1])-1);
	fechaEntrada.setFullYear(parseInt(fechaIniSplit[2]));
	fechaEntrada.setDate(parseInt(fechaIniSplit[0]));

	
	var fechaSalida   = new Date();
	
	if (fechaFinSplit[0].charAt(0)=="0")
		fechaFinSplit[0] = fechaFinSplit[0].charAt(1);
	
	if (fechaFinSplit[1].charAt(0)=="0")
		fechaFinSplit[1] = fechaFinSplit[1].charAt(1);

	fechaSalida.setMonth(parseInt(fechaFinSplit[1])-1);
	fechaSalida.setFullYear(parseInt(fechaFinSplit[2]));
	fechaSalida.setDate(parseInt(fechaFinSplit[0]));
	if (fechaEntrada>=fechaActual){
		if (fechaEntrada>=fechaSalida) {	
			errores[e] =recuperar_valor_array("FORM_PROM_1_0",array_mensajes)+"\n"; // "La fecha de salida debe ser mayor que la de entrada.";
			e++;
		}

		var fechaIniEstSplit = fecIniEst.split("/");
		var fechaFinEstSplit = fecFinEst.split("/");
		
		var fechaEntradaEst  = new Date();
		
		if (fechaIniEstSplit[0].charAt(0)=="0")
			fechaIniEstSplit[0] = fechaIniEstSplit[0].charAt(1);
		
		if (fechaIniEstSplit[1].charAt(0)=="0")
			fechaIniEstSplit[1] = fechaIniEstSplit[1].charAt(1);

		fechaEntradaEst.setMonth(parseInt(fechaIniEstSplit[1])-1);
		fechaEntradaEst.setFullYear(parseInt(fechaIniEstSplit[2]));
		fechaEntradaEst.setDate(parseInt(fechaIniEstSplit[0]));
		
		var fechaSalidaEst   = new Date();
		
		if (fechaFinEstSplit[0].charAt(0)=="0")
			fechaFinEstSplit[0] = fechaFinEstSplit[0].charAt(1);
		
		if (fechaFinEstSplit[1].charAt(0)=="0")
			fechaFinEstSplit[1] = fechaFinEstSplit[1].charAt(1);

		fechaSalidaEst.setMonth(parseInt(fechaFinEstSplit[1])-1);
		
		fechaSalidaEst.setFullYear(parseInt(fechaFinEstSplit[2]));

		if (!(fechaEntrada>=fechaEntradaEst && fechaSalida<=fechaSalidaEst)) {
			errores[e] = recuperar_valor_array("FORM_PROM_1_1",array_mensajes)+"\n"; //"Las fecha elegidas debe estar comprendidas entre las fechas de estancia de la promocion";
			e++;
		}
	}else{
		errores[e]= recuperar_valor_array("FORM_PROM_1_3",array_mensajes)+"\n";//"La fechas deben de ser superiores a la fecha actual";
		e++;
	}

	var a=0;
	var adultosError = false;
	while(a<parseInt(numHab) && !adultosError) {
		if (adultos[a]==0) {
			errores[e] = recuperar_valor_array("FORM_PROM_1_2",array_mensajes)+"\n";//"En cada habitación debe colocarse al menos un adulto.";
			e++;
			adultosError = true;
		}
		a++;
	}
	
	if (errores.length>0) {
		var strErrores = "";
		
		for (var r=0; r<errores.length; r++)
			strErrores=strErrores+errores[r]+"\n";
		
		alert(strErrores);
	}else{
		//Si no vienes de la home es que vienes del formulario de modif. de busqueda
		document.getElementById('formDispoHome').submit();
	}
}

function  actualizaEstadoReserva(valor,idioma,nivel,esHome,esSegundoNivel) {
	//esHome y esSegundoNivel no se usan, solo servian para saber cuantos niveles subir en el directorio de archivos
	document.getElementById("frameActualizador").src="/hotel/"+idioma+"/jsp/actualizarEstadoReservaPromo.jsp?valor="+valor+"&idioma="+idioma+"&nivel="+nivel;
}

function actualizarPromociones(tipo, valor, idioma) {
	if (tipo=="cta")
		document.getElementById("b2b_pai").value="";
	else if (tipo=="cop")
		document.getElementById("b2b_cta").value="";
	
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarDatosAgencia.jsp?tipo="+tipo+"&valor="+valor+"&idioma="+idioma;
}

function validarFechasPromo(fechaIniPromo, fechaFinPromo, fechaIni, fechaFin, mensajeError, infoBoton){
	//tratamiento de las fechas de la promocion
	
	var fechaIniPromoSplit = fechaIniPromo.split("-");
	var fechaFinPromoSplit = fechaFinPromo.split("-");
	

	var fechaEntradaPromo = new Date();
	if (fechaIniPromoSplit[2].charAt(0)=="0")
		fechaIniPromoSplit[2] = fechaIniPromoSplit[2].charAt(1);

	
	if (fechaIniPromoSplit[1].charAt(0)=="0")
		fechaIniPromoSplit[1] = fechaIniPromoSplit[1].charAt(1);

	fechaEntradaPromo.setMonth(parseInt(fechaIniPromoSplit[1])-1);
	fechaEntradaPromo.setFullYear(parseInt(fechaIniPromoSplit[0]));
	fechaEntradaPromo.setDate(parseInt(fechaIniPromoSplit[2]));
	
	var fechaSalidaPromo = new Date();
	if (fechaFinPromoSplit[2].charAt(0)=="0")
		fechaFinPromoSplit[2] = fechaFinPromoSplit[2].charAt(1);

	
	if (fechaFinPromoSplit[1].charAt(0)=="0")
		fechaFinPromoSplit[1] = fechaFinPromoSplit[1].charAt(1);

	fechaSalidaPromo.setMonth(parseInt(fechaFinPromoSplit[1])-1);
	fechaSalidaPromo.setFullYear(parseInt(fechaFinPromoSplit[0]));
	fechaSalidaPromo.setDate(parseInt(fechaFinPromoSplit[2]));
	
	//tratamiento de las fechas elegidas por el usuario
	var fechaIniSplit = fechaIni.split("/");
	var fechaFinSplit = fechaFin.split("/");
	
	var fechaEntrada = new Date();
	if (fechaIniSplit[0].charAt(0)=="0")
		fechaIniSplit[0] = fechaIniSplit[0].charAt(1);

	if (fechaIniSplit[1].charAt(0)=="0")
		fechaIniSplit[1] = fechaIniSplit[1].charAt(1);

	fechaEntrada.setMonth(parseInt(fechaIniSplit[1])-1);
	fechaEntrada.setFullYear(parseInt(fechaIniSplit[2]));
	fechaEntrada.setDate(parseInt(fechaIniSplit[0]));
	
	var fechaSalida = new Date();
	if (fechaFinSplit[0].charAt(0)=="0")
		fechaFinSplit[0] = fechaFinSplit[0].charAt(1);

	if (fechaFinSplit[1].charAt(0)=="0")
		fechaFinSplit[1] = fechaFinSplit[1].charAt(1);

	fechaSalida.setMonth(parseInt(fechaFinSplit[1])-1);
	fechaSalida.setFullYear(parseInt(fechaFinSplit[2]));
	fechaSalida.setDate(parseInt(fechaFinSplit[0]));
	
	//fecha actual 
	var fechaActual = new Date();

	
	//Comprobaciones de las fechas
	if (fechaEntrada>=fechaActual && fechaSalida>=fechaActual && fechaSalida>fechaEntrada && fechaSalidaPromo>fechaEntradaPromo) {
		//alert("entra 1 if");
		if (fechaEntradaPromo<=fechaEntrada && fechaEntrada<=fechaSalidaPromo && fechaEntradaPromo<=fechaSalida && fechaSalida<=fechaSalidaPromo ) {
			//validas
			//alert("entra 2 if fechas validas");
		}else{
			alert(mensajeError);
			var links = document.getElementsByName('linkReserva');
			for (var l=0; l<links.length; l++) {
				links[l].href="javascript:;";
			}
			
			var botones = document.getElementsByName('botonReserva');
			for (var r=0; r<botones.length; r++) {
				botones[r].innerHTML="<font color='red'><b>"+infoBoton+"</b></font>";
			}
			
			document.getElementById('divBuscadorProceso').style.display='';
			document.getElementById('diaIni').style.borderColor="#FF0000";
			document.getElementById('diaFin').style.borderColor="#FF0000";
			document.getElementById('mesIni').style.borderColor="#FF0000";
			document.getElementById('mesFin').style.borderColor="#FF0000";
		}
	}	
}

function validarFechasPromoFichaHotel(fechaIniPromo, fechaFinPromo, mensajeError, durmin, mensajeMin, durmax, mensajeMax, mensajeFechasInvalidas, mensajeSubestancias, mensajeMotivoSubestancias, haySubestancias){
	
	var fh_diaIni = document.getElementById('fh_diaIni').value;
	var fh_mesAnoIni = document.getElementById('fh_mesIni').value;
	var fh_diaFin = document.getElementById('fh_diaFin').value;
	var fh_mesAnoFin = document.getElementById('fh_mesFin').value;
	document.getElementById("frameactualizaDuracionMin").src="/hotel/jsp_utils/actualizarFechasPromo.jsp?diaIni="+fh_diaIni+"&mes_anoIni="+fh_mesAnoIni+"&diaFin="+fh_diaFin+"&mes_anoFin="+fh_mesAnoFin;
	
	var fechaIniPromoAux = fechaIniPromo.split('-');
	var fechaFinPromoAux = fechaFinPromo.split('-');

	var fechaIniPromo_s = fechaIniPromoAux[2]+"/"+fechaIniPromoAux[1]+"/"+fechaIniPromoAux[0];
	var fechaFinPromo_s = fechaFinPromoAux[2]+"/"+fechaFinPromoAux[1]+"/"+fechaFinPromoAux[0];
	
	var fechaActualAux = new Date();
	var fechaActual_s  = fechaActualAux.getDate()+"/"+(fechaActualAux.getMonth()+1)+"/"+fechaActualAux.getFullYear();
	
	var dia1 = document.getElementById("fh_diaIni").value;	
	var cadena1= document.getElementById("fh_mesIni").value;
	var cadena1Split = cadena1.split("_");
	var mes1 = cadena1Split[0];
	var ano1 = cadena1Split[1];
	
	var fechaEntrada_s = dia1+"/"+mes1+"/"+ano1;
	
	var dia2 = document.getElementById("fh_diaFin").value;
	var cadena2= document.getElementById("fh_mesFin").value;//document.getElementById("diaFin").options[document.getElementById("diaFin").selectedIndex].value;
	var cadena2Split = cadena2.split("_");
	var mes2 = cadena2Split[0];
	var ano2 = cadena2Split[1];
	
	var fechaSalida_s = dia2+"/"+mes2+"/"+ano2;
	
	var durEstancia = parseInt(document.getElementById("p_diffDiasTiempoReal").value);
	var duracionMin = parseInt(durmin);
	var duracionMax = parseInt(durmax);
	var resFechas_a = compararFechas(fechaEntrada_s, fechaActual_s);
	var resFechas_b = compararFechas(fechaEntrada_s, fechaSalida_s);
	var resFechas_c = compararFechas(fechaIniPromo_s, fechaEntrada_s);
	var resFechas_d = compararFechas(fechaSalida_s, fechaFinPromo_s);

	//alert("fechaIniPromo_s="+fechaIniPromo_s+"\nfechaFinPromo_s="+fechaFinPromo_s+"\nfechaActual_s="+fechaActual_s+"\nfechaEntrada_s="+fechaEntrada_s+"\nfechaSalida_s="+fechaSalida_s);
	//alert("resFechas_a="+resFechas_a+"\nresFechas_b="+resFechas_b+"\nresFechas_c="+resFechas_c+"\nresFechas_d="+resFechas_d);
	//alert("Duracion minima establecida:"+durmin+", Duración efectiva Estancia:"+durEstancia);

	//(1) Fecha hoy no mayor a la fecha entrada
	//(2) Fecha salida, mayor que la de entrada
	//(3) Fecha entrada, mayor o igual que fechaIniPromo
	//(4) Fecha Salida, menos que la de fin de promo
	if (resFechas_a<1 && resFechas_b==1 && resFechas_c>-1 && resFechas_d>-1) {
		if (durEstancia>duracionMin || durEstancia==duracionMin) {
			if ( (durEstancia==duracionMax) || (durEstancia<duracionMax) || (durmax==0) ) {
				//alert("haySubestancias after: "+haySubestancias);
				if(!haySubestancias){
					setTimeout("document.getElementById('formDispoFichaHotel_fh').submit()", 500);
				}else{
					if (mensajeMotivoSubestancias !=""){
						mensajeSubestancias+= "\n"+mensajeMotivoSubestancias;
					}
					alert(mensajeSubestancias);
				}
			}else{
				document.getElementById('fh_diaIni').style.borderColor="#CC3300";
				document.getElementById('fh_diaFin').style.borderColor="#CC3300";
				document.getElementById('fh_mesIni').style.borderColor="#CC3300";
				document.getElementById('fh_mesFin').style.borderColor="#CC3300";			
				alert(mensajeMax);//+" "+durmax
				//Emma Justo F. 02/11/11
				//Quitado el numero de dias maximos porque ya se añade previamente en info_oferta.jsp
			}
		}else{
			document.getElementById('fh_diaIni').style.borderColor="#CC3300";
			document.getElementById('fh_diaFin').style.borderColor="#CC3300";
			document.getElementById('fh_mesIni').style.borderColor="#CC3300";
			document.getElementById('fh_mesFin').style.borderColor="#CC3300";			
			alert(mensajeMin);//+" "+durmin
			//Emma Justo F. 02/11/11
			//Quitado el numero de dias minimos porque ya se añade previamente en info_oferta.jsp
		}
	}else{
		document.getElementById('fh_diaIni').style.borderColor="#CC3300";
		document.getElementById('fh_diaFin').style.borderColor="#CC3300";
		document.getElementById('fh_mesIni').style.borderColor="#CC3300";
		document.getElementById('fh_mesFin').style.borderColor="#CC3300";		
		alert(mensajeFechasInvalidas);
	}
}

function validarFechasPromoFichaHotelconRelease(fechaIniPromo, fechaFinPromo, mensajeError, durmin, mensajeMin, diasRelease, mensajeRelease, mensajeFechasInvalidas, diasEstancia, releaseReal){

	var fechaIniPromoAux = fechaIniPromo.split('-');
	var fechaFinPromoAux = fechaFinPromo.split('-');
	
	var fechaIniPromo_s = fechaIniPromoAux[2]+"/"+fechaIniPromoAux[1]+"/"+fechaIniPromoAux[0];
	var fechaFinPromo_s = fechaFinPromoAux[2]+"/"+fechaFinPromoAux[1]+"/"+fechaFinPromoAux[0];
	
	var fechaActualAux = new Date();
	
	var ua = navigator.userAgent;
	var fechaActual_s  = null;
	
	if ( ua.indexOf("MSIE")>=0 || ua.indexOf("MSIE")>=0 ) {
		fechaActual_s = fechaActualAux.getDate()+"/"+fechaActualAux.getMonth()+"/"+fechaActualAux.getFullYear();
	}else{
		fechaActual_s = fechaActualAux.getDate()+"/"+(fechaActualAux.getMonth()+1)+"/"+fechaActualAux.getFullYear();
	}
	
	var dia1 = document.getElementById("diaIni").value;	
	var cadena1= document.getElementById("mesIni").value;
	var cadena1Split = cadena1.split("_");
	var mes1 = cadena1Split[0];
	var ano1 = cadena1Split[1];
	
	var fechaEntrada_s = dia1+"/"+mes1+"/"+ano1;
	
	var dia2 = document.getElementById("diaFin").value;
	var cadena2= document.getElementById("mesFin").value;//document.getElementById("diaFin").options[document.getElementById("diaFin").selectedIndex].value;
	var cadena2Split = cadena2.split("_");
	var mes2 = cadena2Split[0];
	var ano2 = cadena2Split[1];
	
	var fechaSalida_s = dia2+"/"+mes2+"/"+ano2;
		
	var resFechas_a = compararFechas(fechaEntrada_s, fechaActual_s);
	var resFechas_b = compararFechas(fechaEntrada_s, fechaSalida_s);
	var resFechas_c = compararFechas(fechaIniPromo_s, fechaEntrada_s);
	var resFechas_d = compararFechas(fechaSalida_s, fechaFinPromo_s);
	
	//alert("fechaIniPromo_s="+fechaIniPromo_s+"\nfechaFinPromo_s="+fechaFinPromo_s+"\nfechaActual_s="+fechaActual_s+"\nfechaEntrada_s="+fechaEntrada_s+"\nfechaSalida_s="+fechaSalida_s);
	//alert("resFechas_a="+resFechas_a+"\nresFechas_b="+resFechas_b+"\nresFechas_c="+resFechas_c+"\nresFechas_d="+resFechas_d);
	//alert("Duracion minima establecida:"+durmin+", Duración efectiva Estancia:"+diasEstancia);
	//alert("Release establecido:"+diasRelease+", Release real:"+releaseReal);
	
	if (resFechas_a==1 && resFechas_b==1 && resFechas_c>-1 && resFechas_d>-1) {
		if (durEstancia>=durmin) {
			if (releaseReal>=diasRelease) {
				setTimeout("document.getElementById('formDispoFichaHotel').submit()", 500);
			}else{
				document.getElementById('diaIni').style.borderColor="#DD5555";
				document.getElementById('diaFin').style.borderColor="#DD5555";
				document.getElementById('mesIni').style.borderColor="#DD5555";
				document.getElementById('mesFin').style.borderColor="#DD5555";
				alert(mensajeRelease);				
			}
		}else{
			document.getElementById('diaIni').style.borderColor="#DD5555";
			document.getElementById('diaFin').style.borderColor="#DD5555";
			document.getElementById('mesIni').style.borderColor="#DD5555";
			document.getElementById('mesFin').style.borderColor="#DD5555";
			alert(mensajeMin);
		}
	}else{
		document.getElementById('diaIni').style.borderColor="#DD5555";
		document.getElementById('diaFin').style.borderColor="#DD5555";
		document.getElementById('mesIni').style.borderColor="#DD5555";
		document.getElementById('mesFin').style.borderColor="#DD5555";
		alert(mensajeFechasInvalidas);
	}	
}

function capturaTecla(idioma){
	var tecla;
	if(document.all) tecla = event.keyCode;
	if (tecla == 13) validarCodigoPromo(idioma);
}

function  actualizaEstadoReservaNuevo(valor,idioma,nivel) {
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarEstadoReservaPromo.jsp?valor="+valor+"&idioma="+idioma+"&nivel="+nivel;
}

function actualizarContenedorPrecio (cadenaPrecio,idioma,urlDestino,hotel, scrollFH){
	document.getElementById("frameActualizador").src="/hotel/jsp_utils/actualizarContenedorPrecioProceso.jsp?cadena="+cadenaPrecio+"&idioma="+idioma+"&codHot="+hotel+"&scrollFH="+scrollFH+"&url="+urlDestino;
}

function limpiarFormularioHome (idioma) {
	if (document.getElementById("frameActualizador")) {
		document.getElementById("frameActualizador").src="/hotel/jsp_utils/limpiaFormularioHome.jsp?idi="+idioma;
	}
}

function cargarIframeHabitacionesForm(idioma) {
	document.getElementById('iframeHabitaciones').src="/hotel/plantillas/home/habitacionesDinamicas.jsp?p_idioma="+idioma+"&destino="+document.getElementById('destinos').value+"&zona="+document.getElementById('zonas').value+"&hotel="+document.getElementById('hoteles').value;
}

