    //**************************************
//	カスタムコントロール入力チェック
//「形式」
// Check(obj,InputStyle,maxlength)
//「機能」
//  1)入力チェックを実行、エラーがあれば警告を表示
//「引数」
//	　引数1	obj        ：チェックするオブジェクト
//	　引数2	InputStyle ：チェック形式
//	　引数3	maxlength  ：最大桁数
//「戻り値」
//	  (boolen)	：チェックの合否
//**************************************
function Check(obj,InputStyle,maxlength){
	//結果
	var result;
	//入力チェック
	result = InputCheck(obj,InputStyle,maxlength);
	
	if (result != true){
		//入力チェックエラー
		alert(result);
		obj.focus();
		return false;
	}
}
/*
//**************************************
//	AjaxによるDB検索
//「形式」
// CheckAndSearch(userID,returnPlace,obj,db,InputStyle,errorURL,maxlength)
//「機能」
//  1)入力チェックを実行、エラーがなければDB検索
//「引数」
//	　引数1	userID     ：ログインユーザID
//  　引数2 returnPlace：結果表示フォーム内の結果表示場所
//	　引数3	obj        ：検索キーを入力したオブジェクト
//  　引数4 db         ：検索先DB
//	　引数5	InputStyle ：入力チェック形式
//  　引数6 errorURL   ：エラー発生時に起動するＵＲＬ
//	　引数7	maxlength  ：最大桁数
//「戻り値」
//	  (boolen)	：検索の合否
//**************************************
function CheckAndSearch(userID,returnPlace,obj,db,InputStyle,errorURL,maxlength){
	//結果
	var result;
	//エラーメッセージ
	var errorMsg = "以下の原因によりデータベース検索ができません。\n";
	//DB検索フラグ
	var dbSearchFlg = true;
	
	//入力チェック
	result = InputCheck(obj.value,obj.name,obj.InputStyle,obj.maxlength);
	
	if (result != true){
		//入力チェックエラー
		obj.focus();
		return false;			
	} else {
		//入力チェックOK
		if(userID == "" || userID == null){
			//ユーザID不備
			dbSearchFlg = false;
			errorMsg = errorMsg + "ユーザIDが不明です。\n";
		}
		if(returnPlace == "" || returnPlace == null || document.getElementById(returnPlace) == null){
			//検索結果表示場所指定不備
			dbSearchFlg = false;
			errorMsg = errorMsg + "検索結果出力場所が不明です。\n";
		}
		if(db == "" || db == null){
			//検索対象DB名不備
			dbSearchFlg = false;
			errorMsg = errorMsg + "検索するＤＢ名が不明です。\n";
		}
		if(dbSearchFlg == true){
			//検索フラグOK
			DBSearch.Search(userID,returnPlace,"","",obj.value,db,errorURL, Search_Callback);
		} else {
			//検索フラグNG
			alert(errorMsg);
			obj.focus();
			return false;
		}	
	}
}

//**************************************
//	AjaxによるDB検索(コールバック無し) 
//「形式」
// CheckAndSearchNonCallback(userID,returnPlace,obj,db,InputStyle,errorURL,maxlength)
//「機能」
//  1)入力チェックを実行、エラーがなければDB検索
//「引数」
//	　引数1	userID     ：ログインユーザID
//  　引数2 returnPlace：結果表示フォーム内の結果表示場所
//	　引数3	obj        ：検索キーを入力したオブジェクト
//  　引数4 db         ：検索先DB
//	　引数5	InputStyle ：入力チェック形式
//  　引数6 errorURL   ：エラー発生時に起動するＵＲＬ
//	　引数7	maxlength  ：最大桁数
//「戻り値」
//	  (boolen)	：検索の合否
//**************************************

function CheckAndSearchNonCallback(userID,returnPlace,obj,db,InputStyle,errorURL,maxlength){
	//結果
	var result;
	//エラーメッセージ
	var errorMsg = "以下の原因によりデータベース検索ができません。\n";
	//DB検索フラグ
	var dbSearchFlg = true;
	
	//入力チェック
	result = InputCheck(obj.value,obj.name,obj.InputStyle,obj.maxlength);
	
	if (result != true){
		//入力チェックエラー
		obj.focus();
		return false;			
	} else {
		//入力チェックOK
		if(userID == "" || userID == null){
			//ユーザID不備
			dbSearchFlg = false;
			errorMsg = errorMsg + "ユーザIDが不明です。\n";
		}
		if(returnPlace == "" || returnPlace == null || document.getElementById(returnPlace) == null){
			//検索結果表示場所不備
			dbSearchFlg = false;
			errorMsg = errorMsg + "検索結果出力場所が不明です。\n";
		}
		if(db == "" || db == null){
			//検索するDB名不備
			dbSearchFlg = false;
			errorMsg = errorMsg + "検索するＤＢ名が不明です。\n";
		}
		if(dbSearchFlg == true){
			//DB検索フラグOKによりDBを検索する
			response = DBSearch.Search(userID,returnPlace,"","",obj.value,db,errorURL);
			ds = response.value;
			//スプレッドシートオブジェクト取得
			var spread = document.getElementById(ds[0]);
			if(ds == null || response.error != null || ds[5].Tables[0].Rows[0] == null){
				//検索結果がない場合
				alert("該当データがありません。");
			} else {
				//検索結果がある場合検索結果表示場所に描画する
				var resultString = "<ol type='square'>";
						resultString += "<li>" + ds[5].Tables[0].Rows[0].sHikNm + "</li>";
						resultString += "</ol>";
						document.getElementById(ds[0]).innerHTML = resultString;
			}
		} else {
			//DB検索フラグNG
			alert(errorMsg);
			obj.focus();
			return false;
		}	
	}
}
*/
//**************************************
//	入力チェック
//「形式」
// InputCheck(obj,InputStyle,length)
//「機能」
//  1)入力チェックを実行し成否を返す
//「引数」
//  　引数1 obj        ：チェックするオブジェクト
//	　引数2	InputStyle ：入力チェック形式
//	　引数3	maxlength  ：桁数
//「戻り値」
//	  成功：true
//    不正：文字列
//**************************************
function InputCheck(obj,InputStyle,maxlength) {
	//エラーメッセージ格納配列
	var errorArray = new Array;
	//エラー個数
	var errorCnt   = 0;
	
	//入力チェック形式
	var Hankaku		  = "0";
	var Date		  = "1";
	var Numeric		  = "2";
	var OomojiEiji	  = "3";
	var ComojiEiji	  = "4";
	var OomojiEisuuji = "5";
	var ComojiEisuuji = "6";
	var Suuji		  = "7";
	var Eisuuji		  = "8";
	var Eiji		  = "9";
	var SlashDate     = "10";
	var SuujiMinus    = "11";
	var EisuujiHyphen = "12";
	var Money         = "13";
	var CammaMoney    = "14";
	var HankakuKana	  = "15";
	var NoCheck		  = "16";
	var Tel			  = "17";
	var Mail		  = "18";
	var Zip           = "19";
	var Hiragana      = "20";

    //未入力はチェックしない
    if (obj.value.length == 0){
        return true;
    }
    
    
	//日付入力の時は10桁にする
	if(InputStyle == Date || InputStyle == SlashDate){
		maxlength = 10;
	}
	
	//桁チェック
	if(maxlength != null && maxlength != 0){
	//バイトから文字数に変更
//		if(ChkLength(obj.value,maxlength,InputStyle) == false){
        if(ValidatorLen(obj.value,maxlength)==false){
			errorArray[errorCnt] =  maxlength +  "文字以上の入力はできません。";
			errorCnt++;
		}
	}
	
	//桁チェックOKならば入力チェック
	if(errorCnt == 0){
		switch(InputStyle){
			//半角文字
			case Hankaku:
				if(ChkHankaku(obj.value) == false){
					errorArray[errorCnt] = "半角文字のみ入力できす。";
					errorCnt++; 
				}
				if(stringExistCheck(obj.value,["&#","<",">"]) == false){
					errorArray[errorCnt] = "文字　#<>　は入力できません。";
					errorCnt++; 
				}
				break;
			//日付
			case Date:
				if(ChkDate(obj.value) == false){
					errorArray[errorCnt] = "日付のみ入力できます。（例:2000/01/01）";
					errorCnt++; 
				}
				break;
			//数値  
			case Numeric:
/* 数字チェックとかぶっている
				if(ChkHankaku(obj.value) == false){
					errorArray[errorCnt] = "半角文字のみ入力できす。";
					errorCnt++; 
				}
*/				
				if(ChkSuuji(obj.value) == false){
					errorArray[errorCnt] = "半角数字のみ入力できます。";
					errorCnt++; 
				}
				break;
			//大文字英字
			case OomojiEiji:
				if(ChkOomojiEiji(obj.value) == false){
					errorArray[errorCnt] = "大文字英字のみ入力できます。";
					errorCnt++; 
				}
				break;
			//小文字英字
			case ComojiEiji:
				if(ChkComojiEiji(obj.value) == false){
					errorArray[errorCnt] = "小文字英字のみ入力できます。";
					errorCnt++; 
				}
				break;
			//大文字英数字
			case OomojiEisuuji:
				if(ChkOomojiEisuuji(obj.value) == false){
					errorArray[errorCnt] = "大文字英数字のみ入力できます。";
					errorCnt++; 
				}
				break;
			//小文字英数字
			case ComojiEisuuji:
				if(ChkComojiEisuuji(obj.value) == false){
					errorArray[errorCnt] = "小文字英数字のみ入力できます。";
					errorCnt++; 
				}
				break;
			//数字
			case Suuji:
				if(ChkSuuji(obj.value) == false){
					errorArray[errorCnt] = "数字のみ入力できます。";
					errorCnt++; 
				}
				break;
			//英数字
			case Eisuuji:
				if(ChkEisuuji(obj.value) == false){
					errorArray[errorCnt] = "英数字のみ入力できます。";
					errorCnt++; 
				}
				break;
			//英字
			case Eiji:
				if(ChkEiji(obj.value) == false){
					errorArray[errorCnt] = "英字のみ入力できます。";
					errorCnt++; 
				}
				break;
			//日付(スラッシュ修正有)
			case SlashDate:
				var result = ChkSlashDate(obj.value);
				if(result != "error" || result == ""){
					obj.value = result;
				} else {
					errorArray[errorCnt] = "日付のみ入力できます。(例:2000/01/01)";
					errorCnt++; 
				}
				break;
			//数字と-(マイナス)
			case SuujiMinus:
				if(ChkSuujiMinus(obj.value) == false){
					errorArray[errorCnt] = "数字のみ入力できます。";
					errorCnt++;
				} else {
					//先頭に0がある場合0以外の文字が出るまで0を除去
					obj.value = SuujiMinusArrangement(obj.value);
				}
				break;
				
			//英数字と-(ハイフン)
			case EisuujiHyphen:
				if(ChkEisuujiHyphen(obj.value) == false){
					errorArray[errorCnt] = "英数字のみ入力できます。";
					errorCnt++; 
				}
				break;
			//カンマ有金額
			case CammaMoney:
				if(ChkHankaku(obj.value) == false){
					errorArray[errorCnt] = "半角文字は入力できません。";
					errorCnt++; 
				}
				if(ChkMoney(obj.value) == false){
					errorArray[errorCnt] = "金額のみ入力できます。(例:2,000)";
					errorCnt++; 
				} else {
					//書式を修正する
					obj.value = CharacterOut(obj.value,"+");
					obj.value = CommaArrangement(obj.value);
				}
				break;
				
			//半角カナ
			case HankakuKana:
				if(ChkHankakuKana(obj.value) == false){
					errorArray[errorCnt] = "半角カナのみ入力できます。";
					errorCnt++; 
				}
				break;
				
			//電話番号
			case Tel:
				if(ChkTel(obj.value) == false){
					errorArray[errorCnt] = "電話番号のみ入力できます。(例:012-3456-7890,01-2345-6789,0124-56-7890)";
					errorCnt++; 
				}
				break;
			//メールアドレス
			case Mail:
				if(ChkMail(obj.value) == false){
					errorArray[errorCnt] = "メールアドレスのみ入力できます。(例:xxxx@printmagic.jp)";
					errorCnt++; 
				}
				break;
			//ノーチェック(禁則文字はチェックする)
			case NoCheck:
/*				if(ChkProhibitionChar(obj.value) == false){
					errorArray[errorCnt] = "次の文字　#<>　は入力できません。";
					errorCnt++; 
				}
*/				
				if(stringExistCheck(obj.value,["&#","<",">"]) == false){
					errorArray[errorCnt] = "次の文字　#<>　は入力できません。";
					errorCnt++; 
				}
				break;
            //郵便番号
			case Zip:
				if(ChkZip(obj.value) == false){
					errorArray[errorCnt] = "郵便番号のみ入力できます。(例:123,123-4567)";
					errorCnt++; 
				}
				break;
		    //ひらがな
			case Hiragana:
			    if(HiraCheck(obj.value) == false){
			        errorArray[errorCnt] = "ひらがなのみ入力できます。(例:あいうえお)";
					errorCnt++; 
			    }
			    break;
			//メールアドレス
			default:
				break;
		}
	}
	
	if(errorCnt != 0){
		//入力エラーあり
		var html = "入力形式";
		for(var j=0;errorArray.length > j;j++){
			//アラート画面に表示するHTMLを作成
			html = "\n" + html + "\n" + errorArray[j] ;
		}
		return html;
	} else {
		//入力エラー無し
		return true;
	}
}

