var aFecha;
if (aFecha == undefined)
	aFecha = new Array();
var literalsFormSH = new Array();
var tipoDia;
var appendFullYearToMonth;
function cargaFecha(idfrm) {
	var idForm = "fhoteles_" + idfrm;
	var frm = document.getElementById(idForm);

	aFecha[idfrm] = new dateObject("aFecha[" + idfrm + "]");
	if (idioma != null)
		aFecha[idfrm].idioma = idioma;
	if (tipoDia != null)
		aFecha[idfrm].tipoDia = tipoDia;
	if (appendFullYearToMonth != null)
		aFecha[idfrm].appendFullYearToMonth = appendFullYearToMonth;

	aFecha[idfrm].daysObject = document.getElementById("diaE_" + idfrm);
	aFecha[idfrm].monthsObject = document.getElementById("mesE_" + idfrm);
	aFecha[idfrm].onChangeFunction = "ponFecha(" + idfrm + ",1)";

	aFecha[idfrm].day = parseInt(fechaEntrada.substring(0, 2), 10);
	var today = new Date();
	var mesActual = today.getMonth() + 1;
	aFecha[idfrm].month = parseInt(fechaEntrada.substring(3, 5), 10);
	aFecha[idfrm].inicioMes = mesActual;
	aFecha[idfrm].hastaMes = (mesActual + 11) % 12;
	aFecha[idfrm].year = parseInt(fechaEntrada.substring(6, 10), 10);
	//aFecha[idfrm].tipoDia = 2
	//aFecha[idfrm].appendFullYearToMonth = true;
	aFecha[idfrm].load();

	document.getElementById(idForm).fechaEntrada.value = aFecha[idfrm].takeDate(1);
}
function ponFecha(idfrm, tip) {
	if (idfrm == undefined)
		idfrm = 0;
	var idForm = "fhoteles_" + idfrm;
	document.getElementById(idForm).fechaEntrada.value = aFecha[idfrm].takeDate(1);
	if (aCalendarEntrada[idfrm].mantenerAbierto && tip == 1) {
		aCalendarEntrada[idfrm].gNow = new Date(aFecha[idfrm].year, (aFecha[idfrm].month - 1), aFecha[idfrm].day);

		aCalendarEntrada[idfrm].Build(aCalendarEntrada[idfrm].gReturnItem, (aFecha[idfrm].month - 1), aFecha[idfrm].year.toString(), aCalendarEntrada[idfrm].gFormat);
	}

}
function mostraCalendar(dummy, idfrm, x, y) {
	if (idfrm == undefined)
		idfrm = 0;
	var idForm = "fhoteles_" + idfrm;
	if ((x != null) && (y != null)) {
		aCalendarEntrada[idfrm].ggPosX = x;
		aCalendarEntrada[idfrm].ggPosY = y;
	}
	formFecha = document.getElementById(idForm).fechaEntrada
	aCalendarEntrada[idfrm].returnFunction = "desdeCalendar";
	aCalendarEntrada[idfrm].idForm = idfrm;
	aCalendarEntrada[idfrm].show_calendar('formFecha', fmanana, null);
	if (aCalendarEntrada[idfrm].tdId != undefined && aCalendarEntrada[idfrm].tdId != "")
		document.getElementById(aCalendarEntrada[idfrm].tdId).style.display = ""
}
function desdeCalendar(obj, idfrm) {
	if (idfrm == undefined)
		idfrm = 0;
	var idForm = "fhoteles_" + idfrm;
	document.getElementById(idForm).fechaEntrada.value = obj;

	aFecha[idfrm].day = parseInt(obj.substring(0, 2), 10);
	aFecha[idfrm].month = parseInt(obj.substring(3, 5), 10);
	aFecha[idfrm].year = parseInt(obj.substring(6, 10), 10);
	aFecha[idfrm].load();
	ponFecha(idfrm);
	if (aCalendarEntrada[idfrm].tdId != undefined && aCalendarEntrada[idfrm].tdId != "")
		document.getElementById(aCalendarEntrada[idfrm].tdId).style.display = "none";
}
function comprovaForm(idfrm) {
	var idForm = "fhoteles_" + idfrm;
	var form = document.getElementById(idForm);
	var numHab = parseInt(form.numHab.value, 10);
	var habMultiple = parseInt(form.habMultiple.value, 10);
	var fecha = form.fechaEntrada.value;
	var strAux = form.nombreCiudad.value;
	var i = 0;
	var nombreCiudad = strAux.replace(" ", "");
	nombreCiudad = nombreCiudad.replace(".", "");
	nombreCiudad = nombreCiudad.replace("%", "");
	nombreCiudad = nombreCiudad.replace("&", "");
	var numPax = 0;
	if (habMultiple == 0) {
		numPax = parseInt(form.numPax.value, 10);
	}

	var hayError = false;
	var str = "";
	var adultos = 0;
	var ninyos = 0;
	var edad;
	if (nombreCiudad.length <= 2) {
		hayError = true;
		str += "- " + literalsFormSH[0] + "\n"
	}

	if (!fechaCorrecta(fecha)) {
		hayError = true;
		str += "- " + literalsFormSH[1] + "\n"
	} else {
		var fechaIn = strToDate(fecha, 1);
		form.fechaEntrada.value = dateToStr(fechaIn, 1);
		var ahora = new Date();
		var diff = fechaIn.getTime() - ahora.getTime();
		var dias = Math.floor(diff / (1000 * 60 * 60 * 24));
		if (dias < -1) {
			hayError = true;
			str += "- " + literalsFormSH[2] + "\n";
		}
	}

	//vamos a evaluar los pasajeros
	//si no es habMultiple hacemos lo mismo
	if (habMultiple == 0) {
		for (var i = 1; i <= numPax; i++) {
			edad = parseInt(eval("form.edad_" + i + ".value"));
			if (edad > 12)
				adultos += 1;
			else
				ninyos += 1;
		}

		if (adultos < 1) {
			str += "- " + literalsFormSH[3] + "\n";
			hayError = true;
		}

		if (numHab > numPax) {
			str += "- " + literalsFormSH[4] + "\n";
			hayError = true;
		}

		if ((numPax / numHab) > 6) {
			str += "- " + literalsFormSH[5] + "\n";
			hayError = true;
		}

		switch (numHab) {
			case 1:
				str += "- " + literalsFormSH[8] + "\n";
				hayError = hayError || (ninyos > 2) || (adultos + ninyos > 6) || (adultos == 1 && ninyos > 2) || (adultos == 2 && ninyos > 2) || (adultos == 4 && ninyos > 2) || (adultos == 5 && ninyos > 1);
				break;

			case 2:
				str += "- " + literalsFormSH[8] + "\n";
				hayError = hayError || (adultos < 2) || (adultos == 2 && ninyos > 4) || (adultos == 3 && ninyos > 5) || (adultos == 4 && ninyos > 4) || (adultos == 5 && ninyos > 4) || (adultos == 6 && ninyos > 6) || (adultos == 7 && ninyos > 5) || (adultos == 8 && ninyos > 4) || (adultos == 9 && ninyos > 3);
				break;

			case 3:
				str += "- " + literalsFormSH[8] + "\n";
				hayError = hayError || (adultos < 3) || (adultos == 3 && ninyos > 6) || (adultos == 4 && ninyos > 8) || (adultos == 5 && ninyos > 7) || (adultos == 6 && ninyos > 6) || (adultos == 7 && ninyos > 5) || (adultos == 8 && ninyos > 4) || (adultos == 9 && ninyos > 3) || (adultos == 10 && ninyos > 2) || (adultos == 11 && ninyos > 1) || (adultos == 12 && ninyos > 0);
				break;
		}
	} else {
		var errorHab = false;
		var numPaxGlobal = 0;
		//vamos a comprobar cada habitacion por separado		
		for (k = 1; k <= numHab; k++) {
			adultos = 0;
			ninyos = 0;
			edad = 0;
			numPax = parseInt(eval("form.numPax" + (k) + ".value"));
			numPaxGlobal += numPax;
			for (var i = 1; i <= numPax; i++) {
				edad = parseInt(eval("form.edad_" + (k) + "_" + i + ".value"));
				if (edad > 12)
					adultos += 1;
				else
					ninyos += 1;
			}
			if (adultos < 1) {
				str += "- " + literalsFormSH[10] + " " + k + " " + literalsFormSH[9] + "\n";
				hayError = true;
			}
			errorHab = (ninyos > 2) || (adultos + ninyos > 6) || (adultos == 1 && ninyos > 2) || (adultos == 2 && ninyos > 2) || (adultos == 4 && ninyos > 2) || (adultos == 5 && ninyos > 1);
			if (errorHab) {
				str += "- " + literalsFormSH[10] + " " + (k) + " " + literalsFormSH[8] + "\n";
				hayError = hayError || errorHab;
			}
		}
		if (numPaxGlobal > 9) {
			str += "- " + literalsFormSH[11] + "\n";
			hayError = true;
		}
	}

	if (!(hayError)) {
		return true;
	} else {
		//alert(literalsFormSH[6] + ":\n" + str + " " + literalsFormSH[7]);
		return false;
	}
}
function pintarEdatsDisp(idfrm) {
	var objSelect;
	var idForm = "fhoteles_" + idfrm;
	var numPax = parseInt(document.getElementById(idForm).numPax.value);
	for (var i = 1; i <= 9; i++) {
		objSelect = document.getElementById("selEdad_" + idfrm + "_" + i);
		if (numPax < i) {
			objSelect.disabled = true;
			objSelect.style.display = "none";
		}
		else {
			objSelect.disabled = false;
			objSelect.style.display = "";
			cargaEdades("selEdad_" + idfrm + "_" + i, objSelect.value)
		}
	}
}
function pintarEdatsDispNew(idfrm, idHab) {
	//alert("idForm -->" + idfrm)
	var objSelect;
	var idForm = "fhoteles_" + idfrm;
	var nameId;
	if (idHab > 0) {
		nameId = "numPax" + idHab;
	} else {
		nameId = "numPax";
	}
	var maxPax = 0;
	if (idHab != 0) {
		maxPax = 6
	} else {
		maxPax = 9
	}	
	var numPax = parseInt(eval("document.getElementById(idForm). " + nameId + ".value"));
	for (var i = 1; i <= maxPax; i++) {
		if (idHab == 0) {
			objSelect = document.getElementById("selEdad_" + idfrm + "_" + i);
		} else {
			objSelect = document.getElementById("selEdad_" + idfrm + "_" + idHab + "_" + i);
		}
		if (numPax < i) {
			objSelect.disabled = true;
			objSelect.style.display = "none";
		}
		else {
			objSelect.disabled = false;
			objSelect.style.display = "";
			if (idHab == 0) {
				cargaEdades("selEdad_" + idfrm + "_" + i, objSelect.value);
			} else {
				cargaEdades("selEdad_" + idfrm + "_" + idHab + "_" + i, objSelect.value);
			}
		}
	}
}
function initForm(idfrm) {

	if (idfrm == undefined)
		idfrm = 0;

	//si habMultiple = 1 y numHab > 1 vamos a esconder formPeticion_wrapperPE
	//y mostrar las habitaciones que tenga numHab

	if ($("#habMultiple").val() == 0) {
		$("#formPeticion_habitaciones").hide();
	} else {
		$("#formPeticion_wrapperPE").hide();
		$("#formPeticion_habitaciones").show();
		for (i = 0; i < $("#numHab").val(); i++) {
			$("#hab" + (i + 1)).show();
		}
	}

	//alert("hola"); 

	//alert("initForm ->" + idfrm);
	cargaFecha(idfrm);
	pintarEdatsDispNew(idfrm, 0);
	var idForm = "fhoteles_" + idfrm;
	var numPax = parseInt(document.getElementById(idForm).numPax.value);
	//cargaGrupoEdades("selEdad_"+idfrm+"_", 1, numPax);
}
function seleccionarZona(zon) {}
function cargarComboCostas(idContainer, ciudad, nombreCiudad, zona, nombreZona, nombreHotel, sIdForm, agrupacion) {
	var urlSelect;
	switch (agrupacion) {
		case 16: urlSelect = "/esqui/selectEsqui.aspx";
			break;
		default: urlSelect = "/navegacion/costas/selectCostas.aspx";
	}

	$.ajax({
		type: "POST",
		url: urlSelect,
		data: "ciudad=" + ciudad + "&nombreCiudad=" + encodeURI(nombreCiudad) + "&zona=" + zona + "&nombreZona=" + encodeURI(nombreZona) + "&nombreHotel=" + encodeURI(nombreHotel) + "&sIdForm=" + sIdForm,
		beforeSend: function(XMLHttpRequest) {
			//abrirVentanaMarker(marker, "<div class=\"fichaHotelBasico\" style=\"text-align:center\"><img src=\"/logitravel/images/ico_espera.gif\" /></div>");
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			//oMap.closeInfoWindow();
		},
		success: function(msg) {
			$("#" + idContainer).get(0).innerHTML = msg;
			if (zona != 0) {
				glSelDesplegar(1);
			}
			glSelAbrir('glSelWrapper', 'glSelCombo');
		}
	});
}
function cargaGrupoEdades(pronombre, ini, num) {
	for (var i = ini; i <= num; i++) {
		var idSel = pronombre + i;
		var edadSel = document.getElementById(idSel).value;
		cargaEdades(idSel, edadSel);
	}
}

