// funkcije vezane uz kontrolu kalendar
// =================================

// provjeri da li je u kalendar kontroli sa navedenim nastavkom uključeno editiranje godine i vrati true ako jeste ili false ako nije
function kalEditGodine(nastavak) {
  var kk = document.getElementById("kal_godina_broj"+ nastavak);
  if (kk.getElementsByTagName("input").length > 0) {
    return true;
  } else {
    return false;
  }
}

function naziv_mjeseca(mjesec) {
  nm = new Array('','siječanj','veljača','ožujak','travanj','svibanj','lipanj','srpanj','kolovoz','rujan','listopad','studeni','prosinac');
  return nm[parseInt(mjesec)];
}

// kada korisnik pritisne kontrolu za datum u obrascu pokreće se ova funkcija i otvara kalendar
function prikaziKalendar(nastavak) {
  dan = document.getElementById("in_dan"+ nastavak).value;
  mjesec = document.getElementById("in_mjesec"+ nastavak).value;
  godina = document.getElementById("in_godina"+ nastavak).value;
  oblik = document.getElementById("in_oblik"+ nastavak).value;
  g = document.getElementById("kalendar"+ nastavak);
  if (g.innerHTML != "") {
    g.innerHTML = "";
  } else {
    doAjax('kalendar'+ nastavak,'script/kalendar.php?akcija=otvori_kalendar&nastavak='+ nastavak +'&oblik='+ oblik +'&dan='+ dan +'&mjesec='+ mjesec +'&godina='+ godina);
  }
}

// kada korisnik/posjetitelj klikne na dan u kalendaru pokreće se ova funkcija, koja zapisuje odabrani dan u obrazac na stranici i zatvara kontrolu
function odabranDatum(nastavak,dan,mjesec,godina) {
  f = document.getElementById("frm_kalendar"+ nastavak);
  f.dan.value = dan;
  f.mjesec.value = mjesec;
  f.godina.value = godina;
  document.getElementById("in_dan"+ nastavak).value = dan;
  document.getElementById("in_mjesec"+ nastavak).value = mjesec;
  document.getElementById("in_godina"+ nastavak).value = godina;
  doAjax('datum'+ nastavak,'script/kalendar.php?akcija=oblikuj_datum&dan='+ dan +"&mjesec="+ mjesec +"&godina="+ godina +"&oblik="+ f.oblik.value);
  document.getElementById("kalendar"+ nastavak).innerHTML = '';
}

function kalMjesecManje(nastavak) {
  f = document.getElementById("frm_kalendar"+ nastavak);
  f.mjesec.value -= 1;
  if (f.mjesec.value == 0) {
    f.mjesec.value = 12;
    kalGodinaManje(nastavak);
  } else {
    doAjax('dani_u_mjesecu'+ nastavak,'script/kalendar.php?akcija=dani_u_mj&nastavak='+ nastavak +'&dan='+ f.dan.value +'&mjesec='+ f.mjesec.value +'&godina='+ f.godina.value);
  }
  var nm = naziv_mjeseca(f.mjesec.value);
  var kmi = document.getElementById("kal_mjesec_ime"+ nastavak);
  kmi.childNodes[0].nodeValue = nm;
}

function kalMjesecVise(nastavak) {
  f = document.getElementById("frm_kalendar"+ nastavak);
  f.mjesec.value = 1 + parseInt(f.mjesec.value);
  if (f.mjesec.value == 13) {
    f.mjesec.value = 1;
    kalGodinaVise(nastavak);
  } else {
    doAjax('dani_u_mjesecu'+ nastavak,'script/kalendar.php?akcija=dani_u_mj&nastavak='+ nastavak +'&dan='+ f.dan.value +'&mjesec='+ f.mjesec.value +'&godina='+ f.godina.value);
  }
  var nm = naziv_mjeseca(f.mjesec.value);
  var kmi = document.getElementById("kal_mjesec_ime"+ nastavak);
  kmi.childNodes[0].nodeValue = nm;
}

function kalGodinaManje(nastavak) {
  f = document.getElementById("frm_kalendar"+ nastavak);
  f.godina.value -= 1;
  var kgb = document.getElementById("kal_godina_broj"+ nastavak);
  kgb.innerHTML = '';
  var ntn = document.createTextNode(f.godina.value);
  kgb.appendChild(ntn);
  doAjax('dani_u_mjesecu'+ nastavak,'script/kalendar.php?akcija=dani_u_mj&nastavak='+ nastavak +'&dan='+ f.dan.value +'&mjesec='+ f.mjesec.value +'&godina='+ f.godina.value);
}

function kalGodinaVise(nastavak) {
  f = document.getElementById("frm_kalendar"+ nastavak);
  f.godina.value = 1 + parseInt(f.godina.value);
  var kgb = document.getElementById("kal_godina_broj"+ nastavak);
  kgb.innerHTML = '';
  var ntn = document.createTextNode(f.godina.value);
  kgb.appendChild(ntn);
  doAjax('dani_u_mjesecu'+ nastavak,'script/kalendar.php?akcija=dani_u_mj&nastavak='+ nastavak +'&dan='+ f.dan.value +'&mjesec='+ f.mjesec.value +'&godina='+ f.godina.value);
}

function kalIzmjenaGodine(nastavak) {
  if (!kalEditGodine(nastavak)) {
    f = document.getElementById("frm_kalendar"+ nastavak);
    var kgb = document.getElementById("kal_godina_broj"+ nastavak);
    kgb.innerHTML = '';
    var in_kgb = document.createElement('div');
    in_kgb.innerHTML = '<input type="text" id="kal_godina_in'+ nastavak +'" name="kal_godina_in" value="'+ f.godina.value +'" class="kal_godina_in" onblur="kalIzmjenjenaGodina(\''+ nastavak +'\');"/>';
    kgb.appendChild(in_kgb);
    f.kal_godina_in.focus();
    f.kal_godina_in.select();
  }
}

function kalIzmjenjenaGodina(nastavak) {
  f = document.getElementById("frm_kalendar"+ nastavak);
  // ako je godina u dozvoljeinm limitima, promijeni godinu u novo upisanu; osvježi prikaz kalendara
  var ok = true;
  var god = document.getElementById("kal_godina_in"+ nastavak).value;
  if ((f.god_od.value != 0) && (god < f.god_od.value)) {
    ok = false;
  }
  if ((f.god_do.value != 0) && (god > f.god_do.value)) {
    ok = false;
  }
  if (ok) {
    f.godina.value = god;
    var kgb = document.getElementById("kal_godina_broj"+ nastavak);
    kgb.innerHTML = '';
    var ntn = document.createTextNode(f.godina.value);
    kgb.appendChild(ntn);
    doAjax('dani_u_mjesecu'+ nastavak,'script/kalendar.php?akcija=dani_u_mj&nastavak='+ nastavak +'&dan='+ f.dan.value +'&mjesec='+ f.mjesec.value +'&godina='+ f.godina.value);
  } else {
    var kgb = document.getElementById("kal_godina_broj"+ nastavak);
    kgb.innerHTML = '';
    var ntn = document.createTextNode(f.godina.value);
    kgb.appendChild(ntn);
  }
}