//**************************************
//	文字数チェック
//「形式」
// ValidatorLen(value,length)
//「機能」
//  1)valueがlength桁以内の入力かチェックする
//「引数」
//	　引数1	obj ：チェック対象
//	  引数2 length ：チェック桁数
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ValidatorLen(value,length) {
	if (length == null) {
		return true;
	} else {
		if (value.length <= length) {
			return true;
		}else{
		    return false;
		}
	}
}
//**************************************
//	桁チェック
//「形式」
// ChkLength(value,length)
//「機能」
//  1)valueがlength桁以内の入力かチェックする
//「引数」
//	　引数1	obj ：チェック対象
//	  引数2 length ：チェック桁数
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkLength(value,length,InputStyle){
	
	// カウンタ初期化
	count = 0;
	var flg ;
	// 文字列数分ループ
	for (i=0; i<value.length; i++){
	    
		// 半角カナは半角文字扱い
		if(kana.indexOf(value.charAt(i),0) >= 0){
			count++;
		} else {
		    flg = true;
		
		    if (InputStyle == 14){
		        if (value.charAt(i) == ','){flg = false;}    
		    }
		    if (flg){
			    // 1文字ずつ文字コード取得
			    n = escape(value.charAt(i));
			    // 文字コードが4未満なら半角文字扱い
			    if(n.length < 4){
				    count++;
			    // 文字コードが4以上なら全角文字扱い
			    } else {
                    count+=2;
                }
			}
		}
	}
	// 上限文字数チェック
	if(count > length){
		//alert("入力文字が制限を超えています。");
		return false;
	} else {
		return true;
	}
}
function ChkLength(value,length,InputStyle){
	// 半角カナ
	kana = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮｯｰ､｡｢｣ﾞﾟ";
	// カウンタ初期化
	count = 0;
	var flg ;
	// 文字列数分ループ
	for (i=0; i<value.length; i++){
	    
		// 半角カナは半角文字扱い
		if(kana.indexOf(value.charAt(i),0) >= 0){
			count++;
		} else {
		    flg = true;
		
		    if (InputStyle == 14){
		        if (value.charAt(i) == ','){flg = false;}    
		    }
		    if (flg){
			    // 1文字ずつ文字コード取得
			    n = escape(value.charAt(i));
			    // 文字コードが4未満なら半角文字扱い
			    if(n.length < 4){
				    count++;
			    // 文字コードが4以上なら全角文字扱い
			    } else {
                    count+=2;
                }
			}
		}
	}
	// 上限文字数チェック
	if(count > length){
		//alert("入力文字が制限を超えています。");
		return false;
	} else {
		return true;
	}
}
	
