var div_hover = [ "box_menu_button", "divLinkOption"];
var glink_pictures = [];

$(document).ready(function () {

	ReadyBindEvents();
	
});

function BindClickEvent($id, $method)
{	
	if ($($id))
	{
		$($id).unbind('click');
		$($id).click($method);
	}
}
function ReadyBindEvents() {
	jQuery.each(div_hover, function() {
		divname = this;
		$("." + divname).unbind("mouseenter mouseleave").bind("mouseenter mouseleave", function(e) {
			if ($(this).hasClass($(this).attr('class').split(' ')[0] + "_active") == false) { 
				$(this).toggleClass($(this).attr('class').split(' ')[0] + "_hover");
			}
	    });
	});

	// Box Menu Functions
	BindClickEvent("#box_add_link", addLinkFormFromMenuMethod);
	BindClickEvent("#box_open_all_links", openAllLinkFormFromMenuMethod);
	BindClickEvent("#box_follow", boxFollow);
	if ($("#box_highlight"))
	{
		$('#box_highlight').unbind('click');
		$("#box_highlight").click(boxHighlight);
	}
		
	if ($("#box_kill"))
	{
		$('#box_kill').unbind('click');
		$("#box_kill").click(askCloseBoxFromMenu);
	}
	if ($("#box_rename"))
	{
		$('#box_rename').unbind('click');
		$("#box_rename").click(BOX_renameFromMenu);
	}
	if ($("#box_move_to_universe"))
	{
		$('#box_move_to_universe').unbind('click');
		$("#box_move_to_universe").click(ShowBoxUniverseOptions);
	}
	if ($("#link_rename"))
	{
		$('#link_rename').unbind('click');
		$("#link_rename").click(LINK_RenameFromMenu);
	}
	if ($("#link_delete"))
	{
		$('#link_delete').unbind('click');
		$("#link_delete").click(LINK_DeleteFromMenu);
	}
	if ($("#link_open"))
	{
		$('#link_open').unbind('click');
		$("#link_open").click(LINK_OpenFromMenu);
	}
	if ($("#link_easyfaver"))
	{
		$('#link_easyfaver').unbind('click');
		$("#link_easyfaver").click(LINK_EasyfavFromMenu);
	}
	if ($("#link_make_public"))
	{
		$('#link_make_public').unbind('click');
		$("#link_make_public").click(LINK_MakePublicFromMenu);
	}
	if ($("#link_make_private"))
	{
		$('#link_make_private').unbind('click');
		$("#link_make_private").click(LINK_MakePrivateFromMenu);
	}
	if ($("#link_make_friend"))
	{
		$('#link_make_friend').unbind('click');
		$("#link_make_friend").click(LINK_MakeFriendFromMenu);
	}
	
	if ($("#link_add_public"))
	{
		$('#link_add_public').unbind('click');
		$("#link_add_public").click(LINK_EasyFavPublicFromMenu);
	}
	if ($("#link_add_private"))
	{
		$('#link_add_private').unbind('click');
		$("#link_add_private").click(LINK_EasyFavPrivateFromMenu);
	}
	if ($("#link_add_friend"))
	{
		$('#link_add_friend').unbind('click');
		$("#link_add_friend").click(LINK_EasyFavFriendFromMenu);
	}
	if ($("#link_login_needed"))
	{
		$('#link_login_needed').unbind('click');
		$("#link_login_needed").click(LINK_LoginNeeded);
	}
	for (i = 0; i < g_yourUniverseList.length; i++)
	{
		if ($("#universe_" + (i + 1)))
		{
			$("#universe_" + (i + 1)).unbind('click');
			$("#universe_" + (i + 1)).click(BOX_MoveToUniverseFromMenu);
		}
	}
	if ($("#newuniverse"))
	{
		$('#newuniverse').unbind('click');
		$("#newuniverse").click(BOX_MoveToCreatedUniverseFromMenu);
	}

	if ($("#tab_newbox"))
	{
		$('#tab_newbox').unbind('click');
		$("#tab_newbox").click(TAB_NewBoxFromMenu);
	}
	if ($("#tab_rename"))
	{
		$('#tab_rename').unbind('click');
		$("#tab_rename").click(TAB_RenameFromMenu);
	}
	if ($("#tab_delete"))
	{
		$('#tab_delete').unbind('click');
		$("#tab_delete").click(TAB_DeleteFromMenu);
	}
	if ($("#tab_moveright"))
	{
		$('#tab_moveright').unbind('click');
		$("#tab_moveright").click(TAB_MoveRightFromMenu);
	}
	if ($("#tab_moveleft"))
	{
		$('#tab_moveleft').unbind('click');
		$("#tab_moveleft").click(TAB_MoveLeftFromMenu);
	}

	if ($("#universe_rename_and_rights"))
	{
		$('#universe_rename_and_rights').unbind('click');
		$("#universe_rename_and_rights").click(UNIVERSE_RenameFromMenu);
	}
	if ($("#universe_delete"))
	{
		$('#universe_delete').unbind('click');
		$("#universe_delete").click(UNIVERSE_DeleteFromMenu);
	}
	if ($("#universe_import"))
	{
		$('#universe_import').unbind('click');
		$("#universe_import").click(UNIVERSE_ImportFromMenu);
	}
	if ($("universe_import_facebook"))
	{
		$('#universe_import_facebook').unbind('click');
		$("#universe_import_facebook").click(UNIVERSE_ImportFacebookLikesFromMenu);
	}
	
	CreateCard();
}

var g_card_array = new Array();
function CreateCard()
{
	div = document.createElement("div");
	div.style.display = "none";
	div.id = "easyfavcard";
	document.body.appendChild(div);
	div.onmouseout = HideCard;
	div.onmouseover = function (e) {
		if (g_timer_hide_card)
			clearTimeout(g_timer_hide_card);
		g_timer_hide_card = null;
	}
}

var g_timer_show_card = null;
var g_timer_hide_card = null;
var g_show_card_json = null;
var g_cached_card = new Array();
function ShowCard(jsonParameters)
{
	g_show_card_json = jsonParameters;
	if (g_timer_show_card)
		clearTimeout(g_timer_show_card);		
	g_timer_show_card = setTimeout('Delayed_Show_Card()', 1000);
	g_cached_card[jsonParameters['nickname']] = jsonParameters;
}

function Delayed_Show_Card()
{
	document.getElementById('easyfavcard').innerHTML = g_show_card_json['card'];
	document.getElementById('easyfavcard').style.display = "block";
	g_timer_hide_card = setTimeout('Delayed_HideCard()', 1000);
}

function ReloadCard()
{
	if (g_show_card_json)
	{
		Delayed_HideCard();
		AJAX_SendRequest('./ajax/users.php?n=' + escape(g_show_card_json["nickname"]));
	}
}
function HideCard(e)
{
	var main = document.getElementById('easyfavcard');
	if (COMMON_IsChildOf(e.relatedTarget, main)
		 || e.relatedTarget == main)
		return;
	g_timer_hide_card = setTimeout('Delayed_HideCard()', 1000);
	//main.style.display = "none";
}
function Delayed_HideCard()
{
	if (document.getElementById('easyfavcard'))
		document.getElementById('easyfavcard').style.display = 'none';
}
