function RssBlog()
{
	var _Posts = new Array();
	
	this.ReadPosts = _ReadPosts;
	this.GetNumber = _GetNumber;
	this.GetPosts = _GetPosts;
	
	function _GetNumber()
	{
		if( _Posts ) return _Posts.length;
		return 0;
	}
	
	function _GetPosts(){return _Posts;}
	
	function _ReadPosts( xml )
	{	
		//this.Posts.push( new AtomBlogPost( "test", "http://test", "yesterday", "today" ) );
		//alert( this.Posts[0].ToString() );
		
		xmlDoc = CreateXmlDocFromString( xml );

		if( xmlDoc != null )
		{
			var feedNode = xmlDoc.getElementsByTagName('rss');
			var channelNodes = feedNode[0].getElementsByTagName('channel');
			var entryNodes = channelNodes[0].getElementsByTagName('item');
			
			for( iNodeNumber = 0; iNodeNumber < entryNodes.length; iNodeNumber++ )
			{
				node = entryNodes[iNodeNumber];

				titleNodes = node.getElementsByTagName('title');
				linkNodes = node.getElementsByTagName('link');
				descriptionNodes = node.getElementsByTagName('description');
				dateNodes = node.getElementsByTagName('pubDate');
				
				var title = "", link = "", description = "", date = "";
				
				if( titleNodes != null && titleNodes.length )
					title = titleNodes[0].childNodes[0].nodeValue;
				
				if( linkNodes != null && linkNodes.length )
					for( iLink = 0; iLink < linkNodes.length; iLink++ )
					{
						if( linkNodes[iLink].getAttribute('rel') == 'alternate' )
							link = linkNodes[iLink].getAttribute('href');
					}
				if( descriptionNodes != null && descriptionNodes.length )
					description = descriptionNodes[0].childNodes[0].nodeValue;
				if( dateNodes != null && dateNodes.length )
					date = dateNodes[0].childNodes[0].nodeValue;
				
				AddPost( title, link, description, date );
			}
		}
	}
	
	function AddPost( title, link, description, date )
	{
		_Posts.push( new RssBlogPost( title, link, description, date ) );
	}
}

function RssBlogPost( title, link, description, date )
{
		this.Title = title;
		this.Link = link;
		this.Description = description;
		this.PublishDate = date;
		this.ToString = _ToString;
		
		function _ToString()
		{
			return this.Title + " " + this.Link + " " + this.Description + " " + this.PublishDate;
		}
}