//**************************************
//	半角チェック
//「形式」
// ChkHankaku(value)
//「機能」
//  1)valueに半角文字にのみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkHankaku(value){
	var i;
	for(i=0;i<value.length;i++)	{
		//文字コードが4以上なら半角ではない		
		if((value.charAt(i) != "･") && (escape(value.charAt(i)).length >= 4)){
			return false;
		}
	}
}

//**************************************
//	日付チェック
//「形式」
// ChkDate(obj)
//「機能」
//  1)obj.valueが日付形式になっているかチェック
//「引数」
//	　obj ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkDate(obj)
{
	if((obj != "") && (obj != null)){
		//{YYYY/MM/DD}形式かどうか
		var m = obj.match(/^(\d{4})\/(\d{2})\/(\d{2})$/);
		if (m == null) {
			//形式がNG
			return false;
		} else {
			var dd, mm, yy;
			dd = m[3];//日
			mm = m[2];//月
			yy = m[1];//年
			var date1 = new Date(yy, mm-1, dd);
			//年,月,日が正しいか
			if(!(yy == date1.getFullYear() && 
			     mm == date1.getMonth()+1  && 
			     dd == date1.getDate())){
				return false;
			}
		}
	}	
}

//**************************************
//	数字,(カンマ)-(マイナス)+(プラス)入力チェック
//「形式」
// ChkMoney(value) 
//「機能」
//  1)valueが数字,(カンマ)-(マイナス)+(プラス)のみの入力かチェック
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkMoney(value)
{	
	for(var i=0;value.length > i;i++){
		//数字とカンマとマイナスとプラスのみが入力されているかチェック
		if(value.charAt(i).match(/[^0-9,+-]/g)){
			return false;
		}		
		if(value.charAt(i).match(/[-]/g) && i != 0){
			//一文字目以外にマイナス記号があればエラー
			return false;
		}		
		if(value.charAt(i).match(/[+]/g) && i != 0){
			//一文字目以外にプラス記号があればエラー
			return false;
		}
	}
	
	//一文字しか入力されてないとき
	if(value.length == 1){
		if(!value.charAt(0).match(/[0-9]/g)){
			//数字以外のものしか入力されてなければエラー
			return false;
		}
	}
	
	var ErrorZeroFlg = false;
	var itimojime = value.charAt(0);
	
	if(value.length > 1){
		for(var i=0;value.length > i;i++){
			if(value.charAt(i).match(/[+1-9]/g)){
				ErrorZeroFlg = true;
			}	
		}
	} else {
		ErrorZeroFlg = true;
	}
	if(ErrorZeroFlg == false){
		return false;
	}
}

