(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1;
	g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
	s.parentNode.insertBefore(g,s)}(document,'script'));
	
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {return;}
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=151457194936696";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

s.escapeHTML = function (text) {
    return $('<div/>').text(text).html();
};

s.linkifyTweet = function (tweet) {
    if (!(tweet.entities)) {
        return s.escapeHTML(tweet.text)
    }
 
    // This is very naive, should find a better way to parse this
    var index_map = {}
    
    $.each(tweet.entities.urls, function(i,entry) {
	
	var completeUrl;
	var result;
	if (entry.expanded_url && entry.expanded_url != null){	
	result = "<a rel=\"nofollow\" href=\""+s.escapeHTML(entry.expanded_url)+"\">"+s.escapeHTML(entry.display_url)+"</a>";
	} else {
	
	if (entry.display_url) {
	result = s.escapeHTML(entry.display_url);
	} else {
	if (/^http/.test(entry.url)) {
	result = s.escapeHTML(entry.url);
	} else {	
	result = "<a rel=\"nofollow\" href=\"http://"+s.escapeHTML(entry.url)+"\">"+s.escapeHTML(entry.url)+"</a>";
	}
	
	
	}	
	}	
        index_map[entry.indices[0]] = [entry.indices[1], function(text) {return result;}]
    })
    
    $.each(tweet.entities.hashtags, function(i,entry) {
        index_map[entry.indices[0]] = [entry.indices[1], function(text) {return "<a target=\"_new\" rel=\"nofollow\" href=\"https://twitter.com/search?q="+escape("#"+entry.text)+"\">"+s.escapeHTML(text)+"</a>"}]
    })
    
    $.each(tweet.entities.user_mentions, function(i,entry) {
        index_map[entry.indices[0]] = [entry.indices[1], function(text) {return "<a target=\"_new\" rel=\"nofollow\" title=\""+s.escapeHTML(entry.name)+"\" href=\"https://twitter.com/"+s.escapeHTML(entry.screen_name)+"\">"+s.escapeHTML(text)+"</a>"}]
    })
    
    var result = ""
    var last_i = 0
    var i = 0
    
    // iterate through the string looking for matches in the index_map
    for (i=0; i < tweet.text.length; ++i) {
        var ind = index_map[i]
        if (ind) {
            var end = ind[0]
            var func = ind[1]
            if (i > last_i) {
                result += s.escapeHTML(tweet.text.substring(last_i, i))
            }
            result += func(tweet.text.substring(i, end))
            i = end - 1
            last_i = end
        }
    }
    
    if (i > last_i) {
        result += s.escapeHTML(tweet.text.substring(last_i, i))
    }
    
    return result
};

$(function () {

jQuery.ajax( { url: "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=simbolo&count=4&contributor_details=true&trim_user=true", crossDomain: true, dataType: "jsonp", success: function (data, textStatus, jqXHR) {

if ($.isArray(data)) {

var tweetRow = $("<div class=\"row\" id=\"latestTweets\" />");

$(data).each(function (i, tweet) {
        
		var tContainer = $("<div class=\"threecol\"></div>").append($("<div class=\"tweetArrow\"></div>"));
		var tBox = $("<div class=\"pastTweet\" />").html("<p>" + s.linkifyTweet(tweet) + "</p>");
		
		tBox.append($("<p class=\"meta\"></p>").text(DateTimeFunctions.GetFriendlyDate(new Date(Date.parse(tweet.created_at)), false, true)));
		
tContainer.append(tBox);
		$(tweetRow).append(tContainer);
		
      });

	  tweetRow.find("div.threecol:last").addClass("last");
	  
	  $("#tweetHeader").show();
	  $("#tweetHeader").after(tweetRow);
 


// $.getScript("//platform.twitter.com/widgets.js");
}




 } } );

});
