//##############################################################################
//音声再生　登場人物の台詞再生
//ラインの再生
//##############################################################################
function PlayLine(lineid){
    // ブラウザによって制御すべきオブジェクトが異なるためブラウザ名で判定
    var swfMovie = (navigator.appName.indexOf("Microsoft") != -1) ? flash : document.flash;
    swfMovie.SetVariable("playlinestr",lineid);
}
//##############################################################################
//音声再生　登場人物の一言再生
//センテンスの再生
//##############################################################################
function PlaySentence(lineid,sentenceid){
    // ブラウザによって制御すべきオブジェクトが異なるためブラウザ名で判定
    var swfMovie = (navigator.appName.indexOf("Microsoft") != -1) ? flash : document.flash;
    swfMovie.SetVariable("playsentencestr",lineid+","+sentenceid);
}

//##############################################################################
//ムービーの再生、一時停止、停止をコントロールする
//再生=>playall　一時停止=>playpause　停止=>playstop
//##############################################################################
function MovieControl(str){
    // ブラウザによって制御すべきオブジェクトが異なるためブラウザ名で判定
    var swfMovie = (navigator.appName.indexOf("Microsoft") != -1) ? flash : document.flash;
    swfMovie.SetVariable(str,1);
}

//##############################################################################
//現在読まれている部分を表示する
//##############################################################################
function viewSentence(lineid,sentenceid){
	var chtrans = getObj("ch_trans");
	var chtarget = getObj("ch_target");
	var chpron = getObj("ch_pron");
	var chcompare = getObj("ch_compare");
	
	var lid = lineid -1;
	var sid = sentenceid -1;

	//シチュエーション取得
	var line_x = xmlDoc.getElementsByTagName("line");
	if(line_x.length > 0){
		var sentence_x = line_x[lid].getElementsByTagName("sentence");
		if(sentence_x.length > 0){

			//■■■原語取得
			targetlanguage = "";
			if(chtarget.checked == true){
				targetlanguage_x = sentence_x[sid].getElementsByTagName("targetlanguage");
				if(targetlanguage_x.length > 0 && targetlanguage_x[0].firstChild != null){
					targetlanguage = "<DIV id='dialogue_target'>" + 
									 "<DIV class='target_" + lang +"'>"  + targetlanguage_x[0].firstChild.nodeValue + "</DIV>" 
									 + "</DIV>";
				}
	
				/*ラオス語か、カンボジア語の場合は、XMLに文字が入力されていないので、画像ファイル名を取得する*/
				if(lang == "lo" || lang == "km"){
					targetlanguage = "<img src=\"../langimg/" + lang + id + "-" + lineid + "-" + sentenceid + ".gif\">";
				}
			}
	
			//■■■ラオス語 or カンボジア語の画像取得
			//※この二つの言語は、文字が入力されておらず、画像が入っているため
			if(chtarget.checked == true){
				if(lang == "lo" || lang == "km"){
					targetlanguage = "<DIV id='dialogue_target'>" + 
									 "<DIV class='target_" + lang +"'>"  
									 + "<img src=\"../langimg/" + lang + id + "-" + lineid + "-" + sentenceid + ".gif\">" 
									 + "</DIV>" + "</DIV>";
				}
			}

			//■■■訳語取得
			translation = "";
			if(chtrans.checked == true){
				//日本語以外だったらtranslationから取ってくる。日本語のときは"pron"から取ってくる
				if(lang != "ja") translation_x=sentence_x[sid].getElementsByTagName("translation");
				else translation_x=sentence_x[sid].getElementsByTagName("pron");
				if(translation_x.length > 0 && translation_x[0].firstChild != null){
					translation = "<DIV id='dialogue_trans'>" + 
								  "<DIV class='trans_" + lang +"'>" + translation_x[0].firstChild.nodeValue + "</DIV>"
								  + "</DIV>";
				}
			}
	
			//■■■発音取得
			pron = "";
			if(chpron != null && chpron.checked == true){
				//日本語以外だったらtranslationから取ってくる。日本語のときは"pron"から取ってくる
				pron_x=sentence_x[sid].getElementsByTagName("pron");
				if(pron_x.length > 0 && pron_x[0].firstChild != null){
					pron = "<DIV id='dialogue_pron'>" + 
								  "<DIV class='pron_" + lang +"'>" + pron_x[0].firstChild.nodeValue + "</DIV>"
								  + "</DIV>";
				}
			}
	
			//■■■標準語と方言の取得
			token = "";
			if(chcompare != null && chcompare.checked == true){
				vocabulary_x=sentence_x[sid].getElementsByTagName("vocabulary");
				if(vocabulary_x.length > 0){
					lex_item_x=vocabulary_x[0].getElementsByTagName("lex_item");
					if(lex_item_x.length > 0){
						for(k=0; k<lex_item_x.length; k++){
							type_x	= lex_item_x[k].getElementsByTagName("type");
							token_x	= lex_item_x[k].getElementsByTagName("token");
							pos_x  = lex_item_x[k].getElementsByTagName("pos");
							
							if(token != "") token+= ", ";
							if(token_x[0].firstChild 	!= null)	token += token_x[0].firstChild.nodeValue;
							if(type_x[0].firstChild 	!= null)	token += " (" + type_x[0].firstChild.nodeValue + ")";
							if(pos_x[0].firstChild 		!= null)	token += " " + pos_x[0].firstChild.nodeValue;
						}
						if(token != ""){
							token = "<DIV id='dialogue_compare'>" + 
								  "<DIV class='compare_" + lang +"'>" + token + "</DIV>"
								  + "</DIV>";
						}
					}
				}
			}

			obj = getObj("dialogue");
			obj.innerHTML="";
			obj.innerHTML = translation + targetlanguage + pron + token;
		}
	}
}


