// -------------------------グローバル変数定義--------------------------											
// ----------------------エラーメッセージ文字列設定---------------------											
	var ERRMSG = new Array(20);							// エラーメッセージ数			
	ERRMSG[1] = "は必須入力です。";						// 必須入力				
	ERRMSG[2] = "は日付を入力して下さい。";				// 日付From-Toチェック						
	ERRMSG[3] = "で入力して下さい。";					// 日付From-Toチェック					
	ERRMSG[4] = "は郵便番号を入力して下さい。\n\n例)\n [xxx]または[xxx-xx]または[xxx-xxxx]";	// 郵便番号チェック 									
	ERRMSG[5] = "に入力禁止文字が入力されています。";	// 全角チェック									
	ERRMSG[6] = "電話番号は数字か\"-\"(ハイフン)で入力して下さい。";		//電話番号チェック								
	ERRMSG[7] = "は数字を入力して下さい。";				// 数字チェック						
	ERRMSG[8] = "桁以下で入力して下さい。";				// 数字チェック						
	ERRMSG[9] = "桁で入力して下さい。";					// 数字チェック					
	ERRMSG[10] = "は半角で入力して下さい。(\"ｧｨｩｪｫｯｬｭｮ\"は使用出来ません)";	// 半角カナチェック									
	ERRMSG[11] = "は全角文字を入力して下さい。";		// 全角チェック								
	ERRMSG[12] = "は半角英字を入力して下さい。";		// 英字チェック								
	ERRMSG[13] = "は半角英字(小文字)を入力して下さい。";// 英字チェック										
	ERRMSG[14] = "は半角英字(大文字)を入力して下さい。";// 英字チェック										
	ERRMSG[15] = "は半角英数を入力して下さい。";		// 英数字チェック								
	ERRMSG[16] = "バイト以下で入力して下さい。";		// バイト数チェック								
	ERRMSG[17] = "バイトで入力して下さい。";			// バイト数チェック							
	ERRMSG[18] ="メールアドレスの形式が不正です。";		// メールアドレスチェック
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary    :    入力チェック共通関数											
 *											
 *   @param      :    Chk_CD         :  入力チェック対象コード											
 *   @return     :    "0"  :   正常											
 *                    "1"  :   異常											
 *											
 *   修正履歴              ：  											
 *											
 *   備考                  ：  ITEMNAME[]="[フィールド属性名],[フィールド名],[入力チェック対象コード],[入力チェック項目]"											
 *                         ：  例)											
 *                         ：    CommonInputCheck()に引数１を渡したとき、[必須入力チェック] ＋ [入力桁数6桁チェック]											
 *                         ：   ITEMNAME[1] = "SET_KEY_CD1,複写元　支店、課、担当者コード,1,a,6(6)";											
 *                         ：   											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function CommonInputCheck(Chk_CD, FNAME) {											
	var ret;										// 子関数の戻り値
	var stringWork1 = "";							// 入力文字列格納領域			
	var stringWork2 = "";							// From-Toチェック用文字列格納領域			
	var maxLength;									// 最大桁数	
	var minLength;									// 最小桁数	
	var loopCount1 = 0;								// ループカウンタ１		
	var loopCount2 = 0;								// ループカウンタ２		
	var errCheckTbl;								// エラーチェックテーブル		
	var errChk = 0;									// 入力チェック結果フラグ										
	/* 省略チェック */										
	if ( !( FNAME ) ) {
		formName = formName_def;									
	}else{										
		formName = FNAME;									
	}										
											
	// 項目数分ループ										
	for( loopCount1 = 1; loopCount1 < ITEMNAME.length; loopCount1++ ) {										
											
		// NAME属性、もしくは、入力チェックテーブルにデータが設定されてなければ 次									
		if( !(ITEMNAME[loopCount1]) || (String_henkan(loopCount1, 3).indexOf(Chk_CD) == "-1")) {									
			continue;								
		}									
											
		// 入力エラーチェック文字列をトークンで分割									
		errCheckTbl = ITEMNAME[loopCount1].split(",");									
											
		// エラーチェック分ループ									
		for( loopCount2 = 3; loopCount2 < errCheckTbl.length; loopCount2++ ) {									
			switch( errCheckTbl[loopCount2] ) {								
			case "a" :		// 必須入力チェック						
				ret = elementsChk_Sub(loopCount1);							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "b" :		// 数字チェック						
				ret = numChk_Sub(loopCount1, "0");							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "c" :		// 暦日チェック（YYYYMM）						
				ret = calendarDayChk_Sub(loopCount1, "0", "0", "1");							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "d" :		// 暦日チェック（YYYY/MM/DD）						
				ret = calendarDayChk_Sub(loopCount1, "0", "1", "0");							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "e" :		// 半角カナチェック(英数、記号アリ)						
				ret = halfSizeKanaChk_Sub(loopCount1, "1");							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "f" :		// 全角チェック						
				ret = fullSizeChk_Sub(loopCount1);							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "g" :		// 郵便番号チェック						
				ret = postNoChk_Sub(loopCount1);							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "h" :		// 半角英字(大文字)チェック						
				ret = alphabetChk_Sub(loopCount1, "2", "0", "0");							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "i" :		// 電話番号チェック						
				ret = telNoChk_Sub(loopCount1);							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "j" :		// 半角英数字チェック						
				ret = alphabetNumChk_Sub(loopCount1, "0", "0");							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "k" :		// 半角全角チェック						
				ret = halffullSizeChk_Sub(loopCount1);							
				if( ret != "0" ) { errChk = "1"; }							
				break;							
			case "l" :		// メールアドレスチェック				
				ret = mailAddressChk_Sub(loopCount1);
				if( ret != "0" ) { errChk = "1";}
				break;
			case "" :		// エラーチェック無し						
				break;							
			default :								
				// 値取得							
				stringWork1 = document.forms[formName].elements[String_henkan(loopCount1, 1)].value;							
//				alert("桁数 =" + errCheckTbl[loopCount2].length + ": 頭文字=" + errCheckTbl[loopCount2].charAt(0));							
				if (errCheckTbl[loopCount2].length == 5 && errCheckTbl[loopCount2].charAt(0) == "b"){							
					var SyousuKetasu = "";						
					var SeisuKetasu = "";						
					var numValue = errCheckTbl[loopCount2];						
					SeisuKetasu = eval(numValue.substr(1,2));						
					SyousuKetasu = eval(numValue.substr(3,2));						
					ret = numValueChk_Sub(loopCount1,SyousuKetasu,SeisuKetasu);						
					if( ret != "0" ) { errChk = "1"; }						
					break;						
				}							
				if (errCheckTbl[loopCount2].charAt(0) == "k"){							
					ret = alphabetNumChk(errCheckTbl[loopCount2],"1");						
					// 最大、最小(?)チェックの場合						
					if( ret != "2" ) {						
						// ?(?)内の数値の取出し					
						// 最大桁数の取出し					
						myStringTokenizer(errCheckTbl[loopCount2],"(");					
						ret = myStringTokenizerNext();					
						maxLength = ret.substr(1, ret.length -1);					
						// 最小桁数の取出し					
						minLength = "";					
						ret = myStringTokenizerNext();					
						if( ret ) {					
							myStringTokenizer(ret,")");				
							ret = myStringTokenizerNext();				
							minLength = ret;				
						}					
						// 同桁チェック					
						if( eval(maxLength) == eval(minLength) ) {					
							if( stringWork1 && getByteCount(stringWork1) != eval(minLength) ) {				
								errChk = "1";			
								//フォーカスをセット			
								setFocusIchi(String_henkan(loopCount1, 1), formName)			
								//エラーメッセージ表示			
								alert("「" + String_henkan(loopCount1, 2) + "」は" + maxLength + ERRMSG[17]);			
								break;			
							}				
						}					
						// 最大、最小桁数チェック					
						else if( maxLength != "" && minLength != "" ) {					
							if( stringWork1 && ( getByteCount(stringWork1) < eval(minLength) || getByteCount(stringWork1) > eval(maxLength) ) ) {				
								errChk = "1";			
								//フォーカスをセット			
								setFocusIchi(String_henkan(loopCount1, 1), formName)			
								//エラーメッセージ表示			
								alert("「" + String_henkan(loopCount1, 2) + "」は" + minLength + "バイト以上、" + maxLength + ERRMSG[16]);			
								break;			
							}				
						}					
						// 最大桁数チェック					
						else if( maxLength != "" ) {					
							if( stringWork1 && ( eval(maxLength) < getByteCount(stringWork1) ) ) {				
								errChk = "1";			
								//フォーカスをセット			
								setFocusIchi(String_henkan(loopCount1, 1), formName)			
								//エラーメッセージ表示			
								alert("「" + String_henkan(loopCount1, 2) + "」は" + maxLength + ERRMSG[16]);			
								break;			
							}				
						}					
					}						
					break;						
				}							
				ret = alphabetNumChk(errCheckTbl[loopCount2],"1");							
				// 最大、最小(?)チェックの場合							
				if( ret != "2" ) {							
					// ?(?)内の数値の取出し						
					// 最大桁数の取出し						
					myStringTokenizer(errCheckTbl[loopCount2],"(");						
					ret = myStringTokenizerNext();						
					maxLength = ret;						
					// 最小桁数の取出し						
					minLength = "";						
					ret = myStringTokenizerNext();						
					if( ret ) {						
						myStringTokenizer(ret,")");					
						ret = myStringTokenizerNext();					
						minLength = ret;					
					}						
					// 同桁チェック						
					if( eval(maxLength) == eval(minLength) ) {						
						if( stringWork1 && stringWork1.length != eval(minLength) ) {					
							errChk = "1";				
							//フォーカスをセット				
							setFocusIchi(String_henkan(loopCount1, 1), formName)				
							//エラーメッセージ表示				
							alert("「" + String_henkan(loopCount1, 2) + "」は" + maxLength + ERRMSG[9]);				
							break;				
						}					
					}						
					// 最大、最小桁数チェック						
					else if( maxLength != "" && minLength != "" ) {						
						if( stringWork1 && ( stringWork1.length < eval(minLength) || stringWork1.length > eval(maxLength) ) ) {					
							errChk = "1";				
							//フォーカスをセット				
							setFocusIchi(String_henkan(loopCount1, 1), formName)				
							//エラーメッセージ表示				
							alert("「" + String_henkan(loopCount1, 2) + "」は" + minLength + "桁以上、" + maxLength + ERRMSG[8]);				
							break;				
						}					
					}						
					// 最大桁数チェック						
					else if( maxLength != "" ) {						
						if( stringWork1 && ( eval(maxLength) < stringWork1.length ) ) {					
							errChk = "1";				
							//フォーカスをセット				
							setFocusIchi(String_henkan(loopCount1, 1), formName)				
							//エラーメッセージ表示				
							alert("「" + String_henkan(loopCount1, 2) + "」は" + maxLength + ERRMSG[8]);				
							break;				
						}					
					}						
				}							
				// 独自エラーチェックの場合							
				else {							
					//処理無し						
				}							
			}								
			//エラーがあったらチェック終了								
			if ( errChk != "0" ){ break; }								
		}									
		//エラーがあったらチェック終了									
		if ( errChk != "0" ){ break; }									
	}										
	return(errChk);										
}											
											
