﻿// 자바스크립트에서 사용하는 메시지 선언
var MSG_ACCESS_DENIED = "Access Denied !!!";
var MSG_FIELD_MISS    = "{0} field is missing !!!";
var MSG_FIELD_MISS2   = "{0} field is missing !!!\n\nPlease {1}. 1 more.";
var MSG_DEL_CONFIRM   = "Are you sure you want to delete?";
var MSG_MOVE_CONFIRM  = "Really, Do you want movement?";
var MSG_SUBMIT_CONFIRM = "Are you sure?";

var MSG_NO_MSF_DATA = "No Data !!!";	//MSF 데이터가 없을 경우
var MSG_MSF_EXPIRE = "This Account is Expiration !!!";	//MSF 만료기간이 지난경우
var MSG_DATE_MISS_TODAY_BEFORE = "You cannot select a date preceding today.";	//오늘 이후의 날짜가 입력되어야 하는데, 어제 이전 날짜가 입력된 경우
var MSG_NUMBERRIC_FIELD_MISS    = "You can only key in numbers."; //금액등의 숫자 필드에서
var MSG_PRAMT_OVER_AVAAMT_MISS    = "Your application cannot be processed due to insufficiency in available balance."; //사용 금액보다 신청금액이 많은경우(MSF, BDF에서)
var MSG_PRAMT_OVER_PERREQ_MISS    = "Total requested MSF may be used within the limit of 50 percent of total estimated budget."; //신청금액(Prior Amount)이 총예산(Total estimated budget)의 신청가능 퍼센트(Percent Requested)보다 많은경우(MSF)
var MSG_PAST_REVN_SEQ_ERR = "If you choose creation of accrual for the selected quarter of the year, the accruals registered for the ensuing period will be deleted, which means that you will create accruals for them anew.\nWill you continue, knowing what is stated above?\n";	//파트너의 과거 실적계산에서 다음 분기 계산이 끝난상태에서 그 이전의 실적을 계산하려고 할 경우 사용
var MSG_DISABLE_ACCR = "Please select an object for creation of accrual.";	//관리자 모드에서 accrual발생하려고 할때 파트너 리스트에 있는 체크박스 체크 안하면 나오는 문구
var MSG_CONTENT_LENGTH_LONG = "작성 내용의 길이가 너무 큽니다. {0}글자 이내로 작성하여주시기 바랍니다.";

var MSG_NO_BDF_DATA = "No Data !!!";	//BDF 데이터가 없을 경우
var MSG_BDF_EXPIRE = "만료기간이 지났으므로 신청할수 없습니다.";	//BDF 만료기간이 지난경우
var MSG_KR_DATE_MISS_TODAY_BEFORE = "오늘 이전의 날짜는 선택하실 수 없습니다.";	//오늘 이후의 날짜가 입력되어야 하는데, 어제 이전 날짜가 입력된 경우
var MSG_KR_NUMBERRIC_FIELD_MISS    = "숫자로만 입력이 가능합니다."; //금액등의 숫자 필드에서
var MSG_KR_PRAMT_OVER_AVAAMT_MISS    = "Available Balance가 부족하여 신청하실 수 없습니다."; //사용 금액보다 신청금액이 많은경우(MSF, BDF에서)
var MSG_KR_PRAMT_OVER_PERREQ_MISS    = "신청 금액이 신청가능 제한 퍼센티지를 초과하였습니다."; //신청금액(Prior Amount)이 총예산(Total estimated budget)의 신청가능 퍼센트(Percent Requested)보다 많은경우(BDF에서는 사용 안하는듯..)
var MSG_KR_PAST_REVN_SEQ_ERR = "선택하신 분기의 Accrual을 생성하시면 이후의 기간에 등록된 Accrual이 삭제되며, 신규로 Accrual을 생성하셔야 합니다.\n그래도 진행하시겠습니까?\n";	//파트너의 과거 실적계산에서 다음 분기 계산이 끝난상태에서 그 이전의 실적을 계산하려고 할 경우 사용
var MSG_KR_DISABLE_ACCR = "Accrual을 생성할 대상을 선택하십시요.";	//관리자 모드에서 accrual발생하려고 할때 파트너 리스트에 있는 체크박스 체크 안하면 나오는 문구
var MSG_KR_CONTENT_LENGTH_LONG = "작성 내용의 길이가 너무 큽니다. {0}글자 이내로 작성하여주시기 바랍니다.";