//**************************************
//	電話番号形式チェック
//「形式」
// ChkTel(value) 
//「機能」
//  1)valueの形式が 9-99999-9999
//                  99-9999-9999
//					999-999-9999
//                  9999-99-9999
//					999-9999-9999　かチェック
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkTel(value)
{
	if(!value.match("^\\d{1}-\\d{5}-\\d{4}$") &&	 //9-99999-9999
	   !value.match("^\\d{2}-\\d{4}-\\d{4}$") &&	 //99-9999-9999
	   !value.match("^\\d{3}-\\d{3}-\\d{4}$") &&	 //999-999-9999
	   !value.match("^\\d{4}-\\d{2}-\\d{4}$") &&	 //9999-99-9999
	   !value.match("^\\d{3}-\\d{4}-\\d{4}$") )      //999-9999-9999
//	   !value.match("^\\d{2}\\(\\d{4}\\)\\d{4}$") && //99(9999)9999
//	   !value.match("^\\d{4}\\(\\d{2}\\)\\d{4}$") && //9999(99)9999
//	   !value.match("^\\d{3}\\(\\d{4}\\)\\d{4}$"))	 //999(9999)9999
	   {
		return false;
	} else {
		return true;
	}
}

//**************************************
//	メールアドレス形式チェック
//「形式」
// ChkTel(value) 
//「機能」
//  1)valueの形式がメールアドレスかチェック
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkMail(value)
{	
	if(value.length == 0){
		return true;
	} else {
		if (value.match(/.+@.+\..+/)){
			return true;
		} else {
			return false;
		}
	}	
}

//**************************************
//	郵便番号形式チェック
//「形式」
// ChkTel(value) 
//「機能」
//  1)valueの形式が 999
//                  999-99
//                  999-9999かチェック
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkZip(value)
{
	if(!value.match("^\\d{3}$") &&           //999
	   !value.match("^\\d{3}-\\d{2}$") &&    //999-99
	   !value.match("^\\d{3}-\\d{4}$")) 	 //999-9999
	   {
		return false;
	} else {
		return true;
	}
}

//**************************************
//	文字除去
//「形式」
// CharacterOut(value,outChar)
//「機能」
//  1)valueからOutCharを取り除く
//「引数」
//	　value ：除去対象
//    outChar:取り除く文字
//「戻り値」
//	　wkstr	：処理済文字列
//**************************************
function CharacterOut(value,outChar)
{
	wkstr="";
	for(i=0; value.length>i; i++){
		if(value.substr(i,1)!=outChar){
			//除去したい文字ではなければ保存
			wkstr=wkstr+value.substr(i,1);
		}
	}
	return wkstr;
}

//**************************************
//	カンマ付与
//「形式」
// CommaArrangement(value)
//「機能」
//  1)valueの3桁ごとにカンマをつける
//「引数」
//	　value：カンマをつける文字列
//「戻り値」
//	　value：処理済文字列
//**************************************
function CommaArrangement(value) {
	var l, m = "";
	var mainasuFlg = false;
	var bufValue ="";
	value = "" + value;
	//マイナスチェック
	if(value.substr(0,1) == "-"){
		mainasuFlg = true;
		//マイナスを一旦除去
		value = value.substr(1,value.length);
	}
	//カンマを一旦除去
	value = CharacterOut(value,",");
	
	//先頭に0がある場合0以外の文字が出るまで0を除去
	value = stringZeroSuppress(value);
	
	//3桁ごとにカンマ付与
	while ( (l = value.length) > 3 ) {
		m = "," + value.substr( l - 3, 3 ) + m;
		value = value.substr( 0, l - 3 );
	}
	value = "" + value + m;
	
	//マイナス付与
	if(mainasuFlg == true){
		value = "-" + value;
	}
	return value;
}

//**************************************
//	数字-(マイナス)あり書式整形
//「形式」
// SuujiMinusArrangement(value)
//「機能」
//  1)valueの3桁ごとにカンマをつける
//「引数」
//	　value：カンマをつける文字列
//「戻り値」
//	　value：処理済文字列
//**************************************
function SuujiMinusArrangement(value) {
	var l, m = "";
	var mainasuFlg = false;
	var bufValue ="";
	value = "" + value;
	//マイナスチェック
	if(value.substr(0,1) == "-"){
		mainasuFlg = true;
		//マイナスを一旦除去
		value = value.substr(1,value.length);
	}
	
	//先頭に0がある場合0以外の文字が出るまで0を除去
	value = stringZeroSuppress(value);

	//マイナス付与
	if(mainasuFlg == true){
		value = "-" + value;
	}
	return value;
}
//**************************************
//	禁止文字チェック
//「形式」
// ChkProhibitionChar(value)
//「機能」
//  1)valueに'(シングルクォーテーション)<>(不等号記号)以外が
//	  入力されているかチェックする
//  2)valueに文字列"&#"がないかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkProhibitionChar(value){
	//'<>がないかチェック
	for(var i=0;value.length > i;i++){	
		if(value.charAt(i).match(/['<>]/g)){
			return false;
		}
	}
}

//**************************************
//	大文字英字チェック
//「形式」
// ChkOomojiEiji(value)
//「機能」
//  1)valueに大文字英字のみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkOomojiEiji(value){
	for(var i=0;value.length > i;i++){	
		if(value.charAt(i).match(/[^A-Z]/g)){
			return false;
		}
	}
}

//**************************************
//	小文字英字チェック
//「形式」
// ChkComojiEiji(value)
//「機能」
//  1)valueに小文字英字のみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkComojiEiji(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^a-z]/g)){
			return false;
		}
	}
}

//**************************************
//	大文字英数字チェック
//「形式」
// ChkOomojiEisuuji(value)
//「機能」
//  1)valueに大文字英数字のみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkOomojiEisuuji(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^A-Z0-9]/g)){
			return false;
		}
	}
}

//**************************************
//	小文字英数字チェック
//「形式」
// ChkComojiEisuuji(value)
//「機能」
//  1)valueに小文字英数字のみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkComojiEisuuji(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^a-z0-9]/g)){
			return false;
		}
	}
}

