/*
Kontejner s funkcemi JS pouzivanych u kalendare.
*/

function ziskejUdajeData (vybraneDatum)
{
  kalendarObecny = new Kalendar (vybraneDatum);
  return kalendarObecny.ziskejUdajeData ();
}

function ziskejNazevMesice (cisloMesice)
{
  kalendarNazvy = new KalendarNazvy ();
  return kalendarNazvy.ziskejNazevMesice (cisloMesice);
}

function ziskejPocetDniMesice (mesic,rok)
{
  kalendarMesicni = new KalendarMesicni (mesic,rok);
  return kalendarMesicni.ziskejPocetDniMesice ();
}

function ziskejPrvniDenMesice (mesic,rok)
{
  kalendarMesicni = new KalendarMesicni (mesic,rok);
  return kalendarMesicni.ziskejPrvniDenMesice ();
}

function ziskejMesicniKalendar (zobrazovanyMesic,zobrazovanyRok,prefixIdPrvku)
{
    var poleDatum = document.getElementById("vybraneDatum");
    if (poleDatum != null)
    {
        var vybraneDatum = document.getElementById("vybraneDatum").innerHTML;
    }
    else
    {
        var vybraneDatum = '';
    }
    var udajeVybranehoData = ziskejUdajeData (vybraneDatum);
    var pocetDni = ziskejPocetDniMesice (zobrazovanyMesic,zobrazovanyRok);
    var prvniDenMesice = ziskejPrvniDenMesice (zobrazovanyMesic,zobrazovanyRok);
    var aktualniDatum = ziskejUdajeData (0);
    kalendarMesicni = new KalendarMesicni (zobrazovanyMesic,zobrazovanyRok);
    kalendarMesicni.ziskejMesicniKalendar (pocetDni,prvniDenMesice,aktualniDatum,udajeVybranehoData,prefixIdPrvku);
}

function ziskejTydenniKalendar (zobrazovanyDen,zobrazovanyMesic,zobrazovanyRok,prefixIdPrvku)
{
    var poleDatum = document.getElementById("vybraneDatum");
    if (poleDatum != null)
    {
        var vybraneDatum = document.getElementById("vybraneDatum").innerHTML;
    }
    else
    {
        var vybraneDatum = '';
    }
    var udajeVybranehoData = ziskejUdajeData (vybraneDatum);
    var aktualniDatum = ziskejUdajeData (0);
    kalendarTydenni = new KalendarTydenni (zobrazovanyDen,zobrazovanyMesic,zobrazovanyRok);
    kalendarTydenni.ziskejTydenniKalendar (aktualniDatum,udajeVybranehoData,prefixIdPrvku);
}

function ziskejZmenuVybranehoDne (idVybraneho,vybraneDatum)
{
  kalendarObecny = new Kalendar (vybraneDatum);
  kalendarObecny.ziskejZmenuVybranehoDne (idVybraneho);
}

function ziskejUdajeVyberuData (idVyberuData)
{
  var vybraneDatum = new Array ();
  var idDen = idVyberuData + "Den";
  if(!document.getElementById(idDen).value)
  {
    return false;
  } 
  vybraneDatum['den'] = document.getElementById(idDen).value;
  var idMesic = idVyberuData + "Mesic"; 
  vybraneDatum['mesic'] = document.getElementById(idMesic).value;
  var idRok = idVyberuData + "Rok"; 
  vybraneDatum['rok'] = document.getElementById(idRok).value;
  return vybraneDatum;
}

function ziskejDatumKalendare (idVyberuData,typKalendare)
{
  var vybraneDatum = ziskejUdajeVyberuData (idVyberuData);
  var kalendarObecny = new Kalendar (0);
  
  if(!vybraneDatum)
  {
    var vybraneDatum = ziskejUdajeData (0);
  }
  
  var parametry = new Object ();
  parametry.datum = vybraneDatum['den'] + "." + vybraneDatum['mesic'] + "." + vybraneDatum['rok'];
  
  if(typKalendare != "tydenni" && typKalendare != "mesicni")
  {
    typKalendare = 'mesicni';
  }
  
  var jazyk = ziskejJazyk ();
  
  var vysledek = window.showModalDialog (
    "editor/WYSIWYG/dialogy/stranka-kalendar-" + typKalendare + jazyk + ".html",
    parametry,
    "help:no;center:yes;dialogWidth:230px;dialogHeight:330px;border:thin;resizable:0;status:no;scrollbars:0;fullscreen:0"
  );
  
  if(vysledek && vysledek[0]=="zapsat")
  {
    var noveVybraneDatum = ziskejUdajeData (vysledek[1]);
    var idDen = idVyberuData + "Den";
    document.getElementById(idDen).value = noveVybraneDatum['den'];
    var idMesic = idVyberuData + "Mesic"; 
    document.getElementById(idMesic).value = noveVybraneDatum['mesic'];
    var idRok = idVyberuData + "Rok"; 
    document.getElementById(idRok).value = noveVybraneDatum['rok'];
  }
}

function kontrolujDatum (idVyberuData)
{
  var kontrolovaneDatum = ziskejUdajeVyberuData (idVyberuData);
  var kalendarObecny = new Kalendar (0);
  
  if(!kontrolovaneDatum)
  {
    return false;
  }
  
  if(!kalendarObecny.jePlatneDatum (kontrolovaneDatum))
  {
    var idDen = idVyberuData + "Den"; 
    document.getElementById(idDen).value = 10;
    kalendarNazvy = new KalendarNazvy ();
    alert(kalendarNazvy.ziskejHlaskuNeplatneDatum ());
    return false;
  }
  
  return true;
}
