//フェード速度(ms)
var back_layer_fspeed = 10;
var base_layer_fspeed = 10;
var cover_layer_fspeed = 10;

//フェードの変化率(2〜98%)
var back_layer_rate = 96;
var base_layer_rate = 96;
var cover_layer_rate = 94;

//各layerの最大濃度
var back_layer_opacity = 70;
var base_layer_opacity = 100;
var cover_layer_opacity = 100;

//フェードイン完了→true、フェードアウト完了→false
var back_layer_flg = false;
var base_layer_flg = false;
var cover_layer_flg = false;

//タイマーID
var back_layer_tid = 0;
var base_layer_tid = 0;
var cover_layer_tid = 0;

var back_layer_counter = 0;
var base_layer_counter = 100;
var cover_layer_counter = 100;

//--swfタグ--//
var swf_tag = '';
var swf_width = '580';
var swf_height = '540';
var loop = 'false';
var quality = 'high';
var play = 'true';

//swfメインファイル名
var swf_main_file = "main.swf";

function watchVideo(id){

	//--layer名--//
	var back_layer_obj = document.getElementById("back_layer");
	var base_layer_obj = document.getElementById("base_layer");
	var cover_layer_obj = document.getElementById("cover_layer");
	//base_layerとcover_layerの大きさをswfに合わせる
	base_layer_obj.style.width = swf_width;
	base_layer_obj.style.height = swf_height;
	cover_layer_obj.style.width = swf_width;
	cover_layer_obj.style.height = swf_height;
	
	date = new Date();

	swf_tag = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="' +swf_width +'" height="' +swf_height +'">';
	swf_tag += '<param name="movie" value="' +swf_main_file +'?movieID=' +id +'&' +date.getTime() +'">';
	swf_tag += '<param name="play" value="' +play +'">';
	swf_tag += '<param name="loop" value="' +loop +'">';
	swf_tag += '<param name="quality" value="' +quality +'">';
	swf_tag += '<param name="wmode" value="transparent">';
	swf_tag += '<embed src="' +swf_main_file +'?movieID=' +id +'" width="' +swf_width +'" height="' +swf_height +'" play="' +play +'" loop="' +loop +'" quality="' +quality +'" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" wmode="transparent">';
	swf_tag += '</embed>';
	swf_tag += '</object>';

	//モニターの表示領域を算出
	var w,h1,h2,now_w,now_h;
	if(document.all){ // IE用
		w = document.body.clientWidth;
		h1 = document.body.clientHeight;
		h2 = document.body.scrollHeight;
		//モニターが現在どこを表示しているか算出
		now_w = document.body.scrollLeft;
		now_h = document.body.scrollTop;
	}else{
		w = innerWidth;
		h1 = innerHeight;
		h2 = document.body.scrollHeight;
		//モニターが現在どこを表示しているか算出
		now_w = document.body.scrollLeft;
		now_h = document.body.scrollTop;
	}

	back_layer_obj.style.width = w + "px";
	back_layer_obj.style.height = Math.max(h1,h2) + "px";

	//base_layerとcover_layerは現在表示中の画面の中心に出す
	base_layer_obj.style.marginLeft = (now_w - swf_width/2) + "px";
	base_layer_obj.style.marginTop = (now_h - swf_height/2) + "px";
//	cover_layer_obj.style.marginLeft = (now_w - swf_width/2) + "px";
//	cover_layer_obj.style.marginTop = (now_h - swf_height/2) + "px";	

	//back_layerフェードイン
	back_layer_obj.style.display = "block";
	layerOperator("back_layer", "in", back_layer_fspeed, back_layer_rate, back_layer_opacity);

}


function closeVideo(){
	document.getElementById("back_layer").onclick = new Function("void(0)");
	layerOperator("base_layer", "out", base_layer_fspeed, base_layer_rate, base_layer_opacity);
	layerOperator("back_layer", "out", back_layer_fspeed, back_layer_rate, back_layer_opacity);
	
}




