//#####################################################
// Diary Functions
//#####################################################

// Event Variables

	var nbrEvents = 0;
	var eventKey = new Array();
	var eventTitle = new Array();
	var eventWhere = new Array();
	var eventContact = new Array();
	var eventText = new Array();
	var eventImage = new Array();
	var eventColor = new Array();
	var eventStyle = new Array();
	var eventWidth = new Array();
	var eventBackground = new Array();
	var eventLoaded = 0;

// Diary Variables

	var diaryMode = '';
	var diaryYearMonth = new Array();
	var nbrDiaryMonths = -1;
	var nbrHomeDiary = -1;
	var nbrHomeEvent = 0;
	var maxHomeDiary = 10;
	var addEntry = false;
	var homeDiaryEvent = new Array();
	var homeDiaryDate = new Array();
	var homeDiaryCymd = new Array();
	var homeDiaryTime = new Array();
	var homeDiaryText = new Array();
	var homeDiaryPlace = new Array();
	var diaryPDF = 0;
	var nbrPDF = -1;
	var diaryPdfDesc = new Array();
	var diaryPdfFile = new Array();
	
//------------------------------------------------------------------------------------------------------------
//- DIARY FUNCTIONS ------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------
function addDiaryPDF(vDesc, vFile, vYearMonth)
{
	setThisYM(vYearMonth);
	if (isYMgeToday(getThisYM()) > 0) {
		nbrPDF += 1;
		diaryPdfDesc[nbrPDF] = vDesc;
		diaryPdfFile[nbrPDF] = vFile;
	}
}
//------------------------------------------------------------------------------------------------------------
function writeDiaryPDF(vDesc, vFile, vMonth, vYear)
{
	var htmlString = ' ';
	if (nbrPDF >= 0) {
		for (var i = 0; i <= nbrPDF; i++) {	
			if (i == 0) {
				htmlString += '<BR><HR><BR><table width="'+(getPageWidth()*4/5)+'" border="0"><tbody>';
				htmlString += '<TR><TD class="diary-title"><A name="pdf">PDF Diaries</A></TD><TD>&nbsp;</TD><TD><A id="adobe_reader" href="http://www.adobe.com/products/acrobat/readstep2.html" target="_blank"><IMG border="0" name="adobe_reader" alt="adobe_reader" src="../images/general/get_adobe_reader.gif"></A></TD></TR>';
				htmlString += '<TR></TR>';
				htmlString += '<TR><TD colspan="3"><BR>To view the PDF version of a diary, select one of the following links';
				htmlString += '<BR>To download the PDF version of a diary, Right click one of the following links, and select "Save Target As..."<BR><BR></TD></TR>';
			}
			htmlString += '<TR><TD width="20%">&nbsp;</TD><TD class="diary-details"><IMG border="0" name="adobe_reader" alt="adobe_reader" src="../images/general/reader_icon.gif">&nbsp;&nbsp;&nbsp;<A href="../files/'+diaryPdfFile[i]+'" target="_blank">'+diaryPdfDesc[i]+'</A></TD><TR>';
		}
		htmlString += '</tbody></table>';
		document.write(htmlString);
	}
}
//------------------------------------------------------------------------------------------------------------
function addDiaryMonth(vMonth, vYear)
{
	if (diaryMode == 'diary') {
		setThisYM((vYear*100)+(vMonth*1));
		if (isYMgeToday(getThisYM()) > 0) {
			nbrDiaryMonths += 1;
			diaryYearMonth[nbrDiaryMonths] = vYear+vMonth;
		}
	}
}
//------------------------------------------------------------------------------------------------------------
function writeDiaryLink()
{
	if (diaryMode == 'diary') {
		var cMonth = '';
		var nMonth = '';
		var cYear = '';
		var yearMonth = '';
		var y = 0;
		var htmlString = '<BR><table width="'+getPageWidth()+'" cellspacing="5" cellpadding="5" border="0"><tbody>';
		htmlString += '<TR><TD width="30">&nbsp;</TD>';
		htmlString += '<TD width="110" align="left">Select Month &raquo;&raquo;&raquo;</TD><TD align="center">';
		for (var i = 0; i <= nbrDiaryMonths; i++) {	
			if (diaryYearMonth[i] != 'undefined') {	
				yearMonth = diaryYearMonth[i];
				cMonth = yearMonth.substring(4,6);
				nMonth = Number(cMonth);
				cYear = yearMonth.substring(0,4);
				if (y != 0) {
					htmlString += '&nbsp;&nbsp;&nbsp;&nbsp;';
				}
				htmlString += '<A href="#' + getShortMonth(nMonth-1)+cYear + '">' + getLongMonth(nMonth-1) + ' ' +cYear +'</A>';
				if (y < 5) {
					y += 1;
				} else {
					htmlString += '<BR>';
					y = 0;
				}
			}
		}
		htmlString += '</TD>';
		if (nbrPDF >= 0) {
			htmlString += '<TD align="right"><A href="#pdf"><B>PDF Downloads</B></A></TD>';
		}
		htmlString += '</TR></tbody></table>';
		document.write(htmlString);
	}
}
//------------------------------------------------------------------------------------------------------------
function startDiaryMonth(vMonth, vYear)
{
	if (diaryMode == 'diary') {
		setThisYM((vYear*100)+(vMonth*1));
		if (isYMgeToday(getThisYM()) > 0) {
			var nMonth = Number(vMonth);
			var htmlString = '<BR><table width="'+getPageWidth()+'" cellspacing="2" cellpadding="5" border="0"><tbody>';
			htmlString += '<TR>';
			htmlString += '<TD colspan="3" class="diary-title"><A name="'+getShortMonth(nMonth-1)+vYear+'">'+getLongMonth(nMonth-1)+' '+vYear+'</A></TD>';
			htmlString += '<TD colspan="2">&nbsp;</TD>';
			htmlString += '</TR>';
			document.write(htmlString);
		}
	}
}
//------------------------------------------------------------------------------------------------------------
function endDiaryMonth()
{
	if (diaryMode == 'diary') {
		if (isYMgeToday(getThisYM()) > 0) {
			var htmlString = '</tbody></table><BR>';
			document.write(htmlString);
		}
	}
}
//------------------------------------------------------------------------------------------------------------
function addDiaryLine(vRef, vEvent, vDate, vFromTime, vToTime, vText, vWhere, vDetail, vTextLink)
{
	var htmlString = '';
	if (isYMDgeToday(vDate) > 0) {
		var thisDateC = extractDate(vDate, 'date', 'chr');
		var thisDayN = extractDate(vDate, 'day', 'nbr');
		var thisMonthN = extractDate(vDate, 'month', 'nbr');
		if (diaryMode == 'diary') {
			htmlString = '<TR>';
			if (thisDayN > 0) {
				htmlString += '<TD width="50" valign="top" class="diary-day">'+getDayOfWeek(thisDayN-1,"short")+'</TD>';
			} else {
				htmlString += '<TD width="50">&nbsp;</TD>';
			}
			if (thisDateC != '') {
				htmlString += '<TD width="80" valign="top" class="diary-date">'+thisDateC+' '+getShortMonth(thisMonthN-1) + '</TD>';
			} else {
				htmlString += '<TD width="80">&nbsp;</TD>';
			}
			if (vFromTime != '') {
				htmlString += '<TD width="100" valign="top" align="right" class="diary-time">'+vFromTime;
				if (vToTime != '') {
					htmlString += ' - '+vToTime;
				}
				htmlString += '</TD>';
			} else {
				htmlString += '<TD width="90">&nbsp;</TD>';
			}
			if (vText != '') {
				if (vTextLink != '') {
					htmlString += '<TD width="380" valign="top" class="diary-description"><A href="'+vTextLink+'">'+vText+'</A></TD>';
				} else {
					htmlString += '<TD width="380" valign="top" class="diary-description">'+vText+'</TD>';
				}
			} else {
				htmlString += '<TD width="380">&nbsp;</TD>';
			}
			if (vWhere != '') {
				htmlString += '<TD width="200" valign="top" class="diary-where">'+vWhere+'</TD>';
			} else {
				htmlString += '<TD width="200" >&nbsp;</TD>';
			}
			htmlString += '</TR>';
			if (vDetail != '') {
				htmlString += '<TR><TD colspan="3">&nbsp;</TD><TD colspan="2" valign="top" class="diary-details">' + vDetail + '</TD></TR>';
			}
			document.write(htmlString);
		} else if (diaryMode == 'home') {
			if ( (vRef == '') || (vEvent != '') ) {
				addEntry = false;
				if (nbrHomeDiary < maxHomeDiary) {
					if (vEvent != '') {
						nbrHomeEvent +=1;
					}
					addEntry = true;
				} else {
					if (nbrHomeEvent <= 0) {
						addEntry = true;
						nbrHomeEvent +=1;
					}
				}
				if (addEntry) {
					nbrHomeDiary += 1;
					homeDiaryEvent[nbrHomeDiary] = vEvent;
					homeDiaryDate[nbrHomeDiary] = thisDateC+' '+ getShortMonth(thisMonthN-1);
					homeDiaryCymd[nbrHomeDiary] = vDate;
					homeDiaryTime[nbrHomeDiary] = vFromTime;
					homeDiaryText[nbrHomeDiary] = vText;
					homeDiaryPlace[nbrHomeDiary] = vWhere;
				}
				
			}
		}
	}
}
//------------------------------------------------------------------------------------------------------------
function writeHomeDiary()
{
		var htmlString = '<table cellspacing="2" cellpadding="2" border="0"><tbody>';
		var count = 0;
		for (var i = 0; i <= nbrHomeDiary; i++) {	
			count += 1;
			if ((homeDiaryDate[i] != 'undefined') && (count <= maxHomeDiary)) {	
				htmlString += '<TR>'
				htmlString += '<TD valign="top" class="diary-date" width="55">'+homeDiaryDate[i]+'</TD>';
				htmlString += '<TD valign="top" align="right" class="diary-time">'+homeDiaryTime[i]+'</TD>';
				htmlString += '<TD valign="top" class="diary-description">'+homeDiaryText[i]+'</TD>';
				htmlString += '<TD valign="top" class="diary-where">'+homeDiaryPlace[i]+'</TD>';
				htmlString += '</TR>'
			}
		}
		htmlString += '</tbody></table>';
		document.write(htmlString);
}