//**************************************
//	数字チェック
//「形式」
// ChkSuuji(value)
//「機能」
//  1)valueに数字のみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkSuuji(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^0-9]/g)){
			return false;
		}
	}
}

//**************************************
//	英数字チェック
//「形式」
// ChkEisuuji(value)
//「機能」
//  1)valueに英数字のみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkEisuuji(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^A-Za-z0-9]/g)){
			return false;
		}
	}
}

//**************************************
//	英字チェック
//「形式」
// ChkEiji(value)
//「機能」
//  1)valueに英字のみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkEiji(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^A-Za-z]/g)){
			return false;
		}
	}
}

//**************************************
//	数字と-(マイナス)チェック
//「形式」
// ChkSuujiMinus(value)
//「機能」
//  1)valueに数字と-(マイナス)のみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkSuujiMinus(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^0-9-]/g)){
			return false;
		}
	}
	
	
	for(var i=0;value.length > i;i++){
		//数字とマイナスのみが入力されているかチェック
		if(value.charAt(i).match(/[^0-9-]/g)){
			return false;
		}	
		if(value.charAt(i).match(/[-]/g) && i != 0){
			//一文字目以外にマイナス記号があればエラー
			return false;
		}
	}
	
	//一文字しか入力されてないとき
	if((value.length == 1) && (value.charAt(0) == "-")){
		return false;
	}
	
	var ErrorZeroFlg = false;
	var itimojime = value.charAt(0);
	
	if(value.length > 1){
		for(var i=0;value.length > i;i++){
			if(value.charAt(i).match(/[1-9]/g)){
				ErrorZeroFlg = true;
			}	
		}
	} else {
		ErrorZeroFlg = true;
	}
	if(ErrorZeroFlg == false){
		return false;
	}
}

//**************************************
//	英数字と-(ハイフン)チェック
//「形式」
// ChkEisuujiHyphen(value)
//「機能」
//  1)valueに英数字と-(ハイフン)のみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkEisuujiHyphen(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^A-Za-z0-9-]/g)){
			return false;
		}
	}
}

//**************************************
//ひらがなチェック
//「形式」
// ChkEisuujiHyphen(value)
//「機能」
//  1)valueにひらがな、全角半角スペースのみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function HiraCheck(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^ぁ-ん　 \s]/g)){
			return false;
		}
	}
}

//**************************************
//	日付(スラッシュ有)チェック
//「形式」
// ChkSlashDate(value)
//「機能」
//  1)valueに日付形式の入力がされているかチェック
//	　し正しければスラッシュを追加する
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　result：処理済文字列
//**************************************
function ChkSlashDate(value)
{
	var wk_flg, wk_str1, wk_str2, wk_yymmdd, wk_yyyy, wk_mm, wk_dd, wk_amari, wk_urudosi;
	var result;
	wk_flg = false;//スラッシュがあったかどうかフラグ

	// 年月日に"/"があるかどうか調べる
	for (i=0;i<10;i++){
		wk_str1 = value.substr(i,1);
		if (wk_str1 == "/") {
			wk_flg = true;
			break;
		}
	}

	// 年月日に"/"があった時は数字８桁(YYYYMMDD)に編集
	if (wk_flg){
		value += "/";        
		wk_yymmdd = "";
		wk_str2   = "";
		for (i = 0; i < 11; i++){
			wk_str1 = value.substr(i,1);
			if (wk_str1 == "/"){
				// 年度が二桁入力されたとき
				if (i == 2){
					if (wk_str2.substr(0,1) == 9){
						//90年代のときは1900年代
						wk_str2 = "19" + wk_str2;
					} else {
						//以外は2000年代
						wk_str2 = "20" + wk_str2;
					}
				}
				// 月・日が一桁入力されたとき0を足す
				if (wk_str2.length == 1) wk_str2 = "0" + wk_str2;
				wk_yymmdd += wk_str2;
				wk_str2 = "";
			} else {
				wk_str2 += wk_str1;
			}
		}
	} else {
		//年度が4桁入力された時はそのまま
		wk_yymmdd = value;
	}

  // 年月日の基本チェック(数値 & 桁数)
	if (isNaN(wk_yymmdd) || wk_yymmdd.length != 8){
		//数値or桁エラー
		result = "error";
		return result;
	}

	// 年月日それぞれに分解
	wk_yyyy = wk_yymmdd.substr(0,4);
	wk_mm   = wk_yymmdd.substr(4,2);
	wk_dd   = wk_yymmdd.substr(6,2);

	//閏年フラグ
	wk_urudosi = false;
	
	if (wk_yyyy % 4 == 0){
		if(wk_yyyy % 100 == 0){
			if (wk_yyyy % 400 == 0){
				//4,100,400全てで割り切れるので閏年
				wk_urudosi = true;
			}    
		} else {
			//4で割り切れる,100で割り切れないので閏年
			wk_urudosi = true;
		}
	}

	// 月のチェック
	if (wk_mm < "01" || wk_mm > "12"){
		result = "error";
		return result;
	}

	// 日のチェック
	switch(wk_mm){
		//2月
		case "02":
			if (wk_urudosi == true) {
				//閏年のとき
				if (wk_dd < "01" || wk_dd > "29"){
					result = "error";
					return result;
				}
			}
			break;

		//4,6,9,11月
		case "04" || "06" || "09" || "11":
			if (wk_dd < "01" || wk_dd > "30"){
				result = "error";
				return result;
			}
			break;
			
		//その他の月
		default:
			if (wk_dd < "01" || wk_dd > "31"){
				result = "error";
				return result;
			}
			break;
	}

	//年が1000年以下はエラー
	if(wk_yyyy < "1000"){
		return "error";
	}
	return wk_yyyy + "/" + wk_mm + "/" + wk_dd;
}