// 文字列取出：文字列stringの0番目から','までの文字列を取り出す。											
//             文字列の設定											
var tokenString;											
var dlimString;											
function myStringTokenizer(string, dlim) {											
	tokenString = string;										
	dlimString = dlim;										
											
	// string undefined？										
	if( !string ) {										
		return false;									
	}										
	// dlim undefined？										
	if( !dlim ) {										
		dlimString = ",";									
	}										
}											
											
function myStringTokenizerNext() {											
	var retString;										
	string = tokenString;										
											
	// トークンで切り取った残りの文字列の格納										
	tokenString = string.substring(string.indexOf(dlimString)+1,string.length);										
											
	// 文字列無し？→エラー！！										
	if( string.length == 0 ) {										
		return false;									
	}										
	// 最後のトークン？→最後データ設定										
	else if( string.length == tokenString.length ) {										
		retString = string;									
		tokenString = "";									
	}										
	// トークンで分割→分割データ設定										
	else {										
		retString = string.substring(0,string.indexOf(dlimString));									
	}										
											
	return retString;										
}											
//****************************************************************************************											
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary   :    半角全角チェック											
 *											
 *   @param     :    対象文字列        :  全角文字列の配列番号											
 *                   バイト数          :  対象文字列の最大バイト数。 (未入力のときは、バイト数チェックをしない)											
 *											
 *   @return    :    "0"  :   正常											
 *                   "1"  :   異常											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function halffullSizeChk_Sub(TaishoMojiretsu,Bytesu){											
	/* 変数の定義 */										
	var rtn = "";										
											
	//半角全角チェック										
	ret = halffullSizeChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value, Bytesu)										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない。									
		return(0);									
											
	case "2" :	//入力禁止文字が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[5]);									
		return(1);									
											
	case "3" :	//対象文字列のバイト数が、バイト数(引数)より大きい。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」は" + Bytesu + ERRMSG[16]);									
		return(1);									
											
	case "4" :	//(３バイト文字)入力禁止文字が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[5]);									
		return(1);									
	}										
	return(0);										
}											
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary    :    配列値取得											
 *											
 *   @param      :    no             :  ITEMNAME[]の配列番号											
 *                    koumoku        :  項目の種類											
 *											
 *   @return     :    配列の値											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function String_henkan(no, koumoku){											
	/* 変数の定義 */										
	var str = "";										
											
	str = ITEMNAME[no].split(",");										
	koumoku--;										
	return(str[koumoku]);										
}											
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary    :    日付From-Toチェック											
 *											
 *   @param      :    From日付             :  暦日1 の配列番号											
 *                    To日付               :  暦日2 の配列番号											
 *											
 *   @return     :    "0"  :   正常											
 *                    "1"  :   異常											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function dateFromToChk_Sub(FromDate, ToDate) {											
	/* 変数の定義 */										
	var rtn = "";										
											
	//日付From-Toチェック										
	rtn = dateFromToChk(document.forms[formName].elements[String_henkan(FromDate, 1)].value, document.forms[formName].elements[String_henkan(ToDate, 1)].value, 0, 1, 0)										
	switch(rtn) {										
	case "1" :	//From日付が暦上妥当ではない。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(FromDate, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(FromDate, 2) + "」" + ERRMSG[2]);									
		return(1);									

	case "2" :	//To日付が暦上妥当ではない。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(ToDate, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(ToDate, 2) + "」" + ERRMSG[2]);									
		return(1);									

	case "3" :	//From日付とTo日付が共に暦上妥当ではない。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(FromDate, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(FromDate, 2) + "」と「" + String_henkan(ToDate, 2) + "」" + ERRMSG[2]);									
		return(1);									

	case "4" :	//日付の大小関係が不正であるとき。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(FromDate, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(FromDate, 2) + "」 < 「" + String_henkan(ToDate, 2) + "」" + ERRMSG[3]);									
		return(1);									
	}										
	return(0);										
}											
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary    :    必須入力チェック											
 *											
 *   @param      :    ELEMENTNAME :    エレメントのNAME属性の配列番号											
 *											
 *   @return     :    "0"  :   正常											
 *                    "1"  :   異常											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function elementsChk_Sub(ElementName) {											
	/* 変数の定義 */										
	var rtn = "";										
											
	//必須入力チェック										
	rtn = elementsChk(formName, String_henkan(ElementName, 1))										
											
	//エラーか？										
	if (rtn != 0){										
		//フォーカスをセット									
		setFocusIchi(String_henkan(ElementName, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(ElementName, 2) + "」" + ERRMSG[1]);									
		return(1);									
	}										

	return(0);										
}											
											
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary   :    数字チェック											
 *											
 *   @param     :    対象文字列        :  数字の文字列の配列番号											
 *                   同桁チェック区分  :  対象文字列の桁数と桁数(引数)が、同桁であるチェックを											
 *                                        するかしないか。       ("0":しない "1":する (未入力のときは"0"を設定))											
 *											
 *                   桁数              :  対象文字列の最大桁数。 (未入力のときは、桁数チェックをしない)											
 *											
 *   @return    :    "0"  :   正常											
 *                   "1"  :   異常											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function numChk_Sub(TaishoMojiretsu,DoKetaChk,Ketasu) {											
	/* 変数の定義 */										
	var rtn = "";										
											
	//数字チェック										
	ret = numChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value, DoKetaChk, Ketasu)										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない									
		return(0);									
											
	case "2" :	//半角数字以外が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[7]);									
		return(1);									
											
	case "3" :	//同桁チェックが"0"で対象文字列の桁数が、桁数(引数)より大きいとき。									
				//または、同桁チェックが"1"で対象文字列の桁数が、桁数(引数)と同桁ではない場合。							
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		if (DoKetaChk == "0") {									
			alert("「" + String_henkan(TaishoMojiretsu, 2) + "」は" + Ketasu + ERRMSG[8]);								
		}else{									
			alert("「" + String_henkan(TaishoMojiretsu, 2) + "」は" + Ketasu + ERRMSG[9]);								
		}									
		return(1);									
	}										
