 function AlmanacHTML(){


  now    = new Date()
  today  = new almanac(now.getYear(),now.getMonth(),now.getDate())
  var year   = now.getYear()+1900
  var month  = now.getMonth()+1
  var day    = now.getDate()

  document.write("Today is "+year+"."+month+"."+day+".<BR>")
  document.write("Philadelphia, PA (W75o 9', N40o 0')<BR>")

//  document.write("Sunrise: "+today.sunrise.hour+":"+today.sunrise.min+" | " )
//  document.write("Sunset: "+today.sunset.hour+":"+today.sunset.min+".<BR>" )

//  document.write("Moonrise: "+today.moonrise.time+" | " )
//  document.write("Moonset: "+today.moonset.time+".<BR>" )

//  document.write("Phase: "+today.moonphase.phase+" at midnight<BR>" )

}


//>-------------------------------------------------------------<//
//  Objects 
//>-------------------------------------------------------------<//

function almanac(year,month,day){
  var YEAR = 99
  month = month
  day  = day 
  aa = new sunrise(year,month,day)
  this.sunrise = aa
  ab = new sunset(year,month,day)
  this.sunset = ab
  ac = new moonrise(year,month,day)
  this.moonrise = ac
  ad = new moonset(year,month,day)
  this.moonset = ad
  ae = new moonphase(year,month,day)
  this.moonphase = ae
//  af = new season(year,month,day)
//  this.season  = af
}


function sunrise(year,month,day){
  month = month*2
  time = new String(Data_sunrise[day][month])
  this.hour = time.substring(0,2)
  this.min  = time.substring(2,5)
}

function sunset(year,month,day){
  month = month*2 + 1
  time = new String(Data_sunrise[day][month])
  this.hour = time.substring(0,2)
  this.min  = time.substring(2,5)
}

function moonrise(year,month,day){
  month = month*2
  xx = new String(Data_moonrise[day][month])
  if (xx == "no"){
    this.time = "none"
  }
  else {
    this.time = xx.substring(0,2)+":"+xx.substring(2,5)
  }
}

function moonset(year,month,day){
  month = month*2 + 1
  xx = new String(Data_moonrise[day][month])
  if (xx == "no"){
    this.time = "none"
  }
  else {
    this.time = xx.substring(0,2)+":"+xx.substring(2,5)
  }
 }

function moonphase(year,month,day){
  xx = new String(Data_moonphase[day][month])
  yy = new String(Data_moonphase[day-1][month])
  if (xx == 0){
    this.phase = "full" }
  else if (xx == 1){
    this.phase = "new" }
  else if (xx > .45 && xx <= .55){
    var delta = xx - yy
    var change = (delta > 0) ? "first" : "third"
    this.phase = change + " quarter" }
  else{
    var delta = xx - yy
    var change = (delta > 0) ? "waxing" : "waning"
    this.phase = xx+" % "+change }
}


//>-------------------------------------------------------------<//
//  Data 
//>-------------------------------------------------------------<//


Data_sunrise  = new Array(31)
Data_moonrise = new Array(31)
Data_moonphase = new Array(31)
Data_season    = new Array(4)


