function newsHandler()
{
    var http;
    var requestPath = "/webContent/welcome/news.xml";
	var articlePath = "/webContent/welcome/news/";
    var containerId = "newsContainer";
    var xmlElement = "eventItem";

    this.queryInformation = function ()
    {
	    http = getHttpAdapter();
	    http.onreadystatechange = http_onreadystatechange;
	    http.open("GET",requestPath,true);
	    http.send(null);
    }

    function getHttpAdapter()
      {
      var xmlHttp;
      try
        {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
        }
      catch (e)
        {
        // Internet Explorer
        try
          {
          xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
          }
        catch (e)
          {
          try
            {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
          catch (e)
            {
            alert("Your browser does not support AJAX!");
            return false;
            }
          }
        }
    	
	    return xmlHttp;
      }
      

    function loadContents(xmlDom)
    {

	    //Variables
	    var container = document.getElementById(containerId);
	    var ulList;
	    var liListItem;
	    var lblTitle;
	    var spnDesc;
    	
	    var nEvents;
    	
	    //Get Upcoming Events
	    nEvents = xmlDom.getElementsByTagName(xmlElement);
	    if(nEvents && nEvents.length > 0)
	    {	
		    //Load List
		    ul = document.createElement("ul");
		    container.appendChild(ul);
    		
		    for(i=0;i<nEvents.length;i++)
		    {
                var evnt = nEvents[i];
			    var nTitle, nUrl;
		        var aDate = evnt.getAttribute("date");
		        var d = new Date();
		        
		        d.setDate(d.getDate() - 1)
				if((aDate != null && new Date(aDate) >= d)
				    || !aDate)   //if a date is defined and it is greater than today's date || no date defined
				{
			        liListItem = document.createElement("li");
			        lblTitle = document.createElement("label");
			        aLink = document.createElement("a");

			        nTitle = evnt.getElementsByTagName("title")[0];
			        nUrl= evnt.getElementsByTagName("url")[0];
        		
			        if(nTitle)
			        {
                   	    textNode = document.createTextNode(nTitle.firstChild.nodeValue);
					    aLink.appendChild(textNode);
			        }
					
			        if(nUrl)
			        {
					    switch(nUrl.firstChild.nodeValue.indexOf("http://"))
					    {
						case -1:
							aLink.href= (nUrl.firstChild)?articlePath + nUrl.firstChild.nodeValue:"#";
							break;
						default:
						    aLink.href = (nUrl.firstChild)?nUrl.firstChild.nodeValue:"#"
							break;
					    }
			        }
    			    aLink.target = "_blank";
			        aLink.appendChild(lblTitle);
			        liListItem.appendChild(aLink);
			        ul.appendChild(liListItem);		
			    }
		    }
	    }
	    else
	    {
		    container.innerHtml = "<label>No Upcoming Events Available</label>";
	    }

    }
      
    function http_onreadystatechange()
    {
	    if(http.readyState == 4)
        {
		    var responseDom = http.responseXML;
		    if(responseDom)
		    {
			    loadContents(responseDom);
		    }
        }
    }

}


if(document.all)
{
	window.attachEvent("onload", function(){new newsHandler().queryInformation();});
}
else
{
	window.addEventListener("load",function(){new newsHandler().queryInformation();},false);
}