if(jQueryNoConflict == undefined){
    jQuery.noConflict();
    var jQueryNoConflict = true;
}

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($){
    jQuery.fn.lastTwitterMessage = function(username, numberOfTweets){

        var $base = this;
        // username required
        if (!username || username == "") {
            jQuery("#tweet").hide().siblings().hide();
            return this;
        }
        var url = "http://twitter.com/statuses/user_timeline.json?callback=?";
        var $img;
        jQuery.ajax({
            type: "GET",
            url: url,
            data: {
                'screen_name': username,
                'count': numberOfTweets
            },
            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.panama-guide.com/twitter_block/images/twitter_bird_89x64.png" title="Follow ' + username + ' on twitter" alt="Follow ' + username + ' on twitter"/></a><br />');
                        jQuery.each(data, function(key, val){
                            // In the future we may want the profile img
                            //$img = jQuery("<img/>").attr({"src":val.user.profile_image_url, "class":"profile_img", "title":username});
                            var $date = jQuery('<span class="date"></span>').text(val.created_at.substring(4, 16));
                            var $tweet = jQuery('<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)
                            )
                            jQuery("<p></p>").appendTo($base).append($date).append($tweet);
                        });

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

})(jQuery);

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

