/*<![CDATA[*/
/*
Java Script Calendar is a small script for web pages which displays current day of the week, month, date and year along with holiday notifications. It will work with Netscape 2++, Microsoft 3++ and Opera 3++ web browsers. 

You can customize the way it looks by changing document.write function arguments just after month names definitions. 

Java Script Calendar is free without any limitations. Copyright Eugene Vassiltsov, November 24, 1998. But please, let me know if you will use it.

Modified by Steve Beer 2007
*/

// Global variables
var calendar;
var datestr;
var eventstr;
var returnstr;
var eventnum;
var dateclass;
var eventclass;
var pofix;



// Get today's date
function eventDate(eventnum,dateclass,eventclass)
{
calendar = new Date();
datestr = "";
eventstr = "";
var eventcount = 0;

// Write information for today's date
getDateInfo();
returnstr = "<dl><dt class='" + dateclass + "'><a class='nodecolink' href='events.htm'>" + datestr + "<\/a><\/dt>";
returnstr += "<dd class='" + dateclass + "'>" + eventstr + "<\/dd>";

// Write information for future dates
	if (eventnum > 0) {
		for (var dd = 1; eventcount < eventnum && dd < 367; dd++) {
		calendar.setDate(calendar.getDate() + 1);
		getDateInfo();
			if (eventstr != "") {
				returnstr += "<dt class='" + eventclass + "'>" + datestr + ": <\/dt><dd class='" + eventclass + "'>" + eventstr + "<\/dd>";
				eventcount++;
			}
		}
	}
returnstr += "<\/dl>";
return(returnstr);
}



// Get "st", "nd" or "th" for a number
function postfix(num)
{
if       (num == 1 || num == 21 || num == 31) pofix = num + "st "; 
 else if (num == 2 || num == 22)              pofix = num + "nd "; 
 else if (num == 3 || num == 23)              pofix = num + "rd "; 
 else                                         pofix = num + "th ";
return pofix;
}


// Get "st", "nd" or "th" for a number and return if special
function postfixspecial(num)
{
pofix = "";
if ((num <= 10 ) || (num == 15) || (num == 20) || (num == 25) || (num == 30) || (num == 40) || (num == 50) || (num == 60) || (num == 70) || (num == 80) || (num == 90) || (num == 100)) {
if       (num == 1 || num == 21 || num == 31) pofix = num + "st "; 
 else if (num == 2 || num == 22)              pofix = num + "nd "; 
 else if (num == 3 || num == 23)              pofix = num + "rd "; 
 else                                         pofix = num + "th ";
}
return pofix;
}


