var zoomOut = new Image();
zoomOut.src = "/blogblogs/zoom_out.png";

var lastVisitsOriginal = '';

function renderLoadBasicProfile(contents, index) {
	$("#bbEntryDetails_" + index).html(contents);
}

function renderLoadUserInfo(data) {
	var s = '<table id="userInfoBox">' +
		'<tr><td><img widht="125" height="125" src="' + data.bb.userinfo.picture + '"></td>' +
		'<td width="100%" valign="top">' +
			'<table border="0" width="49%" style="float: left;">' +
			'<tr><td><b>Nome</b>&nbsp;&nbsp;</td>' +
			'<td width="100%"><a href="' + data.bb.userinfo.profilePage + '">' + data.bb.userinfo.fullName + '</a></td>' +
			'</tr>' +
			'<tr><td><b>Blogs</b>&nbsp;&nbsp;</td><td>' + data.bb.userinfo.totalBlogs + '</td></tr>' +
			'<tr><td><b>Favoritos</b>&nbsp;&nbsp;</td><td>' + data.bb.userinfo.totalFavorites + '</td></tr>' +
			'<tr><td><b>Fans</b>&nbsp;&nbsp;</td><td>' + data.bb.userinfo.totalFans + '</td></tr>' +
			'</table>';
			
			if (data.sg.linkedin.length > 0 || data.sg.flickr.length > 0
				|| data.sg.twitter.length > 0 || data.sg.lastfm.length > 0) {
				s += '<table border="0" style="float: right;" width="49%">' +
					buildProfileData('/blogblogs/linkedin.png', 'Visualizar profile', data.sg.linkedin) +
					buildProfileData('/blogblogs/flickr.jpg', 'Ver fotos', data.sg.flickr) + 
					buildProfileData('/blogblogs/twitter.gif', 'Acompanhar', data.sg.twitter) +
					buildProfileData('/blogblogs/lastfm.gif', 'Ver m&uacute;sicas', data.sg.lastfm) +
				'</table>';
			}
		s += '</td></tr>' +
	'</table>' +
	'<div id="accordion">' +
	'<div><h3><a href="#">Blogs cadastrados no BlogBlogs</a></h3><div>';
	
	if (data.bb.blogs.length == 0) {
		s += 'Este usu&aacute;iõ n&atilde;o tem blogs cadastrados no BlogBlogs';
	}
	else {
		s += '<table width="100%"><tr><td><b>Endere&ccedil;o</b></td><td align="right" nowrap><b>&Uacute;ltima atualiza&ccedil;&atilde;o</b></td></tr>';
	
		// Blogs no BlobBlogs
		for (var url in data.bb.blogs) {
			var date = new Date(Date.parse(data.bb.blogs[url].lastUpdate));
		
			s += '<tr>' +
				'<td><img src="/blogblogs/blogblogs.gif"> <a href="' + url + '" target="_blank">' + data.bb.blogs[url].name + '</a></td>' +
				'<td align="right" nowrap>';
			
				if (data.bb.blogs[url].lastUpdate == null) {
					s += 'Desconhecido';
				}
				else {
					s += date.getDate() + "/" + date.getMonth() + "/" + date.getFullYear() +
					', às ' + date.getHours() + ":" + date.getMinutes();
				}
			
				s += '</td></tr>';
		}

		s += '</table></div></div>';
	}
	
	// Outros sites relacionados
	s += buildExtraSites(data.sg.me, 'Outros sites de ' + data.bb.userinfo.firstName);
	
	// Sites de amigos / conhecidos
	s += buildExtraSites(data.sg.friends, 'Sites relacionados e de amigos');
	
	$("#ui-dialog-title-dialog").html("Informa&ccedil;&atilde;o sobre " + data.bb.userinfo.fullName);
	$("#dialog").html(s);
	
	$("#accordion").accordion({
		header: "h3",
		active: false,
		alwaysOpen: false,
		autoHeight: false,
		clearStyle: true
	});

	$(".accordion .head").click(function() {
        $(this).next().toggle();
    }).next().hide();
}

function executeCallForUserInfo(username, index) {
	$("#bbEntryDetails_" + index).slideUp();
	$("#ui-dialog-title-dialog").html("Aguarde...");
	$("#dialog").dialog("open");
	
	$("#crossDomainIFrame").attr('src', 
		'http://socialgraph.rafaelsteil.com/userinfo/execute_load_user_info?username=' 
			+ username
			+ '&index=' + index);
}

