function addComment()
{
	var e = $('#wall_box')
	var pars = 'object_type=1'+'&object_id='+profile_id+'&comment='+ escape(e.val())+'&json=1';
	$.ajax({type:'POST',url:base_dir+'comments/add',data: pars, dataType:'json',
		success:function(json){if(!json.success) makePopUp("Whoops!", json.error);else{e.val('');getCmnts();}}});
		return false;
}

function getCmnts(offset)
{
	if(offset == null) offset = 0
	
	$("#os_comments").empty()
	$("#os_comments").html("<center><img src='"+base_dir+"img/load.gif' /></center>")
	$.getJSON(base_dir+'comments/getForProfile/user_id/'+profile_id+'/offset/'+offset+'/json',
	function(json){
			$('#os_comments').empty()
			for(i in json.comments){
				var cmnt = json.comments[i];
				var out;
				out = '<div class="commentbox">'
				
				if(cmnt.user_id == profile_id || user_id == profile_id)
					out+='<a href="#" class="delete" onclick="return delCmnt('+cmnt.comment_id+')"><img src="'+base_dir+'img/buttons/myshouts_delete.gif"/></a>';
				
				out += '<p class="avatar"><a href="'+base_dir+cmnt.username+'">'
					+'<img alt="Avatar" src="'+base_dir+'users/avatar/user_id/'+cmnt.user_id+'"/></a></p>'
					+'<dl><dt><a href="'+base_dir+cmnt.username+'">'+cmnt.username+'</a> says:</dt>'
					+'<dd><p>'+cmnt.comment+'</p></dd></dl></div>';
				$('#os_comments').append(out);
			}
			
			setPageLinks(json,offset,'getCmnts','page_os_comments')
	});
	return false;
}

function delCmnt(cmnt_id)
{
	$.ajax({type:'POST',url:base_dir+'comments/delComment',data: 'cmnt_id='+cmnt_id+'&type=2&json=1', dataType:'json',
		success:function(json){if(json.success) getCmnts(); else makePopUp("Whoops!", json.error);}});
	return false
}

// generic shout retrieval function
function getShouts(type,offset)
{
	$("#myshouts_body").hide()
	$("#body").show()
	$("#body > h3").html(type)
	$("#tabView").html("<center><img src='"+base_dir+"img/load.gif' /></center>")
	
	if(offset == null) offset = 0
	$('#tabView').load(base_dir+'users/get'+type+'/user_id/'+profile_id+'/offset/'+offset,'',function(){smartyPager('get'+type)})
	return false
}

// specific shout retrieval wrappers
function getFavorites(offset){getShouts('Favorites',offset);return false}
function getSent(offset){getShouts('Sent',offset);return false}
function getReceived(offset){getShouts('Received',offset);return false}

function getMyShouts(offset)
{
	$("#body").hide()
	$("#myshouts_body").show()
	
	if(offset == null) offset = 0
	$("#shoutlist").html("<center><img src='"+base_dir+"img/load.gif' /></center>")
	url = base_dir+'users/getPlaylist/user_id/'+profile_id+'/offset/'+offset+'/json'
	 		
	$.getJSON(url, function(json){
			$('#shoutlist').empty()
			
			var x = 1
			for(i in json.tracks)
			{
				var track = json.tracks[i]
				
				var row = "<li class='list_border'> </li>"
				  +	 "<li itemId='"+track.track_id+"'><table><tr>"
				  +  "<td width='20' class='count'>" + (x + offset) +"</td>"
				  +  "<td width='70' class='mylist_thumb'><img class='shoutlist_thumb' src='"+base_dir + "tracks/coverArt/track_id/" + track.track_id+"' /></td>"
				  +  "<td class='title'>"+track.title+"</td>"
				  if(profile_id == user_id)
				  	row +=  "<td width='75' align='right' class='play_list_button'><a class='delete_os' href='#' onclick='return delTrack("+track.track_id+")' title='Delete'>delete</a></td>"
				  	
				  row +=  "<td width='75' class='play_list_button'><a class='play_os'  href='"+base_dir+"home/playTrack/track_id/"+track.track_id+"/user_id/"+profile_id+"'>play</a></td>"
				  row +=  "</tr></table></li>"
				  row +=  "<li class='list_border'> </li>"
				  
				$('#shoutlist').append(row)
				x++
			}
			setPageLinks(json,offset,'getMyShouts','page_myshouts')
		})
	return false;
}

function addFriend(friend_id)
{
	$("#profileActionLoading").html("<center><img src='"+base_dir+"img/load.gif' /></center>");
	$.ajax({type:'POST',url:base_dir+'friends/add',data: 'friend_id='+friend_id+'&json=1', dataType:'json',
		success:function(json){
			if(json.success)
				$('#addFriendHolder').html('<a><img src="' + base_dir + 'img/buttons/profile_added_friend.png" /></a>');
			else makePopUp("Whoops!", json.error);
			$("#profileActionLoading").empty();
		}});
	return false
}

