function onChangeBuddyList(event){
	var inactiveColor = '#999999';
	var activeColor = '#000000';
	
	var buddyListId = $('select[name=budddy_list_select]').val();
	var listName = $('select[name=budddy_list_select] option:selected').text();
	$('input[name=buddyListNameField]').val(listName);
	var url = '/popup/buddylist/get.do';
	
	var name1Field = $('input[name=companionDetails[0].name]');
	var id1Field = $('input[name=companionDetails[0].memberId]');
	
	var name2Field = $('input[name=companionDetails[1].name]');
	var id2Field = $('input[name=companionDetails[1].memberId]');
	
	var name3Field = $('input[name=companionDetails[2].name]');
	var id3Field = $('input[name=companionDetails[2].memberId]');
	
	var params = {};
	params.listId = buddyListId;
	var ownerId = $('input[name=memberID]').val();
	if (!isNull(ownerId)){
		params.ownerId = ownerId;
	}
	
	$.post(url, params, function(data){
		if (data.status == ERROR){
			//NotifyDialog.error(data.trace);
			return;
		}
		$(name1Field).css('color', inactiveColor);
		$(name1Field).val(DEFAULT_MEMBERS_NAME_MSG);
		$(id1Field).val('');
		
		$(name2Field).css('color', inactiveColor);
		$(name2Field).val(DEFAULT_MEMBERS_NAME_MSG);
		$(id2Field).val('');
		
		$(name3Field).css('color', inactiveColor);
		$(name3Field).val(DEFAULT_MEMBERS_NAME_MSG);
		$(id3Field).val('');
		var visitors = countCompanions();
		var max = MAX_COMPANIONS_NUMBER - visitors -1;
		
		if (!isNull(data.buddy1Id) && max > 0){
			var id1 = data.buddy1Id;
			var name1 = data.buddy1Name;
			$(name1Field).css('color', activeColor);
			$(name1Field).val(name1);
			$(id1Field).val(id1);
			max = max -1;
		}
		
		if (!isNull(data.buddy2Id) && max > 0){
			var id2 = data.buddy2Id;
			var name2 = data.buddy2Name;
			$(name2Field).css('color', activeColor);
			$(name2Field).val(name2);
			$(id2Field).val(id2);
			max = max -1;
		}
		
		if (!isNull(data.buddy3Id) && max > 0){
			var id3 = data.buddy3Id;
			var name3 = data.buddy3Name;
			$(name3Field).css('color', activeColor);
			$(name3Field).val(name3);
			$(id3Field).val(id3);
		}
		removeExtraCompanions(event);
	}, 'json');
}

function updateBuddyList(){
	if (!confirmDialog()){
		return;
	}
	var buddyListId = $('select[name=budddy_list_select]').val();
	var listName = $('input[name=buddyListNameField]').val();
	
	var buddy1Id = $('input[name=companionDetails[0].memberId]').val();
	var buddy1Name = $('input[name=companionDetails[0].name]').val();
	
	var buddy2Id = $('input[name=companionDetails[1].memberId]').val();
	var buddy2Name = $('input[name=companionDetails[1].name]').val();
	
	var buddy3Id = $('input[name=companionDetails[2].memberId]').val();
	var buddy3Name = $('input[name=companionDetails[2].name]').val();
	
	var buddyIds = [];
	if (!isNull(buddy1Id) && !isNull(buddy1Name)){
		buddyIds.push(buddy1Id);
	}
	if (!isNull(buddy2Id) && !isNull(buddy2Name)){
		buddyIds.push(buddy2Id);
	}
	if (!isNull(buddy3Id) && !isNull(buddy3Name)){
		buddyIds.push(buddy3Id);
	}
		
	var params = {};
	params.id = buddyListId;
	params.name = listName;

	switch(buddyIds.length){
		case 3:{
			params.buddy3Id = buddyIds[2];
		}
		case 2:{
			params.buddy2Id = buddyIds[1];
		}
		case 1:{
			params.buddy1Id = buddyIds[0];
		}
		default:{
			//do nothing
		}
	}
	
	var ownerId = $('input[name=memberID]').val();
	if (!isNull(ownerId)){
		params.ownerId = ownerId;
	}
	
	var url = "/popup/buddylist/update.do";
	$.post(url, params, function(data){
		if (data.status == ERROR){
			NotifyDialog.error(data.trace);
			return;
		}
		updateBuddyListField(data);
		NotifyDialog.notify(SUCCESS);
	}, 'json');
}

function getBuddyLists(ownerId){
	var url = "/popup/buddylist/list.do";
	var params = {};
	params.ownerId = ownerId;
	$.post(url, params, function(data){
		if (data.status == ERROR){
			NotifyDialog.error(data.trace);
			return;
		}
		updateBuddyListField(data);
		NotifyDialog.notify(SUCCESS);
	}, 'json');
}


function updateBuddyListField(data){
	var buddyLists = data.buddyLists;
	if (isNull(buddyLists)){
		return;
	}
	var options = '<option value=""></option>';
	if (buddyLists.length == 0){
		$('select[name=budddy_list_select]').html('');
	}
	for (var i=0; i<buddyLists.length;i++){
		var l = buddyLists[i];
		var isSelected = l.id == data.id ? 'selected="selected"' : '';
		options += createOption(l.id, l.name, isSelected);
	}
	$('select[name=budddy_list_select]').html(options);
}
