/***********************************************************
	セルフ見積り共通 Javascript   slfjavascript.js
	$Revision: 1.1 $ $Date: 2006/10/17 15:21:44 $
***********************************************************/
var G_SERVLET = "../servlet/honda.jp.hm.slf.apps.";

var g_TcCode;	/* TCコード */

/********************************************************
関数名	:	jsDetailOpen
概要	:	詳細説明画面を表示する
引数	:	modelid  - コンフィグモデルID
		:	komkID   - 項目ID
		:	eventNo  - イベントNo
		:	yop      - 用品コード
		:	basic    - 基本情報区分名称
		:	defflg   - 標準フラグ
		:	almsflg  - アルマスフラグ

戻値	:	Nothing
作成者	:	2003/12/11	tany
更新	:	2004/02/10	nakayama(標準フラグ追加)
更新	:	2004/08/02	sasaya(アルマスフラグ追加)
**********************************************************/
function jsDetailOpen(modelid,komkID,eventNo,yop,basic,defflg,almsflg) {
	jsBlur();
	jsDispPopup('500','500','toolbar=0,status=0,scrollbars=yes,resizable=yes','SLFD0010101.do?almsflg='+almsflg+"&defflg="+defflg+"&modelid="+modelid+"&hidKomkID="+komkID+"&hidEventNo="+eventNo+"&DealerOption="+yop+"&hidBasic="+basic,'_pop',true,-1,-1,false);
}


/********************************************************
関数名	:	jsHelpOpen
概要	:	操作ヘルプを表示する
引数	:	id  - 画面ID

戻値	:	Nothing
作成者	:	2003/12/11	tany
**********************************************************/
function jsHelpOpen(screenId) {
	var flg = screenId.value;
	var target = "";
//	if(flg != "e0010901_3D"){
//		target = "_pop";	
//	}else{
		target = "_help";	
//	}
	jsBlur();
	jsDispPopup('500','500','toolbar=0,status=0,scrollbars=yes,resizable=yes','SLFH0010101.do?hidScreenId='+screenId,target,true,-1,-1,false);
}

/********************************************************
関数名	:	jsAdaptationTable
概要	:	適応グレード表を表示する
引数	:	modelId  - コンフィグモデルID
			srceenId - 画面ID
			eventNo  - イベントNo

戻値	:	Nothing
作成者	:	2003/12/11	tany
**********************************************************/
function jsAdaptationTable(modelId,srceenId,eventNo){
	jsBlur();
	jsDispPopup('800','600','toolbar=0,status=0,scrollbars=yes,resizable=yes','SLFG0010101.do?modelid='+modelId+"&hidScreenId="+srceenId+"&hidEventNo="+eventNo,'_list',true,-1,-1,false);
}

/******************************************************************************
 ポップアップ表示用共通JavaScript
【履  歴】
	第1版 2003/12/11 
 *****************************************************************************/

var g_MaxPopup = 100;						/***** 格納できる子ウィンドウの最大値 *****/
var g_ListPopup = new Array(g_MaxPopup); 	/***** 子ウィンドウ実態格納用 *****/


