/*
 * jGetTwitter: a jQuery plugin, version: 1.0.0 (2011-08-21)
 * @requires jQuery v1.5.1 or later
 *
 * jGetTwitter is a jQuery plugin that gets latest tweets from users' twitter
 * account.
 *
 * For usage and examples, visit:
 * http://www.zafarsaleem.info/plugins/
 *
 * Licensed under the MIT:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Copyright (c) 2011, Zafar Saleem ([zafarsaleem3] - [at] - gmail [dot] com)
 */
(function($){
    $.fn.jGetTwitter = function(user_options) {
        var default_settings = {
            "username" : 'FranquiciaFG',
            "FollowerDisplay" : true,
            "TotalNoOfTweets" : true,
            "NoOfTweets" : 5,
            "ProfilePhoto" : true,
            "TweetTime" : true,
            "theme" : 'ocean',
            "width" : 440
        };
        
        if(user_options){
            $.extend(default_settings, user_options);
        }
        
        var targetContainer = '#' + $(this).attr('id');
        var userName = default_settings['username'];
        var NoOfTweets = default_settings['NoOfTweets'];
        var profilePhoto = default_settings['ProfilePhoto'];
        var followerDisplay = default_settings['FollowerDisplay'];
        var TotalNoOfTweets = default_settings['TotalNoOfTweets'];
        var tweetTime = default_settings['TweetTime'];
        var theme = default_settings['theme'];
        var width = default_settings['width'];
        var tweet;
        var info;
        
        var url = 'http://api.twitter.com/1/statuses/user_timeline/' + userName + '.json?callback=?';
        
        $.getJSON(url, function (tweets) {
            info = "<div class='Estilotwitter'>";
						info += "<ul>";
            info += "<li><strong><a href='https://twitter.com/FranquiciaFG' class='twitter-follow-button' data-show-count='false' data-lang='es' target='_blank'>Siguenos en Twitter</a></strong><script src='https://platform.twitter.com/widgets.js' type='text/javascript'></script></li>";
            if(followerDisplay == true) {
                info += "<li>Seguidores: " + tweets[0].user.followers_count + "</li>";
            }
            if(TotalNoOfTweets == true) {
                info += "<li>Total Tweets: " + tweets[0].user.statuses_count + "</li>";
            }
            info += "</ul>";
            info += "</div>";
                        
            $(targetContainer).prepend(info);
            themeColor(theme);
        });
				$.getJSON(url, function (tweets) {
            for (var i = 0; i < NoOfTweets; i++) {   
                tweet = "<div class='Estilotwitter'>";
                if(profilePhoto == true) {
                    tweet += "<div class='profile_img'><img src='" + tweets[i].user.profile_image_url + "' /></div>";
                }
                tweet += "<div>" + tweets[i].text + "</div>";
                if(tweetTime == true) {
                    tweet += "<div class='timeago'>" + timeAgo(tweets[i].created_at) + "</div>";
                }
                tweet += "<div class='no_float'></div>";
                tweet += "</div>";
                
                $(targetContainer).append(tweet).fadeIn(1000);
            }

				 });
        
        //function to display time in timeago format
        function timeAgo(d) {
            //to get unix timestamp
            var currentDate = Math.round(+new Date()/1000);
            var tweetDate = Math.round(+new Date(d)/1000); 
            
            var diffTime = currentDate - tweetDate;
            
            if (diffTime < 59) return 'menos de 1 minuto atrás';
            else if(diffTime > 59 && diffTime < 120) return 'hace 1 minuto';
            else if(diffTime >= 121 && diffTime <= 3600) return 'hace ' + (parseInt(diffTime / 60)).toString() + ' minutos';
            else if(diffTime > 3600 && diffTime < 7200) return 'hace 1 hora';
            else if(diffTime > 7200 && diffTime < 86400) return 'hace ' + (parseInt(diffTime / 3600)).toString() + ' horas';
            else if(diffTime > 86400 && diffTime < 172800) return 'hace 1 día';
            else if(diffTime > 172800 && diffTime < 604800) return 'hace ' + (parseInt(diffTime / 86400)).toString() + ' días';
            else if(diffTime > 604800 && diffTime < 12089600) return 'hace 1 semana';
            else if(diffTime > 12089600 && diffTime < 2630880) return 'hace ' + (parseInt(diffTime / 604800)).toString() + ' semanas';
            else if(diffTime > 2630880 && diffTime < 5261760) return 'hace 1 mes';
            else if(diffTime > 5261760 && diffTime < 31570560) return 'hace ' + (parseInt(diffTime / 2630880)).toString() + ' meses';
            else if(diffTime > 31570560 && diffTime < 63141120) return 'hace 1 año';
            else return 'hace ' + (parseInt(diffTime / 31570560)).toString() + ' años';
        }
    }
})(jQuery);
