/*
 * 1. È­ÀÏ¸í    :    common.js
 * 2. ÀÛ¼ºÀÏÀÚ  :    2004-01-08
 * 3. ÀÛ¼ºÀÚ    :    ¹éÁøÇö
 * 4. ¼³¸í      :    JSP¿¡¼­ »ç¿ëÇÏ´Â °øÅëÀûÀÎ ÇÔ¼ö¸¦ °¡Áö°í ÀÖ´Â È­ÀÏ.
 * 5. º¯°æÀÌ·Â 
 *    1) 2004-01-08 / ¹éÁøÇö / ÃÖÃÊ ÀÛ¼º
 *    2) 2004-02-09 / ¹éÁøÇö / ÇÔ¼ö Á¤Á¦
 *    3) 2004-03-19 / ¹éÁøÇö / »ç¾÷ÀÚ(ÁÖ¹Î/¹ýÀÎ)¹øÈ£ ¼Ó¼º Ãß°¡
 *    3) 2004-03-25 / ¹éÁøÇö / ¸Þ¼¼Áö ±¸Çö ¹æ½Ä º¯°æ¿¡ µû¸¥ ¼öÁ¤
 *
 */

/*
 * <pre>
 * baseForm¿¡ ¼³Á¤µÈ fieldÀÇ reference¸¦ À§ÇÑ Array º¯¼ö
 * </pre>
 */
var fields = new Array();

/*
 * <pre>
 * ´Ù¿î·Îµå¸¦ ÇÏ±â À§ÇØ ÇÊ¿äÇÑ SITE¸¦ ÁöÁ¤ÇÑ º¯¼ö
 * </pre>
 */
var downloadsite = "/cretop";

/*
 * <pre>
 * Date¸¦ ³â - ¿ù - ÀÏ·Î ±¸ºÐÇÏ±â À§ÇÑ ±¸ºÐÀÚ º¯¼ö
 * </pre>
 */
var dateGuBun = '-';	

/*
 * <pre>
 * »ç¾÷ÀÚ ¹øÈ£ÀÇ - ±¸ºÐÇÏ±â À§ÇÑ ±¸ºÐÀÚ º¯¼ö
 * </pre>
 */
var BNGuBun = '-';	

/*
 * <pre>
 * ÁÖ¹Îµî·Ï(¹ýÀÎ) ¹øÈ£ÀÇ - ±¸ºÐÇÏ±â À§ÇÑ ±¸ºÐÀÚ º¯¼ö
 * </pre>
 */
var IDGuBun = '-';	

/*
 * <pre>
 * Date¸¦ Æ÷ÇÔµÈ ³â - ¿ù - ÀÏ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ º¯¼ö
 * </pre>
 */
var dateGuBun2 = /\-/g;	

/*
 * <pre>
 * »ç¾÷ÀÚ ¹øÈ£¿¡ Æ÷ÇÔµÈ - ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ º¯¼ö
 * </pre>
 */
var BNGuBun2 = /\-/g;	

/*
 * <pre>
 * ÁÖ¹Îµî·Ï(¹ýÀÎ) ¹øÈ£¿¡ Æ÷ÇÔµÈ - ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ º¯¼ö
 * </pre>
 */
var IDGuBun2 = /\-/g;	

var CHECK_OK_PK = 0;
var CHECK_OK_ETC = 1;
var CHECK_SKIP = 2;
var CHECK_RETURN = 3;

/*°Ë»ö½Ã °Ë»öÀÌ¹ÌÁö¸¦  °Ë»öÁßÀ¸·Î ¹Ù²Þ*/
var serching = new Image();
serching.src ="images/com/kcgf/ngs/r/u/internet/button_a_search_ing.gif";

/*°Ë»öÀ» Çß´ÂÁö È®ÀÎ*/
var started = false;

function isStrated(){
	if(started) {
		alert("°Ë»öÁßÀÔ´Ï´Ù.");
		return true;
	}
	started = true;
	
	return false;
}

/**
 * <pre>
 * initializeµÉ ½Ã ÇÊ¿äÇÑ Á¤º¸¸¦ ¼¼ÆÃÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    - fieldÀÇ typeÀÌ Input, Select, TextAreaÀÏ °æ¿ì¿¡ ÇØ´ç °ªÀ» Àü¿ªº¯¼ö·Î ¼±¾ðµÈ fields¿¡ ÇÒ´çÇÑ´Ù.
 *    - typeÀÌ radioÀÏ °æ¿ì¿¡´Â Æ¯º°ÇÑ Æ¯¼ºÀÌ ÀÖÀ¸¹Ç·Î fields¿¡ Æ÷ÇÔÀ» ½ÃÅ°Áö ¾Ê´Â´Ù. 
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * </pre>
 */
