/* <Objektu pro praci s kalendarnimi vecmi>  */
function Kalendar (vybraneDatum)
{
  this.vybraneDatum = vybraneDatum;
  this.tvarDataKlasik = new RegExp ("^([0-9]{1,2})[.] ?([0-9]{1,2}). ?([0-9]{4})$");
  
  this.ziskejUdajeData = function ()
  {
    var zpet = new Array ();
    
    if(this.tvarDataKlasik.test (this.vybraneDatum))
    {
      var rozreznane = this.vybraneDatum.split(".");
      
      zpet['den'] = rozreznane[0].replace(" ", "");
      zpet['mesic'] = rozreznane[1].replace(" ", "");   
      zpet['rok'] = rozreznane[2].replace(" ", "");     
    
      return zpet;
    }
    
    var aktualniDatum = new Date();
    zpet['den'] = aktualniDatum.getDate();
    zpet['mesic'] = aktualniDatum.getMonth() + 1;   
    zpet['rok'] = aktualniDatum.getFullYear();     
    
    return zpet;
  }
  
  this.ziskejZmenuVybranehoDne = function (idVybraneho)
  {
    var bunky = document.getElementsByTagName("td");
    
    for (i=0;i<bunky.length;i++)
    {
      var tridaCSS = bunky[i].className;
      tridaCSS = tridaCSS.replace(" vybrany", "");
      bunky[i].className = tridaCSS;
    }
    
    var tridaCSS = document.getElementById(idVybraneho).className;
    document.getElementById(idVybraneho).className = tridaCSS + " vybrany";
    if (document.getElementById("vybraneDatum") != null)
    {
        document.getElementById("vybraneDatum").innerHTML = this.vybraneDatum;
    }
    // Pri zobrazeni tydenniho kalendare se vybere cely tyden.
    idDalsihoVybraneho = idVybraneho + "St";
    if(document.getElementById(idDalsihoVybraneho))
    {
      var tridaCSS = document.getElementById(idDalsihoVybraneho).className;
      document.getElementById(idDalsihoVybraneho).className = tridaCSS + " vybrany";
    }
    
    idDalsihoVybraneho = idVybraneho + "Ne";
    if(document.getElementById(idDalsihoVybraneho))
    {
      var tridaCSS = document.getElementById(idDalsihoVybraneho).className;
      document.getElementById(idDalsihoVybraneho).className = tridaCSS + " vybrany";
    }
  }
  
  this.jePlatneDatum = function (kontrolovaneDatum)
  {
    var aktualniDatum = ziskejUdajeData (0);
    
    if(kontrolovaneDatum['den'] < 1 || kontrolovaneDatum['den'] > 31)
    {
      return false;
    }
    
    if(kontrolovaneDatum['mesic'] < 1 || kontrolovaneDatum['mesic'] > 12)
    {
      return false;
    }
    
    if(kontrolovaneDatum['rok'] < aktualniDatum['rok'] || kontrolovaneDatum['rok'] > 2100)
    {
      return false;
    }
    
    if(kontrolovaneDatum['rok'] == aktualniDatum['rok'] && kontrolovaneDatum['mesic'] < aktualniDatum['mesic'])
    {
      return false;
    }
    
    if(kontrolovaneDatum['rok'] == aktualniDatum['rok'] && kontrolovaneDatum['mesic'] == aktualniDatum['mesic'] && kontrolovaneDatum['den'] < aktualniDatum['den'])
    {
      return false;
    }
    
    var pocetDni = ziskejPocetDniMesice (kontrolovaneDatum['mesic'],kontrolovaneDatum['rok']);
    if (kontrolovaneDatum['den'] > pocetDni)
    {
      return false;
    }
    
    return true;
  }
}
/* <Objektu pro praci s kalendarnimi vecmi>  */
