var curItem = 0;
var isSetup = 0;

function makeRequest(url) 
{
	if(window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		request = new ActiveXObject("MSXML2.XMLHTTP");
	}
	
	sendRequest(url);
}

function sendRequest(url)
{
	request.onreadystatechange = onResponse;
	request.open("GET", url, true);
	request.send(null);
}

function checkReadyState(obj)
{
	if(obj.readyState == 0) { document.getElementById('featured_area').innerHTML = "<a><span class=\"header2\">Loading</span></a>"; }
	if(obj.readyState == 1) { document.getElementById('featured_area').innerHTML = "<a><span class=\"header2\">Loading..</span></a>"; }
	if(obj.readyState == 2) { document.getElementById('featured_area').innerHTML = "<a><span class=\"header2\">Loading..</span></a>"; }
	if(obj.readyState == 3) { document.getElementById('featured_area').innerHTML = "<a><span class=\"header2\">Loading...</span></a>"; }
	if(obj.readyState == 4)
	{
		if(obj.status == 200)
		{
			return true;
		}
		else if(obj.status == 404)
		{
			// Add a custom message or redirect the user to another page
			document.getElementById('featured_area').innerHTML = "<a>File not found. Uh, oops?</a>";
		}
		else
		{
			document.getElementById('featured_area').innerHTML = "<a>There was a problem retrieving the XML. Duck and cover...</a>";
		}
	}
}

function onResponse() 
{
	if(checkReadyState(request))
	{
		//alert(request.responseXML);
		//alert(request.responseText);
		var response = request.responseXML.documentElement;
		var header = response.getElementsByTagName('header')[curItem].firstChild.data;
		var description = response.getElementsByTagName('description')[curItem].firstChild.data;
		var background_img = response.getElementsByTagName('background')[curItem].firstChild.data;
		var gameid = response.getElementsByTagName('gameid')[curItem].firstChild.data;
		document.getElementById('featured_area').innerHTML = "<a href=\"index.php?gameid=" + gameid + "\"><span class=\"header1\">" + header + "</span><br/>" + "<span class=\"header2\">" + description + "</span></a>";
		document.getElementById('featured_area').getElementsByTagName('a')[0].style.background = "url(featured/" + background_img + ")";
		
		if (isSetup == 0) {
			isSetup = 1;
			// Last resort, completely ugly and inelligant solution
			var title1 = response.getElementsByTagName('tabt')[0].firstChild.data;
			var desc1 = response.getElementsByTagName('tabd')[0].firstChild.data;
			var title2 = response.getElementsByTagName('tabt')[1].firstChild.data;
			var desc2 = response.getElementsByTagName('tabd')[1].firstChild.data;
			var title3 = response.getElementsByTagName('tabt')[2].firstChild.data;
			var desc3 = response.getElementsByTagName('tabd')[2].firstChild.data;
			var title4 = response.getElementsByTagName('tabt')[3].firstChild.data;
			var desc4 = response.getElementsByTagName('tabd')[3].firstChild.data;
			
			document.getElementById('tab1').innerHTML = '<a href="javascript:changeItem(0)"><strong>' + title1 + "</strong><br /><span rel=\"small\">" + desc1 + "</span>";
			document.getElementById('tab2').innerHTML = '<a href="javascript:changeItem(1)"><strong>' + title2 + "</strong><br /><span rel=\"small\">" + desc2 + "</span>";
			document.getElementById('tab3').innerHTML = '<a href="javascript:changeItem(2)"><strong>' + title3 + "</strong><br /><span rel=\"small\">" + desc3 + "</span>";
			document.getElementById('tab4').innerHTML = '<a href="javascript:changeItem(3)"><strong>' + title4 + "</strong><br /><span rel=\"small\">" + desc4 + "</span>";
		}
	}
}

function changeItem(num) {
	curItem = num;
	makeRequest('xml/content.xml');
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(makeRequest('xml/content.xml'));