function getFriends(offset)
{
	if(offset == null) offset = 0
	$("#friends").empty()
	$("#friends").html("<center><img src='"+base_dir+"img/load.gif' /></center>")
	$.getJSON(base_dir+'users/getFriends/user_id/'+profile_id+'/offset/'+offset+'/json',
	function(json){
		$("#friends").empty()
		for(i in json.friends)
		{
			var friend = json.friends[i]
			$('#friends').append('<li><a href="'+base_dir+'users/profile/user_id/'+friend.user_id+'">'
								+ '<img src="'+base_dir+'users/avatar/user_id/'+friend.user_id+'" alt="Avatar" /></a>'+friend.username+'</li>')
		}
		
		setPageLinks(json,offset,'getFriends','page_friends')
	})
	return false
}

function chgAvatar(reset)
{
	if(reset)
	{
		var re = new RegExp("users\/avatar\/user_id\/"+profile_id)
		$.ajaxFileUpload({url:base_dir+'users/chgAvatar?json=1', secureuri:false, fileElementId:'avatar', dataType: 'json',
					success: function(json){if(json.success){$(".avatar  img").each(function(){
													if($(this).attr('src').match(re) != null){$(this).attr('src',base_dir+'users/avatar/user_id/'+profile_id+'/'+ (new Date()).getTime())}
										$('#block').hide();})}
									else makePopUp("Whoops!", json.error)}})
		
	}
	else
	{
		var trimmed = $('#avatar').val().replace(/^\s+|\s+$/g, '')
		if(trimmed.length==0)
		{
			$('#block').hide()
			$('#avatar').val('')
			return false	
		}
		var re = new RegExp("users\/avatar\/user_id\/"+profile_id)
		$.ajaxFileUpload({url:base_dir+'users/chgAvatar?json=1', secureuri:false, fileElementId:'avatar', dataType: 'json',
						success: function(json){if(json.success){$(".avatar  img").each(function(){
														if($(this).attr('src').match(re) != null){$(this).attr('src',base_dir+'users/avatar/user_id/'+profile_id+'/'+ (new Date()).getTime())}
											$('#block').hide();})}
										else makePopUp("Whoops!", json.error)}})
	
	}
	$('#avatar').val('')
	return false
}


function delTrack(track_id)
{
	$.ajax({type:'POST',url:base_dir+'tracks/delete',data: 'track_id='+track_id+'&json=1', dataType:'json',
		success:function(json){if(json.success) getMyShouts(); else makePopUp("Whoops!", json.error);}});
	
	return false
}

function delFavorites(outshout_id)
{
	$.ajax({type:'POST',url:base_dir+'outshouts/delUserShout',data: 'outshout_id='+outshout_id+'&type=2&json=1', dataType:'json',
		success:function(json){if(json.success) getFavorites(); else makePopUp("Whoops!", json.error);}});
	return false
}

function delSent(outshout_id)
{
	$.ajax({type:'POST',url:base_dir+'outshouts/delUserShout',data: 'outshout_id='+outshout_id+'&type=0&json=1', dataType:'json',
		success:function(json){if(json.success) getSent(); else makePopUp("Whoops!", json.error);}});
	return false
}

function delReceived(outshout_id)
{
	$.ajax({type:'POST',url:base_dir+'outshouts/delUserShout',data: 'outshout_id='+outshout_id+'&type=1&json=1', dataType:'json',
		success:function(json){if(json.success) getReceived(); else makePopUp("Whoops!", json.error);}});
	return false
}

function confirmFriend(friend_id)
{
		$("#profileActionLoading").html("<center><img src='"+base_dir+"img/load.gif' /></center>");
		$.ajax({type:'POST', url:base_dir+'friends/confirm', data:'user_id='+friend_id+'&json=1', dataType:'json', success: function(json)
		{
			if (json.success) {
				$('#confirmFriendHolder').hide();
				$('#friendCount').html(parseInt($('#friendCount').html()) + 1);
				getFriends(0);
				
			} else {
				makePopUp("Whoops!", json.error);
			}
			$('#profileActionLoading').empty();
		}});
}

function follow_Click()
{
	if($('#followButton').hasClass('followBtnFollowing'))
		removeFromFollowingButton_Click()
	else
	{
		$.ajax({type:'POST',url:base_dir+'users/followUser',data:'user_id='+profile_id+'&json=1', dataType:'json',
		success:function(json){if(json.error) makePopUp("Whoops!", json.error)
		else{$('#followButton').addClass('followBtnFollowing')
			displayFollowMessage("You are now following <span id='name' class='highlight'>"+username+"</span>")}}})
	}
}

function displayFollowMessage(message)
{
	
	$('#followingMsg .body').html(message);
	$('#followingMsg').fadeIn(1500);
	setTimeout("$('#followingMsg').fadeOut(1500)", 3000);
}

function removeFromFollowingButton_Click()
{
	if($("#confirmRemoveFromFollowingButton").length < 1)
	{
		$('#followButton').after('<button onclick="removeFromFollowing()" ' +
			'id="confirmRemoveFromFollowingButton" style="margin-left:4px" class="followBtn followBtnRemove">&nbsp;</button>')
	}
	else
		$("#confirmRemoveFromFollowingButton").remove()
}

function removeFromFollowing()
{
	$.ajax({type:'POST',url:base_dir+'users/unfollowUser',data:'user_id='+profile_id+'&json=1', dataType:'json',
		success:function(json){if(json.error) makePopUp("Whoops!", json.error)
		else{$('#followButton').removeClass('followBtnFollowing')
			$('#confirmRemoveFromFollowingButton').remove()
			displayFollowMessage("You are no longer following <span id='name' class='highlight'>"+username+"</span>")}}})
}
