
function Hissu_chk(argFormName, argFormIndex, argTargetName, argTargetIndex, hyouji_name){
	var chk_flg = true;
	var chkTarget = makeEvalStr(argFormName, argFormIndex, argTargetName, argTargetIndex);
	var str = eval(chkTarget + ".value");
	str=str.replace(/^\s+|\s+$/g, "");
	str=str.replace(/^　+|　+$/g, "");

	//----必須項目
	if (!Null_chk(str)){
		window.alert ("Please input" + hyouji_name);
		chk_flg = false;
	}
	if (chk_flg == false){
		str = chkTarget + ".focus()";
		str = eval(str);
	}
	return chk_flg;
}
function Num_chk(stri,opt1,minusflg, piriodflg){
	var chk_flg = true;
	var wkstr = stri;

	// マイナスを許可する場合
	if (minusflg == true){
		wkstr = wkstr.replace('-','0');
	}
	// ピリオドを許可する場合
	if (piriodflg == true){
		wkstr = wkstr.replace('.','0');
	}
	if ((opt1 == "allownull") && (wkstr=="")){
		chk_flg = true;
	}
	else{
		j=parseInt(wkstr,10);
		strj=""+j+"";
		if(j < 0){
			chk_flg = false;
		}
		else if (wkstr != strj){
			wkstr=""+wkstr+"";
			if (wkstr.charAt(0) == '0' || wkstr.length >= 10){
				for(var i=0;i < wkstr.length && chk_flg==true ; i++){
					swkstr = wkstr.charAt(i);
					j = parseInt(swkstr,10);
					sstrj = ""+j+"";
					if (swkstr != sstrj){
						chk_flg = false;
					}
					else {
						chk_flg = true;
					}
				}
			}
			else {
				chk_flg = false;
			}
		}
	}
	return chk_flg
}
//------------------------------------------------------------------
// Null_chk（メッセージなし）
// ＮＵＬＬチェック
//------------------------------------------------------------------
function Null_chk(str){
	var ok = "0";
	var ng = "0";
	var chk_flg = true;
	var wk_str = str;
	if( wk_str.length == 0 ){
	    chk_flg = false;
	}
	else{
		for(var i=0; i<wk_str.length; i++){
			if ((wk_str.charAt(i)==" ")||(wk_str.charAt(i)=="　")){
				ok = "1";
			}
			else{
				ng = "1";
			}
		}
		if (ok=="1" && ng=="0"){
			chk_flg = false;
		}
	}
	return chk_flg;
}
function chkElementArray(argFormName, argTargetName, argTargetIndex){
	var ArrayFlg;

	// 引数にnullがきたときは配列ではないので無条件にfalse。
	if (argTargetIndex == null){
		ArrayFlg = false;

	// 引数に1以上がきたときは配列なので無条件にtrue。
	}else if (argTargetIndex >= 1) {
		ArrayFlg = true;

	// ゼロのときは配列か配列じゃないかわからないので判定処理。
	}else{
		var str = "document." + argFormName + "." + argTargetName + ".length";
		if (isNaN(eval(str)) == false){
			ArrayFlg = true;
		}
		else{
			ArrayFlg = false;
		}
	}
	return ArrayFlg;
}
function chkFormArray(argFormName, argTargetIndex){
	var ArrayIdx = null;
	var FormCount = 0;
	var svIdx = null;

	// 引数にnullがきたときは配列ではないので何もしない
	if (argTargetIndex == null){
	}else{
		var formcnt = document.forms.length;

		// NNの場合、eval(フォーム名[idx])だと実行時エラーが起きるため、
		// formsで置き換えて処理する。ただし、別名のフォームがドキュメントに
		// あるかもしれないので、forms配列の中から指定されたものを探してインデックスを置き換える。
		for (var i = 0; i < formcnt; i++) {

			// 同じ名称のフォームが複数あったら配列。
			if ((document.forms[i].name == argFormName )){ 

				// ターゲットのインデックスに該当するformsインデックスを取得。
				if (FormCount == argTargetIndex){
					svIdx = i;
				}

				FormCount += 1;

				// 配列であることが証明され、なおかつ、formsインデックスも取得できたらＥＸＩＴ
				if ((FormCount > 1) && (svIdx != null)){
					ArrayIdx = svIdx;
					break;
				}
			}
		}
	}
	return ArrayIdx;
}
function makeEvalStr(argFormName, argFormIndex, argTargetName, argTargetIndex){
	var str;
	var wk_formname;
	var formsidx;
	// フォームが配列なのかどうかをチェック
	formsidx = chkFormArray(argFormName, argFormIndex);
	if (formsidx != null){
		wk_formname = "forms[" + formsidx + "]";
	}
	else{
		wk_formname = argFormName;
	}
	// テキストが配列なのかどうかをチェック
	if (chkElementArray(wk_formname, argTargetName, argTargetIndex) == true){
		str = "document." + wk_formname + "." + argTargetName + "[" + argTargetIndex + "]";
	}
	else{
		str = "document." + wk_formname + "." + argTargetName;
	}
	return(str);
}

function dspinvalidmsg(){
var msg;
	msg = "<table bgcolor=red><tr><td bgcolor=red>";
	msg = msg + "<font color=white><b> No Match Found</b></font>";
	msg = msg + "</td></tr></table>";

	document.write(msg);
}

