jQuery("document").ready(function(){
	jQuery("div.um-user-link span")
		.click(function(e) {
            jQuery("div.um-user-link-tooltip").fadeOut();
            
			jQuery(this)
                .siblings("div.um-user-link-tooltip")
                .fadeIn();
            
            jQuery("body")
                .bind('click.um-tooltips', function(e) {
                    jQuery("div.um-user-link-tooltip").fadeOut();
                    jQuery("body").unbind( 'click.um-tooltips' );
                });
                
            e.stopPropagation();
		});
	
	jQuery(".user-private_email-autocomplete")
		.autocomplete(ajaxurl, {
			minChars: 1,
			max: 100,
			extraParams: { action: 'um_list_users_email' },
			multiple: true,
			formatItem: function(row, i, total) {
				return row[1];
			},
			formatResult: function(row) {
				return row[1];
			}
		})
		.focus(function() {
			jQuery(this)
				.val("")
				.addClass("active");
		})
		.blur(function() {
			jQuery(this)
				.val(searchUserText)
				.removeClass("active");
		})
		.result(function(event, row) {
			if (maxEmailRecipients > 0
					&& jQuery("div.user-list").children(".um-user").length >= maxEmailRecipients) {
				alert(tooManyMailUsersText);
				return;
			}
			printUserSpan(event, row);
		});
	
	jQuery(".user-private_msg-autocomplete")
		.autocomplete(ajaxurl, {
			minChars: 1,
			max: 100,
			extraParams: { action: 'um_list_users_private_message' },
			multiple: true,
			formatItem: function(row, i, total) {
				return row[1];
			},
			formatResult: function(row) {
				return row[1];
			}
		})
		.focus(function() {
			jQuery(this)
				.val("")
				.addClass("active");
		})
		.blur(function() {
			jQuery(this)
				.val(searchUserText)
				.removeClass("active");
		})
		.result(function(event, row) {
			if (maxPrivateMsgRecipients > 0
					&& jQuery("div.user-list").children(".um-user").length >= maxPrivateMsgRecipients) {
				alert(tooManyPrivateMsgUsersText);
				return;
			}
			printUserSpan(event, row);
		});
		
	jQuery(".um-user")
		.click(function(e) {
			if (jQuery(this).hasClass("removable")) {
				jQuery(this).fadeOut('fast', function() { jQuery(this).remove() });
			}
		});	
});

function printUserSpan(event, row) {
	if ( row[0]==0 
		|| jQuery("div.user-list").children(".um-user-"+row[0]).length!=0 ) {
		jQuery("#tmp-user").val("");
		return;
	}

	var newChild = "<span class='um-user removable um-user-"+ row[0] + "'>";
	newChild += row[1];
	newChild += "<input type='hidden' name='user_ids[]' value='" + row[0] + "'></input>";
	newChild += "</span>";
	
	jQuery("div.user-list")
		.append(newChild)
		.find(".um-user")
		.last()
		.click(function(e) {
			jQuery(this).fadeOut('fast', function() { jQuery(this).remove() });
		});	
}