
//숫자만 입력
function numCHK(obj){
	var comp="0123456789";
	string=obj.value;
	var len=string.length;
	if(len > 0)
	{
		for(i=0;i<len;i++)
		{
			if(comp.indexOf(string.substring(i,i+1))<0)
			{
				alert("숫자만 입력해 주십시오.");
				obj.value=""
				obj.focus();
				return;
			}
		}
	}
}

//숫자체크
function isNumber(obj){
	var comp="0123456789";
	var string = obj.value;
	var len=string.length;

	if(len > 0)
	{
		for(i=0; i<len; i++) {
			if( comp.indexOf(string.substring(i, i+1)) < 0 ) {
				return false;
			}
		}
	}

	return true;
}

//숫자체크(실수형)
function isFloatNumber(obj){
	var comp="0123456789.";
	var string = obj.value;
	var len=string.length;

	if(len > 0)
	{
		for(i=0; i<len; i++) {
			if( comp.indexOf(string.substring(i, i+1)) < 0 ) {
				return false;
			}
		}
	}

	return true;
}

// 실수형소수점이하1자리로제한
function isFloatNumberRound(obj) {
	var val = obj.value;
	var re = /[^0-9|.]/gi;
	obj.value = val.replace(re, '');

	var split = val.split(".");
	if( split.length > 2 ) {  //콤마 1개 이상 못들어오도록.
		//obj.value = val.substr(0, val.length-1);
		return false;
	}

	if( split[1] != null ){   //소수점 아래 두자리 넘지못하도록.
		if( split[1].length > 2 ) {
			//obj.value = val.substr(0, val.length-1);
			return false;
		}
	}

	if( !( parseInt(parseFloat(obj.value)*10) < 3000 ) ){   //값을 300이하로 제한
		//obj.value = "";
		return false;
	}

	return true;
}

// 이메일유호성체크
function isEmail(str){
  var string = str;

  var filter = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;

  if(filter.test(string)){
    return true;
  }else{
    return false;
  }
}


function isCheckLimit(checkListName, limit){
	var checkedCount = 0;
	checkList = document.all(checkListName);

	if(checkList.length != null){
		for(i=0;i < checkList.length;i++){
			if(checkList[i].checked==true){
				checkedCount++;
			}else{
			}
		}
	}else{
	}

	if(checkedCount > limit){
		return false;
	}else{
		return true;
	}
}


function nowClick(checkboxObj, limit){
	if(!isCheckLimit(checkboxObj.name, limit)){
		alert(limit + '개 이하만 선택하실 수 있습니다.');
		checkboxObj.checked = false; // 방금 찍은 체크 취소
	}
}

/*====================================================
/* summary					: 공백문자체크
/* programmed date	: 2008-03-20
/* description			: 입력변수에 공백문자가 있는지 체크
/* return						: 성공 : true, 실패 : false
/*
/* Usage						: spaceCheck(string)
====================================================*/
function spaceCheck(str) {
	var chkstr = str + "";
	var check_flag = true ;

	if ( ( chkstr == "") || ( chkstr == null ) )
	{
		return false ;
	}

	for ( j=0; j<chkstr.length; j++)
	{
		if( chkstr.substring(j, j+1) == " " )
		{
			check_flag = false;

			break;
		}
	}

	return ( check_flag );
}


/*====================================================
/* summary					: 빈값체크
/* programmed date	: 2008-03-20
/* description			: 입력변수가 빈값인지 체크
/* return						: 빈값 : true, 값존재 : false
/*
/* Usage						: spaceCheck(string)
====================================================*/
function IsEmpty(str) {
	var intSpaceCnt, intElseCnt;
	var chkstr, check_flag;

	check_flag = false;
	intSpaceCnt = 0;
	intElseCnt = 0;

	chkstr = str + "";

	if ( ( chkstr == "") || ( chkstr == null ) )
	{
		return true ;
	}

	for ( j=0; j<chkstr.length; j++)
	{
		if ( chkstr.substring(j, j+1) == " " )
		{
			intSpaceCnt += 1;
		}
		else
		{
			intElseCnt += 1;
		}
	}

	if ( intElseCnt > 0 )
	{
		check_flag = false;
	}

	return ( check_flag );
}


