
var rssReader_rssFeed;
var rssReader_rssItems;
var rssReader_moz = ((typeof(document.implementation) != 'undefined') && (typeof(document.implementation.createDocument) != 'undefined'));
var rssReader_ie = (typeof(window.ActiveXObject) != 'undefined');
var rssReader_isFeedLoaded = false;
var rssReader_rssTitle = "";
var rssReader_xml = "";

function rssReader_Init(feedURL, titleClassName, descriptionClassName)
{
	rssReader_loadXML(feedURL);
	rssReader_setRSSTitle();
	rssReader_buildRSSReader(titleClassName, descriptionClassName);
}

function rssReader_loadXML(xmlFile)
{

	if(rssReader_moz)
	{
		rssReader_rssFeed = document.implementation.createDocument("", "", null)
		rssReader_rssFeed.onload = rssReader_readXML;
	}
	else if(rssReader_ie)
	{
		rssReader_rssFeed = new ActiveXObject("Microsoft.XMLDOM");
		rssReader_rssFeed.async = false;
		rssReader_rssFeed.onreadystatechange = rssReader_readXML;
	}

	try
	{
		rssReader_rssFeed.loadXML(xmlFile);
	}
	catch(err)
	{
	
	}
}

function rssReader_readXML()
{
	if(rssReader_moz)
	{
		rssReader_getRSSItems();
		rssReader_isFeedLoaded = true;
		return true;
	}
	else if(rssReader_ie)
	{
		if(rssReader_rssFeed.readyState != 4)
		{
			return false;	
		}
		else
		{
			rssReader_getRSSItems();
			rssReader_isFeedLoaded = true;
			return true;
		}
	}
}

function rssReader_getRSSItems()
{
	if(rssReader_rssFeed != null)
	{
		if(rssReader_rssFeed.getElementsByTagName("rss")[0] != null && rssReader_rssFeed.getElementsByTagName("rss")[0].getElementsByTagName("channel")[0].getElementsByTagName("item") != null)
		{
			rssReader_rssItems = rssReader_rssFeed.getElementsByTagName("rss")[0].getElementsByTagName("channel")[0].getElementsByTagName("item");
		}
	}
}

function rssReader_setRSSTitle()
{
	var rssTitle = document.getElementById("rssTitle");
	
	if(rssReader_isFeedLoaded)
	{
		if(rssReader_rssFeed != null)
		{
			if(rssReader_rssFeed.getElementsByTagName("rss")[0] != null && rssReader_rssFeed.getElementsByTagName("rss")[0].getElementsByTagName("channel")[0].getElementsByTagName("title") != null)
			{
				rssReader_rssTitle = rssReader_rssFeed.getElementsByTagName("rss")[0].getElementsByTagName("channel")[0].getElementsByTagName("title")[0].firstChild.nodeValue;
			}
			else
			{
				rssReader_rssTitle = "Latest RSS Headlines";
			}
		}
	}
	else
	{
		window.setTimeout("rssReader_setRSSTitle()", 0);
	}
}

function rssReader_buildRSSReader(titleClassName, descriptionClassName)
{
	var title = "";
	var description = "";
	var url = "";
	var html = "";
	
	if(rssReader_rssItems != null)
	{
		for(var i = 0; i < rssReader_rssItems.length; i++)
		{
			title = rssReader_rssItems[i].getElementsByTagName("title")[0].firstChild.nodeValue;
			description = rssReader_rssItems[i].getElementsByTagName("description")[0].firstChild.nodeValue;
			url = rssReader_rssItems[i].getElementsByTagName("link")[0].firstChild.nodeValue;
			
			html += "<span class='" + titleClassName + "'><a href='" + url + "'>" + title + "</a></span><br>";
			html += "<span class='" + descriptionClassName + "'>" + description + "</span><br><br>";
			
			document.write(html);
			
			html = "";
		}
	}
	else
	{
		window.setTimeout("rssReader_buildRSSReader('" + titleClassName + "', '" + descriptionClassName + "')", 0);
	}
}

var xmlHttp;
 
 function GetXmlHttpObject()
 {
  var objXMLHttp = null;
  if (window.XMLHttpRequest)
  {
   objXMLHttp = new XMLHttpRequest();
  }
  else if (window.ActiveXObject)
  {
   objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  return objXMLHttp;
 }
 
 function stateChanged()
 {
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
  {
   document.write("<textarea rows='100' cols='50'>" + xmlHttp.responseText + "</textarea>")
  
   /*
   rssReader_loadXML(xmlHttp.responseText);
   rssReader_setRSSTitle();
   rssReader_buildRSSReader("", "");
   */
   xmlHttp = null;
  } 
 
  
 }
 
function getResponse(url)
{
    xmlHttp = GetXmlHttpObject();
 
    if (xmlHttp != null)
  {
  //alert("hello");
   var header = "Content-Type:application/x-www-form-urlencoded; charset=UTF-8";
   var url = url;
   
   xmlHttp.onreadystatechange = stateChanged;
   xmlHttp.open("GET", url, true);
   xmlHttp.setRequestHeader(header.split(':')[0],header.split(':')[1]);
   
   xmlHttp.send(null);
  }
}