return(0);											
}											
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary   :    半角カナチェック											
 *											
 *   @param     :    対象文字列          :  半角カナ文字列の配列番号 (省略不可)											
 *                   英数字記号許可区分  :  英数字記号を許可するか。 ("0":しない "1":する (未入力のときは"0"を設定))											
 *                   桁数                :  対象文字列の最大桁数。   (未入力のときは、桁数チェックをしない)											
 *											
 *   @return    :    "0"  :   正常											
 *                   "1"  :   異常											
 *											
 *   修正履歴              ：											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function halfSizeKanaChk_Sub(TaishoMojiretsu,EiSuKigouKyokaKbn,Ketasu) {											
	/* 変数の定義 */										
	var rtn = "";										
											
	//半角カナチェック										
	ret = halfSizeKanaChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value, EiSuKigouKyokaKbn, Ketasu)										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない									
		return(0);									
	case "2" :	//半角カナ以外が含まれる、または英数字記号許可区分が"1"で半角カナまたは英数字文字以外が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[10]);									
		return(1);									
	case "3" :	//対象文字列の桁数が、桁数(引数)より大きい。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
			alert("「" + String_henkan(TaishoMojiretsu, 2) + "」は" + Ketasu + ERRMSG[8]);								
		return(1);									
	case "4" :	//入力禁止文字が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[5]);									
		return(1);									
	}										
