カウントダウンをクロージャーを使って書いてみた。これはオブジェクト指向なのか?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>じかん</title>
<body>
<p>
<input type="text" name="tm1" size="20">まで、<br>あと
<input type="text" name="tm1" size="4">日
<input type="text" name="tm1" size="4">時
<input type="text" name="tm1" size="4">分
<input type="text" name="tm1" size="4">秒
</p>
<p>
ばぶばぶぅ〜の誕生日、
<input type="text" name="tm2" size="25">まで、<br>あと
<input type="text" name="tm2" size="4">日
<input type="text" name="tm2" size="4">時
<input type="text" name="tm2" size="4">分
<input type="text" name="tm2" size="4">秒
</p>

<script type="text/javascript">

//________________________

var CountDownGenerator = function (y, m, d, hh, mm, ss) {

  var t = new Date(y, m-1, d, hh || 0, mm || 0, ss || 0);
  var s = y + '年' + m + '月' + d + '日' + 
    (undefined === hh ? '': hh + '時') +
    (undefined === mm ? '': mm + '分') +
    (undefined === ss ? '': ss + '秒');

  return function () {
    var sa = t - (new Date);
    sa = sa / 1000 |0;
    if (sa<0) return { end: true };
    var ss = sa % 60; sa = sa / 60 |0;
    var mm = sa % 60; sa = sa / 60 |0;
    var hh = sa % 24; sa = sa / 24 |0;
    var dd = sa;
    return {
      day: dd, hours: hh, minutus: mm, seconds:ss, str:s, end:false
    };
  };
  
}

//________________________

var Viewer = function (c, nm) {
  
  var txt = document.getElementsByName(nm);
  
  return function() {
    var time = c();
    if (time.end) return
    txt[0].value = time.str;
    txt[1].value = time.day;
    txt[2].value = time.hours;
    txt[3].value = time.minutus;
    txt[4].value = time.seconds;
    setTimeout( arguments.callee, 1000);
  }();
};

//________________________

Viewer(CountDownGenerator(2009, 7, 1, 15), 'tm1');

var tanjoubi = CountDownGenerator(2010, 1, 12, 20,23,15);
Viewer(tanjoubi, 'tm2');

</script>