/**
 * friends functions
*/
currentfrdMultiSelect = true;
currentfrdSelectFunction = false;

function getFriendsSelect(sSelector, sType, iId, bMultiSelect, sOnClick) {
	if ($('.friendselectarea', $(sSelector)).attr('loaded') != 1) {
		if (bMultiSelect === false) {
			currentfrdMultiSelect = false;
		} else {
			currentfrdMultiSelect = true;
		}
		if (sOnClick) {
			currentfrdSelectFunction = sOnClick;
		} else {
			currentfrdSelectFunction = false;
		}
		$('.friendselectarea', $(sSelector)).attr('loaded', 1);
		if (sType) {
			$.getJSON("/api/js/friend/get.php", { s: sSelector, privCheck: sType, id: iId }, function(aData){
					getFriendsSelectRsp(aData);
				});
		} else {
			$.getJSON("/api/js/friend/get.php", { s: sSelector }, function(aData){
					getFriendsSelectRsp(aData);
				});
		}
	}
}

function getFriendsSelectRsp(aData) {
	oTarget = $(aData['s']);
	if (!aData['errors']) {
		$('.friendselectarea', oTarget).html('');
		count = 0;
		countTotal = 0;
		for (iUserKey in aData['users']) {
			count++;
			countTotal++;
			aUser = aData['users'][iUserKey];
			if (aUser['av']) {
				aUser['av'] = "/api/images/processimage.php?o=1&w="+iThumbWidthB+"&h="+iThumbHeightB+"&f=/../images/photos/"+aUser['av'];
			} else {
				aUser['av'] = "/images/phNo-"+iThumbWidthB+".png";
			}
			if (aUser['s']) {
				sSelected = ' selected';
			} else {
				sSelected = '';
			}
			if (currentfrdMultiSelect) {
				sOnClick = '$(this).toggleClass(\'selected\');';
			} else {
				sOnClick = '$(\'.selected\', $(this).parent()).removeClass(\'selected\'); $(this).addClass(\'selected\');';
			}
			if (currentfrdSelectFunction) {
				sOnClick += ' '+currentfrdSelectFunction;
			}
			$('.friendselectarea', oTarget).append('<div id="friend'+aUser['id']+'" class="friendSelector'+sSelected+'" alias="'+aUser['a']+'" selectedid="'+aUser['id']+'" onclick="'+sOnClick+'" title="click to add friend to list"><img src="'+aUser['av']+'" class="ph" />'+aUser['a']+'<br />'+aUser['nc']+', '+aUser['c']+'</div>');
			if (count == 3) {
				count = 0;
			}
		}
		if (!countTotal) {
			$('.friendselectarea', oTarget).append('<div class="friendSelector" style="width: 390px !important;">You do not have any people in your friends list or My Address Book.<br />Why not <button type="button" class="frmBtn" onmousedown="window.location=\''+sHttpsDir+'/member/addressbook/\';">Check your address book</button></div>');
		}
		$('.friendselectarea', oTarget).append('<div class="clearfix"></div>');
	} else {
		$('.friendselectarea', $(sSelector)).attr('loaded', 0);
		$('.friendselectarea', oTarget).html('<div class="friendSelector">None found</div>');
	}
}

var bCancelAllInvitesRequest = false;

function f_rejectAllInvites() {
	if (!bCancelAllInvitesRequest) {
		bCancelAllInvitesRequest = true;
		if (confirm("WARNING: This operation cannot be undone.\nAre you sure you wish to reject all friend invites received?")) {
			$.getJSON("/api/js/friend/rejectallinv.php", function(aData){
					f_rejectAllInvitesResp(aData);
				});
		}
	}
}

function f_rejectAllInvitesResp(aData) {
	if (aData['errors'] == '') {
		$('.InviteSent').addClass('notice');
		$('.InviteSent').html('<div class="error" style="height: 130px;">Invitations rejected</div>');
		oMasterNotifier.alert('All friend invites received have been rejected', -1);
	}
	bCancelAllInvitesRequest = false;
}

function f_cancelAllInvites() {
	if (!bCancelAllInvitesRequest) {
		bCancelAllInvitesRequest = true;
		if (confirm("WARNING: This operation cannot be undone.\nAre you sure you wish to cancel all friend invites you have sent?")) {
			$.getJSON("/api/js/friend/cancelallinv.php", function(aData){
					f_cancelAllInvitesResp(aData);
				});
		}
	}
}

function f_cancelAllInvitesResp(aData) {
	if (aData['errors'] == '') {
		$('.InviteSent').addClass('notice');
		$('.InviteSent').html('<div style="height: 100px;">Invitations cancelled</div>');
		oMasterNotifier.alert('All friend invites you have sent have been cancelled', -1);
	}
	bCancelAllInvitesRequest = false;
}

function f_acceptAllInvites() {
	if (!bCancelAllInvitesRequest) {
		bCancelAllInvitesRequest = true;
		if (confirm("WARNING: Are you sure you wish to accept all friend invites received?")) {
			$.getJSON("/api/js/friend/acceptallinv.php", function(aData){
					f_acceptAllInvitesRsp(aData);
				});
		}
	}
}

function f_acceptAllInvitesRsp(aData) {
	if (aData['errors'] == '') {
		$('.InviteSent').addClass('notice');
		$('.InviteSent').html('<div class="error" style="height: 130px;">Invitations accepted</div>');
		oMasterNotifier.alert('All friend invites received have been accepted', -1);
	}
	bCancelAllInvitesRequest = false;
}

