//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// □モジュール名
//	パラメータチェックJavaScriptファイル
//
// □更新情報
//	日付		更新者	更新情報
//	2007.03.08	川村	新規作成
//
// □備考
//
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

/**
* 指定のオブジェクトを検索する
*
* @param	name	オブジェクト名
* @param	doc		ドキュメント(省略時はカレントドキュメント)
*
* @return	検索オブジェクト
*/
function MM_findObj(name, doc) {
	var p,i,x;
	if(!doc)
		doc=document;
	if((p=name.indexOf("?"))>0&&parent.frames.length){
		doc=parent.frames[name.substring(p+1)].document;
		name=name.substring(0,p);
	}
	if(!(x=doc[name])&&doc.all){
		x=doc.all[name];
	}
	for (i=0;!x&&i<doc.forms.length;i++){
		x=doc.forms[i][name];
	}
	for(i=0;!x&&doc.layers&&i<doc.layers.length;i++){
		x=MM_findObj(name,doc.layers[i].document);
	}
	if(!x && document.getElementById){
		x=document.getElementById(name);
	}
	return x;
}


//******************************************************
// 機能：日本語対応文字数チェック
// Ｉ／Ｏ：入力テキスト（Ｉ）
// 戻り値：文字数
//******************************************************
function jstrlen(_str) {
	var i,len = 0;
	var strTmp = escape(_str);
	for (i = 0; i < strTmp.length; i++, len++) {
		if (strTmp.charAt(i) == "%") {
			if (strTmp.charAt(++i) == "u") {
				i += 3;
				len++;
			}
			i++;
		}
	}
	return len;
}

//******************************************************
// 機能：半角英数字チェック
// Ｉ／Ｏ：入力テキスト（Ｉ）
// 戻り値：OK:true NG:false
//******************************************************
function isHankaku(inpText) {
	var str = inpText;
	for(var i=0; i<str.length; i++) {
		if ((str.charAt(i) < "a" || str.charAt(i) > "z") &&
			(str.charAt(i) < "A" || str.charAt(i) > "Z") &&
			(str.charAt(i) < "0" || str.charAt(i) > "9") &&
			(str.charAt(i) != "_") && (str.charAt(i) != "-") && (str.charAt(i) != ".")) {
			return false;
		}
	}
	return true;
}
function isHankakukigou(inpText) {
	var str = inpText;
	for(var i=0; i<str.length; i++) {
		if ((str.charAt(i) < "!" || str.charAt(i) > "z")) {
			return false;
		}
	}
	return true;
}

//******************************************************
// 機能：電話番号チェック
// Ｉ／Ｏ：入力テキスト（Ｉ）
// 戻り値：OK:true NG:false
//******************************************************
function isTel(inpText) {
	var str = inpText;
	for(var i=0; i<str.length; i++) {
		if ((str.charAt(i) < "0" || str.charAt(i) > "9") &&
			(str.charAt(i) != "-") && (str.charAt(i) != "(") && (str.charAt(i) != ")")) {
			return false;
		}
	}
	return true;
}

/*******************************************************
*	指定の桁数・整数値チェック
*
* @param	_inpText	入力テキスト
* @param	_len		桁数
*
* @return	1:指定の桁数エラー:false
*			2:整数値false
*			3:OK
*
*******************************************************/
function checkIntegerNum(_inpText, _len) {
	var str = _inpText;
	if( str.length != _len){
		return 1;
	}
	for(var i=0; i<str.length; i++) {
		if (str.charAt(i) < "0" || str.charAt(i) > "9") {
			return 2;
		}
	}
	return 3;
}


/*******************************************************
*	整数チェック
*
* @param	_value	値
*
* @return	OK:true NG:false
*
*******************************************************/
function isInteger(_value){
	return (!(isNaN(_value) ) || (_value.indexOf(' ') != -1) || (_value.indexOf('.') != -1));
}