return(0);											
}											
											
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary   :    全角チェック											
 *											
 *   @param     :    対象文字列        :  全角文字列の配列番号											
 *                   桁数              :  対象文字列の最大桁数。 (未入力のときは、桁数チェックをしない)											
 *											
 *   @return    :    "0"  :   正常											
 *                   "1"  :   異常											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function fullSizeChk_Sub(TaishoMojiretsu,Ketasu){											
	/* 変数の定義 */										
	var rtn = "";										

	//全角チェック										
	ret = fullSizeChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value, Ketasu)										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない。									
		return(0);									
											
	case "2" :	//全角文字以外が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[11]);									
		return(1);									
											
	case "3" :	//対象文字列の桁数が、桁数(引数)より大きいとき。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」は" + Ketasu + ERRMSG[8]);									
		return(1);									
											
	case "4" :	//入力禁止文字が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[5]);									
		return(1);									
	}										
return(0);											
}											
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary   :    暦日チェック											
 *											
 *   @param     :    対象文字列        :  暦日文字列の配列番号											
 *                   拡張暦日許可区分  :  暦日で"00000000"または"99999999"を許可するか。 ("0":しない "1":する(未入力のときは"0"を設定))											
 *                   スラッシュ区分    :  スラッシュを含むか。                           ("0":含まない "1":含む (未入力のときは"0"を設定))											
 *                   年月許可区分      :  年月のみの入力を許可するか。                   ("0":しない "1":する(未入力のときは"0"を設定))											
 *											
 *   @return    :    "0"  :   正常											
 *                   "1"  :   異常											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function calendarDayChk_Sub(TaishoMojiretsu,RekibiKyokaKbn,SlashKubun,NenGatuKubun){											
	/* 変数の定義 */										
	var rtn = "";										
	var stringWork = "";										
											
	stringWork = document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value;										
	// 日付を付加する										
	if (NenGatuKubun == "1" && stringWork != "") {										
		stringWork = stringWork + "01";									
	}										
											
	//数字チェック										
	ret = calendarDayChk(stringWork, RekibiKyokaKbn, SlashKubun)										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない。									
		return(0);									
											
	case "2" :	//暦日上妥当ではないとき。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[2]);									
		return(1);									
											
	}										
