/*							
 ********************************************************							
 *							
 *  共通テーブル							
 *							
 ********************************************************							
 */							
							
/*							
 ************************************************							
 *    @tablename : 半角文字テーブル							
 ************************************************							
 */							
var HankakuTable = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝﾞﾟｰ"							
                 + "1234567890"							
                 + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"							
                 + "abcdefghijklmnopqrstuvwxyz"							
                 + "!#$%()+-./:;=?@[]^_`{|}~｡｢｣､･"
                 + "',&*<>\"\\"							
                 + " ";							
							
/*							
 ***********************************************							
 * @tablename : 使用可能記号テーブル							
 ***********************************************							
 */							
var SiyoKanouKigouTable = "!#%$()+-./:;=?@[]^_`{|}~｡｢｣､･"							
                        + " ";							
							
/*							
 ***********************************************							
 * @tablename : 全角記号テーブル							
 ***********************************************							
 */							
var ZenkakuKigouTable = "！＃＄％’（）＋－．／：；＝？［］＾＿‘｛｜｝～　";							
							
/*							
 ***********************************************							
 * @tablename : 英字テーブル(小文字)							
 ***********************************************							
 */							
var EijiKomojiTable = "abcdefghijklmnopqrstuvwxyz";							
							
/*							
 ***********************************************							
 * @tablename : 英字テーブル(大文字)							
 ***********************************************							
 */							
var EijiOomojiTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";							
							
/*							
 ***********************************************							
 * @tablename : 英字テーブル							
 ***********************************************							
 */							
var EijiTable = EijiKomojiTable + EijiOomojiTable;							
							
/*							
 ***********************************************							
 * @tablename : 数字テーブル							
 ***********************************************							
 */							
var SujiTable = "1234567890";							
							
/*							
 ***********************************************							
 * @tablename : 全角カナテーブル							
 ***********************************************							
 */							
var ZenkakuKanaTable = "アイウエオカキクケコサシスセソタチツテトナニヌ"							
                + "ネノハヒフヘホマミムメモヤユヨラリルレロワヲン"							
                + "ァィゥェォヵヶッャュョヮー"							
                + "ヴガギグゲゴザジズゼゾダヂヅデドバビブベボ"							
                + "パピプペポ";							
/*							
 ***********************************************							
 * @tablename : 使用不可文字テーブル							
 ***********************************************							
 */							
var SiyofukaMojiTable = "',&*<>\"\\";							
							
/*							
 ***********************************************							
 * @tablename : 半角カナ文字テーブル							
 ***********************************************							
 */							
var HankakuKanaTable = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝﾞﾟｰ";							
							
/*							
 ***********************************************							
 * @tablename : 全角英数字テーブル							
 ***********************************************							
 */							
var ZenkakuEiSuTable = "ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ"							
                     + "ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ"							
                     + "１２３４５６７８９０";							
							
/*
 ************************************************							
 *    @tablename : メールアドレステーブル							
 ************************************************							
 */							
var MailAddressTable  	= "1234567890"
                        + "abcdefghijklmnopqrstuvwxyz"							
                        + "@.-_";							

