//////////////////////////////////////////////////////////////////
//
//	movienavi.js Ver.1.00
//	Date	: 2006/12/25
//
//////////////////////////////////////////////////////////////////
//	History
//
//
//////////////////////////////////////////////////////////////////

//################################################################
//	ムービーの切替ポイント設定
//################################################################
var mNum   = 12;					// 切替ポイントの数
var mTime  = new Array(mNum);		// 切替ポイントの時間
var mImage = new Array(mNum);		// 切替る画像のファイル名

mTime[0] = 0;					// MediaPlayerの秒数
mTime[1] = 25;
mTime[2] = 28;
mTime[3] = 1112;
mTime[4] = 1395;
mTime[5] = 1606;
mTime[6] = 1655;
mTime[7] = 1705;
mTime[8] = 1749;
mTime[9] = 1833;

mTime[10] = 1985;
mTime[11] = 2142;


mImage[0] = 'images/monotaro_000.jpg';	// PPT画像ファイル
mImage[1] = 'images/monotaro_001.jpg';
mImage[2] = 'images/monotaro_002.jpg';
mImage[3] = 'images/monotaro_003.jpg';
mImage[4] = 'images/monotaro_004.jpg';
mImage[5] = 'images/monotaro_005.jpg';
mImage[6] = 'images/monotaro_008.jpg';
mImage[7] = 'images/monotaro_009.jpg';
mImage[8] = 'images/monotaro_015.jpg';
mImage[9] = 'images/monotaro_016.jpg';
mImage[10] = 'images/monotaro_017.jpg';
mImage[11] = 'images/monotaro_018.jpg';



mArrow[0] = 'image_0';	// チャプターのマークオブジェクト名
mArrow[1] = 'image_1';
mArrow[2] = 'image_2';
mArrow[3] = 'image_3';
mArrow[4] = 'image_4';
mArrow[5] = 'image_5';
mArrow[6] = 'image_6';
mArrow[7] = 'image_7';
mArrow[8] = 'image_8';
mArrow[9] = 'image_9';
mArrow[10] = 'image_10';
mArrow[11] = 'image_11';



//################################################################
//	定数定義
//################################################################
var MP_STOP 	= 1;	// 停止
var MP_PAUSE 	= 2;	// ポーズ
var MP_PLAY 	= 3;	// 再生
var MP_LOADING 	= 6;	// バッファ
var MP_OPEN 	= 13;	// オープン
var MP_ERROR	= -1;	// エラー


//################################################################
//	変数定義
//################################################################
var Slide_No = 0;		// スライドNo
var MP_State = 3;		// Media Playerの状態
var MP_Timer = 0;		// 再生時間監視用タイマー
var MV_Timer = 0;		// 再生ポジション移動待ちタイマー


//================================================================
//
//	playerInit()
//	Media Player 起動時の初期化
//
//================================================================
function playerInit() {
	parent.player.flagLoaded = true;
	MP_Time = setInterval("chkTime()",500);
}

//================================================================
//
//	slideInit()
//	Slide 表示画面の初期化
//
//================================================================
function slideInit() {
	parent.slide.document.dynImage.src = mImage[Slide_No];
	parent.slide.flagLoaded = true;
}

//================================================================
//
//	chapterInit()
//	Chapter 表示画面の初期化
//
//================================================================
function chapterInit() {
	var i;
	for(i=0; i<(mNum-1); i++) {
		parent.chapter.document.all.item("arrowimg",i).src = 'images/blank.gif';
	}
	parent.chapter.flagLoaded = true;
}


//================================================================
//
//	chkTime()
//	Movie の経過時間をチェック
//
//================================================================
function chkTime() {
	var current_state;	// 現在のMedia Playerの状態
	var current_sec;	// 現在再生中の秒数
	var current_no;		// 現在表示中のスライドNo
//	var tmp_no;			// スライドNo検索用

	if((parent.chapter.flagLoaded != true) || (parent.slide.flagLoaded != true)) {
		return;
	}

	current_state = mpState();

	if((current_state != MP_PLAY) && (current_state != MP_PAUSE)) {
		if(current_state == MP_STOP) {
			Slide_No = 0;
			MP_State = current_state;
//			parent.slide.document.dynImage.src = mImage[Slide_No];
		}
		return;
	}

	current_sec = parent.player.document.MediaPlayer1.controls.CurrentPosition;

	current_no = -1;
	for(i=0; i<(mNum-1); i++) {
		if((current_sec >= mTime[i]) && (current_sec < mTime[i+1])) {
			current_no = i;
		}
	}

	if(current_no == -1) {
		current_no = mNum - 1;
	}

	if(Slide_No != current_no) {
		parent.slide.document.dynImage.src = mImage[current_no];
		changeArrow(current_no,Slide_No);
		scrollMove(current_no)

		Slide_No = current_no;
		MP_State = current_state;
	} else if((MP_State != current_state) && (Slide_No == 0)) {
		parent.slide.document.dynImage.src = mImage[Slide_No];
		MP_State = current_state;
	}
}


