$(document).ready(function () {

	comprueba_retorno();

	$("#btn_comprobar").click(function () {
		validar_totales($("#idioma").val());
		return false;
	});

});

function compruebaErr (calendario, td, err) {
	if (calendario == "ini") {
		if (err == "1") {
			desmarca_td(td);
		}
	} else {
		if (err == "1") {
			desmarca_td(td);
		}
	}
}

function compruebaFechaIni (td) {
	parametros = "accion=comprueba_fechas&fechaini=" + $("#fechaini").val();
	if ($("#fechafin").val() != "") {
		parametros += "&fechafin=" + $("#fechafin").val();
		if (comparaFechas($("#fechaini").val(), $("#fechafin").val(), 1) != 2) {
			alert(alert_err_1);
			$("#fecha_inicio").attr("value", "");
			$("#fechaini").attr("value", "");
			desmarca_td($(td));
		}
	}
	$.ajax ({
		url: "tiendas_alquiler_act.php",
		type: "POST",
		dataType: "text",
		data: parametros,
		success: function (data) {
			if (data != "ok") {
				alert(alert_err_2);
				$("#fecha_inicio").attr("value", "");
				$("#fechaini").attr("value", "");
				$("#err").attr("value", "1");
			} else {
				$("#form_fecha_inicio").validate().element("#fecha_inicio");
				$("#err").attr("value", "0");
			}
			compruebaErr("ini", $(td), $("#err").val());
		}
	});
}
function compruebaFechaFin (td) {
	parametros = "accion=comprueba_fechas&fechafin=" + $("#fechafin").val();
	if ($("#fechaini").val() != "") {
		parametros += "&fechaini=" + $("#fechaini").val();
		if (comparaFechas($("#fechaini").val(), $("#fechafin").val(), 1) != 2) {
			alert(alert_err_3);
			$("#fecha_fin").attr("value", "");
			$("#fechafin").attr("value", "");
			desmarca_td($(td));
		}
	}
	$.ajax ({
		url: "tiendas_alquiler_act.php",
		type: "POST",
		dataType: "text",
		data: parametros,
		success: function (data) {
			if (data != "ok") {
				alert(alert_err_4);
				$("#fecha_fin").attr("value", "");
				$("#fechafin").attr("value", "");
				$("#err").attr("value", "1");
			} else {
				$("#form_fecha_fin").validate().element("#fecha_fin");
				$("#err").attr("value", "0");
			}
			compruebaErr("fin", $(td), $("#err").val());
		}
	});
}

function validar_totales (idioma) {
	/*if ($("#tipo_tienda").val() == "4") {
		if (idioma == "es") {
			alert("ATENCIÓN: Las tiendas de 4 ocupantes ya están completas");
		} else if (idioma == "en") {
			alert("NOTE: The four occupants tents are complete");
		} else {
			alert("ATENCIÓN: Las tiendas de 4 ocupantes ya están completas");
		}
	} else {*/
		$("#tabla_datos").fadeOut();
		$("#paso2").css("display", "none");
		$("#calculo_total").css("display", "none");
		if ($("#numero_adultos").val() == "") {
			$("#numero_adultos").attr("value", 0);
		}
		if ($("#numero_menores").val() == "") {
			$("#numero_menores").attr("value", 0);
		}
		if ($("#numero_tiendas").val() == "") {
			$("#numero_tiendas").attr("value", 0);
		}
		$("#error_total").css("display", "none");
		$("#datos_prev").unbind().validate({
			rules: {
				adultos:		{ required: true },
				tipo_tienda:	{ required: true },
				capacidad:		{ min: function () {
						adultos = $("#adultos").val();
						menores = $("#menores").val();
						adultos = adultos == "" ? adultos = 0 : parseInt(adultos) + 1;
						menores = menores == "" ? menores = 0 : parseInt(menores) + 1;
						return adultos + menores;
					}}
			}/*,
			messages: {
				numero_adultos:		{ min: "El número mínimo de adultos es de uno" },
				numero_personas:	{ max: "El límite de personas por reserva es de " + $("#numero_maximo_personas_reserva").val()}
			}*/
		});
		$("#form_fecha_inicio").validate({
			rules: {
				fecha_inicio:		{ required: true }
			}/*,
			messages: {
				fecha_inicio:		{ required: "Introduce una fecha de entrada" }
			}*/
		});
		$("#form_fecha_fin").validate({
			rules: {
				fecha_fin:		{ required: true }
			}/*,
			messages: {
				fecha_fin:		{ required: "Introduce una fecha de salida" }
			}*/
		});
	
		$("#datos_prev").validate().form();
	
		var valid = $("#datos_prev").validate().valid();
	
		$("#form_fecha_inicio").validate().form();
		var valid2 = $("#form_fecha_inicio").validate().valid();
	
		$("#form_fecha_fin").validate().form();
		var valid3 = $("#form_fecha_fin").validate().valid();
	
		if (valid && valid2 && valid3) {
			$.ajax ({
				url: "tiendas_alquiler_act.php",
				type: "POST",
				dataType: "text",
				data: "accion=comprueba_dias_reserva&fechaini=" + $("#fechaini").val() + "&fechafin=" + $("#fechafin").val(),
				success: function (data) {
					data = data.split("|");
					if (data[0] == "1") {
						$.ajax ({
							url: "tiendas_alquiler_act.php",
							type: "POST",
							dataType: "text",
							data: "accion=comprueba_personas_dia&tipo_tienda=" + $("#datos_prev input[name=tipo_tienda]:checked").val() + "&fechaini=" + $("#fechaini").val() + "&fechafin=" + $("#fechafin").val(),
							success: function (data) {
								data = data.split("|");
								if (data[0] == "1") {
									calcular_totales($("#numero_personas").val(), $("#numero_menores").val(), $("#fechaini").val(), $("#fechafin").val(), $("#datos_prev input[name=tipo_tienda]:checked").val());
								} else {
									$("#error_total").html(data[1]);
									$("#error_total").css("display", "");
								}
							}
						});
					} else {
						$("#error_total").html(data[1]);
						$("#error_total").css("display", "");
					}
				}
			});
		}
	/*}*/
}

