<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

function initArray() {
 this.length = initArray.arguments.length
 for (var i = 0; i < this.length; i++)
 this[i+1] = initArray.arguments[i]
}

function kalendar (){
// Arrays in javaScript are One-based!! I'll be fnorded if this ain't confusing.
var WeekDays=new initArray("Sweetmorn", "BoomTime", "Pungenday", "Prickle-Prickle", "Setting Orange");
var Seasons = new initArray("Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath");
var MonthNums = new initArray( 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
var DaysInMonths = new initArray( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );

// If you think these are just random... well you could be right.
// But now they're HolyFied, too!
// For an exact repeatable recipe for obtaining the Holy Names send 50 truckloads
// of flax to: The California State Bureau of Furniture and Bedding,
// 1021 'D' Street, Sacramento CA 94814

var ChaosDays=new initArray("Paris", "shoreless", "acuity", "self-flattering", "Mungday", "elevation", "maledict", "Clytemnestra", "temple", "unambiguous", "coercive", "Incoherence", "insusceptible", "coed", "partake", "address", "touchstone", "racketing", "distinctness", "teichopsia", "disinfect", "adage", "trinity", "conformity", "leaflet", "exprobration", "Attack", "bland", "guideless", "Tories", "Caliban", "perpetually", "hypothecate", "shotgun", "squalid", "keen-eyed", "tug", "consult", "manomotor", "rareness", "odometer", "roster", "engagement", "annoying", "portrait", "Disreeli", "capo", "entozoon", "crane", "Chaoflux", "Faintness", "capriccioso", "unmoral", "alto", "expound", "libertas", "quartered", "arm", "merrymaking", "ashes", "shockingly", "chouse", "falsus", "misapply", "prowl", "orderly", "lozenge", "pikeman", "erewhile", "jasper", "anarchism", "unswerving", "bandit");
var DiscordDays=new initArray("tabby", "lower", "Unconformity", "scathe", "Mojoday", "paleontology", "unarmed", "unreserve", "swop", "gaseity", "colorless", "graveolent", "lunation", "sophie", "savanna", "sophistical", "nuzzle", "Cambridge", "furlong", "hatches", "nominis", "professional", "hyperdulia", "circle", "fuss", "accentuation", "unquenched", "consilience", "liquidator", "temporis", "mountaineer", "uniflorous", "estranged", "stringent", "ductility", "onset", "mansard", "Motion", "sooner", "kriegspiel", "m?priser", "Neptune", "dock", "thirst", "overhanging", "carting", "lucent", "camp", "chauntress", "Discoflux", "regional", "Error", "torus", "frumenty", "tediousness", "unpassionate", "trebuket", "tacky", "canterbury", "Fuel", "shinplaster", "bob", "bank", "earthenware", "pack", "glib", "indolence", "turvy", "narrative", "saucebox", "foin", "bumbledom", "castle");
var ConfusionDays=new initArray("subscribe", "frosty", "Maker", "Gluck", "Syaday", "disputation", "capsize", "sustained", "inexplicable", "peremptorily", "cryptography", "foreshorten", "lull'd", "captain", "caveat", "geognosy", "originate", "overlying", "Return", "lactation", "cuticle", "chancery", "brittleness", "revealed", "countinghouse", "gimcrack", "taradiddle", "impulsive", "revengeful", "module", "overtask", "acroamatics", "square", "viscount", "derby", "thinly", "characteristic", "calabash", "summon", "pulchritude", "caoutchouc", "encyclical", "leech", "gum", "acquittance", "urinalysis", "reenter", "galiot", "superfluence", "Confuflux", "sozzly", "superimpose", "depending", "surprisingly", "unskillful", "percolate", "Future", "jobbery", "manger", "knuckles", "panache", "Hinduism", "motive", "gardens", "evident", "galloon", "conjunctive", "imponderous", "chasseur", "unacquired", "inherence", "survival", "Various");
var BureaucracyDays=new initArray("suspicious", "intellectual", "lucida", "modal", "Zaraday", "toothsome", "argot", "cannoneer", "mural", "subsidiary", "disinclined", "Ushas", "larynx", "rhymes", "pantologist", "intervenient", "disjecta", "epigrammatist", "fascicle", "tuck", "Secret", "Contingent", "dissimilitude", "merestead", "cling", "opposite", "forensics", "Spider", "teacher", "cassino", "tantrums", "suppute", "carroty", "ill-contrived", "dona", "triplopia", "unjustifiable", "restriction", "possessed", "dissipation", "far", "attaintment", "outtrance", "consanguineous", "tricks", "cara", "gasification", "anagogical", "atole", "Bureflux", "housewifery", "barytone", "unapprized", "uhlan", "lasciviency", "formed", "troglodyte", "ultimo", "misdeed", "lyrist", "Cassiopea's", "basset", "tony", "disturb", "bought", "pairs", "execrate", "synoptic", "poppy-cock", "paenitentiae", "bridesman", "potwalloper", "drink");
var TheAftermathDays=new initArray("gleaning", "entangled", "thirds", "unapproached", "Maladay", "undisposed", "violently", "synchronize", "confiture", "tension", "inflammability", "posse", "palpitation", "grout", "gasp", "perpetual", "parabola", "athleticism", "differentia", "chateaux", "uncooked", "antitussive", "narrows", "augur", "nonpayment", "postliminious", "Cross", "premium", "sylvic", "theories", "sacris", "Brittleness", "secular", "proficiency", "blemish", "impecuniosity", "dishearten", "ballot", "causality", "despisal", "Tempest", "atonement", "debacle", "vai", "carnality", "calvados", "tempestas", "faerie", "hydrophobia", "Afflux", "hydrology", "semiology", "fatter", "parish", "causeway", "moralize", "jamais", "unship", "candle-holder", "movement", "tobogganing", "pensionary", "Beginning", "somehow", "mouthy", "Sanctus", "Path", "futile", "garnet", "disinfectant", "correctitude", "truth", "Napoleon");

today = new Date();

gregDay = today.getDate();
gregMonth = today.getMonth() + 1;
gregYear = /* 1900 + */ today.getYear();

dzionek = MonthNums[gregMonth] + gregDay;
TheSeason = Math.ceil((dzionek - 1) / 73);
// The above is equivalent to Pascal "theseason := ((dzionek-1) DIV 73 ) + 1"
// NOTE: do _not_ use math.round to calculate The Season,
// it breaks the algorithm because rouding happens BOTH ways.
// We need to simulate INTEGER division, we do not need rounding.
// Note also that the "first" season has index of 1, not 0 - thus the "+1"

Day = ((dzionek - 1) % 73) + 1;
YOLD = gregYear + 1166;
// Straszydlo = (( dzionek + 1 ) % 5 );  // HERE THERE BE BUGS
Straszydlo = (( dzionek - 1 ) % 5) + 1;  // THAT'S BETTER


document.write( "Rejoice, for today is <b> "+WeekDays[Straszydlo]+"</b> Day " );
document.write( Day );
document.write( " of " + Seasons[TheSeason] + ", YOLD " );
document.write( YOLD ); 
document.write( "<br />Today's Holy Name hath been decreed thusly..<b> " );
// in absence of a CASE statement... ugh!
if (TheSeason == 1 ) {
 document.write( ChaosDays[Day] );
}
if (TheSeason == 2 ) {
 document.write( DiscordDays[Day] );
}
if (TheSeason == 3 ) {
 document.write( ConfusionDays[Day] );
}
if (TheSeason == 4 ) {
 document.write( BureaucracyDays[Day] );
}
if (TheSeason == 5 ) {
 document.write( TheAftermathDays[Day] );
}
document.write( "</b>" );
}
// end hiding stuffage -->



