// This script is simplified from the version written by GM Arts
// and available at http://users.chariot.net.au/~gmarts/eastalg.htm#easterscript.
// The code at that site appears to be open for all uses (there is no explicit
// licensing language nor restrictive text, and in fact there is an open
// invitation to cut and paste the code - so I did :-).
//
// It was simplified to only worry about Western Easter, with appropriate
// refactoring to remove/change everything that doesn't deal directly with
// that, as well as to take out the alerts and make the output capable of being
// used by other Javascript scripts or to be embedded as text in a Web page.
// In addition, it was modified to add calculations around standard church
// holidays for the Lutheran Church - Missouri Synod (LCMS). These holidays
// probably match most Protestant and Catholic church calendars, but you
// should test and double check this yourself. It also includes the LCMS
// lectionary (http://www.lcms.org/pages/internal.asp?NavID=873).
//
// All date calcs done using UTC to avoid timezone/DST issues, because
// otherwise you will hit them around calculating dates in the Easter
// season.
//
// And yes, I am obsessive about checking preconditions. :-)
//
// All relevant portions (c)opyright - 1997-1999 - GM Arts.
// All modifications (c)opyright - 2007 - Faith Lutheran Church, Jefferson City, MO.
// If you have questions, contact Faith's webmaster, Jim Lehmer at
// webmaster@faithinjeffcity.org.
//
// You are free to use and abuse this in any way you wish, as long as the original
// code and intellectual property statements are left in place.
// No warranties, express or implied.

// "CONSTANTS"

// Calculate offset into calendar lectionary. Note that
// April (month = 3 in 0-relative Javascript Date.getMonth
// format) is always in the Easter season and so uses an
// offset that will cause an error, and March and May
// (months 2 and 4) are shortened because parts are always
// in the Easter season as well.
var k_offset = [0, 31, 60, -100, 69, 83, 113, 144, 175, 205, 236, 266];
var k_oneDay = 86400000; // Number of milliseconds in a day

//  FUNCTIONS

// Take a Bible passage and create link to Bible Gateway with it.
function CreateURL(reading)
{
	return "<a href='" + encodeURI("http://www.biblegateway.com/passage/?search=" + reading) + "'>" + reading + "</a>";
}

// Calculate the number of days between today and Easter.
function DaysFromEaster(date)
{
    // Preconditions
    if (!(date instanceof Date) || !IsInEasterSeason(date))
    {
        return null;
    }
    else
    {
	    date.setUTCHours(0, 0, 0, 0);
    }

    var easter = GetEaster(date.getUTCFullYear());

	return IntDiv((date.getTime() - easter.getTime()), k_oneDay);
}

// Determine Easter for a given year. This is the core goodness
// lifted from GM Arts, with some minor refactoring by me.
function GetEaster(year)
{
    // Preconditions
    if (isNaN(year) || year < 1970 || year > 2037)
    {
        return null;
    }

    var g = year % 19;
    var c = IntDiv(year, 100);
    var h = (c - IntDiv(c, 4) - IntDiv(8 * c + 13, 25) + 19 * g + 15) % 30;
    var i = h - IntDiv(h, 28) * (1 - IntDiv(h, 28) * IntDiv(29, h + 1) * IntDiv(21 - g, 11));
    var j = (year + IntDiv(year, 4) + i + 2 - c + IntDiv(c, 4)) % 7;
    var p = i - j + 28;
    var day = (p > 31) ? p - 31 : p;
    var month = (p > 31) ? 4 : 3;
    var date = new Date(Date.UTC(year, month - 1, day, 0, 0, 0, 0));

    return date;
}

// Generate the entire lectionary for a given year as arbitrary HTML.
function GetLectionaryAsHTML(year)
{
	// Preconditions
    if (isNaN(year) || year < 1970 || year > 2037)
    {
        return null;
    }

	var date;
	//var newYears = new Date(Date.UTC(year, 0, 1, 0, 0, 0, 0));
	var newYears = new Date(year, 0, 1, 0, 0, 0, 0);
	// This leap year calc is not complete, I know, but it covers
	// the time period I care about. I doubt this code will be in
	// use in 2100 AD! And if you're reading this then, I'm dead
	// and it's your problem anyway. :-)
	var numDays = (year % 4 == 0) ? 366 : 365;
	var yearsReadings = "<p>";

	for (var i = 0; i < numDays; i++)
	{
		date = new Date(newYears.getTime() + (i * k_oneDay));
		yearsReadings += GetReadingsAsHTML(date);
	}

	yearsReadings += "</p>";
	return yearsReadings;
}

// Return the month name for a month in Javascript Date.getMonth()
// (0-relative) format.
function GetNameOfMonth(month)
{
    // Preconditions
    if (isNaN(month) || month < 0 || month > 11)
    {
        return null;
    }

	// Return month name.
	return ["January", "February", "March", "April", "May", "June", "July",
			"August", "September", "October", "November", "December"][month];
}

// Return the day name for a day in Javascript Date.getDay()
// (0-relative) format.
function GetNameOfWeekday(day)
{
    // Preconditions
    if (isNaN(day) || day < 0 || day > 6)
    {
        return null;
    }

    // Return day name.
	return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][day];
}

// Return the ordinal suffix (st, nd, rd, th) for a given integer.
function GetOrdinal(num)
{
    // Preconditions
    if (isNaN(num))
    {
        return null;
    }

    var rmdr = num % 10;

    if (((num >= 4) && (num <= 20)) || (rmdr == 0) || (rmdr > 3))
    {
        return num + "th";
    }
    else
    {
        switch (rmdr)
        {
            case 1:
                return num + "st";

            case 2:
                return num + "nd";

            case 3:
                return num + "rd";
        }
    }
}

// Returns the Bible verses and also holy day name (if any) for a given date.
function GetReadings(date)
{
    // Preconditions
    if (!(date instanceof Date))
    {
        return null;
    }
    else
    {
	    date.setUTCHours(0, 0, 0, 0);
    }

	// Most of the year is not the Easter season.
	if (!IsInEasterSeason(date))
	{
		return calendarLectionary.lectionary[k_offset[date.getUTCMonth()] + date.getUTCDate() - 1];
	}
	// But some of the year is special. Easter season goes from -46 days
	// before Easter (Ash Wednesday) to +56 days after (Holy Trinity Sunday).
	else
	{
		return easterLectionary.lectionary[DaysFromEaster(date) + 46];
	}
}

// KLUDGE! Return a daily reading as arbitrary HTML.
function GetReadingsAsHTML(date)
{
    // Preconditions
    if (!(date instanceof Date))
    {
        return null;
    }
//    else
//    {
//	    date.setUTCHours(0, 0, 0, 0);
//    }

	var dateUTC = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0));
	var todaysReadings = GetReadings(dateUTC);

	return "<p>" + GetNameOfWeekday(date.getDay()) + ", " + GetNameOfMonth(date.getMonth()) + " " + (date.getDate()) +
			((todaysReadings.Name) ? (" - " + (todaysReadings.Name)) : "") + "<br/><br/>" +
			CreateURL(todaysReadings.Psg1) + "<br/>" +
			CreateURL(todaysReadings.Psg2) +
			((todaysReadings.Psg3) ? "<br/>" + CreateURL(todaysReadings.Psg3) + "<br/>" : "") +
			"</p>";
}

// Performs integer division of num/dvsr - e.g., IntDiv(9,4) = 2.
function IntDiv(num, dvsr)
{
    // Preconditions
    if (isNaN(num) || isNaN(dvsr) || dvsr == 0)
    {
        return null;
    }

    var negate = (num * dvsr < 0) ? true : false;
    var result = 0;

    num = (num < 0) ? -num : num;
    dvsr = (dvsr < 0) ? -dvsr : dvsr;
    result = ((num - (num % dvsr)) / dvsr);
    return (negate) ? -result : result;
}

