// -----------------------------------------
// Copyright 2009. www.veetter.com
// sergiu.toderascu@gmail.com
// -----------------------------------------

(function($) {

    userName: null;
    tweets: 5;
    veetterDiv: 'veetter';
    loaderText: "Loading tweets...";


    loader_div = $("<div class=\"veetter-loader\"></div>");
    userinfo_div = $("<div class=\"veetter-user-info\"></div>");
    tweets_div = $("<ul class=\"veetter-tweets\"></ul>");

    var veetterDiv, loaderText, tweets;

    $.veetter = {

        vars: function(option) { // variables
            userName = option.userName;
            tweets = option.tweets ? option.tweets : tweets;
            veetterDiv = option.veetterDiv ? option.veetterDiv : veetterDiv;
            vDiv = $("#" + veetterDiv);
            loaderText = option.loaderText ? option.loaderText : loaderText;

        }, //variables

        go: function(option) { // go		
            this.vars(option);
            if (vDiv.length > 0) {
                this.loading();
                this.getTwitter();
            } else { alert('veetter container not found!') }
        }, //go

        loading: function() { // loading
            loader_div.append(loaderText);
            vDiv.append(loader_div);
        }, // loading

        getTwitter: function() {// getTwitter
            var url = "http://twitter.com/status/user_timeline/" + userName + ".json?count=" + tweets + "&callback=?";

            $.ajax({
                url: url,
                dataType: 'json',
                success: function(data) {

                    loader_div.remove();
                    //				vDiv.append(userinfo_div);
                    vDiv.append(tweets_div);
                    //		        userinfo_div.append("<a href='http://twitter.com/" + data[0].user.screen_name + "'>" + 
                    //				"<img border='0' class='veetter-avatar' src='"+data[0].user.profile_image_url+"'></a>"+
                    //		        "<div class='veetter-stats'>" +
                    //				"<div><p class='s'>" + data[0].user.followers_count + "</p><p><a href='http://twitter.com/" + data[0].user.screen_name + "/followers'>Followers</a></p></div>" +
                    //				"<div><p class='s'>" + data[0].user.friends_count + "</p><p><a href='http://twitter.com/" + data[0].user.screen_name + "/following'>Following</a></p></div>" +
                    //				"<div><p class='s'>" + data[0].user.statuses_count + "</p><p><a href='http://twitter.com/" + data[0].user.screen_name + "'>Updates</a></p></div>" +
                    //				"</div>" + 		        
                    //				"<h1><a href='http://twitter.com/" + data[0].user.screen_name + "'>" + data[0].user.screen_name + "</a></h1>" +  
                    //		        "<p>" + data[0].user.name + "</p>" +
                    //				"<div class='clear'></div>" +				
                    //				"<span>" + data[0].user.description + "</span>");

                    $.each(data, function(i, item) {
                        tweets_div.append('<li id="' + item.id + '">' + $.veetter.makeLinks(item.text) +
					"<p class='status'><a href='http://twitter.com/" + data[0].user.screen_name + "/status/" + item.id + "'>" +
                        //					$.veetter.cTime(item.created_at) + "</a> da " + item.source + "</p>" +
                    "</a></p>" +
					'</li>');
//                        $("ul.veetter-tweets li:first").attr('class', 'veetter-status-last');
                    })
                    tweets_div.append("<a style='text-decoration: none;' href='http://twitter.com/" + data[0].user.screen_name + "'>leggi le altre news su twitter.. <img border='0' src='./img/Twitter24.png'/></a>");
                }
            });

        }, // getTwitter

        makeLinks: function(text) { // makeLinks

            var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
            text = text.replace(exp, "<a href='$1' class='veetter-link'>$1</a>");

            var exp = /[\@]+([A-Za-z0-9-_]+)/ig;
            text = text.replace(exp, "@<a href='http://twitter.com/$1' class='veetter-link-profile'>$1</a>");

            var exp = /[\#]+([A-Za-z0-9-_]+)/ig;
            text = text.replace(exp, "<a href='http://twitter.com/search?q=$1' class='veetter-link-hash'>#$1</a>");

            return text;
        }, // makeLinks

        cTime: function(time_value) {
            return "";
            var parsed_date = Date.parse(time_value);
            var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
            var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
            if (delta < 60) {
                return 'meno di un minuto fa';
            } else if (delta < 120) {
                return 'circa un minuto fa';
            } else if (delta < (45 * 60)) {
                return (parseInt(delta / 60)).toString() + ' minutes ago';
            } else if (delta < (90 * 60)) {
                return 'circa un ora fa';
            } else if (delta < (24 * 60 * 60)) {
                return 'circa ' + (parseInt(delta / 3600)).toString() + ' ore fa';
            } else if (delta < (48 * 60 * 60)) {
                return '1 giorno fa';
            } else {
                return (parseInt(delta / 86400)).toString() + ' giorni fa';
            }
        }


    };
})(jQuery);