//**************************************
//	ENTERキー押下でカーソル移動
//「形式」
// ConvertToTabFromEnter()
//「機能」
//  1)ENTERキーを押すとカーソルが次のコントロールに移動する
//「引数」
//	　value ：無し
//「戻り値」
//	　result：無し
//**************************************
function ConvertToTabFromEnter()
{
	if(event.keyCode == 13){
		//Enterキーが押された時
		if(event.srcElement.type == null){
			event.returnValue = false;
		}
		//押された瞬間のオブジェクトが
		//テキストボックス
		//ラジオボタン
		//チェックボックス
		//パスワード
		//参照ボタン
		//プルダウン
		//テキストエリア
		//の時変換する
		if(event.srcElement.type == "text" 
			|| event.srcElement.type == "radio" 
			|| event.srcElement.type == "checkbox" 
			|| event.srcElement.type == "password" 
			|| event.srcElement.type == "file" 
			|| event.srcElement.type == "select-multiple" 
			|| event.srcElement.type == "select-one" 
			||(event.srcElement.type == "textarea" 
			&& event.srcElement.wrap != "off"))
		{
			try{
				//Tabキーに変換
				event.keyCode = 9;
			} catch(e) {
				event.returnValue = false;
			}
		}
	}
}

//**************************************
//	半角カナチェック
//「形式」
// ChkHankakuKana(value)
//「機能」
//  1)value半角カナのみ入力されているかチェックする
//「引数」
//	　value ：チェック対象
//「戻り値」
//	　(boolen)	：チェックの合否
//**************************************
function ChkHankakuKana(value){
	for(var i=0;value.length > i;i++){
		if(value.charAt(i).match(/[^ ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮｯｰﾞﾟ]/g)){
			return false;
		}
	}
}

//**************************************
//	英数字と-(ハイフン)入力制限
//「形式」
// EisuujiHyphenInput()
//「機能」
//  1)-(ハイフン),A～Z,a～z,0～9以外の入力を制限する 
//**************************************
function EisuujiHyphenInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == false) &&
		      ((c >= 48 && c <= 57)  || //0～9
			   (c >= 96 && c <= 105) || //テンキー0～9
			   (c == 109)            ||	//テンキー-(ハイフン)
			   (c == 189))){            //-(ハイフン)
				returnValue = true; 
		}
		if (c >= 65 && c <= 90){
			returnValue = true; 
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	英数字入力制限
//「形式」
// EisuujiInput()
//「機能」
//  1)A～Z,a～z,0～9以外の入力を制限する 
//**************************************
function EisuujiInput(c) {
//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == false) &&
		      ((c >= 48 && c <= 57)  || //0～9
			   (c >= 96 && c <= 105))){ //テンキー0～9
				returnValue = true; 
		}
		if (c >= 65 && c <= 90){
			returnValue = true; 
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	英字入力制限
//「形式」
// EijiInput()
//「機能」
//  1)A～Z,a～z以外の入力を制限する 
//**************************************
function EijiInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if(c >= 65 && c <= 90){
			returnValue = true; 
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	数字と-(マイナス)入力制限
//「形式」
// SuujiMinusInput()
//「機能」
//  1)0～9,-(マイナス)以外の入力を制限する 
//**************************************
function SuujiMinusInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == false) &&
		      ((c >= 48 && c <= 57)  || //0～9
			   (c >= 96 && c <= 105) || //テンキー0～9
			   (c == 109)            ||	//テンキー-(マイナス)
			   (c == 189))){            //-(マイナス)
				returnValue = true; 
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	数字入力制限
//「形式」
// SuujiInput()
//「機能」
//  1)0～9以外の入力を制限する 
//**************************************
function SuujiInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if(window.event.shiftKey == false){
			if((c >= 48 && c <= 57) || //0～9
			   (c >= 96 && c <= 105)){ //テンキー0～9
				returnValue = true; 
			}
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	小文字英数字入力制限
//「形式」
// ComojiEisuujiInput()
//「機能」
//  1)a～z,0～9以外の入力を制限する 
//**************************************
function ComojiEisuujiInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if(window.event.shiftKey == false){
			if((c >= 48 && c <= 57) || //0～9
			   (c >= 65 && c <= 90) || //a～z
			   (c >= 96 && c <= 105)){ //テンキー0～9
				returnValue = true; 
			}
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	大文字英数字入力制限
//「形式」
// OomojiEisuujiInput()
//「機能」
//  1)A～Z,0～9以外の入力を制限する 
//**************************************
function OomojiEisuujiInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == true)){
			if((c >= 65 && c <= 90)){ 
				returnValue = true;     //SHIFT+A～Z
			}
		} else {
			if((c >= 48 && c <= 57)  || //0～9
			   (c >= 96 && c <= 105)){  //テンキー0～9
				returnValue = true;
			}
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}
//**************************************
//	子文字英字入力制限
//「形式」
// ComojiEijiInput()
//「機能」
//  1)a～z以外の入力を制限する 
//**************************************
function ComojiEijiInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == false) && (c >= 65 && c <= 90)){
			returnValue = true; //a～z
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	大文字英字入力制限
//「形式」
// OomojiEijiInput()
//「機能」
//  1)A～Z以外の入力を制限する 
//**************************************
function OomojiEijiInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == true) && (c >= 65 && c <= 90)){
			returnValue = true; //A～Z
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	金額入力制限
//「形式」
// MoneyInput()
//「機能」
//  1)0～9 +(プラス)-(マイナス),(カンマ)以外の入力を制限する 
//**************************************
function MoneyInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == true) && (c == 187)){ //SHIFT押下で+(プラス)を入力時
			returnValue = true;
		} else {
			if((c >= 48 && c <= 57)  || //0～9
		       (c >= 96 && c <= 105) || //テンキー0～9
			   (c == 107) ||			//テンキー+(プラス)
			   (c == 109) ||			//テンキー-(マイナス)
			   (c == 188) ||            //,(カンマ)
			   (c == 189)){             //-(マイナス)
				returnValue = true;
			}
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	日付入力制限
//「形式」
// DateInput()
//「機能」
//  1)0～9 /(スラッシュ)以外の入力を制限する 
//**************************************
function DateInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == false) && 
			((c >= 48 && c <= 57)  || //0～9
			 (c >= 96 && c <= 105) || //テンキー0～9
			 (c == 111) ||            //テンキースラッシュ
			 (c == 191))){            //スラッシュ
			returnValue = true;
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	数値入力制限
//「形式」
// NumericInput()
//「機能」
//  1)0～9以外の入力を制限する 
//**************************************
function NumericInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == false) && 
			((c >= 48 && c <= 57)  || //0～9
			 (c >= 96 && c <= 105))){ //テンキー0～9
			returnValue = true;
		}
	}
	window.event.returnValue = returnValue;
}

