
function RSS() {
	this.xml = null;
	this.isLoaded = false;
	this.error = null;
	this.items = 3;
	
	this.load = _load;
	this.check = _check;
	this.populateContainer = _populateContainer;
}

function _load(url, container) {
    //return this.url;


	var master = this;
	var xmlDoc = {};
	/*if (/MSIE/.test(navigator.userAgent)) {
		//alert(navigator.userAgent);
		//return;
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.load("note.xml");
	} else {
		new Ajax.Request(url, {
		  method: 'get',
		  onSuccess: function(transport) {
		    master.xml = transport.responseXML;
			//alert(master + " - " + master.xml + " - " + transport.responseXML);
			//for (var i in transport) {
			//	alert( transport['responseText'] + " " + "a");
			//}

			if (master.check()) {
				//alert("A" + container);
				master.populateContainer(container);
				//alert("B");
			}
		  }
		});
	}*/
	
	try {//try IE first
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
 		xmlDoc.async=false;
		xmlDoc.load(url);
	} catch(e) {
		try {//try Mozilla, Firefox, Opera, etc.
			xmlDoc = document.implementation.createDocument("", "", null);
 			xmlDoc.async=false;
			xmlDoc.load(url);
		} catch(e) {
			try {//try Chrome, Safari, etc
				var xmlhttp = new window.XMLHttpRequest();
				xmlhttp.open("GET",url,false);
				xmlhttp.send(null);
				xmlDoc = xmlhttp.responseXML.documentElement;
			} catch(e){
				alert(e.message);
				return;
			}
		}
	}
	this.xml = xmlDoc;
	this.populateContainer(container);
}

function _populateContainer(container) {

	var xml = this.xml;
	if (!xml)
		return;

	var i = 0;
	var items = xml.getElementsByTagName('item');
	var item_count = items.length > this.items ? this.items : items.length;
	
	$(container).update();

	for (;i < item_count; i++) {
		var item = items[i];
		var ob = {};
		for (var sitem = item.firstChild; sitem; sitem = sitem.nextSibling) {
		    if (sitem.nodeName == "#text")
		        continue;
		    if (!ob[sitem.nodeName])
		        ob[sitem.nodeName] = sitem.firstChild.nodeValue;
		}
		if (ob['title'] && ob['link'])
			$(container).insert(
				new Element('div', {'class':'news_item'}).insert(
					new Element('a', {href: ob['link']}).update(ob.title)
				)
			);

	}
}

function _check() {
	var xml = this.xml;
	//alert(xml.firstChild.nodeName);
	return xml && xml.firstChild && /(?:rss|xml)/.test(xml.firstChild.nodeName);
}