function initialize() {
	var objects = baseForm.elements;
	var index = 0;
	for (i = 0; i < objects.length; i++) {
		field = objects.item(i);
		tagName = field.tagName;
		
		if (tagName != "INPUT" && tagName != "SELECT" && tagName != "TEXTAREA") continue;
		if (field.name == "") continue;
		if ((field.type == "radio")) continue;
		
		fields[index++] = field;
		setValue(field);
	}
	
}

/**
 * <pre>
 * startµÉ ½Ã ÇÊ¿äÇÑ Á¤º¸¸¦ ¼¼ÆÃÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    - °¢ ÇÊµåÀÇ ¼Ó¼ºÀ» ÀÌ¿ëÇÏ¿© ÇØ´ç Event¸¦ ¼³Á¤ÇÏ±â À§ÇØ ¼öÇàµÇ´Â ÇÔ¼öÀÌ´Ù.
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * </pre>
 */
function start() {
	var objects = baseForm.elements;
	var index = 0;
	for (i = 0; i < objects.length; i++) {
		field = objects.item(i);
		tagName = field.tagName;
		
		if (tagName != "INPUT" && tagName != "SELECT" && tagName != "TEXTAREA") continue;
		if (field.name == "") continue;
		
		detachEvents(field);
		attachEvents(field);
	}
	
	displayResultMessage();
	//attachBgColor();
	
	//document.focus();
}

function displayResultMessage() {
	try {
		if (typeof resultMessage != "undefined") {
		
			if(resultMessage[1] != '99') {
				displayMessage(resultMessage[1], resultMessage[0]);
			} else {
				
/*** 2005-10-04  ±è¿ëÈñ SR0908_01  ³»¿ëº¯°æ ¿äÃ»  ******/
//				if( confirm("µ¿½Ã ·Î±×ÀÎ °¡´É ¼ö¸¦ ÃÊ°úÇÏ¿´½À´Ï´Ù.\nÀá½Ã ÈÄ ÀÌ¿ëÇÏ½Ã·Á¸é Ãë¼Ò¸¦ ´©¸£½Ê½Ã¿À.\n´Ù¸¥ »ç¿ëÀÚ¸¦ °­Á¦ ·Î±×¾Æ¿ô½ÃÅ°°í, ¹Ù·Î ÀÌ¿ëÇÏ½Ã·Á¸é È®ÀÎÀ» ´©¸£½Ê½Ã¿À.\n¹®ÀÇ ¿¬¶ôÃ³: 02-3215-2485") ) {

				if( confirm("ÇöÀç ´Ù¸¥ »ç¿ëÀÚ°¡ ·Î±×ÀÎ ÁßÀÌ°Å³ª ·Î±×¾Æ¿ôÀ» ÇÏÁö ¾Ê°í Á¾·áÇÏ½Å »óÅÂÀÔ´Ï´Ù.\n±âÁ¸ »ç¿ëÀÚ¸¦ °­Á¦ Á¾·á½ÃÅ°°í ·Î±×ÀÎ ÇÏ½Ã·Á¸é 'È®ÀÎ' ¹öÆ°À» ´­·¯ ÁÖ½Ê½Ã¿ä.") ) {
/*** 2005-10-04  ±è¿ëÈñ SR0908_01  ³»¿ëº¯°æ ¿äÃ»  ******/

					document.baseForm.autologin.value = "T";
				
					login();
				} else {
					document.baseForm.autologin.value = "";
					document.baseForm.id.value = "";
					document.baseForm.pass.value = "";
					document.baseForm.id.focus();
				}
			}
		}
	} catch(e) { }
}

/*
 * <pre>
 * fieldÀÇ Event¸¦ ÇØÁ¦½ÃÅ°±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   field - ÀÌº¥Æ®¸¦ ÇØÁ¦½ÃÅ°°íÀÚ ÇÏ´Â field
 * 
 * </pre>
 */
function detachEvents(field) {
	field.detachEvent("onkeyup", autoTab);
	field.detachEvent("onkeyup", enterSearch);
	field.detachEvent("onkeypress", onlyCode);
	field.detachEvent("onkeypress", onlyNum);
	field.detachEvent("onkeypress", telNum);
	field.detachEvent("onkeypress", checkNum);
	field.detachEvent("onfocus", currencyClear);
	field.detachEvent("onfocus", removeDate);
	field.detachEvent("onfocus", removeBN);
	field.detachEvent("onfocus", removeID);
	field.detachEvent("onblur", upperCase);
	field.detachEvent("onblur", currency);
	field.detachEvent("onblur", formatDate);
	field.detachEvent("onblur", formatBN);
	field.detachEvent("onblur", formatID);
}

