//NEWS RSS
//uses xmlhttpreq to get the raw rss xml
function getRSS()
{
	var url = 'ajaxproxy.php?url=http://www.snipthemovie.com/rss/hotnews/index.xml';
	var myXhr = new XHR({method: 'get',
		onSuccess:processRSS});
	myXhr.send(url, null);
}

//processes the received rss xml
function processRSS (req,rssxml)
{
	//var rssJsonObj=xml2json.parser(req,'b,i,em');
	RSS = new RSS2Channel(rssxml);
	//showRSS(rssJsonObj.rss.channel.item);
	showRSS(RSS);
}

//object containing the parsed RSS 2.0 channel
function RSS2Channel(rssxml)
{
	//required
	this.title;
	this.link;
	this.description;

	//array of RSS2Item objects
	this.items = new Array();

	//optional vars
	this.language;
	this.copyright;
	this.managingEditor;
	this.webMaster;
	this.pubDate;
	this.lastBuildDate;
	this.generator;
	this.docs;
	this.ttl;
	this.rating;

	//optional objects
	this.category;
	this.image;

	var chanElement = rssxml.getElementsByTagName("channel")[0];
	var itemElements = rssxml.getElementsByTagName("item");

	for (var i=0; i<itemElements.length; i++)
	{
		Item = new RSS2Item(itemElements[i]);
		this.items.push(Item);
		//chanElement.removeChild(itemElements[i]);
	}

	var properties = new Array("title", "link");
	var tmpElement = null;
	for (var i=0; i<properties.length; i++)
	{
		tmpElement = chanElement.getElementsByTagName(properties[i])[0];
		if (tmpElement!= null)
			eval("this."+properties[i]+"=tmpElement.childNodes[0].nodeValue");
	}

	//this.category = new RSS2Category(chanElement.getElementsByTagName("category")[0]);
	//this.image = new RSS2Image(chanElement.getElementsByTagName("image")[0]);
}

//object containing the RSS 2.0 item
function RSS2Item(itemxml)
{
	//required
	this.title;
	this.link;
	this.description;

	//optional vars
	this.author;
	this.comments;
	this.pubDate;

	//optional objects
	this.category;
	this.enclosure;
	this.guid;
	this.source;

	var properties = new Array("title", "link", "description");
	var tmpElement = null;
	for (var i=0; i<properties.length; i++)
	{
		tmpElement = itemxml.getElementsByTagName(properties[i])[0];
		if (tmpElement != null)
			eval("this."+properties[i]+"=tmpElement.childNodes[0].nodeValue");
	}

	//this.category = new RSS2Category(itemxml.getElementsByTagName("category")[0]);
	//this.enclosure = new RSS2Enclosure(itemxml.getElementsByTagName("enclosure")[0]);
	//this.guid = new RSS2Guid(itemxml.getElementsByTagName("guid")[0]);
	//this.source = new RSS2Source(itemxml.getElementsByTagName("source")[0]);
}

//shows the RSS content in the browser
function showRSS(itemsObj)
{
	//default values for html tags used
	var startItemTag = "<div id='item' class='newsitem'>";
	var startTitle = "<div id='item_title'>";
	var startDesc = "<div id='item_desc' style='color: #cccccc;'>";
	var startMore = "<div id='item_more'>";
	var endTag = "</div>";
	var desc = "";
	var formattedDesc="";
	var title="";
	var formattedTitle="";
	
	//populate the items
	$("chan_items").innerHTML = "";
	
	for (var i=0; i<itemsObj.items.length; i++)
	{
		desc = itemsObj.items[i].description;
		desc = desc.replace(/<(?:.|\s)*?>/g,"");
		//desc = desc.replace(/<a.*>/ig,"");
		//desc = desc.replace(/<\/a>/ig,"");
		formattedDesc = desc.substring(0,75);
		formattedDesc = formattedDesc.replace(/\s+\w+$/, '');
		if(desc.length>75){
			formattedDesc+="...";
			
		}
		
		title = itemsObj.items[i].title;
		title = title.replace(/<(?:.|\s)*?>/g,"");
		formattedTitle = title.substring(0,40);
		formattedTitle = formattedTitle.replace(/\s+\w+$/, '');
		if(title.length>40){
			formattedTitle+="...";
		}
		
		item_html = startItemTag;
		item_html += '<div class="newsitemtxt">';
		item_html += (itemsObj.items[i].title == null) ? "" : startTitle + "<a target='_blank' href='"+itemsObj.items[i].link+"'>"+formattedTitle+"</a>" + endTag;
		item_html += (itemsObj.items[i].description == null) ? "" : startDesc +formattedDesc+endTag;
		item_html += endTag;
		item_html += endTag;
		document.getElementById("chan_items").innerHTML += item_html;
	}
	
	/*
	for (var i=0; i<itemsObj.length; i++)
	{
		desc = itemsObj[i].description;
		formattedDesc = desc.substring(0,66);
		formattedDesc = formattedDesc.replace(/\s+\w+$/, '');
		if(desc.length>66){
			formattedDesc+="...";
			
		}
		
		title = itemsObj[i].title;
		formattedTitle = title.substring(0,37);
		formattedTitle = formattedTitle.replace(/\s+\w+$/, '');
		if(title.length>37){
			formattedTitle+="...";
		}
		*/
		/*
		descSenIndex = desc.indexOf(". ");
		if(descSenIndex!=-1){
			desc = desc.substring(0,descSenIndex+1);
		}
		*/
		/*
		item_html = startItemTag;
		item_html += '<div class="newsitemtxt">';
		item_html += (itemsObj[i].title == null) ? "" : startTitle + "<a target='_blank' href='"+itemsObj[i].link+"'>"+formattedTitle+"</a>" + endTag;
		item_html += (itemsObj[i].description == null) ? "" : startDesc +formattedDesc+endTag;
		item_html += endTag;
		item_html += endTag;
		$("chan_items").innerHTML += item_html;
	}
*/
	return true;
}

//get url parameter
function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function jumpToPage(){
	var page = gup('page');
	if(page=="widget"){
		Zap('front','widget');
	}
}