/*====================================================
/* summary					: 문자앞뒤공백문자제거
/* programmed date	: 2008-03-20
/* description			: 문자앞뒤공백문자제거
/* return						: 문자앞뒤공백문자제거한문자열
/*
/* Usage						: setTrim(string)
====================================================*/
function setTrim(vStr) {
	if ( !vStr ) return;

	var val = "";
	val += ''; // 숫자라도 문자열로 변환
	val.replace(/^\s*|\s*$/g, '');

	return val;
}


/*====================================================
/* summary					: 숫자체크
/* programmed date	: 2008-03-20
/* description			: 입력변수가 숫자인지 아닌지 체크
/* return						: 성공 : true, 실패 : false
/*
/* Usage						: IsInteger(numeric)
====================================================*/
function IsInteger(num) {
	if(!IsEmpty(num))
	{
		for (j=0; j<num.length; j++)
		{
			if ( (num.substring(j, j+1) < "0") || (num.substring(j, j+1) > "9") )
			{
				return false;
			}
		}
	}
	else
	{
		return false ;
	}

	return true ;
}

/*====================================================
/* summary					: 날짜형식체크
/* programmed date	: 2008-03-20
/* description			: YYYY-MM-DD 형식의 올바른 날짜타입인지 체크
/* return						: 성공 : true, 실패 : false
/*
/* Usage						: isDateYYYYMMDD('YYYY-MM-DD')
====================================================*/
function isDateYYYYMMDD(vDate) {
	var tmp_date;
	var date1;
	var intYear, intMonth, intDay;


	date1 = vDate.split("-");

	if(date1.length != 3) {
		return false;
	}

	intYear = date1[0];
	intMonth = date1[1];
	intDay = date1[2];

	if ( (intYear.length != 4) || (intMonth.length != 2) || (intDay.length != 2) ) {
		return false;
	}

	if ( !IsInteger(intYear) || !IsInteger(intMonth) || !IsInteger(intDay) ) {
		return false;
	}

	intYear = parseInt(intYear, 10);
	intMonth = parseInt(intMonth, 10);
	intDay = parseInt(intDay, 10);

	if (intYear < 1) {
		return false;
	}

	if ( (intMonth < 1) || (intMonth > 12) ) {
		return false;
	}

	if ( (intMonth == 1) || (intMonth == 3) || (intMonth == 5) || (intMonth == 7) || (intMonth == 8) || (intMonth == 10) || (intMonth == 12) ) {
		if ( (intDay < 1) || (intDay > 31) ) {
			return false;
		}
	}
	else if ( (intMonth == 4) || (intMonth == 6) || (intMonth == 9) || (intMonth == 11) ) {
		if ( (intDay < 1) || (intDay > 30) ) {
			return false;
		}
	}
	else {
		tmp_date = new Date(intYear, intMonth, 0);

		intFebLastDay = parseInt(tmp_date.getDate(), 10);

		if ( (intDay < 1) || (intDay > intFebLastDay) ) {
			return false;
		}
	}

	return true;
}

/*====================================================
/* summary					: 날짜크기체크
/* programmed date	: 2008-03-20
/* description			: 현재날짜(YYYY-MM-DD) 보다 이전 날짜가 아닐 경우 false 리턴
/* return						: 성공 : true, 실패 : false
/*
/* Usage						: dateDiffCheck('YYYY-MM-DD')
====================================================*/
function dateDiffCheck(vDate) {

	if ( !isDateYYYYMMDD(vDate) ) {
		return false;
	}

	var date1;
	var intYear, intMonth, intDay;


	date1 = vDate.split("-");

	intYear = parseInt(date1[0], 10);
	intMonth = parseInt(date1[1], 10);
	intDay = parseInt(date1[2], 10);

	var now_date = new Date();	// 현재날짜(YYYY-MM-DD)
	var tmp_date = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate());
	var tmp_date1 = new Date(intYear, intMonth-1, intDay);	// 입력날짜(YYYY-MM-DD)

	if( (tmp_date - tmp_date1) < 0 ) {
		return false;
	}

	return true;
}

