IFCD0210/Practicas/Practicas JS/DOM Alquiler Coche/js/main.js
Marcos Lopez a32d41503d Dia 35
2024-01-25 13:45:32 +01:00

89 lines
2.1 KiB
JavaScript

function calculaAlquiler() {
const IVA = 1.21;
const resultado = document.getElementById("resultado");
const diasAlquiler = parseInt(document.getElementById("diasAlquiler").value);
const fechaInicio = new Date(document.getElementById("fechaInicio").value);
const diasHastaRecojer = diasDiferencia(fechaInicio);
//prettier-ignore
const eurXVehiculo = parseInt(eurXTipo(document.getElementById("tipoVehiculo").value));
//prettier-ignore
const sillaInfantil = document.getElementById("sillaInfantil").checked ? 15 : 0;
const gps = document.getElementById("gps").checked ? 5 : 0;
let seguro = parseInt(
document.querySelector('input[name="seguro"]:checked').value
);
if (seguro === 0) {
seguro = parseInt(
eurXSeguro(document.getElementById("tipoVehiculo").value)
);
}
const menor30 = document.getElementById("menor30").checked;
let pvpSinIva =
eurXVehiculo * diasAlquiler +
sillaInfantil * diasAlquiler +
gps * diasAlquiler +
seguro * diasAlquiler;
let pvpConIva = 0;
if (menor30 === true) {
pvpConIva = pvpSinIva * IVA * 1.3;
} else {
pvpConIva = pvpSinIva * IVA;
}
resultado.textContent = `El total final es: ${pvpConIva.toFixed(2)}`;
alert(
`Faltan ${diasHastaRecojer} dias para tu alquiler! \n Tu fecha de entrega del vehículo es el ${formatFecha(
fechaInicio
)} `
);
}
function eurXTipo(tipoVehiculo) {
let valor = 0;
switch (tipoVehiculo) {
case "basico":
valor = 45;
break;
case "gama_media":
valor = 65;
break;
case "lujo":
valor = 85;
break;
}
return valor;
}
function eurXSeguro(tipoVehiculo) {
let valor = 0;
switch (tipoVehiculo) {
case "basico":
valor = 15;
break;
case "gama_media":
valor = 25;
break;
case "lujo":
valor = 35;
break;
}
return valor;
}
function diasDiferencia(fechaFinal) {
const fechaActual = new Date();
return Math.ceil((fechaFinal - fechaActual) / (1000 * 60 * 60 * 24));
}
function formatFecha(fecha) {
var dia = fecha.getDate();
var mes = fecha.getMonth() + 1;
var ano = fecha.getFullYear();
return `${dia}/${mes}/${ano}`;
}