Boas galera!!

script bem batido e massacrado já, mas com uns adicionais, que nunca vi por ai. Fazer a primeira parte é super simples, e tô cansado de ver gente postando como selecionar grupo de checkbox, ao marcar um. Então, para não fugir do costume, posto algo melhor:

Demostração

<html>
<head>
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
	<script type="text/javascript">
	$(document).ready(function(){
		/* ao clicar no todos, seleciona todos e altera a class de todas as linhas */
		$("input[name='todos']").click(function(){
			var ckd = $( this ).attr('checked');

			$("#grid input[type='checkbox']").attr({checked: ckd});
			toogle_class( ckd, $('#grid tbody tr') );
		});
		/* ao clicar no checkbox, altera a class da linha */
		$("input[name='status[]']").click(function(){
			toogle_class( $( this ).attr('checked'), $( this ).parents('tr') );
		});
		$("#grid tr").click(function( e ){
			if( e.target.tagName!='INPUT' )
			{
				var checkbox = $( this ).find("input[type='checkbox']");
				var ckd = !checkbox.attr('checked');

				checkbox.attr('checked', ckd);
				toogle_class( ckd, $( this ) );
			}
		});
	});
	function toogle_class( ckd, el ){
		if( ckd==true )
			el.addClass('selecionado');
		else
			el.removeClass('selecionado');
	}
	</script>
	<style type="text/css">
	.selecionado { background: #f0f; }
	</style>
</head>
<body>
	<form action="" method="post">
		<table id="grid">
			<thead>
				<tr>
					<th>ID</th>
					<th>Nome</th>
					<th>Status</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td></td>
					<td></td>
					<td><input type="checkbox" name="todos" value="todos" /></td>
				</tr>
				<tr>
					<td>15</td>
					<td>Resident Evil</td>
					<td><input type="checkbox" name="status[]" value="1" />
						<input type="hidden" name="id" value="15" /></td>
				</tr>
				<tr>
					<td>17</td>
					<td>Tomb Raider</td>
					<td><input type="checkbox" name="status[]" value="1" />
						<input type="hidden" name="id" value="17" /></td>
				</tr>
				<tr>
					<td>21</td>
					<td>Prince of Persia</td>
					<td><input type="checkbox" name="status[]" value="1" />
						<input type="hidden" name="id" value="21" /></td>
				</tr>
				<tr>
					<td>18</td>
					<td>Soul Reaver</td>
					<td><input type="checkbox" name="status[]" value="1" />
						<input type="hidden" name="id" value="18" /></td>
				</tr>
			</tbody>
		</table>
	</form>
</body>
</html>