// require jQuery
//==========================================================
//メイン関数
//==========================================================

//==========================================================
/**
 * ムービー連続表示サンプル
 */
//==========================================================

//==========================================================
//外部変数
//==========================================================
//読み込みID
//var ReadID = "";

//フラグ:falseならクリックで
var is_hover = false;

var SISETU_PLAYER_ID = "externalSisetePlayer";
var SISETU_SELECTER_ID = "externalSisetuSelecter";

//位置移動用定数
var DISPLAY_OUT_LEFT = "-1000px";
var DISPLAY_OUT_TOP = "-1000px";

var SISETU_PLAYER_LEFT = "20px";
var SISETU_PLAYER_TOP = "6px";

var SISETU_PLAYER_WIDTH = 523;
var SISETU_PLAYER_HEIGHT = 341;

var SISETU_SELECTER_LEFT = "588px";
var SISETU_SELECTER_TOP = "100px";

//==== ロード済みデータ(JSON) ====
var ItemDatas = {};	//読み込みデータ
var NowPlayItemPosi = 0;	//現在再生中の動画位置(ItemDatasの位置)
var NowSisetuID = "";		//現在選択されている施設ID(sisetu_01～、sisetu_osusume_01～)

var is_first = 1;	//最初の呼び出しか？
var player_ready=0;
var time_out_id;

var ticker_speed = 10;
//==========================================================
//クリックされた施設idから再生する動画データを取得する。
//==========================================================
var _get_movie_data_from_id = function(id) {

	var posi = 0;
	var movie_data = "";

	for (posi=0;posi<ItemDatas.length;posi++) {
		if (id == ItemDatas[posi].id) {
			movie_data = ItemDatas[posi];
			NowPlayItemPosi = posi;
			break;
		}
	}
	return movie_data;
}//end function

//==========================================================
//クリックされた施設kindから再生する動画データを取得する。
//==========================================================
var _get_movie_data_from_kind = function(kind) {

	var posi = 0;
	var movie_data = "";

	for (posi=0;posi<ItemDatas.length;posi++) {
		if (kind == ItemDatas[posi].kind) {
			movie_data = ItemDatas[posi];
			NowPlayItemPosi = posi;
			break;
		}
	}
	return movie_data;
}//end function

//==========================================================
//施設がクリックされたようにする(選択する)関数。
//==========================================================
var _select_sisetu = function(id) {
	if (id == "") {
		return;
	}
	

	if(get_id_number(id) < 5){
		$("#"+ id+ "_img").attr("src","images/" + ReadID + "/" + id + ".jpg");
	}else{
		$("#"+ id+ "_img").attr("src","images/" + ReadID + "/" + id + ".png");
	}
}//end function

//==========================================================
//施設がクリックされたようにする(選択する)関数。
//==========================================================
var _unselect_sisetu = function(id) {
	if (id == "") {
		return;
	}
	
	$("#"+ id+ "_img").attr("src","images/pngclear.gif");
}//end function


//==========================================================
//動画再生処理をする関数。
//==========================================================
var _movie_play_treat = function(movie_data) {
	//前に選択された施設を元に戻す。
	_unselect_sisetu(NowSisetuID);

	//動画ファイル名を取得する
	_select_sisetu(movie_data.id);

	NowSisetuID = movie_data.id;	//施設IDを設定する。

	
	//動画を再生する。
	_play_movie(movie_data.flv);

}//end function



//==========================================================
//施設がクリックされたようにする(選択する)関数。
//==========================================================
var _click_sisetu_treat = function(id) {
	//同一施設をクリックされた場合には処理をしない。
	if (NowSisetuID == id ) {
		return;
	}

	//現在、選択された施設を選択されたようにする。
	var movie_data = _get_movie_data_from_id(id);
	if (movie_data == "") {
		return;
	}
	
	
	//マーキー（ティッカーの変更）
	clearTimeout(time_out_id);
	$("#marquee_erea").html("<div>"+ movie_data.text + "</div>");
	divScroller("marquee_erea", "h", ticker_speed, 2000);

	//選択処理、動画再生処理をする。
	_movie_play_treat(movie_data);

}//end function

