var popWin = null;	// ポップアップ画面のウィンドウオブジェクト変数
var jumpFlg = true;	// ２重遷移状態フラグ
var shottime = 0;	// 画面内ポップアップ最終呼出時間

//***********************************************************************
// checkJump		Version :1.00
// 目的 :	２重遷移を防止するためのフラグ制御
// 引数 :	なし
// 戻り値 :	なし
// 新規作成:	2004/07/23(池谷)
// 最終更新:	2004/10/22(池谷)
//***********************************************************************
function checkJump(){
	if(jumpFlg == false){
		jumpFlg = true;
		return true;
	}else{
		return false;
	}
}

//***********************************************************************
// jumpPage		Version :1.00
// 目的 :	指定のURLへジャンプ
// 引数 :	遷移したいアドレス
// 戻り値 :	なし
// 新規作成:	2004/07/21(池谷)
// 最終更新:	2004/10/22(池谷)
//***********************************************************************
function jumpPage(url){
	funcJump('',url,'','');
}
function jumpPageGet(url){
	funcJump('',url,'','get');
}
function jumpPagePost(url){
	funcJump('',url,'','post');
}
function jumpPage(url,stackflg){
	funcJump('',url,stackflg,'');
}
function jumpPageGet(url,stackflg){
	funcJump('',url,stackflg,'get');
}
function jumpPagePost(url,stackflg){
	funcJump('',url,stackflg,'post');
}

//***********************************************************************
// jumpMsgPage		Version :1.00
// 目的 :	メッセージを表示し指定のURLへジャンプ
// 引数 :	表示メッセージ、遷移したいアドレス
// 戻り値 :	なし
// 新規作成:	2004/07/21(池谷)
// 最終更新:	2004/10/22(池谷)
//***********************************************************************
function jumpMsgPage(msg,url){
	funcJump(msg,url,'','');
}
function jumpMsgPageGet(msg,url){
	funcJump(msg,url,'','get');
}
function jumpMsgPagePost(msg,url){
	funcJump(msg,url,'','post');
}

//***********************************************************************
// jumpMsgPage		Version :1.01
// 目的 :	メッセージを表示し指定のURLへジャンプ（stack_pageを変更）
// 引数 :	表示メッセージ、遷移したいアドレス、stack_pageのフラグ
// 戻り値 :	なし
// 新規作成:	2004/10/12(池谷)
// 最終更新:	2005/05/10(近藤) NetScape対応
//                
//***********************************************************************
function jumpMsgPage(msg,url,stackflg){
	return funcJump(msg,url,stackflg,'');
}
function jumpMsgPageGet(msg,url,stackflg){
	return funcJump(msg,url,stackflg,'get');
}
function jumpMsgPagePost(msg,url,stackflg){
	return funcJump(msg,url,stackflg,'post');
}

//***********************************************************************
// funcJump		Version :1.02
// 目的 :	メッセージを表示し指定のURLへジャンプ（stack_pageを変更）、送信方法の設定
// 引数 :	表示メッセージ、遷移したいアドレス、stack_pageのフラグ、送信方法
// 戻り値 :	true:ページ遷移
// 新規作成:	2004/10/22(池谷)
// 更新:	2005/06/30(近藤) デフォルトのメソッドをPOSTに変更
// 最終更新: 2005/10/21(渋谷) 例外発生時にjumpFlgをfalseにする処理を追加
//***********************************************************************
function funcJump(msg,url,stackflg,method){
	try{
		if(msg != '' && confirm(msg) == false){
			return false;
		}
		if(checkJump() == false){
			return false;
		}
		if(stackflg == 'true' || stackflg == 'false'){
			//document.form.__stack_page__.value = stackflg;
		}		
		if(method != ''){
			document.form.method=method;
		}else{
			document.form.method='post';
		}
		document.form.action=url;
		document.form.submit();
		setTimeout('jumpFlg = false',10000);
		return true;
	}catch(e){
		jumpFlg = false;
		throw e;
	}
	return false;
}

//***********************************************************************
// openPopWin		Version :1.00
// 目的 :	ポップアップ画面が複数表示されるのを防止するための制御
// 　　 :	画面を新規に開く（古い画面をcloseしてから）
// 引数 :	url			ポップアップ画面に表示するURL
// 　　 :	name		ポップアップ画面のウィンドウ名
// 　　 :	properties	ポップアップ時の指定プロパティ
// 戻り値 :	なし
// 新規作成:	2005/10/18(池谷)
// 最終更新:	2005/10/18(池谷)
//***********************************************************************
function openPopWin(url,name,properties){
	closePopWin();
	popWin = window.open("", name, properties);
	
	//子窓に投げるform情報を変数に格納
	var thisPageForm = document.form;
	//子窓へターゲットを指定
	thisPageForm.target = name;
	//子窓に表示するURLを指定
	thisPageForm.action = url;
	
	//子窓にform情報を投げる
	thisPageForm.submit();
	
	//親のformのターゲットを親自身に戻す
	document.form.target = "_self";
	
}

