(function( $ ){

  $.fn.gg_twitter = function( options ) {  

    // Create some defaults, extending them with any options that were provided
    var settings = $.extend( {
      'json_location'         : '/caches/golds_twitter_simple.json',
      'count' : '3'   
    }, options);
    
    var relative_time = function(time_value){ var values = time_value.split(" ");
		  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
		  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);
		  delta = delta + (relative_to.getTimezoneOffset() * 60);

		  if (delta < 60) {
			return 'less than a minute ago';
		  } else if(delta < 120) {
			return 'about a minute ago';
		  } else if(delta < (60*60)) {
			return (parseInt(delta / 60)).toString() + ' minutes ago';
		  } else if(delta < (120*60)) {
			return 'about an hour ago';
		  } else if(delta < (24*60*60)) {
			return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
		  } else if(delta < (48*60*60)) {
			return '1 day ago';
		  } else {
			return (parseInt(delta / 86400)).toString() + ' days ago';
		}
	}

    return this.each(function() {        
		
		// get call back
		var twitter_div = this;
		$.ajax({
		  url: settings.json_location,
		  dataType: 'json',
		  success: function(data, textStatus, jqXHR){
			  for(var k =0 ; k < Math.min(data.length,settings.count); ++k){
				var tweet = data[k];
				var html = "";
				var text = tweet.text;
				for(var l =0 ; l < tweet.hashtags.length; ++l){
					var regex = new RegExp( '(' + "#" + tweet.hashtags[l] + ')', 'gi' );
					text = text.replace( regex ,"<a class='hashtag' href='https://www.twitter.com/#!/search/%23"+tweet.hashtags[l]+"' target='_blank'>#"+tweet.hashtags[l]+"</a>");
				}
				for(var l =0 ; l < tweet.mentions.length; ++l){
					var regex = new RegExp( '(' + "@" + tweet.mentions[l] + ')', 'gi' );
					text = text.replace(regex,"@<a class='mention' href='https://www.twitter.com/"+tweet.mentions[l]+"' target='_blank'>"+tweet.mentions[l]+"</a>");
				}
				for(var l =0 ; l < tweet.urls.length; ++l){
					var regex = new RegExp( '(' + tweet.urls[l] + ')', 'gi' );
					text = text.replace(regex,"<a class='url' href='"+tweet.urls[l]+"' target='_blank'>"+tweet.urls[l]+"</a>");
				}
				text= "<div class='tweet'>"
						+ "<a href='https://www.twitter.com/"+tweet.user+"' target='_blank'>"
							+ "<img class='author_pic' src='"+tweet.user_image+"'/>"
						+ "</a>"
						+ "<div class='content'>"
							+" <a class='author' href='https://www.twitter.com/"+tweet.user+"' target='_blank'>"+tweet.user+"</a>&nbsp;"
							+ text
							+"<a class='time' href='https://www.twitter.com/#!/"+tweet.user+"/status/"+tweet.id_str+"' target='_blank'>"+relative_time(tweet.created_at)+"</a>"
						+ "</div>"
					+"</div>";
				$(twitter_div).append(text);
			  }
			  
			  
			  
		  }
		});

		
		
    });

  };
})( jQuery );

