Troum 
Проверь существование объекта self.
Ошибка говорит о том что то что ты закрываешь, несуществует
Кстати, ошибка вылетает при открытии окна, закрытии или при попытке записи в него? Я обычно такие вещи делаю так:
 function testObj(obj)
 {
   testwin = open("","Test","");
   testwin.document.open();
   for(i in obj)
     testwin.document.write(i+"="+obj[i]+"
");
  
   testwin.document.close();
  }
При закрытии окна оно всегда снова откроется.
 }
[/code]