/* Verwendung bei Index.html */
function ostertag(jjjj,sj)  /* Ostersonntag, Uebergabe Anzahl Tage bis dorthin */
{
var a,b,c,d,e,f,g,h,i,k,l,m,n,p,z;
var anz = 0;
  a = jjjj % 19;         /* Restdivision */
  b = divid(jjjj,100);   /* jahr div 100; */
  c = jjjj % 100;
  d = divid(b,4);        /* b div 4; */
  e = b % 4;
  f = divid((b + 8),25);
  g = divid((b - f + 1),3);
  h = (19 * a + b - d - g + 15) % 30;
  i = divid(c,4);
  k = c % 4;
  l = (32 + 2 * e + 2 * i - h - k) % 7;
  m = divid((a + 11 * h + 22 * l),451);
  n = divid((h + l - 7 * m + 114),31);  /* Monatsnummer: 1,..,12  */
  p = (h + l - 7 * m + 114) % 31;       /* Tagesnummer - 1        */
  p++;
  for(z = 1; z < n; z++)                /* Anzahl Tage bis zum Ostermonat */
  { anz = anz + monatstage(z,sj); }
  anz = anz + p;
  return anz;                           /* Anzahl Tage bis zum Ostersonntag */
}

/* Ergebnis 0 oder 1 abh. ob Schaltjahr, j = vierstellig                    */
/* Schaltjahr ist teibar durch 4 und nicht durch 100 oder durch 400 teilbar */
function sjahr(j)
{ return (1 - signum(j % 4)) * signum(j % 100) + (1 - signum(j % 400)); }

/* Anzahl Tage eines Monats: nr = 1,..,12; sj = 0,1 abh. ob Schaltjahr */
function monatstage(nr,sj)
{ return 30 + (nr + divid(nr,8)) % 2 - (1-Math.abs(signum(nr-2))) * (2-sj); }

function signum(x)
 { if (x > 0) {return 1;} if (x < 0) {return -1;} if (x == 0) {return 0;} }

/* Division ohne Rest: x div y  */
function divid(x,y)
{ return Math.floor(x/y);   /* abrunden */ }

