var showDebug = 0;					// Use 1 to show debug information (requires a DIV with id="debug")

var eventXMLHTTP;
var calendarXMLHTTP;
var upcomingXMLHTTP;
var lastMonthRequest;


// ---------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------
//
// Calendar
// Format the dates passed in as MM/DD/YYYY (e.g. 08/13/2009)
//
// ---------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------
function showEventCalendarForCurrentMonth()
{
	var date = new Date();		
	var month = date.getMonth() + 1; 
	var year = date.getFullYear();

	var dateText = month + '/1/' + year;
	showEventCalendar(dateText);
}

function showEventCalendar(month)
{
	calendarXMLHTTP = getXmlHttpObject();
	if (calendarXMLHTTP == null)
	{
		alert("Unable to retrieve event list.");
		return;
	}

	lastMonthRequest = month;
	var url = "events/showcalendar.php?month=" + month;
	calendarXMLHTTP.onreadystatechange = calendarStateChanged;
	calendarXMLHTTP.open("GET", url, true);
	calendarXMLHTTP.send(null)
	
	if (showDebug == 1)
		document.getElementById("debug").innerHTML = url;	
}

function calendarStateChanged()
{
	if (calendarXMLHTTP.readyState == 4)
	{
		document.getElementById("eventCalendar").innerHTML = calendarXMLHTTP.responseText;
		showEventListForMonth(lastMonthRequest);
	}
}

		
// ---------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------
//
// Event List
//
// ---------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------
function showEventListForDay(date)
{
	eventXMLHTTP = getXmlHttpObject();
	if (eventXMLHTTP == null)
	{
		alert("Unable to retrieve event list.");
		return;
	}

	var url = "events/showeventlist.php?date=" + date;
	eventXMLHTTP.onreadystatechange = eventListStateChanged;
	eventXMLHTTP.open("GET", url, true);
	eventXMLHTTP.send(null)
}

function showEventListForMonth(date)
{
	eventXMLHTTP = getXmlHttpObject();
	if (eventXMLHTTP == null)
	{
		alert("Unable to retrieve event list.");
		return;
	}

	var url = "events/showeventlist.php?month=" + date;
	eventXMLHTTP.onreadystatechange = eventListStateChanged;
	eventXMLHTTP.open("GET", url, true);
	eventXMLHTTP.send(null)
}

function eventListStateChanged()
{
	if (eventXMLHTTP.readyState == 4)
	{
		document.getElementById("eventList").innerHTML = eventXMLHTTP.responseText;
	}
}

function getXmlHttpObject()
{
	// code for IE7+, Firefox, Chrome, Opera, Safari
	if (window.XMLHttpRequest)
	  	return new XMLHttpRequest();
	// code for IE6, IE5
	else if (window.ActiveXObject)
  		return new ActiveXObject("Microsoft.XMLHTTP");
	else
		return null;
}

// ---------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------
//
// Upcoming Events
//
// ---------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------
function showUpcomingEvents(numEvents)
{
	upcomingXMLHTTP = getXmlHttpObject();
	if (upcomingXMLHTTP == null)
	{
		alert("Unable to retrieve upcoming events.");
		return;
	}

	var url = "calendar/upcoming.php?numevents=" + numEvents;
	upcomingXMLHTTP.onreadystatechange = upcomingStateChanged;
	upcomingXMLHTTP.open("GET", url, true);
	upcomingXMLHTTP.send(null)
	
	//document.getElementById("debug").innerHTML = url;	
}

function upcomingStateChanged()
{
	if (upcomingXMLHTTP.readyState == 4)
	{
		document.getElementById("eventUpcoming").innerHTML = upcomingXMLHTTP.responseText;
	}
}


// ---------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------
//
// Collapsible rows
//
// ---------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------
function toggleEventRow(id)
{
	var element = document.getElementById(id);
	if (element != null)
	{
		var toggleID = id + "Toggle";
		var toggle = document.getElementById(toggleID);
		
		if (element.style.display == 'none')
		{
			element.style.display = '';
			toggle.innerHTML = "<img src='events/closedetails.gif'/>";
		}
		else
		{
			element.style.display = 'none';
			toggle.innerHTML = "<img src='events/viewdetails.gif'/>";
		}
	}
}


function showEventPopup(id)
{
	var title = "EventDetails";
	var url = "calendar/eventPopup.php?eventID=" + id;
	var width = 500;
	var height = 400;
	var left = (screen.width/2)-(width/2);
	var top = (screen.height/2)-(height/2);
	var params = 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, width='+width+', height='+height+', top='+top+', left='+left;
	var targetWin = window.open(url, title, params);
	targetWin.focus();
}

