// ブラウザ判別
if (document.getElementById) { window.onload = initHeadlines; }

// 初期設定
function initHeadlines() {
	// idに「weather_inner」が見つからない場合は初期設定を行わず戻る
	if ( !document.getElementById("weather_inner") ) return;

	act    = 0; //表示中のリスト項目No.
	amount = 3; //スクロール量 (px)
	wait   = 3; //一時停止時間 (秒)
	pause  = 1; //一時停止状態フラグ (1:停止、0:再開)
	resetTime = (new Date()).getTime(); //一時停止用タイマーリセット

	// リスト要素を配列listItemsに代入
	listItems = document.getElementById("weather_inner").getElementsByTagName("li");
	listLength = listItems.length;

	// 表示の初期化
	for (i=0; i<listLength; i++) {
		listItems[i].style.top = (i* listItems[i].offsetHeight) + "px";
		listItems[i].style.visibility = "visible";
	}
	// updateHeadlines()の繰り返し処理
	//if (listLength>1) setInterval("updateHeadlines()",100);
	if (listLength>1) updateHeadlines();
}

// 繰り返し処理
function updateHeadlines() {
	if (!pause) { // 一時停止状態でない場合
		for (i=0; i<listLength; i++) {
			n = (act+i)%listLength;
			with (listItems[n]) {
				prev = (n>0)? n-1:listLength-1;
				// 上端に消えた場合
				if ( parseInt(style.top) == -offsetHeight) {
					style.top = parseInt(listItems[prev].style.top)+listItems[prev].offsetHeight+"px";
					act = (act+1)%listLength;
					resetTime = (new Date()).getTime();
					pause = 1;
					break;
				}
				// 通常スクロールの場合
				else {
					if (n==act) style.top = Math.max(-offsetHeight,parseInt(style.top)-amount)+"px";
					else style.top = parseInt(listItems[prev].style.top)+listItems[prev].offsetHeight+"px";
				}
			}
		}
	}
	else {
		// 一時停止状態の場合
		releaseTime = (new Date()).getTime();
		if (releaseTime - resetTime > 1000 * wait ) pause = 0;
	}
	setTimeout("updateHeadlines()",100);
}

