﻿var _daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
var _weekdays = new Array("Saint Tib's Day", "Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange");
var _seasons = new Array("Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath");
var _apostleHolidays = new Array("Mungday", "Mojoday", "Syaday", "Zaraday", "Maladay");
var _seasonHolidays = new Array("Chaoflux", "Discoflux", "Confuflux", "Bureflux", "Afflux");

function getDiscordianDateString()
{
    var now = new Date();
    var gYear = now.getFullYear();
    var gMonth = now.getMonth() + 1;
    var gDay = now.getDate();
    
    var gDayOfYear = 0;
    for(var m = 1; m < gMonth; m++)
        gDayOfYear += _daysInMonth[m - 1];
    gDayOfYear += gDay;
    
    var dYear = gYear + 1166;
    var dSeason = Math.floor((gDayOfYear - 1) / 73) + 1;
    var dDayOfWeek = ((gDayOfYear - 1) % 5) + 1;
    var dDay = ((gDayOfYear - 1) % 73) + 1;
    if(gMonth == 2 && gDay == 29)
    {
        dDayOfWeek = 0;
        dDay = 0;
    }
    
    var dDateString = "Today is " + _weekdays[dDayOfWeek] + ", day " + ((dDay == 0) ? ("between 59 and 60") : (dDay.toString())) + " in the season of " + _seasons[dSeason - 1] + ", " + dYear + ".";
    if(dDay == 5)
        dDateString += "\nIt is the sacred Apostle Holyday of " + _apostleHolidays[dSeason - 1];
    else if(dDay == 50)
        dDateString += "\nIt is the sacred Season Holyday of " + _seasonHolidays[dSeason - 1];
    
    return dDateString;
}

