Имеется код:
function foo(domId)
{
 this.container = document.getElementById(domId);
}
foo.prototype =
{
 f1: function()
 {
  var btn = document.createElement('INPUT');
  btn.setAttribute('type','button');
  btn.setAttribute('value','Button 1');
  btn.onclick = this.f2;
  this.container.appendChild( btn ); // кнопка успешно добавляется
 },
 f2: function()
 {
  alert(this.container); // "undefined" ?!!
 }
}
var ff = new foo('block1');
ff.f1();
Вопрос: почему container не доступен в f2 и как это исправить?
Т.е. какие тут имеются пространства имен (наверное вопрос в этом)?