


var now = new Date();
var yearnow = now.getYear();
if (yearnow < 2000) 
	yearnow += 1900;	//NN
var monthnow = now.getMonth() + 1;	//1 - 12
var datenow = now.getDate();
var nowms = now.getTime();	//now, ms,	used in after event test
	//for calendar use datestring(yearnow, monthnow, datenow)

var weekday = new Array(7);
	weekday[0] = 'Sunday';
	weekday[1] = 'Monday';
	weekday[2] = 'Tuesday';
	weekday[3] = 'Wednesday';
	weekday[4] = 'Thursday';
	weekday[5] = 'Friday';
	weekday[6] = 'Saturday';
	
var monthname = new Array(13);
	monthname[1] = 'January';
	monthname[2] = 'February';
	monthname[3] = 'March';
	monthname[4] = 'April';
	monthname[5] = 'May';
	monthname[6] = 'June';
	monthname[7] = 'July';
	monthname[8] = 'August';
	monthname[9] = 'September';
	monthname[10] = 'October';
	monthname[11] = 'November';
	monthname[12] = 'December';

var EVENTymmdd = new Array(91232);	//index = day in 10 years, 00001 - 91231
//var ymmdd = new Array(91232);	//index = day in 10 years, 00001 - 91231

	//leading space for home page string
	//	\d  for no date, inc bookmark website  NOT WORKING use fixedmessage
	//	\h  for home page
	//<br> okay
	//<a href="  okay
	
EVENTymmdd[70519] = "\hSpecial Sister\'s Day and Luncheon, \"REFLECTING HIS LIGHT\", 10 am - 1 pm, Cambridge Chapel";
EVENTymmdd[70328] = "\hRelief Society <b>ENRICHMENT EVENING</b>, 7-9 pm, at the chapel";
EVENTymmdd[70228] = "\hRelief Society <b>ENRICHMENT EVENING</b>, 7-9 pm, at the chapel";

EVENTymmdd[61213] = "\hRelief Society <b>CHRISTMAS PARTY</b>, 7-9 pm, at the chapel";
EVENTymmdd[61116] = "\hRelief Society <b>ENRICHMENT EVENING</b>, 7-9 pm, at the chapel";
EVENTymmdd[61109] = '\hRelief Society <b>"Painting"</b>, 7-9 pm, at the chapel';
EVENTymmdd[60920] = "\hRelief Society <b>ENRICHMENT EVENING</b>, 7-9 pm, at the chapel";
EVENTymmdd[60520] = '\hRelief Society "Hearts, Hands & Souls" workshop 10 am - 1 pm';
EVENTymmdd[60318] = "\hActivity Night - Beetle Drive, 6.30 pm, video room for children";
EVENTymmdd[60315] = "\hRelief Society Anniversary (164) Dinner, 7.30 pm";

EVENTymmdd[51002] = "\d\h2005 Oct 1, 2, <b>GENERAL CONFERENCE</b> satellite relay at chapel";
EVENTymmdd[50927] = "\h<b>MULTI-WARD ACTIVITY</b>, 7.30 pm";
EVENTymmdd[50925] = "\h<b>CHURCH EDUCATION SYSTEM</b> Broadcast by Sister Susan W. Tanner, 6 pm";
EVENTymmdd[50921] = "\hRelief Society <b>ENRICHMENT EVENING</b>, 7.30 pm, at the chapel";
EVENTymmdd[50918] = "\h at 10 am, <b>STAKE CONFERENCE</b> at Ipswich - no services in Cambridge";	
EVENTymmdd[50817] = "\hRelief Society <b>ENRICHMENT EVENING</b>, 7.30 pm, at the chapel";
EVENTymmdd[50720] = "\hRelief Society <b>ENRICHMENT EVENING</b>, 7.30 pm, at the chapel";
EVENTymmdd[50716] = "\h<b>SISTERS REUNION ENRICHMENT</b><br>10am - 12.30pm at the chapel";
EVENTymmdd[50625] = "\hat 7 pm, Young Single Adult MURDER MYSTERY at the chapel";

