//////////////////////////////////////////////////////////
//	<JavaScript RSS Reader>				//
//      Modified to be Inserted Embedded Into a Site:	// 
//	Portability/Customization Features Added:	//
//	By Danny Garfield (13/03/04)			//
//	http://www.puuba.com				//
//	http://www.reploid9.com				//
//							//
// 	(c) 2003 Premshree Pillai			//
//	Core Code Written On: 07/06/03 (dd/mm/yy)	//
//	http://www.qiksearch.com/			//
//	http://premshree.resource-locator.com		//
//							//
//////////////////////////////////////////////////////////

/* 
Script Now Supports:
-Variable Number Of Entries Outputted
-Embedding in an HTML File
-Externally Customizable Font/Look

To Use This Script:
	Paste into the <head> section of the HTML page:
		<script src="http://www.puuba.com/team/translator.js"></script>
	
	Then, wherever you want the translated RSS feed to appear, paste:
		<script>
		try {readRSS(unescape("http://www.puuba.com/team/blog.rss"),5);}
		catch(e) {}
		</script>

	Replace the URL with that of the RSS feed you want. Replace the number with
	The max number of entries you want displayed. (posts, on a blog)
	If the number is zero, it means to display ALL available posts.
	If the number is more than the available posts, all available posts will show.

Options:
	NOHR
	NODATE
	  SHOWTIME12
	  SHOWTIME24
	NOAUTHOR
	NODOUBLESPACE
	SHOWBODY
	  TILBR
	NOTITLE
	ALTDATEAUTH
	DATEFIRST


You can customize the colors/styles of the text outputted by this using
a standard style sheet from the outside.
The classes of the words are:
	.rsslink   - the links printed (the titles)
	.rssdate   - the date/time printed
	.rssauthor - the name of the poster.
Normal style declarations (color, size, text decoration, italics, bold, etc) can be
declared in the style sheet as usual. 

*/


function readRSS(URI, number) {
	var hrSwitch = true, authorSwitch = true, dateSwitch = true, doubleSpace = true, showBody = false, showTime12 = false, showTime24 = false, showTitle = true, altform = false, datefirst = false;


	if (arguments.length > 2)
		for (i=2; i<arguments.length; i++) {
			if (arguments[i] == "NOHR")
				hrSwitch = false;
			if (arguments[i] == "NOAUTHOR")
				authorSwitch = false;
			if (arguments[i] == "NODATE")
				dateSwitch = false;
			if (arguments[i] == "NODOUBLESPACE")
				doubleSpace = false;
			if (arguments[i] == "NOTITLE")
				showTitle = false;
			if (arguments[i] == "SHOWBODY")
				showBody = true;
			if (arguments[i] == "SHOWTIME12")
				showTime12 = true;
			if (arguments[i] == "SHOWTIME24")
				showTime24 = true;
			if (arguments[i] == "ALTDATEAUTH")
				altform = true;
			if (arguments[i] == "DATEFIRST")
				datefirst = true;
		}




	if(window.ActiveXObject) {
		var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		while(xmlDoc.readyState!=4) document.write('Loading...');
	}
	else if(document.implementation&&document.implementation.createDocument)
		xmlDoc=document.implementation.createDocument("","doc",null);
	xmlDoc.load(arguments[0]);
	items=xmlDoc;

	function verify() {if(xmlDoc.readyState!=4) return false;}

	function formatRSS(number) {
		var items_count;
		if ((number == 0) || (number > items.getElementsByTagName('entry').length))
			items_count=items.getElementsByTagName('entry').length;
		else
			items_count=number;
		if (items_count > 5) items_count=5;	
		var date=new Array(), time=new Array(), link=new Array(), title=new Array(), temp, temp2;

		for(var i=0; i<items_count; i++) {
			if(items.getElementsByTagName('entry')[i].getElementsByTagName('published').length!=0)
				date[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('published')[0];
  		if(items.getElementsByTagName('entry')[i].getElementsByTagName('link').length!=0)
				link[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('link')[0].attributes.getNamedItem('href').value;
			if(items.getElementsByTagName('entry')[i].getElementsByTagName('title').length!=0)
				title[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('title')[0];

			temp = date[i].firstChild.nodeValue;
			date[i] = temp.substring(8,temp.indexOf("T"));
			date[i] += '.'+temp.substring(5,7);
			date[i] += '.'+temp.substring(0,4);

			
			if (showTime24)
				time[i] = temp.substring(temp.indexOf("T")+1,temp.indexOf("Z"));

			else if (showTime12) {
				temp2 = temp.substring(temp.indexOf("T")+1,temp.indexOf("T")+3);
				if (temp2 > 12)
					time[i] = temp2 - 12;
				else	
					time[i] = temp2;
				time[i] = time[i] + temp.substring(temp.indexOf("T")+3,temp.indexOf("Z"));

			}

		}

		if(title.length==0){ return false;}

		var ws=/\S/;

		for(var i=0; i<items_count; i++) {
			var title_w, link_w;
			if(document.all)
				title_w=(title.length>0)?title[i].text:"<i>Untitled</i>";
			else
				title_w=(title.length>0)?title[i].firstChild.nodeValue:"<i>Untitled</i>";

			link_w=(link.length>0)?link[i]:"";
			if(title.length>0) title_w=(!ws.test(title_w))?"<i>Untitled</i>":title_w;
			if (showTitle) document.write('<li><a href="'+link_w+'">'+ date[i]+'<br />'+title_w+'</a>');
		}

	}

	if(typeof(xmlDoc)!="undefined") {
		if(window.ActiveXObject) formatRSS(arguments[1]);
		else xmlDoc.onload=formatRSS;
	}
}