<!--
/*  DEFINITION DER FELDER ------------------------------------------------*/
anzahl=6;
breite=new Array(anzahl); Lambda=new Array(anzahl); 
Char1=new Array(anzahl);Char2=new Array(anzahl);
stundauf= new Array(anzahl); stundunter= new Array(anzahl);
MEZminauf=new Array(anzahl); MEZminunter= new Array(anzahl);

/*--geographische Breiten und Längen--------------------------------------------*/
/*Bemerkung: die Minuten wurden in Hundertstel umgerechnet,                     */
/*d.h. z.B. bei Karlsruhe: 25'==>0.416 ~ 0.42         --------------------------*/
/*--1.Karlsruhe----------------------*/
  breite[1]=49.0; Lambda[1]=8.42 ; 
/*--2.Stuttgart--------------------*/
    breite[2]=48.77; Lambda[2]=9.18; 
/*--3.Saarbrücken--------------------*/
  breite[3]=49.25; Lambda[3]=7.00; 
/*--4.Freiburg-----------------------*/
  breite[4]=48.0; Lambda[4]=7.85; 
/*--5.Würzburg---------------------*/
  breite[5]=50.0; Lambda[5]=9.96; 
 

/*--Festlegen des Julianischen Tages heute und morgen---*/
 julian=julian;
 if(Stunde>=12){julian2=julian+1};
 if(julian==366){julian=1};
/*-DEFINITION DER PARAMETER---*/
 bog = Math.PI/180;

/*----------Zeitgleichung Z-------------------------------------*/ 
/*-----360 bis 106 (26.12. bis 16.4.)---------------------------*/
     Diff1= 365-360+106;
     if(julian>360){tagb=((julian-360)*180/Diff1) * bog, Z=-14.3*Math.sin(tagb)};
     if(julian<=106){tagb=((julian+5)*180/Diff1) *bog, Z=-14.3*Math.sin(tagb)};
/*-106 bis 166 (16.4. bis 15.6.)--*/
     Diff2=166-106;
     if(julian>106 && julian<=166){tagb = ((julian-106)*180/Diff2)*bog, Z=3.8*Math.sin(tagb)};
/*-166 bis 245 (15.6. bis 2.9.)--*/
     Diff3=245-166;
     if(julian>166 && julian<=245){tagb = ((julian-166)*180/Diff3)*bog, Z=-6.4*Math.sin(tagb)};
/*-245 bis 360 (2.9. bis 26.12.)--*/
     Diff4=360-245;
     if(julian>245 && julian<=360){tagb = ((julian-245)*180/Diff4)*bog, Z=16.3*Math.sin(tagb)};
    
/*--Korrektur des Julianischen Tages wegen ungleicher Dauer der Jahreszeiten, d.h. Umrechnung */
/*    in gleiche Zeiträume(=90 Grad) zwischen den Jahreszeiten-------------------------*/
/*---a.)Wintersonnenwende (22.12.) bis Frühlingspunkt (20.2.)-----*/
       if(julian<=79){Diff=88;julb=((julian+9)*90/Diff)*bog};
       if(julian>356){Diff=88;julb=((julian-356)*90/Diff)*bog};
/*---b.)Frühlingspunkt bis Sommersonnenwende (21.6.)------------*/
       if(julian>79 && julian<=172){Diff=172-79;julb=(90+((julian-79)*90/Diff))*bog};
/*-- c.)Sommersonnenwende bis Herbstanfang (23.9.)--------------*/
       if(julian>172 && julian<=266){Diff=266-172;julb=(180+((julian-172)*90/Diff))*bog};
/*---d.)Herbstanfang bis Wintersonnenwendende--------------------*/
       if(julian>266 && julian<=356){Diff=356-266;julb=(270+((julian-266)*90/Diff))*bog};
/*---Berechnung der Deklination in Abhängigkeit des Julianischen Tages--*/
       dekl= - Math.cos(julb) * 23.45;       
       deklb = dekl*bog
/*-------------------------------------------------------------------------------------------*/

/*--ZÄHLSCHLEIFE FÜR ALLE ORTE  ------------------------------------------------- --*/
i=1; 
  while(i<=anzahl){ 
   breitb=breite[i]*bog
/*--Refraktion Refr (ca.0.8 bis 0.9 Grad unter dem Horizont)--*/
   Refr=0.9*bog;
/*-BERECHNUNGEN----*/
/*-----Sonnenauf- und untergangszeiten---------------------*/
       tanbreite= Math.tan(breitb);
/*---Berücksichtigung der Refraktion Refr (ca. 0.8 Grad unter dem Horizont)--*/
       Para = Math.sin(-Refr) / Math.cos(breitb);
       Refr = Para/Math.cos(deklb);
/*---Berechnung des Stundenwinkels der Auf-und Untergangpunkte ---*/
       stundw= Math.acos(-Math.tan(deklb)*tanbreite + Refr) / bog;
       dzeit = stundw/15;
/*---Differenz zur Mitagszeit,Umwandlung des Wertes hinter dem Komma in Minuten --*/
/*     und Berücksichtigung der Minuten über 60 ----------------------*/
       stundauf[i]=Math.floor(12-dzeit);
       stundunter[i]=Math.floor(12+dzeit);
       minauf= ((12-dzeit)-stundauf[i])*60; 
       minunter= ((12+dzeit)-stundunter[i])*60; 
/*----falls 60 überschritten wird:--------*/
       if(minauf>=60){minauf=minauf-60; stundauf[i]=stundauf[i]+1};
       if(minunter>=60){minunter=minunter-60; stundunter[i]=stundunter[i]+1};
       minauf = Math.round(minauf);
       minunter = Math.round(minunter);
/*--- Umrechnung in MEZ--------------------------------------*/
       Diff=(Lambda[i]-15)*4;
       MEZminauf[i]= minauf-Diff-Z; MEZminunter[i]=minunter-Diff-Z;
       MEZminauf[i] = Math.round(MEZminauf[i]); MEZminunter[i] = Math.round(MEZminunter[i]);
       if(MEZminauf[i]>=60){stundauf[i]=stundauf[i]+1,MEZminauf[i]=MEZminauf[i]-60};
       if(MEZminunter[i]>=60){stundunter[i]=stundunter[i]+1,MEZminunter[i]=MEZminunter[i]-60};
/*--Berücksichtigung der Null bei der Ausgabe bei zwei Stellen nach dem Komma-----------*/
       Char1[i]="."; 
       if(MEZminauf[i]<10){Char1[i]=".0"};
       Char2[i]=".";
       if(MEZminunter[i]<10){Char2[i]=".0"}; 
/*---Berücksichtigung der Sommerzeit --*/
       stundauf[i]=stundauf[i]+sommer; 
       stundunter[i]=stundunter[i]+sommer; 
              
       i++};  

//-->