<!--
//------------------------------------------------------------
//サンプル
//------------------------------------------------------------
//function fsub　入力チェック関数
//機　能：要素の形式を判断し値を取得する
//引　数：form Object
//戻り値：×の時＝false、○の時＝submit()
//作成者：T.Inokuchi 2002/10/29
//更新者：
//------------------------------------------------------------
//function fSubmit(theform){
//	chk_flg = "0";
//	obj_body = theform.boby;
//	if (chk_flg == "0"){chk_flg = fnullchk(obj_body,'内容');}	//Nullチェック
//	if (chk_flg == "0"){chk_flg = fvallenchk(obj_body,'内容',1000);}	//文字長チェック
//	if (chk_flg == "0"){chk_flg = fnumchk(obj_body,'内容',"");}	//半角数字チェック
//	if (chk_flg == "0"){chk_flg = fnumchk(o_soft_ver,'版数',"+.-*/");}	//半角数字(+記号)チェック
//	if (chk_flg == "0"){chk_flg = fnumvalchk(obj_body,"内容",3,1);}	//小数点チェック
//	if (chk_flg == "0"){chk_flg = fmailchk(obj_body,'内容');}	//メールアドレスチェック
//	if (chk_flg == "0"){chk_flg = fhanchk(obj_body,'内容',"F","");}	//半角英数字チェック
//	if (chk_flg == "0"){chk_flg = fhanchk(obj_body,'内容',"T","");}	//半角英数字記号チェック
//	if (chk_flg == "0"){chk_flg = fhanchk(obj_body,'内容',"KT","");}	//半角カナ記号英数字チェック
//	if (chk_flg == "0"){chk_flg = fzenchk(obj_body,'内容');}	//全角チェック
//	if (chk_flg == "0"){chk_flg = fdatechk(obj_y,obj_m,obj_d,'年月日');}	//日付チェック
//	
//	if (chk_flg == "1"){
//		return false;
//	}else{
//		theform.submit();
//	}
//}

