Para poder realizar una reserva, tenés que acceder desde un link de viaje concreto.
Ejemplo de URL correcta:
.../reserva.html?viaje=Maraton-de-Mendoza
Tu reserva para ${nombreViajeLimpio} ya se realizó el día ${reservaExistente.fechaReserva}.
Para verificar el estado de tu reserva y/o abonar cuotas, tocá IR A MI CUENTA.
`; return; } } vistaIdentificacion.style.display = 'none'; if (usuario) { document.getElementById('dni-login').textContent = dni; vistaLogin.style.display = 'block'; } else { document.getElementById('dni-nuevo').textContent = dni; vistaNuevoUsuario.style.display = 'block'; } }); const formLogin = document.getElementById('form-login'); const mensajeFinal = document.getElementById('form-mensaje-final'); const loginError = document.getElementById('login-error'); /* MODIFICADO: La lógica de login ahora puebla los datos del usuario */ formLogin.addEventListener('submit', function (e) { e.preventDefault(); const dni = document.getElementById('dni-login').textContent; const passwordIngresada = document.getElementById('password-login').value; const usuario = baseDeDatosSimulada[dni]; if (usuario && usuario.password === passwordIngresada) { vistaLogin.style.display = 'none'; loginError.style.display = 'none'; // Poblar los campos con los datos del usuario datosNombre.textContent = usuario.nombre; datosDni.textContent = dni; datosFechaNac.textContent = usuario.fechaNac; datosWhatsapp.textContent = usuario.whatsapp; datosDomicilio.textContent = `${usuario.domicilio.calle}, ${usuario.domicilio.ciudad}, ${usuario.domicilio.provincia}.`; vistaUsuarioExistente.style.display = 'block'; } else { loginError.textContent = 'Contraseña incorrecta. Por favor, intentá de nuevo.'; loginError.style.display = 'block'; } }); const formUsuarioExistente = document.getElementById('form-usuario-existente'); const existenteUsuarioError = document.getElementById('existente-usuario-error'); formUsuarioExistente.addEventListener('submit', function(e) { e.preventDefault(); if (!document.getElementById('terminos-existente').checked) { existenteUsuarioError.textContent = 'Debes aceptar los términos y condiciones para continuar.'; existenteUsuarioError.style.display = 'block'; return; } existenteUsuarioError.style.display = 'none'; vistaUsuarioExistente.style.display = 'none'; document.getElementById('info-viaje').style.display = 'none'; mensajeFinal.textContent = `¡Reserva confirmada para ${nombreViajeLimpio}! Gracias por volver a elegirnos.`; mensajeFinal.className = 'mensaje-exito'; }); const formNuevoUsuario = document.getElementById('form-nuevo-usuario'); const nuevoUsuarioError = document.getElementById('nuevo-usuario-error'); formNuevoUsuario.addEventListener('submit', function (e) { e.preventDefault(); const pass = document.getElementById('password-nuevo').value; const confirmPass = document.getElementById('password-confirm-nuevo').value; if (pass !== confirmPass) { nuevoUsuarioError.textContent = 'Las contraseñas no coinciden. Por favor, verificá.'; nuevoUsuarioError.style.display = 'block'; return; } if (!document.getElementById('terminos-nuevo').checked) { nuevoUsuarioError.textContent = 'Debes aceptar los términos y condiciones para continuar.'; nuevoUsuarioError.style.display = 'block'; return; } nuevoUsuarioError.style.display = 'none'; vistaNuevoUsuario.style.display = 'none'; document.getElementById('info-viaje').style.display = 'none'; mensajeFinal.textContent = `¡Felicitaciones! Tu cuenta fue creada y tu reserva para ${nombreViajeLimpio} fue confirmada. Recibirás un email con los detalles.`; mensajeFinal.className = 'mensaje-exito'; }); const botonesVolver = document.querySelectorAll('.btn-volver'); botonesVolver.forEach(function(boton) { boton.addEventListener('click', function() { vistaLogin.style.display = 'none'; vistaNuevoUsuario.style.display = 'none'; document.getElementById('form-login').reset(); document.getElementById('form-nuevo-usuario').reset(); loginError.style.display = 'none'; nuevoUsuarioError.style.display = 'none'; vistaIdentificacion.style.display = 'block'; document.getElementById('dni-check').value = ''; document.getElementById('dni-check').focus(); }); }); const selectDistanciaNuevo = document.getElementById('distancia-nuevo'); const selectTalleNuevo = document.getElementById('talle-nuevo'); const selectMoldeNuevo = document.getElementById('molde-nuevo'); selectDistanciaNuevo.addEventListener('change', function() { const esAcompanante = this.value === 'Ninguna'; selectTalleNuevo.required = !esAcompanante; selectTalleNuevo.disabled = esAcompanante; selectMoldeNuevo.required = !esAcompanante; selectMoldeNuevo.disabled = esAcompanante; if (esAcompanante) { selectTalleNuevo.value = ''; selectMoldeNuevo.value = ''; } }); const selectDistanciaExistente = document.getElementById('distancia-existente'); const selectTalleExistente = document.getElementById('talle-existente'); const selectMoldeExistente = document.getElementById('molde-existente'); selectDistanciaExistente.addEventListener('change', function() { const esAcompanante = this.value === 'Ninguna'; selectTalleExistente.required = !esAcompanante; selectTalleExistente.disabled = esAcompanante; selectMoldeExistente.required = !esAcompanante; selectMoldeExistente.disabled = esAcompanante; if (esAcompanante) { selectTalleExistente.value = ''; selectMoldeExistente.value = ''; } }); });