//********************************************************************
//  システム　　 ：ふらっとwebサイト管理システム
//  サブシステム ：
//  プログラム名 ：Common.js
//　プログラムID ：
//  作成　　　　 ：2005/05/16 CSS
//  更新　　　　 ：
//  処理内容　　 ：共通javascript
//  2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
//********************************************************************


	//********************************************************************
	//	関数名	：setCode
	//	機能	：次ページをテキストにセットする。
	//	引数	：strFID		：処理ID
	//	　　	　strSEQ		：文書番号 / ユーザNo. / 禁止文字
	//	　　	　intDAICHU_CD	：大カテゴリコード, 中カテゴリコード
	//	　　	　intMode		：処理モード
	//	返り値	：なし
	//	作成	：2005/05/16 CSS
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function setCode() {

		// 定数定義
		var C_MAX 		= 4;
		var C_FID 		= 0;
		var C_SEQ 		= 1;
		var C_DAICHU_CD = 2;
		var C_MODE 		= 3;

		// 変数定義
		var aryArgs;			// 引数
		var intDAICHU_CD;		// 大中カテゴリコード
		var intDAIB_CD;			// 大カテゴリコード
		var intCHUB_CD;			// 中カテゴリコード
		var intIdx;				// インデックス

		// 引数の取得
		aryArgs = setCode.arguments;
		for ( intIdx = aryArgs.length; intIdx < C_MAX; intIdx++ ) {
			aryArgs[intIdx] = "";
		}

		// 値の編集
		intDAICHU_CD = validInt( aryArgs[C_DAICHU_CD] );
		intDAIB_CD   = Math.floor( intDAICHU_CD / 1000 );
		intCHUB_CD 	 = intDAICHU_CD % 1000;

		// 値のセット
		document.frmData.txtFID.value 	 =	aryArgs[C_FID];
		if ( aryArgs.length > C_SEQ ) {
			m_setValue( document.frmData.txtSEQ, 		aryArgs[C_SEQ] );
			if ( aryArgs.length > C_DAICHU_CD ) {
				m_setValue( document.frmData.txtDAIB_CD, 	intDAIB_CD.toString() );
				m_setValue( document.frmData.txtCHUB_CD, 	intCHUB_CD.toString() );
				m_setValue( document.frmData.txtMode, 		validInt( aryArgs[C_MODE] ) );
			}
		}
		m_setValue( document.frmData.txtPageNo, 	1 );
		document.frmData.submit();
	}

	//********************************************************************
	//	関数名	：m_setValue
	//	機能	：オブジェクトに値をセットする。
	//	引数	：objTarget		：対象オブジェクト
	//	　　	　strSetValue	：値
	//	返り値	：なし
	//	作成	：2005/05/16 CSS
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function m_setValue( objTarget, strSetValue ) {

		// オブジェクトが存在する場合は、値をセットする。
		if ( objTarget ) {
			objTarget.value = strSetValue;
		}

	}

	//********************************************************************
	//	関数名	：prevPage
	//	機能	：前ページを表示する。
	//	引数	：strFID		：処理ID
	//	返り値	：なし
	//	作成	：2005/05/16 CSS
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function prevPage( strFID ) {

		var intPageNo;	// ページ番号

		intPageNo = validInt( document.frmData.txtPageNo.defaultValue );
		if ( intPageNo > 1 ) {
			intPageNo = intPageNo - 1;
		} else {
			intPageNo = 1;
		}

		document.frmData.txtFID.value 	 =	strFID;
		m_setValue( document.frmData.txtPageNo, intPageNo );

		document.frmData.submit();
	}

	//********************************************************************
	//	関数名	：nextPage
	//	機能	：次ページを表示する。
	//	引数	：strFID		：処理ID
	//	返り値	：なし
	//	作成	：2005/05/16 CSS
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function nextPage( strFID ) {

		var intPageNo;	// ページ番号

		intPageNo = validInt( document.frmData.txtPageNo.defaultValue );
		intPageNo = intPageNo + 1;

		document.frmData.txtFID.value 	 =	strFID;
		m_setValue( document.frmData.txtPageNo, intPageNo );

		document.frmData.submit();
	}

	//********************************************************************
	//	関数名	：changeImages
	//	機能	：画像の切り替えを行う。
	//	引数	：objControl		：切り替え対象オブジェクト
	//	　　	　strImage			：表示画像
	//	返り値	：なし
	//	作成	：2005/05/16 CSS
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function changeImages( objControl, strImage ) {

		document.images[objControl].src = strImage;

	}

	//********************************************************************
	//	関数名	：validInt
	//	機能	：数値以外を0に変換する。
	//	引数	：strValue		：対象文字列
	//	返り値	：数値
	//	作成	：2005/05/16 CSS
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function validInt( strValue ) {

		var intRet;		// 返り値

		// 数値に変換
		intRet = parseInt( strValue );

		// 数値以外は0に変換
		if ( isNaN( intRet ) == true ) {
			intRet = 0;
		}

		// 返り値
		return intRet;

	}

	//********************************************************************
	//	関数名	：openWin
	//	機能	：新しいウィンドウでファイルを表示する。
	//	引数	：strPath			：ファイルパス
	//	返り値	：なし
	//	作成	：2005/05/16 CSS
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function openWin( strPath ){

		newWindow = window.open("","new","width=520,height=540,menubar=1,toolbars=0,scrollbars=1,resizable=1");
		newWindow.location = strPath;
		newWindow.focus();

	}

	//********************************************************************
	//	関数名	：newWin
	//	機能	：新しいウィンドウでファイルを表示する。
	//	引数	：strPath			：ファイルパス
	//	返り値	：なし
	//	作成	：2005/05/16 CSS
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function newWin( strPath ){

		newWindow = window.open("","new","width=520,height=540,menubar=1,toolbars=0,scrollbars=1,resizable=0");
		newWindow.location = strPath;
		newWindow.focus();

	}

	//********************************************************************
	//	関数名	：openNewWindow
	//	機能	：新しいウィンドウでファイルを表示する。
	//	引数	：strURL			：ファイルパス
	//			：strWinName		：ウィンドウ名
	//			：strFeatures		：属性
	//	返り値	：なし
	//	作成	：2005/05/16 CSS
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function openNewWindow( strURL,strWinName,strFeatures ) {

		 window.open(strURL,strWinName,strFeatures);

	}

	//********************************************************************
	//	関数名	：updateImage
	//	機能	：画像の更新を行う。
	//	引数	：intMode			：モード（1:登録 2:削除時 9:ウィンドウ閉じ）
	//	　　	　strFileNM			：画像ファイル名
	//	　　	　strImgPath		：画像パス
	//	返り値	：なし
	//	作成	：2005/05/16 CSS 川上
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function updateImage( intMode, strFileNM, strImgPath ) {

		switch ( intMode ) {

			case 1:		// 登録時

				// Dateオブジェクトの生成
				time = new Date();
				// キャッシュ対策として画像名の後ろにuniqueな数字（時刻）をつける
				name_num = "?"+time.getTime();
				// Dateオブジェクトの破棄
				time = null;
				// uniqな数字追加
				strImgPath = strImgPath + name_num;
				window.opener.document.frmData.imgFile.src = strImgPath;
				window.opener.document.frmData.txtPIC_PATH.value = strFileNM;
				window.close();
				break;

			case 2:		// 削除時
				window.opener.document.frmData.txtPIC_PATH.value = "";
				// キャッシュ対策として表示画像には空白を入れる
				window.opener.document.frmData.imgFile.src = " ";
				window.close();
				break;

			default:	// 以外
				window.close();
				break;

		}
	}

	//********************************************************************
	//	関数名	：deleteConfirm
	//	機能	：画像の削除確認を行う
	//	引数	：
	//	返り値	：
	//	作成	：2005/07/29 CSS 川上
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function deleteConfirm(){
		if(window.confirm("本当に削除しますか？")){
			if(m_is_window() == true ) {
				if( m_is_opener_object() == true ) {
					updateImage( 2, '' , '' );
					return true;
				}
			}
			window.close();
			return false;
		}
	}
	//********************************************************************
	//	関数名	：is_window
	//	機能	：親ウィンドウの有無を確認する
	//	引数	：
	//	返り値	：TRUE			：OK
	//			：FALSE			：NG
	//	作成	：2005/07/29 CSS 川上
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function m_is_window() {

		var uAgent = navigator.userAgent
		if( !!window.opener ) {
			if( ( uAgent.indexOf('Gecko')!=-1 || uAgent.indexOf('MSIE 4')!=-1 )
				&& uAgent.indexOf('Win')!=-1 ) {
				return !window.opener.closed ;
			} else {
				return typeof window.opener.document  == 'object';
			}
		} else {
			return false;
		}
	}

	//********************************************************************
	//	関数名	：is_opener_object
	//	機能	：親ウィンドウ内にUSER_CDオブジェクトおよびPIT_PATHオブジェクトがあるかを判定する
	//	引数	：
	//	返り値	：TRUE				：OK
	//			：FALSE				：NG
	//	作成	：2005/07/29 CSS 川上
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function m_is_opener_object(){
		if ( typeof window.opener == 'object'
			&& typeof window.opener.document == 'object'
			&& typeof window.opener.document.frmData == 'object' 
			&& typeof window.opener.document.frmData.txtUSER_CD == 'object' 
			&& typeof window.opener.document.frmData.txtPIC_PATH  == 'object' ){
			return true;
		} else {
			return false;
		}
	}

	//********************************************************************
	//	関数名	：parentWindowCheck
	//	機能	：submitが押された場合の処理
	//	引数	：
	//	返り値	：TRUE				：OK
	//			：FALSE				：NG
	//	作成	：2005/07/29 CSS 川上
	//	更新	：
	//	2005 (c) Copyrights CS Services Co.,Ltd. All Rights Reserved.
	//********************************************************************
	function parentWindowCheck(){
		if(m_is_window() == true ) {
			if( m_is_opener_object() == true ) {
				// 引数と親ウィンドウの値との照合 
				if( document.frmImage.txtUSER_CD.value != ''
				&& window.opener.document.frmData.txtUSER_CD.value != ''
				&& window.opener.document.frmData.txtUSER_CD.value == document.frmImage.txtUSER_CD.value ) {
					// OKならFLAGオン 
					document.frmImage.flgImage.value = 'true';
					return true;
				} 
			}
		}
		// NGならウィンドウを閉じる
		window.close();
		return false;
	}

