var RSSRequestObject = false; // XMLHttpRequest Object

window.setInterval("update_timer()", 1200000); // update the data every 20 mins

var Artist;
var Album;
var Label;
var Genre;

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; 
		
			// Browse items
			var items = node.getElementsByTagName('entry');
			if (items.length == 0) {
				var content = '<ul><li><div class=error>No results found.</div></li></ul>';
			} else {
				var content = '<table id="results"><tbody><tr><th>TIME</th><th>TRACK</th><th>ARTIST</th><th>ALBUM</th><th>LABEL</th><th>GENRE</th></tr>';
				for (var n=0; n < items.length; n++)
				{
					var itemTime = items[n].getElementsByTagName('time')[0].childNodes[0];
					if(itemTime) itemTime = String(itemTime.nodeValue);
					
					var itemTrack = items[n].getElementsByTagName('track')[0].childNodes[0];
					itemTrack = (itemTrack ? String(itemTrack.nodeValue) : "");
					
					var itemAlbum = items[n].getElementsByTagName('album')[0].childNodes[0];
					itemAlbum = (itemAlbum ? String(itemAlbum.nodeValue) : "");
					
					var itemArtist = items[n].getElementsByTagName('artist')[0].childNodes[0];
					itemArtist = (itemArtist ? String(itemArtist.nodeValue) : "");
					
					var itemLabel = items[n].getElementsByTagName('label')[0].childNodes[0];
					itemLabel = (itemLabel ? String(itemLabel.nodeValue) : "");
					
					var itemGenre = items[n].getElementsByTagName('genre')[0].childNodes[0];
					itemGenre = (itemGenre ? String(itemGenre.nodeValue) : "");
				
				
					if((itemArtist.search(new RegExp(Artist,"i")) >= 0) && 
					(itemAlbum.search(new RegExp(Album,"i")) >= 0) && 
					(itemGenre.search(new RegExp(Genre,"i")) >= 0) && 
					(itemLabel.search(new RegExp(Label,"i")) >= 0)) 
					{
						content += '<tr><td class="left-edge">'+itemTime+'&nbsp;</td><td>'+itemTrack+'&nbsp;</td><td>'+itemArtist+'&nbsp;</td><td>'+itemAlbum+'&nbsp;</td><td>'+itemLabel+'&nbsp;</td><td class="right-edge">'+itemGenre+'&nbsp;</td></tr>';
					}
				}
				content += '</tbody></table>';
			}
			// Display the result
			document.getElementById("ajaxreader").innerHTML = content;

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

/*
* Main AJAX RSS reader request
*/
function Feeder(feed,artist,album,genre,label) {

	// change the status to requesting data
	HideShow('status');
	HideShow('ajaxreader');
	
	document.getElementById("status").innerHTML = '<div style="text-align: center; margin: 50px 0;"><img src="images/ajax_loader.gif" /></div>';

	Artist = artist;
	Album = album;
	Genre = genre;
	Label = label;
	
	RSSRequestObject.open("GET", 'recentxml.php5?feed='+feed, true);
	
	// Set the onreadystatechange function
	RSSRequestObject.onreadystatechange = ReqChange;
	// Send
	RSSRequestObject.send(null); 
}

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

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);
}