/*******************************************************
*	年月日整合性チェック
*
* @param	_year	年
* @param	_month	月
* @param	_day	日
*
* @return	OK:true NG:false
*
*******************************************************/
function isDate(_year, _month, _day) {
	//==========================
	// 年範囲チェック
	//==========================
	if(_year < 1900 || 9999 < _year){
		return false;
	}
	//==========================
	// 月範囲チェック
	//==========================
	if(_month < 1 || 12 < _month){
		return false;
	}
	//==========================
	// 日範囲チェック
	//==========================
	// 最小値
	if(_day < 1){
		return false;
	}
	// 最大値
	var arrMaxMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	// 2月うるう年補正
	if((_year % 4 == 0 && _year % 100 != 0) || _year % 400 == 0){
		arrMaxMonth[1] = 29;
	}
	if(arrMaxMonth[_month-1] < _day){
		return false;
	}
	return true;
}


/*******************************************************
*	時分整合性チェック
*
* @param	_hour	時
* @param	_minute	分
*
* @return	OK:true NG:false
*
*******************************************************/
function isTime(_hour, _minute){
	//====================
	//	時範囲チェック
	//====================
	if(_hour < 0 || 24 < _hour){
		return false;
	}
	//=====================
	//	分範囲チェック
	//=====================
	if(_minute < 0 || 60 < _minute){
		return false;
	}
	return true;
}


/*******************************************************
*	全角カタカナチェック
*
* @param	_inpText	文字列
*
* @return	OK:true NG:false
*
*******************************************************/
function isAllkana(_inpText){
	for(i=0; i<_inpText.length; i++){
		//if(_inpText.charAt(i) < 'ア' || _inpText.charAt(i) > 'ン'){
		if(_inpText.charAt(i) < 'ァ' || _inpText.charAt(i) > 'ヶ'){
			if(_inpText.charAt(i) != 'ー' && _inpText.charAt(i) != ' ' && _inpText.charAt(i) != '　'){
				return false;
			}
		}
	}
	return true;
}

/*******************************************************
*	全角ひらがなチェック
*
* @param	_inpText	文字列
*
* @return	OK:true NG:false
*
*******************************************************/
function isAllHiragana(_inpText){
	for(i=0; i<_inpText.length; i++){
		if(_inpText.charAt(i) < 'ぁ' || _inpText.charAt(i) > 'ん'){
			if(_inpText.charAt(i) != 'ー' && _inpText.charAt(i) != ' ' && _inpText.charAt(i) != '　'){
				return false;
			}
		}
	}
	return true;
}


/*******************************************************
*	バイト数チェック関数
*
* @param	_value	チェックデータ
*
* @return	バイト数
*
*******************************************************/
function getLength(_value){
	var i,nCnt=0;

	for(i=0; i<_value.length; i++){
		if(escape(_value.charAt(i)).length >= 4 ){
			nCnt+=2;
		}else{
			nCnt++;
		}
		return nCnt;
	}
}


/*******************************************************
*	EMailチェック
*
* @param	_strAddr	EMAIL
*
* @return	""	エラー無し
*			""以外	エラー
*
*******************************************************/
function xIsEmail( _strAddr) {
	var emailStr = _strAddr;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	// 最初の「@」で分割
	var matchArray=emailStr.match(emailPat);

	// 「@」がない
	if(matchArray==null) {
		return("メールアドレスが正しくありません(@).");
	}

	// ユーザーとドメインとして格納
	var user=matchArray[1];
	var domain=matchArray[2];

	// ユーザー部が無い
	if (user.match(userPat)==null) {
		return("メールアドレスが正しくありません(USER).");
	}

	// ドメイン名のIPパターンチェック
	var IPArray=domain.match(ipDomainPat);
	if ( IPArray != null ) {
		for ( var i=1; i <= 4; i++ ) {
			if ( IPArray[i] > 255 ) {
				return("メールアドレスが正しくありません(IP).");
			}
		}
	}

	// ドメイン名パターンチェック
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		return("ドメイン名がありません(DMAIN).");
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;

	// 最後のドメインが2文字か3文字の以外のとき、エラー
	// ex) jp,comはOK
	if (domArr[domArr.length-1].length < 2 || 4 < domArr[domArr.length-1].length) {
		return("メールアドレスが正しくありません(LCALE).");
	}

	if (len<2) {
		return("メールアドレスにドメイン名がありません.");
	}
	return "";
}