function fadeLayer(layer_name, in_out, rate, opacity){

	//フェードイン
	if (in_out == 'in'){

		try{
			document.getElementById(layer_name).filters['alpha'].opacity = back_layer_counter;
		}catch(e){
			try{
				document.getElementById(layer_name).style.opacity = back_layer_counter / 100;
			}catch(e){
				try{
					document.getElementById(layer_name).style.MozOpacity= back_layer_counter /100;
				}catch(e){
				}
			}
		}
		
		back_layer_counter += opacity / (100 - rate);
		if(back_layer_counter > opacity){
			back_layer_flg = true;
			clearInterval(back_layer_tid);
			document.getElementById(layer_name).onclick = new Function("closeVideo()");
			
			//base_layer可視化
			document.getElementById("base_layer").style.display = "block";
			//cover_layer可視化
//			document.getElementById("cover_layer").style.display = "block";
			//cover_layerフェードアウト
//			layerOperator("cover_layer", "out", cover_layer_fspeed, cover_layer_rate, cover_layer_opacity);
			//swf挿入
			document.getElementById("base_layer").innerHTML = swf_tag;
			back_layer_counter = opacity;
			return;
		}

	//フェードアウト
	}else if(in_out == 'out'){
	
		switch(layer_name){
			case "back_layer":
				try{
					document.getElementById(layer_name).filters['alpha'].opacity = back_layer_counter;
				}catch(e){
					try{
						document.getElementById(layer_name).style.opacity = back_layer_counter / 100;
					}catch(e){
						try{
							document.getElementById(layer_name).style.MozOpacity= back_layer_counter / 100;
						}catch(e){
						}
					}
				}
				
				back_layer_counter -= opacity / (100 - rate);
				if(back_layer_counter < 0){
					back_layer_flg = false;
					clearInterval(back_layer_tid);
					document.getElementById(layer_name).style.display = "none";
					back_layer_counter = 0;
					return;
				}
				break;
				
			case "base_layer":
				try{
					document.getElementById(layer_name).filters['alpha'].opacity = base_layer_counter;
				}catch(e){
					try{
						document.getElementById(layer_name).style.opacity = base_layer_counter / 100;
					}catch(e){
						try{
							document.getElementById(layer_name).style.MozOpacity= base_layer_counter / 100;
						}catch(e){
						}
					}
				}
				base_layer_counter -= opacity / (100 - rate);
				if(base_layer_counter < 0){
					base_layer_flg = false;
					clearInterval(base_layer_tid);
					document.getElementById(layer_name).style.display = "none";
					document.getElementById(layer_name).innerHTML = '';
					base_layer_counter = 100;
					try{
						document.getElementById(layer_name).filters['alpha'].opacity = base_layer_counter;
					}catch(e){
						try{
							document.getElementById(layer_name).style.opacity = base_layer_counter / 100;
						}catch(e){
							try{
								document.getElementById(layer_name).style.MozOpacity= base_layer_counter / 100;
							}catch(e){
							}
						}
					}

					return;
				}
				break;
			case "cover_layer":

				try{
					document.getElementById(layer_name).filters['alpha'].opacity = cover_layer_counter;
				}catch(e){
					try{
						document.getElementById(layer_name).style.opacity = cover_layer_counter / 100;
					}catch(e){
						try{
							document.getElementById(layer_name).style.MozOpacity= cover_layer_counter / 100;
						}catch(e){
						}
					}
				}
				
				cover_layer_counter -= opacity / (100 - rate);
				if(cover_layer_counter < 0){
					cover_layer_flg = false;
					clearInterval(cover_layer_tid);
					document.getElementById(layer_name).style.display = "none";
					cover_layer_counter = 100;
					try{
						document.getElementById(layer_name).filters['alpha'].opacity = cover_layer_counter;
					}catch(e){
						try{
							document.getElementById(layer_name).style.opacity = cover_layer_counter / 100;
						}catch(e){
							try{
								document.getElementById(layer_name).style.MozOpacity= cover_layer_counter / 100;
							}catch(e){
							}
						}
					}

					return;
				}
				break;
		}

		return;

	}
}


function layerOperator(layer_name, in_out, speed, rate, opacity){
	switch(layer_name){
		case "back_layer":
			back_layer_tid = setInterval('fadeLayer("' +layer_name +'","' +in_out +'",' +rate +',' +opacity +');',speed);
			break;
		case "base_layer":
			base_layer_tid = setInterval('fadeLayer("' +layer_name +'","' +in_out +'",' +rate +',' +opacity +');',speed);
			break;
		case "cover_layer":
			cover_layer_tid = setInterval('fadeLayer("' +layer_name +'","' +in_out +'",' +rate +',' +opacity +');',speed);
			break;
	}
}

