// JavaScript Document
// Inicializace, v pripade povoleni JS -> povoli zobrazeni Hvezdneho casu
function init()
{
  if (document.getElementById('menu-hod') != null)
		document.getElementById('menu-hod').style.visibility = 'visible';
  if (document.getElementById('mesic') != null)
		document.getElementById('mesic').title = "fáze Měsíce";

}

var MSPD = 24*60*60*1000;

function phD(ph_p)
{
 var d;
 if( (ph_p>=0) && (ph_p<=2.49) )
  { d="Nov"; }
 else if( (ph_p>=2.5) && (ph_p<=22.49) )
  { d="Dorůstající srpek"; }
 else if( (ph_p>=22.5) && (ph_p<=27.49) )
  { d="První čtvrt"; }
 else if( (ph_p>=27.5) && (ph_p<=47.49) )
  { d="Dorůstající Měsíc"; }
 else if( (ph_p>=47.5) && (ph_p<=52.49) )
  { d="Úplněk"; }
 else if( (ph_p>=52.5) && (ph_p<=73.49) )
  { d="Couvající Měsíc"; }
 else if( (ph_p>=73.5) && (ph_p<=77.49) )
  { d="Poslední čtvrt"; }
 else if( (ph_p>=77.5) && (ph_p <= 97.49) )
  { d="Ubývající srpek"; }
 else { d="Nov"; }
return d;
}

function rnd(val, prec)
{
// if(rnd.arguments.length==1)
//  prec=0;
 val = val * Math.pow(10,prec);
 val = Math.round(val);
 val = val / Math.pow(10,prec);
 return val;
}

// Vypocet faze Mesice
function Faze_Mesic()
{
 var tdy=new Date();
 var ph_i=cmm_gPh(tdy);
 var p_o_f=ph_i.ph;
 var ph_p=ph_i.a;
 var ph_dec=rnd(ph_p,0)/100;
 var source=rnd((ph_dec*40),0);
 source = (source==40?0:(source+1));
 source = (source < 10) ? "0" + source : source + "";
 if (document.getElementById('mesic') != null)
 {
 	document.getElementById('mesic').src = "/obr/mesic/moon" + source + ".gif";
 	document.getElementById('mesic').title = phD(ph_p) + " - fáze Měsíce (" + rnd(p_o_f, 1) + " %)";
 }
}

function cmm_dAdj(x)
{
 if(x>360) {while(x>360) {x -= 360;}}
 else if(x<0) {while(x<0) {x += 360;}}
 return x;
}

function cmm_dToR(d)
{
 return d*2*Math.PI/360;
}

function cmm_gPh(msdate)
{
 var E = new Date(Date.UTC(1990,0,1,0,0,0,0));
 var dn = (msdate - E.getTime())/MSPD+1;
 var EL_E = 279.403303;
 var EL_P = 282.768422;
 var N = (360/365.242191) * dn;
 N = cmm_dAdj(N);
 var M = N + EL_E - EL_P;
 var S_M = cmm_dAdj(M);
 var E = (360/Math.PI)*0.016713*Math.sin(cmm_dToR(S_M));
 var S_L = N + E + EL_E;
 S_L = cmm_dAdj(S_L);
 var tmp;
 var LO = 318.351648;
 var PO = 36.340410;
 var NO = 318.510107;
 var l = cmm_dAdj(13.1763966*dn + LO);
 var Mm = cmm_dAdj(l - 0.1114041*dn-PO);
 var N = cmm_dAdj(NO - 0.0529539*dn);
 tmp = (2*(l - S_L))-Mm;
 var Ev = 1.2739*Math.sin(cmm_dToR(tmp));
 tmp = cmm_dToR(S_M);
 var Ae = 0.1858*Math.sin(tmp);
 var A3 = 0.37*Math.sin(tmp);
 var Mm1 = Mm + Ev - Ae - A3;
 var Ec = 6.2886*Math.sin(cmm_dToR(Mm1));
 var A4 = 0.214*Math.sin(2*cmm_dToR(Mm1));
 var l1 = l + Ev + Ec - Ae + A4;
 var V = 0.6583*Math.sin(cmm_dToR(2*(l1-S_L)));
 var mTL = l1 + V;
 var D = mTL - S_L;
 D = cmm_dAdj(D);
 var F = 0.5*(1-Math.cos(cmm_dToR(D)));
 F = F*100;
 var tmp = new Object();
 tmp.ph = F;
 tmp.D = D;
 tmp.a = D/360*100;
 return tmp;
}