return(0);											
}											
											
/*-----------------------------------------------------------------------------------------------------------------------											
 *   @summary    :    郵便番号チェック											
 *											
 *   @param      :    対象文字列  :  郵便番号。(省略不可)											
 *											
 *   @return     :    "0" :  正常											
 *                    "1" :  異常											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function postNoChk_Sub(TaishoMojiretsu) {											
	var rtn = "";										
	ret = postNoChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value)										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない。									
		return(0);									
											
	case "2" :	//郵便番号が正しくない。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[4]);									
		return(1);									
	}										
return(0);											
}											
											
 /*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary   :    英字チェック											
 *											
 *   @param     :    対象文字列        :  英字の配列番号                               (省略不可)											
 *                   文字区分          :  小文字、大文字、両方を含むか。               ("0":両方 "1":小文字のみ "2":大文字のみ )											
 *                   記号許可区分      :  使用可能記号(使用できる禁止文字。)を含むか。 ("0":含まない "1":含む (未入力のときは"0"を設定))											
 *                   同桁チェック区分  :  対象文字列の桁数と桁数(引数)が、同桁であるチェックを											
 *                                     :  するかしないか。                             ("0":しない "1":する (未入力のときは"0"を設定))											
 *                   桁数              :  対象文字列の最大桁数。                       (未入力のときは、桁数チェックをしない)											
 *											
 *   @return    :    "0"  :   正常											
 *                   "1"  :   異常											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function alphabetChk_Sub(TaishoMojiretsu,MojiKubun,KigoKubun,DoKetaChk,Ketasu) {											
	/* 変数の定義 */										
	var rtn = "";										
											
	//数字チェック										
	ret = alphabetChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value, MojiKubun, KigoKubun, DoKetaChk, Ketasu)										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない。									
		return(0);									
											
	case "2" :	//対象文字列の桁数が、桁数(引数)より大きいとき。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」は" + Ketasu + ERRMSG[8]);									
		return(1);									
											
	case "3" :	//半角英字以外が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[12]);									
		return(1);									
											
	case "4" :	//半角英字(小文字)以外が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[13]);									
		return(1);									
											
	case "5" :	//半角英字(大文字)以外が含まれる。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[14]);									
		return(1);									
	}										