/*******************************************************
* フォームパラメータチェック
*
* @param
*	以下の3項目単位で指定件数分記述する。
*	件数をn件とすると
*	n+0:入力チェックしたいフォームの項目名
*	n+1:項目名の日本語
*	n+2:チェック方法。次の文字列で指定
*	1文字目に'R':必須項目
*	"isEmail":E-Mailチェック
*	"confirm":フォーム項目名とフォーム項目名+"2"の値が同じかチェック
*	"isHankaku":半角入力チェック
*	"isZenkaku":全角入力チェック
*	"isZenKana":全角カタカナ入力チェック
*	"isZenHiragana":全角ひらがな入力チェック
*	"NisNum":数値のみ入力可能
*	"isTel":電話番号チェック
*	"isZIP":郵便番号チェック
*	"maxLength<max>":文字数<max>以下のみ入力可能
*	"inRange<min>:<max>":<min>～<max>の範囲の数値のみ入力可能
*	"NumLen<x>":<x>の桁数をチェック
*	"isYMD":日付チェック
*		 フォーム項目名+"_Y"=年,+"_M"=月,+"_D"=日でチェックします
*	"radio":ラジオボタンチェック
*	"select":セレクトタグチェック
*	"function:<func>":独自パラメータチェック
*		func(n+0,n+1,n+2)の形式のチェック関数を呼び出す
*
* @return
*		true	エラー無し
*		false	エラー
*		document.retData	
*		　true	エラー無し
*		　false	エラー
*
*******************************************************/
function checkFormParameter() {

	// 引数
	var args=checkFormParameter.arguments;

	// 変数宣言
	var comm_param,errors='';
	var FROM_DT,TO_DT;

	//======================================
	// パラメータチェック配列を順にチェック
	//======================================
	for (var i = 0; i < (args.length-2); i+=3) {
		// 配列から1セット分のデータを取得
		// 
		var name=args[i];
		var wa_name=args[i+1];
		var command=args[i+2];
		var val=MM_findObj(name);

		// パラメータが存在するとき
		if(val){
			//------------------------------
			// 指定フィールドに値が入っているとき
			//------------------------------
			val=val.value;
			if(val != "" && val != null) {
				//==========================
				// E-Mailチェック
				//==========================
				if (command.indexOf('isEmail')!=-1) {
					var email_error = xIsEmail(val)
					if (email_error != "")
						errors+='- '+wa_name+' '+email_error+'\n';
				}
				//==========================
				// 確認項目チェック
				//==========================
				if (command.indexOf('confirm')!=-1) {
					if(val != MM_findObj(name+"2").value)
						errors+='- '+wa_name+'と確認'+wa_name+'が間違っています.\n';
				}
				//==========================
				// 半角+半角記号
				//==========================
				else if (command.indexOf('isHankakukigou')!=-1) {
					if (val != null && !isHankakukigou(val)){
						errors+='- '+wa_name+' は半角英数字記号で入力してください.\n';
					}
				}
				//==========================
				// 半角
				//==========================
				else if (command.indexOf('isHankaku')!=-1) {
					if (val != null && !isHankaku(val)){
						errors+='- '+wa_name+' は半角で入力してください.\n';
					}
				}
				//========================== 
				// 英数字が半角 
				//========================== 
				else if (command.indexOf('isHanEiSu')!=-1) { 
					if(val !=null){ 
						for (var k = 0; k < val.length ; k++) { 
							var c = val.charAt(k); 
							if ( (c >= '０' && c <= '９') || 
                                                             (c >= 'Ａ' && c <= 'Ｚ') || 
                                                             (c >= 'ａ' && c <= 'ｚ')    ){ 
								errors+='- '+wa_name+' の英数字は半角で入力してください.\n'; 
								break; 
							} 
						} 
					} 
				} 
				//==========================
				// 全角
				//==========================
				else if (command.indexOf('isZenkaku')!=-1) {
					if (isHankaku(val)){
						errors+='- '+wa_name+' は全角で入力してください.\n';
					}
				}
				//==========================
				// 全角カタカナ
				//==========================
				else if (command.indexOf('isZenKana')!=-1) {
					if (!isAllkana(val)){
						errors+='- '+wa_name+' は全角カタカナで入力してください.\n';
					}
				}
				//==========================
				// 全角ひらがな
				//==========================
				else if (command.indexOf('isZenHiragana')!=-1) {
					if (!isAllHiragana(val)){
						errors+='- '+wa_name+' は全角ひらがなで入力してください.\n';
					}
				}
				//==========================
				// 電話番号
				//==========================
				else if (command.indexOf('isTel')!=-1) {
					if (!isTel(val)){
						errors+='- '+wa_name+' は数字-()で入力してください.\n';
					}
				}
				//==========================
				// 最大文字数(半角)
				//==========================
				else if (command.indexOf('maxLengthHan')!=-1) {
					comm_param=command.indexOf('maxLengthHan')+12;
					max=new Number(command.substring(comm_param));
					if (max<jstrlen(val))
						errors+='- '+wa_name+' は半角 '+max+' 文字までしか入力できません.\n';
				}
				//==========================
				// 最大文字数
				//==========================
				else if (command.indexOf('maxLength')!=-1) {
					comm_param=command.indexOf('maxLength')+9;
					max=new Number(command.substring(comm_param));
					if (max<jstrlen(val))
						errors+='- '+wa_name+' は全角 '+max/2+' 文字までしか入力できません.\n';
				}
				//==========================
				// 最小文字数(半角)
				//==========================
				else if (command.indexOf('minLengthHan')!=-1) {
					comm_param=command.indexOf('minLengthHan')+12;
					min=new Number(command.substring(comm_param));
					if (min>jstrlen(val))
						errors+='- '+wa_name+' は半角 '+min+' 文字以上入力してください.\n';
				}
				//==========================
				// 最小文字数
				//==========================
				else if (command.indexOf('minLength')!=-1) {
					comm_param=command.indexOf('minLength')+9;
					min=new Number(command.substring(comm_param));
					if (min>jstrlen(val))
						errors+='- '+wa_name+' は全角 '+min/2+' 文字以上入力してください.\n';
				}
				//==========================
				// 値チェック
				//==========================
				else if (command.indexOf('paramEqual')!=-1) {
					comm_param=command.indexOf('paramEqual')+10;
					param=new Number(command.substring(comm_param));
					if (param!=val)
						errors+='- '+wa_name+' は必須です.\n';
				}
				else if (command != 'R') {
					//==========================
					// 数値チェック
					//==========================
					if (command.indexOf('NisNum') != -1) {
						if(isNaN(val) || (val.indexOf(' ') != -1))
							 errors+='- '+wa_name+' は数字を入力してください.\n';
					}
					//==========================
					// 数値チェック(範囲指定)&整数値チェック
					//==========================
					else if (command.indexOf('inRange') != -1) {
						if(!isInteger(val)) {
							errors+='- '+wa_name+' は整数値を入力して下さい.\n';
						}
						comm_param=command.indexOf(':');
						var min=new Number(command.substring(command.indexOf('inRange')+7,comm_param));
						var max=new Number(command.substring(comm_param+1));
						if (val<min || max<val)
							errors+='- '+wa_name+' は '+min+' ～ '+max+' の数字を入力してください.\n';
					}
					//==========================
					// 数値指定桁チェック
					//==========================
					else if (command.indexOf('NumLen') != -1){
						var chk=new Number(command.substring(6));
						check = checkIntegerNum(val,chk)
						if(check == 1 ){
							errors+='- '+wa_name+' は 指定桁の数字を入力してください.\n';
						}
						else if(check == 2){
							errors+='- '+wa_name+' は整数値を入力して下さい.\n';
						}
					}
				}
			}
			//------------------------------
			// 指定フィールドに値が入っていない
			//------------------------------
			//==============================
			//	ラジオボタン処理
			//==============================
			else if(command.indexOf('radio')!= -1){
				var obj = MM_findObj(args[i]);

				var flg = false;
//				alert("laaa:"+obj.length+",type="+obj[0].type);

				for(var i_tmp = 0; i_tmp < obj.length; i_tmp++){
			//		alert("o=" + obj[i_tmp].value +",c="+obj[i_tmp].checked);
					if(obj[i_tmp].checked) flg = true;
				}

				if(!flg){
					errors+='- '+wa_name+' を選択してください.\n';
				}
			}
			//==============================
			//	セレクトタグ処理
			//==============================
			else if(command.indexOf('select')!= -1){
				var obj = MM_findObj(args[i]);

				var flg = false;
//				alert("l:"+obj.length+",type="+obj.type+",select="+obj.selectedIndex);
				if(obj[obj.selectedIndex].value == ""){
					errors+='- '+wa_name+' を選択してください.\n';
				}
			}
			//==========================
			// 必須項目チェック
			//==========================
			else if (command.charAt(0) == 'R')
				errors += '- '+wa_name+' は入力必須項目です.\n'; 
			//==========================
			// 郵便番号の4桁部分が入力された場合
			// 3桁部が入力必須になるチェック
			//==========================
			else if (command.indexOf('isZIP')!=-1) {
				zip_after = MM_findObj(name+'_AFTER');
				b_after = (zip_after && (zip_after.value)!="");

				// 下4桁のみ入力されているとき
				if (val =="" && b_after){
					errors+='- '+wa_name+' が不足しています.\n';
				}
			}
		}
		//==========================
		// 日付チェック
		//==========================
		//====================
		// 日付整合性チェック
		//====================
		else if (command.indexOf('isYMD')!=-1) {
			year = MM_findObj(args[i]+'_Y');
			month = MM_findObj(args[i]+'_M');
			day = MM_findObj(args[i]+'_D');
			b_year = (year && (year=year.value)!="");
			b_month = (month && (month=month.value)!="");
			b_day = (day && (day=day.value)!="");
			// 日付必須チェック
			if (command.charAt(0) == 'R'){
				if(!b_year)
					errors+='- '+wa_name+'(年) は入力必須項目です.\n';
				if(!b_month)
					errors+='- '+wa_name+'(月) は入力必須項目です.\n';
				if(!b_day)
					errors+='- '+wa_name+'(日) は入力必須項目です.\n';
			}
			else{
				// 日付の年月日が一部のみ入力されているとき
				if ((b_year | b_month | b_day) && !(b_year & b_month & b_day) ){
					if(!b_year)
						errors+='- '+wa_name+'(年) が不足しています.\n';
					if(!b_month)
						errors+='- '+wa_name+'(月) が不足しています.\n';
					if(!b_day)
						errors+='- '+wa_name+'(日) が不足しています.\n';
				}
			}
			// 年数値チェック
			var val = year;
			if(!isInteger(val)) {
				errors+='- '+wa_name+'(年) は整数値を入力して下さい.\n';
			}
			// 月数値チェック
			var val = month;
			if(!isInteger(val)) {
				errors+='- '+wa_name+'(月) は整数値を入力して下さい.\n';
			}
			// 日数値チェック
			var val = day;
			if(!isInteger(val)) {
				errors+='- '+wa_name+'(日) は整数値を入力して下さい.\n';
			}
			// すべて入力されているとき、日付範囲チェック
			if(b_year && b_month && b_day){
				// 月妥当性チェック
				if(!isDate(year , month, day)){
					errors+='- '+wa_name+' は日付に誤りがあります.\n';
				}
				else{
					//FROM日付を格納
					if (command.indexOf('isYMD_FROM')!=-1) {
						FROM_DT = new Date(year,month,day);
						FROM_NAME = wa_name;
					}
					//TO日付を格納
					if (command.indexOf('isYMD_TO')!=-1) {
						TO_DT = new Date(year,month,day);
						if(FROM_DT != null && TO_DT != null){
							if (FROM_DT.getTime()>TO_DT.getTime()){
								errors+='- '+wa_name+' は'+FROM_NAME+'以降の日付を入力して下さい.\n';
							}
						}
						FROM_DT = null;
						TO_DT = null;
						FROM_NAME = "";
					}
				}
			}
		}
		//==============================
		//	年月整合性チェック
		//==============================
		else if (command.indexOf('isYM')!=-1) {
			year = MM_findObj(args[i]+'_Y');
			month = MM_findObj(args[i]+'_M');
			b_year = (year && (year=year.value)!="");
			b_month = (month && (month=month.value)!="");

			// 日付必須チェック
			if (command.charAt(0) == 'R'){
				if(!b_year)
					 errors+='- '+wa_name+'(年) は入力必須項目です.\n';
				if(!b_month)
					 errors+='- '+wa_name+'(月) は入力必須項目です.\n';
			}
			// 日付の月のみが入力されている場合
			if(!(b_year) && (b_month)){
					 errors+='-'+wa_name+'(年) が不足しています。\n';
			}
			// 日付の年のみが入力されている場合
			if((b_year) && !(b_month)){
					 errors+='-'+wa_name+'(月) が不足しています。\n';
			}
		}
		//==============================
		//	時間整合性チェック
		//==============================
		else if(command.indexOf('isHM')!= -1){
			hour = MM_findObj(args[i]+'_H');
			minute = MM_findObj(args[i]+'_MI');
			b_hour = (hour && (hour= hour.value)!= "");
			b_minute = (minute && (minute = minute.value)!= "");
			//時間必須チェック
			if(command.charAt(0) == 'R'){
				if(!b_hour)
					errors+='- '+wa_name+'(時) は入力必須項目です。\n';
				if(!b_minute)
					errors+='- '+wa_name+'(分) は入力必須項目です。\n';
			}
			//日付の時分が一部のみ入力されているとき
			if( (b_hour | b_minute) && !(b_hour & b_minute)){
				if(!b_hour)
					errors+='- '+wa_name+'(時) が不足しています。\n';
				if(!b_minute)
					errors+='- '+wa_name+'(分) が不足しています。\n';
			}
			//全て入力されているとき、時間範囲チェック
			if(b_hour && b_minute ){
				if(!isTime(hour,minute)){
					errors+='- '+wa_name+' は時間に誤りがあります。\n';
				}else{
					//FROM時間を格納
					if (command.indexOf('isHM_FROM')!=-1) {
						FROM_DT = new Date("2000","01","01",hour,minute);
						FROM_NAME = wa_name;
					}
					//TO時間を格納
					if (command.indexOf('isHM_TO')!=-1) {
						TO_DT = new Date("2000","01","01",hour,minute);
						if(FROM_DT != null && TO_DT != null){
							if (FROM_DT.getTime()>TO_DT.getTime()){
								errors+='- '+wa_name+' は'+FROM_NAME+'以降の日付を入力して下さい.\n';
							}
						}
						FROM_DT = null;
						TO_DT = null;
						FROM_NAME = "";
					}
				}
			}
		}
		//------------------------------
		// ここ以下は値の有無に関係なく
		// 指定フィールドに対してチェック機能を実装する。
		//------------------------------
		//==========================
		// 独自チェック関数
		// in 
		//	name	パラメータ名
		//	wa_name	パラメータ日本語名
		//	command	コマンド
		// out 
		//	""		正常
		//	""以外	エラー(エラー要因メッセージ)
		//==========================
		if (command.indexOf('function')!=-1) {
			comm_param=command.indexOf(':')+1;
			errors+=eval(command.substring(comm_param)+"(name,wa_name,command)");
		}
	}
	//------------------------------
	// 入力エラーがあればダイアログ表示
	//------------------------------
	if(errors)
		alert('入力に誤りがあります。\n'+errors);

	// エラー有無を返す
	return document.retData = (errors == '');
}


//******************************************************
// 機能：削除確認ダイアログ表示
// 戻り値：OK:true NG:false
//******************************************************
function confirmDelete() {
	return confirm('削除します\nよろしいですか？');
}

//******************************************************
// 機能：移動確認
// 入力：飛び先URL
// 戻り値：OK:true NG:false
//******************************************************
function confirmEditExit(url) {
	if(confirm('編集中ですが戻りますか？')){
		if(url){
			location.href=url;
		}
		return true;
	}
	return false;
};

//******************************************************
// 機能：移動確認(1つ前の履歴に戻る)
// 戻り値：OK:true NG:false
//******************************************************
function confirmEditExit2() {
	if(confirm('編集中ですが戻りますか？')){
		history.back();
		return true;
	}
	return false;
};

//******************************************************
// 機能：クローズ確認
// 戻り値：OK:true NG:false
//******************************************************
function confirmClose(){
	if(confirm('ウィンドウを閉じますが本当によろしいですか？')){
		window.close();
		return true;
	}
	return false;
}
