var RSSRequestObject = false; // XMLHttpRequest Object
var Backend = 'common/eventrss.php'; // Backend url
window.setInterval("update_timer()", 1200000); // update the data every 20 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() {

	// 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 = '<CENTER>NIFA Club Agenda</CENTER>'; //Title goes here
		
			// 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>';
				//for (var n=items.length-1; n >= 0; n--)
				for (var n=0; n <= 3; n++)
				{
					var itemTitle = items[n].getElementsByTagName('title').item(0).firstChild.data;
					var Summary = items[n].getElementsByTagName('summary').item(0).firstChild.data;
					var itemLink = items[n].getElementsByTagName('id').item(0).firstChild.data;
					Summary = Summary.replace("<br>Event Status: confirmed", "");
					try 
					{ 
						var itemPubDate = '<font color=gray>['+items[n].getElementsByTagName('published').item(0).firstChild.data+'] ';
					} 
					catch (e) 
					{ 
						var itemPubDate = '';
					}
					
					content += '<li>'
					//'<a href="'+itemLink+'">'
					
					+'<div id="hotspot" class="hotspot" name="hotspot">'
					+itemTitle
					+'</div>'
					
					+'<div id="toggle" class="toggle" name="toggle" style="display: none;">'
					+Summary
					+'</div>'
					+'</li>';
				}
				
				content += '<CENTER><a href="calendar.php">View Calendar</a></CENTER></ul>';
			}
			// Display the result
			document.getElementById("ajaxreader").innerHTML = content;

			// Tell the reader the everything is done
			document.getElementById("status").innerHTML = "Done.";
			visibilitytoggle();
		}
		else {
			// Tell the reader that there was error requesting data
			document.getElementById("status").innerHTML = "<div class=error>Error requesting data.<div>";
		}
		
		HideShow('status');
	}
	
}

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

	// change the status to requesting data
	HideShow('status');
	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.style.display=="none")
	el.style.display='';
	else
	el.style.display='none';
}

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

/* 
Visibility
*/

var hotspots = document.getElementsByName('hotspot');
var toggles = document.getElementsByName('toggle');

function visibilitytoggle(){
    for (var i = 0; i < hotspots.length; i++) {
        hotspots[i].someProperty = i;
        hotspots[i].onclick = function(){
            toggle(this.someProperty)
        };
    }
    
    for (var i = 0; i < toggles.length; i++) {
        toggles[i].style.display = 'none';
    }
}

function toggle(i){
    if (toggles[i].style.display == 'none') {
        toggles[i].style.display = ''
    }
    else 
        toggles[i].style.display = 'none'
}

function showall(){
    for (var i = 0; i < toggles.length; i++) {
        toggles[i].style.display = '';
    }
}

function hideall(){
    for (var i = 0; i < toggles.length; i++) {
        toggles[i].style.display = 'none';
    }
}