//////////////////////////////////////////////////////////
//	<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				//
//	CaSIL Features Added:				//
//	By Justin Merz 9/5/2006				//
//							//
// 	(c) 2003 Premshree Pillai			//
//	Core Code Written On: 07/06/03 (dd/mm/yy)	//
//	http://www.qiksearch.com/			//
//	http://premshree.resource-locator.com		//
//							//
//////////////////////////////////////////////////////////

function show_rss(){
	show_content("rss_popup");
}

function readRSS(URI, number) {
	var hrSwitch = true, authorSwitch = true, dateSwitch = true, doubleSpace = true, showBody = true, 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;
		}

	var ie=false;
	var xmlhttprss=false;
	try {
		xmlhttprss = new ActiveXObject("Msxml2.XMLHTTP");
		ie = true;
	} catch (e) {
		try {
			xmlhttprss = new ActiveXObject("Microsoft.XMLHTTP");
			ie = true;
		} catch (E) {
			xmlhttprss = false;
		}
	}
	var xmlDoc;
	if (!xmlhttprss && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttprss = new XMLHttpRequest();
		} catch (e) {
			xmlhttprss=false;
		}
	}
	if (!xmlhttprss && window.createRequest) {
		try {
			xmlhttprss = window.createRequest();
		} catch (e) {
			xmlhttprss=false;
		}
	}
	
	// rssConfig['debug'] = URI;

	xmlhttprss.open("GET", URI, true);
	xmlhttprss.onreadystatechange=function() {
	    if (xmlhttprss.readyState==4) {
	    	if( xmlhttprss.status == 200 ){
	    		var tmpstrXML = xmlhttprss.responseText;
			var xml;
			if(ie){
				xml=new ActiveXObject("Microsoft.XMLDOM");
				xml.async="false";
				xml.loadXML(tmpstrXML);
			} else {
				xml = (new DOMParser()).parseFromString(tmpstrXML, "text/xml");
			}
			formatRSS(number, xml);
		}
	    }
	}
	xmlhttprss.send(null);

}

function formatRSS(number, items) {
	var hrSwitch = true, authorSwitch = true, dateSwitch = true, doubleSpace = true, showBody = true, showTime12 = false, showTime24 = false, showTitle = true, altform = false, datefirst = false;

		number = 5;
		var items_count;
		if ((number == 0) || (number > items.getElementsByTagName('entry').length))
			items_count=items.getElementsByTagName('entry').length;
		else
			items_count=number;

		var date=new Array(), time=new Array(), link=new Array(), title=new Array(), description=new Array(), guid=new Array(), body=new Array(), temp, temp2;

		for(var i=0; i<items_count; i++) {
			if(items.getElementsByTagName('entry')[i].getElementsByTagName('date').length==1){
				date[i] =  items.getElementsByTagName('entry')[i].getElementsByTagName('date')[0].firstChild.nodeValue;
			} else if(items.getElementsByTagName('entry')[i].getElementsByTagName('dc:date').length==1){
				date[i] =  items.getElementsByTagName('entry')[i].getElementsByTagName('dc:date')[0].firstChild.nodeValue;
			}
			if(items.getElementsByTagName('entry')[i].getElementsByTagName('link').length==1)
				link[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('link')[0];
			if(items.getElementsByTagName('entry')[i].getElementsByTagName('guid').length==1)
				guid[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('guid')[0];
			if(items.getElementsByTagName('entry')[i].getElementsByTagName('title').length==1)
				title[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('title')[0];
			if(items.getElementsByTagName('entry')[i].getElementsByTagName('creator').length==1){
				description[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('creator')[0].firstChild.nodeValue;
			} else if(items.getElementsByTagName('entry')[i].getElementsByTagName('dc:creator').length==1) {
				description[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('dc:creator')[0].firstChild.nodeValue;
			}
			if(items.getElementsByTagName('entry')[i].getElementsByTagName('description').length==1){
				body[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('description')[0];
			}

			title[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('title')[0];
			link[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('link')[0].getAttribute('href');
			body[i]=items.getElementsByTagName('entry')[i].getElementsByTagName('summary')[0];
		}

		var leftColumnTop = document.getElementById('left_column').getElementsByTagName('div')[0];
		var ws=/\S/;

		var newsHeader = document.createElement( rssConfig['headerLevel'] );
		newsHeader.appendChild( document.createTextNode( rssConfig['headerTitle'] ) );
		leftColumnTop.appendChild( newsHeader );

		var newsList = document.createElement('ul');

		if( rssConfig['ulClass'] ) {
			newsList.setAttribute('class', rssConfig['ulClass']);
		}

		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>";

			title_w = title_w.replace( /(<br><br>|<br>)/g, ' - ' );
			title_w = title_w.replace( /<[^>]*>/g, '' );

			var curListItem = document.createElement('li');
			curListItem.style.marginBottom = "3px";
			curListItem.style.padding = "2px";

			link_w=link[i];
			if(link.length==0) link_w=(guid.length>0)?guid[i].firstChild.nodeValue:"";
			if(title.length>0) title_w=(!ws.test(title_w))?"<i>Untitled</i>":title_w;

			var curLink = document.createElement('a');
			curLink.setAttribute('href', link_w);
			curLink.setAttribute('target', '_blank');
			var curLinkTitle = document.createElement('span');
			curLinkTitle.innerHTML = title_w;
			curLink.appendChild(curLinkTitle);

			curListItem.appendChild(curLink);

			newsList.appendChild(curListItem);
		}

		var htmlListItem = document.createElement('li');
		htmlListItem.style.listStyleType = "none";
		var br = document.createElement('br');
		htmlListItem.appendChild(br);
		var htmlLink = document.createElement('a');
		htmlLink.setAttribute('href', 'http://www.google.com/reader/shared/01174513842957713129');
		htmlLink.setAttribute('target', '_blank');
		htmlLink.style.styleFloat = "left"; // IE
		htmlLink.style.cssFloat = "left";
		htmlLink.appendChild(document.createTextNode('More...'));
		htmlListItem.appendChild(htmlLink);

		var feedLink = document.createElement('a');
		feedLink.setAttribute('href', 'http://www.google.com/reader/public/atom/user%2F01174513842957713129%2Fstate%2Fcom.google%2Fbroadcast');
		feedLink.setAttribute('target', '_blank');
		feedLink.style.styleFloat = "right"; // IE
		feedLink.style.cssFloat = "right";
		feedLink.style.paddingRight = "10px";
		var feedLinkIcon = document.createElement('img');
		feedLinkIcon.setAttribute('src', 'http://www.atlas.ca.gov/images/ca_department/rss-feed-icon-16x16.png');
		feedLink.appendChild(feedLinkIcon);
		htmlListItem.appendChild(feedLink);

		br = document.createElement('br');
		htmlListItem.appendChild(br);

		newsList.appendChild(htmlListItem);

		leftColumnTop.appendChild(newsList);
}