var MSG_CONTENT_LENGTH_SHORT = "{0} 내용의 길이가 너무 작습니다.";
//----------------------------- 1. 공통 메세지 -------------------------------//
var MSG_COM_INF_001   = "성공적으로 저장하였습니다.";
var MSG_COM_INF_002   = "성공적으로 등록하였습니다.";
var MSG_COM_INF_003   = "성공적으로 수정하였습니다.";
var MSG_COM_INF_004   = "성공적으로 삭제하였습니다.";
var MSG_COM_INF_005   = "@님 안녕하세요?";
var MSG_COM_INF_008   =  "관리자에게 문의하십시오.";
var MSG_COM_INF_009   =  "성공적으로 출력되었습니다.";
var MSG_COM_INF_010   =  "@을(를) 성공적으로 저장하였습니다.";
var MSG_COM_INF_011   =  "@이(가) 삭제되었습니다.";
var MSG_COM_INF_012   =  "@을(를) 성공적으로 생성하였습니다.";
var MSG_COM_INF_013   =  "처리가 취소되었습니다.";
var MSG_COM_INF_007   =  "유효합니다.";
var MSG_COM_INF_015   =  "유효한 @입니다.";

var MSG_COM_CRM_001   = "저장하시겠습니까?";
var MSG_COM_CRM_002   = "등록하시겠습니까?";
var MSG_COM_CRM_003   = "수정하시겠습니까?";
var MSG_COM_CRM_004   = "삭제하시겠습니까?";
var MSG_COM_CRM_005   = "변경사항이 반영되지 않았습니다. 계속 하시겠습니까?";
var MSG_COM_CRM_006   =  "이미 존재하는 @ 입니다. 추가하시겠습니까?";
var MSG_COM_CRM_008   =  "@을(를) 삭제하시겠습니까?";
var MSG_COM_CRM_009   =  "@을(를) 생성하시겠습니까?";
var MSG_COM_CRM_010   =  "@을(를) 적용하시겠습니까?";
var MSG_COM_CRM_011   =  "취소하시겠습니까?";
var MSG_COM_CRM_013   =  "즉시 승인하시겠습니까?";

