let databox, db;
function initiate() {
  databox = document.getElementById("databox");
  const button = document.getElementById("save");
  button.addEventListener("click", addobject);

  const request = indexedDB.open("mydatabase");
  request.addEventListener("error", showerror);
  request.addEventListener("success", start);
  request.addEventListener("upgradeneeded", createdb);
}
function showerror(event) {
  alert("Error: " + event.target.error.name + " " + event.target.error.message);
}
function start(event) {
  db = event.target.result;
  show();
}
function createdb(event) {
  const database = event.target.result;
  const mystore = database.createObjectStore("movies", {keyPath: "id"});
  mystore.createIndex("SearchYear", "date", {unique: false});
}
function addobject() {
  const keyword = document.getElementById("keyword").value;
  const title = document.getElementById("text").value;
  const year = document.getElementById("year").value;

  const mytransaction = db.transaction(["movies"], "readwrite");
  const mystore = mytransaction.objectStore("movies");
  mytransaction.addEventListener("complete", show);

  const request = mystore.add({id: keyword, name: title, date: year});
  document.getElementById("keyword").value = "";
  document.getElementById("text").value = "";
  document.getElementById("year").value = "";
}
function show() {
  databox.innerHTML = "";
  const mytransaction = db.transaction(["movies"]);
  const mystore = mytransaction.objectStore("movies");
  const request = mystore.openCursor();
  request.addEventListener("success", showlist);
}
function showlist(event) {
  const cursor = event.target.result;
  if (cursor) {
    databox.innerHTML += "<div>" + cursor.value.id + " - " + cursor.value.name + " - " + cursor.value.date + "</div>";
    cursor.continue();
  }
}
window.addEventListener("DOMContentLoaded", initiate);