/*
 * <pre>
 * fieldÀÇ Event¸¦ ¼³Á¤½ÃÅ°±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * 
 * <b>Parameters</b>
 *   field - ÀÌº¥Æ®¸¦ ¼³Á¤½ÃÅ°°íÀÚ ÇÏ´Â field
 * 
 * </pre>
 */
function attachEvents(field) {
	field.attachEvent("onkeyup", autoTab);
	
	if (field.isReadOnly == "Y") {
		if (field.tagName == "SELECT") {
			field.disabled = true;
		} else {
			field.readOnly = true;
		}
		field.tagIndex = -1;
		field.style.color = "777777"; //readOnly Ç¥½Ã ±ÛÀÚ»ö
		field.style.cursor = "default"
	} else {
		if (field.isEntSearch == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeyup", enterSearch);
			field.attachEvent("onblur", upperCase);
		}
		
		if (field.isCode == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeypress", onlyCode);
			field.attachEvent("onblur", upperCase);
		}
		
		if (field.isOnlyCode == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeypress", onlyCode);
		}
		
		if (field.isUpper == "Y") {
			field.attachEvent("onblur", upperCase);
		}
		
		if (field.isOnlyNum == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeypress", onlyNum);
		}else if (field.isTelNum == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeypress", telNum);
		}else if (field.isNum == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeypress", onlyNum);
			field.attachEvent("onfocus", currencyClear);
			field.attachEvent("onblur", currency);
		}else if (field.isNumIN == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeypress", telNum);
			field.attachEvent("onfocus", currencyClear);
			field.attachEvent("onblur", currency);
		} else if (field.isDate == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeypress", onlyNum);
			field.attachEvent("onfocus", removeDate);
			field.attachEvent("onblur", formatDate);
		} else if (field.isBN == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeypress", onlyNum);
			field.attachEvent("onfocus", removeBN);
			field.attachEvent("onblur", formatBN);
		} else if (field.isID == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onkeypress", onlyNum);
			field.attachEvent("onfocus", removeID);
			field.attachEvent("onblur", formatID);
			/* 2004-10-25 ¹Ú°æ¾Ö Ãß°¡ KEYPRESS ¿¡ ENTER Ãß°¡ÇÑ DATE Å¸ÀÔ */
		} else if (field.isEntDate == "Y") {
			field.style.imeMode = "disabled";
			field.attachEvent("onfocus", removeDate);
			field.attachEvent("onblur", formatDate);
			field.attachEvent("onkeypress", enter);
		}
	}
}

/*
 * <pre>
 * µî·Ï½Ã ÇØ´ç ÇÊµå °´Ã¼ÀÇ value¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    - PK(isPK = "Y")¿Í ÇÊ¼ö ÀÔ·Â(isNotNull == "Y")ÀÇ ÀÔ·Â¿©ºÎ Ã¼Å©
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    CHECK_RETURN : °æ°íÃ¢
 *    CHECK_SKIP : ½ºÅµÇÏ±â
 *    CHECK_OK_PK : PK Ç×¸ñ
 *    CHECK_OK_ETC : ±âÅ¸Ç×¸ñ
 * 
 * <b>Parameters</b>
 *   field - ÇÊµåÀÇ value¸¦ Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ÆÄ¶ó¹ÌÅÍ.
 * 
 * <b>return</b>
 *   Æ¯ÀÌ»çÇ×¿¡ ¿­°ÅµÈ °ª(boolean).
 * 
 * </pre>
 */
function createCheck(field) {
	if (trim(field.value) == "") {
		if (field.isPK == "Y" || field.isNotNull == "Y") {
			getMessage("R00005", new Array(field.id));
			setFocus(field);
			return CHECK_RETURN;
		} else {
			return CHECK_SKIP;
		}
	} else {
		// ÀüÃ¼ ÀÚ¸®¼ö Ã¼Å©
		if (field.isMaxCheck == "Y") {
			if (field.value.length != field.maxLength) {
				getMessage("R00004", new Array(field.id, field.maxLength));
				setFocus(field);
				return CHECK_RETURN;
			}
		}
		
		if (field.isPK == "Y") {
			return CHECK_OK_PK;
		} else {
			return CHECK_OK_ETC;
		}
	}
}

