function hugo(x) {
   /* alert(x); */
   var jahr;
   var g;      /* golden number - 1 */
   var c;      /* century: e.g. 20 for 1900-1999 */
   var h;      /* 23-Epact (modulo 30) */
   var i;      /* number of days from 21 March to the Paschal Full Moon */
   var j;      /* weekday of the Full Moon (0=Sunday,...) */
   var l;
   var EasterMonth, EasterDay, EasterDate;
   jahr = parseInt(x);
   if (jahr>1582) {
      /* alert("Gregorianischer Kalender"); */
      g = jahr % 19;                              /* golden number - 1 */
      c = Math.floor(jahr/100);                   /* century */
      h = (c - Math.floor(c/4)-Math.floor((8*c+13)/25)+ 19*g + 15) % 30;
      /* alert("23-Epact: " + h); */
      i = h - Math.floor(h/28)*(1 - Math.floor(h/28)*Math.floor(29/(h+1))*Math.floor((21 - g)/11));
      /* alert("Frühlingsanfang bis Vollmond: " + i); */
      j = (jahr + Math.floor(jahr/4) + i + 2 - c + Math.floor(c/4));
      /* alert("jahr/4=" + Math.floor(jahr/4)+" c/4=" + Math.floor(c/4)+"  j="+j); */
      j = j % 7;
      /* alert("jahr=" + jahr + "  i=" + i + "  c=" + c ); */
      /* alert("Wochentag des Vollmonds (So=0, Mo=1,...): " + j); */
   } else {
       /* alert("Julianischer Kalender"); */
      g = jahr % 19;                              /* golden number - 1 */
      i = (19*g + 15) % 30; 
      j = (jahr + Math.floor(jahr/4) + i) % 7;   /* weekday of the Full Moon (0=Sunday,...) */
   }
   l = i - j;
   EasterMonth = 3 + Math.floor((l+40)/44);
   EasterDay = l + 28 - 31*Math.floor(EasterMonth/4);
   if (EasterMonth==3) {
      EasterDate = "March " + EasterDay + ", " + jahr
   } else {
      EasterDate = "April " + EasterDay + ", " + jahr
   }
   return EasterDate;
}
