/**
* Funkcja do dodawania przedmiotów do koszyka.
* @param {HTMLElement} buttonElement - Element przycisku "Dodaj do koszyka".
*/
function addToCart(buttonElement) {
const name = buttonElement.getAttribute('data-name');
const price = parseFloat(buttonElement.getAttribute('data-price'));
const image = buttonElement.getAttribute('data-image'); // Pobierz ścieżkę obrazu
let cart = JSON.parse(localStorage.getItem('cart')) || [];
cart.push({ name, price, image }); // Dodaj przedmiot do koszyka
localStorage.setItem('cart', JSON.stringify(cart)); // Zaktualizuj koszyk w localStorage
updateCartCount(); // Aktualizuj licznik koszyka
}
/**
* Funkcja do wyświetlania przedmiotów w koszyku.
*/
function displayCart() {
let cartItems = document.getElementById('cartItems');
let totalPrice = 0;
let cart = JSON.parse(localStorage.getItem('cart')) || [];
cartItems.innerHTML = ''; // Wyczyść istniejące przedmioty
cart.forEach((item, index) => {
let itemElement = document.createElement('div');
itemElement.classList.add('item');
itemElement.innerHTML = `
<img src="${item.image}" alt="${item.name}" style="width:100px;">
<span>${item.name} - $${item.price.toFixed(2)}</span>
<button onclick="removeFromCart(${index})">Remove</button>
`;
cartItems.appendChild(itemElement);
totalPrice += item.price;
});
if (cart.length === 0) {
cartItems.innerHTML = '<p>Your cart is empty.</p>';
}
document.getElementById('totalPrice').innerText = `$${totalPrice.toFixed(2)}`;
updateCartCount(); // Aktualizuj licznik koszyka również tutaj
}
/**
* Funkcja do usuwania pojedynczego przedmiotu z koszyka.
* @param {number} index - Indeks przedmiotu do usunięcia z koszyka.
*/
function removeFromCart(index) {
let cart = JSON.parse(localStorage.getItem('cart')) || [];
cart.splice(index, 1); // Usuń przedmiot z koszyka
localStorage.setItem('cart', JSON.stringify(cart)); // Zaktualizuj koszyk w localStorage
displayCart(); // Odśwież widok koszyka
updateCartCount(); // Aktualizuj licznik koszyka
}
/**
* Funkcja do aktualizacji licznika koszyka.
*/
function updateCartCount() {
let cart = JSON.parse(localStorage.getItem('cart')) || [];
let count = cart.length; // Liczba przedmiotów w koszyku
document.getElementById('cartCount').textContent = count; // Ustaw tekst licznika koszyka
}
/**
* Funkcja do walidacji formularza i przetwarzania zamówienia.
*/
function validateAndCheckout() {
// Pobierz wartości z pól formularza
const name = document.getElementById('name').value;
const phone = document.getElementById('phone').value;
const address = document.getElementById('address').value;
const cardNumber = document.getElementById('cardNumber').value;
const cardMM = document.getElementById('cardMM').value;
const cardYYYY = document.getElementById('cardYYYY').value;
const cardCVV = document.getElementById('cardCVV').value;
// Prosta walidacja (można rozszerzyć o bardziej skomplikowane sprawdzenia)
if (name && phone && address && cardNumber && cardMM && cardYYYY && cardCVV) {
alert('Zakupy zrealizowane. Więcej informacji na mailu.');
// Tutaj można dodać kod do obsługi płatności, wysyłania danych na serwer itp.
// Oczyść koszyk
localStorage.removeItem('cart');
displayCart();
updateCartCount();
} else {
alert('Proszę uzupełnić wszystkie dane.');
}
}
// Wywołaj funkcje po załadowaniu DOM
document.addEventListener('DOMContentLoaded', () => {
updateCartCount(); // Aktualizacja licznika przy ładowaniu strony
if (window.location.pathname.includes('cart.html')) {
displayCart(); // Wyświetl przedmioty w koszyku jeśli jesteś na stronie koszyka
}
});