/*
 * <pre>
 * ¼öÁ¤½Ã ÇØ´ç ÇÊµå °´Ã¼ÀÇ value¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    - PK(isPK = "Y")¿Í ÇÊ¼ö ÀÔ·Â(isNotNull == "Y")ÀÇ ÀÔ·Â¿©ºÎ Ã¼Å©
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    CHECK_RETURN : °æ°íÃ¢
 *    CHECK_SKIP : ½ºÅµÇÏ±â
 *    CHECK_OK_PK : PK Ç×¸ñ
 *    CHECK_OK_ETC : ±âÅ¸Ç×¸ñ
 * 
 * <b>Parameters</b>
 *   field - ÇÊµåÀÇ value¸¦ Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ÆÄ¶ó¹ÌÅÍ.
 * 
 * <b>return</b>
 *   Æ¯ÀÌ»çÇ×¿¡ ¿­°ÅµÈ °ª(boolean).
 * 
 * </pre>
 */
function updateCheck(field) {
	var name = field.name;
	var ivalue = field.ivalue;
	//var value = field.value.replace(/\r/g,"");
	var value = clearMask(field);
	
	if (typeof ivalue == "undefined") ivalue = "";

	if (ivalue != value) {
	// ÀüÃ¼ ÀÚ¸®¼ö Ã¼Å©
		if (field.isMaxCheck == "Y") {
			if (value != "" && value.length != field.maxLength) {
				getMessage("R00004", new Array(field.id, field.maxLength));
				setFocus(field);
				return CHECK_RETURN;
			}
		}
	
		// ¼öÁ¤µÇ¸é ¾ÈµÇ´Â ÇÊµå´Â || Á¶°ÇÀ¸·Î Ãß°¡ÇÑ´Ù.
		if (field.isPK == "Y") {
			getMessage("R00004", new Array(field.id));
			field.value = ivalue;
			setFocus(field);
			return CHECK_RETURN;
		}

		if (value == "" && field.isNotNull == "Y") {
			//getMessage(PRE, "R00004", new Array(field.id));
			getMessage("R00004", new Array(field.id));			
			setFocus(field);
			return CHECK_RETURN;
		}
	
		return CHECK_OK_ETC;
	} else {
		if (field.isPK == "Y") return CHECK_OK_PK;
	}
	
	/* ¹«Á¶°Ç º¸³»¾ßÇÒ ÇÊµå°¡ ÀÖÀ¸¸é
	if (name == "aaaa") {
	return CHECK_OK_PK;
	}
	*/
	return CHECK_SKIP;
}

/*
 * <pre>
 * »èÁ¦½Ã ÇØ´ç ÇÊµå °´Ã¼ÀÇ value¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    - PK(isPK = "Y")¿Í ÇÊ¼ö ÀÔ·Â(isNotNull == "Y")ÀÇ ÀÔ·Â¿©ºÎ Ã¼Å©
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    CHECK_RETURN : °æ°íÃ¢
 *    CHECK_SKIP : ½ºÅµÇÏ±â
 *    CHECK_OK_PK : PK Ç×¸ñ
 *    CHECK_OK_ETC : ±âÅ¸Ç×¸ñ
 * 
 * <b>Parameters</b>
 *   field - ÇÊµåÀÇ value¸¦ Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ÆÄ¶ó¹ÌÅÍ.
 * 
 * <b>return</b>
 *   Æ¯ÀÌ»çÇ×¿¡ ¿­°ÅµÈ °ª(boolean).
 * 
 * </pre>
 */
function deleteCheck(field) {
	var name = field.name;
	var value = clearMask(field);
	
	var ivalue = field.ivalue;
	
	if (typeof ivalue == "undefined") ivalue = "";
	
	if (field.isPK == "Y") {
		if (ivalue != value) {
			getMessage("R00004", new Array(field.id));
			field.value = ivalue;
			setFocus(field);
			return CHECK_RETURN;
		} else {
			return CHECK_OK_PK;
		}
	}
	
	return CHECK_SKIP;
}

/*
 * <pre>
 * DateÇü½ÄÀÌ ¿Ã¹Ù¸¥Áö¸¦ °Ë»çÇÏ±â À§ÇÑ ÇÔ¼ö
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - dateÇü½ÄÀÌ ¿Ã¹Ù¸¥Áö¸¦ °Ë»çÇÏ±â À§ÇÑ value
 * 
 * <b>return</b>
 *    Çü½ÄÀÌ ¿Ã¹Ù¸£¸é true¸¦ ¸®ÅÏÇÏ°í ¿Ã¹Ù¸£Áö ¾ÊÀ¸¸é false¸¦ ¸®ÅÏ.
 * 
 * </pre>
 */
