﻿var FaddingFlag = true; // 用来控制是否继续 Fadding

// InPos: FaddinDiv 的透明度， 0 - 100
// degree: 透明度的变化值，应为正数
// NextScript: Fadding 结束时要执行的 Script
function StartFadding(FadInCaveName, FadOutCaveName, OuterDivName, InPos, degree, speed, pause, NextScript){
	
	var divCanvasIn = document.getElementById(FadInCaveName);
	var divCanvasOut = document.getElementById(FadOutCaveName);
	var divOuter = document.getElementById(OuterDivName);
	
	
	//置中图片和调整高度，虽然放在这里会影响一些效能，但比较方便
	/* 在图片 Load 时，会调整高度
	AdjustCanvas(divOuterCanvas, divInnerCanvas)
	AdjustCanvas(divOuterCanvas, divInnerCanvas)
	AdjustOuterCanvas(divCanvasOut, divCanvas1, divCanvas2)
	*/
	
	if (InPos < 0){
		InPos = 0;
	}
	
	if(FaddingFlag){		
		if(InPos < 100){
			SetOpacity(divCanvasIn, InPos);
			SetOpacity(divCanvasOut, (100 - InPos));
			InPos += degree;
			//window.status = "InPos: " + InPos;
			window.setTimeout("StartFadding('" + FadInCaveName + "', '" + FadOutCaveName + "', '" + OuterDivName + "', " + InPos + ", " + degree + ", " + speed + ", " + pause + ", '" + NextScript.replace(/\'/g,"\\'") + "') ", speed);
		}
		else{
			SetOpacity(divCanvasIn, 100);
			SetOpacity(divCanvasOut, 0);
			InPos += degree;
			window.setTimeout(NextScript, pause);
		}
	}
	else{
		/* 用户中止 Fadding */
		SetOpacity(divCanvasIn, 100);
		SetOpacity(divCanvasIn, 0);
		
		// 以目前的照片调整高度
		AdjustOuterCanvasWithSingleCanvas(divOuter, divCanvasIn)
	}
}

function StopFadding(){
	FaddingFlag = false;
}


/* 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;
}

/* 设定渐层 */
function SetOpacity(divCanvas, pos){
	if(divCanvas.filters){
		divCanvas.filters.alpha.opacity = pos;
	}
	else if (divCanvas.style.MozOpacity)
	{
		divCanvas.style.MozOpacity = pos / 100;
	}
}
