/*
// Event Listing Code
// Written by Ken Gould
// ©2007 Birchwood Recording LLC
//
*/
var dayA = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday") ;
var oneMinute = 60 * 1000 ;
var oneHour = oneMinute * 60 ;
var oneDay = oneHour * 24 ;
var oneWeek = oneDay * 7 ;

function get_week(nWeek)
{
	var i ;
	var str ;
	var dToday ;
	var dEvent ;
	var dWeek ;
	var dEnd ;
	var strTime ;
	var bTitle ;
	var strDay ;

	dEvent = new Date() ;
	dToday = new Date() ;
	dWeek =  new Date() ;
	dEnd =   new Date() ;
	var strTitle ;
	str = "" ;
	dEvent.setTime(Date.parse(calA[0].Meeting_Start)) ;
	// find first day of week
	var dateInMs = dToday.getTime() ;
	// get begining of current week
	dateInMs = dateInMs - (dToday.getDay())*oneDay - (dToday.getHours()+1)*oneHour ;
	// add number of weeks
	dateInMs = (nWeek==0 ? dateInMs : dateInMs + (nWeek*oneWeek)) ;
	dWeek.setTime(dateInMs) ;
	// last day of week
	dateInMs += (oneWeek) ;
	dEnd.setTime(dateInMs) ;
	
	var bFirstLine = true ;
	for (i=0;i<calA.length -1;i++)
	{
		dEvent.setTime(Date.parse(calA[i].Meeting_Start)) ;
		if ((dEvent.getTime() >= dWeek.getTime()) && (dEvent.getTime() <= dEnd.getTime()))
			{
			if (bFirstLine==true)
				{
				strDay = dayA[dEvent.getDay()] ;
				str = str +
				"<tr><td colspan=\"3\" class=\"cal_title\" align=\"center\">" + get_date_string(dEvent) + "</td></tr>" ;
				bFirstLine = false ;
				}
			strTime = get_time_string(dEvent) ;
			bTitle = (strTitle == (calA[i].MeetingTitle + calA[i].Meeting_Start) ) ;
			if (strDay != dayA[dEvent.getDay()])
				{
				strDay = dayA[dEvent.getDay()]
				str = str +
				"<tr><td colspan=\"3\" class=\"cal_title\" align=\"center\">" + get_date_string(dEvent) + "</td></tr>" ;
				}
			str = str + (bTitle ? "<td class=\"cal_today\">&nbsp;</td>" :
				"<td class=\"cal_today\" align=\"right\" width=\"60\">" + strTime + "</td>" ) ;
			str = str + (bTitle ? "<td class=\"cal_today\">&nbsp;</td>" :
				"<td class=\"cal_today\" width=\"45%\">" + calA[i].MeetingTitle + "</td>") ;
			str = str + "<td class=\"cal_today\" \"nowrap\" >" + calA[i].Meeting_Room+ "</td></tr>\n" ;
			}
		strTitle = (calA[i].MeetingTitle + calA[i].Meeting_Start) ;
	}
	document.write (str) ;
}


function get_date_string( dDate)
{	
	return dayA[dDate.getDay()] + ", " + (dDate.getMonth() + 1) + "/" + dDate.getDate() + "/" + dDate.getFullYear() ;
}

function get_today()
{
	var i ;
	var str ;
	var dToday ;
	var dEvent ;
	var strTime ;
	var bTitle ;
	var bFound = false ;
	dEvent = new Date() ;
	dToday = new Date() ;
	var strTitle ;
	str = "<div style=\"height: 2px; background-color: #009; margin: 2px;\"> " ;
	str = str + "</div><b><center>Today's Events</center></b><table border=\"0\" cellspacing=\"0\" cellpadding=\"2\" width=\"100%\">\n" ;
	for (i=0;i<calA.length -1;i++)
	{
		dEvent.setTime(Date.parse(calA[i].Meeting_Start)) ;
		if ((dEvent.getDate() == dToday.getDate()) && (dEvent.getMonth() == dToday.getMonth())
			&& (dEvent.getYear() == dToday.getYear()))
			{
			bFound = true ;
			strTime = ((dEvent.getHours()<12) ?
				(dEvent.getHours() + ":" + String(dEvent.getMinutes()+100).substr(1,2) + " AM" ) :
				(dEvent.getHours()-12) + ":" + String(dEvent.getMinutes()+100).substr(1,2) + " PM") ;
			str = str + "<td class=\"cal_today\" align=\"right\" nowrap=\"nowrap\" >" + strTime + "</td>"  ;
			str = str + "<td class=\"cal_today\">" + calA[i].MeetingTitle + "</td></tr>\n" ;
			}
	}
	if (!bFound) 
		str = "<span style=\"font-size: 10px;\"><i>See our <a href=\"/events.htm\">calendar</a> for full list of events</i></span><br>"  ;
	else
		str = str + "</table>" + 
		"<span style=\"font-size: 10px; margin-top: 2px;\"><i>See our <a href=\"/events.htm\">calendar</a> for full list of events</i></span>" +
			"<div style=\"height: 2px; background-color: #009;\"></div>" ;
	document.write (str) ;
}