function checkDate(value) {
	yyyy = eval(value.substring(0, 4));
	mm = eval(value.substring(4, 6));
	dd = eval(value.substring(6, 8));
	
	date = new Date(yyyy, mm-1, dd);
	
	if (yyyy != date.getFullYear() || 
		mm != (date.getMonth()+1) || 
		dd != date.getDate()) {
		return false;
	}  
	
	return true;
}

/*
 * <pre>
 * »ç¾÷ÀÚ ¹øÈ£ Çü½ÄÀÌ ¿Ã¹Ù¸¥Áö¸¦ °Ë»çÇÏ±â À§ÇÑ ÇÔ¼ö
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - »ç¾÷ÀÚ ¹øÈ£ Çü½ÄÀÌ ¿Ã¹Ù¸¥Áö¸¦ °Ë»çÇÏ±â À§ÇÑ value
 * 
 * <b>return</b>
 *    Çü½ÄÀÌ ¿Ã¹Ù¸£¸é true¸¦ ¸®ÅÏÇÏ°í ¿Ã¹Ù¸£Áö ¾ÊÀ¸¸é false¸¦ ¸®ÅÏ.
 * 
 * </pre>
 */
function checkBN(value) {
	if (value.length != 10) return false;
	return true;
}

/*
 * <pre>
 * ÁÖ¹Îµî·Ï(¹ýÀÎ) ¹øÈ£ Çü½ÄÀÌ ¿Ã¹Ù¸¥Áö¸¦ °Ë»çÇÏ±â À§ÇÑ ÇÔ¼ö
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - ÁÖ¹Îµî·Ï(¹ýÀÎ) ¹øÈ£ Çü½ÄÀÌ ¿Ã¹Ù¸¥Áö¸¦ °Ë»çÇÏ±â À§ÇÑ value
 * 
 * <b>return</b>
 *    Çü½ÄÀÌ ¿Ã¹Ù¸£¸é true¸¦ ¸®ÅÏÇÏ°í ¿Ã¹Ù¸£Áö ¾ÊÀ¸¸é false¸¦ ¸®ÅÏ.
 * 
 * </pre>
 */
function checkID(value) {
	if (value.length != 13) return false;
	return true;
}

/*
 * <pre>
 * µé¾î¿Â ÆÄ¶ó¹ÌÅÍ·Î ºÎÅÍ date Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - date Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ ÆÄ¶ó¹ÌÅÍ.
 * 
 * <b>return</b>
 *    date Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÑ value.
 * 
 * </pre>
 */
function rmDate(value) {
	return value.replace(dateGuBun2,"");
}

/*
 * <pre>
 * µé¾î¿Â ÆÄ¶ó¹ÌÅÍ·Î ºÎÅÍ »ç¾÷ÀÚ ¹øÈ£ Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - »ç¾÷ÀÚ ¹øÈ£ Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ ÆÄ¶ó¹ÌÅÍ.
 * 
 * <b>return</b>
 *    »ç¾÷ÀÚ ¹øÈ£ Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÑ value.
 * 
 * </pre>
 */
function rmBN(value) {
	return value.replace(BNGuBun2,"");
}

/*
 * <pre>
 * µé¾î¿Â ÆÄ¶ó¹ÌÅÍ·Î ºÎÅÍ ÁÖ¹Î¹øÈ£(¹ýÀÎ) ¹øÈ£ Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - ÁÖ¹Î¹øÈ£(¹ýÀÎ) ¹øÈ£ Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ ÆÄ¶ó¹ÌÅÍ.
 * 
 * <b>return</b>
 *    ÁÖ¹Î¹øÈ£(¹ýÀÎ) ¹øÈ£ Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÑ value.
 * 
 * </pre>
 */
function rmID(value) {
	return value.replace(IDGuBun2,"");
}

/*
 * <pre>
 * µé¾î¿Â ÆÄ¶ó¹ÌÅÍ·Î ºÎÅÍ ¼ýÀÚ Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - ¼ýÀÚ Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÏ±â À§ÇÑ ÆÄ¶ó¹ÌÅÍ.
 * 
 * <b>return</b>
 *    ¼ýÀÚ Çü½ÄÀÇ ±¸ºÐÀÚ¸¦ Á¦°ÅÇÑ value.
 * 
 * </pre>
 */
function rmNum(value) {
	return value.replace(/\,/g,"");
}

