/*
/////////////////////////////////////////////////
オブジェクト位置Function
■初期設定・・・・・・・・・・・・・・・・・12行
■追加処理Function（処理には関係なし）・・・30行
■処理Function・・・・・・・・・・・・・・・41行
■データ取得Function・・・・・・・・・・・・87行
■初期設定開始・・・・・・・・・・・・・・・146行
/////////////////////////////////////////////////
*/

/* +++++++++++初期設定+++++++++++ */

//対象要素ID名
var IDName = "Wrapper";
//対象要素
var TargetID;
//ウィンドウサイズ
var WindowWidth;
var WindowHeight;
//TopMargin
var Num;

//IEかどうか？
var BrowserIE = /*@cc_on!@*/false;
//互換モードかどうか？ true:標準、false：後方互換
var is_compat = (document.compatMode && document.compatMode.indexOf("CSS1") >=0);


/* +++++++++++追加処理Function+++++++++++ */

//Flashロード後表示
function setCss() {
	//Border表示
	//document.getElementById("FlashArea").className = "FlashAreaBorder";
	//ロゴ表示
	document.getElementById("Header").style.visibility = "visible";
}


/* +++++++++++処理Function+++++++++++ */

//TopMargin設定
function setMargin() {
	//対象要素取得
	setID();
	//TopMargin設定
	TargetID.style.marginTop = 0 + "px";
	
	//移動処理
	this.MoveTime = setInterval(moveProcess, 60);
	
	//Flashロード後表示
	//setCss();
}

//ブラウザリサイズ処理
function setMove() {
	//重複防止
	clearInterval(this.MoveTime);
	//TopMargin取得
	getWindowSize();
	//移動処理
	this.MoveTime = setInterval(moveProcess, 50);
}

//移動処理
function moveProcess() {
	//現地点
	var Now = parseFloat(TargetID.style.marginTop);
	
	//距離
	var DistanceY = Num - Now;
	
	if(Math.abs(DistanceY) < 1) {
		//TopMargin設定
		TargetID.style.marginTop = Num + "px";
		clearInterval(this.MoveTime);
	} else {
		Now += DistanceY * 0.2;
		//TopMargin設定
		TargetID.style.marginTop = Now + "px";
	}
}


/* +++++++++++データ取得Function+++++++++++ */

//対象要素取得
function setID() {
	TargetID = document.getElementById(IDName);
	//TopMargin取得
	getWindowSize();
}

//ウィンドウサイズ取得
function getWindowSize(){
	//IE4以上、Opera9
	if(document.all){
		if(BrowserIE) {
			//IE4以上
			WindowWidth = (is_compat) ? document.documentElement.clientWidth : document.body.clientWidth;
			WindowHeight = (is_compat) ? document.documentElement.clientHeight : document.body.clientHeight;
		} else {
			//Opera9
			WindowWidth = document.body.clientWidth;
			WindowHeight = document.body.clientHeight;
		}
	//NS6以上、FireFox、Safari
	}else if(document.getElementById){
		WindowWidth = window.innerWidth;
		WindowHeight = window.innerHeight;
	}
	
	//TopMargin取得
	getMargin(WindowWidth, WindowHeight);
}

//TopMargin取得
function getMargin(WinW, WinH) {
	//オブジェクトサイズ
	var ObjectWidth = TargetID.offsetWidth;
	var ObjectHeight = TargetID.offsetHeight;
	
	//TopMargin
	Num = Math.round((WinH - ObjectHeight) / 2);
	
	//ウィンドウサイズがオブジェクトサイズより小さかったら
	if(WinH <= ObjectHeight) Num = 0;
}

// リスナー登録をする処理
function addListener(Elem, EventType, Func, Cap) {
    if(Elem.addEventListener) {
        Elem.addEventListener(EventType, Func, Cap);
    } else if(Elem.attachEvent) {
        Elem.attachEvent('on' + EventType, Func);
    } else {
        return false;
    }
}


/* +++++++++++初期設定開始+++++++++++ */

//ロード時に実行
addListener(window, 'load', setMargin, false);

//ブラウザリサイズ時に実行
addListener(window, 'resize', setMove, false);


