var news_url = "/xml/news.xml";
var req_cntr = 0;

function loadNews(){
	var req;
	
	req_cntr++;
	
	try{
		// Firefox, Opera 8.0+, Safari
		req = new XMLHttpRequest();
	}
	catch(e){
		// Internet Explorer
		try{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				alert("Your browser does not support AJAX!");
				
				return false;
			}
		}
	}
	
	req.onreadystatechange = function(){
		if(req.readyState == 4){
				if(req.status == 200){
					var cont = document.createElement("div");
					
					//create the table to house the xml data
					var news_cont = document.getElementById("news_container");
					var table = createTable();
					
					var xml = req.responseXML;
					var stories = xml.getElementsByTagName("story");
					
					for(var i=0; i < stories.length; i++){
						if(i != 0){
							table.appendChild(createRow(null));
						}
						
						table.appendChild(createRow(stories[i]));
					}
					cont.appendChild(table);
					
					news_cont.innerHTML = cont.innerHTML;
				}
				else{
					if(req_cntr < 3){
						loadNews();
					}
					else{
						alert("ERROR!!!\n\nNews could not be loaded. Sorry for the inconvienence. You may try to access the news by reloading the page.");
					}
				}
			}
		}
	
	req.open("GET", news_url, true);
	
	req.send(null);
}

function createTable(){
	var t = document.createElement("table");
	
	t.setAttribute("border", "0");
	t.setAttribute("cellpadding", "0");
	t.setAttribute("cellspacing", "0");
	t.setAttribute("width", "100%");
	t.setAttribute("id", "news_holder");
	
	return t;
}

function createRow(n){
	var tr = document.createElement("tr");
	var td = document.createElement("td");
		
	if(n){
		var desc = n.getElementsByTagName("description")[0].firstChild.nodeValue;
		var url = "";
		var target = "_self";
		
		td.appendChild(document.createTextNode(desc));
		
		(n.getElementsByTagName("url")[0].firstChild) ? url = n.getElementsByTagName("url")[0].firstChild.nodeValue : false;
				
		if(url){
			var a = document.createElement("a");
			
			a.setAttribute("href", url);
			
			(n.getElementsByTagName("url")[0].attributes.length) ? target = n.getElementsByTagName("url")[0].attributes[0].value : false;
						
			a.setAttribute("target", target);
			
			a.setAttribute("class", "more_info");
			
			a.appendChild(document.createTextNode("more info"));
			
			td.appendChild(a);
		}
	}
	else{
		td.setAttribute("height", "10");
	}
	
	tr.appendChild(td);
	
	return tr;
}