// 날짜 크기 체크
/*====================================================
/* summary					: 날짜크기체크
/* programmed date	: 2008-03-20
/* description			: vDate2 가 vDate1 보다 이후 날짜가 아닐 경우 false 리턴
/* return						: 성공 : true, 실패 : false
/*
/* Usage						: dateDiffCheck2('YYYY-MM-DD', 'YYYY-MM-DD')
====================================================*/
function dateDiffCheck2(vDate1, vDate2) {

	if ( !isDateYYYYMMDD(vDate1) ) {
		return false;
	}

	if ( !isDateYYYYMMDD(vDate2) ) {
		return false;
	}

	var date1,date2;
	var intYear1, intMonth1, intDay1;
	var intYear2, intMonth2, intDay2;

	var date1 = vDate1.split("-");
	var date2 = vDate2.split("-");


	intYear1 = parseInt(date1[0], 10);
	intMonth1 = parseInt(date1[1], 10);
	intDay1 = parseInt(date1[2], 10);

	intYear2 = parseInt(date2[0], 10);
	intMonth2 = parseInt(date2[1], 10);
	intDay2 = parseInt(date2[2], 10);


	var now_date = new Date();
	var tmp_date = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate());
	var tmp_date1 = new Date(intYear1, intMonth1-1, intDay1);
	var tmp_date2 = new Date(intYear2, intMonth2-1, intDay2);

	if( (tmp_date2 - tmp_date1) < 0)
	{
		return false;
	}

	return true;
}




/*====================================================
/* summary					: 날짜크기체크
/* programmed date	: 2008-03-20
/* description			: 현재날짜(YYYY-MM-DD) 보다 이전 날짜가 아닐 경우 false 리턴
/* return						: 성공 : true, 실패 : false
/*
/* Usage						: dateDiffCheck3('YYYY-MM-DD')
====================================================*/
function dateDiffCheck3(vDate) {

	if ( !isDateYYYYMMDD(vDate) ) {
		return false;
	}

	var date1;
	var intYear, intMonth, intDay;


	date1 = vDate.split("-");

	intYear = parseInt(date1[0], 10);
	intMonth = parseInt(date1[1], 10);
	intDay = parseInt(date1[2], 10);

	var now_date = new Date();	// 현재날짜(YYYY-MM-DD)
	var tmp_date = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate());
	var tmp_date1 = new Date(intYear, intMonth-1, intDay);	// 입력날짜(YYYY-MM-DD)

	if( (tmp_date1 - tmp_date) < 0 ) {
		return false;
	}

	return true;
}


/*====================================================
/* summary					: 날짜크기체크
/* programmed date	: 2008-03-20
/* description			: 현재날짜(YYYY-MM-DD) 보다 이전 날짜가 아닐 경우 false 리턴
/* return						: 성공 : true, 실패 : false
/*
/* Usage						: dateDiffCheck4('YYYY-MM-DD')
====================================================*/
function dateDiffCheck4(vDate, vCnt, vType) {
	if( !vDate || !vCnt || !vType ) {
		return false;
	}

	if ( !isDateYYYYMMDD(vDate) ) {
		return false;
	}

	var date1;
	var intYear, intMonth, intDay;
	var intAddDay = parseInt(vCnt);
	var strDiffType = vType;
	var tmp_date2;

	date1 = vDate.split("-");

	intYear = parseInt(date1[0], 10);
	intMonth = parseInt(date1[1], 10);
	intDay = parseInt(date1[2], 10);

	var now_date = new Date();	// 현재날짜(YYYY-MM-DD)
	var tmp_date = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate());
	var tmp_date1 = new Date(intYear, intMonth-1, intDay);	// 입력날짜(YYYY-MM-DD)

	if (strDiffType == '+') {
		tmp_date2 = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate() + intAddDay);	// 입력날짜(YYYY-MM-DD)

		if( (tmp_date1 - tmp_date2) < 0 ) {
			return false;
		}
	}
	else if (strDiffType == '-') {
		tmp_date2 = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate() - intAddDay );	// 입력날짜(YYYY-MM-DD)

		if( (tmp_date1 - tmp_date2) > 0 ) {
			return false;
		}
	}
	else {
		tmp_date2 = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate());	// 입력날짜(YYYY-MM-DD)

		if( (tmp_date2 - tmp_date1) < 0 ) {
			return false;
		}
	}

	return true;
}



