In order to implement the show hide i have written a function which takes two arguments: the first one being the span id and the other being the name of the select box.
<html>
<head>
<style type="text/css">
.addons {position:relative;visibility:hidden}
</style>
<script language="JavaScript">
<!--
var Ver4 = parseInt(navigator.appVersion) >= 4
var Nav4 = ((navigator.appName == "Netscape"

&& Ver4)
var IE4 = ((navigator.userAgent.indexOf("MSIE"

!= -1) && Ver4)
function flip(block,sel)
{
if (Nav4){
document.layers[block].visibility=(sel.options[sel.selectedIndex].value=="Other"

? "visible" : "hidden"
}
else if(IE4)
{
document.all(block).style.visibility = (sel.options[sel.selectedIndex].value=="Other"

? "visible" : "hidden"
}
}
//-->
</script>
</head>
<body>
<p>
<select onChange="flip('reasonBlock',this);">
<option selected value="Yes">Yes</option>
<option value="No">No</option>
<option value="Other">Other</option>
</select>
<span ID="reasonBlock" class="addons">
<input name="someName">
</span>
</p>
</body>
</html>
;-)