//------------------------------------------------------------
//function fgetdata　値取得関数
//機　能：要素の形式を判断し値を取得する
//引　数：obj=要素
//戻り値：取得した値
//作成者：Y.Noro or H.Takahashi
//更新者：T.Inokuchi 2001/12/18		関数化
//------------------------------------------------------------
function fgetdata(Obj){
	wkValue = "";
	wkType = Obj.type;
	if (wkType == "text") {
		wkValue = Obj.value;
	} else if (wkType == "hidden") {
		wkValue = Obj.value;
	} else if (wkType == "select-one") {
		SelIx = Obj.selectedIndex;
		wkValue = Obj.options[SelIx].value;
	} else if (wkType == "textarea") {
		wkValue = Obj.value;
	} else if (wkType == "password") {
		wkValue = Obj.value;
	} else {
		wkValue = Obj.value;
	}
	return wkValue;
}
//------------------------------------------------------------
//function fGetRadio　ラジオボタン用値取得関数
//機　能：ラジオボタンの値を取得する
//引　数：Obj=要素
//戻り値：取得した値
//備　考：未選択時はまだ対応してないのでタグにはchecked付加などの工夫が必要
//作成者：T.Inokuchi 2002/11/12		関数化
//更新者：
//------------------------------------------------------------
function fGetRadio(Obj){
	var wkValue = "";
	var wkIdx = 0;
	if (Obj.value){
		wkValue = Obj.value;
	}else{
		for (wki = 0; wki <= Obj.length; wki++){
			if (Obj[wki].checked == 1){
				wkIdx = wki;
				break;
			}
		}
		wkValue = Obj[wkIdx].value;
	}
	return wkValue;
}
//------------------------------------------------------------
//function fnullchk　空白チェック用関数
//機　能：要素に入力されているか
//引　数：obj=要素、obj_nm=オブジェクトの表示名
//戻り値："1"=エラーが発生した場合、"0"=問題がない場合
//作成者：Y.Noro or H.Takahashi
//更新者：T.Inokuchi 2001/08/11		関数化
//------------------------------------------------------------
function fnullchk(obj,obj_nm){
	if (fgetdata(obj) == "" || fgetdata(obj) == " " || fgetdata(obj) == "　"){
		alert(obj_nm+'を入力して下さい。');
		obj.focus();
		return "1";
	}else{
		return "0";
	}
}
//------------------------------------------------------------
//function fvallenchk　入力文字長チェック用関数
//機　能：要素に入力されているか
//引　数：obj=要素、obj_nm=オブジェクトの表示名
//　　　：max_len=許される最大文字数(半角換算)
//戻り値："1"=エラーが発生した場合、"0"=問題がない場合
//備　考：<input type=text>で呼び出すべし
//作成者：T.Inokuchi 2001/04/04
//更新者：T.Inokuchi 2002/06/10	半角カナ時の1バイト処理＆全角文字数の端数切り捨て
//　　　：T.Inokuchi 2002/11/12	半角カナ時の小さい文字を追加
//------------------------------------------------------------
function fvallenchk(obj,obj_nm,max_len){
	var i,cnt = 0;
	var max_zen;
	strValue = fgetdata(obj);
	for(i=0; i<strValue.length; i++){
		//alert(strValue.charAt(i)+" / "+cnt);
		if("ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｰｯｬｭｮｧｨｩｪｫﾞﾟｰ｡､".indexOf(strValue.charAt(i)) >= 0){
			cnt++;
		}else if(escape(strValue.charAt(i)).length >= 4 ){
			cnt+=2;
		}else{
			cnt++;
		}
	}
	if (cnt > max_len) {
		max_zen = Math.floor(max_len/2);
		alert(obj_nm + " は文字数を超えています。\n" + "半角 " + max_len + " 文字または全角 " + max_zen + " 文字以内に収めて下さい。");
		obj.focus();
		return "1";
	} else {
		return "0";
	}
}
//------------------------------------------------------------
//function fnumchk　半角数字チェック用関数
//機　能：入力値が半角の数字であるかをチェック(半角数字以外(.-)は不可)
//引　数：obj=要素、obj_nm=オブジェクトの表示名(エラー時に使用)、AddStr=追加チェック解除文字列(Ex→".,")
//戻り値："1"=エラーが発生した場合、"0"=問題がない場合
//備　考：<input type=text>で呼び出すべし
//作成者：T.Inokuchi 2001/04/11
//更新者：T.Inokuchi 2002/04/01
//------------------------------------------------------------
function fnumchk(obj,obj_nm,AddStr){
	num_flg = "0";
	chkstr = ("0123456789");
	chkstr = chkstr + AddStr;
	str = obj.value;
	for (var i=0; i< str.length; i++){
		if ( chkstr.indexOf(str.charAt(i))== -1){
			num_flg = "1";
			break;
		}else{
			num_flg = "0";
		}
	}
	if (num_flg == "1"){
		alert(obj_nm+'は半角数字で入力して下さい。');
		obj.focus();
	}
	return num_flg;
}
//------------------------------------------------------------
//function fnumvalchk　数値整合性チェック用関数
//機　能：入力値が適正な数値であるかをチェック
//引　数：obj=要素、obj_nm=オブジェクトの表示名
//　　　：valInt=整数部分の桁数(数値)→チェックしない場合は-1を入れる
//　　　：caldown=小数点以下の桁数→チェックしない場合は-1を入れる
//戻り値："1"=エラーが発生した場合、"0"=問題がない場合
//備　考：<input type=text>で呼び出すべし
//作成者：T.Inokuchi 2001/09/27
//更新者：T.Inokuchi 2001/10/09
//------------------------------------------------------------
function fnumvalchk(obj,obj_nm,valInt,caldown){
	numval_flg = "0";
	//半角数字+ドット(.)のチェック
	chkstr = ("0123456789-");
	if (caldown != -1){chkstr = chkstr + "."}
	str = obj.value;
	for (var i=0; i< str.length; i++){
		if ( chkstr.indexOf(str.charAt(i))== -1){
			numval_flg = "1";
			break;
		}else{
			numval_flg = "0";
		}
	}
	//マイナス記号の場所チェック
	if (numval_flg == "0"){
		if (str.indexOf("-",1) >= 1){numval_flg = "1";}
	}
	//dot個数チェック
	if (numval_flg == "0"){
		firstDotPos = str.indexOf(".");
		secoundDotPos = str.indexOf(".",firstDotPos+1);
		if (secoundDotPos != -1){numval_flg = "1";}
	}
	//dot場所チェック
	if (numval_flg == "0"){if(str.charAt(0) == "." || str.charAt(str.length-1) == "."){numval_flg = "1";}}
	//数値正当性チェック
	if (numval_flg == "0"){if(str.charAt(0) == "0" && (str.charAt(1) == "0" || str.charAt(1) == "1" || str.charAt(1) == "2" || str.charAt(1) == "3" || str.charAt(1) == "4" || str.charAt(1) == "5" || str.charAt(1) == "6" || str.charAt(1) == "7" || str.charAt(1) == "8" || str.charAt(1) == "9")){numval_flg = "1";}}
	//(整数)桁数チェック
	if (numval_flg == "0" && valInt > -1){
		if (Number(str) > 0){n = Math.floor(str);}else{n = Math.ceil(str);}
		if (valInt < (""+n).length){numval_flg = "1";}
	}
	//(小数)桁数チェック
	if (numval_flg == "0" && caldown > -1){
		if (str.indexOf(".") > -1){n = str.split(".")[1];}else{n = "";}
		if (caldown < (""+n).length){numval_flg = "1";}
	}
	if (numval_flg == "1"){
		alert(obj_nm+'を正しく入力して下さい。');
		obj.focus();
	}
	return numval_flg;
}
//------------------------------------------------------------
//function fmailchk　EMailチェック用関数
//機　能：入力されたE-Mailアドレスが正しいかをチェック
//　　　：(半角英数字&｢ドット(.)｣&｢アットマーク(@)｣の位置をチェック)
//引　数：obj=要素、obj_nm=オブジェクトの表示名
//戻り値："1"=エラーが発生した場合、"0"=問題がない場合
//備　考：<input type=text>で呼び出すべし
//作成者：T.Miyachi  2000/04/??
//更新者：T.Inokuchi 2001/10/09		関数化
//------------------------------------------------------------
function fmailchk(obj,obj_nm){
	mail_chk = "0";
	str = obj.value;
	if (str != ""){
		if (mail_chk=="0") {
			if (str.substring(0,1)==' ' || str.substring(0,1)=='　' || str.substring(0,2)=='　') {
				alert(obj_nm+'の先頭のスペース(全角の空白あるいは半角の空白)を削除して下さい。');
				obj.focus();
				mail_chk = "1";
			} else {
				pos1=str.indexOf("\@");
				pos3=str.lastIndexOf("\.");
				if (pos1 < 1 || pos3 < pos1+2 || pos3 == str.length-1) {
					alert(obj_nm+'を正しく入力して下さい。');
					obj.focus();
					mail_chk = "1";
				}
			}
		}
		if (mail_chk=="0") {
			chkstrA = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ:-#'$%+_!&*/");
			chkstrB = ('abcdefghijklmnopqrstuvwxyz@,.~|"\^()=');
			chkstr = chkstrA + chkstrB;
			han_flg = "0";
			for (var i=0; i< str.length; i++){
				if ( chkstr.indexOf(str.charAt(i))== -1){
					han_flg = "1";
					break;
				}else{
					han_flg = "0";
				}
			}
			if (han_flg == "1"){
				alert(obj_nm+'は半角文字で入力して下さい。');
				obj.focus();
				mail_chk = "1";
			}
		}
	}
	return mail_chk;
}
//------------------------------------------------------------
//function fhanchk　半角文字チェック用関数
//機　能：入力値が半角文字かをチェック
//引　数：obj=要素、obj_nm=オブジェクトの表示名(エラー時に使用)
//　　　：ChkFlg=半角カナ"K",記号"T",なし"F"
//　　　：AddStr=追加するOKな文字列
//戻り値："1"=エラーが発生した場合、"0"=問題がない場合
//備　考：<input type=text>で呼び出すべし
//作成者：T.Inokuchi 2001/04/10
//更新者：T.Inokuchi 2002/05/21		半角記号を追加
//　　　：T.Inokuchi 2002/10/29		コメント等
//　　　：T.Inokuchi 2002/11/12	半角カナ時の小さい文字を追加
//------------------------------------------------------------
function fhanchk(obj,obj_nm,ChkFlg,AddStr){
	han_chk = "0";
	han_alt = "";
	han_mes = "";
	if (han_chk=="0") {
		chkstr = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
		
		//Kが含まれている
		if (ChkFlg.indexOf("K") != -1){
			chkstr = chkstr + "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｯｬｭｮｧｨｩｪｫ｡､"
			han_alt = han_alt + "カナ";
		}
		//Tが含まれている
		if (ChkFlg.indexOf("T") != -1){
			chkstr = chkstr + "-=_ｰ/*#$%&'@;:<>?\ |+~.,?^`ﾞﾟ()[]" + '"';
			han_alt = han_alt + "記号";
		}
		
		chkstr = chkstr + AddStr;
		str = obj.value;
		han_flg = "0";
		for (var i=0; i< str.length; i++){
			if ( chkstr.indexOf(str.charAt(i))== -1){
				han_flg = "1";
				break;
			}else{
				han_flg = "0";
			}
		}
		if (han_flg == "1"){
			if (han_alt == ""){
				han_mes = obj_nm + ' は 半角英数字 で入力して下さい。';
			}else{
				han_mes = obj_nm + ' は 半角英数字(' + han_alt + '含む) で入力して下さい。';
			}
			alert(han_mes);
			obj.focus();
			han_chk = "1";
		}
	}
	return han_chk;
}
//------------------------------------------------------------
//function fzenchk　全角文字チェック用関数
//機　能：入力値が全角文字かをチェック(半角文字を探し、あったらエラー)
//引　数：obj=要素、obj_nm=オブジェクトの表示名(エラー時に使用)
//戻り値："1"=エラーが発生した場合、"0"=問題がない場合
//備　考：<input type=text>で呼び出すべし
//作成者：T.Inokuchi 2001/04/10
//更新者：T.Inokuchi 2002/10/29	半角記号を追加
//------------------------------------------------------------
function fzenchk(obj,obj_nm){
	zen_chk = "0";
	if (zen_chk=="0") {
		chkstrA = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-=_ｰ/*#$%&'@;:<>?\|+~.,?^`ﾞﾟ()[]ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿ");
		chkstrB = ('abcdefghijklmnopqrstuvwxyz@,.~|" \^()=ﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝ');
		chkstr = chkstrA + chkstrB;
		str = obj.value;
		zen_flg = "0";
		for (var i=0; i< str.length; i++){
			if ( chkstr.indexOf(str.charAt(i)) != -1){
				zen_flg = "1";
				break;
			}else{
				zen_flg = "0";
			}
		}
		if (zen_flg == "1"){
			alert(obj_nm+'は全角文字で入力して下さい。');
			obj.focus();
			zen_chk = "1";
		}
	}
	return zen_chk;
}
//------------------------------------------------------------
//function fdatechk　日付チェック用関数
//機　能：入力値が半角英数字かをチェック
//引　数：obj_y=年の値、obj_m=月の値、obj_d=日の値、obj_nm=オブジェクト名
//戻り値："1"=エラーが発生した場合、"0"=問題がない場合
//備　考：
//作成者：T.Inokuchi 2001/04/10
//更新者：T.Inokuchi 2001/08/11
//------------------------------------------------------------
function fdatechk(obj_y,obj_m,obj_d,obj_nm){
	date_flg = "0";
	intY = fgetdata(obj_y);
	intM = fgetdata(obj_m);
	intD = fgetdata(obj_d);
	if (date_flg=="0" && intY < 0){
		alert('年の値が不正です。');
		obj_y.focus();
		date_flg="1";
	}
	if (date_flg=="0" && (intM > 12 || intM < 0)){
		alert('月の値が不正です。');
		obj_m.focus();
		date_flg="1";
	}
	if (date_flg=="0" && (intD > 31 || intD < 0)){
		alert('日の値が不正です。');
		obj_d.focus();
		date_flg="1";
	}
	Yper4 = intY % 4;
	Yper100 = intY % 100;
	Yper400 = intY % 400;
	// 閏年判定１(4で割りきれるか？ただし１００で割り切れてはいけない。＝割れれば閏年)
	if (date_flg=="0" && (Yper4 == 0 && Yper100 != 0 && intM == 2 && intD >= 30)){
		alert(intY+"年の 2月は 29日までです。");
		obj_d.focus();
		date_flg="1";
	}
	// 閏年判定２(400で割れるか＝割れれば閏年)
	if (date_flg=="0" && (Yper400 == 0 && intM == 2 && intD >= 30)){
		alert(intY+"年の 2月は 29日までです。");
		obj_d.focus();
		date_flg="1";
	}
	// それ以外の2月の判定(平年)
	if (date_flg=="0" && (Yper4 != 0 && Yper100 != 0 && Yper400 != 0 && intM == 2 && intD >= 29)){
		alert(intY+"年の 2月は 28日までです。");
		obj_d.focus();
		date_flg="1";
	}
	// 30日31日判定
	if (date_flg=="0" && (((intM == 4)||(intM == 6)||(intM == 9)||(intM == 11)) && intD >= 31)){
		alert(intM+"月は 30日までです。");
		obj_d.focus();
		date_flg="1";
	}
	return date_flg;
}
//-->
