function load_tweets() {

	$.ajax({
		url: "https://api.twitter.com/1/statuses/user_timeline.json?screen_name=" + twitterUsername + "&count=4&callback=recent_tweets",
		dataType: "script",
		cache: true
	})
}

function recent_tweets(g) {
    numTweets = 4;
							
    Handlebars.registerHelper("tweet_text", function (a) {
        return linkifyTweet(a.text)
    });
	
    Handlebars.registerHelper("timeago", function (a) {
        return relative_time(a.created_at)
    });
    Handlebars.registerHelper("tweet_permalink", function (a) {
        return "http://www.twitter.com/" + twitterUsername + "/status/" + a.id_str
    });


    var d = '{{#each this}}<li><p class="tweet">{{{tweet_text this}}} <span class="tweet-meta"><a class="timestamp" href="{{tweet_permalink this}}" time="{{created_at}}" target="_blank">{{timeago this}}</a> &bull; <a class="reply" href="http://twitter.com/?status=@' + twitterUsername + "%20&in_reply_to_status_id={{{id_str}}}&in_reply_to=" + twitterUsername + '" target="_blank">Reply</a></span></p></li>{{/each}}';
    var f = Handlebars.compile(d);

    if (typeof g !== "undefined" && g.length > 0) {
				
        jQuery("#twitter_feed .loading-text").replaceWith('<ul class="tweets">' + f(g.slice(0, numTweets)) + "</ul>");
        if (showTwitterProfile) {
            var b = g[0]["user"];
            var c = b.description;
            var e = '<div class="profile"><h3><a href="http://www.twitter.com/' + twitterUsername + '">@' + twitterUsername + '</a><br/> <span class="name">' + b.name + "</span></h3>";
            e += (c) ? '<p class="bio">' + c + "</p></div>" : "";
            jQuery("#twitter .tweets").before(e)
        }
    } else {
        if (g.length == 0) {
            jQuery("#twitter_feed .loading-text").html('Error fetching tweets for username: <a href="http://www.twitter.com/' + twitterUsername + '">@' + twitterUsername + "</a>")
        }
    }
}
function linkifyTweet(a) {
    return a.replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi, '<a href="$1">$1</a>').replace(/(^|\s)#(\w+)/g, '$1<a href="http://search.twitter.com/search?q=%23$2">#$2</a>').replace(/(^|\s)@(\w+)/g, '$1<a href="http://twitter.com/$2">@$2</a>')
}
function relative_time(b) {
    var a = parseDate(b);
    var c = (arguments.length > 1) ? arguments[1] : new Date();
    var d = parseInt((c.getTime() - a) / 1000);
    if (d < 60) {
        return "less than a minute ago"
    } else {
        if (d < 120) {
            return "about a minute ago"
        } else {
            if (d < (45 * 60)) {
                return (parseInt(d / 60)).toString() + " minutes ago"
            } else {
                if (d < (90 * 60)) {
                    return "about an hour ago"
                } else {
                    if (d < (24 * 60 * 60)) {
                        return "about " + (parseInt(d / 3600)).toString() + " hours ago"
                    } else {
                        if (d < (48 * 60 * 60)) {
                            return "1 day ago"
                        } else {
                            return (parseInt(d / 86400)).toString() + " days ago"
                        }
                    }
                }
            }
        }
    }
}
function parseDate(d) {
    var a = d.split(" "),
        b, c;
    if (/\+0000/.test(a[5])) {
        b = a[3];
        c = a[4]
    } else {
        b = a[5];
        c = a[3]
    }
    return new Date(Date.parse(a[1] + " " + a[2] + ", " + b + " " + c + " UTC"))
}