/*
 * <pre>
 * TEXTFIELD¿¡ ÀÔ·Â µµÁß ÀÔ·Â °ªÀÌ maxLength°¡ µÇ¸é ´ÙÀ½ field·Î Æ÷Ä¿½º¸¦ ¿Å±â±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    onkeypress ÀÌº¥Æ®¿¡ »ç¿ëÇÑ´Ù.
 * </pre>
 */
function autoTab() {
	var current = event.srcElement;
	
	keycode = event.keyCode;
	
	if (current.isOnlyNum == "Y" ||
	    current.isNum == "Y" ||
	    current.isDate == "Y" ||
	    current.isTelNum == "Y") {
	    	if (keycode >= 65 && keycode <= 90) return;
	}
	
	if (event.ctrlKey || 
		event.altKey || 
		keycode <= 40 || 
		keycode >= 229 || 
		current.value.length != current.maxLength) return;
	
	// current.value.lengthÀ» ±¸ÇÏ´Â ·ÎÁ÷À» Æ÷ÇÔ½ÃÅ°ÀÚ.
	
	if (getStringSize(current.value) < current.maxLength) return;
	
	var i = 0;
	for (i; i< fields.length; i++) {
		if (fields[i] == current) break;
	}
	
	i++;
	
	for (i; i < fields.length; i++) {
		field = fields[i];
		
		if (field.readOnly || field.disabled) continue;
		
		try {
			setFocus(field);
		} catch(e) { }
		break;
	}
}

/*
 * <pre>
 * ÇÑ±ÛÀ» Æ÷ÇÔÇÑ ±ÛÀÚÀÇ »çÀÌÁî¸¦ ±¸ÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function getStringSize(message) {
	var i, len = 0;
	
	for (i = 0; i < message.length; i++) {
		(message.charCodeAt(i) > 255)? len += 2 : len++;
	}
	
	return len;
}

/*
 * <pre>
 * enter¸¦ ´­·¶À» °æ¿ì Á¶È¸¸¦ È£ÃâÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function enterSearch() {
	var keycode = event.keyCode;
	try {
		if (keycode == 13) alert('Enter Key ´­·¶¼ö?');
	} catch(e) { }
}

/*
 * <pre>
 * TextField¿¡ ¼ýÀÚ¿Í ¿µ¹®¸¸À» ÀÔ·ÂÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function onlyCode() {
	var keycode = event.keyCode;
	
	// 46 -> .  47 -> /  48 -> 0  95 -> _  57 -> 9 65 -> A  90 -> Z  97 -> a  122 -> z
	if (keycode == 46 || keycode == 47 || keycode == 95 ||
		(keycode >= 48 && keycode <= 57) ||
		(keycode >= 65 && keycode <= 90) ||
		(keycode >= 97 && keycode <= 122)) return true;
	return false;
}

/*
 * <pre>
 * TextField¿¡ ¼ýÀÚ¸¸À» ÀÔ·ÂÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function onlyNum() {
	var keycode = event.keyCode;

	// 48 -> 0  57 -> 9 
	if (keycode >= 48 && keycode <= 57) return true;
	return false;
}

/*
 * <pre>
 * TextField¿¡ ÀüÈ­¹øÈ£¸¸À» ÀÔ·ÂÇÏ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function telNum() {
	var keycode = event.keyCode;
	
	// 45 -> -  48 -> 0  57 -> 9 
	if (keycode == 45 || (keycode >= 48 && keycode <= 57)) return true;
	return false;
}

/*
 * <pre>
 * TextField¿¡ ÀÔ·ÂÇÑ °ªÀÌ ¼ýÀÚÀÎÁö¸¦ °Ë»çÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function checkNum() {
	var keycode = event.keyCode;
	
	// 43->+ 44->, 45->- 46->. 47->/48->0 57->9
	
	if ((keycode >= 45 && keycode <= 57) && keycode != 44 && keycode != 47) return true;
	
	return false;
}

/*
 * <pre>
 * ¼ýÀÚÀÔ·Â TextField¿¡ , ¸¦ Á¦°ÅÇÑ ÈÄ ¼¼ÆÃÇÏ´Â ¸Þ¼Òµå.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function currencyClear() {
	var field = event.srcElement;

	field.value = field.value.replace(/\,/g,"");
	setFocus(field);
}

/*
 * <pre>
 * ¼ýÀÚÀÔ·Â TextField¿¡ ,¸¦ ¼¼ÆÃÇÏ´Â ¸Þ¼Òµå.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function currency() {
	var field = event.srcElement;
	
	field.value = plusComma(field.value.replace(/\,/g,""));
}

/*
 * <pre>
 * ÆÄ¶ó¹ÌÅÍ·Î µé¾î¿Â ¼ýÀÚ¿¡ ,¸¦ Ãß°¡ÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *    
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    ÀÖÀ¸¸é Àû±¸, ¾øÀ¸¸é ¸»±¸.
 * 
 * <b>Parameters</b>
 *   num - ÀÔ·ÂµÈ ¼ýÀÚ °ª¿¡ , ¸¦ ºÙÀÌ±â¸¦ ¿øÇÏ´Â ÆÄ¶ó¹ÌÅÍ.
 * 
 * <b>return</b>
 *    ,°¡ ºÙÀº ¼ýÀÚ
 * 
 * </pre>
 */
