
String.prototype.wordWrap = function(m, b, c){
    var i, j, l, s, r;
    if(m < 1)
        return this;
    for(i = -1, l = (r = this.split("\n")).length; ++i < l; r[i] += s)
        for(s = r[i], r[i] = ""; s.length > m; r[i] += s.slice(0, j) + ((s = s.slice(j)).length ? b : ""))
            j = c == 2 || (j = s.slice(0, m + 1).match(/\S*(\s)?$/))[1] ? m : j.input.length - j[0].length
            || c == 1 && m || j.input.length + (j = s.slice(m).match(/^\S*/)).input.length;
    return r.join("\n");
};

(function($){
    $.fn.lastTwitterMessage = function(username, numberOfTweets){

        var $base = this;
        if (!username || username == "") {
            var url = "http://www.mediavisioninc.net/twitter_block/index.php";
            var data = {
                'view': 'first_run'
            }
        } else {
            var url = "http://twitter.com/statuses/user_timeline.json?callback=?";
            var data = {
                'screen_name': username,
                'count': numberOfTweets
            }
        }
        var $img;
        $.ajax({
            type: "GET",
            url: url,
            data: data,
            dataType: "json",

            success: function(data){
                if (data && data.length >= 1) {
                    try {
                                                    $base.empty().append('<a href="http://twitter.com/' + username + '" target="_blank"><img src="http://www.mediavisioninc.net/twitter_block/images/twitter_bird_48x48.png" title="Follow ' + username + ' on twitter" alt="Follow ' + username + ' on twitter"/></a><br />');
                                                $.each(data, function(key, val){
                                                            // In the future we may want the profile img
                                $img = $("<img/>").attr({"src":val.user.profile_image_url, "class":"profile_img", "title":username});
                                                        var $date = $('<span class="date"></span>').text(val.created_at.substring(4, 16));
                            var $tweet = $('<span></span>').text(val.text);
                            $tweet.html(
                                $tweet.html()
                                    .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>')
                                    .wordWrap(25, '\n', 0)
                            )
                            $("<p></p>").appendTo($base).append($img).append($date).append($tweet);
                        });

                        //$("#tweet").append($img);
                        $("#tweet-text p:last").css('border-bottom', 'solid 0px grey');
                        $base.show();
                    }
                    catch (e) {
                        // Just in case
                        $("#tweet").hide().siblings().hide();
                    }
                }
            }
        });
    };

})(jQuery);

$(function(){
    $("<span id='tweet-text'></span>").hide().appendTo("#tweet").lastTwitterMessage('mediavisioninc', 3);
    });

