function saveItem() {
	let key = document.getElementById('product').value;
	let value = document.getElementById('quantity').value;
	if(key && value && !isNaN(value)) {
		localStorage.setItem(key, value);
		updateCart();
	}	
}

function deleteItem() {
	let key = document.getElementById('product').value;
	localStorage.removeItem(key);
	updateCart();
}

function emptyCart() {
	localStorage.clear();
	updateCart();
}

const inventory = {
	'Stratos': 8,
	'Hubba bubba': 2,
	'Smørbukk': 1,
	'Hobby': 6,
	'Lakrisbåter': 20,
	'Smil': 12
}

function createInventory() {
	let options = '<option value selected>-- Velg vare --</option>';

	Object.keys(inventory).forEach(key => {
 		options += '<option value="' + key + '">' + key + ' (' + inventory[key] + ' kr)' + '</option>';
	});

	document.getElementById('product').innerHTML = options;

	updateCart();	
}

function updateCart() {
	let list = "";
	let totalPrice = 0;

	if (localStorage.length > 0) {
		Object.keys(localStorage).forEach(key => {
			let quantity = localStorage.getItem(key);
	 		let price = quantity * inventory[key];
	 		totalPrice += price;
	 		list += '<li>' + quantity + ' ' + key + '; ' + price + ' kr</li>';
		});
	} else {
		list = "(tomt)";
	}

	document.getElementById('list').innerHTML = list;
	document.getElementById('price').innerHTML = totalPrice;
}

function validate(id) {
	let value = document.getElementById(id).value;
	let ok = !!value && value.length > 0;
	if(!ok) {
		document.getElementById(id + 'Error').innerHTML = 'Feltet må ha en verdi'
	} else {
		document.getElementById(id + 'Error').innerHTML = ''
	}
	return ok;
}

function validateForm() {
	return validate('fullName') && validate('address') && validate('postCode') && validate('city') && validateCreditCardNo();
}

function validateCreditCardNo() {
	let ccNo = document.getElementById('creditCardNo').value;
	if(ccNo.trim().length !== 16 || isNaN(ccNo.trim())) {
		document.getElementById('creditCardNoError').innerHTML = "Kredittkortnummeret må bestå av 16 siffer"
		return false;
	} else {
		document.getElementById('creditCardNoError').innerHTML = "";
		return true;
	}
}