function plusComma(num) {
	var minus = true;
	if (num < 0) num *= -1;
	else  minus = false;

	var dotPos = (num + "").split(".");
	var dotU = dotPos[0];
	var dotD = dotPos[1];
	var commaFlag = dotU.length%3;

	if (commaFlag) {
		var out = dotU.substring(0, commaFlag) ;
		if (dotU.length > 3) out += ",";
	} else var out = "";

	for (var i=commaFlag; i < dotU.length; i+=3) {
		out += dotU.substring(i, i+3) ;
		if(i < dotU.length-3) out += ",";
	}

	if (minus) out = "-" + out;
	if (dotD) out = out + "." + dotD;

	if (out == "") out = "0";
	
	return out;
}

/*
 * <pre>
 * ³¯Â¥ÀÔ·Â TextField¿¡ YYYY-MM-DDÀÇ ³¯Â¥¸¦ YYYYMMDD·Î ¹Ù²ã ¼¼ÆÃÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function removeDate() {
	var field = event.srcElement;
	
	value = field.value;
	
	if (value == "") return;
	field.value = field.value.replace(dateGuBun2,"");

	setFocus(field);
}

/*
 * <pre>
 * »ç¾÷ÀÚ ¹øÈ£ TextField¿¡ AAA-BB-CCCCCÀÇ ³¯Â¥¸¦ AAABBCCCCC·Î ¹Ù²ã ¼¼ÆÃÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function removeBN() {
	var field = event.srcElement;
	
	value = field.value;
	
	if (value == "") return;
	field.value = field.value.replace(BNGuBun2,"");

	setFocus(field);
}

/*
 * <pre>
 * ÁÖ¹Îµî·Ï(¹ýÀÎ) ¹øÈ£ TextField¿¡ AAAAAA-BBBBBBBÀÇ ³¯Â¥¸¦ AAAAAABBBBBBB·Î ¹Ù²ã ¼¼ÆÃÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function removeID() {
	var field = event.srcElement;
	
	value = field.value;
	
	if (value == "") return;
	field.value = field.value.replace(IDGuBun2,"");

	setFocus(field);
}

/*
 * <pre>
 * ³¯Â¥ÀÔ·Â TextField¿¡ YYYYMMDDÀÇ ³¯Â¥¸¦ YYYY-MM-DD·Î ¹Ù²ã ¼¼ÆÃÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function formatDate() {
	var field = event.srcElement;
	value = field.value;
	
	if (value == "") return;
	else if (value.length != 8) { // ÀÚ¸®¼ö Ã¼Å©
		getMessage("R00002");
		field.value = "";
		setFocus(field);
		return;
	}
	else if (!checkDate(value)) { // ³¯Â¥ validation
		getMessage("R00001");
		field.value = "";
		setFocus(field);
		return;
	}
	field.value = plusDate(value);
}

/*
 * <pre>
 * »ç¾÷ÀÚ ¹øÈ£ TextField¿¡ AAABBCCCCCÀÇ ³¯Â¥¸¦ AAA-BB-CCCCC·Î ¹Ù²ã ¼¼ÆÃÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function formatBN() {
	var field = event.srcElement;
	value = field.value;
	
	if (value == "") return;
	else if (value.length != 10) { // ÀÚ¸®¼ö Ã¼Å©
		getMessage("R00006");
		field.value = "";
		setFocus(field);
		return;
	}
	field.value = plusBN(value);
}

/*
 * <pre>
 * ÁÖ¹Îµî·Ï(¹ýÀÎ) ¹øÈ£ TextField¿¡ AAAAAABBBBBBBÀÇ ³¯Â¥¸¦ AAAAAA-BBBBBBB·Î ¹Ù²ã ¼¼ÆÃÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function formatID() {
	var field = event.srcElement;
	value = field.value;
	
	if (value == "") return;
	else if (value.length != 13) { // ÀÚ¸®¼ö Ã¼Å©
		getMessage("R00007");
		field.value = "";
		setFocus(field);
		return;
	}
	field.value = plusID(value);
}

/*
 * <pre>
 * YYYYMMDDÀÇ ³¯Â¥¸¦ YYYY-MM-DD·Î ¹Ù²ÛÈÄ ¸®ÅÏÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - YYYY-MM-DD·Î ¹Ù²Ù°íÀÚ ÇÏ´Â ÆÄ¶ó¹ÌÅÍ
 * 
 * <b>return</b>
 *    YYYY-MM-DDÀÇ Çü½ÄÀ¸·Î Ä¡È¯µÈ ¹®ÀÚ¿­
 * 
 * </pre>
 */