//>-------------------------------------------------------------<//
//> USNO_table.gawk,v 1.3 1999/03/19
//> run on Fri Mar 19 14:54:59 1999
//> processing sunrise.clean with flag -1
//>-------------------------------------------------------------<//
Data_sunrise[01] = new Array ("0722","1646","0709","1719","0635","1752","0545","1824","0501","1855","0434","1923","0435","1933","0459","1915","0528","1833","0556","1744","0629","1659","0703","1636")
Data_sunrise[02] = new Array ("0723","1647","0708","1721","0633","1753","0544","1826","0500","1856","0434","1924","0436","1933","0500","1914","0529","1831","0557","1742","0630","1657","0704","1636")
Data_sunrise[03] = new Array ("0723","1648","0707","1722","0632","1754","0542","1827","0459","1857","0433","1924","0436","1933","0500","1912","0530","1829","0558","1740","0632","1656","0705","1636")
Data_sunrise[04] = new Array ("0723","1648","0706","1723","0630","1755","0540","1828","0457","1858","0433","1925","0437","1933","0501","1911","0531","1828","0559","1739","0633","1655","0706","1635")
Data_sunrise[05] = new Array ("0723","1649","0705","1724","0628","1756","0539","1829","0456","1859","0433","1926","0437","1933","0502","1910","0532","1826","0600","1737","0634","1654","0707","1635")
Data_sunrise[06] = new Array ("0723","1650","0704","1725","0627","1758","0537","1830","0455","1900","0432","1926","0438","1932","0503","1909","0533","1825","0601","1735","0635","1653","0708","1635")
Data_sunrise[07] = new Array ("0723","1651","0703","1727","0625","1759","0536","1831","0454","1901","0432","1927","0439","1932","0504","1908","0534","1823","0602","1734","0636","1652","0709","1635")
Data_sunrise[08] = new Array ("0722","1652","0702","1728","0624","1800","0534","1832","0453","1902","0432","1928","0439","1932","0505","1907","0535","1821","0603","1732","0637","1651","0709","1635")
Data_sunrise[09] = new Array ("0722","1653","0701","1729","0622","1801","0533","1833","0452","1903","0432","1928","0440","1931","0506","1905","0536","1820","0604","1731","0638","1650","0710","1635")
Data_sunrise[10] = new Array ("0722","1654","0700","1730","0621","1802","0531","1834","0451","1904","0431","1929","0441","1931","0507","1904","0536","1818","0605","1729","0640","1649","0711","1635")
Data_sunrise[11] = new Array ("0722","1655","0659","1731","0619","1803","0529","1835","0450","1905","0431","1929","0441","1931","0508","1903","0537","1816","0607","1728","0641","1648","0712","1635")
Data_sunrise[12] = new Array ("0722","1656","0658","1733","0618","1804","0528","1836","0449","1906","0431","1930","0442","1930","0509","1902","0538","1815","0608","1726","0642","1647","0713","1636")
Data_sunrise[13] = new Array ("0721","1657","0656","1734","0616","1805","0526","1837","0448","1907","0431","1930","0443","1930","0510","1900","0539","1813","0609","1725","0643","1646","0714","1636")
Data_sunrise[14] = new Array ("0721","1658","0655","1735","0614","1806","0525","1838","0447","1908","0431","1931","0443","1929","0511","1859","0540","1812","0610","1723","0644","1645","0714","1636")
Data_sunrise[15] = new Array ("0721","1659","0654","1736","0613","1807","0523","1839","0446","1909","0431","1931","0444","1929","0512","1858","0541","1810","0611","1722","0645","1645","0715","1636")
Data_sunrise[16] = new Array ("0720","1701","0653","1737","0611","1808","0522","1840","0445","1910","0431","1931","0445","1928","0513","1856","0542","1808","0612","1720","0647","1644","0716","1636")
Data_sunrise[17] = new Array ("0720","1702","0651","1738","0610","1809","0520","1841","0444","1911","0431","1932","0446","1927","0514","1855","0543","1807","0613","1719","0648","1643","0716","1637")
Data_sunrise[18] = new Array("0719","1703","0650","1740","0608","1810","0519","1842","0443","1911","0431","1932","0446","1927","0515","1854","0544","1805","0614","1717","0649","1642","0717","1637")
Data_sunrise[19] = new Array("0719","1704","0649","1741","0606","1811","0517","1843","0442","1912","0432","1932","0447","1926","0516","1852","0545","1803","0615","1716","0650","1642","0718","1638")
Data_sunrise[20] = new Array ("0718","1705","0647","1742","0605","1812","0516","1844","0441","1913","0432","1933","0448","1925","0517","1851","0546","1802","0616","1714","0651","1641","0718","1638")
Data_sunrise[21] = new Array ("0718","1706","0646","1743","0603","1813","0515","1845","0441","1914","0432","1933","0449","1925","0518","1849","0547","1800","0617","1713","0652","1640","0719","1638")
Data_sunrise[22] = new Array ("0717","1707","0645","1744","0601","1814","0513","1846","0440","1915","0432","1933","0450","1924","0519","1848","0548","1758","0618","1712","0653","1640","0719","1639")
Data_sunrise[23] = new Array ("0717","1709","0643","1745","0600","1815","0512","1847","0439","1916","0432","1933","0451","1923","0519","1846","0549","1757","0619","1710","0654","1639","0720","1640")
Data_sunrise[24] = new Array ("0716","1710","0642","1746","0558","1816","0510","1848","0438","1917","0433","1933","0451","1922","0520","1845","0550","1755","0620","1709","0655","1639","0720","1640")
Data_sunrise[25] = new Array ("0715","1711","0640","1748","0557","1817","0509","1849","0438","1918","0433","1933","0452","1921","0521","1843","0551","1753","0621","1707","0657","1638","0721","1641")
Data_sunrise[26] = new Array ("0714","1712","0639","1749","0555","1818","0508","1850","0437","1918","0433","1933","0453","1920","0522","1842","0552","1752","0623","1706","0658","1638","0721","1641")
Data_sunrise[27] = new Array ("0714","1713","0637","1750","0553","1819","0506","1851","0437","1919","0434","1934","0454","1920","0523","1840","0553","1750","0624","1705","0659","1637","0721","1642")
Data_sunrise[28] = new Array ("0713","1715","0636","1751","0552","1820","0505","1852","0436","1920","0434","1934","0455","1919","0524","1839","0554","1748","0625","1704","0700","1637","0722","1643")
Data_sunrise[29] = new Array ("0712","1716","0000","0000","0550","1821","0504","1853","0435","1921","0434","1933","0456","1918","0525","1837","0555","1747","0626","1702","0701","1637","0722","1643")
Data_sunrise[30] = new Array ("0711","1717","0000","0000","0548","1822","0502","1854","0435","1922","0435","1933","0457","1917","0526","1836","0556","1745","0627","1701","0702","1636","0722","1644")
Data_sunrise[31] = new Array("0710","1718","0000","0000","0547","1823","0000","0000","0434","1922","0000","0000","0458","1916","0527","1834","0000","0000","0628","1700","0000","0000","0722","1645")
//>-------------------------------------------------------------<//
//> USNO_table.gawk,v 1.3 1999/03/19
//> run on Fri Mar 19 16:38:56 1999
//> processing moonrise.clean with flag -2
//>-------------------------------------------------------------<//
Data_moonrise[01] = new Array ("1642","0634","1837","0744","1725","0618","1913","0623","1956","0555","2124","0631","2134","0705","2153","0908","2217","1129","2243","1242","no","1359","0046","1340")
Data_moonrise[02] = new Array ("1744","0734","1939","0821","1826","0652","2010","0652","2051","0629","2211","0720","2211","0805","2226","1013","2301","1238","2342","1341","0047","1434","0147","1409")
Data_moonrise[03] = new Array ("1848","0826","2040","0854","1926","0723","2106","0722","2146","0706","2253","0814","2245","0907","2300","1120","2352","1344","no","1432","0150","1506","0246","1437")
Data_moonrise[04] = new Array ("1952","0911","2139","0924","2025","0753","2202","0754","2237","0748","2332","0911","2318","1010","2336","1228","no","1447","0045","1517","0252","1536","0345","1506")
Data_moonrise[05] = new Array ("2055","0950","2237","0953","2122","0822","2257","0829","2326","0834","no","1012","2350","1115","no","1337","0048","1544","0150","1556","0353","1604","0443","1536")
Data_moonrise[06] = new Array ("2156","1024","2334","1022","2219","0852","2350","0908","no","0925","0008","1114","no","1221","0017","1446","0150","1634","0254","1631","0452","1633","0540","1609")
Data_moonrise[07] = new Array ("2255","1055","no","1052","2315","0922","no","0952","0011","1020","0042","1219","0023","1329","0104","1553","0254","1718","0358","1702","0551","1702","0636","1646")
Data_moonrise[08] = new Array ("2352","1125","0030","1124","no","0956","0041","1040","0053","1119","0115","1325","0058","1439","0158","1655","0400","1756","0500","1732","0649","1734","0731","1727")
Data_moonrise[09] = new Array ("no","1153","0126","1158","0011","1032","0129","1133","0131","1222","0149","1434","0138","1550","0258","1751","0506","1831","0601","1801","0746","1809","0823","1812")
Data_moonrise[10] = new Array ("0049","1222","0221","1237","0105","1113","0214","1231","0208","1327","0224","1546","0222","1701","0403","1840","0610","1902","0701","1831","0842","1847","0912","1902")
Data_moonrise[11] = new Array ("0145","1252","0316","1321","0158","1159","0256","1333","0242","1434","0302","1659","0313","1808","0510","1923","0712","1932","0759","1902","0936","1929","0956","1956")
Data_moonrise[12] = new Array ("0241","1325","0409","1410","0249","1250","0334","1439","0317","1544","0345","1812","0412","1910","0617","2000","0813","2001","0857","1934","1027","2016","1037","2053")
Data_moonrise[13] = new Array ("0337","1402","0459","1504","0336","1347","0411","1547","0352","1657","0434","1923","0516","2003","0722","2033","0912","2031","0954","2010","1114","2108","1113","2152")
Data_moonrise[14] = new Array ("0433","1443","0546","1604","0421","1449","0447","1658","0430","1811","0530","2028","0623","2049","0825","2104","1010","2103","1049","2050","1157","2203","1147","2253")
Data_moonrise[15] = new Array ("0527","1529","0629","1708","0502","1554","0522","1810","0511","1926","0632","2126","0730","2129","0927","2133","1107","2137","1142","2135","1236","2301","1218","2355")
Data_moonrise[16] = new Array ("0619","1621","0709","1814","0541","1702","0559","1924","0558","2038","0738","2215","0836","2204","1026","2202","1203","2214","1231","2224","1312","no","no","1249")
Data_moonrise[17] = new Array ("0708","1718","0746","1922","0617","1812","0639","2038","0651","2145","0844","2256","0940","2235","1124","2233","1257","2256","1317","2317","1346","0002","1320","0100")
Data_moonrise[18] = new Array ("0753","1819","0822","2031","0653","1923","0723","2150","0749","2245","0949","2333","1041","2304","1221","2305","1349","2343","1359","no","1418","0106","1354","0207")
Data_moonrise[19] = new Array ("0834","1923","0856","2140","0729","2034","0812","2258","0852","2337","1053","no","1140","2333","1318","2340","1438","no","1438","0015","1450","0211","1430","0317")
Data_moonrise[20] = new Array ("0912","2028","0932","2249","0806","2146","0905","2359","0956","no","1153","0005","1238","no","1413","no","1523","0034","1514","0116","1524","0320","1512","0430")
Data_moonrise[21] = new Array ("0947","2135","1009","2358","0847","2257","1004","no","1100","0021","1252","0034","1335","0002","1506","0019","1604","0131","1548","0220","1600","0431","1601","0544")
Data_moonrise[22] = new Array ("1021","2242","1049","no","0931","no","1105","0053","1202","0058","1350","0103","1432","0033","1557","0103","1643","0231","1622","0326","1640","0544","1657","0656")
Data_moonrise[23] = new Array ("1055","2349","1134","0106","1020","0004","1207","0140","1303","0132","1447","0131","1527","0106","1645","0153","1718","0335","1655","0435","1726","0659","1801","0803")
Data_moonrise[24] = new Array ("1130","no","1223","0211","1114","0107","1309","0220","1402","0202","1544","0200","1622","0143","1729","0247","1753","0441","1731","0546","1820","0813","1910","0902")
Data_moonrise[25] = new Array ("1208","0057","1318","0312","1211","0205","1410","0256","1500","0231","1640","0232","1715","0224","1810","0346","1826","0548","1809","0658","1919","0921","2020","0952")
Data_moonrise[26] = new Array ("1249","0206","1417","0407","1312","0255","1509","0328","1557","0259","1735","0306","1805","0310","1847","0448","1900","0657","1852","0812","2024","1022","2128","1034")
Data_moonrise[27] = new Array ("1336","0314","1519","0456","1414","0339","1608","0357","1654","0327","1829","0345","1851","0402","1922","0552","1936","0808","1940","0924","2131","1115","2234","1111")
Data_moonrise[28] = new Array ("1429","0419","1622","0540","1515","0418","1706","0426","1750","0357","1921","0428","1934","0458","1955","0658","2015","0919","2035","1033","2238","1159","2338","1143")
Data_moonrise[29] = new Array ("1527","0520","0000","0000","1616","0453","1803","0455","1846","0430","2009","0516","2012","0557","2028","0804","2059","1029","2135","1136","2343","1237","no","1213")
Data_moonrise[30] = new Array ("1629","0614","0000","0000","1716","0524","1900","0524","1941","0506","2054","0609","2048","0700","2101","0912","2148","1138","2238","1231","no","1310","0039","1241")
Data_moonrise[31] = new Array ("1733","0702","0000","0000","1815","0554","0000","0000","2034","0546","0000","0000","2121","0803","2137","1020","0000","0000","2343","1318","0000","0000","0138","1309")
//>-------------------------------------------------------------<//
//> USNO_table.gawk,v 1.3 1999/03/19
//> run on Fri Mar 19 16:39:06 1999
//> processing moonphase.clean with flag -3
//>-------------------------------------------------------------<//
Data_moonphase[01] = new Array ("0.99","1.00","0.99","1.00","0.99","0.97","0.95","0.85","0.69","0.61","0.42","0.37")
Data_moonphase[02] = new Array ("1.00","0.97","1.00","0.98","0.98","0.92","0.90","0.77","0.58","0.50","0.32","0.28")
Data_moonphase[03] = new Array ("0.98","0.93","0.99","0.95","0.94","0.86","0.83","0.67","0.47","0.38","0.23","0.19")
Data_moonphase[04] = new Array ("0.94","0.87","0.96","0.90","0.89","0.79","0.74","0.56","0.36","0.28","0.15","0.12")
Data_moonphase[05] = new Array ("0.89","0.79","0.92","0.84","0.82","0.70","0.64","0.45","0.25","0.19","0.08","0.07")
Data_moonphase[06] = new Array ("0.81","0.71","0.86","0.77","0.74","0.60","0.53","0.33","0.16","0.11","0.04","0.03")
Data_moonphase[07] = new Array ("0.73","0.62","0.78","0.68","0.65","0.50","0.42","0.23","0.09","0.05","0.01","0.01")
Data_moonphase[08] = new Array ("0.63","0.53","0.70","0.59","0.55","0.39","0.31","0.14","0.03","0.02","0.00","0.00")
Data_moonphase[09] = new Array ("0.54","0.43","0.61","0.49","0.45","0.28","0.21","0.07","0.01","0.00","0.01","0.01")
Data_moonphase[10] = new Array ("0.44","0.34","0.52","0.39","0.35","0.18","0.12","0.02","0.00","0.01","0.04","0.05")
Data_moonphase[11] = new Array ("0.35","0.25","0.42","0.29","0.25","0.10","0.05","0.00","0.02","0.03","0.08","0.09")
Data_moonphase[12] = new Array ("0.26","0.17","0.33","0.20","0.16","0.04","0.01","0.01","0.06","0.07","0.14","0.16")
Data_moonphase[13] = new Array ("0.19","0.10","0.23","0.12","0.08","0.01","0.00","0.04","0.11","0.13","0.21","0.23")
Data_moonphase[14] = new Array ("0.12","0.05","0.15","0.06","0.03","0.00","0.02","0.09","0.18","0.20","0.30","0.32")
Data_moonphase[15] = new Array ("0.06","0.01","0.08","0.02","0.00","0.03","0.06","0.16","0.26","0.28","0.39","0.42")
Data_moonphase[16] = new Array ("0.02","0.00","0.03","0.00","0.01","0.08","0.12","0.24","0.35","0.37","0.48","0.52")
Data_moonphase[17] = new Array ("0.00","0.01","0.00","0.02","0.05","0.16","0.20","0.33","0.44","0.46","0.59","0.63")
Data_moonphase[18] = new Array ("0.00","0.05","0.00","0.06","0.11","0.25","0.29","0.42","0.54","0.56","0.69","0.73")
Data_moonphase[19] = new Array ("0.03","0.11","0.03","0.13","0.19","0.34","0.39","0.51","0.63","0.65","0.78","0.82")
Data_moonphase[20] = new Array ("0.07","0.19","0.08","0.23","0.29","0.45","0.49","0.61","0.72","0.75","0.87","0.90")
Data_moonphase[21] = new Array ("0.14","0.29","0.16","0.33","0.39","0.55","0.58","0.70","0.81","0.83","0.93","0.96")
Data_moonphase[22] = new Array ("0.22","0.40","0.26","0.44","0.50","0.64","0.67","0.78","0.88","0.91","0.98","0.99")
Data_moonphase[23] = new Array ("0.32","0.51","0.36","0.55","0.60","0.73","0.76","0.86","0.94","0.96","1.00","1.00")
Data_moonphase[24] = new Array ("0.43","0.62","0.48","0.65","0.70","0.81","0.83","0.92","0.98","0.99","0.99","0.97")
Data_moonphase[25] = new Array ("0.55","0.73","0.59","0.74","0.78","0.88","0.90","0.97","1.00","1.00","0.94","0.91")
Data_moonphase[26] = new Array ("0.66","0.82","0.69","0.83","0.86","0.93","0.95","0.99","0.99","0.97","0.88","0.83")
Data_moonphase[27] = new Array ("0.76","0.90","0.79","0.89","0.92","0.97","0.98","1.00","0.96","0.92","0.79","0.74")
Data_moonphase[28] = new Array ("0.85","0.95","0.86","0.95","0.96","0.99","1.00","0.98","0.90","0.84","0.69","0.64")
Data_moonphase[29] = new Array ("0.92","0","0.93","0.98","0.99","1.00","0.99","0.94","0.82","0.75","0.58","0.54")
Data_moonphase[30] = new Array ("0.97","0","0.97","1.00","1.00","0.98","0.97","0.88","0.72","0.64","0.48","0.44")
Data_moonphase[31] = new Array ("1.00","0","0.99","0","0.99","0","0.92","0.79","0","0.53","0","0.34")
                     