//***********************************************************************
// closePopWin		Version :1.00
// 目的 :	ポップアップ画面をclose
// 引数 :	なし
// 戻り値 :	なし
// 新規作成:	2005/10/18(池谷)
// 最終更新:	2007/02/07(藤原)
//***********************************************************************
function closePopWin(){
	try{
		if(popWin != null){
			popWin.close();
			popWin = null;
		}
	}catch(e){
		popWin = null;
	}
}

//***********************************************************************
// submitNewWin		Version :1.00
// 目的 :	ポップアップ画面が複数表示されるのを防止するための制御
// 　　 :	画面をsubmitにて新規に開く（古い画面をcloseしてから）
// 引数 :	なし
// 戻り値 :	なし
// 新規作成:	2005/10/18(池谷)
// 最終更新:	2005/10/18(池谷)
//***********************************************************************
function submitNewWin(formobject){
	closePopWin();
	formobject.submit();
}

//***********************************************************************
// checkFinal		Version :1.00
// 目的 :	最後のactionから
// 　　 :	３秒（デフォルト）経過しないと受け付けない。
// 引数 :	なし
// 戻り値 :	true	経過していない（リクエスト拒否）
// 　　　 : false	経過している(リクエスト受付）
// 新規作成:	2005/10/19(池谷)
// 最終更新:	2005/10/19(池谷)
//***********************************************************************
function checkFinal(){	
	// デフォルト3秒		
	return termCheckFinal(3000);
}

//***********************************************************************
// termCheckFinal		Version :1.00
// 目的 :	最後のactionから
// 　　 :	指定秒経過しないと受け付けない。
// 引数 :	なし
// 戻り値 :	true	経過していない（リクエスト拒否）
// 　　　 : false	経過している(リクエスト受付）
// 新規作成:	2005/10/19(池谷)
// 最終更新:	2005/10/19(池谷)
//***********************************************************************
function termCheckFinal(term){			
	var nowtime = new Date().getTime();
	if(nowtime - shottime > term){
		shottime = nowtime;
		return false;
	}	
	shottime = nowtime;
	return true;
}

//***********************************************************************
// checkInterval	Version :1.00
// 目的 :	最後のリクエスト受付から
// 　　 :	１０秒（デフォルト）経過しないと受け付けない。
// 引数 :	なし
// 戻り値 :	true	経過していない（リクエスト拒否）
// 　　　 : false	経過している(リクエスト受付）
// 新規作成:	2005/10/19(池谷)
// 最終更新:	2005/10/19(池谷)
//***********************************************************************
function checkInterval(){	
	// デフォルト10秒
	return termCheckInterval(10000);
}

//***********************************************************************
// termCheckInterval		Version :1.00
// 目的 :	最後のリクエスト受付から
// 　　 :	指定秒経過しないと受け付けない。
// 引数 :	なし
// 戻り値 :	true	経過していない（リクエスト拒否）
// 　　　 : false	経過している(リクエスト受付）
// 新規作成:	2005/10/19(池谷)
// 最終更新:	2005/10/19(池谷)
//***********************************************************************
function termCheckInterval(term){			
	var nowtime = new Date().getTime();
	if(nowtime - shottime > term){
		shottime = nowtime;
		return false;
	}	
	return true;
}


//***********************************************************************
// movePage		Version :1.01
// 目的 :	ページング時の画面遷移を指定
// 引数 :	遷移先番号と遷移先URL
// 戻り値 :	なし
// 新規作成:	2005/10/22(近藤)
// 最終更新:	2005/05/10(近藤)
//***********************************************************************
function movePage(pageStatus,action){
	document.form.pageStatus.value = pageStatus;
	jumpPage(action);
}

//***********************************************************************
// changeDisplayPage		Version :1.00
// 目的 :	ページング時の表示件数を設定して画面遷移。
// 引数 :	遷移先番号,遷移先URL,画面表示件数
// 戻り値 :	なし
// 新規作成:	2006/09/22(富岡)
// 最終更新:	2006/09/22(富岡)
//***********************************************************************
function changeDisplayPage(pageStatus,action,numberDisplayCase){
	document.form.numberDisplayCase.value = numberDisplayCase;
	document.form.pageStatus.value = pageStatus;
	jumpPage(action);
}





