//Set variables to control which entries in feed are shown
var startPoint = 0;
var endPoint = 4;

function BlogPreview(container) {
	this.container_ = container;
}

BlogPreview.prototype.show = function(url, opt_noTitle) {
	var feed = new google.feeds.Feed(url);
	feed.setNumEntries(endPoint);//Maximum feed entries to show
	var preview = this;
	feed.load(function(result) {
		preview.render_(result, opt_noTitle);
	});
}

BlogPreview.prototype.render_ = function(result, opt_noTitle) {
	if (!result.feed || !result.feed.entries) return;
	while (this.container_.firstChild) {
		this.container_.removeChild(this.container_.firstChild);
	}
	var blog = this.createDiv_(this.container_, "blog");
	for (var i = startPoint; i < endPoint; i++) {
		var entry = result.feed.entries[i];
		var attributes = ["title", "link", "publishedDate", "contentSnippet"];
		
		/* To alternate classes for even/odd numbered items */
		if (i % 2 == 0 ) {
			var div = this.createDiv_(blog, "entry");
		}
		else {
			var div = this.createDiv_(blog, "entry_alt");
		}
		if (result.feed.entries.length < endPoint) {
			this.createDiv_(div, "title", "Sorry, this feed is unavailable. Please try again later.");
		}
		else {
			var linkDiv = this.createDiv_(div, "tweet");
			this.createLink_(linkDiv, entry.link, entry.title);
			
			if (entry.author) {
				var itemdate = new Date(entry[attributes[2]]);									
				var itemdate_yr=itemdate.getFullYear();
				var itemdate_mon=itemdate.getMonth()+1;
				var itemdate_day=itemdate.getDate();
				
				var authorItem = entry.author;
				var authorNames = authorItem.split(" ");
				/** authorNames[0] == twitter handle (maximum of 15 chars) **/
				/** authorNames[1] == (REAL NAME) **/
				
				/* Change date formatting here: */
				var output= itemdate_mon + "/" + itemdate_day + "/" + itemdate_yr;
				
				/* creation of AUTHOR div: */
				//this.createDiv_(div, "author", authorNames[0] + "<br/>" + authorNames[1]);
				this.createDiv_(div, "author", authorNames[0]);
				
				/* creation of DATE div: */
				//this.createDiv_(div, "date", "posted on " + output);
				
				this.createDiv_(div, "tweetBreak");
				
				//detects last tweet leaves of divider line at end of list
				if (i == endPoint-1) {
					var div = this.createDiv_(blog, "noTweetLine");
				}
				else {
					var div = this.createDiv_(blog, "tweetLine");
				}
			}
		}
	}
}

BlogPreview.prototype.createDiv_ = function(parent, className, opt_text) {
	return this.createElement_("div", parent, className, opt_text);
}

BlogPreview.prototype.createLink_ = function(parent, href, text) {
	var link = this.createElement_("a", parent, "tweetLink", text);
	link.href = href;
	return link;
}

BlogPreview.prototype.createElement_ = function(tagName, parent, className, opt_text) {
	var div = document.createElement(tagName);
	div.className = className;
	parent.appendChild(div);
	if (opt_text) {
		div.appendChild(document.createTextNode(opt_text));
	}
	return div;
}

function initializeTwitter() {
	//var url = "http://pipes.yahoo.com/pipes/pipe.run?_id=ab08e1fc862aab7fa0cf4e636d8d4704&_render=rss";
	
	//var url = "http://search.twitter.com/search.atom?lang=en&q=+%23SHO_House+from%3AMsmarTWC+OR+from%3AjeffTWC+OR+from%3Afreakgirldotcom+OR+from%3AMicawave+OR+from%3Aobscenenyc+OR+from%3Aunterekless";
	
	var url = "http://search.twitter.com/search.atom?lang=en&q=%23SHO_House";
	
	//MsmarTWC jeffTWC freakgirldotcom Micawave obscenenyc unterekless hamsandwich
	//Rosco81 davidulloacom Batterydigital hovaswitness PointClickHome
	
	var twitter_feed = new BlogPreview(document.getElementById("twitter_feed"));
	
	twitter_feed.show(url);
	return false;
}