function jsDispPopup(pwidth, pheight, poption, purl, ptarget, focusflg, pLeft, pTop, pMoveflg) {
	if (ptarget.charAt(0) != "_") {
		jsClosePopup(ptarget);
	}
	if (pMoveflg == null) {
		pMoveflg = true;
	}
	var wmargin = 50;
	var ww = screen.availWidth;
	var wh = screen.availHeight;
	if (window.event != null) {
		var wx = window.event.screenX;
		var wy = window.event.screenY;
	}else{
		var wx = ww/2-pwidth/2;
		var wy = wh/2-pheight/2;
	}
	if (pwidth != null || pheight != null) {
		if (wx <= ww - pwidth - wmargin) {
			wleft = wx;
		} else {
			wleft = wx - pwidth;
		}
		if (wy <= wh - pheight - wmargin) {
			wtop = wy;
		} else {
			wtop = wy - pheight;
		}
		if ((wleft < wmargin) || (wtop < wmargin)) {
			wleft = wmargin;
			wtop = wmargin;
		}
	}
	if (pLeft != null) {
		wleft = pLeft;
	}
	if (pTop != null) {
		wtop = pTop;
	}
	var wattr = poption
	if (pwidth != null || pheight != null) {
		wattr = wattr + ", width=" + pwidth + ", height=" + pheight;
	}
	if (pMoveflg == true) {
		wattr = wattr + ", left=" + wleft + ", top=" + wtop;
	}
	var wpopup = window.open(purl,ptarget,wattr);
	if ( wpopup == null ) {
		/***** IE5.01ではjsClosePopup()でcloseした直後にwindow.open()した時に戻り値がnullとなってしまうケースがあるようだ *****/
		maxRetryOpenWindow = 10000;
		for (i=0;i<maxRetryOpenWindow;i++) {
			wpopup = window.open(purl,ptarget,wattr);
			if ( wpopup != null ) {
				break;
			}
		}
		if ( i == maxRetryOpenWindow ) {
			return wpopup;
		}
	}
	if (pwidth != null || pheight != null) {
		wpopup.resizeTo(pwidth,pheight);
		if (pMoveflg == true) {
			wpopup.moveTo(wleft,wtop);
		}
	}
	var i,chkDiplct = false;
	for ( var i = 0 ; i < g_MaxPopup ; i ++ ){
		if ( g_ListPopup[i] == wpopup ){
			chkDiplct = true;
			break;
		}
	}
	if ( chkDiplct != true ){
		for ( var i = 0 ; i < g_MaxPopup ; i ++ ){
			if ( g_ListPopup[i] == null ){
				g_ListPopup[i] = wpopup;
				break;
			}
		}
	}
	if( focusflg == null || focusflg == true ){
		wpopup.focus();
	}
	return wpopup;
}


function jsClosePopup(pWinName){
	var i ;
	if (pWinName == null) {
		for ( var i = 0 ;  i < g_MaxPopup ; i ++ ){
			if ( g_ListPopup[i] != null ){
				if ( !(g_ListPopup[i].closed) ){
					g_ListPopup[i].close() ;
					g_ListPopup[i] = null
				}
			}
		}
	}else{
		for ( var i = 0 ;  i < g_MaxPopup ; i ++ ){
			if ( g_ListPopup[i] != null ){
				if ( g_ListPopup[i].closed ){
					continue;
				}
				if ( g_ListPopup[i].name == pWinName ){
					g_ListPopup[i].close() ;
					g_ListPopup[i] = null;
					return;
				}
			}
		}
	}
}

/**画面タイトルセット**/
function jsSetTitle(pTitle) {
	top.document.title=pTitle;
}

/**開いたウィンドウを前に出す**/
function jsBlur(pThis){
	window.focus();
/***** IE5でのみ動作
	pThis.blur();
*****/
}

/********************************************************
関数名	:	jsClosePopup
概要	:	開かれている全てのポップアップウィンドウを閉じる
引数	:	pWinName  - クローズするウィンドウ名（省略時、全てのウィンドウをクローズ）

戻値	:	Nothing
作成者	:	2003/12/11
**********************************************************/
function jsClosePopup(pWinName){
	var i ;
	if (pWinName == null) {
		for ( var i = 0 ;  i < g_MaxPopup ; i ++ ){
			if ( g_ListPopup[i] != null ){
				if ( !(g_ListPopup[i].closed) ){
					g_ListPopup[i].close() ;
					g_ListPopup[i] = null
				}
			}
		}
	}else{
		for ( var i = 0 ;  i < g_MaxPopup ; i ++ ){
			if ( g_ListPopup[i] != null ){
				if ( g_ListPopup[i].closed ){
					continue;
				}
				if ( g_ListPopup[i].name == pWinName ){
					g_ListPopup[i].close() ;
					g_ListPopup[i] = null;
					return;
				}
			}
		}
	}
}
