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]="凝固因子さえ十分あれば、きちんと止血する。";

v[1]="0";

kd[1]="<img src='img/siketu.png' style='margin: 5px 0px 5px 5px;float:right;'>出血とは、血管が破れて血液が血管の外へ漏れ出すことを言います。きちんと止血するためには、①血管が丈夫であること、②血小板の数と働きが十分であること、③量も質も十分な凝固因子がそろっていることの３要素が必要です。血友病は凝固因子が欠乏しているために、血が止まるまで普通より長く時間がかかり、色々な出血症状をおこす病気です。";


q[2]="凝固因子活性はいつ測っても同じ値である。";

v[2]="0";

kd[2]="凝固因子活性はパーセント（％）で示され、測るたびに少しずつ違うことがあり、血友病では最も低い値で重症度を分類をします。重症度分類は出血の回数や程度で分類するものではありません。重症度：1%未満、中等症度：1〜5%未満、軽症度：5%以上";



q[3]="インヒビターは一度できてしまうと消えることはない。";

v[3]="0";

kd[3]="インヒビターが一時的に発生したあと自然に消える患者さんもいます。また、血液凝固因子製剤を定期的に投与していくことで、体を徐々にならしていき、体内のインヒビターを減らす治療法が試みられており、ITI（免疫寛容療法）と呼ばれています。このような治療をおこなうことでインヒビターが消える患者さんもいます。";



q[4]="血尿の時は、トランサミンを飲んではいけない。";

v[4]="1";

kd[4]="血尿は原因不明のものが多く、結石や背中を打った場合などでもみられます。安静にし十分な水分をとることで改善する場合があります。長くつづくときは補充療法を行います。痛みや発熱などの症状がなく、すぐ治った場合は特に心配ないでしょう。トランサミンは尿の通り道に凝血塊が詰まってしまうことがありますので、飲んではいけません。";



q[5]="腸腰筋出血の場合は、太ももをまっすぐに伸ばせない。";

v[5]="1";

kd[5]="<img src='img/hone.png' style='margin: 5px 0px 5px 5px;float:right;'>腸腰筋出血体位といいます。腸腰筋は背骨と太ももの骨との間にある大きな筋肉です。股関節出血と間違いやすく、また、右側の腸腰筋出血の場合はその痛みを虫垂炎と間違えやすいので注意しましょう。腸腰筋出血と気づいたら病院へ連絡してください。止血が不十分だと後に下肢に神経障害を残すことがありますので、入院治療の対象となります。";



q[6]="出血した日は、痛みが治まれば入浴してよい。";

v[6]="0";

kd[6]="<img src='img/ashi.png' style='margin: 5px 0px 5px 5px;float:right;'>出血の治療は、凝固因子製剤の補充だけではありません。安静にし、患部を氷水などで冷やすことも大切です。また、入浴することで体があたたまると血流がよくなり再出血することがありますので、急性期は入浴はひかえましょう。";



q[7]="適切な治療を行っていれば、水泳は最適なスポーツのひとつである。";

v[7]="1";

kd[7]="関節は筋肉で支えられていますので、適切な運動をして筋肉を鍛えることは、関節を保護し出血を減らすことにつながります。水の中では、「浮力」により関節にかかる負担が小さく、血友病の患者さんに最適なスポーツのひとつです。適切な補充療法を行って安全に楽しんでくださいね。";


q[8]="半減期は注射した凝固因子の血液中の濃度（量）が半分になるまでの時間で、第VIII因子は約1２時間、第Ⅸ因子は約２０時間である。";

v[8]="1";

kd[8]="この値は患者さんによって異なり、インヒビターの有無によっても左右されます。";



q[9]="凝固因子製剤の使用期限がすぎていたが、もったいないので使用した。";

v[9]="0";

kd[9]="投与する前に、使用期限は必ず確認しましょう。使用期限がすぎていたり、バイアルにひびが入っている製剤などは使ってはいけません。冷蔵庫に製剤が貯まっていませんか？未開封であっても病院は一度お家に持って帰った製剤は不良品の場合を除いて新しい製剤と交換してくれません。凝固因子製剤は輸注記録をつけ、きちんと管理されなければいけないことになっています。これらのことを守れない患者さんは家庭治療を継続することはできません。";



q[10]="朝に定期的に注射しているが、朝は忙しいので、前日の夜に凝固因子製剤を溶解して準備しておいたほうがよい。　";

v[10]="0";

kd[10]="製剤を溶解した後はなるべく早く注射しましょう。長時間放置すると雑菌が増殖してしまうこともあります。また、自己注射をする前は必ず手を洗い、清潔にしましょう。また、製剤をご使用する際には患者向け医薬品ガイドをご確認してください。";






// 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();
}



