
// get rss data from url
function __w2rss_getRSS(locationId, url, timeout, target)
{
	// declare local var
	var req;

      // set up request object
	if (window.XMLHttpRequest)
	{
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		//alert("Unable to create HTTP Object");
		return;
	}

    // did we get one
    if (req!=null)
    {
        // call our servlet to get rss data as we can only call to same domain
        req.open("POST", "getRss.rss?rssUrl=" + url + "&rssTimeout=" + timeout);

        // ensure the callback for this
        req.onreadystatechange = function ()
	    {
    		// 4 is completed
    		if (req.readyState != 4) return;

            // 200 is OK (e.g. 404 not found etc)
            //if (req.status == 200) // show details regardless of any error so we can report it.
            {
                __w2rss_showRSS(req, locationId, target);
	    	}
    	}

        // send the request
        req.send(null);
    }
    else
    {
       // alert("Your browser does not support XMLHTTP.")
    }
}

function __w2rss_showRSS(req, locationId,target)
{
    var theXML = req.responseXML;

    // if no xml returned or no items then show error
    if (theXML == null || theXML.getElementsByTagName("item").length==0)
    {
        document.getElementById(locationId).innerHTML=req.responseText;
        return;
    }

    // render RSS feed
    var innerHTML="<div class=\"" + locationId + "w2rss_div\">";

    // get basics
    var theTarget = "_self";
    if(target!=null) theTarget = target;
    var title = "Feature - title not set in title element";
    var link = "Feature - link not set in link element";
    var description = "Feature - Desc no set in description element";

    try{title = theXML.getElementsByTagName("title")[0].firstChild.nodeValue;} catch(err){}
    try{link =  theXML.getElementsByTagName("link")[0].firstChild.nodeValue;} catch(err){}
    try{description = theXML.getElementsByTagName("description")[0].firstChild.nodeValue;}catch(err){}

    // get image
    var image = theXML.getElementsByTagName("image");
    var imgTitle = image[0].getElementsByTagName("title")[0].firstChild.nodeValue;
    var imgLink = image[0].getElementsByTagName("link")[0].firstChild.nodeValue;
    var imgUrl = image[0].getElementsByTagName("url")[0].firstChild.nodeValue;

    innerHTML+="<div><A HREF=\"" + imgLink + "\" target=\""+theTarget+"\"><img class=\"" + locationId + "w2rss_image\" src=\"" + imgUrl + "\"/></A></div>";

	// write title
    innerHTML+="<div class=\"" + locationId + "w2rss_headertitle\"><A HREF=\"" + link + "\" target=\""+theTarget+"\">" + title + "</A></div>";
    innerHTML+="<div class=\"" + locationId + "w2rss_headerdesc\">" + description  + "</div>";

    // get items
    var items = theXML.getElementsByTagName("item");

	for (i = 0; i<items.length;i++)
	{
        var itemTitle = items[i].getElementsByTagName("title")[0].firstChild.nodeValue;
        var itemLink = items[i].getElementsByTagName("link")[0].firstChild.nodeValue;
        var itemDescription = items[i].getElementsByTagName("description")[0].firstChild.nodeValue;
        var itemDate = "";
        try { itemDate = items[i].getElementsByTagName("pubDate")[0].firstChild.nodeValue;} catch(e){}

        innerHTML+="<div class=\"" + locationId + "w2rss_itemtitle\"><A HREF=\"" + itemLink + "\" target=\""+theTarget+"\">" + itemTitle + "</A></div>";
        innerHTML+="<div class=\"" + locationId + "w2rss_itemdate\">" + itemDate + "</div>";
        innerHTML+="<div class=\"" + locationId + "w2rss_itemdesc\">" + itemDescription + "</div>";
    }

    innerHTML+="</div>";
    document.getElementById(locationId).innerHTML=innerHTML;

}
