/*	Simple Javascript RSS Reader Version 1.0
	Copyright (c) 2006 CS Truter
	Written by Christoff Truter
	email: Christoff@cstruter.com - (Please let me know if you intend to use the script) */

/* Replace all occurances of a string
  (Parameters) totalValue:'complete string'
		oldValue:'value to be replaced' newValue:'value used for replace' */

function Replace(totalValue,oldValue,newValue)
{
	while(totalValue.indexOf(oldValue) > -1)
		totalValue=totalValue.replace(oldValue,newValue);
			return totalValue;
}

/* Get XML Node
   (Parameters) TagName:'XML Element' node:'Element row number' */

function getNode(TagName, node)
{
	var currentNode = (node == null) ? xmlDoc.getElementsByTagName(TagName) :
					items[node].getElementsByTagName(TagName);
	if(currentNode.length > 0)
		return currentNode[0].firstChild.nodeValue;
}

/* Load XML Object
   (Parameters) rssFeed:'RSS File' Body:'Layer for RSS Body' Title:'Layer for RSS Title' */

function ReadRSS(rssFeed)
{
	//rssTitle = document.getElementById(Title);
	//rssBody = document.getElementById(Body);

	try
	{

	  xmlDoc=loadXMLDoc(rssFeed);




       items=xmlDoc.getElementsByTagName('item');
       var output = SetRSSTemplates();
		/*if (document.all)
		{
			var errorHappendHere = "Check Browser and security settings";
			xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		}
		else
		{
			var errorHappendHere = "Apparently one cant read remote xml via firefox, please copy the file to your server";
			xmlDoc = document.implementation.createDocument("","",null);
		}

		xmlDoc.async=false;
		xmlDoc.load(rssFeed);*/

		items=xmlDoc.getElementsByTagName('item');
		var output = SetRSSTemplates();

	}

	catch(e)
	{
		//alert("here"+e);
		//rssTitle.innerHTML = 'Error occured';
		//rssBody.innerHTML = 'Thrown Error:'+e.message+"<br/>Note: "+errorHappendHere;
	}

	return output;
}

/* Set HTML Template
	Did it this way to make the look and feel of the feed easy customizable, dont like mixing
	layout with code. */
 function loadXMLDoc(dname)
       {
           if (window.XMLHttpRequest)
             {
             xhttp=new XMLHttpRequest();
             }
           else
             {
             xhttp=new ActiveXObject("Microsoft.XMLHTTP");
             }
           xhttp.open("GET",dname,false);
           xhttp.send("");
           return xhttp.responseXML;
       }
function SetRSSTemplates()
{

	var output = "";
	output += "<p style=\"font-size:10px;font-weight:normal;font-family:Verdana, Arial, Helvetica,sans-serif;text-align:left;\"><a style = \"color:#4682B4;font-size:11px;font-weight:bold;font-family:Verdana, Arial, Helvetica, sans-serif;text-align:center;text-decoration:underline;\" href = \""+getNode('link')+"\" target = \"_blank\">"+getNode('title')+"</a>";
	output += "<br/><span><b>"+getNode('pubDate')+"</b></span><br />"+getNode('description')+"</p>";
		for(var i=0; i< items.length; i++)
		{
			output += "<p style=\"font-size:10px;font-weight:normal;font-family:Verdana, Arial,Helvetica,sans-serif;text-align:left;\"><a style=\"color:#4682B4;font-size:11px;font-weight:bold;font-family:Verdana, Arial, Helvetica, sans-serif;text-align:center;text-decoration:underline;\" href=\""+getNode('link',i)+"\" target = \"_blank\">"+getNode('title',i)+"</a><br />";
			output += "<span><b>"+getNode('pubDate',i)+"</b></span><br />";
			output += "<span>"+getNode('description',i)+"</span>";
			output += "</p>";
		}
		output += "</div>";


		return output;

}