return(0);											
}											
											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary    :    電話番号チェック											
 *											
 *   @param      :    対象文字列  :  電話番号の配列番号。(省略不可)											
 *                    桁数        :  対象文字列の最大桁数。(未入力のときは、桁数チェックをしない)											
 *											
 *   @return    :    "0"  :   正常											
 *                   "1"  :   異常											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function telNoChk_Sub(TaishoMojiretsu,Ketasu) {											
	/* 変数の定義 */										
	var rtn = "";										
											
	//電話番号チェック										
	ret = telNoChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value, Ketasu)										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない。									
		return(0);									
											
	case "2" :	//誤った電話番号であるとき。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[6]);									
		return(1);									
											
	case "3" :	//対象文字列の桁数が、桁数(引数)より大きいとき。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」は" + Ketasu + ERRMSG[8]);									
		return(1);									
	}										
return(0);											
}											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary    :    英数字チェック											
 *											
 *   @param     :    対象文字列        :  英数字文字列の配列番号(省略不可)											
 *                   記号許可区分      :  使用可能記号(使用できる禁止文字。)を含むことを許可するか。											
 *                                        ("0":しない "1":する (未入力のときは"0"を設定))											
 *                   同桁チェック区分  :  対象文字列の桁数と桁数(引数)が、同桁であるチェックを											
 *                                        するかしないか。("0":しない "1":する (未入力のときは"0"を設定))											
 *                   桁数              :  対象文字列の最大桁数。 (未入力のときは、桁数チェックをしない)											
 *											
 *   @return    :    "0"  :  											
 *                   "1"  :  対象文字列がNULLであるとき。											
 *                   "2"  :  半角英数字以外が含まれる。											
 *                   "3"  :  同桁チェックが"0"で対象文字列の桁数が、桁数(引数)より大きいとき。											
 *                           または、同桁チェックが"1"で対象文字列の桁数が、桁数(引数)と同桁ではない場合。											
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function alphabetNumChk_Sub(TaishoMojiretsu,KigoKubun,DoKetaChk,Ketasu) {											
	/* 変数の定義 */										
	var rtn = "";										
											
	//電話番号チェック										
	ret = alphabetNumChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value,KigoKubun,DoKetaChk,Ketasu)										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない。									
		return(0);									
											
	case "2" :	//半角英数字以外が含まれるとき。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[15]);									
		return(1);									
											
	case "3" :	//対象文字列の桁数が、桁数(引数)より大きいとき。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」は" + Ketasu + ERRMSG[8]);									
		return(1);									
	}										