// Returns a Boolean of whether a given date is within the Easter season or not.
// For our purposes the Easter season is defined as Ash Wednesday through Holy
// Trinity Sunday.
function IsInEasterSeason(date)
{
    // Preconditions
    if (!(date instanceof Date))
    {
        return null;
    }
    else
    {
		date.setUTCHours(0, 0, 0, 0);
    }

	var easter = GetEaster(date.getUTCFullYear());

    return (date.getTime() >= (easter.getTime() - (46 * k_oneDay)) && date.getTime() <= (easter.getTime() + (56 * k_oneDay)));
}

// JSON format for lectionary: {"Psg1", "Psg2", ["Psg3"], ["Name"]}
var calendarLectionary =
{"lectionary": [
	{/* January 1 */ "Psg1": "Isaiah 61:1-11", "Psg2": "Luke 1:57-80", "Name": "Circumcision/Name of Jesus"},
	{/* January 2 */ "Psg1": "Isaiah 62:1-12", "Psg2": "Luke 2:1-20"},
	{/* January 3 */ "Psg1": "Isaiah 63:1-14", "Psg2": "Luke 2:21-40"},
	{/* January 4 */ "Psg1": "Isaiah 63:15-65:2", "Psg2": "Luke 2:41-52"},
	{/* January 5 */ "Psg1": "Isaiah 65:8-25", "Psg2": "Luke 3:1-20"},
	{/* January 6 */ "Psg1": "Isaiah 66:1-20", "Psg2": "Luke 3:21-38", "Name": "Epiphany of Our Lord"},
	{/* January 7 */ "Psg1": "Ezekiel 1:1-14, 22-28", "Psg2": "Romans 1:1-17", "Psg3": "Habakkuk 1:1-3:19"},
	{/* January 8 */ "Psg1": "Ezekiel 2:1-3:11", "Psg2": "Romans 1:18-32"},
	{/* January 9 */ "Psg1": "Ezekiel 3:12-28", "Psg2": "Romans 2:1-16", "Psg3": "Ezekiel 4:1-11:25"},
	{/* January 10 */ "Psg1": "Ezekiel 18:1-4, 19-32", "Psg2": "Romans 2:17-29", "Psg3": "Ezekiel 19:1-24:27"},
	{/* January 11 */ "Psg1": "Ezekiel 33:1-20", "Psg2": "Romans 3:1-18"},
	{/* January 12 */ "Psg1": "Ezekiel 34:1-24", "Psg2": "Romans 3:19-31"},
	{/* January 13 */ "Psg1": "Ezekiel 36:13-28", "Psg2": "Romans 4:1-25"},
	{/* January 14 */ "Psg1": "Ezekiel 36:33-37:14", "Psg2": "Romans 5:1-21"},
	{/* January 15 */ "Psg1": "Ezekiel 37:15-28", "Psg2": "Romans 6:1-23"},
	{/* January 16 */ "Psg1": "Ezekiel 38:1-23", "Psg2": "Romans 7:1-20"},
	{/* January 17 */ "Psg1": "Ezekiel 39:1-10, 17-29", "Psg2": "Romans 7:21-8:17"},
	{/* January 18 */ "Psg1": "Ezekiel 40:1-4, 43:1-12", "Psg2": "Romans 8:18-39", "Psg3": "Ezekiel 40:5-42:20, 43:13-27", "Name": "Confession of St. Peter"},
	{/* January 19 */ "Psg1": "Ezekiel 44:1-16, 23-29", "Psg2": "Romans 9:1-18"},
	{/* January 20 */ "Psg1": "Ezekiel 47:1-14, 21-23", "Psg2": "Romans 9:19-33"},
	{/* January 21 */ "Psg1": "Joel 1:1-20", "Psg2": "Romans 10:1-21"},
	{/* January 22 */ "Psg1": "Joel 2:1-17", "Psg2": "Romans 11:1-24"},
	{/* January 23 */ "Psg1": "Joel 2:18-32", "Psg2": "Romans 11:25-12:13"},
	{/* January 24 */ "Psg1": "Joel 3:1-21", "Psg2": "Romans 12:14-13:14", "Name": "St. Timothy"},
	{/* January 25 */ "Psg1": "Zachariah 1:1-21", "Psg2": "Romans 14:1-23", "Name": "Conversion of St. Paul"},
	{/* January 26 */ "Psg1": "Zachariah 2:1-3:10", "Psg2": "Romans 15:1-13", "Name": "St. Titus"},
	{/* January 27 */ "Psg1": "Zachariah 4:1-5:11", "Psg2": "Romans 15:14-33"},
	{/* January 28 */ "Psg1": "Zachariah 6:1-7:14", "Psg2": "Romans 16:17-27"},
	{/* January 29 */ "Psg1": "Zachariah 8:1-23", "Psg2": "2 Timothy 1:1-18"},
	{/* January 30 */ "Psg1": "Zachariah 9:1-17", "Psg2": "2 Timothy 2:1-26"},
	{/* January 31 */ "Psg1": "Zachariah 10:1-11:3", "Psg2": "2 Timothy 3:1-18"},
	{/* February 1 */ "Psg1": "Zachariah 11:4-17", "Psg2": "2 Timothy 4:1-18"},
	{/* February 2 */ "Psg1": "Zachariah 12:1-13:9", "Psg2": "Titus 1:1-2:6", "Name": "Presentation of Our Lord"},
	{/* February 3 */ "Psg1": "Zachariah 14:1-21", "Psg2": "Titus 2:7-3:15"},
	{/* February 4 */ "Psg1": "Job 1:1-22", "Psg2": "John 1:1-18"},
	{/* February 5 */ "Psg1": "Job 2:1-3:10", "Psg2": "John 1:19-34"},
	{/* February 6 */ "Psg1": "Job 3:11-26", "Psg2": "John 1:35-51"},
	{/* February 7 */ "Psg1": "Job 4:1-21", "Psg2": "John 2:1-12"},
	{/* February 8 */ "Psg1": "Job 5:1-27", "Psg2": "John 2:13-25"},
	{/* February 9 */ "Psg1": "Job 6:1-13", "Psg2": "John 3:1-21"},
	{/* February 10 */ "Psg1": "Job 6:14-30", "Psg2": "John 3:22-4:6"},
	{/* February 11 */ "Psg1": "Job 7:1-21", "Psg2": "John 4:7-26"},
	{/* February 12 */ "Psg1": "Job 8:1-22", "Psg2": "John 4:27-45"},
	{/* February 13 */ "Psg1": "Job 9:1-35", "Psg2": "John 4:46-54"},
	{/* February 14 */ "Psg1": "Job 10:1-22", "Psg2": "John 5:1-18"},
	{/* February 15 */ "Psg1": "Job 11:1-20", "Psg2": "John 5:19-29"},
	{/* February 16 */ "Psg1": "Job 12:1-6, 12-25", "Psg2": "John 5:30-47"},
	{/* February 17 */ "Psg1": "Job 13:1-12", "Psg2": "John 6:1-21"},
	{/* February 18 */ "Psg1": "Job 13:13-28", "Psg2": "John 6:22-40", "Name": "Martin Luther"},
	{/* February 19 */ "Psg1": "Job 14:1-22", "Psg2": "John 6:41-59"},
	{/* February 20 */ "Psg1": "Job 15:1-23, 30-35", "Psg2": "John 6:60-71"},
	{/* February 21 */ "Psg1": "Job 16:1-21", "Psg2": "John 7:1-13"},
	{/* February 22 */ "Psg1": "Job 17:1-16", "Psg2": "John 7:14-31"},
	{/* February 23 */ "Psg1": "Job 18:1-21", "Psg2": "John 7:32-53"},
	{/* February 24 */ "Psg1": "Job 19:1-12, 21-27", "Psg2": "John 8:1-20", "Name": "St. Matthias"},
	{/* February 25 */ "Psg1": "Job 20:1-23, 29", "Psg2": "John 8:21-38"},
	{/* February 26 */ "Psg1": "Job 21:1-21", "Psg2": "John 8:39-59", "Psg3": "Job 21:22-30:15"},
	{/* February 27 */ "Psg1": "Job 30:16-31", "Psg2": "John 9:1-23"},
	{/* February 28 */ "Psg1": "Job 31:1-12, 33-40", "Psg2": "John 9:24-41"},
	{/* February 29 */ "Psg1": "Job 32:1-22", "Psg2": "John 10:1-21"},
	{/* March 1 */ "Psg1": "Job 33:1-18", "Psg2": "John 10:22-42"},
	{/* March 2 */ "Psg1": "Job 33:19-34:9", "Psg2": "John 11:1-16"},
	{/* March 3 */ "Psg1": "Job 34:10-33", "Psg2": "John 11:17-37"},
	{/* March 4 */ "Psg1": "Job 36:1-21", "Psg2": "John 11:38-57"},
	{/* March 5 */ "Psg1": "Job 37:1-24", "Psg2": "John 12:1-19"},
	{/* March 6 */ "Psg1": "Job 38:1-18", "Psg2": "John 12:20-36a", "Psg3": "Job 38:19-39:30"},
	{/* March 7 */ "Psg1": "Job 40:1-24", "Psg2": "John 12:36b-50"},
	{/* March 8 */ "Psg1": "Job 41:1-20, 31-34", "Psg2": "John 13:1-20"},
	{/* March 9 */ "Psg1": "Job 42:1-17", "Psg2": "John 13:21-38"},
	{/* May 18 */ "Psg1": "Song of Solomon 1:1-2:7", "Psg2": "John 5:1-18"},
	{/* May 19 */ "Psg1": "Song of Solomon 2:8-3:11", "Psg2": "John 5:19-29"},
	{/* May 20 */ "Psg1": "Song of Solomon 4:1-5:1", "Psg2": "John 5:30-47"},
	{/* May 21 */ "Psg1": "Song of Solomon 5:2-6:3", "Psg2": "John 6:1-21"},
	{/* May 22 */ "Psg1": "Song of Solomon 6:4-7:5", "Psg2": "John 6:22-40"},
	{/* May 23 */ "Psg1": "Song of Solomon 7:6-8:14", "Psg2": "John 6:41-59"},
	{/* May 24 */ "Psg1": "Ecclesiastes 1:1-18", "Psg2": "John 6:60-71", "Psg3": "Esther 1:1-10:3"},
	{/* May 25 */ "Psg1": "Ecclesiastes 2:1-26", "Psg2": "John 7:1-13"},
	{/* May 26 */ "Psg1": "Ecclesiastes 3:1-22", "Psg2": "John 7:14-31"},
	{/* May 27 */ "Psg1": "Ecclesiastes 4:1-16", "Psg2": "John 7:32-53"},
	{/* May 28 */ "Psg1": "Ecclesiastes 5:1-20", "Psg2": "John 8:1-20"},
	{/* May 29 */ "Psg1": "Ecclesiastes 6:1-7:10", "Psg2": "John 8:21-38"},
	{/* May 30 */ "Psg1": "Ecclesiastes 7:11-29", "Psg2": "John 8:39-59"},
	{/* May 31 */ "Psg1": "Ecclesiastes 8:1-17", "Psg2": "John 9:1-23", "Name": "Visitation"},
	{/* June 1 */ "Psg1": "Ecclesiastes 9:1-17", "Psg2": "John 9:24-41"},
	{/* June 2 */ "Psg1": "Ecclesiastes 10:1-20", "Psg2": "John 10:1-21"},
	{/* June 3 */ "Psg1": "Ecclesiastes 11:1-10", "Psg2": "John 10:22-42"},
	{/* June 4 */ "Psg1": "Ecclesiastes 12:1-14", "Psg2": "John 11:1-16"},
	{/* June 5 */ "Psg1": "Proverbs 1:8-33", "Psg2": "John 11:17-37"},
	{/* June 6 */ "Psg1": "Proverbs 3:5-24", "Psg2": "John 11:38-57"},
	{/* June 7 */ "Psg1": "Proverbs 4:1-27", "Psg2": "John 12:1-19"},
	{/* June 8 */ "Psg1": "Proverbs 5:1-23", "Psg2": "John 12:20-36a", "Psg3": "Proverbs 6:1-7:27"},
	{/* June 9 */ "Psg1": "Proverbs 8:1-21", "Psg2": "John 12:36b-50"},
	{/* June 10 */ "Psg1": "Proverbs 8:22-36", "Psg2": "John 13:1-20"},
	{/* June 11 */ "Psg1": "Proverbs 9:1-18", "Psg2": "John 13:21-38", "Name": "St. Barnabas"},
	{/* June 12 */ "Psg1": "Proverbs 10:1-23", "Psg2": "John 14:1-17", "Psg3": "Proverbs 11:1-12:28"},
	{/* June 13 */ "Psg1": "Proverbs 13:1-25", "Psg2": "John 14:18-31"},
	{/* June 14 */ "Psg1": "Proverbs 14:1-27", "Psg2": "John 15:1-11"},
	{/* June 15 */ "Psg1": "Proverbs 15:1-29", "Psg2": "John 15:12-27"},
	{/* June 16 */ "Psg1": "Proverbs 16:1-24", "Psg2": "John 16:1-16"},
	{/* June 17 */ "Psg1": "Proverbs 17:1-28", "Psg2": "John 16:17-33", "Psg3": "Proverbs 18:1-20:4"},
	{/* June 18 */ "Psg1": "Proverbs 20:5-25", "Psg2": "John 17:1-26", "Psg3": "Proverbs 21:1-31"},
	{/* June 19 */ "Psg1": "Proverbs 22:1-21", "Psg2": "John 18:1-14"},
	{/* June 20 */ "Psg1": "Proverbs 22:22-23:12", "Psg2": "John 18:15-40"},
	{/* June 21 */ "Psg1": "Proverbs 24:1-22", "Psg2": "John 19:1-22"},
	{/* June 22 */ "Psg1": "Proverbs 25:1-22", "Psg2": "John 19:23-42", "Psg3": "Proverbs 26:1-28"},
	{/* June 23 */ "Psg1": "Proverbs 27:1-24", "Psg2": "John 20:1-18", "Psg3": "Proverbs 28:1-29:27"},
	{/* June 24 */ "Psg1": "Proverbs 30:1-9, 18-33", "Psg2": "John 20:19-31", "Name": "Nativity of John the Baptist"},
	{/* June 25 */ "Psg1": "Proverbs 31:10-31", "Psg2": "John 21:1-25", "Name": "Presentation of the Augsburg Confession"},
	{/* June 26 */ "Psg1": "Joshua 1:1-18", "Psg2": "Acts 8:1-25"},
	{/* June 27 */ "Psg1": "Joshua 2:1-24", "Psg2": "Acts 8:26-40"},
	{/* June 28 */ "Psg1": "Joshua 3:1-17", "Psg2": "Acts 9:1-22"},
	{/* June 29 */ "Psg1": "Joshua 4:1-24", "Psg2": "Acts 9:23-43", "Name": "St. Peter & St. Paul"},
	{/* June 30 */ "Psg1": "Joshua 5:1-6:5", "Psg2": "Acts 10:1-17"},
	{/* July 1 */ "Psg1": "Joshua 6:6-27", "Psg2": "Acts 10:18-33"},
	{/* July 2 */ "Psg1": "Joshua 7:1-26", "Psg2": "Acts 10:34-48"},
	{/* July 3 */ "Psg1": "Joshua 8:1-28", "Psg2": "Acts 11:1-18"},
	{/* July 4 */ "Psg1": "Joshua 10:1-25", "Psg2": "Acts 11:19-30", "Psg3": "Joshua 10:28-22:34"},
	{/* July 5 */ "Psg1": "Joshua 23:1-16", "Psg2": "Acts 12:1-25"},
	{/* July 6 */ "Psg1": "Joshua 24:1-31", "Psg2": "Acts 13:1-12", "Psg3": "Judges 1:1-36"},
	{/* July 7 */ "Psg1": "Judges 2:6-23", "Psg2": "Acts 13:13-41"},
	{/* July 8 */ "Psg1": "Judges 3:7-31", "Psg2": "Acts 13:42-52"},
	{/* July 9 */ "Psg1": "Judges 4:1-24", "Psg2": "Acts 14:1-18", "Psg3": "Judges 5:1-31"},
	{/* July 10 */ "Psg1": "Judges 6:1-24", "Psg2": "Acts 14:19-15:5"},
	{/* July 11 */ "Psg1": "Judges 6:25-40", "Psg2": "Acts 15:6-21"},
	{/* July 12 */ "Psg1": "Judges 7:1-23", "Psg2": "Galatians 1:1-24", "Psg3": "Judges 7:24-12:15"},
	{/* July 13 */ "Psg1": "Judges 13:1-25", "Psg2": "Galatians 2:1-21", "Psg3": "Ruth 1:1-4:22"},
	{/* July 14 */ "Psg1": "Judges 14:1-20", "Psg2": "Galatians 3:1-22"},
	{/* July 15 */ "Psg1": "Judges 15:1-16:3", "Psg2": "Galatians 3:23-4:11"},
	{/* July 16 */ "Psg1": "Judges 16:4-30", "Psg2": "Galatians 4:12-31", "Psg3": "Judges 17:1-21:25"},
	{/* July 17 */ "Psg1": "1 Samuel 1:1-20", "Psg2": "Galatians 5:1-26"},
	{/* July 18 */ "Psg1": "1 Samuel 1:21-2:17", "Psg2": "Galatians 6:1-18"},
	{/* July 19 */ "Psg1": "1 Samuel 2:18-36", "Psg2": "Acts 15:22-41"},
	{/* July 20 */ "Psg1": "1 Samuel 3:1-21", "Psg2": "Acts 16:1-22"},
	{/* July 21 */ "Psg1": "1 Samuel 4:1-22", "Psg2": "Acts 16:23-40", "Psg3": "Acts 17:1-34"},
	{/* July 22 */ "Psg1": "1 Samuel 5:1-6:3, 10-16", "Psg2": "Acts 18:1-11, 23-28", "Name": "St. Mary Magdalene"},
	{/* July 23 */ "Psg1": "1 Samuel 6:19-7:17", "Psg2": "Acts 19:1-22", "Psg3": "Acts 19:23-21:14"},
	{/* July 24 */ "Psg1": "1 Samuel 8:1-22", "Psg2": "Acts 21:15-36"},
	{/* July 25 */ "Psg1": "1 Samuel 9:1-27", "Psg2": "Acts 21:37-22:16", "Name": "St. James the Elder"},
	{/* July 26 */ "Psg1": "1 Samuel 10:1-27", "Psg2": "Acts 22:17-29"},
	{/* July 27 */ "Psg1": "1 Samuel 12:1-25", "Psg2": "Acts 22:30-23:11"},
	{/* July 28 */ "Psg1": "1 Samuel 13:1-18", "Psg2": "Acts 23:12-35"},
	{/* July 29 */ "Psg1": "1 Samuel 14:47-15:9", "Psg2": "Acts 24:1-23"},
	{/* July 30 */ "Psg1": "1 Samuel 15:10-35", "Psg2": "Acts 24:24-25:12"},
	{/* July 31 */ "Psg1": "1 Samuel 16:1-23", "Psg2": "Acts 25:13-27"},
	{/* August 1 */ "Psg1": "1 Samuel 17:1-19", "Psg2": "Acts 26:1-23"},
	{/* August 2 */ "Psg1": "1 Samuel 17:20-47", "Psg2": "Acts 26:24-27:8"},
	{/* August 3 */ "Psg1": "1 Samuel 17:48-18:9", "Psg2": "Acts 27:9-26"},
	{/* August 4 */ "Psg1": "1 Samuel 18:10-30", "Psg2": "Acts 27:27-44"},
	{/* August 5 */ "Psg1": "1 Samuel 19:1-24", "Psg2": "Acts 28:1-15", "Psg3": "Psalm 59"},
	{/* August 6 */ "Psg1": "1 Samuel 20:1-23", "Psg2": "Acts 28:16-31"},
	{/* August 7 */ "Psg1": "1 Samuel 20:24-42", "Psg2": "1 Corinthians 1:1-25", "Psg3": "1 Samuel 21:1-23:29"},
	{/* August 8 */ "Psg1": "1 Samuel 24:1-22", "Psg2": "1 Corinthians 1:26-2:16", "Psg3": "Psalm 142"},
	{/* August 9 */ "Psg1": "1 Samuel 25:1-22", "Psg2": "1 Corinthians 3:1-23"},
	{/* August 10 */ "Psg1": "1 Samuel 25:23-44", "Psg2": "1 Corinthians 4:1-21", "Name": "St. Lawrence"},
	{/* August 11 */ "Psg1": "1 Samuel 26:1-25", "Psg2": "1 Corinthians 5:1-13", "Psg3": "1 Samuel 27:1-28:2"},
	{/* August 12 */ "Psg1": "1 Samuel 28:3-25", "Psg2": "1 Corinthians 6:1-20", "Psg3": "1 Samuel 29:1-30:30"},
	{/* August 13 */ "Psg1": "1 Samuel 31:1-13", "Psg2": "1 Corinthians 7:1-24"},
	{/* August 14 */ "Psg1": "2 Samuel 1:1-27", "Psg2": "1 Corinthians 7:25-40"},
	{/* August 15 */ "Psg1": "2 Samuel 5:1-25", "Psg2": "1 Corinthians 8:1-13", "Psg3": "Psalm 18", "Name": "St. Mary, Mother of Our Lord"},
	{/* August 16 */ "Psg1": "2 Samuel 6:1-19", "Psg2": "1 Corinthians 9:1-23", "Psg3": "Psalm 105, Psalm 96"},
	{/* August 17 */ "Psg1": "2 Samuel 7:1-17", "Psg2": "1 Corinthians 9:24-10:22"},
	{/* August 18 */ "Psg1": "2 Samuel 7:18-29", "Psg2": "1 Corinthians 10:23-11:16"},
	{/* August 19 */ "Psg1": "2 Samuel 11:1-27", "Psg2": "1 Corinthians 11:17-34", "Psg3": "Psalm 51"},
	{/* August 20 */ "Psg1": "2 Samuel 12:1-25", "Psg2": "1 Corinthians 12:1-13", "Psg3": "2 Samuel 13:1-19:4, Psalm 60, Psalm 3"},
	{/* August 21 */ "Psg1": "1 Kings 1:1-4, 15-35", "Psg2": "1 Corinthians 12:14-31"},
	{/* August 22 */ "Psg1": "1 Kings 2:1-27", "Psg2": "1 Corinthians 13:1-13", "Psg3": "1 Corinthians 14:1-16:23"},
	{/* August 23 */ "Psg1": "1 Kings 3:1-15", "Psg2": "2 Corinthians 1:1-22", "Psg3": "1 Kings 3:16-4:34"},
	{/* August 24 */ "Psg1": "1 Kings 5:1-18", "Psg2": "2 Corinthians 1:23-2:17", "Psg3": "1 Kings 6:1-7:50", "Name": "St. Bartholomew"},
	{/* August 25 */ "Psg1": "1 Kings 7:51-8:21", "Psg2": "2 Corinthians 3:1-18"},
	{/* August 26 */ "Psg1": "1 Kings 8:22-30, 46-63", "Psg2": "2 Corinthians 4:1-18", "Psg3": "Psalm 30"},
	{/* August 27 */ "Psg1": "1 Kings 9:1-9, 10:1-13", "Psg2": "2 Corinthians 5:1-21", "Psg3": "Psalm 72"},
	{/* August 28 */ "Psg1": "1 Kings 11:1-26", "Psg2": "2 Corinthians 6:1-18"},
	{/* August 29 */ "Psg1": "1 Kings 11:42-12:19", "Psg2": "2 Corinthians 7:1-16"},
	{/* August 30 */ "Psg1": "1 Kings 12:20-13:5, 33-34", "Psg2": "2 Corinthians 8:1-24", "Psg3": "1 Kings 14:1-16:28"},
	{/* August 31 */ "Psg1": "1 Kings 16:29-17:24", "Psg2": "2 Corinthians 9:1-15", "Psg3": "2 Corinthians 10:1-13:13"},
	{/* September 1 */ "Psg1": "1 Kings 18:1-19", "Psg2": "Ephesians 1:1-23"},
	{/* September 2 */ "Psg1": "1 Kings 18:20-40", "Psg2": "Ephesians 2:1-22"},
	{/* September 3 */ "Psg1": "1 Kings 19:1-21", "Psg2": "Ephesians 3:1-21", "Psg3": "1 Kings 20:1-22:53"},
	{/* September 4 */ "Psg1": "2 Kings 2:1-18", "Psg2": "Ephesians 4:1-24"},
	{/* September 5 */ "Psg1": "2 Kings 2:19-25, 4:1-7", "Psg2": "Ephesians 4:25-5:14"},
	{/* September 6 */ "Psg1": "2 Kings 4:8-22, 32-37", "Psg2": "Ephesians 5:15-33"},
	{/* September 7 */ "Psg1": "2 Kings 4:38-5:8", "Psg2": "Ephesians 6:1-24"},
	{/* September 8 */ "Psg1": "2 Kings 5:9-27", "Psg2": "Philippians 1:1-20"},
	{/* September 9 */ "Psg1": "2 Kings 6:1-23", "Psg2": "Philippians 1:21-2:11", "Psg3": "2 Kings 6:24-8:29"},
	{/* September 10 */ "Psg1": "2 Kings 9:1-13, 10:18-29", "Psg2": "Philippians 2:12-30", "Psg3": "2 Kings 13:1-18:8"},
	{/* September 11 */ "Psg1": "2 Chronicles 29:1-24", "Psg2": "Philippians 3:1-21"},
	{/* September 12 */ "Psg1": "2 Chronicles 31:1-21", "Psg2": "Philippians 4:1-23"},
	{/* September 13 */ "Psg1": "2 Chronicles 32:1-22", "Psg2": "Colossians 1:1-23", "Psg3": "Hosea 1:1-14:9"},
	{/* September 14 */ "Psg1": "2 Chronicles 33:1-25", "Psg2": "Colossians 1:24-2:7", "Psg3": "Jonah 1:1-4:11", "Name": "Holy Cross Day"},
	{/* September 15 */ "Psg1": "2 Chronicles 34:1-4, 8-11, 14-33", "Psg2": "Colossians 2:8-23", "Psg3": "Nahum 1:1-3:19"},
	{/* September 16 */ "Psg1": "2 Chronicles 35:1-7, 16-25", "Psg2": "Colossians 3:1-25", "Psg3": "Zephaniah 1:1-3:20"},
	{/* September 17 */ "Psg1": "2 Chronicles 36:1-23", "Psg2": "Colossians 4:1-18", "Psg3": "Philemon 1-25"},
	{/* September 18 */ "Psg1": "Nehemiah 1:1-2:10", "Psg2": "1 Timothy 1:1-20", "Psg3": "Haggai 1:1-2:23"},
	{/* September 19 */ "Psg1": "Nehemiah 2:11-20, 4:1-6", "Psg2": "1 Timothy 2:1-15"},
	{/* September 20 */ "Psg1": "Nehemiah 4:7-23", "Psg2": "1 Timothy 3:1-16"},
	{/* September 21 */ "Psg1": "Nehemiah 5:1-16, 6:1-9, 15-16", "Psg2": "1 Timothy 4:1-16", "Name": "St. Matthew"},
	{/* September 22 */ "Psg1": "Nehemiah 7:1-4, 8:1-18", "Psg2": "1 Timothy 5:1-16", "Psg3": "Ezra 1:1-10:19"},
	{/* September 23 */ "Psg1": "Nehemiah 9:1-21", "Psg2": "1 Timothy 5:17-6:2"},
	{/* September 24 */ "Psg1": "Nehemiah 9:22-38", "Psg2": "1 Timothy 6:3-21", "Psg3": "Nehemiah 10:1-13:31"},
	{/* September 25 */ "Psg1": "Malachi 1:1-14", "Psg2": "Matthew 3:1-17"},
	{/* September 26 */ "Psg1": "Malachi 2:1-3:5", "Psg2": "Matthew 4:1-11"},
	{/* September 27 */ "Psg1": "Malachi 3:6-4:6", "Psg2": "Matthew 4:12-25"},
	{/* September 28 */ "Psg1": "Deuteronomy 1:1-18", "Psg2": "Matthew 5:1-20"},
	{/* September 29 */ "Psg1": "Deuteronomy 1:19-36", "Psg2": "Matthew 5:21-48", "Name": "St. Michael & All Angels"},
	{/* September 30 */ "Psg1": "Deuteronomy 1:37-2:15", "Psg2": "Matthew 6:1-15"},
	{/* October 1 */ "Psg1": "Deuteronomy 2:16-37", "Psg2": "Matthew 6:16-34"},
	{/* October 2 */ "Psg1": "Deuteronomy 3:1-29", "Psg2": "Matthew 7:1-12"},
	{/* October 3 */ "Psg1": "Deuteronomy 4:1-20", "Psg2": "Matthew 7:13-29"},
	{/* October 4 */ "Psg1": "Deuteronomy 4:21-40", "Psg2": "Matthew 8:1-17"},
	{/* October 5 */ "Psg1": "Deuteronomy 5:1-21", "Psg2": "Matthew 8:18-34"},
	{/* October 6 */ "Psg1": "Deuteronomy 5:22-6:9", "Psg2": "Matthew 9:1-17"},
	{/* October 7 */ "Psg1": "Deuteronomy 6:10-25", "Psg2": "Matthew 9:18-38"},
	{/* October 8 */ "Psg1": "Deuteronomy 7:1-19", "Psg2": "Matthew 10:1-23"},
	{/* October 9 */ "Psg1": "Deuteronomy 8:1-20", "Psg2": "Matthew 10:24-42"},
	{/* October 10 */ "Psg1": "Deuteronomy 9:1-22", "Psg2": "Matthew 11:1-19"},
	{/* October 11 */ "Psg1": "Deuteronomy 9:23-10:22", "Psg2": "Matthew 11:20-30"},
	{/* October 12 */ "Psg1": "Deuteronomy 11:1-25", "Psg2": "Matthew 12:1-21"},
	{/* October 13 */ "Psg1": "Deuteronomy 11:26-12:12", "Psg2": "Matthew 12:22-37"},
	{/* October 14 */ "Psg1": "Deuteronomy 12:13-32", "Psg2": "Matthew 12:38-50"},
	{/* October 15 */ "Psg1": "Deuteronomy 13:1-18", "Psg2": "Matthew 13:1-23"},
	{/* October 16 */ "Psg1": "Deuteronomy 14:1-2, 22-23, 28-29, 15:1-15", "Psg2": "Matthew 13:24-43"},
	{/* October 17 */ "Psg1": "Deuteronomy 15:19-16:22", "Psg2": "Matthew 13:44-58"},
	{/* October 18 */ "Psg1": "Deuteronomy 17:1-20", "Psg2": "Matthew 14:1-21", "Name": "St. Luke"},
	{/* October 19 */ "Psg1": "Deuteronomy 18:1-22", "Psg2": "Matthew 14:22-36"},
	{/* October 20 */ "Psg1": "Deuteronomy 19:1-20", "Psg2": "Matthew 15:1-20"},
	{/* October 21 */ "Psg1": "Deuteronomy 20:1-20", "Psg2": "Matthew 15:21-39"},
	{/* October 22 */ "Psg1": "Deuteronomy 21:1-23", "Psg2": "Matthew 16:1-12", "Psg3": "Deuteronomy 22:1-24:9"},
	{/* October 23 */ "Psg1": "Deuteronomy 24:10-25:10", "Psg2": "Matthew 16:13-28"},
	{/* October 24 */ "Psg1": "Deuteronomy 25:17-26:19", "Psg2": "Matthew 17:1-13"},
	{/* October 25 */ "Psg1": "Deuteronomy 27:1-26", "Psg2": "Matthew 17:14-27"},
	{/* October 26 */ "Psg1": "Deuteronomy 28:1-22", "Psg2": "Matthew 18:1-20"},
	{/* October 27 */ "Psg1": "Deuteronomy 29:1-29", "Psg2": "Matthew 18:21-35"},
	{/* October 28 */ "Psg1": "Deuteronomy 30:1-20", "Psg2": "Matthew 19:1-15", "Name": "St. Simon & St. Jude"},
	{/* October 29 */ "Psg1": "Deuteronomy 31:1-29", "Psg2": "Matthew 19:16-30"},
	{/* October 30 */ "Psg1": "Deuteronomy 31:30-32:27", "Psg2": "Matthew 20:1-16"},
	{/* October 31 */ "Psg1": "Deuteronomy 32:28-52", "Psg2": "Matthew 20:17-34", "Psg3": "Deuteronomy 33:1-29", "Name": "Reformation Day"},
	{/* November 1 */ "Psg1": "Deuteronomy 34:1-12", "Psg2": "Matthew 21:1-22", "Name": "All Saints Day"},
	{/* November 2 */ "Psg1": "Jeremiah 1:1-19", "Psg2": "Matthew 21:23-46"},
	{/* November 3 */ "Psg1": "Jeremiah 3:6-4:2", "Psg2": "Matthew 22:1-22"},
	{/* November 4 */ "Psg1": "Jeremiah 5:1-19", "Psg2": "Matthew 22:23-46"},
	{/* November 5 */ "Psg1": "Jeremiah 7:1-29", "Psg2": "Matthew 23:1-12"},
	{/* November 6 */ "Psg1": "Jeremiah 8:18-9:12", "Psg2": "Matthew 23:13-39"},
	{/* November 7 */ "Psg1": "Jeremiah 11:1-23", "Psg2": "Matthew 24:1-28", "Psg3": "Jeremiah 12:1-19:15"},
	{/* November 8 */ "Psg1": "Jeremiah 20:1-18", "Psg2": "Matthew 24:29-51"},
	{/* November 9 */ "Psg1": "Jeremiah 22:1-23", "Psg2": "Matthew 25:1-13"},
	{/* November 10 */ "Psg1": "Jeremiah 23:1-20", "Psg2": "Matthew 25:14-30"},
	{/* November 11 */ "Psg1": "Jeremiah 23:21-40", "Psg2": "Matthew 25:31-46"},
	{/* November 12 */ "Psg1": "Jeremiah 25:1-18", "Psg2": "Matthew 26:1-19"},
	{/* November 13 */ "Psg1": "Jeremiah 26:1-19", "Psg2": "Matthew 26:20-35", "Psg3": "Revelation 13:1-18"},
	{/* November 14 */ "Psg1": "Jeremiah 29:1-19", "Psg2": "Matthew 26:36-56", "Psg3": "Revelation 14:1-20"},
	{/* November 15 */ "Psg1": "Jeremiah 30:1-24", "Psg2": "Matthew 26:57-75", "Psg3": "Revelation 15:1-8"},
	{/* November 16 */ "Psg1": "Jeremiah 31:1-17, 23-34", "Psg2": "Matthew 27:1-10", "Psg3": "Revelation 16:1-21"},
	{/* November 17 */ "Psg1": "Jeremiah 33:1-22", "Psg2": "Matthew 27:11-32", "Psg3": "Jeremiah 34:1-36:32, 45:1-51:64"},
	{/* November 18 */ "Psg1": "Jeremiah 37:1-21", "Psg2": "Matthew 27:33-56", "Psg3": "Revelation 17:1-18"},
	{/* November 19 */ "Psg1": "Jeremiah 38:1-28", "Psg2": "Matthew 27:57-66", "Psg3": "Jeremiah 39:1-44:30"},
	{/* November 20 */ "Psg1": "Daniel 1:1-21", "Psg2": "Matthew 28:1-20"},
	{/* November 21 */ "Psg1": "Daniel 2:1-23", "Psg2": "Revelation 18:1-24"},
	{/* November 22 */ "Psg1": "Daniel 2:24-49", "Psg2": "Revelation 19:1-21"},
	{/* November 23 */ "Psg1": "Daniel 3:1-30", "Psg2": "Revelation 20:1-15"},
	{/* November 24 */ "Psg1": "Daniel 4:1-37", "Psg2": "Revelation 21:1-8"},
	{/* November 25 */ "Psg1": "Daniel 5:1-30", "Psg2": "Revelation 21:9-27", "Psg3": "Daniel 7:1-8:27"},
	{/* November 26 */ "Psg1": "Daniel 6:1-28", "Psg2": "Revelation 22:1-21", "Psg3": "Daniel 9:1-27"},
	{/* November 27 */ "Psg1": "Isaiah 1:1-28", "Psg2": "1 Peter 1:1-12"},
	{/* November 28 */ "Psg1": "Isaiah 2:1-22", "Psg2": "1 Peter 1:13-25", "Psg3": "Isaiah 3:1-4:6"},
	{/* November 29 */ "Psg1": "Isaiah 5:1-25", "Psg2": "1 Peter 2:1-12", "Psg3": "Amos 1:1-9:15"},
	{/* November 30 */ "Psg1": "Isaiah 6:1-7:9", "Psg2": "1 Peter 2:13-25", "Name": "St. Andrew"},
	{/* December 1 */ "Psg1": "Isaiah 7:10-8:8", "Psg2": "1 Peter 3:1-22"},
	{/* December 2 */ "Psg1": "Isaiah 8:9-9:7", "Psg2": "1 Peter 4:1-19"},
	{/* December 3 */ "Psg1": "Isaiah 9:8-10:11", "Psg2": "1 Peter 5:1-14"},
	{/* December 4 */ "Psg1": "Isaiah 10:12-27a, 33-34", "Psg2": "2 Peter 1:1-21"},
	{/* December 5 */ "Psg1": "Isaiah 11:1-12:6", "Psg2": "2 Peter 2:1-22"},
	{/* December 6 */ "Psg1": "Isaiah 14:1-23", "Psg2": "2 Peter 3:1-18"},
	{/* December 7 */ "Psg1": "Isaiah 24:1-13", "Psg2": "1 John 1:1-2:14"},
	{/* December 8 */ "Psg1": "Isaiah 24:14-25:12", "Psg2": "1 John 2:15-29", "Psg3": "Obadiah 1-21"},
	{/* December 9 */ "Psg1": "Isaiah 26:1-19", "Psg2": "1 John 3:1-24"},
	{/* December 10 */ "Psg1": "Isaiah 26:20-27:13", "Psg2": "1 John 4:1-21"},
	{/* December 11 */ "Psg1": "Isaiah 28:14-29", "Psg2": "1 John 5:1-21", "Psg3": "2 John 1-13, 3 John 1-15"},
	{/* December 12 */ "Psg1": "Isaiah 29:1-14", "Psg2": "Jude 1-25"},
	{/* December 13 */ "Psg1": "Isaiah 29:15-30:14", "Psg2": "Revelation 1:1-19"},
	{/* December 14 */ "Psg1": "Isaiah 30:15-26", "Psg2": "Revelation 2:1-29"},
	{/* December 15 */ "Psg1": "Isaiah 30:27-31:9", "Psg2": "Revelation 3:1-22"},
	{/* December 16 */ "Psg1": "Isaiah 32:1-20", "Psg2": "Revelation 4:1-11"},
	{/* December 17 */ "Psg1": "Isaiah 33:1-24", "Psg2": "Revelation 5:1-14"},
	{/* December 18 */ "Psg1": "Isaiah 34:1-2, 8-35:10", "Psg2": "Revelation 6:1-17", "Psg3": "Micah 1:1-7:20"},
	{/* December 19 */ "Psg1": "Isaiah 40:1-17", "Psg2": "Revelation 7:1-17"},
	{/* December 20 */ "Psg1": "Isaiah 40:18-41:10", "Psg2": "Revelation 8:1-13"},
	{/* December 21 */ "Psg1": "Isaiah 42:1-25", "Psg2": "Revelation 9:1-12", "Name": "St. Thomas"},
	{/* December 22 */ "Psg1": "Isaiah 43:1-24", "Psg2": "Revelation 9:13-10:11"},
	{/* December 23 */ "Psg1": "Isaiah 43:25-44:20", "Psg2": "Revelation 11:1-19"},
	{/* December 24 */ "Psg1": "Isaiah 44:21-45:13, 20-25", "Psg2": "Revelation 12:1-17", "Psg3": "Daniel 10:1-12:13, Isaiah 48:1-22"},
	{/* December 25 */ "Psg1": "Isaiah 49:1-18", "Psg2": "Matthew 1:1-17", "Name": "Nativity of Our Lord"},
	{/* December 26 */ "Psg1": "Isaiah 49:22-26, 50:4-51:8, 12-16", "Psg2": "Matthew 1:18-25", "Name": "St. Stephen"},
	{/* December 27 */ "Psg1": "Isaiah 51:17-52:12", "Psg2": "Matthew 2:1-12", "Name": "St. John"},
	{/* December 28 */ "Psg1": "Isaiah 52:13-54:10", "Psg2": "Matthew 2:13-23", "Name": "Holy Innocents"},
	{/* December 29 */ "Psg1": "Isaiah 55:1-13", "Psg2": "Luke 1:1-25"},
	{/* December 30 */ "Psg1": "Isaiah 58:1-59:3, 14-21", "Psg2": "Luke 1:26-38"},
	{/* December 31 */ "Psg1": "Isaiah 60:1-22", "Psg2": "Luke 1:39-56"}
]};

