Capas invisibles y visibles

Buenas!!!

Tengo una duda con una web en la que pretendo meter una pequeña capa... Se trata de un formulario de consulta que tiene un radio button, dependiendo del cual se debe mostrar un cuadro para rellenar.
EL trozo de codigo es este:

<html>
<body>
<table border =0 id="filtroBusq" cellpadding="5" title="FiltroBusqueda">
<tr align="right">
<td align="left"> <input type="radio" id="CodigoSN" name="CodigoSN" value="conCodigo" checked="checked" ></input> Con c&oacute;digo</td>
<td align="left"> <input type="radio" id="CodigoSN" name="CodigoSN" value="sinCodigo" ></input> Sin c&oacute;digo </td>
</tr>
<tr>
<td align="right">
<div id="codigo" style="visibility: collapse;"> C&oacute;digo a buscar:
<input type="text" name="NumCodigo" value="" maxlength="4" size="4"></input>
</div>
</td>
<td></td>
</tr>
</table>
</body>
</html>

Tal como está ahora mismo, la capa está oculta, pero quiero que cuando esté activado el radiobutton que indica "Con codigo" se vea y cuando el que esté marcado sea "sin codigo" esté desactivado. Creoq ue tengo que jugar con la propiedad visibility, tal como veis que estoy intentando hacer, pero no consigo vincularla al radio button.... UF! ¿Me podeis echar una mano?
Pues para eso yo uso display:none no uso visibilidad para q la capa no me aparesca solo uso display:none para q cuando le haga click en el titulo pues la seccion se expanda y se contraiga..
Ok, con el display:none se deja de mostrar la capa, pero lo que no se es como hacer para que cuando cambie el radio button de encima se muestre la capa.... Es decir, consigo ocultarla pero no consigo mostrarla condicionalmente.