/*
	@(#)util.js

	À¯Æ¿¸®Æ¼

	@author		±è°æ¹Î
	@version	1.0, 2004/03/07 ÆÄÀÏ ÀÛ¼º
				1.1, 2004/06/06 ±â´É Ãß°¡
*/

function notSupport() {
	jsMessage("¾ÆÁ÷ Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀÔ´Ï´Ù.");
}

//
// ÀÏ¹Ý Á¤º¸ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
//
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function jsMessage(msg) {
	js_msg("Á¤º¸", msg);
}

//
// ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
//
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function jsError(msg) {
	js_msg("¿À·ù", msg);
}

//
// »ç¿ëÀÚ ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
//
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function jsUserError(msg) {
	js_msg("»ç¿ëÀÚ ¿À·ù", msg);
}

//
// ½Ã½ºÅÛ ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
//
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function jsSystemError(msg) {
	js_msg("½Ã½ºÅÛ ¿À·ù", msg);
}

//
// ÀÚ¹Ù½ºÅ©¸³Æ® ¸Þ½ÃÁö¸¦ Ãâ·Â ÇÔ¼ö
//
// @param errType ¿À·ù Á¾·ù
// @param msg Ãâ·ÂÇÒ ¸Þ½ÃÁö
//
function js_msg(errType, msg) {
	alert(errType + ":\n\n" + msg);
}

//
// »èÁ¦È®ÀÎ
//
function checkDelete() {
    var val1 = confirm("È®ÀÎ:\n\nÁ¤¸» »èÁ¦ÇÏ°Ú½À´Ï±î?");
    return val1;
}

//
// º¯°æ È®ÀÎ
//
function checkModify() {
	var val1 = confirm("È®ÀÎ:\n\nº¯°æÇÏ½Ã°Ú½À´Ï±î?");
	return val1;
}


//
// ÇÑ±Û ¿©ºÎ È®ÀÎ
//
function isHangul(str){
	var len = str.length;
	for (var i = 0; i < len; i++) {
		if (str.charCodeAt(i) != 32 &&
			(str.charCodeAt(i) < 44032 || str.charCodeAt(i) > 55191)) {
				return true;
		}
	}
	return false;
}

//
// ¼ýÀÚ ¿©ºÎ È®ÀÎ
//
function isNumber(str) {
	if(isSpace(str)) return false;
	var rgNum = /\d/;
	if(!rgNum.test(str)) {
		return false;
	}
	return true;
}

function isSpace(str) {
	if(str.indexOf(" ") != -1) {
		return true;
	}
	return false;
}

//
// ÀÌ¸ÞÀÏ È®ÀÎ
//
function isEmail(str) {
	var rgEmail = /^[\w_-]+(\.[\w_-]+)*@[\w_-]+(\.[\w_-]+)*\.\w{2,3}$/i
	if(rgEmail.test(str)) return true;
	return false;
}

//
// ºó°ø¹é »èÁ¦
//
function removeSpace(str) {
	if(str.indexOf(" ") != -1) {
		str = str.replace(/\s/gi, "" );
	}
}

function isNull(str) {
	if(str == null || str.length == 0 || str == "" || str == " ") {
		return true;
	}
	return false;
}

function isFormNotNull(obj, msg) {
	if(isNull(obj.value)) {
		jsMessage(msg + " ÀÔ·ÂÇÏ½Ê½Ã¿ä.");
		obj.focus();
		return false;
	}
	return true;
}

function isFormText(obj, msg) {
	return isFormNotNull(obj, msg);
}

function isFormNumber(obj, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	else if(!isNumber(obj.value)) {
			jsMessage(msg + " ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇÏ½Ê½Ã¿ä");
			obj.focus();
			return false;
	}
	return true;
}

//
// ÁöÁ¤ÇÑ ¹®ÀÚ¿­ÀÌ ³¯Â¥ÀÎÁö¸¦ È®ÀÎÇÑ´Ù. ¿©±â¿¡¼­´Â ³¯Â¥ Çü½ÄÀ»
// yyyy-MM-dd ·Î °¡Á¤ÇÑ´Ù.
//
// @param str È®ÀÎÇÒ ¹®ÀÚ¿­
//
function isDate(str) {
	var rgDateFormat = /^\d{4}-\d{2}-\d{2}$/g;
	if(!rgDateFormat.test(str)) return false;
	else {
		var yearStr = str.substring(0,4);
		var monthStr = str.substring(5,7);
		var dayStr = str.substring(8,10);
		if(yearStr < 1900 || yearStr > 2069) return false;
		if(monthStr < 1 || monthStr > 12) return false;
		if(dayStr < 1 || dayStr > 31) return false;
		return true;
	}
}

//
// Æû¿¡¼­ ÁöÁ¤ÇÑ °´Ã¼°¡ ³¯Â¥ÀÎÁö¸¦ È®ÀÎÇÑ´Ù.
//
// @param obj È®ÀÎÇÒ °´Ã¼
// @param msg ¿À·ù½Ã Ãâ·ÂÇÒ °´Ã¼ ÀÌ¸§
//
function isFormDate(obj, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	else if(!isDate(obj.value)) {
			jsMessage(msg + " ³¯Â¥°ªÀÌ µÇ¾î¾ß ÇÕ´Ï´Ù.");
			obj.focus();
			return false;
	}
	return true;
}

