var RSSRequestObject1 = false; // XMLHttpRequest Object

/*
* onreadystatechange function
*/
function ReqCalendar() {

	// If data received correctly
	if (RSSRequestObject1.readyState==4) {
	
		// if data is valid
		if (RSSRequestObject1.responseText.indexOf('invalid') == -1) 
		{ 	
			// Parsing Feeds
			var node = RSSRequestObject1.responseXML.documentElement; 
			var content;
		
			// Browse events
			var items = node.getElementsByTagName('entry');
			if (items.length == 0) {
				content = '<div class="calendardetails"><ul><li><div class=error>No events</div></li></ul></div>';
			} else {
				content = '<div class="calendardetails"><ul>';
				for (var n=0; n < items.length; n++)
				{
					var itemSummary = items[n].getElementsByTagName('summary').item(0).firstChild.data;
					var itemTitle = items[n].getElementsByTagName('title').item(0).firstChild.data;
					var itemLink = items[n].getElementsByTagName('link').item(0).getAttribute('href');
					var summary_result = formatCalendarSummary(itemSummary, itemTitle, itemLink);
					
					content += '<li>' + summary_result + '</li>';
				}
				content += '</ul></div>';
			}
			// Display the result
			document.getElementById("rssCalendar").innerHTML = content;

			// Tell the reader the everything is done
			document.getElementById("rssCalendarStatus").innerHTML = "Done.";
			
		}
		else {
			// Tell the reader that there was error requesting data
			document.getElementById("rssCalendarStatus").innerHTML = "<div class=error>Error requesting data.<div>";
		}
		HideShow('rssCalendarStatus');
	}
}

/*
* Main AJAX RSS reader request
*/
function RSSRequestCalendar() {
	
	var Backend = 'rssGoogleCalendar.php'; // Backend url
	
	if (window.XMLHttpRequest) // try to create XMLHttpRequest
		RSSRequestObject1 = new XMLHttpRequest();
	
	if (window.ActiveXObject)	// if ActiveXObject use the Microsoft.XMLHTTP
		RSSRequestObject1 = new ActiveXObject("Microsoft.XMLHTTP");

	// change the status to requesting data
	HideShow('rssCalendarStatus');
	document.getElementById("rssCalendarStatus").innerHTML = "Requesting data ...";
	
	// Prepare the request
	RSSRequestObject1.open("GET", Backend , true);
	// Set the onreadystatechange function
	RSSRequestObject1.onreadystatechange = ReqCalendar;
	// Send
	RSSRequestObject1.send(null); 
}

/*
* Timer
*/
function update_timer() {
	RSSRequestCalendar();
}


function HideShow(id){
	var el = GetObject(id);
	if(el.style.display=="none")
	el.style.display='';
	else
	el.style.display='none';
}

function GetObject(id){
	var el = document.getElementById(id);
	return(el);
}

function formatCalendarSummary(Summary, Title, itemLink) {
	
	Summary = Summary.replace(',', ' ');
	var Summary_array=Summary.split('<br>');

	var event_description='';
	var event_where='';
	var event_when='';
		
	for (var i=0; i < Summary_array.length; i++) {
		if (Summary_array[i].match('Where:')) {
			event_where = Summary_array[i].replace('Where: ', '');
		} else if (Summary_array[i].match('When:')) {
			event_when = Summary_array[i].replace('When: ', '');
			var endIndex = event_when.indexOf('&');
			if (endIndex > 0) {
				event_when = event_when.substring(0, endIndex);
			}
		}
	}
	
	summary_result = '<a href="'+itemLink+'"><div class="eventwhen">' + event_when + '</div></a><div class="eventdetails">' + Title + '<br />' + event_where + '</div>';
	
	return(summary_result);
}