new function() {

	var headerId = "header";
	var mainId   = "main";
	var sideId   = "side";
	var footerId = "footer";
	var totopId   = "totop";
	
	//メイン
	function footerFixed(){

		//ドキュメントの高さ
		var dh = document.getElementsByTagName("body")[0].clientHeight;
	
		//フッターのtopからの位置
		document.getElementById(footerId).style.top = "0px";
		var ft = document.getElementById(footerId).offsetTop;

		//ヘッダーの高さ
		var hh = document.getElementById(headerId).offsetHeight;
		
		//メインの高さ
		var mh = document.getElementById(mainId).offsetHeight;
		
		//サイドの高さ
		var sh = document.getElementById(sideId).offsetHeight;
		
		//フッターの高さ
		var fh = document.getElementById(footerId).offsetHeight;

		//ウィンドウの高さ
		if (window.innerHeight){
			var wh = window.innerHeight;
		}else if(document.documentElement && document.documentElement.clientHeight != 0){
			var wh = document.documentElement.clientHeight;
		}


		if(ft+fh<wh){
			document.getElementById(mainId).style.height = (wh-hh-fh) + "px";
			document.getElementById(totopId).style.visibility = "hidden";
		} else {
			document.getElementById(totopId).style.top = (ft-fh) + "px";
			if(mh > 1000) {
				document.getElementById(totopId).style.visibility = "visible";
			}
			
		}
		
		//サイドがメインより長い時
		if(mh<sh) {
			document.getElementById(mainId).style.height = (wh-hh-fh) + 350 + "px";
			document.getElementById(totopId).style.visibility = "hidden";
		}
		
	}

	//イベントリスナー
	function addEvent(elm,listener,fn){
		try{
			elm.addEventListener(listener,fn,false);
		}catch(e){
			elm.attachEvent("on"+listener,fn);
		}
	}

	addEvent(window,"load",footerFixed);
	addEvent(window,"resize",footerFixed);
	
}