89 lines
2.1 KiB
JavaScript
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}`;
|
|
}
|