// JSON format for Easter season lectionary: {"Psg1", "Psg2", ["Psg3"], ["Name"]}
var easterLectionary =
{"lectionary": [
	{/* -46 */ "Psg1": "Genesis 1:1-19", "Psg2": "Mark 1:1-13", "Name": "Ash Wednesday"},
	{/* -45 */ "Psg1": "Genesis 1:20-2:3", "Psg2": "Mark 1:14-28"},
	{/* -44 */ "Psg1": "Genesis 2:4-25", "Psg2": "Mark 1:29-45"},
	{/* -43 */ "Psg1": "Genesis 3:1-24", "Psg2": "Mark 2:1-17"},
	{/* -42 */ "Psg1": "Genesis 4:1-26", "Psg2": "Mark 2:18-28", "Name": "First Sunday in Lent"},
	{/* -41 */ "Psg1": "Genesis 6:1-7:5", "Psg2": "Mark 3:1-19"},
	{/* -40 */ "Psg1": "Genesis 7:11-8:12", "Psg2": "Mark 3:20-35"},
	{/* -39 */ "Psg1": "Genesis 8:13-9:17", "Psg2": "Mark 4:1-20", "Psg3": "Genesis 9:18-11:26"},
	{/* -38 */ "Psg1": "Genesis 11:27-12:20", "Psg2": "Mark 4:21-41"},
	{/* -37 */ "Psg1": "Genesis 13:1-18", "Psg2": "Mark 5:1-20", "Psg3": "Genesis 14:1-24"},
	{/* -36 */ "Psg1": "Genesis 15:1-21", "Psg2": "Mark 5:21-43"},
	{/* -35 */ "Psg1": "Genesis 16:1-9, 16:15-17:22", "Psg2": "Mark 6:1-13", "Name": "Second Sunday in Lent"},
	{/* -34 */ "Psg1": "Genesis 18:1-15", "Psg2": "Mark 6:14-34", "Psg3": "Genesis 18:16-20:18"},
	{/* -33 */ "Psg1": "Genesis 21:1-21", "Psg2": "Mark 6:35-56"},
	{/* -32 */ "Psg1": "Genesis 22:1-19", "Psg2": "Mark 7:1-23"},
	{/* -31 */ "Psg1": "Genesis 24:1-31", "Psg2": "Mark 7:24-37"},
	{/* -30 */ "Psg1": "Genesis 24:32-52, 61-67", "Psg2": "Mark 8:1-21", "Psg3": "Genesis 25:1-26:35"},
	{/* -29 */ "Psg1": "Genesis 27:1-29", "Psg2": "Mark 8:22-38"},
	{/* -28 */ "Psg1": "Genesis 27:30-45, 28:10-22", "Psg2": "Mark 9:1-13", "Name": "Third Sunday in Lent"},
	{/* -27 */ "Psg1": "Genesis 29:1-30", "Psg2": "Mark 9:14-32", "Psg3": "Genesis 29:31-34:31"},
	{/* -26 */ "Psg1": "Genesis 35:1-29", "Psg2": "Mark 9:33-50"},
	{/* -25 */ "Psg1": "Genesis 37:1-36", "Psg2": "Mark 10:1-12"},
	{/* -24 */ "Psg1": "Genesis 39:1-23", "Psg2": "Mark 10:13-31"},
	{/* -23 */ "Psg1": "Genesis 40:1-23", "Psg2": "Mark 10:32-52"},
	{/* -22 */ "Psg1": "Genesis 41:1-27", "Psg2": "Mark 11:1-19"},
	{/* -21 */ "Psg1": "Genesis 41:28-57", "Psg2": "Mark 11:20-33", "Name": "Fourth Sunday in Lent"},
	{/* -20 */ "Psg1": "Genesis 42:1-34, 38", "Psg2": "Mark 12:1-12"},
	{/* -19 */ "Psg1": "Genesis 43:1-28", "Psg2": "Mark 12:13-27"},
	{/* -18 */ "Psg1": "Genesis 44:1-18, 32-34", "Psg2": "Mark 12:28-44"},
	{/* -17 */ "Psg1": "Genesis 45:1-20, 24-28", "Psg2": "Mark 13:1-23"},
	{/* -16 */ "Psg1": "Genesis 47:1-31", "Psg2": "Mark 13:24-37", "Psg3": "Genesis 48:1-49:28"},
	{/* -15 */ "Psg1": "Genesis 49:29-50:7, 14-26", "Psg2": "Mark 14:1-11"},
	{/* -14 */ "Psg1": "Exodus 1:1-22", "Psg2": "Mark 14:12-31", "Name": "Fifth Sunday in Lent"},
	{/* -13 */ "Psg1": "Exodus 2:1-22", "Psg2": "Mark 14:32-52"},
	{/* -12 */ "Psg1": "Exodus 2:23-3:22", "Psg2": "Mark 14:53-72"},
	{/* -11 */ "Psg1": "Exodus 4:1-18", "Psg2": "Mark 15:1-15"},
	{/* -10 */ "Psg1": "Exodus 4:19-31", "Psg2": "Mark 15:16-32"},
	{/* -9 */ "Psg1": "Exodus 5:1-6:1", "Psg2": "Mark 15:33-47"},
	{/* -8 */ "Psg1": "Exodus 7:1-25", "Psg2": "Mark 16:1-20"},
	{/* -7 */ "Psg1": "Exodus 8:1-32", "Psg2": "Hebrews 1:1-14", "Psg3": "Psalm 118", "Name": "Palm Sunday"},
	{/* -6 */ "Psg1": "Exodus 9:1-28", "Psg2": "Hebrews 2:1-18", "Psg3": "Lamentations 1:1-22"},
	{/* -5 */ "Psg1": "Exodus 9:29-10:20", "Psg2": "Hebrews 3:1-19", "Psg3": "Lamentations 2:1-22"},
	{/* -4 */ "Psg1": "Exodus 10:21-11:10", "Psg2": "Hebrews 4:1-16", "Psg3": "Lamentations 3:1-66"},
	{/* -3 */ "Psg1": "Exodus 12:1-28", "Psg2": "Hebrews 5:1-14", "Psg3": "Lamentations 4:1-22, Psalm 31", "Name": "Maundy Thursday"},
	{/* -2 */ "Psg1": "Exodus 12:29-32, 13:1-16", "Psg2": "Hebrews 6:1-20", "Psg3": "Lamentations 5:1-22, Psalm 22", "Name": "Good Friday"},
	{/* -1 */ "Psg1": "Exodus 13:17-14:9", "Psg2": "Hebrews 7:1-22", "Name": "Holy Saturday"},
	{/* 0 */ "Psg1": "Exodus 14:10-31", "Psg2": "Hebrews 7:23-8:13", "Name": "Easter Sunday"},
	{/* 1 */ "Psg1": "Exodus 15:1-18", "Psg2": "Hebrews 9:1-28"},
	{/* 2 */ "Psg1": "Exodus 15:19-16:12", "Psg2": "Hebrews 10:1-18"},
	{/* 3 */ "Psg1": "Exodus 16:13-35", "Psg2": "Hebrews 10:19-39"},
	{/* 4 */ "Psg1": "Exodus 17:1-16", "Psg2": "Hebrews 11:1-29"},
	{/* 5 */ "Psg1": "Exodus 18:5-27", "Psg2": "Hebrews 12:1-24"},
	{/* 6 */ "Psg1": "Exodus 19:1-25", "Psg2": "Hebrews 13:1-21"},
	{/* 7 */ "Psg1": "Exodus 20:1-24", "Psg2": "Luke 4:1-15", "Name": "Second Sunday of Easter"},
	{/* 8 */ "Psg1": "Exodus 22:20-23:13", "Psg2": "Luke 4:16-30"},
	{/* 9 */ "Psg1": "Exodus 23:14-33", "Psg2": "Luke 4:31-44"},
	{/* 10 */ "Psg1": "Exodus 24:1-18", "Psg2": "Luke 5:1-16"},
	{/* 11 */ "Psg1": "Exodus 25:1-22", "Psg2": "Luke 5:17-39", "Psg3": "Exodus 25:23-30:38"},
	{/* 12 */ "Psg1": "Exodus 31:1-18", "Psg2": "Luke 6:1-19"},
	{/* 13 */ "Psg1": "Exodus 32:1-14", "Psg2": "Luke 6:20-38"},
	{/* 14 */ "Psg1": "Exodus 32:15-35", "Psg2": "Luke 6:39-49", "Name": "Third Sunday of Easter"},
	{/* 15 */ "Psg1": "Exodus 33:1-23", "Psg2": "Luke 7:1-17"},
	{/* 16 */ "Psg1": "Exodus 34:1-28", "Psg2": "Luke 7:18-35"},
	{/* 17 */ "Psg1": "Exodus 34:29-35:21", "Psg2": "Luke 7:36-50", "Psg3": "Exodus 35:22-38:20"},
	{/* 18 */ "Psg1": "Exodus 38:21-39:8, 22-23, 27-31", "Psg2": "Luke 8:1-21"},
	{/* 19 */ "Psg1": "Exodus 39:32-40:16", "Psg2": "Luke 8:22-39"},
	{/* 20 */ "Psg1": "Exodus 40:17-38", "Psg2": "Luke 8:40-56", "Psg3": "Leviticus 1:1-7:38"},
	{/* 21 */ "Psg1": "Leviticus 8:1-13, 30-36", "Psg2": "Luke 9:1-17", "Name": "Fourth Sunday of Easter"},
	{/* 22 */ "Psg1": "Leviticus 9:1-24", "Psg2": "Luke 9:18-36"},
	{/* 23 */ "Psg1": "Leviticus 10:1-20", "Psg2": "Luke 9:37-62", "Psg3": "Leviticus 11:1-15:33"},
	{/* 24 */ "Psg1": "Leviticus 16:1-24", "Psg2": "Luke 10:1-22"},
	{/* 25 */ "Psg1": "Leviticus 17:1-16", "Psg2": "Luke 10:23-42"},
	{/* 26 */ "Psg1": "Leviticus 18:1-7, 20-19:8", "Psg2": "Luke 11:1-13"},
	{/* 27 */ "Psg1": "Leviticus 19:9-18, 26-37", "Psg2": "Luke 11:14-36"},
	{/* 28 */ "Psg1": "Leviticus 20:1-16, 22-27", "Psg2": "Luke 11:37-54", "Name": "Fifth Sunday of Easter"},
	{/* 29 */ "Psg1": "Leviticus 21:1-24", "Psg2": "Luke 12:1-12"},
	{/* 30 */ "Psg1": "Leviticus 23:1-22", "Psg2": "Luke 12:13-34"},
	{/* 31 */ "Psg1": "Leviticus 23:23-44", "Psg2": "Luke 12:35-53"},
	{/* 32 */ "Psg1": "Leviticus 24:1-23", "Psg2": "Luke 12:54-13:17", "Psg3": "Leviticus 25:1-55"},
	{/* 33 */ "Psg1": "Leviticus 26:1-20", "Psg2": "Luke 13:18-35"},
	{/* 34 */ "Psg1": "Leviticus 26:21-33, 39-44", "Psg2": "Luke 14:1-24", "Psg3": "Numbers 1:1-2:34"},
	{/* 35 */ "Psg1": "Numbers 3:1-16, 39-48", "Psg2": "Luke 14:25-15:10", "Psg3": "Numbers 4:1-8:4", "Name": "Sixth Sunday of Easter"},
	{/* 36 */ "Psg1": "Numbers 8:5-26", "Psg2": "Luke 15:11-32"},
	{/* 37 */ "Psg1": "Numbers 9:1-23", "Psg2": "Luke 16:1-18"},
	{/* 38 */ "Psg1": "Numbers 10:11-36", "Psg2": "Luke 16:19-31"},
	{/* 39 */ "Psg1": "Numbers 11:1-23, 31-35", "Psg2": "Luke 17:1-19", "Name": "Ascension Day"},
	{/* 40 */ "Psg1": "Numbers 11:24-29; 12:1-16", "Psg2": "Luke 17:20-37"},
	{/* 41 */ "Psg1": "Numbers 13:1-3, 17-33", "Psg2": "Luke 18:1-17"},
	{/* 42 */ "Psg1": "Numbers 14:1-25", "Psg2": "Luke 18:18-34", "Name": "Seventh Sunday of Easter"},
	{/* 43 */ "Psg1": "Numbers 14:26-45", "Psg2": "Luke 18:35-19:10", "Psg3": "Numbers 15:1-41"},
	{/* 44 */ "Psg1": "Numbers 16:1-22", "Psg2": "Luke 19:11-28"},
	{/* 45 */ "Psg1": "Numbers 16:23-40", "Psg2": "Luke 19:29-48"},
	{/* 46 */ "Psg1": "Numbers 16:41-17:13", "Psg2": "Luke 20:1-18", "Psg3": "Numbers 18:1-19:22"},
	{/* 47 */ "Psg1": "Numbers 20:1-21", "Psg2": "Luke 20:19-44"},
	{/* 48 */ "Psg1": "Numbers 20:22-21:9", "Psg2": "Luke 20:45-21:19"},
	{/* 49 */ "Psg1": "Numbers 21:10-35", "Psg2": "Luke 21:20-38", "Name": "Pentecost Sunday"},
	{/* 50 */ "Psg1": "Numbers 22:1-20", "Psg2": "Luke 22:1-23"},
	{/* 51 */ "Psg1": "Numbers 22:21-23:3", "Psg2": "Luke 22:24-46"},
	{/* 52 */ "Psg1": "Numbers 23:4-28", "Psg2": "Luke 22:47-71"},
	{/* 53 */ "Psg1": "Numbers 24:1-25", "Psg2": "Luke 23:1-25"},
	{/* 54 */ "Psg1": "Numbers 27:12-23", "Psg2": "Luke 23:26-56"},
	{/* 55 */ "Psg1": "Numbers 32:1-6, 16-27", "Psg2": "Luke 24:1-27"},
	{/* 56 */ "Psg1": "Numbers 35:9-30", "Psg2": "Luke 24:28-53", "Psg3": "Acts 1:1-7:60", "Name": "Holy Trinity Sunday"}
]};