//項目チェック
// itm Itemno .value wknm =メッセージ用項目名、半角チェック
function fld_chk(f,itm,wknm,type,non,plen) {
        wk = f.elements[itm].value
//未入力chk
    if   (wk == "") {
        if (type == 2){ 
           f.elements[itm].value = 0; }
				if (non == 0) {
						return true;
				}
		else {
			if (non == 1) { alert (wknm + "を入力してください。");
                    		f.elements[itm].focus();
			            return false;
			}
        }
    }

		flg_err = 0;
		flg_sp = 0;
		flg_ml = 0;
		flg_zk = 0;
		for (i = 0;  i < wk.length;  i++){
			wk_str = wk.charAt(i);
	        Wk_Unicode = wk.charCodeAt(i);     //UNICODE に変換 半角chk
			if  ((0xFF61 <= Wk_Unicode) && (Wk_Unicode <= 0xFF9F)) {
 		           flg_err =1;
					break;
			}
	        if (((0x0030 <= Wk_Unicode) && (Wk_Unicode <= 0x0039)) ||
	            ((0x0041 <= Wk_Unicode) && (Wk_Unicode <= 0x005A)) ||
	            ((0x0061 <= Wk_Unicode) && (Wk_Unicode <= 0x007A)) ||
	             (Wk_Unicode == 0x005F) ||
	             (Wk_Unicode == 0x0040) ||
	             (Wk_Unicode == 0x002D) ||
	             (Wk_Unicode == 0x002E)) {
	        }else{
	            flg_ml =1;
	        }
	        if (((0x30A1 <= Wk_Unicode) && (Wk_Unicode <= 0x30F6)) ||
	            (Wk_Unicode == 0x30FC) || 
	            (Wk_Unicode == 0x30FD) || 
	            (Wk_Unicode == 0x30FE) ||
	            (Wk_Unicode == 0x3000)) {
	        }else{
	            flg_zk = 1;
	        }
			if ((wk_str !== " ") &&  (wk_str !== "　")){
				flg_sp = 1;
			}
        }
		if (flg_err ==1) {
			alert("半角カタカナは入力できません。" );
			f.elements[itm].focus();
			return false;
		}
		if ((non == 1) && (flg_sp == 0) ) {
            alert(wknm + "に空白のみが入力されています。" );
                f.elements[itm].focus();
            return false;
		}
    if( (flg_ml == 1) && (type == "ml")){ 
            f.elements[itm].focus();
			alert("メールアドレスを正しく入力してください。"); 
			return false;
		}
    if( (flg_zk == 1) && (type == "zk")){ 
            f.elements[itm].focus();
			alert("全角カタカナ以外は入力できません。"); 
			return false;
		}
    if ((type == 1) || (type == 2) || (type == "mm") || (type == "dd")) {
        if (!com_num_chk(wk)){
            alert (wknm + "は半角数字で入力してください。");
                    f.elements[itm].focus();
            return false;
        }
				if (plen > 0 ) {
			        if (!com_len_chk(wk,plen)){
			            alert (wknm + "は" + plen + "桁で入力してください。");
			                    f.elements[itm].focus();
			            return false;
			        }
				}
        if (type == "mm"){
                    if ((wk > 0)  && (wk < 13 )) {
                      } else { 
                    alert (wknm + "を正しく入力してください。");
                            f.elements[itm].focus();
                    return false;
                    }
        }
        if (type == "dd"){
                    if ((wk > 0)  && (wk < 32 )) {
                      } else { 
                    alert (wknm + "を正しく入力してください。");
                            f.elements[itm].focus();
                    return false;
                    }
        }

     }
     if (type == "ml"){
             if (!mail_chk(wk)){
                     alert (wknm + "は正しい形式で入力してください。");
                     f.elements[itm].focus();
                     return false;
             }
     }

    return true;
}
function com_zenkana_chk(n) {
        if (((0x30A1 <= Wk_Unicode) && (Wk_Unicode <= 0x30F6)) ||
            (Wk_Unicode == 0x30FC) || 
            (Wk_Unicode == 0x30FD) || 
            (Wk_Unicode == 0x30FE)) {
            return true;
        }else{
            return false;
        }
}
//Numericチェック
function com_num_chk(n) {
    for(i = 0; i <  n.length; i++){
        t = n.substring(i,i+1);
        if (t == "0" || t == "1" || t == "2" || t == "3" || t == "4" ||
        t == "5" || t == "6" || t == "7" || t == "8" || t == "9"){
            continue;
            }
        else{
            return false;
        }
    }
    return true;
}
//@mチェック
function mail_chk(n) {
        m1 = 0
        m2 = 0
        for(i = 0; i <  n.length; i++){
                t = n.substring(i,i+1);
                if (t == "@" ) { m1 = i+1 }
                if (t == "." ) { m2 = i+1 }
        }
        if ((m1 < m2) && (m2 > m1 + 1) && (m2 < n.length) && (m1 > 1)) {
            return true;}
        else{ 
        return false; }
}
//選択チェックラジオボタン
function radio_chk(f,itm,wknm) {
		num = f.elements[itm].length;
		chkflg = 0;
		for (i = 0; i< num; i++) {
        if (f.elements[itm][i].checked == true ) {
        		chkflg = 1;
        }
    }
		if (chkflg == 1 ) {
    		return true; }
		else { 
      alert(wknm + "が選択されていません。");
            f.elements[itm][0].focus();

			return false;
		 }
}
//選択チェックチェックボックス
function chkbox_chk(f,itm,wknm) {
		num = f.elements[itm].length;
		chkflg = 0;
		for (i = 0; i< num; i++) {
        if (f.elements[itm][i].checked == true ) {
        		chkflg = 1;
        }
    }
		if (chkflg == 1 ) {
    		return true; }
		else { 
      alert(wknm + "をどれか選択してください。");
            f.elements[itm][0].focus();

			return false;
		 }
}

//選択チェック
function sel_chk(f,itm,wknm) {
    if (f.elements[itm].selectedIndex == 0 ) {
        alert(wknm + "が選択されていません。");
            f.elements[itm].focus();
        return false;
    }
    return true;
}
//年の妥当性ｃｈｋ
function nen_chk(f,gen,itm,wknm) {
        wk = f.elements[itm].value
        if (wk == 0)  {
        flg = 1
    }
     flg = 0        
        if ((gen == 1 ) && (wk > 63))  {
        flg = 1
    }
        wk2 = yy - 1988
        if ((gen == 2 ) && (wk > wk2))  {
        flg = 1
    }
        if (flg == 1)  {
        alert(wknm + "を正しく入力してください。");
            f.elements[itm].focus();
        return false;
    }
    return true;

}
//Num桁チェック
function com_len_chk(n,plen) {
		chk_str = ""
    for(i = 0; i <  n.length; i++){
        wk_str = n.substring(i,i+1);
				if ((wk_str !== " ") &&  (wk_str !== "　")){
					chk_str = chk_str + wk_str;
				}
    }
		if (chk_str.length == plen ) {
    			return true; }
		else {return false; }
}
//カタカナチェック
 function chkKata(val,x) {
	tword = val;
	data = tword.match(/[^ア-ン,"ー","ヴ","ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ヮ","ヰ","ヱ"]/g);
	if (data || !tword) {
		alert(x+'にカタカナ以外が含まれています');
		return false;
	}
	return true;
 }

function chkNA(val,x) {
	tword = val;
	data = tword.match(/[^a-z0-9\-]/g);
	if (data || !tword) {
		alert(x+'に半角英数字以外が含まれています');
		return false;
	}
	return true;
 }