//------------------------------------------------------------------------------------------------------------
//-  EVENT FUNCTIONS -----------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------
function writeEvent()
{
	var htmlString = '';
	var pNbr = 0;
	eventLoaded = 0;
	for (var i = 0; ((i <= nbrHomeDiary) && (eventLoaded == 0)); i++) {	
		if (homeDiaryEvent[i] != '') {
			var thisDayN = extractDate(homeDiaryCymd[i], 'day', 'nbr');
			for (var j = 1; j <= nbrEvents; j++) {	
				if (eventKey[j] == homeDiaryEvent[i]) {
					pNbr = j;
				}
			}
			htmlString = '<table cellspacing="3" cellpadding="10" ><tbody><tr><td style="border-color: '+eventColor[pNbr]+'; border-style: '+eventStyle[pNbr]+'; border-width: '+eventWidth[pNbr]+'; background-color: '+eventBackground[pNbr]+'">';
			htmlString += '<SPAN class="event-home-title">'+eventTitle[pNbr]+'</SPAN>';
			htmlString += '<table style="border-color: blue; border-width: medium" cellspacing="5" cellpadding="0" border="0"><tbody>';
			htmlString += '<TR><TD colspan="2"><SPAN class="event-home-text">'+eventText[pNbr]+'</SPAN></TD></TR>';
			htmlString += '<TR><TD>';
			htmlString += '<SPAN class="event-home-datetime">'+getDayOfWeek(thisDayN-1,"long")+"<BR>"+homeDiaryDate[i]+' '+homeDiaryTime[i]+'</SPAN>';
			htmlString += '<BR><SPAN class="event-home-where">'+eventWhere[pNbr]+'</SPAN>';
			if (eventContact[pNbr] != ''){
				htmlString += '<BR><BR><SPAN class="event-home-contact">Contact:'+eventContact[pNbr]+'</SPAN>';
			}
			htmlString += '</TD>';
			if (eventImage[pNbr] != ''){
				htmlString += '<TD valign="middle" align="center"><IMG border="0" src="'+eventImage[pNbr]+'"></TD>';
			} else {
				htmlString += '<TD>&nbsp</TD>';
			}
			htmlString += '</TR></tbody></table></td></tr></tbody></table>';
			eventLoaded = 1;
		}
	}
	if (eventLoaded == 0) {	
		htmlString = '&nbsp;';
	}
	document.write(htmlString);
}
//------------------------------------------------------------------------------------------------------------
function addEventInfo(vKey, vTitle, vWhere, vContact, vText, vImage, vColor, vStyle, vWidth, vBackground)
{
	nbrEvents += 1;
	eventKey[nbrEvents] = vKey;
	eventTitle[nbrEvents] = vTitle;
	eventWhere[nbrEvents] = vWhere;
	eventContact[nbrEvents] = vContact;
	eventText[nbrEvents] = vText;
	eventImage[nbrEvents] = vImage;
	if (vColor != '') eventColor[nbrEvents] = vColor;
	else eventColor[nbrEvents] = 'white';
	if (vStyle != '') eventStyle[nbrEvents] = vStyle;
	else eventStyle[nbrEvents] = 'Solid';
	if (vWidth != '') eventWidth[nbrEvents] = vWidth;
	else eventWidth[nbrEvents] = 'Thin';
	if (vBackground != '') eventBackground[nbrEvents] = vBackground;
	else eventBackground[nbrEvents] = 'white';
}
//------------------------------------------------------------------------------------------------------------
function loadTestEvent()
{
	var htmlString = '';
	var testdate= '10 OCT';
	var testtime= '9:30am';
	
	htmlString = '<table width="800" cellspacing="3" cellpadding="10" border="0"><tbody>';
	htmlString += '<TR valign="top"><TD width="35%"></TD><TD width="30%"></TD><TD width="8%"></TD><TD width="27%"></TD></TR>';
	document.write(htmlString);

	htmlString += '<TR valign="top"><TD colspan="4">For test purposes assume Date='+testdate+' and Time='+testtime+'<BR><BR></TD></TR>';
	document.write(htmlString);
	
	for (var i = 1; i <= nbrEvents; i++) {	
		htmlString = '<TR valign="top"><TD colspan="2">';
		htmlString += '<B>Key: '+eventKey[i]+'</B>';
		htmlString += '<BR>Title: '+eventTitle[i];
		htmlString += '<BR>Text: '+eventText[i];
		htmlString += '<BR>Where: '+eventWhere[i];
		htmlString += '<BR>Contact: '+eventContact[i];
		htmlString += '<BR>Image: '+eventImage[i];
		htmlString += '<BR>Border Colour: '+eventColor[i];
		htmlString += '<BR>Border Style: '+eventStyle[i];
		htmlString += '<BR>Border Width: '+eventWidth[i];
		htmlString += '<BR>Background Colour: '+eventBackground[i];
		htmlString += '</TD>';
		htmlString += '<TD colspan="2"><table cellspacing="3" cellpadding="10" ><tbody><tr><td style="border-color: '+eventColor[i]+'; border-style: '+eventStyle[i]+'; border-width: '+eventWidth[i]+'; background-color: '+eventBackground[i]+'">';
		htmlString += '<SPAN class="event-home-title">'+eventTitle[i]+'</SPAN>';
		htmlString += '<table cellspacing="5" cellpadding="0" border="0"><tbody>';
		htmlString += '<TR><TD colspan="2"><SPAN class="event-home-text">'+eventText[i]+'</SPAN></TD></TR>';
		htmlString += '<TR><TD>';
		htmlString += '<SPAN class="event-home-datetime">'+testdate+' '+testtime+'</SPAN>';
		htmlString += '<BR><SPAN class="event-home-where">'+eventWhere[i]+'</SPAN>';
		if (eventContact[i] != ''){
			htmlString += '<BR><BR><SPAN class="event-home-contact">Contact:'+eventContact[i]+'</SPAN>';
		}
		htmlString += '</TD>';
		if (eventImage[i] != ''){
			htmlString += '<TD valign="middle" align="center"><IMG border="0" src="'+eventImage[i]+'"></TD>';
		} else {
			htmlString += '<TD>&nbsp</TD>';
		}
		htmlString += '</TR></tbody></table></TD></TR></tbody></table>';
		document.write(htmlString);

	}
}
//------------------------------------------------------------------------------------------------------------
function testDateDay()
{
	var curDay = '';
	var curDate = '';
	var thisDateC = '';
	var thisDayN = '';
	var thisMonthN =  '';
	var refDay = new Array('SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT');
	var refDate = new Array('20070902', '20070903', '20070904', '20070905', '20070906', '20070907', '20070908');
	htmlString = '<table cellspacing="3" cellpadding="2" border="1"><thead><TR>';
	htmlString += '<TD>TestDate</TD><TD>ActualDay</TD>';
	htmlString += '<TD>ExtractYear</TD><TD>ExtractMonth</TD><TD>ExtractDate</TD>';
	htmlString += '<TD>FullDateConstruct</TD><TD>FullDate-getDay</TD>';
	htmlString += '<TD>extractDate-Calc Day</TD>';
	htmlString += '</TR></thead><tbody>';
	document.write(htmlString);
	for (var i = 0; i <= 6; i++) {
		curDate = refDate[i];
		curDay = refDay[i];
		thisDateC = extractDate(curDate, 'date', 'chr');
		thisDayN = extractDate(curDate, 'day', 'nbr');
		thisMonthN = extractDate(curDate, 'month', 'nbr');
		
		// Copy of extractDate Code
		var cInDate = curDate.substring(6,8);
		var cInMonth = curDate.substring(4,6);
		var cInYear = curDate.substring(0,4);
		var inFullDate = new Date();
		var nInMonth = cInMonth-1;
		inFullDate.setFullYear(cInYear);
		inFullDate.setMonth(nInMonth,cInDate);
		var cInDay = inFullDate.getDay();
		
		htmlString = '<TR>';
		htmlString += '<TD>'+curDate+'</TD><TD>'+curDay+'</TD>';
		htmlString += '<TD>'+cInYear+'</TD><TD>'+cInMonth+'</TD><TD>'+cInDate+'</TD>';
		htmlString += '<TD>'+inFullDate+'</TD><TD>'+cInDay+'</TD>';
		htmlString += '<TD>'+getDayOfWeek(thisDayN-1,"short")+'</TD>';
		htmlString += '</TR>';
		document.write(htmlString);
	}
	htmlString = '</tbody></table>';
	document.write(htmlString);
}

//------------------------------------------------------------------------------------------------------------
//- GETTERS/SETTERS ------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------
function setDiaryMode(inMode)
{
	diaryMode = inMode;
}
//------------------------------------------------------------------------------------------------------------
function setMaxHomeDiary(inNbr)
{
	maxHomeDiary = inNbr;
}

//------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------
