// JavaScript Document
google.load('feeds', '1');

/* jsonifySSList
 * Turn content returned by spreadsheet into JSON object
 */
function jsonifySSList(root) {
  for (var x=0; x<root.feed.entries.length; ++x) {
    try {
      // convert the content string into object notation
      // overwrite the content string with the object
      root.feed.entries[x].content = eval('({"'+ root.feed.entries[x]["content"]
          // remove weird whitespace characters
          .replace(/[\n\r\t\f\v\0]/g, '')
          // escape double quotes
          .replace(/\u0022/g, '\\"')
          // encapsulate keys/vals in double quotes
          .replace(/, (\w+): /g, '", "$1": "')
          .replace(/^(\w+): /g, '$1": "')
          +'"})');
    } catch(err) {
      // error handling
    }

  }
  return root.feed.entries;
}
/* expand()
 * execute when 'show post' is clicked. 
 * generate snippet from first post in feedURL and populate in div with id blogID
 */
function expand(feedURL, blogID) {
  var feed = getFeedObj(feedURL, 3);
  var post_snippet = document.createElement('div');

  feed.load(function(result) {
    if (!result.error) {
      var post = '';
      var i = 0;
      for(i = 0; i < 3; i++) {
        var date = result.feed.entries[i].publishedDate.substr(0, result.feed.entries[i].publishedDate.length - 14);
				var description = result.feed.entries[i].contentSnippet;
        post = post +           			 
			 '<div class="posts"><div class="links"><strong>' + '<a href="' +
               result.feed.entries[i].link+ '">' + result.feed.entries[i].title+ '</a></strong>'+ '<a href="' + result.feed.entries[i].link + '"></a>' +
               '</div>' +
               '<div class="date">' + date + '</div>' +
               '<div class="snippet">' +
               description + 
               '</div><div class="more_link">' +
               '<a href="' + result.feed.entries[i].link +  '">Read more</a>' +
               '</div></div>';
      }

      var expandDiv = document.getElementById(blogID);  
      expandDiv.innerHTML = post;
      post = null;
  }})
  }
/* expandBlogEntry */
function expandBlogEntry(feedURL, blogID) {
  var feed = getFeedObj(feedURL, 1);
  var post_snippet = document.createElement('div');
  feed.load(
    function(result) {
      if (!result.error) {
        var post = '';
        var i = 0;
        var date = result.feed.entries[i].publishedDate.substr(0, result.feed.entries[i].publishedDate.length - 9);
				var description = result.feed.entries[i].contentSnippet.substr(0, result.feed.entries[i].contentSnippet.length - 59) + '...';
        post = post +
               '<p class="sub-header">' + 
							 result.feed.entries[i].title + '<br /><span>' + date + '</span></p>' + description  + '.&nbsp;&nbsp;<a href="' + result.feed.entries[i].link +  '">more</a>.';
        var expandDiv = document.getElementById(blogID);  
        expandDiv.innerHTML = post;
        post = null;
      }
    }
  )
}

/**/
/* getFeedObj()
 * return a google feed obj given a url and the entry count
 */
function getFeedObj(url, n) {
  var feed = new google.feeds.Feed(url);
  feed.setResultFormat(google.feeds.Feed.MIXED_FORMAT);
  feed.setNumEntries(n);
  return feed;
}






