// ==UserScript==
// @name           TwitFollow
// @namespace      http://dumpsterdoggy.com/downloads/greasemonkey/twitfollow
// @description    Script that uses jQuery to lookup if somebody follows you on Twitter.
// @author        DumpsterDoggy (Chris Missal) --Special Thanks: http://www.joanpiedra.com/jquery/greasemonkey
// @include        http://twitter.com/home
// ==/UserScript==

var messageText = '';
var $currentElement = undefined;

// Add jQuery
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

// Check if jQuery's loaded
function GM_wait() {
	if(typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); }
	else { $ = unsafeWindow.jQuery; letsJQuery(); }
}
GM_wait();

// All your GM code must be inside this function
function letsJQuery() {

	$("tr.status").each(function() {
		var href = $(this).find("td.vcard a").attr("href").replace(/http:\/\/twitter.com\//, '')
		var $div = $("<div/>").attr("rel", href).text("Is this person following you?")
			.css("cursor","pointer").css("font-size","80%").css("margin-top","4px")
			.css("border","1px solid #ccc").css("background-color","#eee")
			.css("text-align","center").hover(function() {
				$(this).css("background-color","#fff");
			}, function() {
				$(this).css("background-color","#eee");
			}).click(function() {
				$currentElement = $(this)
				var me = $("meta[name='session-user-screen_name']").attr("content");
				var userInQuestion = $(this).attr("rel");
				$.getJSON("http://twitter.com/friendships/exists.json", { 
						user_a: userInQuestion, 
						user_b: me 
					}, function(data, i) {
					var messageText = $currentElement.attr("rel");
					if(data == 'true') {
						messageText += ' is'; 
						$currentElement.css("border-color","green").css("color","green");
					} else { 
						messageText += ' isn\'t';
						$currentElement.css("border-color","red").css("color","red");
					}
					messageText += ' following you';
					$currentElement.text(messageText).css("background-color","#fff").unbind();
				});
			});
		$(this).contents("td.status-body").append($div);
	});

}
