substring()を使って文字を徐々に表示する

テキストフォームとステータスバーに文字を徐々に表示する。
2バイト文字を使っている場合のみ正常に動く。
1バイト文字を使ってlengthを奇数にすると動かない。
実行結果


ヘッダ部分
<SCRIPT LANGUAGE="JavaScript">
var i = 0
var str = "ようこそ私のホームページへ! 楽しんでってください。enjoy!"
function counter()	{
	if(i==str.length)	{
		i = -2
	}
	i=i+2
	writeDemo()
}
function writeDemo()	{
	var msg = str.substring(0,i)
	document.forms[0].message.value =  msg
	window.status = msg
	timerID = setTimeout("counter()",150)
}
</SCRIPT>

ボディ部分 <FORM> <INPUT TYPE="text" NAME="message" SIZE=60> </FORM>