﻿
var gflg = 0;
var divWord = document.getElementById('word');
var divHis = document.getElementById('history');
var divList = document.getElementById('list');
var kugiri = ":::";

// 履歴ボックス
var his_t = "";
var his_b = "";
his_t += '<div>';
his_t += '<b class="kakumaru">';
his_t += '<b class="kakumaru1"><b></b></b>';
his_t += '<b class="kakumaru2"><b></b></b>';
his_t += '<b class="kakumaru3"></b>';
his_t += '<b class="kakumaru4"></b>';
his_t += '<b class="kakumaru5"></b>';
his_t += '</b>';
his_t += '<div class="kakumaru_content">';
his_b += '</div>';
his_b += '<b class="kakumaru">';
his_b += '<b class="kakumaru5"></b>';
his_b += '<b class="kakumaru4"></b>';
his_b += '<b class="kakumaru3"></b>';
his_b += '<b class="kakumaru2"><b></b></b>';
his_b += '<b class="kakumaru1"><b></b></b>';
his_b += '</b>';
his_b += '</div>';

// アイコン
var imgFlagB32 = '<img src="img/icon_flag_blue32.gif" width="32" height="32" alt="">';
var imgFlagR32 = '<img src="img/icon_flag_red32.gif" width="32" height="32" alt="">';
var imgFlagB16 = '<img src="img/icon_flag_blue.gif" width="16" height="16" alt="">';
var imgFlagR16 = '<img src="img/icon_flag_red.gif" width="16" height="16" alt="">';
var imgArraw = '<img src="img/arraw.gif" width="16" height="16" alt="">';
var imgArrawAnime = '<img src="img/arraw_anime.gif" width="16" height="16" alt="">';
var imgLoading = '<img src="img/loading.gif" width="32" height="32" alt="Loading">';

// エラー
var errMsg = '<p><strong>Ouch !! RENSOU失敗に終わりました！</strong></p>';
errMsg += '<p>申し訳ございませんが<a href="/rensou/">Home</a>に戻ってやり直して下さい。</p>';

