text: let today = new Date();
  let currentMonth = today.getMonth();
  let currentYear = today.getFullYear();
  let nextMonth = false;
  
  
  let months = ["Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
  
  let monthAndYear = document.getElementById("monthAndYear");
  showCalendar(currentMonth, currentYear, "calendar-body");
  nextMonth = true;
  today = Date.today().addMonths(1) 
  currentMonth = today.getMonth();
  currentYear = today.getFullYear();
  monthAndYear = document.getElementById("monthAndYear-1");
  showCalendar(currentMonth, currentYear, "calendar-body-1");
  today = Date.today().addMonths(2) 
  currentMonth = today.getMonth();
  currentYear = today.getFullYear();
  monthAndYear = document.getElementById("monthAndYear-2");
  showCalendar(currentMonth, currentYear, "calendar-body-2");
  
  function next() {
      currentYear = (currentMonth === 11) ? currentYear + 1 : currentYear;
      currentMonth = (currentMonth + 1) % 12;
      showCalendar(currentMonth, currentYear);
  }
  
  function previous() {
      currentYear = (currentMonth === 0) ? currentYear - 1 : currentYear;
      currentMonth = (currentMonth === 0) ? 11 : currentMonth - 1;
      showCalendar(currentMonth, currentYear);
  }
  
  function jump() {
      currentYear = parseInt(selectYear.value);
      currentMonth = parseInt(selectMonth.value);
      showCalendar(currentMonth, currentYear);
  }
  
  function showCalendar(month, year, elementName) {
      var weekday = new Array(7);
      weekday[0] = 6;
      weekday[1] = 0;
      weekday[2] = 1;
      weekday[3] = 2;
      weekday[4] = 3;
      weekday[5] = 4;
      weekday[6] = 5;
      let firstDay = (new Date(year, month)).getDay();
      let daysInMonth = 32 - new Date(year, month, 32).getDate();
  
      let tbl = document.getElementById(elementName); // body of the calendar
  
      // clearing all previous cells
      tbl.innerHTML = "";
  
      // filing data about month and in the page via DOM.
      monthAndYear.innerHTML = months[month];
  
  
      // creating all cells
      let date = 1;
      for (let i = 0; i < 6; i++) {
          // creates a table row
          let row = document.createElement("tr");
          
          //get the week of the year
          var onejan = new Date(today.getFullYear(), today.getMonth() , date);
          var cw = Math.ceil((((this - onejan) / 86400000) + onejan.getDay() + 1) / 7);
  
          //creating individual cells, filing them up with data.
          for (let j = 0; j < 7; j++) {
              if (i === 0 && j <  weekday[firstDay]) {
                  let cell = document.createElement("td");
                  let cellText = document.createTextNode("");
                  cell.appendChild(cellText);
                  row.appendChild(cell);
              }
              else if (date > daysInMonth) {
                  break;
              }
  
              else {
                  let cell = document.createElement("td");
                  let cellText = document.createTextNode(date);
                  if (date === today.getDate() && year === today.getFullYear() && month === today.getMonth() && nextMonth === false) {
                      cell.classList.add("bg-info");
                  } // color today's date
                  cell.appendChild(cellText);
                  row.appendChild(cell);
                  date++;
              }
              
  
          }
          
  
          tbl.appendChild(row); // appending each row into calendar body.
      }
  
  }