//==========================================================
//施設がクリックされたようにする(選択する)関数。
//==========================================================
var _click_sisetu_treat_in_flash = function(kind) {

	//現在、選択された施設を選択されたようにする。
	var movie_data = _get_movie_data_from_kind(kind);
	if (movie_data == "") {
		return;
	}
	
	//マーキー（ティッカーの変更）
	clearTimeout(time_out_id);
	$("#marquee_erea").html("<div>"+ movie_data.text + "</div>");
	divScroller("marquee_erea", "h", ticker_speed, 2000);

	//選択処理、動画再生処理をする。
	_movie_play_treat(movie_data);

}//end function

//==========================================================
//連続再生時の処理をする。
//==========================================================
var _next_sisetu_treat_in_flash = function() {

	//次の動画位置を設定する。
//	_set_next_posi();

	//動画データを取得する。
	var movie_data = ItemDatas[NowPlayItemPosi];

	//動画はリピートしない？
	if(movie_data.repeat=="off"){
   		setTimeout(function(){
				getMovieMasa(SISETU_PLAYER_ID).endSisetuPlayer();
	    }, 500);
		return ;
	}
	//選択処理、動画再生処理をする。
	_movie_play_treat(movie_data);

}//end function

//==========================================================
//次の動画位置を設定する(ループ)。
//==========================================================
var _set_next_posi = function() {
	NowPlayItemPosi++;
	if (NowPlayItemPosi >= ItemDatas.length) {
		NowPlayItemPosi = 0;
	}
}//end function

//==========================================================
//外部データファイル名を取得する関数。
//==========================================================
var _get_data_file = function(id) {
  return "data/" + id + "/data.json";
}

//==========================================================
//外部データ(JSON)を読み込む。
//==========================================================
var _read_data = function(id) {

  // JSONデータを取得する
  $.getJSON(_get_data_file(id), null, function(data, textStatus) {
		//データのハッシュに追加する
		ItemDatas = data.item;
  });

}

//==========================================================
//ムービーの再生
//==========================================================
var _play_movie = function(flv) {

	var mes_str = "";

	if (getMovieMasa(SISETU_PLAYER_ID) == null) {
    setTimeout(function(){
			FlashEmbedMasa("movie_player","flash/SisetuPlayer2.swf",SISETU_PLAYER_ID,519,340,"#000000");

	    setTimeout(function(){
				getMovieMasa(SISETU_PLAYER_ID).playSisetuPlayer(flv);
	    }, 500);
    }, 1000);
	} else {
    setTimeout(function(){
			getMovieMasa(SISETU_PLAYER_ID).playSisetuPlayer(flv);
    }, 1000);
	}
	return;

}

//==========================================================
//動画プレイヤーのイベント関数
//==========================================================
//==== 初期化イベント関数 ====
var onInitSisetuPlayer = function()
{

	//一番初めの動画を再生する。
	_next_sisetu_treat_in_flash();

}//end function

//==== ボタンクリックイベント関数 ====
var onClickButtonSisetuPlayer = function(player_kind)
{
	switch (player_kind) {
		case "prev":	//現在の動画の先頭に移動する。
			break;
		case "play":
			break;
		case "next":	//次の動画を再生する。
			//連続再生の処理をする。
			_next_sisetu_treat_in_flash();
			break;
		default:
			break;
	}//end switch

}//end function

//==== 動画終了イベント関数 ====
var onEndMovieSisetuPlayer = function()
{
	//連続再生の処理をする。
	_next_sisetu_treat_in_flash();
}//end function

//==========================================================
//施設選択のイベント関数
//==========================================================
//==== 初期化イベント関数 ====
var onInitSisetuSelecter = function()
{
	//施設選択が読み込まれたので、位置を修正する。
		$("#selecter_popup").css({
			left: SISETU_SELECTER_LEFT,
			top: SISETU_SELECTER_TOP
		});

}//end function