//**************************************
//	電話番号入力制限
//「形式」
// TelInput()
//「機能」
//  1)0～9 ()(括弧)-(ハイフン)以外の入力を制限する 
//**************************************
function TelInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == false) && 
			((c >= 48 && c <= 57)  || //0～9
			 (c >= 96 && c <= 105) || //テンキー0～9
			 (c == 109)            || //テンキー-(ハイフン)
			 (c == 189))){			  //ハイフン
			returnValue = true;
		}
		if((window.event.shiftKey == true) &&
		  ((c == 56) || (c == 57))){ //()括弧
			returnValue = true;
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}
//**************************************
//	メールアドレス入力制限
//「形式」
// MailInput()
//「機能」
//  1)0～9 A～Z a～z @(アットマーク).(ドット)-(ハイフン)_(アンダーバー)以外の入力を制限する
//**************************************
function MailInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == false) && 
			((c >= 48 && c <= 57)  || //0～9
			(c >= 96 && c <= 105)  || //テンキー0～9
			(c >= 65 && c <= 90)   || //a～z
			(c == 192)             || //@(アットマーク)
			(c == 190)			   || //.(ドット)
			(c == 110)			   || //テンキー.(ドット)
			(c == 109)             || //テンキー-(ハイフン)
			(c == 189)  			  //ハイフン
			)){
			returnValue = true;
		}
		
		if((window.event.shiftKey == true) &&
		  ((c == 226) ||           //_(アンダーバー)
		   (c >= 65 && c <= 90))){ //A～Z
			returnValue = true;
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}
//**************************************
//	郵便番号入力制限
//「形式」
// TelInput()
//「機能」
//  1)0～9 -(ハイフン)以外の入力を制限する 
//**************************************
function ZipInput(c) {
	//	c = window.event.keyCode;
	returnValue = false;
	if((c >=  0 && c <= 31) || (c >= 35 && c <= 40) || (c == 45) || (c == 46)){ 
		returnValue = true; //制御キーは有効
	} else {
		if((window.event.shiftKey == false) && 
			((c >= 48 && c <= 57)  || //0～9
			 (c >= 96 && c <= 105) || //テンキー0～9
			 (c == 109)            || //テンキー-(ハイフン)
			 (c == 189))){			  //ハイフン
			returnValue = true;
		}
	}
	//コピー可能
	if(window.event.ctrlKey && c == 67) {
		returnValue = true;
	}
	//ペースト可能
	if(window.event.ctrlKey && c == 86) {
		returnValue = true;
	}
	window.event.returnValue = returnValue;
}
//**************************************
//	禁則文字入力制限
//「形式」
// ProhibitionCharInput()
//「機能」
//  1)'(シングルクォーテーション)<>(不等号記号)の入力を制限する
//**************************************
function ProhibitionCharInput(c) {
	//	c = window.event.keyCode;
	if((window.event.shiftKey == true) &&
		((c == 55) || //'(シングルクォーテーション)
		(c == 188) || //<(不等号記号)
		(c == 190)    //>(不等号記号)
		)){ 
		window.event.returnValue = false;
	}
}
/*
//**************************************
//	AjaxによるDB検索のコールバック関数
//「形式」
// Search_callback(response,errorURL)
//「機能」
//  1)SearchAjaxの結果を出力する
//「引数」
//	　引数1	response:SearchAjaxの結果
//    引数2 errorURL:該当データ無しの時にジャンプするURL 
//**************************************

function Search_Callback(response,errorURL) {
  var ds = response.value;
  if(response.error != null){
	//DBよりデータセット取得に失敗
	alert("予期せぬエラーです。" + response.error);
  } else {
	if (ds[5] != null             && 
	　　typeof(ds[5]) == "object" && 
	　　ds[5].Tables != null      && 
	　　ds[5].Tables[0] != null){
		//ＤＢ上のどのテーブルを検索したか
		switch(ds[4]){
			//ユーザ情報
			case "user":
				if(ds[5].Tables[0].Rows.length != 0){
					//該当データ有
					for (var i = 0; i < ds[5].Tables[0].Rows.length; i++) 
					{			
						//該当データをHTML化	
						var resultString = "<ol type='square'>";
						resultString += "<li>" + ds[5].Tables[0].Rows[i].sName +
						ds[5].Tables[0].Rows[i].sCode +
						ds[5].Tables[0].Rows[i].sBiko + "</li>";
						resultString += "</ol>";
						//検索結果表示場所に表示
						document.getElementById(ds[0]).innerHTML = resultString;
					}
				} else {
					//該当データ無し
					if(ds[1] != ""){
						//エラー時URLを開く
						window.open(ds[1]);								
					} else {
						//エラー時URL無しの場合警告をオープン
						alert("該当者無し!!");
					}				
				}
				break;
						
			//引き取りデータ	
			case "hikitori":
				if(ds[5].Tables[0].Rows.length != 0){
					for (var i = 0; i < ds[5].Tables[0].Rows.length; i++) 
					{
						//該当データをHTML化	
						var resultString = "<ol type='square'>";
						resultString += "<li>" + ds[5].Tables[0].Rows[i].sHikNm + "</li>";
						resultString += "</ol>";
						//検索結果表示場所に表示
						document.getElementById(ds[0]).innerHTML = resultString;
					}
				} else {
					if(ds[1] != ""){
						//エラー時指定ＵＲＬを開く
						if(win_closed(window.win1)){
							//子ウィンドウがない
							win1 = window.open(ds[1]);
						} else {
							//子ウィンドウが存在している
							win1.focus();
						}
					} else {					
						//エラー時指定URLがない場合警告表示
						alert("該当者無し!!");
					}
				}
				break;
				
			case "tokuisaki":
				if(ds[5].Tables[0].Rows.length != 0){
					for (var i = 0; i < ds[5].Tables[0].Rows.length; i++) 
					{	
						//該当データをHTML化			
						var resultString = "<ol type='square'>";
						resultString += "<li>" + ds[5].Tables[0].Rows[i].sTokNm + "</li>";
						resultString += "</ol>";
						//検索結果表示場所に表示
						document.getElementById(ds[0]).innerHTML = resultString;
					}
				} else {
					if(ds[1] != ""){
						///エラー時指定ＵＲＬを開く
						if(win_closed(window.win1))
							win1 = window.open(ds[1]);
					} else {
						//エラー時指定URLがない場合警告表示
						alert("該当者無し!!");
					}
				}
				break;
		}
	} else {
		//応答が予想に反していた場合
		document.getElementById(ds[0]).innerHTML = "検索時エラー";
	}
  }
}
*/

