<!-- 
var NUM=14;               // 問題数
var snum=10;             // 出題数
var shuffle=1;           // 問題の順番をランダムに 1:する、0:しない
var kaisetsu_type=0;     // 0:解説なし, 1:解説一覧のみ, 2:各問いに解説ボタンあり

var refresh=0;           // 試行ごとに refresh する:1 しない:0
var attention=30;        // 要注意
var gokaku=70;           // 合格点
var page_fwd=0;          // 1:合格点に達したら次に進む  0:何もしない
var nextfile="../control/index.php";       // 次のページのファイル名
var tbl_width=600;         // 問題欄の幅


// 変数初期化
var flg_kWin0=false;     // 結果window 開いているか
var flg_kWin1=false;     // 解説window
var flg_kWin2=false;     // 解説一覧window
var flg_try=false;       // 採点ボタンを押したか


// 1次元配列作成
function MakeArray(n){
	this.length=n;
}

// 2次元配列作成
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]="1";

q[2]="特定された利用目的の達成に必要な範囲を超えて個人情報を取り扱うことがある ( あった )";
v[2]="0";

q[3]="個人情報を取得したときは、本人に速やかに利用目的を通知又は公表している";
v[3]="1";

q[4]="個人情報を本人から直接書面で取得する場合には、あらかじめ本人に利用目的を明示している";
v[4]="1";

q[5]="利用目的の達成に必要な範囲で、個人データ*を正確かつ最新の内容に保つよう努めている";
v[5]="1";

q[6]="個人データ*の漏えいや滅失を防ぐために、必要かつ適切な安全管理措置を講じている";
v[6]="1";

q[7]="安全に個人データ*を管理するために、従業者に対し必要かつ適切な監督を行っている";
v[7]="1";

q[8]="個人データ*の取扱いについて委託する場合、委託先に対し必要かつ適切な監督を行っている";
v[8]="1";

q[9]="保有個人データ*の利用目的、開示等に必要な手続、苦情の申出先等について本人の知り得る状態に置いている";
v[9]="1";

q[10]="本人からの求めに応じて、保有個人データ*を開示している";
v[10]="1";

q[11]="保有個人データ*の内容に誤りのあるときは、本人からの求めに応じて、訂正等を行っている";
v[11]="1";

q[12]="保有個人データ*を法の義務に違反して取り扱った場合に、本人からの求めに応じて、利用の停止等を行ってる";
v[12]="1";

q[13]="本人から苦情などの申出があった場合は、適切かつ迅速な処理に努めている";
v[13]="1";

q[14]="本人からの苦情を、適切かつ迅速に処理するため、苦情受付窓口の設置、苦情処理手順の策定等必要な体制を整備している";
v[14]="1";


// 解説カードデータ
kd[1] = "貴社が取り扱う個人情報の利用目的はできる限り特定しましょう。";
kd[2] = "利用目的の範囲を超えて個人情報を取り扱ってはいけません。";
kd[3] = "個人情報を取得したときは、本人に速やかに利用目的を通知又は公表してください。";
kd[4] = "直接書面で取得する場合でも、あらかじめ本人に利用目的を明示してください。";
kd[5] = "個人データは正確かつ最新の内容に保つよう努めてください。";
kd[6] = "漏えい事故を起こさないためにも、必要かつ適切な安全管理措置を講じてください。";
kd[7] = "従業者に対し必要かつ適切な監督を行ってください。";
kd[8] = "委託先に対し必要かつ適切な監督を行ってください。";
kd[9] = "保有個人データの利用目的、開示等に必要な手続、苦情の申出先等について本人の知り得る状態に置かなければなりません。";
kd[10] = "本人からの求めに応じて、保有個人データを開示しなければなりません。";
kd[11] = "保有個人データの内容に誤りのあるときは、本人からの求めに応じて、訂正等を行わなければなりません。";
kd[12] = "保有個人データを法の義務に違反して取り扱っているときは、本人からの求めに応じて、利用の停止等を行わなければなりません。";
kd[13] = "苦情などの申出には、適切かつ迅速な処理に努めなければなりません。";
kd[14] = "本人からの苦情を、適切かつ迅速に処理するため、苦情受付窓口の設置、苦情処理手順の策定等必要な体制を整備しなければなりません。";


// n までの整数をランダムに発生  戻り値 x[]
function ransu(n) {
	var k=1, l,  bingo;
	var x=new MakeArray(snum);

	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; }