//-------------------------------------------------------
function tick()
{
  Faze_Mesic();
  getDatum();
  getCas();
  Sidereal_time();
  window.setTimeout('tick();', 1000);
}


//-------------------------------------------------------
function getDatum()
{
 var Day = "";
 var Month = "";
 var now = new Date();
 var yr = now.getYear();
 var mName = now.getMonth() + 1;
 var dName = now.getDay() + 1.;
 var dayNr = ((now.getDate()<10) ? "" : "")+ now.getDate();

 if (yr < 1000) yr = yr + 1900;

 if(dName==1) Day = "Neděle";
 if(dName==2) Day = "Pondělí";
 if(dName==3) Day = "Úterý";
 if(dName==4) Day = "Středa";
 if(dName==5) Day = "Čtvrtek";
 if(dName==6) Day = "Pátek";
 if(dName==7) Day = "Sobota";
 if(mName==1) Month="1.";
 if(mName==2) Month="2.";
 if(mName==3) Month="3.";
 if(mName==4) Month="4.";
 if(mName==5) Month="5.";
 if(mName==6) Month="6.";
 if(mName==7) Month="7.";
 if(mName==8) Month="8.";
 if(mName==9) Month="9.";
 if(mName==10) Month="10.";
 if(mName==11) Month="11.";
 if(mName==12) Month="12.";

 // String to display current date.
   var todaysDate =(" "
       + Day
       + " "
       + dayNr
       + ". "
        + Month
       + " "
       + yr);
 // Write date to page.
  // if (document.getElementById('mistni_datum') != null) zapis_do_span('mistni_datum', todaysDate);

}

//-------------------------------------------------------
function zapis_do_span(promenna, hodnota)
{
 if (document.layers)
 {
   document.layers.promenna.document.write(hodnota);
   document.layers.promenna.document.close();
 }
 else
 {
  document.getElementById(promenna).innerHTML = hodnota;
 }
}

//-------------------------------------------------------
function getCas()
{
  var Time12 = new Date();
  var Cur12Hour = Time12.getHours();
  var Cur12Mins = Time12.getMinutes();
  var Cur12Secs = Time12.getSeconds();

  var The12Time = Cur12Hour + ((Cur12Mins < 10) ? ':0' : ':') + Cur12Mins;
  The12Time = The12Time + ((Cur12Secs < 10) ? ':0' : ':') + Cur12Secs;

  //if (document.getElementById('mistni_cas') != null) zapis_do_span('mistni_cas', The12Time);
}