/*====================================================
/* summary					: 원하는날짜크기만큼 증가(감소)하여 리턴
/* programmed date	: 2008-07-01
/* description			: 증가날짜
/* return						: 증가한 날짜(YYYY-MM-DD)
/*
/* Usage						: dateAddDayToNow('YYYY-MM-DD')
====================================================*/
function dateAddDayToNow(vCnt) {
	var day_cnt, tmp_day_cnt;

	tmp_day_cnt = vCnt;

	// 오늘~vCnt 날짜 사이에 토/일 카운팅한 후 날짜에추가
	for (day_cnt=1; day_cnt<=vCnt; day_cnt++)
	{
		now_date = new Date();
		tmp_date = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate()+day_cnt);

		tmp_day = tmp_date.getDay();
		tmp_day = parseInt(tmp_day, 10);
		if ( ( tmp_day == 0 ) || ( tmp_day == 6 ) )
		{
			tmp_day_cnt = tmp_day_cnt + 1;
		}
	}

	// 최종날짜가 토/일인지 체크한 후 토일일 경우 날짜 추가
	i=0;
	while(1)
	{
		now_date = new Date();
		tmp_date = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate()+tmp_day_cnt);

		tmp_day = tmp_date.getDay();
		tmp_day = parseInt(tmp_day, 10);
		if ( ( tmp_day == 0 ) || ( tmp_day == 6 ) )
		{
			tmp_day_cnt = tmp_day_cnt + 1;
		}
		else
		{
			break;
		}
	}

	// 날짜 형식 변환
	now_date = new Date();
	tmp_date = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate()+tmp_day_cnt);
	tmp_year = tmp_date.getYear();
	tmp_mon = tmp_date.getMonth() + 1;
	tmp_mon = tmp_mon.toString();

	if ( tmp_mon.length < 2 )
	{
		tmp_mon = "0" + tmp_mon.toString();
	}

	tmp_day = tmp_date.getDate();
	tmp_day = tmp_day.toString();

	if ( tmp_day.length < 2 )
	{
		tmp_day = "0" + tmp_day.toString();
	}

	rtn_date = tmp_year + "-" + tmp_mon + "-" + tmp_day;

	return rtn_date;
}



/*====================================================
/* summary					: 원하는날짜크기만큼 증가(감소)하여 리턴
/* programmed date	: 2008-07-01
/* description			: 증가날짜
/* return						: 증가한 날짜(YYYY-MM-DD)
/*
/* Usage						: dateAddDayToNow2(추가날짜수)
====================================================*/
function dateAddDayToNow2(vCnt) {
	var day_cnt, tmp_day_cnt;

	day_cnt = parseInt(vCnt, 10);

	i=1;
	tmp_day_cnt=0;
	while(1)
	{
		now_date = new Date();
		tmp_date = new Date(now_date.getYear(), now_date.getMonth(), now_date.getDate()+i);

		tmp_day = tmp_date.getDay();
		tmp_day = parseInt(tmp_day, 10);
		if ( ( tmp_day > 0 ) && ( tmp_day < 6 ) )
		{
			tmp_day_cnt = tmp_day_cnt + 1;
		}

		if ( tmp_day_cnt == day_cnt )
		{
			break;
		}

		i++;
	}

	tmp_year = tmp_date.getYear();
	tmp_mon = tmp_date.getMonth() + 1;
	tmp_mon = tmp_mon.toString();

	if ( tmp_mon.length < 2 )
	{
		tmp_mon = "0" + tmp_mon.toString();
	}

	tmp_day = tmp_date.getDate();
	tmp_day = tmp_day.toString();

	if ( tmp_day.length < 2 )
	{
		tmp_day = "0" + tmp_day.toString();
	}

	rtn_date = tmp_year + "-" + tmp_mon + "-" + tmp_day;

	return rtn_date;
}