//================================================================
//
//	mpState()
//	Media Player の状態をチェック
//
//================================================================
function mpState() {
	if(parent.player.document.MediaPlayer1.PlayState == MP_PLAY) {
		if(isOpen() == true) {
			return(MP_PLAY);
		} else {
			return(MP_LOADING);
		}
	} else if(parent.player.document.MediaPlayer1.PlayState == MP_PAUSE) {
		return(MP_PAUSE);
	} else if(parent.player.document.MediaPlayer1.PlayState == MP_STOP) {
		return(MP_STOP);
	} else {
		if(isOpen() == true) {
			return(MP_PLAY);
		} else {
			return(MP_LOADING);
		}
	}

	return(MP_ERROR);
}

//================================================================
//
//	isOpen()
//	Media Player の状態をチェック
//
//================================================================
function isOpen() {
	if(parent.player.document.MediaPlayer1.OpenState == MP_OPEN) {
		return true;
	} else {
		return false;
	}
}


//================================================================
//
//	moveTo(num)
//	再生ポジションの移動
//
//================================================================
function moveTo(num) {
	var current_state;	// 現在のMedia Playerの状態

	if(parent.player.flagLoaded != true) {
		return;
	}

	current_state = mpState();
	if((current_state != MP_STOP) && (current_state != MP_PAUSE) && (current_state != MP_PLAY)) {
		return;
	}

	parent.player.MV_Timer = setTimeout("moviePosition('" + num + "')", 100);
}


//================================================================
//
//	moviePosition(num)
//	再生ポジションの移動
//
//================================================================
function moviePosition(num) {
	var flag_state		// 完了フラグ
	var current_state;	// 現在のMedia Playerの状態

	flag_state = false;

	current_state = mpState();
	if((current_state == MP_PLAY) || (current_state == MP_STOP) || (current_state == MP_PAUSE)) {
		parent.player.document.MediaPlayer1.controls.currentPosition = mTime[num];
		parent.player.document.MediaPlayer1.controls.play();
		flag_state = true;
	}


	clearTimeout(parent.player.MV_Timer);

	current_state = mpState();
	if((flag_state == true) || (current_state == MP_STOP)) {
		parent.player.MV_Timer = 0;
	} else {
		parent.player.MV_Timer = setTimeout("movePosition('" + num + "')", 100);
	}
}


//================================================================
//
//	nextSlide()
//	スライドを次に移動
//
//================================================================
function nextSlide() {
	moveSlide(1);
}


//================================================================
//
//	prevSlide()
//	スライドを前に移動
//
//================================================================
function prevSlide() {
	moveSlide(-1);
}


//================================================================
//
//	moveSlide(dir)
//	スライドを移動
//
//================================================================
function moveSlide(dir) {
	var current_state;	// 現在のMedia Playerの状態
	var current_sec;	// 現在再生中の秒数
	var current_no;		// 現在表示中のスライドNo
	var tmp_no;			// スライドNo検索用

	current_state = mpState();
	if((current_state != MP_STOP) && (current_state != MP_PAUSE) && (current_state != MP_PLAY)) {
		return;
	}

	current_sec = parent.player.document.MediaPlayer1.controls.CurrentPosition;

	current_no = -1;
	for(i=0; i<(mNum-1); i++) {
		if((current_sec >= mTime[i]) && (current_sec < mTime[i+1])) {
			current_no = i;
		}
	}
	if(current_no == -1) {
		current_no = mNum - 1;
	}

	if(dir == -1) {
		tmp_no = current_no - 1;
		if(tmp_no < 0) {
			tmp_no = 0;
			return;
		}
	} else if(dir == 1) {
		tmp_no = current_no + 1;
		if(tmp_no >= mNum) {
			tmp_no = mNum - 1;
			return;
		}
	}

	if(tmp_no < mNum) {
		moveTo(tmp_no);
	}
}


//================================================================
//
//	changeArrow()
//	チャプターのマークを移動
//
//================================================================
function changeArrow(new_no,old_no) {
//	var tmp_old = old_no - 1;
//	var tmp_new = new_no - 1;
	var tmp_old = old_no;
	var tmp_new = new_no;

	if(tmp_old >= 0) {
		parent.chapter.document.all.item("arrowimg",tmp_old).src = 'images/blank.gif';
	}
	if(tmp_new >= 0) {
		parent.chapter.document.all.item("arrowimg",tmp_new).src = 'images/arrow.gif';
	}
}

//================================================================
//
//	scrollMove()
//	チャプターの位置を調整
//
//================================================================
function scrollMove(position_no) {
//	var Scroll_Active = true;	// スクロール移動の有無
	var Scroll_Scale  = 24;		// スクロール幅
	var Scroll_Buf    = 50;	// 上部余白幅
	var Scroll_Btm 	  = 90;

	var position_y;
	var top;
	var bottom;

	position_y = Scroll_Scale * (position_no + 1) - Scroll_Buf;
//	position_y = 30;
	top    = parent.chapter.document.body.scrollTop;		
	bottom = top + parent.chapter.document.body.clientHeight - (Scroll_Scale * 2) - Scroll_Btm;

	if( ( position_y < top ) || ( position_y > bottom ) ) {
		parent.chapter.scrollTo( 0, position_y );
	}

//	alert('position_no = ' + position_no + ' Scroll_Buf = ' + Scroll_Buf);
//	alert('position_y = ' + position_y + ' Scroll_Scale = ' + Scroll_Scale + ' Scroll_Buf = ' + Scroll_Buf + ' MP_STOP = ' + MP_STOP);
}