//**************************************
//	セットタイマを利用したボタンの有効/無効設定
//「形式」
// ButtonDisable(useSwitch,TargetFrame)
//「機能」
//  1)AllButtonNothing(useSwitch,TargetFrame)を参照
//**************************************
function ButtonDisable(useSwitch,TargetFrame)
{	
	window.setTimeout("AllButtonNothing('" + useSwitch + "', " + TargetFrame+ ")",0);
}
//**************************************
//**************************************
//	指定されたフレームの画面上すべての
//  ボタンの使用不可/使用可を切り替える
//「形式」
// AllButtonNothing(useSwitch,TargetFrame)
//「機能」
//  1)画面上すべてのボタンの使用不可/使用可を切り替える
//「引数」
//	　引数1	useSwitch:使用可にするか使用不可にするか(true/false)
//    引数2	TargetFrame:処理するフレーム名の配列
//**************************************
function AllButtonNothing(useSwitch,TargetFrame) {	
	var TargetFrameCnt = 0;
	var document;
	
	//画面上の全フレーム取得
	allFrame = window.parent;
	
	//フレーム有/無判定
	if(allFrame.length == 0)
	{	
		//フレーム無の場合
		document = allFrame.document.all;
		for(cntA=0;cntA<document.length;cntA++)
		{
			fd = document.item(cntA);
			if ( fd.type == 'button' || fd.type == 'submit')
			{
				//typeがbuttonかsubmitならば使用不可にする
				fd.disabled = useSwitch;															
			}
		}
		return true;
	}
	else
	{
		//フレーム有の場合
		for(cntA=0;cntA<allFrame.length;cntA++)
		{
			if(TargetFrame == null || TargetFrame.length == 0 || (TargetFrame[TargetFrameCnt] == allFrame(cntA).name))
			{
				//ボタン処理するフレームの処理
				//フレーム上の全オブジェクト取得
				frameDocument = allFrame(cntA).document.all;
				for(cntB=0;cntB<frameDocument.length;cntB++)
				{
					fd = frameDocument.item(cntB);
					if ( fd.type == 'button' || fd.type == 'submit')
					{
						//typeがbuttonかsubmitならば使用不可にする
						fd.disabled = useSwitch;
					}
				}
				TargetFrameCnt++;
			}
		}
	}
}  

//**************************************
//	取得したURLへリンクする
//「形式」
// URLLink(URL)
//「機能」
//  1)取得したURLへリンクする
//「引数」
//	引数1 リンクするURL
//**************************************
function URLLink(URL) {
	if(URL != "" && URL != null){
		//URLへリンク
		location.href=URL;
	}
}

//**************************************
//	画面上すべてのボタンを使用不可にしてリンクする
//「形式」
// ButtonOffLink(URL)
//「機能」
//  1)画面上すべてのボタンを使用不可にしてリンクする
//「引数」
//	引数1 リンクするURL
//  引数2 ボタン停止処理を行うフレーム名
//**************************************
function ButtonOffLink(URL,TargetFrame){
	//画面上すべてのボタンを使用不可にする
	AllButtonNothing(true,TargetFrame);
	//指定URLへリンクする
	URLLink(URL);
}
//**************************************
//	ボタンを活性/非活性制御
//「形式」
// AllButtonNothingHantei(hantei, FrameNm)
//「機能」
//  1)指定されたフレームのボタンの活性/非活性制御を行う。
//「引数」
//	引数1	hantei	：活性/非活性判定bool値文字列
//  引数2	FrameNm	：フォーム名
//「補足・注意事項」
//	1)活性/非活性判定bool値文字列をbool型に置き換える
//  2)文字列よりTureまたはFalse文字列が取得できない場合は
//　　制御しない。
//**************************************
function AllButtonNothingHantei(hantei, FrameNm)
{
	var wkhantei;
	var Rtn;
	
	//活性/非活性値取得
	switch(hantei)
	{
		case "True":
		case "true":
			wkhantei = true;
			Rtn = true;
			break;
		case "False":
		case "false":
			wkhantei = false;
			Rtn = true;
			break;
		default:
			Rtn = false;
			break;
	}
	
	//TrueまたはFalse処理が取得できた場合処理する。
	if(Rtn)
	{
		//指定されたフレームの画面上のボタンの使用不可/使用可を切り替え処理呼出
		AllButtonNothing(wkhantei,FrameNm);
	}
	
}
//**************************************
//	チェック対象に指定された文字列が存在するかチェック
//「形式」
//  stringExistCheck(value,Example)
//「機能」
//  1)チェック対象に指定された文字列が存在するかチェックする
//「引数」
//	引数1 チェック対象
//	引数2 探す文字列
//**************************************
function stringExistCheck(value,Example){
	for(i=0;i<Example.length;i++){
		if(value.indexOf(Example[i]) != -1){
			return false;
		}
	}	
}

//**************************************
//	先頭に0がある場合0以外の文字が出るまで0を除去
//「形式」
//  stringZeroSuppress(value)
//「機能」
//  1)先頭に0がある場合0以外の文字が出るまで0を除去
//「引数」
//	引数1 除去対象
//**************************************
function stringZeroSuppress(value){
	if(value.length > 1){
		var bufValue = "";
		var ZeroFlg  = false;
		for(i=0; value.length>i; i++){
			if(ZeroFlg == false){
				if(value.charAt(i) != 0){
					bufValue += value.charAt(i);
					ZeroFlg = true;
				}	
			} else {
				bufValue += value.charAt(i);
			}
		}
		if(bufValue.length == 0){
			bufValue = 0; 
		}
		return bufValue;
	} else {
		return value;
	}
}
	