//-------------------------------------------------------
function Sidereal_time()
{
// var Rozdil = -1;
 var Zem_delka = 13.60261389;

 var now = new Date();
 var Rozdil = now.getTimezoneOffset()/60;		//Casove pasmo
// now.setHours(0);
// now.setMinutes(0);
// now.setSeconds(0);
// now.setDate(20);
// now.setMonth(2);
// now.setFullYear(2004);
 var Rok = now.getFullYear();
 var Mesic = now.getMonth() + 1;
 var Den = now.getDate();

 var Hodina = now.getHours();
 var Minuta = now.getMinutes();
 var Sekunda = now.getSeconds();

 var HodS, MinS, SekS;

// var JDloc_mil, JDloc_tis, JDloc_jed;

 var g, f;

 var JD, T, S0, t, S;

 var JDloc, JDlocuprava, JDlocuprava1;

// L_stu = parseInt(document.Hodnoty.Delka_stu.value);
// L_min = parseInt(document.Hodnoty.Delka_min.value);
// L_vte = parseInt(document.Hodnoty.Delka_vte.value);

 var L_stu = 13;
 var L_min = 36;
 var L_vte = 15.6;

 Zem_delka = (isNaN(L_stu) ? 0 : L_stu) + (isNaN(L_min) ? 0 : L_min/60.0) + (isNaN(L_vte) ? 0 : L_vte/3600.0);
// if (document.Hodnoty.ZapVych.selectedIndex == 1) Zem_delka = -Zem_delka;

 if (Mesic > 2)
  g = Rok;
 else
  g = Rok - 1;

 if (Mesic > 2)
  f = Mesic + 1;
 else
  f = Mesic + 13;

 //Sekunda -= 19;		//nutne odecteni, aby to sedelo

 JD = Math.floor(365.25*g) + Math.floor(30.6*f) + Den + 1720981.5;

 T = (JD - 2451545.0)/36525.0;

 S0 = 6.6973745583 + 2400.0513369072*T + 0.000025862*Math.pow(T,2) - 0.00000000172*Math.pow(T,3);

 S0 -= Math.floor(S0/24.0)*24;

 t = Hodina + Minuta/60.0 + Sekunda/3600.0;

 S = S0 + 1.0027379093*t + Rozdil + Zem_delka/15.0;

 S -= Math.floor(S/24.0)*24;

 HodS = Math.floor(S);
 MinS = Math.floor((S-HodS)*60);
 SekS = Math.floor((S-HodS-MinS/60.0)*3600);

 JDloc = JD + (Hodina+Rozdil + Minuta/60.0 + (Sekunda+19)/3600.0)/24.0;

 var JDloc_mil = Math.floor(JDloc/1000000);
 var JDloc_tis = Math.floor((JDloc-JDloc_mil*1000000)/1000);
 var JDloc_jed = Math.floor((JDloc - JDloc_mil*1000000 - JDloc_tis*1000)*100000)/100000;

 JDloc_tis = ((JDloc_tis < 10) ? '0' : '') + ((JDloc_tis < 100) ? '0' : '') + JDloc_tis;
 JDloc_jed = ((JDloc_jed < 10) ? '0' : '') + ((JDloc_jed < 100) ? '0' : '') + JDloc_jed;

 JDlocuprava = " " + JDloc_mil + " " + JDloc_tis + " " + JDloc_jed;
 JDlocuprava1= "";
 for(var i = 1; i < 17; i++)
  if (JDlocuprava.substring(i, i-1) == '.')
   JDlocuprava1 += ',';
  else
   JDlocuprava1 += JDlocuprava.substring(i, i-1);

 for(i=JDlocuprava1.length; i<16; i++) JDlocuprava1 += "0";

 var Hvezdny_cas = HodS + ((MinS < 10) ? ':0' : ':') + MinS + ((SekS < 10) ? ':0' : ':') + SekS;

 if (document.getElementById('hvezdny_cas') != null) zapis_do_span('hvezdny_cas', Hvezdny_cas);

 //if (document.getElementById('julianske_datum') != null) zapis_do_span('julianske_datum', JDlocuprava1);
}

function date_ddmmmyy(date)
{
  var d = date.getDate();
  var m = date.getMonth() + 1;
  var y = date.getYear();

  // handle different year values
  // returned by IE and NS in
  // the year 2000.
  if(y >= 2000)
  {
    y -= 2000;
  }
  if(y >= 100)
  {
    y -= 100;
  }

  return "" +
    (d<10?"0"+d:d) + "/" +
    (m<10?"0"+m:m) + "/" +
    (y+2000);
}


// get last modified date of the
// current document.
function date_lastmodified()
{
  var lmd = document.lastModified;
  var s   = "Unknown";
  var d1;

  // check if we have a valid date
  // before proceeding
  if(0 != (d1=Date.parse(lmd)))
  {
    s = "" + date_ddmmmyy(new Date(d1));
  }

  return s;
}

// promenne pro zobrazeni okna pro posilani mailu
var okno="width=600,height=385,scrollbars=no,status=no";
var jmeno="formular_zprava";
