Usando document.getElementById () dentro do objeto, trabalha em JSFiddle, TypeError em real. Por quê?

Eu tenho um código que funciona no JSFiddle, mas não funciona quando eu salvar o HTML + JS localmente e testá-lo localmente. Não consigo descobrir o que há de errado com o código. Aqui está o meu JSFiddle

http://jsfiddle.net/LLUAB/

E aqui está o código real, não muito longo

<!doctype html>
<html>
<head>
<script type="text/javascript" language="Javascript">
function Composer(foobox) {
    this.foobox = document.getElementById(foobox);

    this.foobox.onkeydown = function(){window.alert("hello")};
}

var myComposer = new Composer("foo");
</script>
</head>
<body>

<textarea id="foo"></textarea>

</body>
</html>

questionAnswers(3)

yourAnswerToTheQuestion