var RSSRequestObject = false; // XMLHttpRequest Object
var Backend = 'sched_events.php'; // Backend url
//window.setInterval("update_timer()", 1200000); // update the data every 20 mins
window.setInterval("update_timer()", 300000); // update the data every 5 mins
//window.setInterval("update_timer()", 5000); // update the data every 5 mins

if (window.XMLHttpRequest) // try to create XMLHttpRequest
	RSSRequestObject = new XMLHttpRequest();

if (window.ActiveXObject)	// if ActiveXObject use the Microsoft.XMLHTTP
	RSSRequestObject = new ActiveXObject("Microsoft.XMLHTTP");

/*
* onreadystatechange function
*/
function ReqChange() {
	try {
		// If data received correctly
		if (RSSRequestObject.readyState==4) {
		
			// if data is valid
			if (RSSRequestObject.responseText.indexOf('invalid') == -1) 
			{ 	
				// Parsing Feeds
				var node = RSSRequestObject.responseXML.documentElement; 
				
				// Get the calendar title
				var title = node.getElementsByTagName('title').item(0).firstChild.data;
				
				content = '';
				
				//content = '<div class="channeltitle">'+title+'</div>';
			
				// Browse events
				var items = node.getElementsByTagName('entry');
				if (items.length == 0) {
					//content += '<ul><li><div class=error>No events</div></li></ul>';
				} else {
					content += '<ul>';
					var sClassName = "EventRowB";
					for (var n=items.length-1; n >= 0; n--) {
						var itemTitle = items[n].getElementsByTagName('title').item(0).firstChild.data;
						var Summary = items[n].getElementsByTagName('content').item(0).firstChild.data;
						var itemLink = items[n].getElementsByTagName('id').item(0).firstChild.data;
						try { 
							var itemPubDate = '['+items[n].getElementsByTagName('published').item(0).firstChild.data+'] ';
						} catch (e) { 
							var itemPubDate = '';
						}
						sClassName = ((sClassName == "EventRowB")?"EventRowA":"EventRowB");
						var aSummary = Summary.split("<br>");
						var sWhen = "";
						var sWhere = "";
						var sStatus = "";
						var sDescription = "";
						//alert(aSummary.length);
						/*content += '<div class="schedule_event_entry">';
						content += '<div class="event_entry_left">';
						content += '<span class="sched_event_dom">03</span><span class="sched_event_moy">Apr</span>';
						content += '</div>';
						content += '<div class="event_entry_right ' + sClassName + '">';
						content += '<h3>Spier Amphitheatre</h3>';
						content += 'Mon, Apr 9 2007 - Thu, Apr 12 2007<br/>';
						content += '<br/>';
						content += '<b>Where:</b> Spier Amphitheatre, Stellenbosch, Cape Town, Western Cape, South Africa<br/>';
						content += '<br/>';
						content += '<b>Description:</b> Spier Amphitheatre event description. We should always try to add a description of the event. A possibile solution would be to make the description field, for updating an event, compulsory.';
						content += '</div>';
						content += '</div>';*/
						//content += '<li>'+itemPubDate+'</font><a href="'+itemLink+'">'+itemTitle+'</a></li>';
						content += '<li>' + Summary + '</li>';
					}
					content += '</ul>';
				}
				// Display the result
				var oEventEntryContainer = document.getElementById("event_entry_container");
				if (oEventEntryContainer) {
					oEventEntryContainer.innerHTML = content;
				}
				
				var oEventContent = document.getElementById("event_content");
				if (oEventContent) {
					oEventContent.value = content;
				}
	
				// Tell the reader the everything is done
				var oStatus = document.getElementById("status");
				if (oStatus) {
					oStatus.innerHTML = "Done.";
				}
			}
			else {
				// Tell the reader that there was error requesting data
				document.getElementById("status").innerHTML = "<div class=error>Error requesting data.<div>";
			}
			
			destroyLoadingBox();
			HideShow('status');
		}
	} catch(e) {}
}

/*
* Main AJAX RSS reader request
*/
function RSSRequest() {

	// change the status to requesting data
	HideShow('status');
	var oStatus = document.getElementById("status");
	
	createLoadingBox(oStatus);
	
	//var oProgressImg = document.createElement("img");
	//oProgressImg.src = "lib/images/progress.gif";
	//oStatus.appendChild(oProgressImg);
	//document.getElementById("status").innerHTML = "Requesting data ...";
	
	// Prepare the request
	RSSRequestObject.open("GET", Backend , true);
	// Set the onreadystatechange function
	RSSRequestObject.onreadystatechange = ReqChange;
	// Send
	RSSRequestObject.send(null); 
}

/*
* Timer
*/
function update_timer() {
	RSSRequest();
}


function HideShow(id){
	var el = GetObject(id);
	if (el) {
		if(el.style.display=="none")
			el.style.display='';
		else
			el.style.display='none';
	}
}

function GetObject(id){
	var el = document.getElementById(id);
	return(el);
}
