function handleFriend(action, id, node)
{
	//alert(action);
	//node.innerHTML="proceeding ...";
	var params = 'action=' + action + '&id=' + id;
	//alert(params);
	var ajax_req = new Ajax.Request(
		'typo3conf/ext/user_volume/lib/php/friendHandler.php',
		{
			method: 'post',
			postBody: params,
			onSuccess: function(t) { changeFriendStatus(t.responseText, action, id, node) },
			onFailure: function(t) { alert('failed'); }
		}
	);
	// if more of the friend links are on the page!
	//alert(node.name);
	links= document.getElementsByName(node.name);
}

function changeFriendStatus(response, action, id, node)
{
	var handlerAdd= document.getElementById('friendHandlerAdd_'+id);
	var handlerDelete= document.getElementById('friendHandlerDelete_'+id);
	//alert(response+"/"+action+"/"+id+"/"+node);
	//alert(handlerAdd+"/"+handlerDelete+"/"+id);
	if(action=='delete')
	{
		//handlerAdd.style.display="inline";
		//handlerDelete.style.display="none";
		changeLink(action, id, language.addFriend, node);
	}
	else
	{
		//handlerAdd.style.display="none";
		//handlerDelete.style.display="inline";
		changeLink(action, id, language.deleteFriend, node);
	}
	//now reload the messenger if the messenger modul is loaded!
	//alert(typeof(window.loadMessengerData));
	if (window.loadMessengerData)
	{
		loadMessengerData('messenger_reload')
	}
	//alert(response+action);
}
// this function changes all links of an user of one page!
function changeLink_x(action, id, text, node)
{
	for(i=0; i<links.length; i++)
	{
		//alert(links[i].name);
		//links[i].setAttribute('onclick', "handleFriend('"+action+"', '"+id+"', this)");
		links[i].onclick= function(){handleFriend(action,id, this); };
		if(language)
		links[i].innerHTML= text;
	}
}
function changeLink(action, id, text, node)
{
	//alert("drinnen"+links.length);
	for(i=0; i<links.length; i++)
	{
		//alert(links[i].id+"/"+node.id);
		//alert(links[i].id+"/"+links[i].style.display);
		if(links[i].id)
		{
			//alert(links[i].id+"/"+links[i].style.display);
			if(links[i].style.display=="none")
			{
				links[i].style.display="inline";
				//alert (links[i].id+"einschalten");
			}
			else
			if(links[i].style.display=="inline" || !links[i].style.display)
			{
				//alert (links[i].id+"ausschalten");
				links[i].style.display="none";
			}
		}
		//links[i].setAttribute('onclick', "handleFriend('"+action+"', '"+id+"', this)");
		//links[i].onclick= function(){handleFriend(action,id, this); };
		//if(language)
		//links[i].innerHTML= text;
	}
}
/*
*
* ABO HANDLING
*
*/
function handleAbo(action, uid, fid,type,node)
{
	var handlerAdd= document.getElementById('aboHandlerAdd_'+fid+'_'+type);
	var handlerDelete= document.getElementById('aboHandlerDelete_'+fid+'_'+type);
	//alert('aboHandlerDelete_'+fid+'_'+type);
	//node.innerHTML="proceeding ...";
	var params = 'action=' + action + '&id=' + fid+ '&type=' + type;
	//alert(params);
	var ajax_req = new Ajax.Request(
		'typo3conf/ext/user_volume/lib/php/subscriptionHandler.php',
		{
			method: 'post',
			postBody: params,
			onSuccess: function(t) 
			{ 
				if(action=='delete')
				{
					//alert(handlerAdd+"//"+handlerDelete);
					//node.parentNode.innerHTML='';
					handlerAdd.style.display="inline";
					handlerDelete.style.display="none";
				}
				else
				{
					handlerAdd.style.display="none";
					handlerDelete.style.display="inline";
					//node.innerHTML='';
				}
			},
			onFailure: function(t) { alert('failed'); }
		}
	);
	// if more of the friend links are on the page!
	//alert(node.name);
}

function popupMenuToggle(e, menu_id)
{
	var menu = $(menu_id);
	if (!menu || !e)
		return;
	
	var btn = e.target || e.srcElement;
	if (btn.nodeType == 3) // defeat Safari bug
		btn = btn.parentNode;
	
	if (menu.style.display == "block")
	{
		// hide menu
		menu.style.display = "none";
		menu.onmouseover = null;
		menu.onmouseout = null;
		return;
	}
	// show menu
	menu.style.display = "block";
	
	var registerMouseOut = function registerMouseOut()
	{
		menu.onmouseout = function(e)
		{
			if (!e) var e = window.event;
			var relTarg = e.relatedTarget || e.toElement;
			
			if (relTarg === menu || relTarg.parentNode === menu || (relTarg.parentNode && relTarg.parentNode.parentNode === menu))
				return;
			
			var timerId;
			timerId = setTimeout(
				function()
				{
					menu.onmouseout = null;
					menu.style.display = "none";
				}, 500);
			menu.onmouseover = function()
			{
				clearTimeout(timerId);
				menu.onmouseover = null;
				registerMouseOut();
			};
		};
	};
	registerMouseOut();
}

