function openProfile(userId)
{
	var post = "userId=" + userId;
	
	var panel = panels["profile" + userId];
	if(panel)
	{
		post += "&onlyBody=1";
	}
	else
	{
		post += "&onlyBody=0";
	}
	
	var callback =
	{
		success: function(o)
		{
			var userId = o.argument[0];		
			var panel = o.argument[1];
			
			if(!panel)
			{
				var panelDiv = document.createElement("div");
				panelDiv.id = "profile" + userId
				document.body.appendChild(panelDiv);
				panelDiv.innerHTML = o.responseText;
				
				var panel = new YAHOO.widget.Panel(panelDiv,
					{ fixedcenter: true, 
					constraintoviewport: true, 
					visible:false,
					modal: false, 
					width:"480px", 
					height:"525px",
					draggable:true } );
					
				overlayManager.register(panel);
				panels["profile" + userId] = panel;
			}
			else
			{
				panel.setBody(o.responseText);
			}
			
			panel.render();
			panel.show();			
			panel.focus();			
		},
		failure: function(o)
		{
			alert("Error in openProfile()");
		},
		argument: [userId, panel]
	}
	YAHOO.util.Connect.asyncRequest('POST', "mod/profile/profile.php", callback, post); 	
}

function profileGetFriends(userId,el)
{
	var post = "userId=" + userId;
		
	var callback =
	{
		success: function(o)
		{
			var userId = o.argument[0];
			var el = o.argument[1];	
				
			var friendsDiv = $("friends" + userId);
			friendsDiv.innerHTML = o.responseText;
			profileNavigation(friendsDiv, el, userId)
		},
		failure: function(o)
		{
			alert("Error in openProfile()");
		},
		argument: [userId,el]
	}
	YAHOO.util.Connect.asyncRequest('POST', "mod/profile/friends.php", callback, post); 			
}

function profileGetOpinions(userId,el,page)
{
	var post = "userId=" + userId;
	if(page)
	{
		post += "&page=" + page;
	}
		
	var callback =
	{
		success: function(o)
		{
			var userId = o.argument[0];
			var el = o.argument[1];	
				
			var opinionsDiv = $("opinions" + userId);
			opinionsDiv.innerHTML = o.responseText;
			if(el)
			{
				profileNavigation(opinionsDiv, el, userId);
			}
		},
		failure: function(o)
		{
			alert("Error in openProfile()");
		},
		argument: [userId,el]
	}
	YAHOO.util.Connect.asyncRequest('POST', "mod/profile/xhrGetOpinions.php", callback, post); 			
}

function profileNavigation(obj, el, userId) {
	var profile = $("profile_"+userId);
	var aContent = YAHOO.util.Dom.getElementsByClassName("content","div",profile);
	for(var i=0;i<aContent.length;i++)
	{
		aContent[i].className = "content";
	}
	obj.className = "content active";
	var aNavigation = YAHOO.util.Dom.getElementsByClassName("navigation","li",profile);
	for(var i=0;i<aNavigation.length;i++)
	{
		aNavigation[i].className = "navigation";
	}
	el.parentNode.className = "navigation active";
}

function profileUploadPicDialog()
{
	var callback =
	{
		success: function(o)
		{			
			if(!isEmpty(o.responseText))
			{
				
				if(!uploadUserPicDialog)
				{			
					panelDiv = document.createElement("div");
					panelDiv.id = "uploadUserPicDialog";
					document.body.appendChild(panelDiv);
					var panel = new YAHOO.widget.Panel(panelDiv,
						{ fixedcenter: true, 
						constraintoviewport: true, 
						visible:false,
						modal: true, 
						width:"300px", 
						draggable:true } );
					
					overlayManager.register(panel);
				
					uploadUserPicDialog = panel;
					uploadUserPicDialog.setHeader("Profilbild");
				}
				uploadUserPicDialog.setBody(o.responseText);
				
				uploadUserPicDialog.render();
				uploadUserPicDialog.show();		
			}
			else
			{
				alert("Fehler in profileUploadPicDialog()");
			}
		},
		failure: function(o)
		{
			alert("Fehler in profileUploadPicDialog()");
		}
	}
	YAHOO.util.Connect.asyncRequest('POST', "mod/profile/xhrUploadUserPicDialog.php", callback); 				
}

function saveUserPic()
{	
	var form = document.getElementById("uploadUserPicForm");
	var error = new Array();
	if(isEmpty(form.picture.value) )
	{
		error.push("picture");
	}
	if(isEmpty(error))
	{
		YAHOO.util.Connect.setForm(form, true);
		
		var callback =
		{
			success: saveUserPicSuccess,
			upload: saveUserPicSuccess,
			failure: function(o)
			{
				alert("Error in saveUserPic()");
			},
			argument: [form.userId.value]
		};
		
		YAHOO.util.Connect.asyncRequest('POST', "mod/profile/xhrSaveUserPic.php", callback); 
	}
	else
	{
		addOpinionShowErrors(error);
	}	
}

function saveUserPicSuccess(o)
{
	uploadUserPicDialog.hide();
	userId = o.argument[0];
	openProfile(userId);
}