
var twitter_account = "";
var twitter_name = "";
var icon_image = "";
var star_num;
if (star_num == undefined) {
	star_num = 0;
}
var ticket = new Array();

function twitter_login_check() {
	var url = 'http://twitter.com/statuses/user_timeline.json?count=12&callback=?&nocache='+(new Date()).getTime();
	$.getJSON(url, function(json) {
		twitter_account = json[0].user.screen_name;
	});	
}

function fav(sub_id) {
	var $span = $("#star_"+star_account+sub_id+" .star_status");
	if (twitter_account == "") {
		var url = 'http://twitter.com/statuses/user_timeline.json?count=10&callback=?&nocache='+(new Date()).getTime();
		$.getJSON(url, function(json) {
			twitter_account = json[0].user.screen_name;
			twitter_name = json[0].user.name;
			icon_image = json[0].user.profile_image_url;
			star_insert(twitter_account, sub_id, twitter_name, icon_image);
		});
	} else {
		star_insert(twitter_account, sub_id, twitter_name, icon_image);
	}
}

function star_insert(twitter_account, sub_id, twitter_name, icon_image) {
	var $span = $("#star_"+star_account+sub_id+" .star_status");
	var url = 'http://twittstar.com/insert.php?callback=?&nocache='+(new Date()).getTime();
	var params = jQuery.param({
		twitter_account: twitter_account,
		star_account: star_account,
		sub_id: sub_id,
		twitter_name: twitter_name,
		icon_image: icon_image,
		ticket: ticket[star_account+sub_id]
	});
	$.getJSON(url+'&'+params, function(json) {
		if (json.status == "error") {
			$span.text(json.mes);
		} else {
			star_load(sub_id);
		}
	});
}

function twittstar_show(sub_id) {
	document.write('<span id="star_'+star_account+sub_id+'" style="font-size:11px;color:#666;">');
	document.write('<a href="#" onclick="fav(\''+sub_id+'\'); return false;" title="Add TwittStar"  class="star_tooltip" onmouseover="star_about(this,true)" onmouseout="star_about(this,false)">');
	document.write('<img src="http://twittstar.com/img/fav.gif" style="border:0;padding:0;margin:0;" alt="Add TwittStar" id="star_add" />');
	document.write('</a>');
	document.write('<span class="star_status" style="padding-left:3px;">Now Loading...</span>');
	document.write('</span>');
	document.write(
		'<div style="position:absolute;display:none;margin:0;padding:5px;border:1px solid #888;background-color:#fff;color:#444;top:0;left:0;" id="star_popup_about">'+
		'<b>Favorite this entry</b><br /><span style="font-size:11px;"><img src="http://twittstar.com/img/twittminilogo.gif" /> http://twittstar.com/</span></div>'
	);
	star_load(sub_id);
}

function star_load(sub_id) {
	var url = 'http://twittstar.com/disp.php?callback=?&nocache='+(new Date()).getTime();
	var params = jQuery.param({
		star_account: star_account,
		sub_id: sub_id
	});
	var ac = "";
	var nm = "";
	var ii = "";
	
	var $span = $("#star_"+star_account+sub_id+" .star_status");

	$.getJSON(url+'&'+params, function(json) {
		if (json.status == "error" || json.status == "not found") {
			$span.html("");
		} else {
			$span.html("");
			var i = star_num;
			ticket[star_account+sub_id] = json[0].ticket;
			json.shift();
			$.each(json, function(){
				ac= this.twitter_account;
				nm = this.twitter_name;
				ii = this.icon_image;
				$span.append(
					'<a href="http://twitter.com/'+ac+'" title="'+nm+'" class="star_tooltip" onmouseover="star_popup('+i+', true)" onmouseout="star_popup('+i+', false)">'+
					'<img src="'+ii+'" alt="'+nm+'" style="border:0;padding:0;margin:0;width:16px;height:16px;" width="16" height="16" id="star_img_'+i+'" onerror="imgabort(this,\''+ac+'\')">'+
					'</a>'+
					'<div style="position:absolute;display:none;margin:0;padding:5px;border:1px solid #888;background-color:#fff;color:#444;top:0;left:0;" id="star_popup_'+i+'">'+
					'<img src="'+ii.replace('_mini', '_normal')+'" onerror="imgabort(this,\''+ac+'\')""> '+
					nm+
					'</div>'
				);
				i++;
			});
			star_num = i;
		}
	});
}

function imgabort(obj,ac) {
	if (obj.src.match("usericons")) {
		obj.src = 'http://twittstar.com/img/notfound_mini.png';
		obj.onerror=null;
	} else {
		obj.src = 'http://usericons.relucks.org/twitter/'+ac;
	}
}

function star_about(obj, flg) {
	var i = obj;
	var d = document.getElementById("star_popup_about");
	if (flg) {
		var offset = $(i).offset();
		d.style.top = (offset.top-10)+'px';
		d.style.left = (offset.left+30)+'px';
		d.style.zIndex = "9999";
		d.style.display = "block";
		$(i).mousemove(function(e){
			d.style.top = (e.pageY-10)+'px';
			d.style.left = (e.pageX+30)+'px';
		});	
	} else {
		d.style.display = "none";
	}
}

function star_popup(n, flg) {

	var i = document.getElementById("star_img_"+n);
	var d = document.getElementById("star_popup_"+n);
	if (flg) {
		var offset = $(i).offset();
		d.style.top = (offset.top-10)+'px';
		d.style.left = (offset.left+30)+'px';
		d.style.zIndex = "9999";
		d.style.display = "block";
		$(i).mousemove(function(e){
			d.style.top = (e.pageY-10)+'px';
			d.style.left = (e.pageX+30)+'px';
		});	
	} else {
		d.style.display = "none";
	}

}

this.tooltip = function(){	
	/* CONFIG */		
		xOffset = 10;
		yOffset = 20;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	$("a.star_tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='star_tooltip' style='position:absolute;border:1px solid #333;background:#fff;padding:3px;color:#333;display:none;'></p>");
		$("#star_tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$("#star_tooltip").remove();
    });	
	$("a.star_tooltip").mousemove(function(e){
		$("#star_tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};
