/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：FUW00946SFLogic
 *   ソースファイル名：FUW00946SFLogic.java
 *   作成者          ：富士通
 *   日付            ：2017年02月24日
 *＜機能概要＞
 *   関電ガス申込入力(量販・訪販)画面ビューロジックです。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *  v29.00       2017/02/24   FJ) 横山   【ANK-3091-00-00】アンケートフォームによるガス申込対応
 **********************************************************************/
package eo.web.webview.FUW00946SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.Map;

import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;
import com.fujitsu.futurity.model.common.check.MixCharCheck;

import eo.common.constant.JFUStrConst;
import eo.common.util.JPCUtilCommon;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * 関電ガス申込入力(量販・訪販)画面のビューロジッククラスです。
 * <p>
 * <BR>
 * 
 * @author 富士通
 */
@SuppressWarnings( { "serial" })
public class FUW00946SFLogic extends JCCWebBusinessLogic
{

	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";
	/** プロパティファイル取得文字列 */
	private static final String PATH_GAS_ENQ_NO = "DISPSETTING/SETTING[@screenId='FUW00946']/DISPTEXT[@groupid='gas_enquete_no']";
	/** プロパティファイル取得文字列 */
	private static final String PATH_GAS_ENQ_CD = "DISPSETTING/SETTING[@screenId='FUW00946']/DISPTEXT[@groupid='gas_enquete_cd']";
	/** プロパティファイル取得文字列 */
	private static final String PATH_GAS_ENQ_CD_NY = "DISPSETTING/SETTING[@screenId='FUW00946']/DISPTEXT[@groupid='gas_enquete_cd_naiyo']";
	/** プロパティファイル取得文字列 */
	private static final String PATH_GAS_DSP_JUN = "DISPSETTING/SETTING[@screenId='FUW00946']/DISPTEXT[@groupid='gas_dsp_jun']";

	/** ラジオボタン選択値 */
	private static final String SELECT_RADIO_VALUE_0 = "0";
	/** ラジオボタン選択値 */
	private static final String SELECT_RADIO_VALUE_1 = "1";

	/** アンケートNO 10001019 */
	private static final String ENQNO_10001019 = "10001019";
	/** アンケートNO 10001020 */
	private static final String ENQNO_10001020 = "10001020";
	/** アンケートNO 10001023 */
	private static final String ENQNO_10001023 = "10001023";
	/** アンケートNO 10001024 */
	private static final String ENQNO_10001024 = "10001024";

	/** チェック項目名 */
	private static final String[] ITEM_NAMES =
			{ "現在契約中の大阪ガスの契約名義", "現在契約中の大阪ガスの契約名義", "現在契約中の大阪ガスのご使用番号", "現在契約中のガス供給地点特定番号", "ガス使用用途", "関電ガスの手続き用メールアドレス" };
	/** チェック項目ID */
	private static final String[] ITEM_IDS =
			{ "nowGasKshNm", "nowGasKshNmKana", "nowGasUseNumText", "nowGasFdPntSpecNumText", "nowGasUseWayText", "nowGasMailAddress" };
	/** MIXチェック */
	private static final boolean[] MIX_CHKS = { true, false, false, false, true, true };
	/** 全角カタカナチェック */
	private static final boolean[] KATA_CHKS = { false, true, false, false, false, false };
	/** 半角数字チェック */
	private static final boolean[] NUM_CHKS = { false, false, true, true, false, false };
	/** E-mailチェック */
	private static final boolean[] EMAIL_CHKS = { false, false, false, false, false, true };
	/** ラジオボタン条件 */
	private static final String[] RADIO_JKN = { "1", "1", "0", "0", "1", "0" };
	/** 桁数チェック */
	private static final int[] LEN_JUST_CHKS = { 0, 0, 13, 17, 0, 0 };
	/** 桁数超チェック */
	private static final int[] LEN_OVER_CHKS = { 90, 90, 0, 0, 90, 80 };
	/** 桁数超チェック属性 */
	private static final String[] LEN_OVER_KINDS = { "、", "全角カタカナ", "", "", "、", "E-mail" };

	/** メッセージID EKF0010-TW */
	private static final String MSG_EKF0010_TW = "EKF0010-TW";
	/** メッセージID EKF0020-TW */
	private static final String MSG_EKF0020_TW = "EKF0020-TW";
	/** メッセージID EKF0030-TW */
	private static final String MSG_EKF0030_TW = "EKF0030-TW";
	/** メッセージID EKF0140-TW */
	private static final String MSG_EKF0140_TW = "EKF0140-TW";
	/** メッセージID EKF0220-TW */
	private static final String MSG_EKF0220_TW = "EKF0220-TW";
	/** メッセージID EKF0400-TW */
	private static final String MSG_EKF0400_TW = "EKF0400-TW";
	/** メッセージID EKF1970-NW */
	private static final String MSG_EKF1970_NW = "EKF1970-NW";

