// =============================================================================
// フッタ管理クラス
// =============================================================================
/*
   Footer クラス

   最終更新日:2004年2月26日(金)
   -----------------------------------------------------------------------------

   依存
	sniffer.js
	broadcaster.js
	window.js
	window_onload.js

   -----------------------------------------------------------------------------

   コンストラクタの引数
	無し

   -----------------------------------------------------------------------------

   メソッド
	- init()
		初期化

	- onReady()
		イベント（windowからとんでくるイベント）

	- onResize()
		イベント（windowからとんでくるイベント）

	- setHeight();
		ViewPointの高さにあわせてフッターの高さを設定

   -----------------------------------------------------------------------------

   備考
	A List Apart(http://www.alistapart.com/)とBobby van der Sluis氏の記事
	http://www.alistapart.com/articles/footers/
	を参考にしました。感謝します。

*/
// =============================================================================
if(sniffer.DOMable()) {



// -----------------------------------------------------------------------------
/*
   オブジェクト準備
*/
function Footer() {
	this.init();
}
// -----------------------------------------------------------------------------



// -----------------------------------------------------------------------------
/*
   initメソッド
	Null footer.init()
*/
Footer.prototype.init = function() {
}
// -----------------------------------------------------------------------------



// -----------------------------------------------------------------------------
/*
   メソッド
	Null footer.setHeight()
*/
Footer.prototype.setHeight = function() {
	var windowHeight = window.getViewPointHeight();
	if (windowHeight > 0) {
		var contentHeight= document.getElementById("title").offsetHeight + document.getElementById("menu").offsetHeight + document.getElementById("contents").offsetHeight;
		var footerElement= document.getElementById("footer");
		var footerMinHeight = 45;
		if (windowHeight - (contentHeight + footerMinHeight) >= 0) {
			var verticalPadding = 34;
			if (document.all && !document.documentElement.clientHeight) {
				verticalPadding = 0;
			}
			footerElement.style.height = (windowHeight - contentHeight - verticalPadding) + "px";
		}
		else {
			footerElement.style.height = footerMinHeight + "px";
		}
	}
}
// -----------------------------------------------------------------------------



// -----------------------------------------------------------------------------
/*
   readyイベント（windowから教えてもらえるイベント）
	Null footer.onReady()
*/
Footer.prototype.onReady = function() {
	this.setHeight();
}
// -----------------------------------------------------------------------------



// -----------------------------------------------------------------------------
/*
   resizeイベント（windowから教えてもらえるイベント）
	Null footer.onResize()
*/
Footer.prototype.onResize = function() {
	this.setHeight();
}
// -----------------------------------------------------------------------------



// -----------------------------------------------------------------------------
/*
   インスタンス化
*/
var footer = new Footer();
// -----------------------------------------------------------------------------



// -----------------------------------------------------------------------------
/*
   windowさんにイベントを教えてもらえるようにする。
*/
window.addListener(footer);
// -----------------------------------------------------------------------------
}