// JavaScript Document

// Note that this script takes no account of leap years, but it should still work ok

<!-- GRAB DATE FROM THE COMPUTER -->
ourDate = new Date();
var LocalMonth, LocalDateEndBit, PageUpdateMonth, PageUpdateDateEndBit;
var LocalMonthNum = ourDate.getMonth();
var LocalDate = ourDate.getDate();
var LocalYear = ourDate.getFullYear(); 


// CODE FOR PAGE UPDATE DATE (YESTERDAY OR DAY BEFORE)...

var PageUpdateMonthNum = LocalMonthNum;
var PageUpdateYear = LocalYear;

// Update every two days only!
PageUpdateDate = LocalDate - 1;
if (PageUpdateDate % 2 == 0)
	PageUpdateDate--;
	
// Wrap around backwards! 
if (PageUpdateDate < 1) 
{
	if (PageUpdateMonthNum == 0) // i.e. if already January
	{
	    PageUpdateYear--;
		PageUpdateMonthNum = 11; // Make month = December
	}
	else
	{
	    PageUpdateMonthNum--;
	}
	
	if (PageUpdateMonthNum == 0 || PageUpdateMonthNum == 2 || PageUpdateMonthNum == 4 || PageUpdateMonthNum == 6 || PageUpdateMonthNum == 7 || PageUpdateMonthNum == 9 || PageUpdateMonthNum == 11)
	    PageUpdateDate = PageUpdateDate + 31; 
	else if (PageUpdateMonthNum == 3 || PageUpdateMonthNum == 5 || PageUpdateMonthNum == 10)
	    PageUpdateDate = PageUpdateDate + 30; 
	else if (PageUpdateMonthNum == 1)
	    PageUpdateDate = PageUpdateDate + 28; 
}


switch(PageUpdateMonthNum) {
	case 0: PageUpdateMonth = "January";
	break;
	case 1: PageUpdateMonth = "February";
	break;
	case 2: PageUpdateMonth = "March";
	break;
	case 3: PageUpdateMonth = "April";
	break;
	case 4: PageUpdateMonth = "May";
	break;
	case 5: PageUpdateMonth = "June";
	break;
	case 6: PageUpdateMonth = "July";
	break;
	case 7: PageUpdateMonth = "August";
	break;
	case 8: PageUpdateMonth = "September";
	break;
	case 9: PageUpdateMonth = "October";
	break;
	case 10: PageUpdateMonth = "November";
	break;
	case 11: PageUpdateMonth = "December";
	break;
	default: PageUpdateMonth = "Last night"
}

// Get end bit of date right! 
if (PageUpdateDate == 1 || PageUpdateDate == 21 || PageUpdateDate ==  31)
	PageUpdateDateEndBit = "st";
else if (PageUpdateDate == 2 || PageUpdateDate == 22)
	PageUpdateDateEndBit = "nd";
else if (PageUpdateDate == 3 || PageUpdateDate == 23)
	PageUpdateDateEndBit = "rd";
else
	PageUpdateDateEndBit = "th";
	
	
// CODE FOR TODAY...
	
switch(LocalMonthNum) {
	case 0: LocalMonth = "January";
	break;
	case 1: LocalMonth = "February";
	break;
	case 2: LocalMonth = "March";
	break;
	case 3: LocalMonth = "April";
	break;
	case 4: LocalMonth = "May";
	break;
	case 5: LocalMonth = "June";
	break;
	case 6: LocalMonth = "July";
	break;
	case 7: LocalMonth = "August";
	break;
	case 8: LocalMonth = "September";
	break;
	case 9: LocalMonth = "October";
	break;
	case 10: LocalMonth = "November";
	break;
	case 11: LocalMonth = "December";
	break;
	default: LocalMonth = "Last night"
}
	
	
// Get end bit of date right!
if (LocalDate == 1 || LocalDate == 21 || LocalDate ==  31)
	LocalDateEndBit = "st";
else if (LocalDate == 2 || LocalDate == 22)
	LocalDateEndBit = "nd";
else if (LocalDate == 3 || LocalDate == 23)
	LocalDateEndBit = "rd";
else
	LocalDateEndBit = "th";
	
	
// CODE FOR TOMORROW...

var TomorrowDate = LocalDate + 1;
var TomorrowMonthNum = LocalMonthNum;
var TomorrowMonth;


// Wrap around forwards! 
if ((TomorrowDate > 31)
	|| ((TomorrowDate > 30) && (TomorrowMonthNum == 3 || TomorrowMonthNum == 5 || TomorrowMonthNum == 10))
	|| ((TomorrowDate > 28) && (TomorrowMonthNum == 1)))		
{
    TomorrowMonthNum++;
	if (TomorrowMonthNum > 11) // i.e. if it's past December
	{
	    TomorrowYear++;			// Advance year by one
		TomorrowMonthNum = 0; 	// Make month = January
		TomorrowDate = 1;		// Set date to one
	}
	else
	{
	    TomorrowMonthNum++;		// else just advance month by one
		TomorrowDate = 1;		// Set date to one
	}
}

switch(TomorrowMonthNum) {
	case 0: TomorrowMonth = "January";
	break;
	case 1: TomorrowMonth = "February";
	break;
	case 2: TomorrowMonth = "March";
	break;
	case 3: TomorrowMonth = "April";
	break;
	case 4: TomorrowMonth = "May";
	break;
	case 5: TomorrowMonth = "June";
	break;
	case 6: TomorrowMonth = "July";
	break;
	case 7: TomorrowMonth = "August";
	break;
	case 8: TomorrowMonth = "September";
	break;
	case 9: TomorrowMonth = "October";
	break;
	case 10: TomorrowMonth = "November";
	break;
	case 11: TomorrowMonth = "December";
	break;
	default: TomorrowMonth = "Last night"
}

// Get end bit of tomorrow's date right! 
if (TomorrowDate == 1 || TomorrowDate == 21 || TomorrowDate ==  31)
	TomorrowEndBit = "st";
else if (TomorrowDate == 2 || TomorrowDate == 22)
	TomorrowEndBit = "nd";
else if (TomorrowDate == 3 || TomorrowDate == 23)
	TomorrowEndBit = "rd";
else
	TomorrowEndBit = "th";