/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    文字列のバイト数を取得する。							
 *                   全角を2バイト、半角を1バイトとしてカウントします。							
 * 							
 *   @param バイトを取得する値							
 *   @return 取得したバイト数							
 *							
       ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function getByteCount(value) {							
	var count = 0;						
	for ( var i = 0; i < value.length; ++i ) {						
		var sub = value.substring(i, i + 1);					
		//全角の場合２バイト追加。					
		if( checkIsZenkaku(sub) ){					
			count += 2;				
		} else {					
			count += 1;				
		}					
	}						
	return count;						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    全角であるかをチェックします。							
 * 							
 *   @param チェックする値							
 *   @return ture : 全角 / flase : 全角以外							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function checkIsZenkaku(value) {							
	for (var i = 0; i < value.length; ++i) {						
		var c = value.charCodeAt(i);					
		//  半角カタカナは不許可					
		if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) {					
			return false;				
		}					
	}						
	return true;						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    半角全角チェック							
 *							
 *   @param     :    対象文字列  :  全角文字列。          (省略不可)							
 *                   バイト数    :  対象文字列の最大バイト数。(未入力のときは、桁数チェックをしない)							
 *							
 *   @return    :    "0"  :  							
 *                   "1"  :  対象文字列がNULLであるとき。							
 *                   "2"  :  使用不可文字であるとき。							
 *                   "3"  :  対象文字列のバイト数が、バイト数(引数)より大きい。							
 *                   "4"  :  3バイト文字が含まれる。							
 *							
					
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function halffullSizeChk(TaishoMojiretsu,Bytesu) {							
	/* 変数の定義 */						
	var ReturnCode = "0";                            /* リターンコード */						
	var mojitmp = "";                                /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( Bytesu ) ) {						
		Bytesu = "";					
	}						

	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			/* 使用不可文字テーブルを読み出し対象文字と比較する */				
			if ( SiyofukaMojiTable.indexOf(mojitmp) != "-1" ) {				
				alert("入力禁止文字 = 「 " + mojitmp + " 」");			
				ReturnCode = "2";			
				break;			
			}				
							
			/* 半角文字のテーブルを読み出し対象文字と比較する。 */				
			if ( HankakuTable.indexOf(mojitmp) != "-1" ) {				
				/* 半角文字のテーブルを読み出し対象文字と比較する。 */			
				if((SiyoKanouKigouTable.indexOf(mojitmp) == "-1")			
				&& (EijiTable.indexOf(mojitmp) == "-1")			
				&& (SujiTable.indexOf(mojitmp) == "-1")			
				&& (HankakuKanaTable.indexOf(mojitmp) == "-1") ){			
					alert("入力禁止文字 = 「 " + mojitmp + " 」");		
					ReturnCode = "2";		
					break;		
				}			
			}				
		}					
							
		/* 入力文字列のバイト数チェック */					
		if ( ReturnCode == "0" && Bytesu != "" ) {					
			if ( getByteCount( TaishoMojiretsu ) > Bytesu ) {				
				ReturnCode = "3";			
			}				
		}					
							
		/* ３バイト文字チェックを呼び出す。*/					
		//if ( characterCodeChk(TaishoMojiretsu) != "0" ) {					
		//	ReturnCode = "4";				
		//}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    暦日チェック							
 *							
 *   @param      :    対象文字列           :  暦日。                                         (省略不可)							
 *                    拡張暦日許可区分     :  暦日で"00000000"または"99999999"を許可するか。 ("0":しない "1":する(未入力のときは"0"を設定))							
 *                    スラッシュ区分       :  スラッシュを含むか。                           ("0":含まない "1":含む (未入力のときは"0"を設定))							
 *							
 *   @return     :    "0"  :  							
 *                    "1"  :   対象文字列がNULLであるとき。							
 *                    "2"  :   暦日上妥当ではないとき。							
 *							
					
 *   修正履歴              ：							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function calendarDayChk(TaishoMojiretsu,RekibiKyokaKbn,SlashKubun){							
	/* 変数の定義 */						
	var ReturnCode = "0";                             /* リターンコード */						
	var NumchkReturncode = "0";                       /* 数字チェック(関数)のリターンコード */						
	var mojiretsutmp ="" ;						
							
	/* 省略チェック */						
	if ( RekibiKyokaKbn != "1" ) {						
		RekibiKyokaKbn = "0";					
	}						
	if ( SlashKubun != "1" ) {						
		SlashKubun = "0";					
	}						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
							
	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		/* 処理区分(スラッシュ有無区分)が"１"の場合、スラッシュを削除する。 */					
		if ( SlashKubun == "1" ) {					
			if ( ( TaishoMojiretsu.substr(4,1) == "/" )				
			 &&  ( TaishoMojiretsu.substr(7,1) == "/" ) ){				
				mojiretsutmp = TaishoMojiretsu.substr(0,4) + TaishoMojiretsu.substr(5,2) + TaishoMojiretsu.substr(8,3);			
				TaishoMojiretsu = mojiretsutmp;			
			}				
		}					
							
		/* 数字列かどうかチェックするため、数値チェックの関数をCALLする。 */					
		NumchkReturncode = numChk(TaishoMojiretsu,1,8);					
							
		if ( NumchkReturncode == "0" ) {					
			/* 年月日ごとに変数に待避 */				
			ytmp = TaishoMojiretsu.substring(0,4);				
			mtmp = TaishoMojiretsu.substring(4,6);				
			dtmp = TaishoMojiretsu.substring(6,8);				
							
			/* "00000000" または "99999999" は例外として妥当とするチェック */				
			if ( TaishoMojiretsu == "00000000" ) {				
				if ( RekibiKyokaKbn == "0" ) {			
					ReturnCode = "2";		
				}			
			}				
							
			else if ( TaishoMojiretsu == "99999999" ) {				
				if ( RekibiKyokaKbn == "0" ) {			
					ReturnCode = "2";		
				}			
			}				
							
			/* 西暦チェック */				
			else if ( ytmp < 1868 || ytmp > 2100 ) {				
				ReturnCode = "2";			
			}				
			/* 月チェック */				
			else if ( mtmp < 1 || mtmp > 12 ){				
				ReturnCode = "2";			
			}				
							
			/* 月に対応した日チェック */				
			else if ( mtmp == 1 || mtmp == 3 || mtmp == 5 || mtmp == 7 ||				
					  mtmp == 8 || mtmp == 10 || mtmp == 12 ){		
				if ( dtmp < 1 || dtmp > 31 ) {			
					ReturnCode = "2";		
				}			
			}				
			else if ( mtmp == 4 || mtmp == 6 || mtmp == 9 || mtmp == 11 ) {				
				if ( dtmp < 1 || dtmp > 30 ){			
					ReturnCode = "2";		
				}			
			}				
			else if ( mtmp == 2 ) {				
				/* 閏年チェック */			
				if ( ( ytmp%4 == 0 && ytmp%100 !== 0 ) || ytmp%400 == 0 ) {			
					if ( dtmp < 1 || dtmp > 29 ) {		
						ReturnCode = "2";	
					}		
				}			
				else if ( dtmp < 1 || dtmp > 28 ) {			
					ReturnCode = "2";		
				}			
			}				
		}					
		else if ( NumchkReturncode != "0" ) {					
			ReturnCode = "2";				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    拡張数字チェック							
 *							
 *   @param      :    対象文字列      :  数値。                            (省略不可)							
 *                    カンマ許可区分  :  カンマを含むことを許可するか。    ("0":しない "1":する(未入力のときは"0"を設定))							
 *                    負数許可区分    :  負数を含むことを許可するか。      ("0":しない "1":する(未入力のときは"0"を設定))							
 *                    ゼロ許可区分    :  ゼロ("0"や"000"など)の許可するか。("0":しない "1":する(未入力のときは"0"を設定))							
 *                    小数点以下桁数  :  対象文字列の小数点以下の最大桁数。(未入力のときは、小数点以下桁数チェックをしない)							
 *                    整数桁数        :  対象文字列の整数の最大桁数。      (未入力のときは、整数の桁数チェックをしない)							
 *							
 *   @return     :    "0"  :  							
 *                    "1"  :  対象文字列がNULLであるとき。 							
 *                    "2"  :  数値ではない、または数字ではない。 							
 *                    "3"  :  対象文字列が"0"である(ゼロ許可区分="0") 							
 *                    "4"  :  対象文字列の小数点以下の桁数が、小数点以下桁数より大きい。							
 *                    "5"  :  対象文字列の整数の桁数が、整数桁数より大きい。 							
 *							
					
 *   修正履歴              ：							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function numValueChk(TaishoMojiretsu,CommaChk,FusuKyokaKubun,ZeroKyokaKubun,SyousuKetasu,SeisuKetasu) {							
	/* 変数の定義 */						
	var shosutenflg = "0";                        /* 小数点の有無フラグ */						
	var mojitmp = "";                             /* 対象文字のワーク変数 */						
	var seisumojiretsutmp = "";                   						
	var shosumojiretsutmp = "";                   						
	var zentaimojitmp = "";                       						
	var NumchkReturnode = "0";                    						
	var mojiretsusuti = 0;						
	var ReturnCode = "0";						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( SyousuKetasu ) ) {						
		SyousuKetasu = "";					
	}						
	if ( !( SeisuKetasu ) ) {						
		SeisuKetasu = "";					
	}						
	if ( CommaChk != "1" ) {						
		CommaChk = "0"					
	}						
	if ( FusuKyokaKubun != "1" ) {						
		FusuKyokaKubun = "0"					
	}						
	if ( ZeroKyokaKubun != "1" ) {						
		ZeroKyokaKubun = "0"					
	}						
							
	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			/* 小数点が有るときのチェック */				
			if ( ( mojitmp == ".".charAt(0) )				
			  && ( shosutenflg == "0" ) ) {				
				shosutenflg  = "1";			
			}				
							
			/* 整数部の数字と小数部の数字を各内部変数へ編集する。 */				
			else {				
				if ( shosutenflg == "0" ) {			
					if ( CommaChk == "1" ) {		
						/* カンマ区分が"1"のときのカンマの削除編集 */	
						if ( mojitmp != "," ) {	
							seisumojiretsutmp += mojitmp;
						}	
					}		
					else {		
						/* カンマ区分が"1"以外のときはカンマを削除しない */	
						seisumojiretsutmp += mojitmp;	
					}		
				}			
				else {			
					/* 小数点以下はカンマは無いので全て編集する。 */		
					shosumojiretsutmp += mojitmp;		
				}			
			}				
		}					
							
        /* 負数許可区分が"1"での負数削除の条件。*/							
		if ( FusuKyokaKubun == "1" ) {					
			if ( seisumojiretsutmp.charAt(0) == "-" ) {				
				seisumojiretsutmp = seisumojiretsutmp.substring(1,seisumojiretsutmp.length);			
			}				
		}					
							
		zentaimojitmp = seisumojiretsutmp + shosumojiretsutmp;					
							
		/* 数字チェック関数をCALLする。*/					
		NumchkReturnode = numChk(zentaimojitmp);					
		if ( NumchkReturnode != "0" ) {					
			ReturnCode = "2";				
		}					
							
		/* ゼロ許可区分が"0"にもかかわらず、文字列が"0"の場合 */					
		if ( ReturnCode == "0" ) {					
			mojiretsusuti = new Number(zentaimojitmp);				
			if ( ZeroKyokaKubun == "0" ) {				
				if ( mojiretsusuti == 0 ) {			
					ReturnCode = "3";		
				}			
			}				
		}					
							
		/* 小数点以下桁数チェック */					
		if ( ReturnCode == "0" && SyousuKetasu != "" ) {					
			if ( SyousuKetasu < shosumojiretsutmp.length ) {				
				ReturnCode = "4";			
			}				
			if (SyousuKetasu == "0" && shosutenflg == "1") {				
				ReturnCode = "2";			
			}				
		}					
							
		/* 桁数チェック */					
		if ( ReturnCode == "0" && SeisuKetasu != "" ) {					
			if ( SeisuKetasu < seisumojiretsutmp.length ) {				
				ReturnCode = "5";			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    英数字チェック							
 *							
 *   @param     :    対象文字列        :  英数字文字列。                              (省略不可)							
 *                   記号許可区分      :  使用可能記号(使用できる禁止文字。)を含むことを許可するか。							
 *                                                                                    ("0":しない "1":する (未入力のときは"0"を設定))							
 *                   同桁チェック区分  :  対象文字列の桁数と桁数(引数)が、同桁であるチェックを							
 *                                        するかしないか。                            ("0":しない "1":する (未入力のときは"0"を設定))							
 *                   桁数              :  対象文字列の最大桁数。                      (未入力のときは、桁数チェックをしない)							
 *							
 *   @return    :    "0"  :  							
 *                   "1"  :  対象文字列がNULLであるとき。							
 *                   "2"  :  半角英数字以外が含まれる。							
 *                   "3"  :  同桁チェックが"0"で対象文字列の桁数が、桁数(引数)より大きいとき。							
 *                           または、同桁チェックが"1"で対象文字列の桁数が、桁数(引数)と同桁ではない場合。							
 *							
					
 *   修正履歴              ：							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function alphabetNumChk(TaishoMojiretsu,KigoKubun,DoKetaChk,Ketasu) {							
	/* 変数の定義 */						
	var ReturnCode = "0";                            /* リターンコード */						
	var mojitmp = "";                                /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( Ketasu ) ) {						
		Ketasu = "";					
	}						
	if ( DoKetaChk != "1" ) {						
		DoKetaChk = "0";					
	}						
	if ( KigoKubun != "1" ) {						
		KigoKubun = "0";					
	}						
							
	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			if ( KigoKubun == "1" ) {				
				/* 英字・数字・使用可能記号のチェック */			
				if ( ( EijiTable.indexOf(mojitmp) == "-1" )			
				  && ( SujiTable.indexOf(mojitmp) == "-1" )			
				  && ( SiyoKanouKigouTable.indexOf(mojitmp) == "-1" ) ) {			
					ReturnCode = "2";		
					break;		
				}			
			}				
			else {				
				/* 英字・数字のチェック */			
				if ( ( EijiTable.indexOf(mojitmp) == "-1" )			
				  && ( SujiTable.indexOf(mojitmp) == "-1" ) ) {			
					ReturnCode = "2";		
					break;		
				}			
			}				
		}					
							
		/* 入力文字列の桁数チェック */					
		if ( ReturnCode == "0" && Ketasu != "" ) {					
			if ( DoKetaChk == "0" ) {				
				if ( TaishoMojiretsu.length > Ketasu ) {			
					ReturnCode = "3";		
				}			
			}				
			else {				
				if ( TaishoMojiretsu.length != Ketasu ) {			
					ReturnCode = "3";		
				}			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    全角チェック							
 *							
 *   @param     :    対象文字列  :  全角文字列。          (省略不可)							
 *                   桁数        :  対象文字列の最大桁数。(未入力のときは、桁数チェックをしない)							
 *							
 *   @return    :    "0"  :  							
 *                   "1"  :  対象文字列がNULLであるとき。							
 *                   "2"  :  全角以外が含まれる。							
 *                   "3"  :  対象文字列の桁数が、桁数(引数)より大きい。							
 *                   "4"  :  3バイト文字が含まれる。							
 *							
						
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function fullSizeChk(TaishoMojiretsu,Ketasu) {							
	/* 変数の定義 */						
	var ReturnCode = "0";                            /* リターンコード */						
	var mojitmp = "";                                /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( Ketasu ) ) {						
		Ketasu = "";					
	}						
							
	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			/* 半角文字のテーブルを読み出し対象文字と比較する。 */				
			if ( HankakuTable.indexOf(mojitmp) != "-1" ) {				
				ReturnCode = "2";			
				break;			
			}				
		}					

		/* 入力文字列の桁数チェック */					
		if ( ReturnCode == "0" && Ketasu != "" ) {					
			if ( TaishoMojiretsu.length > Ketasu ) {				
				ReturnCode = "3";			
			}				
		}					
							
		/* ３バイト文字チェックを呼び出す。*/					
		//if ( characterCodeChk(TaishoMojiretsu) != "0" ) {					
		//	ReturnCode = "4";				
		//}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    全角カナチェック							
 *							
 *   @param     :    対象文字列          :  全角カナ文字列。         (省略不可)							
 *                   英数字記号許可区分  :  英数字記号を許可するか。 ("0":しない "1":する (未入力のときは"0"を設定))							
 *                   桁数                :  対象文字列の最大桁数。   (未入力のときは、桁数チェックをしない)							
 *							
 *   @return    :    "0"  :  							
 *                   "1"  :  対象文字列がNULLであるとき。							
 *                   "2"  :  全角カナ以外が含まれる、または英数字記号許可区分が"1"で全角カナまたは英数字文字が含まれる。							
 *                   "3"  :  対象文字列の桁数が、桁数(引数)より大きい。							
 *							
						
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function fullSizeKanaChk(TaishoMojiretsu,EiSuKigouKyokaKbn,Ketasu) {							
	/* 変数の定義 */						
	var ReturnCode = "0";                           /* リターンコード */						
	var mojitmp = "";                               /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( Ketasu ) ) {						
		Ketasu = "";					
	}						
	if( EiSuKigouKyokaKbn != "1" ) {						
		EiSuKigouKyokaKbn = "0";					
	}						
							
	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			if ( EiSuKigouKyokaKbn == "0" ) {				
				/* 全角カナ文字のテーブルを読み出し対象文字と比較する。 */			
				if ( ZenkakuKanaTable.indexOf(mojitmp) == "-1" ) {			
					ReturnCode = "2";		
					break;		
				}			
			}				
			else if ( EiSuKigouKyokaKbn == "1" ) {				
				/* 全角カナ文字のテーブルを読み出し対象文字と比較する。 */			
				/* 全角記号のテーブルを読み出し対象文字と比較する。 */			
				/* 全角英数字のテーブルを読み出し対象文字と比較する。 */			
				if ( ( ZenkakuKanaTable.indexOf(mojitmp) == "-1" )			
				  && ( ZenkakuKigouTable.indexOf(mojitmp) == "-1" )			
				  && ( ZenkakuEiSuTable.indexOf(mojitmp) == "-1" ) ) {			
					ReturnCode = "2";		
					break;		
				}			
			}				
		}					
		/* 入力文字列の桁数チェック */					
		if ( ReturnCode == "0" && Ketasu != "" ) {					
			if ( TaishoMojiretsu.length > Ketasu ) {				
				ReturnCode = "3";			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    使用不可文字チェック							
 *							
 *   @param     :    対象文字列  :  使用不可文字列。      (省略不可)							
 *                   桁数        :  対象文字列の最大桁数。(未入力のときは、桁数チェックをしない)							
 *							
 *   @return    :    "0"  :  							
 *                   "1"  :  対象文字列が入力されていない。 							
 *                   "2"  :  使用不可文字が含まれる。 							
 *                   "3"  :  対象文字列の桁数が、桁数(引数)より大きい。 							
 *							
						
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function notAvailableCharacterChk(TaishoMojiretsu,Ketasu) {							
	/* 変数の定義 */						
	var ReturnCode = "0";                            /* リターンコード */						
	var mojitmp = "";                                /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( Ketasu ) ) {						
		Ketasu = "";					
	}						
							
	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			/* 使用不可文字のテーブルを読み出し対象文字と比較する。 */				
			/* 半角カナ文字のテーブルを読み出し対象文字と比較する。 */				
			if ( ( HankakuKanaTable.indexOf(mojitmp) != "-1" )				
			  || ( SiyofukaMojiTable.indexOf(mojitmp) != "-1" ) ) {				
				ReturnCode = "2";			
				break;			
			}				
		}					
							
		/* ３バイト文字チェックを呼び出す。*/					
		//if ( characterCodeChk(TaishoMojiretsu) != "0" ) {					
		//	ReturnCode = "2";				
		//}					
 							
		/* 入力文字列の桁数チェック */					
		if ( ReturnCode == "0" && Ketasu != "" ) {					
			if ( TaishoMojiretsu.length > Ketasu ) {				
				ReturnCode = "3";			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    英字チェック							
 *							
 *   @param     :    対象文字列        :  英字の文字列。                               (省略不可)							
 *                   文字区分          :  小文字、大文字、両方を含むか。               ("0":両方 "1":小文字のみ "2":大文字のみ )							
 *                   記号許可区分      :  使用可能記号(使用できる禁止文字。)を含むか。 ("0":含まない "1":含む (未入力のときは"0"を設定))							
 *                   同桁チェック区分  :  対象文字列の桁数と桁数(引数)が、同桁であるチェックを							
 *                                     :  するかしないか。                             ("0":しない "1":する (未入力のときは"0"を設定))							
 *                   桁数              :  対象文字列の最大桁数。                       (未入力のときは、桁数チェックをしない)							
 *							
 *   @return    :    "0"  :  							
 *                   "1"  :  対象文字列がNULLであるとき。							
 *                   "2"  :  同桁チェックが"0"で対象文字列の桁数が、桁数(引数)より大きいとき。							
 *                           または、同桁チェックが"1"で対象文字列の桁数が、桁数(引数)と同桁ではない場合。							
 *                   "3"  :  半角英字以外が含まれる。							
 *                   "4"  :  半角英字(小文字)以外が含まれる。							
 *                   "5"  :  半角英字(大文字)以外が含まれる。							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function alphabetChk(TaishoMojiretsu,MojiKubun,KigoKubun,DoKetaChk,Ketasu) {							
	var ReturnCode = "0";                          /* リターンコード */						
	var mojitmp = "";                              /* 対象文字のワーク変数 */						
	var EijiTabletmp = "";                         /* 英字テーブルワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( Ketasu ) ) {						
		Ketasu = "";					
	}						
	if( MojiKubun != "0" && MojiKubun != "1" && MojiKubun != "2") {						
		MojiKubun = "0";					
	}						
	if( KigoKubun != "1" ) {						
		KigoKubun = "0";					
	}						
	if( DoKetaChk != "1" ) {						
		DoKetaChk = "0";					
	}						
							
	/* 英字テーブルセット */						
	if( MojiKubun == "0" ){						
		EijiTabletmp = EijiTable;					
	}else if( MojiKubun == "1" ){						
		EijiTabletmp = EijiKomojiTable;					
	}else if( MojiKubun == "2" ){						
		EijiTabletmp = EijiOomojiTable;					
	}						
							
	/*必須入力チェック*/						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1"					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
			if ( KigoKubun == "1" ) {				
				/* 英字・使用可能文字のチェック */			
				if ( ( EijiTabletmp.indexOf(mojitmp) == "-1" )			
				  && ( SiyoKanouKigouTable.indexOf(mojitmp) == "-1" ) ) {			
				  	ReturnCode = eval(3 + parseInt(MojiKubun,10)).toString(10);		
					//ReturnCode = ReturnCode.toString(10)		
					break;		
				}			
			}				
			else if ( KigoKubun == "0") {				
				/* 英字のチェック */			
				if ( EijiTabletmp.indexOf(mojitmp) == "-1" ) {			
				  	ReturnCode = eval(3 + parseInt(MojiKubun,10)).toString(10);		
					//ReturnCode = ReturnCode		
					break;		
				}			
			}				
		}					
							
		/* 入力文字列の桁数チェック */					
		if ( ReturnCode == "0" && Ketasu != "" ) {					
			if ( DoKetaChk == "0" ) {				
				if ( TaishoMojiretsu.length > Ketasu ) {			
					ReturnCode = "2";		
				}			
			}				
			else {				
				if ( TaishoMojiretsu.length != Ketasu ) {			
					ReturnCode = "2";		
				}			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    日付From-Toチェック							
 *							
 *   @param      :    From日付             :  暦日1。 							
 *                    To日付               :  暦日2。 							
 *                    イコール許可区分     :  From日付とTo日付が同じ日付であることを許可するか。							
 *                                                                                      ("0":しない "1":する(未入力のときは"0"を設定))							
 *                    拡張暦日許可区分     :  暦日で"00000000"と"99999999"を許可するか。("0":しない "1":する(未入力のときは"0"を設定))							
 *                    スラッシュ許可区分   :  スラッシュを含むことを許可するか。        ("0":しない "1":する(未入力のときは"0"を設定))							
 *							
 *   @return     :    "0"  :   							
 *                    "1"  :   From日付が暦上妥当ではない。							
 *                    "2"  :   To日付が暦上妥当ではない。							
 *                    "3"  :   From日付とTo日付が共に暦上妥当ではない。							
 *                    "4"  :   日付の大小関係が不正であるとき。							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function dateFromToChk(FromDate,ToDate,EqualKyokaKbn,RekibiKyokaKbn,SlashKubun) {							
	var ReturnCode = "0";                        /* リターンコード */						
	var FromValueTmp = "";                       /* FROM日付の待避 */						
	var ToValueTmp = "";                         /* To日付の待避 */						
	var FromCalendarDayChkReturnCode = "0";      /* 暦日チェック(From日付)後のリターンコード */						
	var ToCalendarDayChkReturnCode = "0";        /* 暦日チェック(To日付)後のリターンコード */						
							
	/* 省略チェック */						
	if ( !( FromDate ) ) {						
		FromDate = "";					
	}						
	if ( !( ToDate ) ) {						
		ToDate = "";					
	}						
	if ( SlashKubun != "1" ) {						
		SlashKubun = "0";					
	}						
	if ( RekibiKyokaKbn != "1" ) {						
		RekibiKyokaKbn = "0";					
	}						
	if ( EqualKyokaKbn != "1" ) {						
		EqualKyokaKbn = "0";					
	}						
							
	/* 必須入力チェック */						
	if ( FromDate != ""  ) {						
		/* 暦日チェックの関数をCALLする(From日付)。*/					
		FromCalendarDayChkReturnCode = calendarDayChk(FromDate,RekibiKyokaKbn,SlashKubun);					
	}						
	if ( ToDate != ""  ) {						
		/* 暦日チェックの関数をCALLする(From日付)。*/					
		ToCalendarDayChkReturnCode = calendarDayChk(ToDate,RekibiKyokaKbn,SlashKubun);					
	}						
							
	/*From日付が妥当ではない場合または、From,To日付、共に妥当ではない場合。*/						
	if ( FromCalendarDayChkReturnCode != "0" && ToCalendarDayChkReturnCode != "0" ) {						
		ReturnCode = "3";					
	}						
	else if ( FromCalendarDayChkReturnCode != "0" ) {						
		ReturnCode = "1";					
	}						
	else if ( ToCalendarDayChkReturnCode != "0" ) {						
		ReturnCode = "2";					
	}						
							
	/* From日付とTo日付が妥当な場合。*/						
	if ( ( FromCalendarDayChkReturnCode == "0" && FromDate != "" )						
	  && ( ToCalendarDayChkReturnCode == "0" && ToDate != "" ) ) {						
		if ( SlashKubun = "1" ) {					
			/* Slash削除編集の関数をCALLしFromDateを編集する。*/				
			FromValueTmp = slashDel(FromDate);				
			/* Slash削除編集の関数をCALLしToDateを編集する。*/				
			ToValueTmp = slashDel(ToDate);				
		}					
		if ( EqualKyokaKbn == "0" ) {					
			if ( !( FromValueTmp < ToValueTmp ) ){				
				ReturnCode = "4";			
			}				
		}					
		else {					
			if ( ( !( FromValueTmp < ToValueTmp ) )				
			  && ( !( FromValueTmp == ToValueTmp ) ) ) {				
				ReturnCode = "4";			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    電話番号チェック							
 *							
 *   @param      :    対象文字列  :  電話番号。(省略不可)							
 *                    桁数        :  対象文字列の最大桁数。(未入力のときは、桁数チェックをしない)							
 *							
 *   @return     :    "0"  :  電話番号として妥当であるとき。							
 *                    "1"  :  対象文字列がNULLであるとき。							
 *                    "2"  :  誤った電話番号である。 							
 *                    "3"  :  電話番号の桁数が、桁数(引数)より大きい。							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function telNoChk(TaishoMojiretsu,Ketasu) {							
	/* 変数の定義 */						
	var ReturnCode = "0";                            /* リターンコード */						
	var mojitmp = "";                                /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( Ketasu ) ){						
		Ketasu = "";					
	}						
							
	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			/* 数字または"-"以外の文字が含まれている場合 */				
			if ( mojitmp != "-".charAt(0) ) {				
				if ( SujiTable.indexOf(mojitmp) == "-1" ) {			
					ReturnCode = "2";		
				}			
			}				
		}					
							
		if ( ReturnCode == "0" ) {					
			/*先頭の文字がハイフンである場合*/				
			if ( TaishoMojiretsu.charAt(0) == "-".charAt(0) ) {				
				ReturnCode = "2";			
			}				
			else if ( TaishoMojiretsu.charAt(TaishoMojiretsu.length - 1) == "-".charAt(0) ) {				
				/*最後の文字がハイフンである場合*/			
				ReturnCode = "2";			
			}				
		}					
							
		/* 入力文字列の桁数チェック */					
		if ( ReturnCode == "0" && Ketasu != "" ) {					
			if ( TaishoMojiretsu.length > Ketasu ) {				
				ReturnCode = "3";			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    必須入力チェック							
 *							
 *   @param      :    FORMNAME    :    フォームのNAME属性。  (省略不可)							
 *                    ELEMENTNAME :    エレメントのNAME属性。(省略不可)							
 *							
 *   @return     :    "0"  :  							
 *                    "1"  :  引数で指定されたエレメントが、選択されていないとき							
 *                            またはNULLであるとき。							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function elementsChk(FormName,ElementName) {							
	/* 変数の定義 */						
	var ReturnCode = "0";     /* リターンコード */						
	var mojitmp = "";         /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( FormName ) ) {						
		FormName = "";					
	}						
	if ( !( ElementName ) ) {						
		ElementName = "";					
	}						
							
	/*必須入力チェック*/						
	if ( FormName != "" || ElementName !="") {
		var ElementJouhou = document.forms[FormName].elements[ElementName];					
		var elements;					
		if ( !( elements = document.forms[FormName].elements[ElementName].type ) ) {					
			elements = document.forms[FormName].elements[ElementName][0].type;				
		}					
							
		if ( elements == "text" || elements == "password" || elements =="hidden" || elements =="file") {					
			if ( ElementJouhou.value == "".charAt(0) ) {				
				ReturnCode = "1";			
			}				
		}					
		else if ( elements == "select-one" || elements == "select-multiple" ) {					
			if ( ElementJouhou.value == "".charAt(0) ) {				
				ReturnCode = "1";			
			}				
			else {				
				for ( loopcnt = 0; loopcnt < ElementJouhou.value.length; loopcnt++ ) {			
					mojitmp = ElementJouhou.value.charAt(loopcnt);		
					ReturnCode = "1";		
							
					if ( mojitmp != "*".charAt(0) ) {		
						ReturnCode = "0";	
					}		
				}			
			}				
		}					
		else if ( elements == "radio" ) {					
			ReturnCode = "1";				
							
			/* ラジオボタンのチェック */				
			if( !ElementJouhou.length) {				
				if( ElementJouhou.checked == true ) {			
					ReturnCode = "0";		
				}			
			}				
			else {				
				for ( loopcnt = 0; loopcnt < ElementJouhou.length; loopcnt++ ) {			
					if ( ElementJouhou[loopcnt].checked == true ) {		
						ReturnCode = "0";	
						break;	
					}		
				}			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    カンマ削除編集							
 *							
 *   @param      :    対象文字列  :  文字列。							
 *							
 *   @return     :    カンマ削除後の文字列							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function conmmaDel(TaishoMojiretsu) {							
	/* 変数の定義 */						
	var ReturnValue = "";                            /* 編集後のリターン値 */						
	var mojitmp = "";                                /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			/* カンマではない文字を編集する。 */				
			if ( mojitmp != ",".charAt(0) ) {				
				ReturnValue += mojitmp;			
			}				
		}					
	}						
	return( ReturnValue );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    数字チェック							
 *							
 *   @param     :    対象文字列        :  数字の文字列           (省略不可)							
 *                   同桁チェック区分  :  対象文字列の桁数と桁数(引数)が、同桁であるチェックを							
 *                                        するかしないか。       ("0":しない "1":する (未入力のときは"0"を設定))							
 *							
 *                   桁数              :  対象文字列の最大桁数。 (未入力のときは、桁数チェックをしない)							
 *							
 *   @return    :    "0"  :  							
 *                   "1"  :  対象文字列がNULLであるとき。							
 *                   "2"  :  半角数字以外が含まれる。 							
 *                   "3"  :  同桁チェックが"0"で対象文字列の桁数が、桁数(引数)より大きいとき。							
 *                           または、同桁チェックが"1"で対象文字列の桁数が、桁数(引数)と同桁ではない場合。							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function numChk(TaishoMojiretsu,DoKetaChk,Ketasu) {							
	/* 変数の定義 */						
	var ReturnCode = "0";                             /* リターンコード */						
	var mojitmp = "";                                 /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( Ketasu ) ) {						
		Ketasu = "";					
	}						
	if ( DoKetaChk != "1" ) {						
		DoKetaChk = "0";					
	}						
							
	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				

			if ( SujiTable.indexOf(mojitmp) == "-1" ) {				
				ReturnCode = "2";			
				break;			
			}				
		}					
							
		/* 入力文字列の桁数チェック */					
		if ( ReturnCode == "0" && Ketasu != "" ) {					
			if ( DoKetaChk == "0" ) {				
				if ( TaishoMojiretsu.length > Ketasu ) {			
					ReturnCode = "3";		
				}			
			}				
			else {				
				if ( TaishoMojiretsu.length != Ketasu ) {			
					ReturnCode = "3";		
				}			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    スペース削除編集							
 *							
 *   @param      :    対象文字列  :  文字列。							
 *                    削除種類    :  半角スペース,全角スペースを削除するか。 ("0":半全角 "1":半角 "2":全角 (未入力のときは"0"を設定))							
 *							
 *   @return     :    スペース削除後の文字列							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function spaceDel(TaishoMojiretsu,SakujoShurui) {							
	/* 変数の定義 */						
	var ReturnValue = "";                               /* 編集後のリターン値 */						
	var mojitmp = "";                                   /* 対象文字のワーク変数 */						
	var loopcnt;						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( ( SakujoShurui != "1" ) 						
	  && ( SakujoShurui != "2" ) ) {						
		SakujoShurui = "0"					
	}						
							
	if ( TaishoMojiretsu == "" ) {						
	}						
	else {						
		for( loopcnt = TaishoMojiretsu.length-1; loopcnt >= 0; loopcnt-- ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			if ( SakujoShurui == "0") {				
				if ( ( mojitmp != " ".charAt(0) ) 			
				  && ( mojitmp != "　".charAt(0) ) ) {			
					break;		
				}			
			}				
			else if ( SakujoShurui == "1" ) {				
				if ( mojitmp != " ".charAt(0) ) {			
					break;		
				}			
			}				
			else {				
				if ( mojitmp != "　".charAt(0) ) {			
					break;		
				}			
			}				
		}					
		/* 文字列後のスペースを除いた文字列の編集 */					
		ReturnValue = TaishoMojiretsu.substring(0,loopcnt + 1);					
	}						
	return( ReturnValue );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    スラッシュ削除編集 							
 *							
 *   @param      :    対象文字列  : 文字列。							
 *							
 *   @return     :    スラッシュ削除後の文字列							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function slashDel(TaishouMojiretsu) {							
	/*変数宣言*/						
	var ReturnValue = "";                             /*スラッシュ削除編集後のリターン値*/						
	var moji = "";						
							
	/*対象文字列が省略されているとき*/						
	if ( !TaishouMojiretsu ) {						
		TaishouMojiretsu = "";					
	}						

	/*対象文字列の値を一文字ずつチェックする*/						
	for ( i=0 ; i<TaishouMojiretsu.length ; i++ ) {						
		/*対象文字の退避*/					
		moji = TaishouMojiretsu.charAt(i);					
							
		/*対象文字が"/"ではないとき*/					
		if (moji != "/" ) {					
			ReturnValue += moji;				
		}					
	}						
	return( ReturnValue );						
}							
							
/*-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    郵便番号チェック							
 *							
 *   @param      :    対象文字列  :  郵便番号。(省略不可)							
 *							
 *   @return     :    "0" :  正しい郵便番号である。（3桁、6桁、8桁）							
 *                    "1" :  対象文字列がNULLであるとき。							
 *                    "2" :  郵便番号として妥当ではないとき。 							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function postNoChk(TaishouMojiretsu) {							
	/*変数宣言*/						
	var ReturnCode = "0";						
	var moji = "";						
							
	/*対象文字列が省略されているとき*/						
	if ( !TaishouMojiretsu) {						
		TaishouMojiretsu = "";					
	}						
	/*対象文字列がNULLであるとき*/						
	if (TaishouMojiretsu == "") {						
		ReturnCode = "1";					
	}else{						
		/*対象文字列が3桁の時*/					
		if (TaishouMojiretsu.length == 3){					
			for ( i=0 ; i<TaishouMojiretsu.length ; i++) {				
				moji = TaishouMojiretsu.charAt(i);			
				if ( SujiTable.indexOf(moji) == -1 ) {			
					ReturnCode = "2";		
				}			
			}				
		}else{					
			/*対象文字列が6桁8桁の時*/				
			if (TaishouMojiretsu.length == 6 || TaishouMojiretsu.length == 8){				
				/*対象文字列の値を一文字ずつチェックする*/			
				for ( i=0 ; i<TaishouMojiretsu.length ; i++) {			
					/*対象文字の退避*/		
					moji = TaishouMojiretsu.charAt(i);		
					/*対象文字列の4文字目以外のとき*/		
					if ( i != 3 ) {		
						/*対象文字が数字でないとき*/	
						if ( SujiTable.indexOf(moji) == -1 ) {	
							ReturnCode = "2";
						}	
					}else {		
					/*対象文字が"-"でないとき*/		
						if ( moji != "-" ) {	
							ReturnCode = "2";
						}	
					}		
				}			
			/*対象文字列が3桁6桁8桁以外の時*/				
			}else{				
				ReturnCode = "2";			
			}				
		}					
		/*対象文字列の桁数が8桁でないとき*/					
//		if (TaishouMojiretsu.length != 8 ) {					
//			ReturnCode = "2";				
//		}					
	}						
	return( ReturnCode );						
}							
							
/*							
***************************************************************************************							
*							
*    @summary   :    ハイフン削除編集							
*    @param     :    対象文字列							
*    @return    :    編集後文字列							
*							
*   修正履歴              ：  							
*							
***************************************************************************************							
*/							
function  haifunDel(Moji) {							
	RtnMoji = "";						
	for(i = 0; i < Moji.length; i++) {						
		if((c = Moji.charAt(i)) != "-") RtnMoji += c;					
	}						
	return RtnMoji;						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    半角カナチェック							
 *							
 *   @param     :    対象文字列          :  半角カナ文字列。         (省略不可)							
 *                   英数字記号許可区分  :  英数字記号を許可するか。 ("0":しない "1":する (未入力のときは"0"を設定))							
 *                   桁数                :  対象文字列の最大桁数。   (未入力のときは、桁数チェックをしない)							
 *							
 *   @return    :    "0"  :  							
 *                   "1"  :  対象文字列がNULLであるとき。							
 *                   "2"  :  半角カナ以外が含まれる、または英数字記号許可区分が"1"で半角カナまたは英数字文字が含まれる。							
 *                   "3"  :  対象文字列の桁数が、桁数(引数)より大きい。							
 *                   "4"  :  使用不可文字であるとき。							
 *							
 *   修正履歴              ：							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function halfSizeKanaChk(TaishoMojiretsu,EiSuKigouKyokaKbn,Ketasu) {							
	/* 変数の定義 */						
	var ReturnCode = "0";                           /* リターンコード */						
	var mojitmp = "";                               /* 対象文字のワーク変数 */						
							
	/* 省略チェック */						
	if ( !( TaishoMojiretsu ) ) {						
		TaishoMojiretsu = "";					
	}						
	if ( !( Ketasu ) ) {						
		Ketasu = "";					
	}						
	if( EiSuKigouKyokaKbn != "1" ) {						
		EiSuKigouKyokaKbn = "0";					
	}						
							
	/* 必須入力チェック */						
	if ( TaishoMojiretsu == "" ) {						
		ReturnCode = "1";					
	}						
	else {						
		for ( loopcnt = 0; loopcnt < TaishoMojiretsu.length; loopcnt++ ) {					
			/* 対象文字の待避 */				
			mojitmp = TaishoMojiretsu.charAt(loopcnt);				
							
			/* 使用不可文字テーブルを読み出し対象文字と比較する */				
			if ( SiyofukaMojiTable.indexOf(mojitmp) != "-1" ) {				
				alert("入力禁止文字 = 「 " + mojitmp + " 」");			
				ReturnCode = "4";			
				break;			
			}				
							
			if ( EiSuKigouKyokaKbn == "0" ) {				
				/* 半角カナ文字のテーブルを読み出し対象文字と比較する。 */			
				if ( HankakuKanaTable.indexOf(mojitmp) == "-1" ) {			
					ReturnCode = "2";		
					break;		
				}			
			}				
			else if ( EiSuKigouKyokaKbn == "1" ) {				
				/* 半角文字のテーブルを読み出し対象文字と比較する。 */			
				if((SiyoKanouKigouTable.indexOf(mojitmp) == "-1")			
				&& (EijiTable.indexOf(mojitmp) == "-1")			
				&& (SujiTable.indexOf(mojitmp) == "-1")			
				&& (HankakuKanaTable.indexOf(mojitmp) == "-1") ){			
					ReturnCode = "2";		
					break;		
				}			
			}				
		}					
		/* 入力文字列の桁数チェック */					
		if ( ReturnCode == "0" && Ketasu != "" ) {					
			if ( TaishoMojiretsu.length > Ketasu ) {				
				ReturnCode = "3";			
			}				
		}					
	}						
	return( ReturnCode );						
}							
							
/*							
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary    :    フォーカスをセットする							
 *							
 *   @param      :    focusTarget :    フォーカスをセットするエレメント名							
 *							
 *   @return     :    無し							
 *							
 *   修正履歴              ：  							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
 */							
function setFocusIchi(focusTarget, FNAME) {							
	var formName		= "";				// フォーム名
	var formName_def	= "ERKS";			// フォーム名初期値		
							
	/* 省略チェック */						
	if ( !( FNAME ) ) {						
		formName = formName_def;					
	}else{						
		formName = FNAME;					
	}						
							
	self.focus();						
	if( focusTarget != "" && document.forms[formName].elements[focusTarget] ) {						
		if( document.forms[formName].elements[focusTarget].length ) {					
			if( document.forms[formName].elements[focusTarget][0].type == "radio" ) {				
				document.forms[formName].elements[focusTarget][0].focus();			
			}				
			else if( document.forms[formName].elements[focusTarget].type == "select-one" ) {				
				document.forms[formName].elements[focusTarget].focus();			
			}				
		}					
		else{					
			if( document.forms[formName].elements[focusTarget].type == "text" ) {				
				if( !document.forms[formName].elements[focusTarget].readOnly ) { 			
					document.forms[formName].elements[focusTarget].focus();		
				}			
			}				
			else if ( document.forms[formName].elements[focusTarget].type == "password" ) {				
				document.forms[formName].elements[focusTarget].focus();			
			}				
			else if ( document.forms[formName].elements[focusTarget].type == "file" ) {				
				document.forms[formName].elements[focusTarget].focus();			
			}				
			else if ( document.forms[formName].elements[focusTarget].type == "textarea" ) {				
				document.forms[formName].elements[focusTarget].focus();			
			}				
			else if( document.forms[formName].elements[focusTarget].type == "radio" ) {				
				document.forms[formName].elements[focusTarget].focus();			
			}				
		}					
	}						
	else {						
		for( var objCnt = 0 ; objCnt < document.forms[formName].elements.length ; objCnt++ ) {					
			if( document.forms[formName].elements[objCnt].length ) {				
				if( document.forms[formName].elements[objCnt][0].type == "radio" ) {			
					document.forms[formName].elements[objCnt][0].focus();		
					break;		
				}			
				else if( document.forms[formName].elements[objCnt].type == "select-one" ) {			
					document.forms[formName].elements[objCnt].focus();		
					break;		
				}			
			}				
			else{				
				if( document.forms[formName].elements[objCnt].type == "text" ) {			
					if( !document.forms[formName].elements[objCnt].readOnly ) {		
						document.forms[formName].elements[objCnt].focus();	
						break;	
					}		
				}			
				else if ( document.forms[formName].elements[objCnt].type == "password" ) {			
					document.forms[formName].elements[objCnt].focus();		
					break;		
				}			
				else if ( document.forms[formName].elements[objCnt].type == "file" ) {			
					document.forms[formName].elements[objCnt].focus();		
					break;		
				}			
				else if ( document.forms[formName].elements[objCnt].type == "textarea" ) {			
					document.forms[formName].elements[objCnt].focus();		
					break;		
				}			
				else if( document.forms[formName].elements[objCnt].type == "radio" ) {			
					document.forms[formName].elements[objCnt].focus();		
					break;		
				}			
			}				
		}					
	}						
}							
/*
 *-----------------------------------------------------------------------------------------------------------------------							
 *   @summary   :    メールアドレスチェック							
 *							
 *   @param     :    対象文字列          :  半角英数字列と@.のみ許容。(省略不可)
 *											通常のメールアドレスの形式のみ。
 *							
 *   @return    :    "0"  :  							
 *                   "1"  :  なんらかのメール形式の不正。
 *							
 *   修正履歴              ：							
 *							
 *-----------------------------------------------------------------------------------------------------------------------							
*/							
function mailAddressChk(TaishouMojiretsu){	
	var ReturnCode = "0";
	var moji = "";
	var AtmarkFlag = "0";
	var DotFlag = "0";
	/*対象文字列の値を一文字ずつチェックする*/	
	for ( i=0 ; i<TaishouMojiretsu.length ; i++) {			
		/*対象文字の退避*/	
		moji = TaishouMojiretsu.charAt(i);
		
		/*1文字目が"@"もしくは"."のとき*/
		if ( i == 0 ){
			if( moji == "@" || moji == "." ){
				ReturnCode = "1";		
				break;
			}
		}
		/*最後の文字が"@"もしくは"."のとき*/
		if( i == TaishouMojiretsu.length - 1 ){
			if( moji == "@" || moji == "." ){
				ReturnCode = "1";		
				break;
			}
		}
		/*"@"が2文字以上存在するとき*/
		if( moji == "@"){
			if( AtmarkFlag == "1"){
				ReturnCode = "1";		
				break;
			}else{
				AtmarkFlag = "1"
			}
		}
		/*"@"の後ろに"."がないとき */
		if( moji == "." && AtmarkFlag == "1" ){
			DotFlag = "1";
		}
		if( i == TaishouMojiretsu.length - 1 && DotFlag == "0"){
			ReturnCode = "1";		
			break;		
		}
		
		/* ドメインの最後の"."の後ろに2文字以上ないとき*/
		if( i == TaishouMojiretsu.length - 2 && moji == "."){
			ReturnCode = "1";		
			break;		
		}
		
		/*不正な文字が*/
		if ( MailAddressTable.indexOf(moji) == "-1" ) {			
			ReturnCode = "1";		
			break;		
		}
		/*"@"がないとき*/
		if( i == TaishouMojiretsu.length - 1 && AtmarkFlag == "0"){
			ReturnCode = "1";		
			break;		
		}
		/*"."がないとき*/
		if( i == TaishouMojiretsu.length - 1 && DotFlag == "0"){
			ReturnCode = "1";		
			break;		
		}
	}			
return(ReturnCode);
}							
							
							





/**
 * [関数名] mail_chk
 * [機　能] メール形式チェック
 * [説　明] メールアドレスの形式が正しいかチェックする
 * [引　数] 
 * @param pa1 : メールアドレス
 * [返り値]
 * @return  0のとき正常　1のときエラー
*/
function  mail_chk(pa){
	if(!pa.value.match(/^[^@]+@[^.]+\..+/)){
		alert("メールアドレスの形式に誤りがあります。");
		pa.focus();
		return 1;
	}
	return 0;
}

/**
 * [関数名] same_chk
 * [機　能] 再入力チェック
 * [説　明] 入力と再入力項目が同意かチェックする
 * [引　数] 
 * @param pa1 : 入力項目
 *        pa2 : 再入力項目
 *        pa3 : 入力項目名称
 *        pa4 : 再入力項目名称
 * [返り値]
 * @return  0のとき正常　1のときエラー
*/
function  same_chk(pa1,pa2,pa3,pa4){
	//alert(pa1);
	if(pa1.value != pa2.value){
		alert(pa3 + "が一致していません。");
		pa1.focus();
		return 1;
	}
	return 0;
}
							
							