	/**
	 * 初期表示処理
	 * 
	 * @return true(固定)
	 */
	public boolean init() throws Exception
	{
		DEBUG_LOG.info("----- init_FUW00946 Start -----");

		// 共有フォームBean
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		// 共有フォームBean.Web新規情報
		X31SDataBeanAccessArray webNewInfo = commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		webNewInfo.addDataBean();
		X31SDataBeanAccess webNewInfoBean = webNewInfo.getDataBean(0);

		// 共有フォームBean.Web新規情報.関電ガス申込情報
		X31SDataBeanAccessArray gaslist = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.GAS_MSKM_INFO);

		// サービスフォームBean
		X31SDataBeanAccess bean = getServiceFormBean();
		// 関電ガス申込情報
		X31SDataBeanAccessArray gasMskmInfo = bean.getDataBeanArray(FUW00946SFConst.GAS_MSKM_INFO);

		Map<String, String> enqNo = JFUWebCommon.getDispItemsAsMap(PATH_GAS_ENQ_NO, QUERY_ATTR_NAME);
		Map<String, String> enqCd = JFUWebCommon.getDispItemsAsMap(PATH_GAS_ENQ_CD, QUERY_ATTR_NAME);
		Map<String, String> enqCdNy = JFUWebCommon.getDispItemsAsMap(PATH_GAS_ENQ_CD_NY, QUERY_ATTR_NAME);
		Map<String, String> dspJn = JFUWebCommon.getDispItemsAsMap(PATH_GAS_DSP_JUN, QUERY_ATTR_NAME);

		for (int i = 0; i < enqNo.size(); i++)
		{
			X31SDataBeanAccess subbean = gasMskmInfo.addDataBean();
			// 要素数
			String keyNum = String.valueOf(i + 1);

			String enqueteNo = enqNo.get(keyNum);

			// アンケート番号
			subbean.sendMessageString(FUW00946SFConst.ENQUETE_NO_01, X31CWebConst.DATABEAN_SET_VALUE, enqueteNo);
			// アンケートコード
			subbean.sendMessageString(FUW00946SFConst.ENQUETE_CD_01, X31CWebConst.DATABEAN_SET_VALUE, enqCd.get(keyNum));
			// アンケートコード内容
			subbean.sendMessageString(FUW00946SFConst.ENQUETE_CD_NAIYO_01, X31CWebConst.DATABEAN_SET_VALUE, enqCdNy.get(keyNum));
			// 表示順
			subbean.sendMessageString(FUW00946SFConst.DSP_JUN_01, X31CWebConst.DATABEAN_SET_VALUE, dspJn.get(keyNum));

			if (gaslist.getCount() > i)
			{
				// 関電ガス申込情報
				X31SDataBeanAccess gasbean = gaslist.getDataBean(i);
				// ラジオボタン選択値
				String radioValue = gasbean.sendMessageString(CommonInfoCFConst.RADIO_VALUE_63, X31CWebConst.DATABEAN_GET_VALUE);
				subbean.sendMessageString(FUW00946SFConst.RADIO_VALUE_01, X31CWebConst.DATABEAN_SET_VALUE, radioValue);
				// アンケートフリー入力欄
				if (SELECT_RADIO_VALUE_0.equals(radioValue)
						&& (ENQNO_10001019.equals(enqueteNo) || ENQNO_10001020.equals(enqueteNo) || ENQNO_10001023.equals(enqueteNo)))
				{
					subbean.sendMessageString(FUW00946SFConst.ENQUETE_FREE_IPTFIELD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
				else
				{
					subbean.sendMessageString(FUW00946SFConst.ENQUETE_FREE_IPTFIELD_01, X31CWebConst.DATABEAN_SET_VALUE, gasbean.sendMessageString(
							CommonInfoCFConst.ENQUETE_FREE_IPTFIELD_63, X31CWebConst.DATABEAN_GET_VALUE));

				}
			}
			else
			{
				// ラジオボタン選択値
				subbean.sendMessageString(FUW00946SFConst.RADIO_VALUE_01, X31CWebConst.DATABEAN_SET_VALUE, SELECT_RADIO_VALUE_0);
				// アンケートフリー入力欄
				if (ENQNO_10001024.equals(enqueteNo))
				{
					// 初期値に連絡先メールアドレスを設定
					String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);
					String mlad = getKshMlad(getKeiyakuinfo(webNewInfoBean), keiSbt);
					subbean.sendMessageString(FUW00946SFConst.ENQUETE_FREE_IPTFIELD_01, X31CWebConst.DATABEAN_SET_VALUE, mlad);
				}
				else
				{
					// 空白を設定
					subbean.sendMessageString(FUW00946SFConst.ENQUETE_FREE_IPTFIELD_01, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
				}
			}
		}

		DEBUG_LOG.info("----- init_FUW00946 End -----");
		return true;
	}

	/**
	 * 戻るボタン押下時
	 * 
	 * @return true(固定)
	 * @exception Exception
	 */
	public boolean back()
	{
		DEBUG_LOG.info("----- back_FUW00946 Start -----");

		// 共有フォームBeanのインスタンスを生成します。
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		// 共有フォームBean.Web新規情報
		X31SDataBeanAccessArray webNewInfo = commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewInfoBean = webNewInfo.getDataBean(0);

		// ガス申込情報をクリア
		webNewInfoBean.getDataBeanArray(CommonInfoCFConst.GAS_MSKM_INFO).clearArray();

		// 遷移先画面を設定します。
		setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00928, JFUScreenConst.SCREEN_NAME_FUW00928);

		DEBUG_LOG.info("----- back_FUW00946 End -----");

		return true;
	}

