s & i) === 0 ? 'hide' : 'show']();
	}
	
	$contextMenu.hide(0, function() {
		if (($contextMenu.height() + y) > ($(window).height() - 16)) {
			y -= $contextMenu.height() + 4;
		}
		$contextMenu.css({top: y + 2, left: x + 2});
		$contextMenu.slideDown(200);
	});

	opts.contextMenuTarget = target;
}

function hideContextMenu() {
	$contextMenu.slideUp(200);
	opts.contextMenuTarget = null;
}

function toggleFilter(type) {
	if (type == 'All') {
		if (opts.showMessagesFilters['All'].show === true) {
			$.each(opt