//==== ボタンクリックイベント関数 ====
var onClickButtonSisetuSelecter = function(sisetu_kind)
{
	//クリックされた施設の動画を再生する。
	_click_sisetu_treat_in_flash(sisetu_kind);

	getMovieMasa(SISETU_PLAYER_ID).focus();

}//end function

//==== 動画開始イベント関数 ====
var onReadyMovieSisetuPlayer = function()
{
	if(is_first==1){
		is_first = 0;
		$("#loading_img").css({
			left: DISPLAY_OUT_LEFT,
			top: DISPLAY_OUT_TOP
		});
		$("#movie_popup").css({
			left: SISETU_PLAYER_LEFT,
			top: SISETU_PLAYER_TOP
		});

	}
}

//==========================================================
//メイン関数
//==========================================================
$(function(){
	//IEのみリンクの周りの点線を消す為に設定する。
	var isIE = IsIEMasa();
	if (isIE) {
		a=document.getElementsByTagName("a");
		for(i=0;i<a.length;i++){
		a[i].onfocus=function(){this.blur();}
		}
		area=document.getElementsByTagName("area");
		for(i=0;i<area.length;i++){
		area[i].onfocus=function(){this.blur();}
		}
	}

	//==== ボタンの処理 ====
	$(".image_button").mouseover(function(){
		//通常の画像
		var id = $(this).attr("id");
		$("#" + id).css({
			backgroundPosition: "bottom right"
		});
	}).mouseout(function(){
		//通常の画像
		var id = $(this).attr("id");
		$("#" + id).css({
			backgroundPosition: "top right"
		});
	});

	//==== 施設選択の処理 ====
	if(is_hover==true){
//		$(".sisetu_image").mouseover(sisetu_select_common);
		$(".top_sisetu").mouseover(sisetu_select_common);
		$("area").mouseover(sisetu_select_common);
	}else{
//		$(".sisetu_image").click(sisetu_select_common);
		$(".top_sisetu").click(sisetu_select_common);
		$("area").click(sisetu_select_common);
	}

	divScroller("marquee_erea", "h", ticker_speed, 2000);

  //データのロード`
  var init = function() {

//		$("#selecter_popup").css({
//			left: DISPLAY_OUT_LEFT,
//			top: DISPLAY_OUT_TOP,
//			width: "364px",
//			height: "316px"
//		});


		$("#movie_popup").css({
			left: DISPLAY_OUT_LEFT,
			top: DISPLAY_OUT_TOP,
			width: SISETU_PLAYER_WIDTH + "px",
			height: SISETU_PLAYER_HEIGHT + "px"
		});

//$("#movie_popup").css({
//	left: SISETU_PLAYER_LEFT,
//	top: SISETU_PLAYER_TOP
//});
$("#selecter_popup").css({
	left: SISETU_SELECTER_LEFT,
	top: SISETU_SELECTER_TOP
});



//		FlashEmbedMasa("sisetu_selecter","flash/SisetuSelecter.swf",SISETU_SELECTER_ID,SISETU_PLAYER_WIDTH,SISETU_PLAYER_HEIGHT,"#000000");
		FlashEmbedMasa("movie_player","flash/SisetuPlayer2.swf",SISETU_PLAYER_ID,519,340,"#000000");

		//外部データを読み込む。
		_read_data(ReadID);
	}
	init();
});
//IDから番号を抽出する
//
//
function get_id_number(id)
{
	var id_len = id.length;
	var num = parseInt(id.substr(id_len-2,2));
	var num2 = parseInt(id.substr(id_len-1,1));
	if(num ==0 && num2!=0) num = num2;
	return num;
}

function sisetu_select_common()
{
	var id = $(this).attr("id");
	if(id=="") return false;
	_click_sisetu_treat(id);
	return false;
}