var MSG_COM_ERR_001   = "@은(는) 변경된 사항이 없습니다.";
var MSG_COM_ERR_002   = "@은(는) 필수 입력 항목입니다.";
var MSG_COM_ERR_003   = "해당되는 자료가 존재하지 않습니다.";
var MSG_COM_ERR_004   = "@은(는) 공백없이 입력하십시오.";
var MSG_COM_ERR_005   = "@은(는) @자리수만큼 입력하십시오.";
var MSG_COM_ERR_006   = "@은(는) @부터 @사이로 입력하십시오.";
var MSG_COM_ERR_007   = "@은(는) 숫자만을 입력하십시오.";
var MSG_COM_ERR_008   = "@은(는) 문자만을 입력하십시오.";
var MSG_COM_ERR_009   = "@은(는) 숫자와 문자만을 입력하십시오.(공백제외)";
var MSG_COM_ERR_010   = "@은(는) 숫자와 문자만을 입력하십시오.(공백포함)";
var MSG_COM_ERR_011   = "@은(는) @자 이상으로 입력하십시오.";
var MSG_COM_ERR_012   = "@은(는) @자 이하로 입력하십시오.";
var MSG_COM_ERR_013   = "@은(는) @ 이상으로 입력하십시오.";
var MSG_COM_ERR_014   = "@은(는) @ 이하로 입력하십시오.";
var MSG_COM_ERR_015   = "@은(는) 년도가 잘못되었습니다.";
var MSG_COM_ERR_016   = "@은(는) 유효한 주민등록번호가 아닙니다.";
var MSG_COM_ERR_017   = "@은(는) 유효한 사업자등록번호가 아닙니다.";
var MSG_COM_ERR_018   = "@은(는) 유효한 날짜가 아닙니다.";
var MSG_COM_ERR_019   = "@은(는) 월이 잘못되었습니다.";
var MSG_COM_ERR_020   = "@은(는) 일이 잘못되었습니다.";
var MSG_COM_ERR_021   = "@은(는) 시가 잘못되었습니다.";
var MSG_COM_ERR_022   = "@은(는) 분이 잘못되었습니다.";
var MSG_COM_ERR_023   = "@은(는) 초가 잘못되었습니다.";
var MSG_COM_ERR_025   = "@은(는) @년 @월 @일 이후이어야 합니다.";
var MSG_COM_ERR_024   = "@은(는) @년 @월 @일 이전이어야 합니다.";
var MSG_COM_ERR_026   = "@은(는) '@' 형식이어야 합니다.\n" +
														"  - # : 문자 혹은 숫자\n" +
														"  - h, H : 한글(H는 공백포함)\n" +
														"  - A, Z : 문자(Z는 공백포함)\n" +
														"  - 0, 9 : 숫자(9는 공백포함)";
var MSG_COM_ERR_027   =  "@은(는) @자리수만큼 입력하십시오. (한글은 @자리수)";
var MSG_COM_ERR_028   =  "@은(는) @자 이상으로 입력하십시오. (한글은 @자 이상)";
var MSG_COM_ERR_029   =  "@은(는) @자 이하로 입력하십시오. (한글은 @자 이하)";
var MSG_COM_ERR_030   =  "@은(는) ";
var MSG_COM_ERR_031   =  "@의 @번째 데이터에서 ";
var MSG_COM_ERR_032   =  "@은(는) 중복될 수 없습니다.";
var MSG_COM_ERR_033   =  "@은(는) 다음 문자가 올 수 없습니다.\n@";
var MSG_COM_ERR_034   =  "페이지 설정이 잘못되었습니다.";
var MSG_COM_ERR_035   =  "@페이지 이상은 출력할 수 없습니다";
var MSG_COM_ERR_036   =  "@은(는) 다음 문자만 올 수 있습니다.\n@";
var MSG_COM_ERR_037   =  "@은(는) 유효한 이메일 주소가 아닙니다.";
var MSG_COM_ERR_038   =  "유효한 @가 아닙니다."
var MSG_COM_ERR_039   =  "시작일자를 종료일자 이전으로 선택[입력]하여 주십시오.";
var MSG_COM_ERR_040   =  "패스워드가 일치하지 않습니다.";
var MSG_COM_ERR_041   =  "@은(는) @할 수 없습니다.";
var MSG_COM_ERR_042   =  "@은(는) 변경된 사항이 있습니다. \n변경사항을 저장 후 @을(를) 수행하십시오.";
var MSG_COM_ERR_043	  =  "유효하지 않는 @ 입니다.\n다시 입력하여주십시요";
var MSG_COM_ERR_045   =  "시작범위는 종료범위보다 작아야 합니다. :@";
var MSG_COM_ERR_046   =  "존재하지 않는 @입니다.";
var MSG_COM_ERR_047   =  "오류가 발생하였습니다.\n관리자에게 문의하십시오.";
var MSG_COM_ERR_048   =  "@은(는) @보다 작아야 합니다.";
var MSG_COM_ERR_049   =  "@이(가) 존재하지 않습니다.";
var MSG_COM_ERR_050   =  "오류가 발생하였습니다.\n처음부터 다시 시작하여 주십시오.";
var MSG_COM_ERR_051   =  "@을(를) 실패하였습니다.";
var MSG_COM_ERR_052   =  "해당조건의 @이(가) 존재하지 않습니다.";
var MSG_COM_ERR_053   =  "@이(가) 누락되었습니다.";
var MSG_COM_ERR_054   =  "@ 생성을 실패하였습니다.";
var MSG_COM_ERR_055   =  "@을(를) 확인하여 주십시오.";
var MSG_COM_ERR_056   =  "선택된 @이(가) 없습니다.";
var MSG_COM_ERR_057   =  "@은(는) @ 보다 큰 값으로 입력하십시오.";
var MSG_COM_ERR_058   =  "시작시간을 종료시간 이전으로 선택[입력]하여 주십시오.";
var MSG_COM_ERR_059   =  "@은(는) 정수부를 @자 이하로 입력하십시오.";
var MSG_COM_ERR_060   =  "@은(는) 소수부를 @자 이하로 입력하십시오."

