var levels=0;
var kaisuu=0;

mondai_id=new Array();
mondai_kanji=new Array();
mondai_kana=new Array();
mondai_bikou=new Array();

kaitou=new Array();

function onloadsc(){
show_1st();
}


function level_start(str){

var nowdate=new Date();
var cashtime=nowdate.getSeconds();

var scfileurl="js_process.php?lv=" + str + "&dt=" + cashtime;
var scriptelem = document.createElement("script");
scriptelem.src = scfileurl;
scriptelem.type = "text/javascript";
scriptelem.charset = "utf-8";
document.getElementsByTagName("head")[0].appendChild(scriptelem);

	if(levels==0){
	levels=levels+str;
	}

off_btn("btn1");
off_btn("btn2");
off_btn("btn3");
off_btn("btn4");
off_btn("btn5");

inhtmlclear("show_1st");
show_2nd();
}


function show_1st(){
var set_id="show_1st";

var str_tag;

str_tag += "<div class=\"k10\">漢字読み方テスト</div>";
str_tag += "<div class=\"k11\">［外来語 ver.］</div>";
str_tag += "<div class=\"k12\">（レベルボタンを押してください）</div>";

inhtmlset(set_id,str_tag);
}


function show_2nd(){
var set_id="show_2nd";

var str_tag;

lvlstring=new String(levels);
var showlevel=zh_word(lvlstring);
str_tag = "<div class=\"k21\">レベル" + showlevel + "<br>全５問</div>";

inhtmlset(set_id,str_tag);
setTimeout('inhtmlclear("show_2nd")',1000);
setTimeout('show_3rd()',1500);
}


function show_3rd(){
var set_id="show_3rd";

var str_tag;
str_tag = "<div class=\"k31\">この漢字の読み方は？</div>";

str_tag += "<div class=\"k32\">" + mondai_kanji[kaisuu] + "</div>";
str_tag += "<div class=\"k33\">下記入力ボックスに<font color=\"#ff7d7d\"><u>カタカナ</u></font>で入力してください。</div>";

inhtmlset(set_id,str_tag);

on_btn("s_input");
document.getElementById("s_input").value="";
document.getElementById("s_input").focus();
on_btn("bt_ans");
on_btn("bt_pas");

}


function p_process(str){
var answer;

if(str==1){
answer="";
}else{
answer=document.getElementById("s_input").value;
answer=toZenKata(answer);
}
answer=answer.replace(/-/g,"");
if(answer==""){
answer="パス";
}

	if(answer==mondai_kana[kaisuu]){
	var seigo="正解";
	kaitou[kaisuu]=answer;
	}else{
	var seigo="残念";
	kaitou[kaisuu]=answer;
	}
var set_id="p_process";

off_btn("s_input");
off_btn("bt_ans");
off_btn("bt_pas");

var str_tag ="<div class=\"k41\"><span class=\"k42\">" + seigo + "</span>。" + mondai_bikou[kaisuu] + "この漢字の読み方は「<span class=\"k43\">" + mondai_kana[kaisuu] + "</span>」です。</div>";
str_tag += "<div class=\"k44\">" + mondai_kanji[kaisuu] + "</div>";

if(kaisuu<4){
str_tag += "<div class=\"k45\">「次の問題」ボタンを押してください。</div>";
}else{
str_tag += "<div class=\"k45\">結果レポートを生成まで、しばらくお待ちください。</div>";
}

inhtmlclear("show_3rd");
inhtmlset(set_id,str_tag);

	if(kaisuu<4){
	on_btn("bt_next");
	document.getElementById("bt_next").focus();
	}else{
	var sendvalue;
	sendvalue=mondai_id[0] + "-" + mondai_id[1] + "-" + mondai_id[2] + "-" + mondai_id[3] + "-" + mondai_id[4] + "--" + kaitou[0] + "-" + kaitou[1] + "-" + kaitou[2] + "-" + kaitou[3] + "-" + kaitou[4] + "--" + levels;
	document.getElementById("pdata").value=sendvalue;
	setTimeout('datap()',1300);
	}
}


function datap(){
obj=document.forms[0];
obj.action="kekka.php";
obj.submit();
}


function next_play(){
kaisuu=kaisuu+1;
inhtmlclear("p_process");
off_btn("bt_next");
setTimeout('show_3rd()',700);
}


function zh_word(src){
return src.replace(/(\w)/g,function($0){return String.fromCharCode($0.charCodeAt(0) + 65248);});
}
function inhtmlset(set_id,str){
document.getElementById(set_id).style.display ="inline";
document.getElementById(set_id).innerHTML = str;
}
function inhtmlclear(str){
document.getElementById(str).style.display ="none";
document.getElementById(str).innerHTML = "";
}
function on_btn(str){
document.getElementById(str).style.display ="inline";
}
function off_btn(str){
document.getElementById(str).style.display ="none";
}


var zen_table = new Array(
    "。", "「", "」", "、", "・", "ヲ", "ァ", "ィ", "ゥ", "ェ",
    "ォ", "ャ", "ュ", "ョ", "ッ", "ー", "ア", "イ", "ウ", "エ",
    "オ", "カ", "キ", "ク", "ケ", "コ", "サ", "シ", "ス", "セ",
    "ソ", "タ", "チ", "ツ", "テ", "ト", "ナ", "ニ", "ヌ", "ネ",
    "ノ", "ハ", "ヒ", "フ", "ヘ", "ホ", "マ", "ミ", "ム", "メ",
    "モ", "ヤ", "ユ", "ヨ", "ラ", "リ", "ル", "レ", "ロ", "ワ",
    "ン", "゛", "゜"
);

function iskana(c)   { return (c >= 65377 && c <= 65439); }
function is_ka_to(c) { return (c >= 65398 && c <= 65412); }
function is_ha_ho(c) { return (c >= 65418 && c <= 65422); }
function is_hira(c)  { return ((c >= 12353 && c <= 12435) || c == 12445 || c == 12446); }

function toZenKata(src) {
    var i, code, next;
    var str = new String;
    var len = src.length;
    for (i = 0; i < len; i++) {
        var c = src.charCodeAt(i);
        if (iskana(c)) {
            code = zen_table[c - 65377];
            if (i < len - 1) {
                next = src.charCodeAt(i+1);
                if (next == 65438 && c == 65395) {
                    code = "ヴ";
                    i++;
                } else if (next == 65438 && (is_ka_to(c) || is_ha_ho(c))) {
                    code = String.fromCharCode(code.charCodeAt(0)+1);
                    i++;
                } else if (next == 65439 && is_ha_ho(c)) {
                    code = String.fromCharCode(code.charCodeAt(0)+2);
                    i++;
                }
            }
            str += code;
        } else if (is_hira(c)) { 
            str += String.fromCharCode(c + 96);
        } else {
            str += src.charAt(i);
        } 

   }
   return str;
}
