function decrementListCount(listName) {
	var countEl = '#' + listName + 'Count';
	var pluralEl = '#' + listName + 'Plural';
	var curCount = jQuery(countEl).html();
	curCount = parseInt(curCount, 10);
	curCount--;
	var pluralText = '';
	if (curCount != 1) {
		pluralText = 's';
	}
	if (curCount == 0) {
		curCount = 'no more';
	}
	jQuery(countEl).html(curCount);
	jQuery(pluralEl).html(pluralText);
}

function displayAddFriendPopup(fromUsername, toUsername, toImage) {
	friendActionDoer = fromUsername;
	friendActionReceiver = toUsername;
	jQuery('.friendRequestTo').html(toUsername);
	jQuery('#friendRequestPhoto').attr('src', toImage);
	//{$_pageURL}#TB_inline?height=334&width=490&inlineId=hiddenFriendRequestPopup&modal=true&closer=no
	//currenlty not used because we are storing the add box inline
	var caption = this.title || this.name || null;
	var url = '#TB_inline?height=334&width=490&inlineId=hiddenFriendRequestPopup&modal=true&closer=no';
	var imageGroup = this.rel || false;
	var elToHide = [];
	//alert(caption + ' | ' + url + ' | ' + imageGroup + ' | ' +  elToHide);
	tb_show(caption, url, imageGroup, elToHide); //no elToHide here
}

function sendAddFriendRequest(elToSwap) { //, mode, reminderID
	var url = '/members/' + friendActionReceiver + '/friend/ajax/add';
	jQuery.ajax({ 
		url: url,
		data: {
			'friendActionDoer': friendActionDoer, 
			'friendActionReceiver': friendActionReceiver, 
			'friendActionMessage' : jQuery('#friendRequestMessage').val(),
			'submitID' : submitIDs['addFriend'],
			'successMode' : '1' //successMode 1 = close box on success, elToSwap is element to display message in
		},
		type: 'post',
		success: function (responseText) {
			if (responseText == 'success') {
				tb_remove();
				jQuery('#friendRequestMessage').val('');
				document.getElementById('friendMember' + friendActionReceiver).innerHTML = 'waiting for response';
				//window.location = window.location; //todo: swap out necessary element only
			} else {
				// Mysterious IE7 bug with inserting response text forces manual js calls.
				//jQuery(elToSwap).html(responseText);
				document.getElementById(elToSwap.replace('#', '')).innerHTML = 'Error: ' + responseText;
			}

		}
	});
	//jQuery(elToSwap).html(loadingGraphic);
}

function displayRemoveFriendPopup(friendActionDoer, friendActionReceiver, elToSwap) {
	//todo: use jquery
	var username1el = document.getElementById('removeUsername1');
	var username2el = document.getElementById('removeUsername2');
	username1el.innerHTML = friendActionReceiver;
	username2el.innerHTML = friendActionReceiver;
	var t = this.title || this.name || null;
	var a = '#TB_inline?height=334&width=490&inlineId=hiddenDeleteFriendPopup&modal=true&closer=no';
	var g = this.rel || false;
	tb_show(t,a,g, '#extraElToHide'); //, elToHide
}

function removeFriend(friendActionDoer, elToSwap) {
	var username1el = document.getElementById('removeUsername1');
	var friendActionReceiver = username1el.innerHTML;
	
	var url = '/members/' + friendActionDoer + '/friend/ajax/remove';
	//successMode 1 = close box on success, elToSwap is element to display message in
	jQuery.ajax({
		url: url,
		data: {
			'friendActionDoer': friendActionDoer,
			'friendActionReceiver' : friendActionReceiver,
			'submitID' : submitIDs['removeFriend'],
			'successMode' : '1'
		},
		type: 'post',
		success: function (responseText) {
			if (responseText == 'success') {
				tb_remove();
				jQuery('#manageFriend_' + friendActionReceiver).css('background-color', '#ffaaaa');
				jQuery('#manageFriend_' + friendActionReceiver).fadeOut('slow');
				decrementListCount('mainList');
				//window.location = window.location;
			} else {
				// Mysterious IE7 bug with inserting response text forces manual js calls.
				//jQuery(elToSwap).html(responseText);
				document.getElementById(elToSwap.replace('#', '')).innerHTML = 'Error: ' + responseText;
			}
		}
	});
}

function handleFriendRequest(decision, elToSwap, friendActionDoer, friendActionReceiver) {
	//elToSwap is element to display message in
	jQuery('#requestRow{$request.userID}').fadeOut('slow');
	var url = '/members/' + friendActionDoer + '/friend/ajax/' + decision;
	jQuery.ajax({
		url: url,
		data: {
			'friendActionDoer': friendActionDoer, 
			'friendActionReceiver' : friendActionReceiver, 
			'submitID' : submitIDs[decision + 'Friend'],
			'successMode' : '1' //successMode 1 = close box on success - not needed because no popup here?
		},
		type: 'post',
		success: function (responseText) {
			if (responseText == 'success') {
				decrementListCount('mainList');
				var requestRowId = '#requestRow' + friendActionReceiver;
				if (decision == 'ignore') {
					var useColor = '#ffaaaa';
					jQuery(requestRowId).css('background-color', useColor);
					jQuery(requestRowId).fadeOut('slow');
				} else {
					var useColor = '#aaffaa';
					var buttonsEl = document.getElementById('actionButtons_' + friendActionReceiver);
					buttonsEl.innerHTML = '';
					var messageEl = document.getElementById(elToSwap.replace('#', ''));
					messageEl.innerHTML = 'Friend request accepted!';
				}
			} else {
				// Mysterious IE7 bug with inserting response text forces manual js calls.
				//jQuery(elToSwap).html(responseText);
				var errorElId = elToSwap.replace('#', '');
				errorElId = errorElId.replace('success', 'error');
				var messageEl = document.getElementById(errorElId);
				messageEl.innerHTML = 'Error: ' + responseText;
			}
		}
	});
}