WEB-Team-A4/public/javascript/warenkorb.js

119 lines
4.7 KiB
JavaScript

window.addEventListener('DOMContentLoaded', function () {
let standardWerte = [10, 10, 10];
const preise = [0.95, 2.0, 1.10];
berechnePreise();
document.getElementById("button1").addEventListener('click', function () {
entferneAusWarenkorb(1);
});
document.getElementById("button2").addEventListener('click', function () {
entferneAusWarenkorb(2);
});
document.getElementById("button3").addEventListener('click', function () {
entferneAusWarenkorb(3);
});
document.getElementById("button4").addEventListener('click', function () {
entferneAusWarenkorb(4);
});
document.getElementById("button5").addEventListener('click', function () {
entferneAusWarenkorb(5);
});
document.getElementById("button6").addEventListener('click', function () {
entferneAusWarenkorb(6);
});
var bestellbutton1 = document.getElementById("bestellbutton_desktop").addEventListener('click', checkObFeldLeer);
var bestellbutton2 = document.getElementById("bestellbutton_mobil").addEventListener('click', checkObFeldLeer);
function entferneAusWarenkorb(index) {
let inputId = 'menue' + index;
let inputElement = document.getElementById(inputId);
let testVar = inputElement.value;
if (/^[0-9]+$/.test(testVar) === false) {
zeigeHinweisfenster("Keine gültige Zahl eingegeben.");
} else {
let verringereUm = parseInt(inputElement.value);
if (index === 4) {
index = 1;
}
if (index === 5) {
index = 2;
}
if (index === 6) {
index = 3;
}
if ((standardWerte[index - 1] - verringereUm) < 0) {
zeigeHinweisfenster("Der Wert darf nicht negativ sein/die Anzahl darf nicht unter 0 fallen.");
} else {
zeigeHinweisfenster("");
let aktuellerWert = standardWerte[index - 1] - verringereUm;
standardWerte[index - 1] = aktuellerWert;
inputElement.value = aktuellerWert;
}
}
berechnePreise();
}
function berechnePreise() {
for (let i = 0; i < standardWerte.length; i++) {
let preisID = 'gesamtbetrag' + (i + 1);
let preisElement = document.getElementById(preisID);
let preisEinzeln = (standardWerte[i] * preise[i]).toFixed(2);
preisElement.innerText = "Betrag Gesamt (inkl. MwSt.): " + preisEinzeln + '€';
}
for (let i = 0; i < standardWerte.length; i++) {
let preisID = 'gesamtbetrag' + (i + 4);
let preisElement = document.getElementById(preisID);
let preisEinzeln = (standardWerte[i] * preise[i]).toFixed(2);
preisElement.innerText = "Betrag Gesamt (inkl. MwSt.): " + preisEinzeln + '€';
}
gesamtpreis = ((standardWerte[0] * preise[0]) + (standardWerte[1] * preise[1]) + (standardWerte[2] * preise[2])) + 2.90;
let gesamtkostenText = document.getElementById("gesamtpreis");
gesamtkostenText.innerText = gesamtpreis.toFixed(2) + "€";
localStorage.setItem("gesamtpreis", gesamtpreis);
}
function zeigeHinweisfenster(text) {
var hinweisfenster = document.getElementById("notification");
hinweisfenster.innerText = text;
if (text !== "") {
hinweisfenster.style.display = "block";
} else {
hinweisfenster.style.display = "none";
}
}
function checkObFeldLeer(event) {
let feld1 = document.getElementById("menue1").value;
let feld2 = document.getElementById("menue2").value;
let feld3 = document.getElementById("menue3").value;
let feld4 = document.getElementById("menue4").value;
let feld5 = document.getElementById("menue5").value;
let feld6 = document.getElementById("menue6").value;
if ((feld1 === "") || (feld2 === "") || (feld3 === "") || (feld4 === "") || (feld5 === "") || (feld6 === "")) {
event.preventDefault();
zeigeHinweisfenster("Kein Feld darf leer sein!");
}
else if ((/^[0-9]{1,}$/.test(feld1) === false) || (/^[0-9]{1,}$/.test(feld2) === false) || (/^[0-9]{1,}$/.test(feld3) === false)
|| (/^[0-9]{1,}$/.test(feld4) === false) || (/^[0-9]{1,}$/.test(feld5) === false) || (/^[0-9]{1,}$/.test(feld6) === false)) {
event.preventDefault();
zeigeHinweisfenster("Es stehten keine (gültigen) Nummern in den Feldern. [gültig = positive Zahlen 0-9]")
}
else {
window.location.href = event.target.href;
// zeigeHinweisfenster("Feld ist nicht leer");
}
}
});