function cargaEdades(idSel, edadSel) {
	var objSel = document.getElementById(idSel);
	if (objSel.options.length < 2) {
		/*var sEdades = cargaOptionsEdades(edadSel);
		objSel.innerHTML = sEdades;*/
		cargaOptionsEdades(objSel, edadSel);
		//objSel.value = edadSel;
	}
}
function cargaOptionsEdades(objSel, edadSel) {
	objSel.remove(0);
	for (i = 1; i < 100; i++) {
		insertOption(objSel, i, i);
	}
	objSel.selectedIndex = edadSel - 1;
}
function insertOption(sel, text, value) {
	var opt = document.createElement('option');
	opt.text = text;
	opt.value = value;
	try {
		sel.add(opt, null); // standards compliant
	}
	catch (ex) {
		sel.add(opt); // IE only
	}
}
function PintarMapaInicial(x, y) {
	mostraCalendarFijo(1, 0, x, y);
}
function mostraCalendarFijo(dummy, idfrm, x, y) {
	if (idfrm == undefined)
		idfrm = 0;
	var idForm = "fhoteles_" + idfrm;

	aCalendarEntrada[idfrm].ggPosX = x;
	aCalendarEntrada[idfrm].ggPosY = y;
	aCalendarEntrada[idfrm].mantenerAbierto = true;
	aCalendarEntrada[idfrm].pintarPie = false;
	aCalendarEntrada[idfrm].funcCambioMes = "cambiaMes"
	formFecha = document.getElementById(idForm).fechaEntrada
	aCalendarEntrada[idfrm].returnFunction = "desdeCalendarAbierto";
	aCalendarEntrada[idfrm].idForm = idfrm;
	aCalendarEntrada[idfrm].show_calendar('formFecha', fmanana, null);
	if (aCalendarEntrada[idfrm].tdId != undefined && aCalendarEntrada[idfrm].tdId != "")
		document.getElementById(aCalendarEntrada[idfrm].tdId).style.display = ""
}
function desdeCalendarAbierto(obj, idfrm) {
	if (idfrm == undefined)
		idfrm = 0;
	var idForm = "fhoteles_" + idfrm;
	document.getElementById(idForm).fechaEntrada.value = obj;

	aFecha[idfrm].day = parseInt(obj.substring(0, 2), 10);
	aFecha[idfrm].month = parseInt(obj.substring(3, 5), 10);
	aFecha[idfrm].year = parseInt(obj.substring(6, 10), 10);
	aCalendarEntrada[idfrm].gNow = new Date(aFecha[idfrm].year, aFecha[idfrm].month, aFecha[idfrm].day);
	aFecha[idfrm].load();
	ponFecha(idfrm);
	desMarcarDia();
	if (aCalendarEntrada[idfrm].tdId != undefined && aCalendarEntrada[idfrm].tdId != "")
		document.getElementById(aCalendarEntrada[idfrm].tdId).style.display = "none";
}
function desMarcarDia() {
	$("#overDiv font .calDivBodyDataToday").attr("class", "calDivBodyDataNoToday");
}
function cambiaMes(obj, idfrm) {
	//alert("cambia mES ->" + aFecha[idfrm].day + " - " + aFecha[idfrm].month + " - " + aFecha[idfrm].year);
	aFecha[idfrm].month = parseInt(obj);
	aFecha[idfrm].year = aCalendarEntrada[idfrm].gYear;
	aFecha[idfrm].load();
	dte_changeMonth(aFecha[idfrm].name);
	ponFecha(idfrm);
	aCalendarEntrada[idfrm].gNow = new Date(aFecha[idfrm].year, aCalendarEntrada[idfrm].gMonth, aFecha[idfrm].day);
	//alert(aFecha[idfrm].day + " - " + aFecha[idfrm].month + " - " + aFecha[idfrm].year);
}
function cerrarFrameAyuda() {
	$("#contenido").html("");
	parent.$("#ayuda").hide();
}
function marcarNombre(nom) {
	parent.$("#nombreCiudad").attr("value", nom);
	$("#contenido").html("");
	parent.$("#ayuda").hide();
}
function cargarHabitaciones(idfrm, template) {
	var objSelect;
	var idForm = "fhoteles_" + idfrm;
	var numHab = parseInt(eval("document.getElementById(idForm).numHab.value"));
	if (numHab > 1) {
		$("#" + idForm + " #habMultiple").val("1");
		$("#" + idForm + " #formPeticion_wrapperPE").hide();

		$("#" + idForm + " #formPeticion_habitaciones").show();

		for (var i = 1; i <= 3; i++) {
			if (i <= numHab) {
				$("#" + idForm + " #hab" + i).show();
				pintarEdatsDispNew(idfrm, i);
			} else {
				$("#" + idForm + " #hab" + i).hide();
			}
		}
	} else {
		$("#" + idForm + " #habMultiple").val("0");
		$("#" + idForm + " #formPeticion_habitaciones").hide();

		$("#" + idForm + " #formPeticion_wrapperPE").show();
	}
}
function abrirFrameAyuda() {
	$("#imagenAyuda").click(function(e) {
		if ($("#ayuda").length == 0) {

			$('<iframe name="ayuda" id="ayuda" scrolling="no" frameborder="1"></iframe>').appendTo('body');
		}
		$("#ayuda").show();
		$("#ayuda").css("top", e.pageY);
		$("#ayuda").css("left", e.pageX);
	});
}
$(document).ready(function() {
	abrirFrameAyuda();
})