	/**
	 * 次へボタン押下時
	 * 
	 * @return true
	 * @exception Exception
	 */
	public boolean next() throws Exception
	{
		DEBUG_LOG.info("----- next_FUW00946 Start -----");

		// ガス申込情報の入力チェック
		if (!chkGasMskmInfo())
		{
			return true;
		}

		// ガス申込情報の設定
		setGasMskmInfo();

		// 遷移先画面を設定します。
		setNextScreen(JFUStrConst.SCREEN_MODE_DEF, JFUScreenConst.SCREEN_ID_FUW00943, JFUScreenConst.SCREEN_NAME_FUW00943);

		DEBUG_LOG.info("----- next_FUW00946 End -----");

		return true;
	}

	/**
	 * 
	 * ガス申込情報の設定
	 */
	private void setGasMskmInfo()
	{

		// 共有フォームBeanのインスタンスを生成します。
		X31SDataBeanAccess commoninfoBean = getCommonInfoBean();
		X31SDataBeanAccess webNewInfoBean = commoninfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakuinfo(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		X31SDataBeanAccessArray gaslist = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.GAS_MSKM_INFO);
		gaslist.clearArray();

		// ■サービスフォームBean
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();

		X31SDataBeanAccessArray arylist = serviceFormBean.getDataBeanArray(FUW00946SFConst.GAS_MSKM_INFO);
		for (int i = 0; i < arylist.getCount(); i++)
		{
			X31SDataBeanAccess subbean = arylist.getDataBean(i);

			String enqueteNo = subbean.sendMessageString(FUW00946SFConst.ENQUETE_NO_01, X31CWebConst.DATABEAN_GET_VALUE);
			String enqueteCd = subbean.sendMessageString(FUW00946SFConst.ENQUETE_CD_01, X31CWebConst.DATABEAN_GET_VALUE);
			String enqueteCdNy = subbean.sendMessageString(FUW00946SFConst.ENQUETE_CD_NAIYO_01, X31CWebConst.DATABEAN_GET_VALUE);
			String radioValue = subbean.sendMessageString(FUW00946SFConst.RADIO_VALUE_01, X31CWebConst.DATABEAN_GET_VALUE);
			String enqFreeIpt = subbean.sendMessageString(FUW00946SFConst.ENQUETE_FREE_IPTFIELD_01, X31CWebConst.DATABEAN_GET_VALUE);
			String dspJun = subbean.sendMessageString(FUW00946SFConst.DSP_JUN_01, X31CWebConst.DATABEAN_GET_VALUE);

			X31SDataBeanAccess gasbean = gaslist.addDataBean();

			gasbean.sendMessageString(CommonInfoCFConst.ENQUETE_NO_63, X31CWebConst.DATABEAN_SET_VALUE, enqueteNo);
			gasbean.sendMessageString(CommonInfoCFConst.ENQUETE_CD_63, X31CWebConst.DATABEAN_SET_VALUE, enqueteCd);
			gasbean.sendMessageString(CommonInfoCFConst.ENQUETE_CD_NAIYO_63, X31CWebConst.DATABEAN_SET_VALUE, enqueteCdNy);
			gasbean.sendMessageString(CommonInfoCFConst.RADIO_VALUE_63, X31CWebConst.DATABEAN_SET_VALUE, radioValue);
			gasbean.sendMessageString(CommonInfoCFConst.DSP_JUN_63, X31CWebConst.DATABEAN_SET_VALUE, dspJun);

			if (ENQNO_10001019.equals(enqueteNo) && SELECT_RADIO_VALUE_0.equals(radioValue))
			{
				String shimei = "";
				// WEB新規情報.契約種別によって、個人/法人どちらを設定するか判断する
				if (JFUStrConst.CD00036_1.equals(keiSbt))
				{
					// 契約種別が個人の場合、契約者情報.氏名（姓）＋（名）を設定する
					shimei = getKshNm(keiyakushaInfoBean);
				}
				else
				{
					// 契約種別が法人の場合、契約者情報.法人名を設定する
					shimei = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE);
				}
				gasbean.sendMessageString(CommonInfoCFConst.ENQUETE_FREE_IPTFIELD_63, X31CWebConst.DATABEAN_SET_VALUE, shimei);
			}
			else if (ENQNO_10001020.equals(enqueteNo) && SELECT_RADIO_VALUE_0.equals(radioValue))
			{
				String shimei = "";
				// WEB新規情報.契約種別によって、個人/法人どちらを設定するか判断する
				if (JFUStrConst.CD00036_1.equals(keiSbt))
				{
					// 契約種別が個人の場合、契約者情報.氏名かな（姓）＋（名）を設定する
					shimei = getKshNmKana(keiyakushaInfoBean);
				}
				else
				{
					// 契約種別が法人の場合、契約者情報.法人名かなを設定する
					shimei = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJINKN_09, X31CWebConst.DATABEAN_GET_VALUE);
				}
				// ひらがな→カタカナに変換
				shimei = JPCUtilCommon.convFullHiraToFullKata(shimei);
				gasbean.sendMessageString(CommonInfoCFConst.ENQUETE_FREE_IPTFIELD_63, X31CWebConst.DATABEAN_SET_VALUE, shimei);
			}
			else if (ENQNO_10001023.equals(enqueteNo) && SELECT_RADIO_VALUE_0.equals(radioValue))
			{
				gasbean.sendMessageString(CommonInfoCFConst.ENQUETE_FREE_IPTFIELD_63, X31CWebConst.DATABEAN_SET_VALUE, "家庭用");
			}
			else
			{
				gasbean.sendMessageString(CommonInfoCFConst.ENQUETE_FREE_IPTFIELD_63, X31CWebConst.DATABEAN_SET_VALUE, enqFreeIpt);
			}
		}
	}

	/**
	 * 契約者情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getKeiyakuinfo(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 契約者情報・メールアドレスを取得する
	 * 
	 * <br>
	 * 
	 * @param keiyakushaInfoBean
	 * @param keiSbt
	 * @return String
	 */
	public String getKshMlad(X31SDataBeanAccess keiyakushaInfoBean, String keiSbt)
	{
		String retString = "";

		if (JFUStrConst.CD00036_1.equals(keiSbt))
		{
			// 契約種別が個人の場合
			retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else
		{
			// 契約種別が法人の場合
			retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}

		return retString;
	}

	/**
	 * 契約者情報・氏名を取得する
	 * 
	 * <br>
	 * 
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	public String getKshNm(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(JFUStrConst.SPACE);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * 契約者情報・氏名かなを取得する
	 * 
	 * <br>
	 * 
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshNmKana(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(JFUStrConst.SPACE);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

		return sb.toString();
	}

	/**
	 * 
	 * ガス申込情報のチェック
	 * 
	 * @return チェック結果
	 */
	private boolean chkGasMskmInfo()
	{

		boolean isChkOk = true;

		// サービスフォームBean
		X31SDataBeanAccess serviceFormBean = getServiceFormBean();
		X31SDataBeanAccessArray arylist = serviceFormBean.getDataBeanArray(FUW00946SFConst.GAS_MSKM_INFO);
		for (int i = 0; i < arylist.getCount(); i++)
		{
			X31SDataBeanAccess subbean = arylist.getDataBean(i);

			String radioValue = subbean.sendMessageString(FUW00946SFConst.RADIO_VALUE_01, X31CWebConst.DATABEAN_GET_VALUE);
			String enqFreeIpt = subbean.sendMessageString(FUW00946SFConst.ENQUETE_FREE_IPTFIELD_01, X31CWebConst.DATABEAN_GET_VALUE);

			// ラジオボタン選択値が１の場合、必須チェック
			if (SELECT_RADIO_VALUE_1.equals(radioValue))
			{
				if (JFUWebCommon.isNull(enqFreeIpt))
				{
					// エラーメッセージを表示する。
					JCCWebCommon.setMessageInfo(this, MSG_EKF0010_TW, new String[] { ITEM_NAMES[i] }, ITEM_IDS[i]);
					isChkOk = false;
				}
			}
			// 桁数チェック
			if (LEN_JUST_CHKS[i] > 0 && !JFUWebCommon.isNull(enqFreeIpt) && RADIO_JKN[i].equals(radioValue))
			{
				if (enqFreeIpt.length() != LEN_JUST_CHKS[i])
				{
					// エラーメッセージを表示する。
					JCCWebCommon.setMessageInfo(this, MSG_EKF0020_TW, new String[] { ITEM_NAMES[i], String.valueOf(LEN_JUST_CHKS[i]) }, ITEM_IDS[i]);
					isChkOk = false;
				}
			}
			// 桁数超チェック
			if (LEN_OVER_CHKS[i] > 0 && !JFUWebCommon.isNull(enqFreeIpt) && RADIO_JKN[i].equals(radioValue))
			{
				if (enqFreeIpt.length() > LEN_OVER_CHKS[i])
				{
					// エラーメッセージを表示する。
					JCCWebCommon.setMessageInfo(this, MSG_EKF0030_TW, new String[] { ITEM_NAMES[i], LEN_OVER_KINDS[i],
							String.valueOf(LEN_OVER_CHKS[i]) }, ITEM_IDS[i]);
					isChkOk = false;
				}
			}
			// MIXチェック
			if (MIX_CHKS[i] && !JFUWebCommon.isNull(enqFreeIpt) && RADIO_JKN[i].equals(radioValue))
			{
				if (!MixCharCheck.isMixCheck(enqFreeIpt))
				{
					// エラーメッセージを表示する。
					JCCWebCommon.setMessageInfo(this, MSG_EKF1970_NW, new String[] { ITEM_NAMES[i] }, ITEM_IDS[i]);
					isChkOk = false;
				}
			}
			// 名義人カナチェック
			if (KATA_CHKS[i] && !JFUWebCommon.isNull(enqFreeIpt) && RADIO_JKN[i].equals(radioValue))
			{
				if (!MixCharCheck.isMeigiNinKanaCheck(enqFreeIpt))
				{
					// エラーメッセージを表示する。
					JCCWebCommon.setMessageInfo(this, MSG_EKF0400_TW, new String[] { ITEM_NAMES[i] }, ITEM_IDS[i]);
					isChkOk = false;
				}
			}
			// 半角数字チェック
			if (NUM_CHKS[i] && !JFUWebCommon.isNull(enqFreeIpt) && RADIO_JKN[i].equals(radioValue))
			{
				if (!JFUWebCommon.isNumber1Check(enqFreeIpt))
				{
					// エラーメッセージを表示する。
					JCCWebCommon.setMessageInfo(this, MSG_EKF0140_TW, new String[] { ITEM_NAMES[i] }, ITEM_IDS[i]);
					isChkOk = false;
				}
			}
			// EMAIL形式チェック
			if (EMAIL_CHKS[i] && !JFUWebCommon.isNull(enqFreeIpt) && RADIO_JKN[i].equals(radioValue))
			{
				if (!JFUWebCommon.isEmail1Check(enqFreeIpt))
				{
					// エラーメッセージを表示する。
					JCCWebCommon.setMessageInfo(this, MSG_EKF0220_TW, new String[] { ITEM_NAMES[i] }, ITEM_IDS[i]);
					isChkOk = false;
				}
			}

		}

		return isChkOk;
	}

	/**
	 * 遷移先設定
	 * @param screenMode				画面遷移モード
	 * @param nextScreenId				画面ID
	 * @param nextScreenName			画面名
	 */
	private void setNextScreen(String screenMode, String nextScreenId, String nextScreenName)
	{
		X31SDataBeanAccess commonInfoBean = super.getCommonInfoBean();
		X31SDataBeanAccessArray arr = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess webNewInfoBean = arr.getDataBean(0);

		webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_SET_VALUE, screenMode);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);
		commonInfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);
		DEBUG_LOG.info(CommonInfoCFConst.SCREEN_MODE_06 + " : "
				+ webNewInfoBean.sendMessageString(CommonInfoCFConst.SCREEN_MODE_06, X31CWebConst.DATABEAN_GET_VALUE));
		DEBUG_LOG.debug(String.format("遷移先 CD：%s NM：%s", nextScreenId, nextScreenName));
	}

}