function eventrow2(name, year)	//030604 returns (string)home <tr>news <tr>recent <tr>50news <tr>50recent //from buchancalendar.js
	//zionall.js has eventrow()
{
	var s1 = '<TR>';
	var s1 = '<TD VALIGN="top">';
	s1 += '<TD VALIGN="top">';
	s1 += '<img src="chapel.jpg" alt=" chapel.jpg " HEIGHT=40>';
	s1 += '</TD>';
	s1 += '<TD VALIGN="top">';
	var s2 = '<BR></TD></TR>';
	var s = "";
	var sEVENTymmdd = "";
	var bnodate = false;
	var bhome = false;
	var b50 = false;
	var bpast = false;
	var bhomeshow = false;	//show one only
	var yearstart = (yearnow - 1)%10;
	var yearend = (yearnow + 1)%10;
	if (year != null)
	{
		yearstart = year%10;
		yearend = year%10;
	}
	for ( var y = yearstart; y <= yearend; y++ )
	{
		for ( var m = 1; m <= 12; m++ )
		{
			for ( var d = 1; d <= 31; d++ )
			{
				dateknown = "";
				bnodate = false;
				bhome = false;
				b50 = false;
				bpast = false;	//for each ymmdd
				
				if (nowms > eventms(y, m, d) )
					bpast = true;  //show after event
				if (EVENTymmdd[y*10000 + m*100 + d] != null)	//an entry exists
				{
					sEVENTymmdd = EVENTymmdd[10000*y + 100*m + d ];
					dateknown = datestring(y + 10*(Math.floor(yearnow/10) ), m, d) + ", ";
					if (sEVENTymmdd.substring(0,1) == "d")	//no date, multiday or unknown, no date to be automatically shown
					{
						bnodate = true;
						dateknown = "";
						sEVENTymmdd = sEVENTymmdd.slice(1);
					}
					if (sEVENTymmdd.substring(0,1) == "c")	//50's club page
					{
						b50 = true;
						sEVENTymmdd = sEVENTymmdd.slice(1);
					}
					if (sEVENTymmdd.substring(0,1) == "h")	//home page
					{
						bhome = true;
						sEVENTymmdd = sEVENTymmdd.slice(1);
					}
					if (sEVENTymmdd.substring(0,1) == "j")	//JM calendar
					{
						sEVENTymmdd = sEVENTymmdd.slice(1);
					}

					if ( (name == "home")  && bhome && !bpast && !bhomeshow)
					{
						bhomeshow = true;
						popupEVENTymmdd = 10000*y + 100*m + d + "";	//need as string
						if (bnodate)
							s += sEVENTymmdd;
						else
						{
							//s += dateknown + "<br>" + sEVENTymmdd;
							//s += dateknown + sEVENTymmdd;
							//s += [10000*y + 100*m + d ] + dateknown + '<br>' + sEVENTymmdd;
							//s += [10000*y + 100*m + d ] + '<br>' + sEVENTymmdd;
							s += [10000*y + 100*m + d ] + sEVENTymmdd;
						}
					}

					sEVENTymmdd = sEVENTymmdd.replace(/#/gi, "<br>");	//if not home replace # with <br> g=global in string, i=case insensitive
					if ( (name == "news") && !bpast && !b50)
						s += s1 + " " + dateknown + "<br>" + sEVENTymmdd + s2;
					if ( (name == "recent") && bpast && !b50)
						s = s1 + dateknown + sEVENTymmdd + "<br>" + s2 + s;
					if ( (name == "50news") && !bpast && b50)
						s += s1 + " " + dateknown + sEVENTymmdd + s2;
					if ( (name == "50recent") && bpast && b50)
						s = s1 + dateknown + sEVENTymmdd + s2 + s;
				}
			}
		}
	}
	return s;
}

function eventms(year1, month1, date1)	//2 12 31 > MILLISECONDS since 1970 Jan 1 .0000
{
	var event1 = new Date();
	event1.setYear(year1 + 10*(Math.floor(yearnow/10) ) );	//2 + 10*("int"(2002/10) )
	event1.setMonth(month1 - 1);
	event1.setDate(date1);	//day
	return event1.getTime();	//day of event, ms
}

function datestring(year1, month1, date1)	//2001 12 31 > Monday 2001 December 31
{
	var ds = new Date();
	ds.setYear(year1);
	ds.setMonth(month1 - 1);
	ds.setDate(date1);	//day  1 = Monday
	var day = ds.getDay();	
	//var s =  weekday[day] + " " + year1 + " " + monthname[month1] + " " + date1;	//sometimes wrong
	var s = weekday[ getweekday(year1, month1, date1) ] + " " + year1 + " " + monthname[month1] + " " + date1;	//sometimes wrong
	return s;
}

function getweekday(year, month, date)	//month 1-12, returns 0 = Sunday
//Zeller's formula
{
	var C = 0, Y = 0, d = 0, w = 0;
	if ( ( month == 1 ) || (month == 2 ) )
	{
		year = year - 1;
		month = month + 10;
	}
	else
	{
		month = month - 2;
	}
	C = Math.floor(year/100 );
	Y = Math.floor(year % 100 );
	w = Math.floor( (2.6 * month - 0.2) ) + date + Y + Math.floor( (Y/4) ) + Math.floor( (C/4) ) - 2*C;
	d = (w + 7000000) % 7;	//for no -ve numbers	//0 = Sunday

	return d;	//1900 Jan 1 = Monday
}

function julianday(yyyy, mm, dd)	//Gregorian calendar > 1582	//getTime() gave errors
{
	if (mm <= 2)
	{
		yyyy -= 1 ;
		mm += 12;
	}
	var a = Math.floor(yyyy/100);
	var b = 2 - a + Math.floor(a/4);
	var jd = Math.floor( 365.25 * yyyy );
	jd += Math.floor(30.6001 * ( mm + 1 ) );
	jd += dd + 1720994.5;
	jd += b;//for Gregorian calendar
	return jd;
}

