function upcomingEventsHandler()
{
    var requestPath = "/webContent/welcome/upcomingEvents.xml";
    var articlePath = "/webContent/welcome/upcomingEvents/";
	var http;
    var containerId = "eventContainer";
    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)
		    {
		    return false;
		    }
	      }
	    }
    	
	    return xmlHttp;
      }
      

    function loadContents(xmlDom)
    {
	    //Variables
	    var container = document.getElementById(containerId);
	    var ulList;
	    var liListItem;
	    var lblTitle;
	    var spnDesc;
    	
	    var nEvents;
		var maxLength = 6;
		var eventCount = 1;
    	
	    //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++)
		    {
				if(eventCount > maxLength) break;	//Break if number of events loaded is greater than max
				
			    var evnt = nEvents[i];
			    var nTitle, nDesc,nUrl, aDate;
			    var textNode, alink;
				var d = new Date();
			    
			    liListItem = document.createElement("li");
			    lblTitle = document.createElement("label");
			    spnDesc = document.createElement("span");

			    aDate = evnt.getAttribute("date");
				nTitle = evnt.getElementsByTagName("title")[0];
			    nDesc = evnt.getElementsByTagName("description")[0];
				nUrl = evnt.getElementsByTagName("url")[0];
				
				d.setDate(d.getDate() - 1)
				if(new Date(aDate) >= d)
				{
					eventCount += 1;
					
					//Get Title
					if(nTitle)
					{
						textNode = document.createTextNode(nTitle.firstChild.nodeValue);
					}				
						
					//Create Link and append Title
					if(nUrl.firstChild && nUrl.firstChild.length > 0)
					{
						alink = document.createElement("a");
						alink.appendChild(textNode);
						//alink.href = (nUrl.firstChild)? nUrl.firstChild.nodeValue:"#";  //7-23-2008 : KG : Replaced with URL Checker and absolute articlePath
						switch(nUrl.firstChild.nodeValue.indexOf("http://"))
					    {
							case -1:
								alink.href= (nUrl.firstChild && nUrl.firstChild.nodeValue.length > 0)?articlePath + nUrl.firstChild.nodeValue:"#";
								break;
							default:
							    alink.href = (nUrl.firstChild && nUrl.firstChild.nodeValue.length > 0)?nUrl.firstChild.nodeValue:"#"
								break;
					    }
						
						alink.target = "_blank";
						lblTitle.appendChild(alink);
					}
					else
					{
						lblTitle.appendChild(textNode);
					}
					//Append Description to List Item
					if(nDesc)
					{
						textNode = document.createTextNode(nDesc.firstChild.nodeValue);
						spnDesc.appendChild(textNode);
						liListItem.appendChild(lblTitle);
					}

					liListItem.appendChild(lblTitle);
					liListItem.appendChild(spnDesc);
					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 upcomingEventsHandler().queryInformation();});
}
else
{
	window.addEventListener("load",function(){new upcomingEventsHandler().queryInformation();},false);
}