/* <Objektu pro praci s mesicnim kalendarem>  */
function KalendarMesicni (mesic,rok)
{
  this.mesic = mesic;
  this.rok = rok;
  this.prefixIdPrvku = '';
  
  this.ziskejPocetDniMesice = function ()
  {
    var udajeMesice = new Array ();   
    var zbytekPoDeleni = this.rok%4;
    
    if(mesic == 1 || mesic == 3 || mesic == 5 || mesic == 7 || mesic == 8 || mesic == 10|| mesic == 12)
    {
      return 31;
    }
    else if (mesic == 4 || mesic == 6 || mesic == 9 || mesic == 11)
    {
      return 30;
    }
    else if (zbytekPoDeleni > 0)
    {
      return 28;
    }
    else
    {
      return 29;
    }
  }
  
  this.ziskejPrvniDenMesice = function ()
  {
    var promenna = new Date();
    promenna.setFullYear(this.rok);
    promenna.setMonth(this.mesic - 1);
    promenna.setDate(1);
    var zbytekPoDeleni = promenna.getDay();
      
    if (zbytekPoDeleni == 0)
    {
      zbytekPoDeleni = 7;
    }
    return zbytekPoDeleni;
  }
  
  this.ziskejMesicniKalendar = function (pocetDni,prvniDenMesice,aktualniDatum,udajeVybranehoData,prefixIdPrvku)
  {
    this.prefixIdPrvku = prefixIdPrvku;
    var denMesice = 1;
 
    for (i=1;i<=42;i++)
    {
      var id = "kalendar" + prefixIdPrvku + "Den" + i;
      
      if(i<prvniDenMesice || denMesice > pocetDni)
      {
        var obsah = '&nbsp;';
        document.getElementById(id).className = 'prazdne';
      }
      else
      {
        if (prefixIdPrvku != '')
        {
            var obsah = "<span>" + denMesice + "</span>";
        }
        else
        {
            var obsah = "<span class=\"klikatelnyText\" onclick=\"ziskejZmenuVybranehoDne ('" + 
                id + "','"  + denMesice + "." + this.mesic + "." + this.rok + "');\">" + denMesice + "</span>";
        }
        
        if (this.rok == udajeVybranehoData['rok'] && this.mesic == udajeVybranehoData['mesic'] && denMesice == udajeVybranehoData['den'])
        {
          var tridaCSS = document.getElementById(id).className;
          document.getElementById(id).className = tridaCSS + " vybrany";
        }
        else if (this.rok == aktualniDatum['rok'] && this.mesic == aktualniDatum['mesic'] && denMesice == aktualniDatum['den'])
        {
          var tridaCSS = document.getElementById(id).className;
          document.getElementById(id).className = tridaCSS + " dnesek";
        }
        else
        {
          var tridaCSS = document.getElementById(id).className;
          tridaCSS = tridaCSS.replace(" vybrany", "");
          tridaCSS = tridaCSS.replace(" dnesek", "");
          document.getElementById(id).className = tridaCSS;
        }
        
        denMesice += 1;
      }
      
      document.getElementById(id).innerHTML = obsah;
    }
    
    document.getElementById("kalendar" + prefixIdPrvku + "ZobrazenyRok").innerHTML = this.rok;
    document.getElementById("kalendar" + prefixIdPrvku + "ZobrazenyMesic").innerHTML = ziskejNazevMesice (this.mesic);
    this.ziskejUpravuTlacitek ();
  }
  
  this.ziskejUpravuTlacitek = function ()
  {
    var predchoziMesic = this.mesic - 1;
    var predchoziMesicRok = this.rok;
    var nasledujiciMesic = this.mesic*1 + 1;
    var nasledujiciMesicRok = this.rok;
    var predchoziRok = this.rok - 1;
    var nasledujiciRok = this.rok*1 + 1;
    
    if (predchoziMesic == 0)
    {
      predchoziMesic = 12;
      predchoziMesicRok = this.rok - 1;
    }
    
    if (nasledujiciMesic == 13)
    {
      nasledujiciMesic = 1;
      nasledujiciMesicRok = this.rok*1 + 1;
    }
    
    
    
    if (this.rok > 2001)
    {
      document.getElementById("posun" + this.prefixIdPrvku + "RokuDopredu").innerHTML = "<span class=\"klikatelnyText\" onclick=\"ziskejMesicniKalendar (" + 
      this.mesic + "," + predchoziRok + ",'" + this.prefixIdPrvku + "');\">&lt;</span>";
    }
    else
    {
      document.getElementById("posun" + this.prefixIdPrvku + "RokuDopredu").innerHTML = "";
    }
    
    if (this.rok < 2099)
    {
      document.getElementById("posun" + this.prefixIdPrvku + "RokuDozadu").innerHTML = "<span class=\"klikatelnyText\" onclick=\"ziskejMesicniKalendar (" + 
      this.mesic + "," + nasledujiciRok + ",'" + this.prefixIdPrvku + "');\">&gt;</span>";
    }
    else
    {
      document.getElementById("posun" + this.prefixIdPrvku + "RokuDopredu").innerHTML = "";
    }
    
    
    if (this.rok > 2001 && this.rok < 2099)
    {
      document.getElementById("posun" + this.prefixIdPrvku + "MesiceDopredu").innerHTML = "<span class=\"klikatelnyText\" onclick=\"ziskejMesicniKalendar (" + 
      predchoziMesic + "," + predchoziMesicRok + ",'" + this.prefixIdPrvku + "');\">&lt;</span>";
      document.getElementById("posun" + this.prefixIdPrvku + "MesiceDozadu").innerHTML = "<span class=\"klikatelnyText\" onclick=\"ziskejMesicniKalendar (" + 
      nasledujiciMesic + "," + nasledujiciMesicRok + ",'" + this.prefixIdPrvku + "');\">&gt;</span>";
    }
    else if (this.rok == 2001 && this.mesic == 1)
    {
      document.getElementById("posun" + this.prefixIdPrvku + "MesiceDopredu").innerHTML = "";
      document.getElementById("posun" + this.prefixIdPrvku + "MesiceDozadu").innerHTML = "<span class=\"klikatelnyText\" onclick=\"ziskejMesicniKalendar (" + 
      nasledujiciMesic + "," + nasledujiciMesicRok + ",'" + this.prefixIdPrvku + "');\">&gt;</span>";
    }
    else if (this.rok == 2099 && this.mesic == 12)
    {
      document.getElementById("posun" + this.prefixIdPrvku + "MesiceDopredu").innerHTML = "<span class=\"klikatelnyText\" onclick=\"ziskejMesicniKalendar (" + 
      predchoziMesic + "," + predchoziMesicRok + ",'" + this.prefixIdPrvku + "');\">&lt;</span>";
      document.getElementById("posun" + this.prefixIdPrvku + "MesiceDozadu").innerHTML = "";
    }
    else
    {
      document.getElementById("posun" + this.prefixIdPrvku + "MesiceDozadu").innerHTML = "";
      document.getElementById("posun" + this.prefixIdPrvku + "MesiceDopredu").innerHTML = "";
    }
  }
}
/* <Objektu pro praci s kalendarnimi vecmi>  */