function radio11(parts) { c[11]=true; a[11]=parts.value; }
function radio12(parts) { c[12]=true; a[12]=parts.value; }
function radio13(parts) { c[13]=true; a[13]=parts.value; }
function radio14(parts) { c[14]=true; a[14]=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 != snum) {
        result=confirm("まだ回答していない問題があります。このまま採点しますか？");
        if (!result) return;
    }

    // 結果データ処理
    var data="", seikai=0 ,j, i, yy, score, scb=0;
    flg_try = true;
    data += "<html><head><link href=quickCheck.css rel=stylesheet type=text/css><title>診断結果<\/title><\/head>";
    data += "<bo" + "dy class=subWindow>";
    data += "<h2 class=resultHeader>診断結果<\/h2>";
    data += "<table border=0 cellspacing=2 cellpadding=5 class=inspection><tr>";
    for(i=1;i<=snum;i++){
        j=x[i];
        data += "<td class=qNumber>問"+i;
        if (!c[j]) {
            data += "<td class=marking>　<\/font>";
        } else {
            if (a[j]==1) {
                data += "<td class=marking><font color=blue>○<\/font>";
            } else {
                data += "<td class=marking><font color=red>×<\/font>";
            }
        }
        if (i%5==0) {data += "<tr>";}
        seikai=seikai+eval(a[j]);      // 正解数をカウント
    }
    data += "<\/table> <table class=result><tr><td class=evaluate>";
    score = Math.floor(100*seikai/snum+0.5);
    if (score != 100) data += snum+"問中 "+seikai+"問が正しく行われています。";
    if (score == 100) data += "全て適切な取り扱いがなされています。";
    data += "<br>"; 
				if (score < attention) data += "早急な社内体制の整備と構築が必要です。";
    if (score >= attention && score < gokaku) data += "社内体制は整いつつありますが、まだ脆弱な部分があるようです。";
    if (score >= gokaku && score < 100) data += "社内体制はほぼ整っていると言えます。さらに継続と強化をお忘れなく。";
    if (score == 100) data += "ここまでは完璧です。第三者認証の取得を検討しませんか？";
    data += "<\/td>";
    data += "<td class=score>" + score + "点";
    data += "<\/table>";
				data += "<p class=nextMess>いかがでしたか？ この結果は保存されません。<br>";
				data += "設問と結果を参照し、貴社の個人情報保護体制の推進と強化にお役立てください。<\/p>";
    data += "<center><form>";
				data += "<input type=button value='閉じる' onClick='window.close();'>";


    flg_kWin0=1;
    yy=280+35*(Math.floor(snum/5-0.1));
    if (yy > 480) { yy=480; scb=1; }
    kWin0=window.open("","kekkaWin","width=560,height=" + yy + ",toolbar=0,menubar=0,resizable=1,scrollbars=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><link href=quickCheck.css rel=stylesheet type=text/css><title>解説カード<\/title><\/head>";
    data += "<bo" + "dy text=black>";
    data += "<dl>";
    for(i=1;i<=snum;i++) {
        j = x[i];
        data += "<dt><table cellpadding=3 align=left><td bgcolor=orchid> 問" + i + "<\/table>";
        data += "<table><tr><td>" + kd[j] + "<\/table><p>";
    }
    data += "<\/dl><br>";
    data += "<center><form>";
    data += "<input type=button value='閉じる' onClick='window.close();'>";
    data += "<\/form><\/center><\/bo" + "dy><\/html>";
    kWin1 = window.open("","kWin1","width=600,height=600,scrollbars=1,resizable=1,directoies=0");
    kWin1.focus();
    kWin1.document.open();
    kWin1.document.write(data);
    kWin1.document.close();
}

// 解説ボタンを押した時の処理
function single_kaisetsu(m) {
    flg_kWin2=1;
    var data="";
    data += "<html><head><title>解説<\/title><\/head>";
    data += "<bo" + "dy bgcolor=lavender text=black>";
    data +=  kd[m];
    data += "<br><br><center><form>";
    data += "<input type=button value='閉じる' onClick='window.close();'>";
    data += "<\/form><\/center><\/bo" + "dy><\/html>";
    kWin2 = window.open("","kWin2","width=350,height=150,scrollbars=1,resizable=1");
    kWin2.focus();
    kWin2.document.open();
    kWin2.document.write(data);
    kWin2.document.close();
}


// 正誤ボタンを押したときの処理
function seigo(m) {
    if (!c[m]) { alert("答を選択してください");
    } else {
        if (a[m] == 1) { alert("○　正解です　○"); } else { alert("×　違います　×"); }
    }
}


// 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();
}

//-->