//##############################################################################
//現在読まれている部分の文字を赤くする*/
//##############################################################################
function SentenceRed(lineid,sentenceid){
	//dialogue　現在再生している部分の文字を赤く変更する
	dialogobj = getObj("dialoguearea_"+lineid+"_"+sentenceid);
	dialogobj.style.color="red";
}
//##############################################################################
//ハイライト表示を戻す
//##############################################################################
function ClearRed(){
	var lineid 		= "";
	var sentence_x 	= "";
	var sentenceid 	= "";
	var lineview 	= "";
	//line
	//sentence
	//をloop
	//XML内の取り出したいタグの配列を作る
	var line_x = xmlDoc.getElementsByTagName("line");

	for(i=0; i<line_x.length; i++){
		lineid= line_x[i].attributes.getNamedItem("id").nodeValue;		//id属性の値取得
		sentence_x = line_x[i].getElementsByTagName("sentence");		//センテンス取得
		for(j=0; j<sentence_x.length; j++){
			sentenceid = sentence_x[j].attributes.getNamedItem("id").nodeValue;		//id属性の値取得
			//行ごとの台詞の[表示/非表示]を選択するチェックボックスの値を取得
			lineview = getObj("lineview_" + lineid + "_" + sentenceid);
			if(lineview && lineview.checked){	//チェックがされていたら表示している状態なので、文字の色を変える
				obj = getObj("dialoguearea_"+lineid+"_"+sentenceid);
				obj.style.color="black";
			}
		}
	}
}
//##############################################################################
//現在の選択状況を返す
//##############################################################################
function GetCurrentSelect(){
	return CurrentSelectNo;
}

//##############################################################################
//パート表示切り替え制御
//##############################################################################
function SetPartDisp(SelectName){
	SelectObj = eval(SelectName);
	SelectObj.blur();
	if(SelectObj.value == 1){
		Img = String(SelectObj.src);
		Img = Img.split("on.gif");
		Img = Img[0] + "off.gif";
		SelectObj.src = Img;
		SelectObj.value = 0;
	}else{
		Img = String(SelectObj.src);
		Img = Img.split("off.gif");
		Img = Img[0] + "on.gif";
		SelectObj.src = Img;
		SelectObj.value = 1;
	}
}

//##############################################################################
/*id名を指定して、オブジェクトを取得する*/
//##############################################################################
function getObj(idname){
	//ブラウザ判別
	var ie = document.all;            // ブラウザ(IE)のチェック用
	var n6 = document.getElementById; // ブラウザ(N6)のチェック用
	var n4 = document.layers;         // ブラウザ(N4)のチェック用

	obj=n6?document.getElementById(idname):document.all(idname);

	return obj;
}