﻿var TimeoutId;

var _FadPic_divCanvasIn;
var _FadPic_divCanvasOut;
var _FadPic_divOuter;

// InPos: FaddinDiv 的透明度， 0 - 100
// degree: 透明度的變化值，應為正數
// NextScript: Fadding 結束時要執行的 Script

var _FadPic_divCanvasIn;
var _FadPic_divCanvasOut;
var _FadPic_divOuter;

function StartFadding(FadInCaveName, FadOutCaveName, OuterDivName, InPos, degree, speed, pause, NextScript){
	
	_FadPic_divCanvasIn = document.getElementById(FadInCaveName);
	_FadPic_divCanvasOut = document.getElementById(FadOutCaveName);
	_FadPic_divOuter = document.getElementById(OuterDivName);
	
	ActuallFadding(InPos, degree, speed, pause, NextScript);
}


function ActuallFadding(InPos, degree, speed, pause, NextScript){
	if (InPos < 0){
		InPos = 0;
	}
	
	if(InPos < 100){
		SetOpacity(_FadPic_divCanvasIn, InPos);
		SetOpacity(_FadPic_divCanvasOut, (100 - InPos));
		InPos += degree;
		TimeoutId = window.setTimeout("ActuallFadding(" + InPos + ", " + degree + ", " + speed + ", " + pause + ", '" + NextScript.replace(/\'/g,"\\'") + "') ", speed);
	}
	else{
		SetOpacity(_FadPic_divCanvasIn, 100);
		SetOpacity(_FadPic_divCanvasOut, 0);
		TimeoutId = window.setTimeout(NextScript, pause);
	}
}

function StartFaddingWithDiv(divCanvasIn, divCanvasOut, divOuter, InPos, degree, speed, pause, NextScript){
	_FadPic_divCanvasIn = divCanvasIn;
	_FadPic_divCanvasOut = divCanvasOut;
	_FadPic_divOuter = divOuter;
	
	ActuallFadding(InPos, degree, speed, pause, NextScript)
}

function StopFadding(){
	//FaddingFlag = false;
	if(TimeoutId){
		window.clearTimeout(TimeoutId);
		TimeoutId = null;
		
		SetOpacity(_FadPic_divCanvasIn, 100);
		SetOpacity(_FadPic_divCanvasOut, 0);
		
		// 以目前的照片調整高度
		AdjustOuterCanvasWithSingleCanvas(_FadPic_divOuter, _FadPic_divCanvasIn)
	}
}


/* DIV 調整用 Function */
/* 水平置中圖片 */
function AdjustCanvas(divOuterCanvas, divInnerCanvas){
	divInnerCanvas.style.left = ((divOuterCanvas.offsetWidth - divInnerCanvas.offsetWidth) / 2);
}

/* 調整高度 */
function AdjustOuterCanvas(divCanvasOut, divCanvas1, divCanvas2){
	divCanvasOut.style.height = Math.max(divCanvas1.offsetHeight, divCanvas2.offsetHeight);
}

function AdjustOuterCanvasWithSingleCanvas(divCanvasOut, divCanvas){
	divCanvasOut.style.height = divCanvas.offsetHeight;
}

/* 設定漸層 */
/* Cross Browser 的版本, Bike 2007/03/22 */
function SetOpacity(divCanvas, opacity){
	var object = divCanvas.style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}