function plusDate(value) {
	if (value == "") return;
	
	yyyy = value.substring(0, 4);
	mm = value.substring(4, 6);
	dd = value.substring(6, 8);
	
	return yyyy + dateGuBun + mm + dateGuBun + dd;
}

/*
 * <pre>
 * AAABBCCCCCÀÇ °ªÀ» AAA-BB-CCCCC·Î ¹Ù²ÛÈÄ ¸®ÅÏÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - AAA-BB-CCCCC·Î ¹Ù²Ù°íÀÚ ÇÏ´Â ÆÄ¶ó¹ÌÅÍ
 * 
 * <b>return</b>
 *    AAA-BB-CCCCCÀÇ Çü½ÄÀ¸·Î Ä¡È¯µÈ ¹®ÀÚ¿­
 * 
 * </pre>
 */
function plusBN(value) {
	if (value == "") return;
	
	yyyy = value.substring(0, 3);
	mm = value.substring(3, 5);
	dd = value.substring(5, 10);
	
	return yyyy + BNGuBun + mm + BNGuBun + dd;
}

/*
 * <pre>
 * AAAAAABBBBBBBÀÇ °ªÀ» AAAAAA-BBBBBBB·Î ¹Ù²ÛÈÄ ¸®ÅÏÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * <b>Parameters</b>
 *    value - AAAAAA-BBBBBBB·Î ¹Ù²Ù°íÀÚ ÇÏ´Â ÆÄ¶ó¹ÌÅÍ
 * 
 * <b>return</b>
 *    AAAAAA-BBBBBBBÀÇ Çü½ÄÀ¸·Î Ä¡È¯µÈ ¹®ÀÚ¿­
 * 
 * </pre>
 */
function plusID(value) {
	if (value == "") return;
	
	yyyy = value.substring(0, 6);
	mm = value.substring(6, 13);
	
	return yyyy + IDGuBun + mm;
}

/*
 * <pre>
 * ÇÊµåÀÇ °ªÀ» ´ë¹®ÀÚ·Î ¹Ù²Û ÈÄ ¼¼ÆÃÇÏ´Â ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function upperCase() {
	var field = event.srcElement;
	field.value = field.value.toUpperCase();
}

/*
 * <pre>
 * EXCEL È­ÀÏÀ» ´Ù¿î·Îµå ¹Þ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function generateDownloadExcel(form) {
	var temp = form.action;
	form.action = downloadsite;
	form.submit();
	form.action = temp;
}

/*
 * <pre>
 * È­ÀÏÀ» ´Ù¿î·Îµå ¹Þ±â À§ÇÑ ÇÔ¼ö.
 *
 * 1. ¼³ ¸í
 *
 * 2. Æ¯ÀÌ»çÇ×
 *    
 * </pre>
 */
function generateDownload(form) {
	var temp = form.action;
	form.action = downloadsite;
	form.submit();
	form.action = temp;
}


/**
  * ÃÖ¼ÒÀÚ¸®¼ö¸¦ Ã¼Å©ÇÔ  ¸¸¾à minLen ÀÌ 2¶ó¸é 2ÀÚ¸®ÀÌ»óÀÌ¾î¾ßÇÔ
  * param val Ã¼Å©ÇÒ text field
  * minLen ÃÖ¼ÒÀÚ¸®¼ö
  * fieldName ½ÇÁ¦ ÇÊµå¸í 
  */  
function minLen(val, minLen, fieldName){
	if(val.value.length<minLen) {
		alert(fieldName+"Àº(´Â) "+minLen+"ÀÚ¸® ÀÌ»óÀÌ¾î¾ß ÇÕ´Ï´Ù.");
		val.focus();
		return false;
	}
	return true;
}