Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function daniUMjesecu(mjesec, godina) {
  2.   return 32 - new Date(godina, mjesec, 32).getDate();
  3. }
  4.  
  5. var trenutniDatum = new Date();
  6. var trenutniMjesec = trenutniDatum.getMonth();
  7. var trenutnaGodina = trenutniDatum.getFullYear();
  8.  
  9. let Kalendar = (function() {
  10.   function obojiZauzecaImpl(kalendarRef, mjesec, sala, pocetak, kraj) {}
  11.  
  12.   function ucitajPodatkeImpl(periodicna, redovna) {}
  13.  
  14.   function iscrtajKalendarImpl(kalendarRef, mjesec) {
  15.     if (mjesec === 0) {
  16.       document.getElementById("prethodni").disabled = true;
  17.       document.getElementById("sljedeci").disabled = false;
  18.     } else if (mjesec === 11) {
  19.       document.getElementById("prethodni").disabled = false;
  20.       document.getElementById("sljedeci").disabled = true;
  21.     } else {
  22.       document.getElementById("prethodni").disabled = false;
  23.       document.getElementById("sljedeci").disabled = false;
  24.     }
  25.     var mjeseci = [
  26.       "Januar",
  27.       "Februar",
  28.       "Mart",
  29.       "April",
  30.       "Maj",
  31.       "Juni",
  32.       "Juli",
  33.       "August",
  34.       "Septembar",
  35.       "Oktobar",
  36.       "Novembar",
  37.       "Decembar"
  38.     ];
  39.  
  40.     let prviDan = new Date(trenutnaGodina, mjesec).getDay();
  41.     let brojDanaUMjesecu = daniUMjesecu(mjesec, trenutnaGodina);
  42.  
  43.     kalendarRef.caption.innerHTML = mjeseci[mjesec];
  44.     if (prviDan === 0) prviDan = 7;
  45.  
  46.     var dani = kalendarRef.getElementsByClassName("dan");
  47.  
  48.     //dodavanje celije dan na sve pozicije
  49.     for (var i = 0; i < dani.length; i++) {
  50.       dani[i].innerHTML = dani[6].innerHTML;
  51.       dani[i].getElementsByTagName("td")[0].innerHTML = "";
  52.     }
  53.  
  54.     //upisivanje odgovarajucih datuma
  55.     var index = 1;
  56.     for (var i = prviDan - 1; i < prviDan + brojDanaUMjesecu - 1; i++) {
  57.       dani[i].getElementsByTagName("td")[0].innerHTML = index++;
  58.     }
  59.  
  60.     //brisanje celija prije prvog dana
  61.     for (var i = 0; i < prviDan - 1; i++) {
  62.       dani[i].innerHTML = "";
  63.     }
  64.  
  65.     //brisanje celija poslije zadnjeg dana
  66.     for (var i = prviDan + brojDanaUMjesecu - 1; i < 42; i++) {
  67.       dani[i].innerHTML = "";
  68.     }
  69.   }
  70.   return {
  71.     obojiZauzeca: obojiZauzecaImpl,
  72.     ucitajPodatke: ucitajPodatkeImpl,
  73.     iscrtajKalendar: iscrtajKalendarImpl
  74.   };
  75. })();
  76.  
  77. function dajIndeks(mjesec) {
  78.   const mjeseci = {
  79.     Januar: 0,
  80.     Februar: 1,
  81.     Mart: 2,
  82.     April: 3,
  83.     Maj: 4,
  84.     Juni: 5,
  85.     Juli: 6,
  86.     August: 7,
  87.     Septembar: 8,
  88.     Oktobar: 9,
  89.     Novembar: 10,
  90.     Decembar: 11
  91.   };
  92.   return mjeseci[mjesec];
  93. }
  94.  
  95. window.onload = function() {
  96.   Kalendar.iscrtajKalendar(
  97.     document.getElementsByClassName("kalendar")[0],
  98.     this.trenutniMjesec
  99.   );
  100. };
  101.  
  102. function Sljedeci() {
  103.   let mjesec = document.getElementsByClassName("kalendar")[0].caption.innerHTML;
  104.   let indeks = dajIndeks(mjesec);
  105.   Kalendar.iscrtajKalendar(
  106.     document.getElementsByClassName("kalendar")[0],
  107.     ++indeks
  108.   );
  109. }
  110.  
  111. function Prethodni() {
  112.   let mjesec = document.getElementsByClassName("kalendar")[0].caption.innerHTML;
  113.   let indeks = dajIndeks(mjesec);
  114.   Kalendar.iscrtajKalendar(
  115.     document.getElementsByClassName("kalendar")[0],
  116.     --indeks
  117.   );
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement