window.name="sub";

var NUM=10;               // 問題数

var shuffle=0;           // 問題の順番をランダムに 1:する、0:しない

var kaisetsu_type=1;     // 0:解説なし, 1:解説一覧のみ, 2:各問いに解説ボタンあり



var refresh=0;           // 試行ごとに refresh する:1 しない:0

var gokaku=40;           // 合格点（次の問題に進める）

var page_fwd=0;          // 1:合格点に達したら次に進む  0:何もしない

var nextfile=".html";       // 次のページのファイル名



// 変数初期化

var flg_kWin0=false;     // 結果window 開いているか

var flg_kWin1=false;     // 解説window

var flg_kWin2=false;     // 解説一覧window

var flg_try=false;       // 採点ボタンを押したか





// １次元配列作成

function MakeArray(n){

	this.length=n;

}



// ２次元配列作成

function DIM(dimx,dimy){

	var i;

	var myArray = new Array(dimy);

	for (i=0; i<=dimx; i++) myArray[i] = new Array(dimx);

	return myArray;

}



var q=new MakeArray(NUM);  // 問題文データ配列

var s=new MakeArray(2);    // 選択肢データ配列

var v=new MakeArray(NUM);  // 選択肢値　正解=1  不正解=0 

var c=new MakeArray(NUM);  // 選択したかどうかのチェック

var kd=new MakeArray(NUM); // 解説カードデータ配列





// 問題データ  s[]:選択肢, q[]:問題文, v[]:答え(1 or 0)

s[1]="YES";

s[2]="NO　";



q[1]="血友病Aでは生まれつき凝固因子のなかの第VIII因子が欠乏している。";

v[1]="1";

kd[1]="血友病Aでは第VIII因子が欠乏しています。";


q[2]="血友病に関連する凝固因子の遺伝子はX染色体上にある。";

v[2]="1";

kd[2]="血友病は「伴性劣性遺伝」という遺伝形式をとる生まれつきの病気で、患者さんのほとんどが男性です。血友病の遺伝子をもつ女性を保因者とよびます。約７割の患者さんが保因者のお母様から生まれていますが、残りの３割の患者さんのお母様は保因者でなく、突然血友病となった患者さんです。ほとんどの患者さんは今の医学では残念ながら治りません。病気のことをしっかり理解して上手につきあっていきましょう。";



q[3]="血友病では凝固因子製剤の家庭治療（自己注射）が認められている。";

v[3]="1";

kd[3]="1983年から主治医やナースのもとで血友病の知識の学習と十分な注射手技の練習を行ったうえで、家庭で凝固因子製剤の注射ができるようになりました。今ではご両親が家庭治療を行っている小学校入学前の小さな患者さんもたくさんいらっしゃいます。";



q[4]="一度出血した関節は、しばらく出血しにくくなる。";

v[4]="0";

kd[4]="関節内出血は血友病の出血症状の中で最も多く、足、膝、肘、肩、股関節などでみられます。関節内出血と気づいたらできるだけ早い時期に適切な補充療法をすることが大切です。一度出血した関節はむしろ再出血しやすくなるので、初期にきちんと治療しましょう。<br>関節内出血の症状：痛み、腫れ、熱感";



q[5]="頭を打った覚えがなくても頭蓋内出血がおきていることがある。";

v[5]="1";

kd[5]="激しい頭痛があるときは、製剤を投与して病院に連絡しましょう。また、小児ではなんとなく元気がない、発熱、吐き気、など症状がはっきりせず、風邪などと思われたりすることがありますので、注意しましょう。";



q[6]="痛みがあるときはアセチルサリチル酸を飲んだほうがよい。";

v[6]="0";

kd[6]="アセチルサリチル酸は、血小板の働きを低下させ出血しやすくなりますので血友病のかたはアセチルサリチル酸を服用してはいけません。薬局でお薬を買うときは成分に注意しましょう。";



q[7]="血友病のお子さんは、学校の体育の授業に参加しないほうがよい。";

v[7]="0";

kd[7]="定期補充療法や予備的補充療法を行うことで、血友病ではないお子さんと同じように体育の授業に参加することができます。すでに血友病性関節症があるお子さんの場合は参加する種目を主治医とよく相談しましょう。また、遠足や修学旅行にも参加できます。学校での出血時にどのように対処したらよいのか先生方とお話しておきましょう。先生方に説明するときに役に立つパンフレットもありますので、主治医やナースに尋ねてみてください。";


q[8]="どんな出血に対しても、凝固因子が100％になるように投与する。";

v[8]="0";

kd[8]="出血した部位や程度にあわせて必要な量を投与しましょう。投与方法が自己流になっていませんか？投与量の計算方法などを、主治医やナースともう一度確認してくださいね。";



q[9]="凝固因子製剤は製剤の種類に関わらずどんなときでも保冷バックにいれて持ち運ぶ。";

v[9]="0";

kd[9]="短時間であれば、保冷バックにいれる必要はありません。ただし、車のなかに置きっぱなしにしては絶対にいけません。特に夏場や炎天下ではすぐに車内は高温になってしまい、凝固因子製剤が変質してしまう可能性があります。また、冷凍させてもいけません。保存温度は製剤によって異なりますので、主治医やナースに確認してくださいね。また、製剤を使用するときは患者向け医薬品ガイドを確認してください。";



q[10]="家庭治療（自己注射）で使用したものは、すべて家庭ごみとして捨ててよい。";

v[10]="0";

kd[10]="<img src='img/gomi.png' style='margin: 5px 0px 5px 5px; float:right;'>針、注射器、バイアルは必ず病院へ持参し廃棄してもらいましょう。使用した針は、廃棄専用の針捨て箱、ふたのある空き瓶や缶（針を捨てた後密閉できるもの）にいれて病院へ持っていってください。その他のごみ（外箱など）は地域によって分別のルールが違いますので、主治医やナースと相談しきちんと廃棄しましょう。";






// n までの整数をランダムに発生  戻り値 x[]

function ransu(n) {
	var k=1, l,  bingo;
	var x=new MakeArray(NUM);



	x[k] = Math.floor(n * Math.random())+1;
	k++;
	while ( k<=n ) {
    	x[k] = Math.floor(n * Math.random())+1;
	    bingo = 0;
	    for (l=1; l<k; l++) {  // すでに同じ数字がないかチェック
	        if ( x[k] == x[l] ) { bingo=1; break; }
	    }
	    if (bingo==0) k++;  	// 同じ数字がなければ k++
	}
	return x;
}





// 正解数カウント用配列 a[] 初期化

var a=new MakeArray(NUM);
for (i=1;i<=NUM;i++) { a[i]=0; }



// radio button が押されたかどうかチェック用配列 c[] 初期化

for (i=1;i<=NUM;i++) {
    c[i] = false;
}



// radio button が選択されたときの処理

function radio1(parts) { c[1]=true; a[1]=parts.value; }
function radio2(parts) { c[2]=true; a[2]=parts.value; }
function radio3(parts) { c[3]=true; a[3]=parts.value; }
function radio4(parts) { c[4]=true; a[4]=parts.value; }
function radio5(parts) { c[5]=true; a[5]=parts.value; }
function radio6(parts) { c[6]=true; a[6]=parts.value; }
function radio7(parts) { c[7]=true; a[7]=parts.value; }
function radio8(parts) { c[8]=true; a[8]=parts.value; }
function radio9(parts) { c[9]=true; a[9]=parts.value; }
function radio10(parts) { c[10]=true; a[10]=parts.value; }

// 採点ボタンが押されたときの処理（結果window）

function kekka(f){

    // refresh モードのときはズルなし

    if (flg_try && refresh) { 

       result = confirm('はじめからやり直さないと採点できません。やり直しますか？');

       if (result) {

          location.reload();

          return;

       } else  return;

    }



    // 未回答の問題があったら確認する

    var kaito=0;
    for (i=1;i<=NUM;i++) { kaito += c[i]; }
    if (kaito != NUM) {
        result=confirm("まだ回答していない問題があります。このまま採点しますか？");
        if (!result) return;
    }



    // 結果データ処理
    var data="", seikai=0 ,j, i, yy, score;
    flg_try = true;
    data += "<html><head><title>結果</title></head>";
    data += "<body bgcolor=white text=black>";
    data += "<font size=4><b>採点結果です</b></font>";
    data += "<br><br><table border=1 cellspacing=0 cellpadding=5><tr>";
    for(i=1;i<=NUM;i++){
        j=x[i];
        data += "<td width=80 align=center bgcolor=#E6E6E6>問"+i;
        if (!c[j]) {
            data += "<td width=40 align=center bgcolor=white>　</font>";
        } else {
            if (a[j]==1) {
                data += "<td width=40 align=center bgcolor=white><font color=blue><b>○</b></font>";
            } else {
                data += "<td width=40 align=center bgcolor=white><font color=red><b>×</b></font>";
            }
        }
        if (i%5==0) {data += "<tr>";}
        seikai=seikai+eval(a[j]);      // 正解数をカウント
    }
    data += "</table><br>  <table><tr><td width=360><font color=green>";
    score = Math.floor(100*seikai/NUM+0.5);
    if (score != 100) data += NUM+"問中 "+seikai+"問正解";
    if (score == 100) data += "全問正解";
    data += "</font><br>"; 
	if (score < gokaku) data += "<font color=green> 解説もご覧になり再度トライしてみてください！</font>";
     if (score >= gokaku && score < 90) data += "<font color=green> もう少しです！解説も参考に、もう一度トライしてみてください。 </font>";
    if (score >= 90 && score < 100) data += "<font color=green> 満点まであと少し！他のテストも突破めざしぜひトライしてください！ </font>";
    if (score == 100) data += "<font color=red> 全問正解です！！他のテストも突破めざしぜひトライしてください！</font>";

    data += "<td width=120 nowrap><font size=7 color=red>" + score + "</font><font size=3 color=#000000>点</font>";
    data += "</table>";
    data += "<center><form>";

    if (score < gokaku && !refresh || score>=gokaku && !page_fwd) data += "<input type=button value='閉じる' onClick='window.close();'>";

    if (score < gokaku && refresh) data += " <input type=button onClick='window.opener.document.location.reload();' value='やり直し'>";

    if (score >= gokaku && page_fwd) data += "<input type=button onClick=window.opener.document.location='" + nextfile + "' value='次に進む'>";

    data += "</form></center></body></html>";



    flg_kWin0=1;
    yy=220+30*(Math.floor(NUM/5-0.1));
    kWin0=window.open("","kekkaWin","width=480,height=" + yy + ",toolbar=0,menubar=0,resizable=1,location=0,directories=0,status=0");

    kWin0.focus();
    kWin0.document.open();
    kWin0.document.write(data);
    kWin0.document.close();

}





// 解説一覧ボタンを押したときの処理

function kaisetsu_view() {
    flg_kWin1=1;
    var data="";
    data += "<html><head><title>解説一覧</title></head>";
    data += "<body bgcolor=#FFFFFF text=black>";
    data += "<dl>";

    for(i=1;i<=NUM;i++) {
        j = x[i];
        data += "<dt style='border-bottom:1px solid #E6E6E6;margin:0 0 20px 0;'><table cellpadding=3 align=left><td style='width:40px;border-top:1px solid #B6B6B6;border-left:1px solid #B6B6B6;border-right:2px solid #B6B6B6;border-bottom:2px solid #B6B6B6;background-color:#E6E6E6;font-size:12px;' align=center> 問" + i + "</table>";

        data += "<table><tr><td style='font-size:12px;'>" + kd[j] + "</table><p>";
    }

    data += "</dl><div align=center><input type=button value='閉じる' onClick='window.close();'></div></body></html>";
    kWin1 = window.open("","kWin1","width=500,height=400,scrollbars=1,resizable=1,directoies=0");
    kWin1.focus();
    kWin1.document.open();
    kWin1.document.write(data);
    kWin1.document.close();
}


// Unload したとき sub windowを閉じる

function byebye(){
    if (flg_kWin0 && !kWin0.closed) kWin0.close();
    if (flg_kWin1 && !kWin1.closed) kWin1.close(); 
    if (flg_kWin2 && !kWin2.closed) kWin2.close();
}