function calcular_totales (numero_personas, numero_menores, fecha_inicio, fecha_fin, tipo_tienda) {
	abrirLoading();
	$.ajax({
		url: "tiendas_alquiler_act.php",
		type: "POST",
		dataType: "text",
		data: "accion=calcular_total&numero_personas=" + numero_personas + "&numero_menores=" + numero_menores + "&fecha_inicio=" + fecha_inicio + "&fecha_fin=" + fecha_fin+ "&tipo_tienda="  + tipo_tienda,
		success: function (data) {
			arr_data = data.split("||");
			if (arr_data.length==2) {
				$("#calculo_total").css("display", "");
				$("#total_fianza").html(arr_data[1] + "&euro;<br>").css({"display":""});
				$("#total_reserva").html(arr_data[0] + "&euro;").css({"display":""});
				$("#importe_fianza").val(arr_data[1]);
				$("#importe_reserva").val(arr_data[0]);
				$("#precio_inicial_reserva").val(arr_data[0]);
				$("#paso2").css("display", "");
				ocupantes();
				$("#tabla_datos").fadeIn();
			} else {
				alert("error");
			}
		}
	});
}

/**
 * Función que recoge los datos del cliente y ocupantes para mostrarlos en la edición de la reserva
 * Se le pasa como parámetro la id de la reserva
**/
function recoge_datos(id) {
	abrirLoading();
	$.ajax({
		url: "reservas_act.php",
		type: "POST",
		dataType: "text",
		data: "accion=form&id_reserva=" + id,
		success: function (data) {
			$("#datos_persona_reserva").fadeOut('normal', function () {
				$(this).html(data).fadeIn('normal');
				cerrarLoading();
				$("input[name^=menor]").click(function () {
					$("#error_menores").css({display:"none"});
				})
			});
		}
	});
}

function comprueba_retorno(){
	if ($("#act").length>"0"){
		if ($("#act").val()>0){
			showResponse ("","1","datos");
		}
	}

}




function reservas_act (accion,id) {
	switch (accion) {
		case "new":
			$("#search_form").attr("action","reservas_form.php");

			break;
		case "edit":
			$("#search_form").attr("action","reservas_form.php");

			break;
		case "del":
			$("#search_form").attr("action","reservas_act.php");

			break;

		case "seguir":
			$("#search_form").attr("action","reservas_seguimiento.php");

			break;
	}

	$("#search_form input[name=accion]").attr("value",accion);
	$("#search_form input[name=id_reserva]").attr("value",id);
	$("#search_form").submit();
}

function pasarDatos() {
	$("#nombre_0").attr("value", $("#nombre").val());
	$("#dni_0").attr("value", $("#dni").val())
	$("#datos").validate().element("#nombre_0");
	$("#datos").validate().element("#dni_0");
}

function validar_formulario () {
	$("#datos").validate ({
		rules: {
			nombre:	{ required: true },
			dni:	{ required: true },
			mail:	{ required: true, email: true }
		}
	});


	var personas = parseInt($("#numero_adultos").val()) + parseInt($("#numero_menores").val());
	for (i=0; i<personas; i++) {
		$("#nombre_" + i).rules("add", { required: true });
	}
	$("#datos").validate().form();
	var valid = $("#datos").validate().valid();
	if (valid) {
		$("#datos").attr("action", "reservas_online_paso2_grabar.php");
		$("#datos").submit();
	}
}
/*function validar_formulario() {

	$("#datos").validate({
		rules: {
			nombre:		{ required: true },
			dni:		{ required: true },
			mail:		{ required: true, email: true }
		}
	});

	personas = parseInt($("#numero_personas").val());
	for (i=0; i<personas; i++) {
		$("#nombre_" + i).rules("add", { required: true });
		if (i == 0) {
			$("#dni_" + i).rules("add", { required: true});
		}
	}

	if ($("input[name^=menor]:checked").length==$("#numero_menores").val()) {
		$("#datos").validate().form();
		var valid = $("#datos").validate().valid();
		if (valid) {
			if ($("#datos input[name=accion]").val()=="edit") {
				var ajaxFormOptions = {
						beforeSubmit:  showRequest,
						success:       function (responseText, statusText) {

								showResponse("",responseText,"datos");
						}
				};
				$("#datos").ajaxForm( ajaxFormOptions );
			}
			$("#datos").submit();
		}
	} else {
		$("#error_menores").css({display:""});
	}

}*/

function cancelar_formulario() {
 location.href = "reservas.php";
}

/**
 * Llama a un Ajax que se encarga de actualizar los datos de la tabla ocupacionesXreserva
 * Se le envía el parámetro id, que será la id de la fila a modificar, y el sufijo de los inputs a los que sacar los datos
**/
function actualiza_seguimiento (id) {

	adultos = $("#adultos_" + id).val();
	menores = $("#menores_" + id).val();
	tiendas = $("#tiendas_" + id).val();
	$.ajax ({
		url: "reservas_act.php",
		type: "POST",
		dataType: "text",
		data: "accion=seguimiento&id=" + id + "&adultos=" + adultos + "&menores=" + menores + "&tiendas=" + tiendas,
		success: function (data) {
			showRequest();
			showResponse("", data, "bloque");
		}
	});
}