var handleSuccess = function(o){
	if(o.status == 200){
		//o.responseText.lengthに1byte紛れる時のチェックもしておく
		if(o.responseText==undefined || o.responseText.length==1){
			divList.innerHTML = errMsg;
		} else {
			//初期init時
			if(!gflg){
				//resData→開始ワード|終了ワード|連想ワード|WikipediaURL|Wikipedia説明|時間
				var resData = o.responseText.split("|");
				//開始～終了ワード
				var wd = imgFlagB32 + '&nbsp;';
				wd += '<span class="keyword">「' + resData[0] + '」</span>から';
				wd += "&nbsp;";
				wd += '&nbsp;'+imgFlagR32+'&nbsp;';
				wd += '<span class="keyword">「' + resData[1] + '」</span>をRENSOUしよう！';
				if(resData[3]){
					wd += '<span class="per80">（ヒント：<a href="' + resData[3] + '" target="_blank" title="' + resData[4] + '">' + resData[1] + '</a>って何？）</span>';
				}
				divWord.innerHTML = wd;
				//divWord.innerHTML = "「"+resData[0]+"」～「"+resData[1]+"」";
				//履歴
				his = '&nbsp;' + imgFlagB16 + '&nbsp;' + resData[0];
				divHis.innerHTML = his;
				//変数
				document.f1.anskey.value = resData[1];	//終了ワード
				document.f1.record.value = resData[0];	//履歴
				document.f1.newkey.value = resData[0];	//開始ワード
				document.f1.starttime.value = resData[5];	//開始時間
				o.responseText = resData[2];	//連想ワード
				//ツールチップ初期化
				initTooltip();
				//タイマーバースタート
				startTimerBar();
			//遷移時
			} else {
				//resData→連想ワード|時間
				var resData = o.responseText.split("|");
				document.f1.endtime.value = resData[1];	//現在時間（終了時に終了時間として使用）
				o.responseText = resData[0];	//連想ワード
				//履歴
				var his = document.f1.record.value;
				var newkey = document.f1.newkey.value;
				var arraw = '&nbsp;' + imgArraw + '&nbsp;';
				his = '&nbsp;' + imgFlagB16 + '&nbsp;' + his;
				his = replaceStr(his, kugiri, arraw);
				his = replaceStr(his, imgArraw + '&nbsp;' + newkey, imgArrawAnime + '&nbsp;' + newkey);
				his = replaceStr(his, newkey, '<strong>' + newkey + '</strong>');
				//his += arraw + document.f1.newkey.value;
				//his = his_t + his + his_b;
				divHis.innerHTML = his;
			}
			//終了ワードに到達した場合
			if(document.f1.newkey.value == document.f1.anskey.value){
				divHis.innerHTML += '&nbsp;' + imgFlagR16;
				var frm = "";
				frm += '<form name="f2" method="post" action="rec/post.php">';
				frm += '<p><img src="img/success_anime.gif" width="320" height="73" alt="Rensoooooh!"></p>';
				frm += '<br />';
				frm += '<p>Rensoooooh！！お見事ゴールしました！<br />記念にぜひコメントを残して下さい。</p>';
				frm += 'お名前：<input type="text" name="u_name" value="" style="width: 100px;"><br />';
				frm += 'コメント：<input type="text" name="u_comment" value="" style="width: 300px;"><br />';
				frm += '<input type="hidden" name="u_record" value="">';
				frm += '<input type="hidden" name="starttime" value="">';
				frm += '<input type="hidden" name="endtime" value="">';
				frm += '<input type="hidden" name="mode" value="regist">';
				frm += '<input type="button" name="send" value="コメントを送信する" onClick="postComment()" style="margin: 5px;">';
				frm += '</form>';
				divList.innerHTML = frm;
			} else {
				//連想語リスト
				var list = his_t + o.responseText + his_b;
				list = "<strong>「" + document.f1.newkey.value + "」</strong>のRENSOUキーワードです。キーワードをクリックして下さい！<br />\n" + list;
				divList.innerHTML = list;
////成功デバッグ
//divList.innerHTML += "<a href=\"javascript:void(0);\" onClick=\"postRequest('" + document.f1.anskey.value + "');\">"+ document.f1.anskey.value + "</a>&nbsp;";
				//divList.innerHTML = o.responseText;
			}
		}
	}
	gflg++;
};

var handleFailure = function(o){
	if(o.responseText !== undefined){
		divList.innerHTML = errMsg;
	}
};

var callback =
{
	success:handleSuccess,
	failure:handleFailure,
	argument:['arg1','arg2']	//送信先への引数
};

function init(){
	gflg = 0;
	document.f1.newkey.value = "";
	var sUrl = "init.php";
	sUrl += "?r=" + Math.floor(1000 * Math.random());	//ランダム値でキャッシュ防止しとく
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
	divWord.innerHTML = '<div align="center">' + imgLoading + '</div>';
	divList.innerHTML = '<div align="center">' + imgLoading + '</div>';
}

function postRequest(keyword){
	if(!keyword){ return;}
	var postData = "keyword="+keyword;
	document.f1.newkey.value = keyword;
	document.f1.record.value += kugiri + keyword;
	var sUrl = "controller.php";
	var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
	divList.innerHTML = '<div align="center">' + imgLoading + '</div>';
}

function postComment(){
	if(document.f2.u_name.value=="" || document.f2.u_comment.value==""){
		alert('「お名前」と「コメント」を入力して下さい。');
		return false;
	}
	document.f2.u_record.value = document.f1.record.value;
	document.f2.starttime.value = document.f1.starttime.value;
	document.f2.endtime.value = document.f1.endtime.value;
	document.f2.submit();
	return;
}

// 置換処理（str内のstrAをstrBに置換）
function replaceStr(str, strA, strB){
	if(!str || !strA || !strB){ return str;}
	str = str.split(strA);
	str = str.join(strB);
	return str;
}


