var KEY_SEPARATOR      = ",";

/**
 * 画面読込時追加処理
 * @param 無し
 * @return 無し
 * @throws 実行時例外
 */
function onLoadExtra() {
	// 項目背景色設定
	setFieldsBgColor(ARY_FIELDS_ID,     COLOR_FIELD_NORMAL);
	setFieldsBgColor(ARY_ERR_FIELDS_ID, COLOR_FIELD_ERROR);
	// 項目長設定
	setMaxLength(PRM_TXT_HOLIDAY_COMMENT	, LEN_COMMENT);
	// フォーカス設定(EDITの場合)
	setFocus(PRM_PLT_HOLIDAY_REASON);
	// モードタイトル
	switch (MODE) {
		case 0:
			setInnerHtml('spnMode', NAM_MODE_INSERT);
			break;
		case 1:
			setInnerHtml('spnMode', NAM_MODE_EDIT);
			break;
		case 2:
			setInnerHtml('spnMode', NAM_MODE_APPROVED);
			setColor('spnMode', COLOR_MSG_WARNING);
			break;		
		default:
	}
	
	// 登録ボタン利用可否
	if (MODE == 2) {
		setVisibility("btnRegist", false);
		setWidth("btnRegist", 0);
	}
	// 削除ボタン利用可否
	if (MODE != 1) {
		setVisibility("btnDelete", false);
		setWidth("btnDelete", 0);
	}
	// 入力ボタン利用可否
	if (SELECT_CMD == "K1130") {
		setVisibility("btnHoliday", false);
		setVisibility("btnQuit", false);	
		setVisibility("btnCheck", false);
	} else {
		setVisibility("btnStart", false);
		setVisibility("btnQuit", false);	
		setVisibility("btnCheck", false);
	}
}

/**
 * サーバー通信処理
 * @param 無し
 * @return 無し
 * @throws 実行時例外
 */
function submitForm(objForm) {
	// 入力チェック
	if (validate()) {
		doSubmitMessage(objForm, 'K1132', 'QC0001', "");
	}
}

/**
 * 入力チェック
 * @param 無し
 * @return チェック結果(true：OK、false：NG)
 * @throws 実行時例外
 */
function validate() {
	// フィールド背景色設定
	setFieldsBgColor(ARY_FIELDS_ID, COLOR_FIELD_NORMAL);
	// 入力チェック
	var aryMessage = new Array();
	
	if (getFormValue(PRM_PLT_SUBSTITUTE_YEAR) != "" 
			|| getFormValue(PRM_PLT_SUBSTITUTE_MONTH) != "" 
			|| getFormValue(PRM_PLT_SUBSTITUTE_DAY) != "") {
		checkDate(PRM_PLT_SUBSTITUTE_YEAR, PRM_PLT_SUBSTITUTE_MONTH, PRM_PLT_SUBSTITUTE_DAY, NAM_SUBSTITUTE_HOLIDAY, aryMessage);
	}
	if (aryMessage.length == 0) {
		return true;
	} else {
		showMessage(aryMessage);
		return false;
	}
}

function checkDate(yyyy, mm, dd,msg,aryMsg) {
	//年月日チェック
	dayMonth = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	ValidFlag = true;
	yyyy2 = getFormValue(yyyy);
	mm2 = getFormValue(mm);
	dd2 = getFormValue(dd);
	if ((mm2 < 1) || (mm2 > 12)){
		setBgColor(yyyy, COLOR_FIELD_ERROR);
		aryMsg.push(msg + "の月は1--12を入力してください。");
	}
	if ((dd2 < 1) || (dd2 > dayMonth[mm2 - 1])){
		setBgColor(dd, COLOR_FIELD_ERROR);
		aryMsg.push(getMessage("WC0006", msg));
	}
	if (!chkUrudosi(yyyy2) && (mm2 == 2) && (dd2 == 29)){
		setBgColor(dd, COLOR_FIELD_ERROR);
		aryMsg.push(getMessage("WC0006", msg));
	}
}

function chkUrudosi(y) {
	if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) {
		return true;
	}
	return false;
}