/*====================================================
/* 체크박스 및 래디오 버튼관련 함수
====================================================*/

	/*====================================================
	/* summary					: 입력된 컨트롤 전체 체크/체크해지
	/* programmed date	: 2008-07-01
	/* return						:
	/*
	/* Usage						: select_all(컨트롤이름, true/false)
	====================================================*/
	function select_all(chkbox, sw)
	{
		var obj

		obj = document.all(chkbox);
		if (obj == null)
		{
			return;
		}

		if (obj.length > 1)
		{
			for (i=0; i<obj.length; i++)
			{
				obj[i].checked = sw;
			}
		}
		else
		{
			obj.checked = sw;
		}
	}

	/*====================================================
	/* summary					: 입력된 컨트롤 체크 유무 확인
	/* programmed date	: 2008-07-01
	/* return						:
	/*
	/* Usage						: check_cnt(컨트롤이름)
	====================================================*/
	function check_cnt(objControl)
	{
		var obj, check_flag;

		obj = document.all(objControl);
		if (obj == null)
		{
			return false;
		}

		check_flag = false;

		if (obj.length > 1)
		{
			for (i=0; i<obj.length; i++)
			{
				if(obj[i].checked == true)
				{
					check_flag = true;

					break;
				}
			}

			if(check_flag)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
		else
		{
			if(obj.checked == true)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
	}


	// 윈도우팝업
	function pop_new_win(vUrl, vWinName, vPropery, vTarget)
	{
		var vUrl, vWinName, vPropery, vTarget;
		var strURL, strWinName, strWinProperty, objWin;

		strURL = vUrl;
		strWinName = vWinName;
		strWinProperty = vPropery;

		if ( !strURL ) {
			return;
			//strURL = "/2009_common/zip_code/zip_search.asp?target=addr";
		}

		if ( !strWinName ) {
			strWinName = "PopNewWindow";
		}

		if ( !strWinProperty ) {
			strWinProperty = "top=100, left=100, width=650, height=380, toolbar=no, fullscreen=no, directories=no, status=no, scrollbars=yes, menubar=no, location=no, resizable=no";
		}

		var objWin = window.open(strURL, strWinName, strWinProperty);
		objWin.focus();
	}

	// 우편번호찾기
	function pop_zip_code(vUrl, vWinName, vPropery, vTarget)
	{
		var vUrl, vWinName, vPropery, vTarget;
		var strURL, strWinName, strWinProperty, objWin;

		strURL = vUrl;
		strWinName = vWinName;
		strWinProperty = vPropery;

		if ( !strURL ) {
			strURL = "/2009_common/zip_code/zip_search.asp?target=addr";
			//strURL = "/2009_common/zip_code/zip_search.asp?target=" + vTarget;
		}

		if ( !strWinName ) {
			strWinName = "PopZipCodeSearch";
		}

		if ( !strWinProperty ) {
			strWinProperty = "top=100, left=100, width=440, height=290, toolbar=no, fullscreen=no, directories=no, status=no, scrollbars=no, menubar=no, location=no, resizable=no";
		}

		var objWin = window.open(strURL, strWinName, strWinProperty);
		objWin.focus();
	}

	// 입사지원 사진 파일명<->본인이름+주민번호앞자리 비교
	function getFileName (vComp, vFile) {
		var strComp, strFile, strFileName, strFileExt;

		if (!vComp) { return false;	}
		if (!vFile) { return false;	}

		strComp = vComp;
		strFile = vFile;

		sIdx = strFile.lastIndexOf("\\")+1;
		eIdx = strFile.lastIndexOf(".");

		if (sIdx == -1) { return false;	}
		if (eIdx == -1) { return false;	}

		strFileName = strFile.substring(sIdx, eIdx);

/*
		alert("strComp = " + strComp
			+ "\n" + "strFile = " + strFile
			+ "\n" + "sIdx = " + sIdx
			+ "\n" + "eIdx = " + eIdx
			+ "\n" + "strFileName = " + strFileName);
		return false;
*/

		if (strComp != strFileName) { return false;	}

		return true;
}


	//=========================================================
	// 파일 관련 함수
	//=========================================================
	function checkFileExt (vComp, vSeparate, vFile) {
		var arrComp, strComp, strSeparate, strFile, strFileName, strFileExt;
		var strCheck_Flag = false;

		if (!vComp) { return false;	}
		if (!vFile) { return false;	}
		if (!vSeparate)
		{
			strSeparate = ";"
		}
		else
		{
			strSeparate = vSeparate;
		}

		strComp = vComp;
		arrComp = strComp.split(strSeparate);

		strFile = vFile;

		sIdx = strFile.lastIndexOf(".")+1;
		eIdx = strFile.length;

		if (sIdx == -1) { return false;	}
		if (eIdx == -1) { return false;	}

		strFileExt = strFile.substring(sIdx, eIdx);

/*
		alert("strComp = " + strComp
			+ "\n" + "strFile = " + strFile
			+ "\n" + "sIdx = " + sIdx
			+ "\n" + "eIdx = " + eIdx
//			+ "\n" + "strFileExt = " + strFileExt

			+ "\n" + "arrComp[0] = " + arrComp[0]
			+ "\n" + "arrComp[1] = " + arrComp[1]
			+ "\n" + "arrComp[2] = " + arrComp[2]
			+ "\n" + "arrComp[3] = " + arrComp[3]
			+ "\n" + "arrComp[4] = " + arrComp[4]

			+ "\n" + "strFileExt = " + strFileExt);
*/

		for (i=0; i<arrComp.length; i++)
		{
			if (strFileExt == arrComp[i])
			{
				strCheck_Flag = true;
				break;
			}
		}

		return strCheck_Flag;
}
