Breite   = 49.25; 
Laenge   = 8.0;
Zeitzone = 1.0;

pi	= Math.PI;
RAD	= pi / 180.0;
h	= -(50.0/60.0)*RAD;
B	= Breite*RAD;

function sonnendeklination(T) { return 0.40954*Math.sin(0.0172*(T-79.35)); }

function zeitdifferenz(Deklination) {
    return 12.0*Math.acos((Math.sin(h) - Math.sin(B)*Math.sin(Deklination)) / (Math.cos(B)*Math.cos(Deklination)))/pi;
}

function zeitgleichung(T) { 
    return -0.1752*Math.sin(0.033430 * T + 0.5474) - 0.1340*Math.sin(0.018234*T - 0.1939); 
	
}

function aufgang1(T) {
    DK = sonnendeklination(T);
    return 12 - zeitdifferenz(DK) - zeitgleichung(T);
}

function untergang1(T){
    DK = sonnendeklination(T);
    return 12 + zeitdifferenz(DK) - zeitgleichung(T);
}

function _zehn (zahl)
{
  return ((zahl < 10) ? "0" + zahl : zahl);
}

function init () {
  // Heutiges Datum ermitteln
  // ------------------------
  datum = new Date();
  jetzt	= datum.getTime () / 86400000;
  
  // 1. Januar ermitteln
  // -------------------
  datum.setDate (1);	// 1. Tag des Monats
  datum.setMonth (0);	// 1. Monat des Jahres
  jan = datum.getTime () / 86400000;
  
  // Wieviele Tage sind seit dem 1. Januar vergangen ?
  // -------------------------------------------------
  T = (Math.round(jetzt) - Math.round(jan)) + 1;
  
  // Aufgang berechnen
  // -----------------
  Aufgang	= aufgang1(T) - Laenge / 15.0 + Zeitzone;
  Auf_Stunde	= Math.round (Aufgang);
  Auf_Stunde 	= (Auf_Stunde < Aufgang) ? Auf_Stunde : (Auf_Stunde - 1);
  Auf_Minute	= Math.round (60*(Aufgang - Auf_Stunde));
  
  // Untergang berechnen
  // -------------------
  Untergang	= untergang1(T) - Laenge / 15.0 + Zeitzone;
  Unter_Stunde	= Math.round (Untergang);
  Unter_Stunde	= (Unter_Stunde < Untergang) ? Unter_Stunde : (Unter_Stunde - 1);
  Unter_Minute	= Math.round (60*(Untergang - Unter_Stunde));
}

function sonnenaufgang (breite, laenge, sommerzeit)
{
  B = breite*RAD;
  Laenge = laenge;
  if (sommerzeit == "Ja") Zeitzone = 2.0;
  init ();
  if (Auf_Minute >= 60) 
  {
    Auf_Minute = 0;
    Auf_Stunde = Auf_Stunde + 1;
  }
  document.write (_zehn(Auf_Stunde) + ":" + _zehn(Auf_Minute));
}

function sonnenuntergang (breite, laenge, sommerzeit)
{
  B = breite*RAD;
  Laenge = laenge;
  if (sommerzeit == "Ja") Zeitzone = 2.0;
  init ();
  if (Unter_Minute >= 60) 
  {
    Unter_Minute = 0;
    Unter_Stunde = Unter_Stunde + 1;
  }
  document.write (_zehn(Unter_Stunde) + ":" + _zehn(Unter_Minute));
}


