var upcomingEventsRSS = CreateXMLHttpRequest();
var upcomingEvents = "googleCal.php";

function UpcomingEventsRequest()
{
	upcomingEvents = "googleCal.php";
	
	var startDate = new Date();
	var endDate = new Date();
	endDate.setDate(endDate.getDate() + 14);
	
	var start_min = startDate.getFullYear() + "-"; 
	if((startDate.getMonth()+1) < 10)
	{
		start_min += "0";
	}
	start_min += (startDate.getMonth()+1) + "-";
	
	if((startDate.getDate()) < 10)
	{
		start_min += "0";
	}
	start_min += (startDate.getDate()) + "T00:00:00";
	
	var start_max = endDate.getFullYear() + "-"; 
	if((endDate.getMonth()+1) < 10)
	{
		start_max += "0";
	}
	start_max += (endDate.getMonth()+1) + "-";
	
	if((endDate.getDate()) < 10)
	{
		start_max += "0";
	}
	start_max += (endDate.getDate()) + "T23:59:59";
	
	upcomingEvents = upcomingEvents + "?start-min=" + start_min + "&start-max=" + start_max;	
	
	// Prepare the request
	upcomingEventsRSS.open("GET", upcomingEvents , true);
	// Set the onreadystatechange function
	upcomingEventsRSS.onreadystatechange = SetUpcomingEvents;
	// Send
	upcomingEventsRSS.send(null); 
	
}

function FormatWhen(startDate,endDate)
{
	var year = startDate.substring(0,4);
	var month = startDate.substring(5,7);
	var day = startDate.substring(8,10);
	//SetDayLink(month,day);
	var hour = startDate.substring(11,13);
	if(hour > 12)
	{
		hour = hour - 12;
		var timeOfDay = "PM";
	}
	else if(hour == 12)
	{
		var timeOfDay = "PM";
	}
	else
	{
		var timeOfDay = "AM";
	}
	var minute = startDate.substring(14,16);
	
	var fDate = month + "/" + day + "/" + year;
	
	if(startDate.length > 18)
	{
		fDate += " " + hour + ":" + minute + " " + timeOfDay;
	}
	
	if(endDate.length > 9)
	{
		fDate += " - ";
		
		if(startDate.substring(0,10) != endDate.substring(0,10))
		{
			var year = endDate.substring(0,4);
			var month = endDate.substring(5,7);
			var day = endDate.substring(8,10);
			
			fDate += month + "/" + day + "/" + year;
		}
		var hour = endDate.substring(11,13);
		if(hour > 12)
		{
			hour = hour - 12;
			var timeOfDay = "PM";
		}
		else if(hour == 12)
		{
			var timeOfDay = "PM";
		}
		else
		{
			var timeOfDay = "AM";
		}
		var minute = endDate.substring(14,16);
		
		if(endDate.length > 18)
		{
			fDate += " " + hour + ":" + minute + " " + timeOfDay;
		}
	}
	
	//alert(fDate);
	return fDate;
}

function SetUpcomingEvents()
{
	// If data received correctly
	if (upcomingEventsRSS.readyState==4) {
		// if data is valid
		if (upcomingEventsRSS.responseText.indexOf('invalid') == -1) 
		{
			// Parsing Feeds
			var upcomingEvents = upcomingEventsRSS.responseXML.documentElement; 
			
			var items = upcomingEvents.getElementsByTagName('entry');
			if (items.length == 0) {
			} 
			else {
				for (var n=items.length-1; n >= 0; n--)
				{
				
					var itemTitle = items[n].getElementsByTagName('title').item(0).firstChild.data;
					
					try
					{
						var itemStartTime = items[n].getElementsByTagName('gd:when')[0].getAttribute("startTime");
						var itemEndTime = items[n].getElementsByTagName('gd:when')[0].getAttribute("endTime");
					}
					catch(err)
					{
						itemStartTime = items[n].getElementsByTagName('when')[0].getAttribute("startTime");
						itemEndTime = items[n].getElementsByTagName('when')[0].getAttribute("endTime");
						//itemStartTime = " "; itemEndTime = " ";
					}
					try
					{
						var itemLocation = items[n].getElementsByTagName('gd:where')[0].getAttribute("valueString");
					}
					catch(err)
					{
						itemLocation = items[n].getElementsByTagName('where')[0].getAttribute("valueString");
						//itemLocation = " ";
					}	
					if(itemLocation == null)
					{
						itemLocation = " ";
					}
						
					try{var itemDescription = items[n].getElementsByTagName('content')[0].firstChild.data;}
					catch(err){var itemDescription = " ";}
					
					var itemDay = itemStartTime.substring(8,10);
					var itemMonth = itemStartTime.substring(5,7);
					
					var table_item = document.createElement("table");
					var table_body = document.createElement("tbody");
					
					var tr_title = document.createElement("tr");
					var td_title = document.createElement("td");
					td_title.setAttribute("colSpan","2");
					var span_title = document.createElement("span");
					span_title.appendChild(document.createTextNode(itemTitle));
					td_title.appendChild(span_title);
					tr_title.appendChild(td_title);
					table_body.appendChild(tr_title);
					
					var tr_when = document.createElement("tr");
					var th_when = document.createElement("th");
					th_when.appendChild(document.createTextNode("When: "));
					tr_when.appendChild(th_when);
					var td_when = document.createElement("td");

					td_when.appendChild(document.createTextNode(FormatWhen(itemStartTime,itemEndTime)));

					tr_when.appendChild(td_when);
					table_body.appendChild(tr_when);
					
					var tr_where = document.createElement("tr");
					var th_where = document.createElement("th");
					th_where.appendChild(document.createTextNode("Where: " ));
					tr_where.appendChild(th_where);
					var td_where = document.createElement("td");
					td_where.appendChild(document.createTextNode(itemLocation));
					tr_where.appendChild(td_where);
					table_body.appendChild(tr_where);

					var tr_desc = document.createElement("tr");
					var td_desc = document.createElement("td");
					td_desc.setAttribute("colSpan","2");
					td_desc.appendChild(document.createTextNode(itemDescription));
					tr_desc.appendChild(td_desc);
					table_body.appendChild(tr_desc);
					
					table_item.appendChild(table_body);
					
					var tempDiv = $("upcomingEvent_main");
					//alert(table_body);
					
					$("upcomingEvents_main").appendChild(table_item);
				
				}	
			}
		}
	}
}
UpcomingEventsRequest();