var MSG_COM_WRN_001   =  "저장할 데이터가 존재하지 않습니다.\n먼저 @검색을 하십시오.";
var MSG_COM_WRN_002   =  "조회결과가 존재하지 않습니다.";
var MSG_COM_WRN_003   =  "@을(를) 입력하십시오.";
var MSG_COM_WRN_004   =  "삭제할 @이(가) 존재하지 않습니다.";
var MSG_COM_WRN_005   =  "'+' 버튼을 누른 후 입력하십시오.";
var MSG_COM_WRN_006   =  "'+'버튼을 누르신 후 @을(를) 입력하십시오.";
var MSG_COM_WRN_007   =  "@을(를) 선택하십시오.";
var MSG_COM_WRN_008   =  "검색한 데이터가 존재하지 않습니다.\n먼저 @검색을 하십시오.";
var MSG_COM_WRN_009   =  "출력할 @이(가) 없습니다.";
var MSG_COM_WRN_010   =  "@ 버튼을 이용하십시오.";
var MSG_COM_WRN_011   =  "이미 존재하는 @입니다.";
var MSG_COM_WRN_012   =  "@이(가) 반영되지 않았습니다.";
var MSG_COM_INF_016   =  "@이(가) 아닙니다.";

// {$1} , {$2}.. 등을 msgArr 값으로 치환해서 메세지를 보여 준다.
function getMessage(msgStr, msgArr){
	 var message = msgStr;

	 if (msgArr) {
			 if (typeof msgArr == "object" && msgArr.length) {
					 for (var i = 0; i < msgArr.length; i++) {
							 var pattern = new RegExp("\\{" + i + "\\}", "g");
							 message = message.replace(pattern, msgArr[i]);
					 }
			 } else {
					 message = message.replace(/\{0\}/g, msgArr);
			 }
	 }

	 return message;
}

/**
 * @type   : function
 * @access : public
 * @desc   : 공통메세지에 정의된 메세지를 alert box로 보여준 후 리턴한다. cfGetMsg 참조.
 * @sig    : msgId[, paramArray]
 * @param  : msgId required lafui.js의 공통 메세지 영역에 선언된 메세지 ID
 * @param  : paramArray optional 메세지에서 '@' 문자와 치환될 데이터 Array. Array의 index와 메세지 내의 '@' 문자의 순서가 일치한다.
						 치환될 데이터는 [] 사이에 콤마를 구분자로 하여 기술하면 Array 로 인식된다.
 * @return : 치환된 메세지 스트링
 * @author : 임재현
 */
function cfAlertMsg(msgId, paramArray) {
	if (cfIsNull(msgId)) {
		alert("존재하지 않는 메시지입니다.");
		return null;
	}

	var msg = new coMessage().getMsg(msgId, paramArray);
	alert(msg);
	return msg;
}