// Get date string and any event for the calendar date passed in
function getDateInfo()
{
var day = calendar.getDay();
var month = calendar.getMonth();
var mm = month + 1;
var date = calendar.getDate();
var year = calendar.getYear();
if (year < 1000) year+=1900;

// Easter Sunday calculations
var cent = parseInt(year/100);
var g = year % 19;
var k = parseInt((cent - 17)/25);
var i = (cent - parseInt(cent/4) - parseInt((cent - k)/3) + 19*g + 15) % 30;
var i = i - parseInt(i/28)*(1 - parseInt(i/28)*parseInt(29/(i+1))*parseInt((21-g)/11));
var j = (year + parseInt(year/4) + i + 2 - cent + parseInt(cent/4)) % 7;
var l = i - j;
var emonth = 3 + parseInt((l + 40)/44);
var edate = l + 28 - 31*parseInt((emonth/4));
emonth--;

// Easter Monday calculations (1 day after Easter Sunday)
var emfulldate=new Date();
emfulldate.setFullYear(year,emonth,edate);
emfulldate.setDate(emfulldate.getDate()+1);
var emdate = emfulldate.getDate();
var emmonth = emfulldate.getMonth();

// Good Friday calculations (2 days before Easter Sunday)
var gffulldate=new Date();
gffulldate.setFullYear(year,emonth,edate);
gffulldate.setDate(gffulldate.getDate()-2);
var gfdate = gffulldate.getDate();
var gfmonth = gffulldate.getMonth();

// UK Mothering Sunday from Easter calculations (3 weeks before Easter Sunday)
var mdfulldate=new Date();
mdfulldate.setFullYear(year,emonth,edate);
mdfulldate.setDate(mdfulldate.getDate()-21);
var mddate = mdfulldate.getDate();
var mdmonth = mdfulldate.getMonth();

// Translate day and month names
var dayname = new Array ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
var monthname = new Array ("January","February","March","April","May","June","July","August","September","October","November","December" );

// Form date string
datestr=dayname[day] + " ";
//if (date < 10) datestr += "" + date + "";
//	      else datestr +=      date + "";
//if       (date == 1 || date == 21 || date == 31) datestr += "st "; 
// else if (date == 2 || date == 22)               datestr += "nd "; 
// else if (date == 3 || date == 23)               datestr += "rd "; 
// else                                            datestr += "th ";
datestr += postfix(date);
datestr += monthname[month] + " ";
datestr += year;

// Form event string
eventstr = "";

// January
if ((mm ==  1) && (date ==  1)) eventstr += "New Year's Day. ";
if ((mm ==  1) && (date ==  1) && (day > 0) && (day < 6)) eventstr += "Bank Holiday. ";
if ((mm ==  1) && (date ==  2) && (day == 1)) eventstr += "New Year Bank Holiday. ";
if ((mm ==  1) && (date ==  3) && (day == 1)) eventstr += "New Year Bank Holiday. ";

if ((mm ==  1) && (date ==  4)) eventstr += "John Newington's " + postfixspecial(year-1973) + "Birthday. ";
if ((mm ==  1) && (date ==  5)) eventstr += "Susie Blount's " + postfixspecial(year-1982) + "Birthday. ";
if ((mm ==  1) && (date ==  6)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerRoger.jpg' alt='Roger Beer' width='50' height='50' /> Roger Beer's" + postfixspecial(year-1946) + " Birthday. ";
if ((mm ==  1) && (date ==  8)) eventstr += "Nick Pigram's " + postfixspecial(year-1976) + "Birthday. ";
if ((mm ==  1) && (date == 15)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/CarlesRomain.jpg' alt='Romain Carles' width='50' height='50' /> Romain Carles' " + postfixspecial(year-1984) + "Birthday. "; 
if ((mm ==  1) && (date == 16)) eventstr += "Helen Lewis' " + postfixspecial(year-1971) + "Birthday. "; 
if ((mm ==  1) && (date == 27)) eventstr += "Kath Cousins' " + postfixspecial(year-1973) + "Birthday. "; 
if ((mm ==  1) && (date == 27)) eventstr += "Jason Hubbard's " + postfixspecial(year-1966) + "Birthday. "; 
if ((mm ==  1) && (date == 30)) eventstr += "Clare Reynolds' Birthday. ";

// February
if ((mm ==  2) && (date ==  7)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerKati.jpg' alt='Kati Beer' width='50' height='50' /> Katarina Beer's " + postfixspecial(year-1984) + "Birthday. ";
if ((mm ==  2) && (date ==  8)) eventstr += "Adrian Povah's " + postfixspecial(year-1972) + "Birthday. ";
if ((mm ==  2) && (date == 11)) eventstr += "Alex Goodall's " + postfixspecial(year-1971) + "Birthday. ";
if ((mm ==  2) && (date == 11)) eventstr += "Daika Carles' " + postfixspecial(year-2008) + "Birthday. ";
if ((mm ==  2) && (date == 13)) eventstr += "Hester Ethell's " + postfixspecial(year-1972) + "Purple Birthday. ";
if ((mm ==  2) && (date == 14)) eventstr += "St. Valentine's Day (eurgh). ";
if ((mm ==  2) && (date == 18)) eventstr += "Doreen Beer's " + postfixspecial(year-1924) + "Birthday. ";
if ((mm ==  2) && (date == 25)) eventstr += "Piggy's Birthday. ";
if ((mm ==  2) && (date == 29)) eventstr += "Leap Day. ";

// March
if ((mm ==  3) && (date ==  8)) eventstr += "Claire Holland's " + postfixspecial(year-1975) + "Birthday. ";
if ((mm ==  3) && (date == 10)) eventstr += "Andrew Carter's " + postfixspecial(year-1971) + "Birthday. ";
if ((mm ==  3) && (date == 13)) eventstr += "Sam Blount's " + postfixspecial(year-1979) + "Birthday. ";
if ((mm ==  3) && (date == 14)) eventstr += "Clare Painting's Birthday. ";
if ((mm ==  3) && (date == 17)) eventstr += "St.Patrick's Day. ";
if ((mm ==  3) && (date == 18)) eventstr += "Adrian Scott's " + postfixspecial(year-1973) + "Birthday. ";
if ((mm ==  3) && (date == 20)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerLily.jpg' alt='Lily Beer' width='50' height='50' /> Lily Beer's " + postfix(year-2003) + "Birthday. ";
if ((mm ==  3) && (date == 23)) eventstr += "Emma Bullworthy's Birthday. ";
if ((mm ==  3) && (date == 24)) eventstr += "Sara Brown's " + postfixspecial(year-1969) + "Birthday. ";
if ((mm ==  3) && (date == 26)) eventstr += "Sophie Povah's " + postfixspecial(year-1975) + "Birthday. ";
if ((mm ==  3) && (date == 30)) eventstr += "Helga and Roger's " + postfix(year-1983) + " Wedding Anniversary. ";
if ((mm ==  3) && (date == 31)) eventstr += "Jane Bass' " + postfixspecial(year-1972) + "Birthday. ";
if ((mm ==  3) && (day == 0) && (date > 24)) eventstr += "British Summer Time begins GMT+1 clocks go forward one hour. ";

// April
if ((mm ==  4) && (date ==  1)) eventstr += "April Fools' Day. ";
if ((mm ==  4) && (date ==  6)) eventstr += postfixspecial(year-1973) + "National Naf Day. "; 
if ((mm ==  4) && (date ==  8)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/CarlesMarion.jpg' alt='Marion Carles' width='50' height='50' /> Marion Carles' " + postfixspecial(year-1948) + "Birthday. "; 
if ((mm ==  4) && (date == 12)) eventstr += "Matthew Bass' " + postfixspecial(year-1973) + "Birthday. "; 
if ((mm ==  4) && (date == 16)) eventstr += "John Reynolds' " + postfixspecial(year-1947) + "Birthday. ";
if ((mm ==  4) && (date == 28)) eventstr += "Chrissie Blount's " + postfixspecial(year-1951) + "Birthday. ";

// May
if ((mm ==  5) && (date == 14)) eventstr += "David Pigram's " + postfixspecial(year-1939) + "Birthday. "; 
if ((mm ==  5) && (date == 18)) eventstr += "Stuart Bennett's " + postfixspecial(year-1972) + "Birthday. ";
if ((mm ==  5) && (date == 21)) eventstr += "David Jones' " + postfixspecial(year-1970) + "Birthday (not celebrated in England). ";
if ((mm ==  5) && (date == 23)) eventstr += "Vicky Newington's " + postfixspecial(year-1973) + "Birthday. ";
if ((mm ==  5) && (date == 27)) eventstr += "Oma's " + postfixspecial(year-1930) + "Birthday. ";
if ((mm ==  5) && (date == 29)) eventstr += "Sharmin's " + postfixspecial(year-1980) + "Birthday. ";
if ((mm ==  5) && (date == 31)) eventstr += "Shaun Carter's " + postfixspecial(year-1968) + "Birthday. ";
if ((mm ==  5) && (day == 1) && (date < 8)) eventstr += "May Day Bank Holiday Monday (UK). ";
if ((mm ==  5) && (day == 1) && (date > 24)) eventstr += "Spring Bank Holiday Monday (UK). ";
if ((mm ==  5) && (day == 0) && (date > 24)) eventstr += "Mother's Day (France). ";

// June
if ((mm ==  6) && (date ==  1)) eventstr += "Cheryl Carter's " + postfixspecial(year-1975) + "Birthday. ";
if ((mm ==  6) && (date ==  4)) eventstr += "Simon Duffell's " + postfixspecial(year-1970) + "Birthday. ";
if ((mm ==  6) && (date ==  6)) eventstr += "Graham Locke's " + postfixspecial(year-1973) + "Birthday. ";
if ((mm ==  6) && (date ==  9)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerNatasha.jpg' alt='Natasha Beer' width='50' height='50' /> Natasha Beer's " + postfix(year-2007) + "Birthday. ";
if ((mm ==  6) && (date ==  9)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerSteve.jpg' alt='Steve Beer' width='50' height='50' /> Steve Beer's " + postfix(year-1970) + "Birthday. ";
if ((mm ==  6) && (date == 18)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/CarlesGilles.jpg' alt='Gilles Carles' width='50' height='50' /> Gilles Carles' " + postfixspecial(year-1950) + "Birthday. ";
if ((mm ==  6) && (date == 21)) eventstr += "Summer Solstice (Longest Day). ";
if ((mm ==  6) && (date == 24)) eventstr += "Andrew Brown's " + postfixspecial(year-1970) + "Birthday. ";  
if ((mm ==  6) && (date == 25)) eventstr += "Jonathan Pigram's " + postfixspecial(year-1970) + "Birthday. ";  
if ((mm ==  6) && (date == 29)) eventstr += "Andrew Lewis' Birthday. ";
if ((mm ==  6) && (date == 29)) eventstr += "Vicky Hubbard's Birthday. ";
if ((mm ==  6) && (day == 0) && (date > 14) && (date< 22)) eventstr += "Father's Day (UK). ";

// July
if ((mm ==  7) && (date ==  2)) eventstr += "Michelle Merrilees' Birthday. "; 
if ((mm ==  7) && (date ==  9)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerHeather.jpg' alt='Heather' width='50' height='50' /> Heather's " + postfixspecial(year-1972) + "Birthday. ";
if ((mm ==  7) && (date == 13)) eventstr += "Mark Cousins' " + postfixspecial(year-1970) + "Birthday. ";
if ((mm ==  7) && (date == 13)) eventstr += "Amy Lewis' " + postfixspecial(year-2002) + "Birthday. ";
if ((mm ==  7) && (date == 19)) eventstr +=  postfixspecial(year-1979) + "Helga Institution Day (1979). ";
if ((mm ==  7) && (date == 20)) eventstr += "Emma Howden's " + postfixspecial(year-1973) + "Birthday. ";
if ((mm ==  7) && (date == 22)) eventstr += "Steve Jones' " + postfixspecial(year-1968) + "Birthday. ";
if ((mm ==  7) && (date == 23)) eventstr += "Caroline Jones' " + postfixspecial(year-1971) + "Birthday. ";
if ((mm ==  7) && (date == 26)) eventstr += "Simon Beer's " + postfixspecial(year-1970) + "Birthday. ";
if ((mm ==  7) && (date == 30)) eventstr += "young Jason Wadsworth's " + postfixspecial(year-1945) + "Birthday. ";

// August
if ((mm ==  8) && (date ==  1)) eventstr += "Dany Souy-Duffell's " + postfixspecial(year-1985) + "Birthday. ";
if ((mm ==  8) && (date ==  6)) eventstr += "Nicolas Touquet's " + postfixspecial(year-1982) + "Birthday. ";
if ((mm ==  8) && (date == 10)) eventstr += "Marc and Anna's " + postfix(year-1996) + "Wedding Anniversary. ";
if ((mm ==  8) && (date == 13)) eventstr += "Lou Talmey's " + postfixspecial(year-1973) + "Birthday. ";
if ((mm ==  8) && (date == 25)) eventstr += "Helen Saaler's " + postfixspecial(year-1968) + "Birthday. ";
if ((mm ==  8) && (day == 1) && (date > 24)) eventstr += "Summer Bank Holiday Monday (UK). ";

// September
if ((mm ==  9) && (date ==  5)) eventstr += "Ace Grace Albury's " + postfixspecial(year-1969) + "Birthday. ";
if ((mm ==  9) && (date == 22)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerSteveHeather.jpg' alt='Heather and Steve Beer' width='50' height='50' /> Steve and Heather's " + postfix(year-2005) + "Wedding Anniversary (and " + postfix(year-1995) + "anniversary). ";
if ((mm ==  9) && (date == 22)) eventstr += "Ted Pull's " + postfix(year-1916) + "Birthday. ";
if ((mm ==  9) && (date == 24)) eventstr += "handsome John Jones' " + postfix(50-(year-2005)) + "Birthday (counting backwards now). ";
if ((mm ==  9) && (date == 25)) eventstr += "Mark Reynolds' " + postfixspecial(year-1978) + "Birthday. ";
if ((mm ==  9) && (date == 30)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerMarc.jpg' alt='Marc Beer' width='50' height='50' /> Marc Beer's " + postfixspecial(year-1972) + "Birthday. ";

// October
if ((mm == 10) && (date ==  6)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/Claire.jpg' alt='Claire' width='50' height='50' /> Claire's " + postfixspecial(year-1981) + "Birthday. ";
if ((mm == 10) && (date ==  6)) eventstr += "Christabel Daugherty's " + postfixspecial(year-1977) + "Birthday. ";
if ((mm == 10) && (date == 16)) eventstr += "Paul Selwood's " + postfixspecial(year-1969) + "Birthday. ";
if ((mm == 10) && (date == 20)) eventstr += "Phil Reynolds' " + postfixspecial(year-1976) + "Birthday. ";
if ((mm == 10) && (date == 22)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/CarlesLeny.jpg' alt='Leny' width='50' height='50' /> Leny Carles' " + postfixspecial(year-2009) + "Birthday. ";
if ((mm == 10) && (date == 27)) eventstr += "Clare and Phil's " + postfixspecial(year-2007) + "Wedding Anniversary. ";
if ((mm == 10) && (day == 0) && (date > 24)) eventstr += "British Summer Time ends - clocks go back by one hour. ";
if ((mm == 10) && (date == 31)) eventstr += "Halloween. ";

// November
if ((mm == 11) && (date ==  2)) eventstr += "Sarah and Paul's " + postfixspecial(year-1996) + "Wedding Anniversary. ";
if ((mm == 11) && (date ==  5)) eventstr += "Sylvia Reynolds' " + postfixspecial(year-1946) + "Birthday. ";
if ((mm == 11) && (date ==  5)) eventstr += "Bonfire Night (UK). ";
if ((mm == 11) && (date ==  9)) eventstr += "Adam Hewitt's " + postfixspecial(year-1970) + "Birthday. ";
if ((mm == 11) && (date == 11)) eventstr += "Greeba Daugherty's " + postfixspecial(year-1951) + "Birthday. ";
if ((mm == 11) && (date == 19)) eventstr += "Neil Daugherty's " + postfixspecial(year-1977) + "Birthday. ";
if ((mm == 11) && (date == 24)) eventstr += "Adam Blount's " + postfixspecial(year-1984) + "Birthday. ";
if ((mm == 11) && (date == 25)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerRuth.jpg' alt='Ruth Beer' width='50' height='50' /> Ruth Beer's " + postfix(year-2000) + "Birthday. ";
if ((mm == 11) && (date == 29)) eventstr += "Kelly Smith's " + postfixspecial(year-1978) + "Birthday. ";
if ((mm == 11) && (date == 30)) eventstr += "Sam Lewis' " + postfixspecial(year-2005) + "Birthday. ";
if ((mm == 11) && (day == 0) && (date > 23) && (date< 30)) eventstr += "Thanksgiving (USA). ";

// December
if ((mm == 12) && (date ==  6)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerHelga.jpg' alt='Helga Beer' width='50' height='50' /> Helga Beer's " + postfixspecial(year-1952) + "Birthday. ";
if ((mm == 12) && (date ==  8)) eventstr += "<img class='toprow' src='/Steve/Interests/Photography/People/photos/thumbnails/BeerAnna.jpg' alt='Anna Beer' width='50' height='50' /> Anna Beer's " + postfixspecial(year-1972) + "Birthday. ";
if ((mm == 12) && (date ==  8)) eventstr += "Ian Pull's " + postfixspecial(year-1944) + "Birthday. ";
if ((mm == 12) && (date ==  8)) eventstr += "Marie-Anne Sassen's Birthday. ";
if ((mm == 12) && (date == 18)) eventstr += "Emma Hewitt's " + postfixspecial(year-1974) + "Birthday. ";
if ((mm == 12) && (date == 19)) eventstr += "Frank Daugherty's " + postfixspecial(year-1950) + "Birthday. ";
if ((mm == 12) && (date == 21)) eventstr += "Dolina's " + postfixspecial(year-1971) + "Birthday. ";
if ((mm == 12) && (date == 21)) eventstr += "Winter Solstice (Shortest Day). ";
if ((mm == 12) && (date == 24)) eventstr += "Christmas Eve. ";
if ((mm == 12) && (date == 25)) eventstr += "Christmas. ";
if ((mm == 12) && (date == 26)) eventstr += "Boxing Day. ";
if ((mm == 12) && (date == 31)) eventstr += "New Year's Eve. ";

if ((mm == 12) && (date == 25) && (day > 0) && (day < 6)) eventstr += "Bank Holiday. ";
if ((mm == 12) && (date == 26) && (day == 1)) eventstr += "Bank Holiday. ";
if ((mm == 12) && (date == 27) && (day == 1)) eventstr += "Bank Holiday. ";

if ((mm == 12) && (date == 26) && (day > 0) && (day < 6)) eventstr += "Bank Holiday ";
if ((mm == 12) && (date == 27) && (day == 2)) eventstr += "Bank Holiday. ";
if ((mm == 12) && (date == 28) && (day == 1)) eventstr += "Bank Holiday. ";
if ((mm == 12) && (date == 28) && (day == 2)) eventstr += "Bank Holiday. ";

// Easter
if ((month == gfmonth) && (date == gfdate)) eventstr += "Good Friday Bank Holiday (UK) ";
if ((month == emonth) && (date == edate)) eventstr += "Easter Sunday (Western) ";
if ((month == emmonth) && (date == emdate)) eventstr += "Easter Monday Bank Holiday (UK) ";

// Mothering Sunday
if ((month ==  mdmonth) && (date == mddate)) eventstr += "Mother's Day (UK). ";

return(datestr);
}
//]]>