$().ready(function() {
	$("#dialog").dialog({
		autoOpen: false,
		height: 330,
		title: 'Aguarde....',
		width: 600,
		resizable: false,
		buttons: {
			"OK": function() {
				$(this).dialog("close");
			}
		},
		modal: true,
		overlay: {
			backgroundColor: '#000',
			opacity: 0.5
		},
		open: function() { 
			$(this).html('<span id="loadingMessage"><img src="/blogblogs/loading.gif"> Aguarde, procurando informações sobre este usuário....</span>');
		}
	});
	
	lastVisitsOriginal = $(".bbw_subtitle").html();
	
	var entryDetailsStatus = []
	
	// Pega o titulo e modifica o link original
	$(".bbw_entry a:first-child").each(function(index, element) {
		$(this).parent().click(function() {
			if (!entryDetailsStatus["" + index]) {
				$("#zoom_" + index).attr("src", zoomOut.src);
				$("#bbEntryDetails_" + index).slideDown();
				entryDetailsStatus["" + index] = true;
				
				$("#crossDomainIFrame").attr('src', 
					'http://socialgraph.rafaelsteil.com/userinfo/execute_load_basic_profile?username=' 
						+ $(element).attr("title")
						+ '&index=' + index);
			}
			else {
				$("#bbEntryDetails_" + index).slideUp();
				$("#zoom_" + index).attr("src", "/blogblogs/zoom_in.png");
				entryDetailsStatus["" + index] = false;
			}
			
		    return false;
		});
		
		$(this).after('<img src="/blogblogs/zoom_in.png" id="zoom_' + index + '">');
	})
	
	$(".bbw_entry").each(function(index, element) {
		$(this).after('<div style="padding: 5px; display: none; font-size: 10px;" id="bbEntryDetails_' + index + '"><img src="/blogblogs/loading.gif" style="vertical-align: middle;">&nbsp;Buscando informações...</div>');
	});
	
	$("#bbw_readers .bbw_icons a img").each(function(index, element) {
		var icon = '';
		var msg = '';
		
		if (index == 0) {
			icon = "boy";
			msg = 'Perfil';
		}
		else if (index == 1) {
			icon = "about";
			msg = 'Sobre o blog';
		}
		else if (index == 2) {
			icon = "heart";
			msg = 'Favoritar';
		}
		else if (index == 3) {
			icon = "star";
			msg = 'Ver os fãs';
		}
		else if (index == 4) {
			icon = "rss";
			msg = 'RSS';
		}
		
		$(this).attr("src", "/blogblogs/" + icon + "_plain.png");
		$(this).hover(function() {
			$(".bbw_subtitle").html(msg);
		}, function() {
			$(".bbw_subtitle").html(lastVisitsOriginal);
		});
	});
	
	$("#bbw_readers .bbw_entry, .bbw_entry2").hover(function() {
		$(this).addClass("pointerCursor");
	});
	
	$(".bbw_title").html("");
	$("#blogblogsWidget").fadeIn(1000);
	
	if ($(".bbw_control").length == 0) {
		$(".bbw_subtitle").after('<div class="bbw_control"></div>');
	}
});

function buildProfileData(image, messageIfUnique, data) {
	var s = '';
	
	if (data.length > 0) {
		s += '<tr><td align="right"><img src="' + image + '">&nbsp;&nbsp;</td><td>';
		
		if (data.length == 1) {
			s += '<a href="' + data[0] + '" target="_blank">' + messageIfUnique + '</a>';
		}
		else {
			s += 'Visualizar ';
			
			for (i = 0; i < data.length - 1; i++) {
				s += ' <a href="' + data[i] + '" target="_blank">profile ' + (i + 1) + '</a>, ';
			}
			
			s += ' <a href="' + data[data.length - 1] + '" target="_blank">profile ' + (data.length) + '</a>';
		}
		
		s += '</td></tr>';
	}
	
	return s;
}

function buildExtraSites(data, title) {
	var s = '<div><h3><a href="#">' + title + '</a></h3><div>';
	
	if (data.length == 0) {
		s += 'Nenhum site adicional foi encontrado';
	}
	else {
		s += '<table width="100%">';
		
		for (var url in data) {
			s += '<tr><td><img src="/blogblogs/link_go.png"> <a href="' + data[url] + '" target="_blank">' + data[url] + '</a></td></tr>';
		}
		
		s += '</table>';
	}
	
	s += '</div></div>';
	
	return s;
}