TwitterAPI = {
    Statuses: {
        user_timeline: function(screen_name, count, callback) {
            $.getJSON("http://twitter.com/statuses/user_timeline/" + screen_name + ".json?count=" + count + "&cb=" + Math.random() + "&callback=?", callback);
        }
    }
};
// @rem
window.ify = function() {
    var entities = {
        '"': '"',
        '&': '&',
        '<': '<',
        '>': '>'
    };
    return {
        "link": function(t) {
            return t.replace(/[a-z]+:\/\/[a-z0-9-_]+\.[a-z0-9-_:~%&\?\/.=]+[^:\.,\)\s*$]/ig,
            function(m) {
                return '<a href="' + m + '">' + ((m.length > 25) ? m.substr(0, 24) + '...': m) + '</a>';
            });
        },
        "at": function(t) {
            return t.replace(/(^|[^\w]+)\@([a-zA-Z0-9_]{1,15})/g,
            function(m, m1, m2) {
                return m1 + '@<a href="http://twitter.com/' + m2 + '">' + m2 + '</a>';
            });
        },
        "hash": function(t) {
            return t.replace(/(^|[^\w'"]+)\#([a-zA-Z0-9_]+)/g,
            function(m, m1, m2) {
                return m1 + '#<a href="http://search.twitter.com/search?q=%23' + m2 + '">' + m2 + '</a>';
            });
        },
        "clean": function(tweet) {
            return this.hash(this.at(this.link(tweet)));
        }
    };
} ();