return(0);											
}											
/*											
 *-----------------------------------------------------------------------------------------------------------------------											
 *   @summary    :   拡張数字チェック											
 *											
 *   @param      :    対象文字列      :  数値。                            (省略不可)											
 *                    小数点以下桁数  :  対象文字列の小数点以下の最大桁数。(未入力のときは、小数点以下桁数チェックをしない)											
 *                    整数桁数        :  対象文字列の整数の最大桁数。      (未入力のときは、整数の桁数チェックをしない)											
 *	ret = numValueChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value,"0","0","1",SyousuKetasu,SeisuKetasu);										
 *   @return     :    "0"  :  正常											
 *					  "1"  :  異常						
 *											
 *   修正履歴              ：  											
 *											
 *-----------------------------------------------------------------------------------------------------------------------											
 */											
function numValueChk_Sub(TaishoMojiretsu,SyousuKetasu,SeisuKetasu){											
	/* 変数の定義 */										
	var rtn = "";										
											
	//小数点チェック										
	ret = numValueChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value,"0","0","1",SyousuKetasu,SeisuKetasu);										
	switch(ret) {										
	case "1" :	//対象文字列がNULLであるとき。									
		//エラーとはしない。									
		return(0);									
											
	case "2" :	//半角英数字以外が含まれるとき。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName);									
		//エラーメッセージ表示									
		alert("「" + String_henkan(TaishoMojiretsu, 2) + "」" + ERRMSG[7]);									
		return(1);									
//	↓今回はエラーにはならない。										
//	case "3" :	//対象文字列の桁数が、桁数(引数)より大きいとき。									
	case "4" : //小数点以下の桁数または整数の桁数が指定したものより大きい場合。										
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName);									
		//エラーメッセージ表示									
		var err_num_msg = "";									
		err_num_msg = "「" + String_henkan(TaishoMojiretsu, 2) + "」" + "は、整数" + SeisuKetasu  + "桁";									
		err_num_msg = err_num_msg + "小数" + SyousuKetasu + "桁以下で入力して下さい。";									
		alert(err_num_msg);									
		return(1);									
	case "5" : //小数点以下の桁数または整数の桁数が指定したものより大きい場合。										
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName);									
		//エラーメッセージ表示									
		var err_num_msg = "";									
		err_num_msg = "「" + String_henkan(TaishoMojiretsu, 2) + "」" + "は、整数" + SeisuKetasu  + "桁";									
		err_num_msg = err_num_msg + "小数" + SyousuKetasu + "桁以下で入力して下さい。";									
		alert(err_num_msg);									
		return(1);									
	}										
return(0);											
}											
											
											
											
											
function mailAddressChk_Sub(TaishoMojiretsu){
	var rtn = "";										
	ret = mailAddressChk(document.forms[formName].elements[String_henkan(TaishoMojiretsu, 1)].value)										
	switch(ret) {										
	case "1" :	//メールアドレスが正しくない。									
		//フォーカスをセット									
		setFocusIchi(String_henkan(TaishoMojiretsu, 1), formName)									
		//エラーメッセージ表示									
		alert(ERRMSG[18]);									
		return(1);									
	}										


return(0);
}