function f_addToFriends(iFriendID) {
	if ($('.invFrnd'+iFriendID).attr('invited') != -1) {
		$('.invFrnd'+iFriendID).attr('oldvalue', $('.invFrnd'+iFriendID).html());
		$('.invFrnd'+iFriendID).html(procText);
		//$('#frndWait'+iFriendID).height($('#frnd'+iFriendID).height());
		//$('#frndWait'+iFriendID).width($('#frnd'+iFriendID).width());
		//$('#frndWait'+iFriendID).fadeIn();
		if ($('.invFrnd'+iFriendID).attr('invited') == 0) {
			$('.invFrnd'+iFriendID).attr('invited', -1);
			$.getJSON("/api/js/friend/add.php", { id: iFriendID }, function(aData){
				f_addToFrndsResp(aData);
			});
		} else {
			//remove duplicate - accept and decline
			$('.invFrnd'+iFriendID).parent().prev().children('.invFrnd'+iFriendID).parent().remove();
			$('.invFrnd'+iFriendID).parent().next().children('.invFrnd'+iFriendID).parent().remove();
			$('.invFrnd'+iFriendID).attr('invited', -1);
			$.getJSON("/api/js/friend/cancel.php", { id: iFriendID }, function(aData){
					f_cnlToFrndsResp(aData);
				});
		}
	}
}

function f_addToFrndsResp(aData) {
	//$('#frndWait'+aData['id']).fadeOut();
	if (aData['errors'] == '') {
		$('.invFrnd'+aData['id']).attr('invited', 1);
		$('.invFrnd'+aData['id']).html(cancelFrndText);
		$('.invFrnd'+aData['id']+'.icoFriend-invite').removeClass('icoFriend-invite').addClass('icoFriend-invited');
		oMasterNotifier.alert('Request sent', -1);
	} else {
		$('.invFrnd'+aData['id']).attr('invited', 0);
		$('.invFrnd'+aData['id']).html($('.invFrnd'+aData['id']).attr('oldvalue'));
		if (aData['error'] == -99) {
			$.blockUI({ fadeOut: 0, message: '<div id="membersOnly" class="bgPale"><div class="clearfix"><a href="#" onclick="$.unblockUI(function() { $(\'#membersOnly\').remove(); }); return false;" class="msgComp-x" title="click to close message window">x</a></div><h5>Join Now</h5> This feature is restricted to members only. <button type="button" class="frmBtn" onmousedown="window.location=\'/join/\';">Join now</button></div>', css: { top: '133px', width: '600px', left: ( ($(window).width() / 2) - 300) }, applyPlatformOpacityRules: true });
		}
	}
}

function f_cnlToFrndsResp(aData) {
	//$('#frndWait'+aData['id']).fadeOut();
	if (aData['errors'] == '') {
		$('.invFrnd'+aData['id']).attr('invited', 0);
		if ($('.invFrnd'+aData['id']).html(rmvFrndText)) {
			oMasterNotifier.alert('Friend removed', -1);
		} else {
			oMasterNotifier.alert('Request rejected', -1);
		}
		$('.invFrnd'+aData['id']).html(addFrndText);
		$('.invFrnd'+aData['id']+'.icoFriend-invited').removeClass('icoFriend-invited').addClass('icoFriend-invite');
		$('.invFrnd'+aData['id']+'.icoFriend-in').removeClass('icoFriend-in').addClass('icoFriend-invite');
	} else {
		$('.invFrnd'+aData['id']).attr('invited', 1);
		$('.invFrnd'+aData['id']).attr('oldvalue');
	}
}

function f_appToFriends(iFriendID) {
	if ($('.invFrnd'+iFriendID).attr('accepted') != -1) {
		if ($('.invFrnd'+iFriendID).attr('accepted') == 1) {
			f_addToFriends(iFriendID);
			return true;
		}
		//remove duplicate - accept and decline
		$('.invFrnd'+iFriendID).parent().prev().children('.invFrnd'+iFriendID).parent().remove();
		$('.invFrnd'+iFriendID).parent().next().children('.invFrnd'+iFriendID).parent().remove();
		$('.invFrnd'+iFriendID).attr('oldvalue', $('.invFrnd'+iFriendID).html());
		$('.invFrnd'+iFriendID).attr('accepted', -1);
		$('.invFrnd'+iFriendID).html(procText);
		//$('#frndWait'+iFriendID).height($('#frnd'+iFriendID).height());
		//$('#frndWait'+iFriendID).width($('#frnd'+iFriendID).width());
		//$('#frndWait'+iFriendID).fadeIn();
		$.getJSON("/api/js/friend/approve.php", { id: iFriendID }, function(aData){
				f_appFrndsResp(aData);
			});
	}
}

function f_appFrndsResp(aData) {
	//$('#frndWait'+aData['id']).fadeOut();
	if (aData['errors'] == '') {
		$('.invFrnd'+aData['id']).attr('accepted', 1);
		$('.invFrnd'+aData['id']).attr('invited', 1);
		$('.invFrnd'+aData['id']).html(rmvFrndText);
		$('.invFrnd'+aData['id']+'.icoFriend-invited').removeClass('icoFriend-invited').addClass('icoFriend-in');
		oMasterNotifier.alert('Friend invite accepted', -1);
	} else {
		$('.invFrnd'+aData['id']).attr('accepted', 0);
		$('.invFrnd'+aData['id']).attr('oldvalue');
	}
}
