﻿/*
파일명: CareersCommon.js
파일설명: 엔트리브닷컴 채용부문 공용 스크립트 파일
작성자: 남승우 (uniqoo@ntreev.com)
작성일시: 2005-11-21

수정내용:
수정자: 이훈신 (hoonsini@ntreev.com)
작성일시: 2009-01-06
수정내용: UTF-8변환
*/

// 입력값 검사용 정규식 개체 및 안내메시지 문자열
var REP_NAME = /^.{1,20}$/;
var REP_YEARMONTH = /^\d{4}(0[123456789]|1[012])$/;
var REP_CODE = /^\d{2}$/;
var REP_SALARY = /^[123456789]\d{0,5}$/;
var REP_PHONE = /^0\d{1,3}-\d{3,4}-\d{4}$/;
var REP_MOBILE = /^(010|011|016|017|018|019|0505)-\d{3,4}-\d{4}$/;
var REP_EMAIL = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;

var MSG_APPLIERNAME = "이름을 정확히 입력하세요.";
var MSG_APPLIERNAME_NOTMATCH = "기존에 작성하신 지원서상의 이름과 일치하지 않습니다.\n확인 후 다시 시도하세요.";
//\n\n주민등록번호를 도용당하셨거나 기존에 작성한 이름이 기억나지 않으실 경우\n채용담당자에게 이메일로 문의하시면 확인 후 처리해드리겠습니다.
var MSG_APPLIERSSN = "주민등록번호를 정확히 입력하세요.";
var MSG_APPLYPART = "지원분야를 선택하세요.";
var MSG_SALARY = "희망연봉을 정확히 입력하세요.\n희망연봉에는 숫자만 입력가능합니다.(단위:만원)\n\n예) 5000";
var MSG_ADDRESS = "주소를 정확히 입력하세요.\n\n예) 서울시 서초구 서초2동";
var MSG_PHONE = "전화번호를 정확히 입력하세요.\n\n예) 02-9876-5432";
var MSG_MOBILE = "휴대전화번호를 정확히 입력하세요.\n\n예) 010-9876-5432";
var MSG_EMAIL = "이메일을 정확히 입력하세요.\n\n예) webmaster@ntreev.com";
var MSG_MERIT = "보훈여부를 선택하세요.";
var MSG_SCHTYPE = "학교구분을 선택하세요.";
var MSG_SCHJOINDATE = "입학년월을 정확히 입력하세요.\n\n예) 199403";
var MSG_SCHGRADDATE = "졸업년월을 정확히 입력하세요.\n\n예) 200202";
var MSG_SCHNAME = "학교명을 정확히 입력하세요.\n\n예) 엔트리브";
var MSG_GRATYPE = "졸업구분을 선택하세요.";
var MSG_MAJOR = "전공/학과 정보를 정확히 입력하세요.\n\n예) 전자계산학";
var MSG_MILTYPE = "병역구분을 선택하세요.";
var MSG_MILJOINDATE = "입대년월을 정확히 입력하세요.\n\n예) 199502";
var MSG_MILGRADDATE = "제대년월을 정확히 입력하세요.\n\n예) 199705";
var MSG_MILETC = "병역관련 기타사항을 정확히 입력하세요.\n\n예) 면제사유 : 과체중";
var MSG_FAMTYPE = "가족관계를 선택하세요.";
var MSG_FAMNAME = "가족이름을 정확히 입력하세요.\n\n예) 홍길동";
var MSG_FAMAGE = "가족의 나이를 정확히 입력하세요.\n\n예) 27";
var MSG_FAMJOB = "가족의 직업을 정확히 입력하세요.\n\n예) 회사원, 주부, 자영업 등";
var MSG_MARK = "평점(총점)을 정확히 입력하세요.\n\n예) 4.50 / 4.50";

// 페이지로드시 포커스를 가지게 되는 개체명
var focusObjName = null;

// 정규식으로 입력값 확인
function IsCorrectValue(checkVal, regex, msg, focusObj){
	if(regex.test(checkVal)){
		return true;
	}
	else{
		if(typeof(msg) == 'string'){
			alert(msg);
		}
		else{
			alert(typeof(msg));
		}
		if(typeof(focusObj) == 'object' && focusObj != null){
			focusObj.focus();
		}

		return false;
	}
}

// 지정된 길이로 작성되었는지 확인
function IsCorrectLength(checkVal, minLength, maxLength, fieldName, focusObj){
	var correctLen = true;
	var msgMin = null;
	var msgMax = null;
	var strLength = GetByteCount(checkVal);

	if(typeof(fieldName) == 'string'){
		if(minLength > 0){
			msgMin = fieldName +'는(은) 최소 '+ minLength +'자 이상이어야 합니다.\n(한글은 두자로 계산됩니다.)';
		}
		if(maxLength > 0){
			msgMax = fieldName +'는(은) 최대 '+ maxLength +'자 이하여야 합니다.\n(한글은 두자로 계산됩니다.)';
		}
	}

	if(minLength > 0 && strLength < minLength){
		correctLen = false;
		if(msgMin != null){
			alert(msgMin);
		}
	}
	if(maxLength > 0 && strLength > maxLength){
		correctLen = false;
		if(msgMax != null){
			alert(msgMax);
		}
	}

	if(correctLen == true){
		return true;
	}
	else{
		if(typeof(focusObj) == 'object' && focusObj != null){
			focusObj.focus();
		}
		return false;
	}
}

// 문자열의 바이트수 계산
function GetByteCount(str){
	var len = 0;
	for(var i=0; i < str.length; i++){
		len += ((str.charCodeAt(i) > 255) ? 2 : 1);
	}
	return len;
}

function ReselectOptions(objSelect, selectedValue){
	for(var i=0; i < objSelect.length; i++){
		if(objSelect[i].value == selectedValue){
			objSelect.selectedIndex = i;
		}
	}
}

function AlertAndBack(msgId){
	if(typeof(msgId) == 'string'){
		alert(msgId);
	}
	else{
		alert(typeof(msgId));
	}
	history.back();
}

function AlertAndFocus(msgId, objName){
	if(typeof(msgId) == 'string'){
		alert(msgId);
	}
	else{
		alert(typeof(msgId));
	}
	
	SetFocusObjName(objName);
	
	return;
}

function SetFocusObjName(objName){
	if(objName != null && objName != ''){
		focusObjName = 'document.forms[0].'+objName;
	}
	else{
		focusObjName = null;
	}
}

function SetFocus(){
	if(focusObjName != null && focusObjName != ''){
		var obj = eval(focusObjName);
		if(typeof(obj) == 'object' && obj != null){
			obj.focus();
		}
	}
}

function OnloadProcess(){
	SetFocus();
}

onload = OnloadProcess;