//
// Æû¿¡¼­ ¶óµð¿À ¹öÆ°À» ¼±ÅÃÇß´ÂÁö¸¦ È®ÀÎÇÑ´Ù.
//
// @param obj È®ÀÎÇÒ °´Ã¼
// @param msg ¿À·ù½Ã Ãâ·ÂÇÒ °´Ã¼ ÀÌ¸§
//
function isFormRadio(obj, msg) {
	var flag = false;
	if (!obj.length)
		flag = obj.checked;
	else {
    	for (var i = 0; i < obj.length; i++)
			if ((flag = obj[i].checked))
				break;
	}
  	if (!flag) {
		jsMessage(msg + " ¼±ÅÃÇÏ½Ê½Ã¿ä.");
		obj[0].focus();
		return false;
	}
	return true;
}

//
// Æû¿¡¼­ Ã¼Å©¹Ú½º¸¦ ¼±ÅÃÇß´ÂÁö¸¦ È®ÀÎÇÑ´Ù.
//
// @param obj È®ÀÎÇÒ °´Ã¼
// @param msg ¿À·ù½Ã Ãâ·ÂÇÒ °´Ã¼ ÀÌ¸§
//
function isFormCheckBox(obj, msg) {
	var flag = false;
	if (!obj.length)
		flag = obj.checked;
	else {
    	for (var i = 0; i < obj.length; i++)
			if ((flag = obj[i].checked))
				break;
	}
  	if (!flag) {
		jsMessage(msg + " ¼±ÅÃÇÏ½Ê½Ã¿ä.");
		obj[0].focus();
		return false;
	}
	return true;
}

//
// Æû¿¡¼­ SELECT¸¦ ¼±ÅÃÇß´ÂÁö¸¦ È®ÀÎÇÑ´Ù.
//
// @param obj È®ÀÎÇÒ °´Ã¼
// @param msg ¿À·ù½Ã Ãâ·ÂÇÒ °´Ã¼ ÀÌ¸§
//
function isFormSelect(obj, msg) {
	if (obj.selectedIndex == -1 ||
		isNull(obj.options[obj.selectedIndex].value)) {
		jsMessage(msg +" ¼±ÅÃÇÏ½Ê½Ã¿ä.");
		obj.focus();
		return false;
	}
	return true;
}

//
// ¹®ÀÚ¿­ ±æÀÌ È®ÀÎ
//
function isStringLen(obj, len, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.length != len) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿ä.");
		obj.focus();
		return false;
	}
	return true;
}

//
// ¹®ÀÚ¿­ ±æÀÌ È®ÀÎ
//
function isFormMinStringLen(obj, minlen, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.value.length < minlen) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿ä.");
		obj.focus();
		return false;
	}
	//else alert(obj.value.length);
	return true;
}

//
// ¹®ÀÚ¿­ ±æÀÌ È®ÀÎ
//
function isFormMinStringLen2(obj, sinlen, msg) {
	if(obj.value != "" ) {
		if(!isFormNotNull(obj, msg)) return false;
		if(obj.value.length > sinlen) {
			jsMessage(msg + ".");
			obj.focus();
			return false;
		}
		//else alert(obj.value.length);
		return true;
	}else{
		return true;
	}
}


//
// Á¤¼ö ±æÀÌ È®ÀÎ
//
function isFormNumericLen(obj, len, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(!isFormNumber(obj, msg)) return false;
	if(obj.value.length != len) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿ä.");
		obj.focus();
		return false;
	}
	return true;
}

//
// Á¤¼ö ±æÀÌ È®ÀÎ
//
function isFormMaxNumericLen(obj, minlen, maxlen, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(!isFormNumber(obj, msg)) return false;
	if(obj.value.length < minlen || obj.value.length > maxlen) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿ä.");
		obj.focus();
		return false;
	}
	return true;
}

function isFormEmail(obj, msg) {
	if(!isEmail(obj.value)) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿ä.");
		obj.focus();
		return false;
	}
	return true;
}

function isFormSepEmail(obj1, obj2, msg) {
	if(!isFormMinStringLen(obj1, 2, msg)) return false;
	if(!isFormMinStringLen(obj2, 6, msg)) return false;
	if(!isEmail(obj1.value + "@" + obj2.value)) {
		jsMessage(msg + " ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇÏ½Ê½Ã¿ä.");
		obj1.focus();
		return false;
	}
	return true;
}

//
// ÁÖ¹Îµî·Ï¹øÈ£ È®ÀÎ
//
function isFormResidenceNo(obj1, obj2, msg) {
	if(!isFormNumericLen(obj1, 6, msg)) return false;
	if(!isFormNumericLen(obj2, 7, msg)) return false;

	var jumin1 = obj1.value;
	var jumin2 = obj2.value;

	if(!(jumin2.charAt(0) == '1' || jumin2.charAt(0)  == '2' || jumin2.charAt(0) == '3' || jumin2.charAt(0) == '4')) {
		jsMessage("¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.");
		obj1.focus();
		return false;
	}

	var sum = 0;
	sum += jumin1.charAt(0)*2;
	sum += jumin1.charAt(1)*3;
	sum += jumin1.charAt(2)*4;
	sum += jumin1.charAt(3)*5;
	sum += jumin1.charAt(4)*6;
	sum += jumin1.charAt(5)*7;

	sum += jumin2.charAt(0)*8;
	sum += jumin2.charAt(1)*9;
	sum += jumin2.charAt(2)*2;
	sum += jumin2.charAt(3)*3;
	sum += jumin2.charAt(4)*4;
	sum += jumin2.charAt(5)*5;

	var check = (11 - sum%11)%10;

	if(jumin2.charAt(6) != check) {
		jsMessage("¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.");
		obj1.focus();
		return false;
	}
	return true;
}

function isFormValidFile(obj, file_ext, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.value.lastIndexOf(file_ext) < 0) {
		jsMessage(msg);
		return false;
	}
	return true
}