/* ============================= get_time_string ====================
//  return time in HH:MM AM/PM
//
*/

function get_time_string(dTime)
{
	switch (dTime.getHours())
	{
	case 0:
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
	case 6:
	case 7:
	case 8:
	case 9:
	case 10:
	case 11:
		return (dTime.getHours() + ":" + String(dTime.getMinutes()+100).substr(1,2) + " AM" ) ;
		break ;
	case 12:
		return "12:" + String(dTime.getMinutes()+100).substr(1,2) + " PM"  ;
		break ;
	default:
		return ((dTime.getHours()-12) + ":" + String(dTime.getMinutes()+100).substr(1,2) + " PM") ;
	}
}

/////////////////////////////////////// get_front_page //////////////////////
//
//
//
function get_front_page()
{
	var i ;
	var str ;
	var dToday ;
	var dEvent ;
	var dWeek ;
	var dEnd ;
	var strTime ;
	var bTitle ;
	var strDay ;
	var nWeek = 0 ;

	dEvent = new Date() ;
	dToday = new Date() ;
	dWeek =  new Date() ;
	dEnd =   new Date() ;
	var strTitle ;
	str = "" ;
	dEvent.setTime(Date.parse(calA[0].Meeting_Start)) ;
	// find first day of week
	var dateInMs = dToday.getTime() ;
	// get begining of current week
	dateInMs = dateInMs - (dToday.getDay())*oneDay - (dToday.getHours()+1)*oneHour ;
	// add number of weeks
	dateInMs = (nWeek==0 ? dateInMs : dateInMs + (nWeek*oneWeek)) ;
	dWeek.setTime(dateInMs) ;
	// last day of week
	dateInMs += 4*(oneWeek) ;
	dEnd.setTime(dateInMs) ;
	
	var bFirstLine = true ;
	for (i=0;i<calA.length -1;i++)
	{
		dEvent.setTime(Date.parse(calA[i].Meeting_Start)) ;
		if ((dEvent.getTime() >= dWeek.getTime()) && (dEvent.getTime() <= dEnd.getTime()) && 
			calA[i].front_page=="True")
			{
			if (bFirstLine==true)
				{
				strDay = dayA[dEvent.getDay()] ;
				str = str +
				"<tr><td colspan=\"3\" class=\"cal_title\">" + get_date_string(dEvent) + "</td></tr>" ;
				bFirstLine = false ;
				}
			strTime = get_time_string(dEvent) ;
			bTitle = (strTitle == (calA[i].MeetingTitle + calA[i].Meeting_Start) ) ;
			if (strDay != dayA[dEvent.getDay()])
				{
				strDay = dayA[dEvent.getDay()]
				str = str +
				"<tr><td colspan=\"3\" class=\"cal_title\">" + get_date_string(dEvent) + "</td></tr>" ;
				}
			str = str + (bTitle ? "<td class=\"cal_today\">&nbsp;</td>" :
				"<td class=\"cal_today\" align=\"right\">" + strTime + "</td>" ) ;
			str = str + (bTitle ? "<td class=\"cal_today\">&nbsp;</td>" :
				"<td class=\"cal_today\">" + calA[i].MeetingTitle + "</td>") ;
			str = str + "<td class=\"cal_today\" \"nowrap\" >" + calA[i].Meeting_Room+ "</td></tr>\n" ;
			}
		strTitle = (calA[i].MeetingTitle + calA[i].Meeting_Start) ;
	}
	document.write (str) ;
}

