	/** =============================================
	Return : String
	Comment: sValÀÇ ±æÀÌ¸¦ iLenÀ¸·Î "0"À¸·Î Ã¤¿ö ¸ÂÃá °ªÀ» ¸®ÅÏ
	Usage  :
	---------------------------------------------- */
	function fn_setFillzeroByVal( sVal, iVal )
	{
		sStr = sVal + "";

		for (ii = sStr.length; ii < iVal; ii++) {
			sStr =  "0" + sStr;
		}

		return sStr;
	}

	/** =============================================
	Return : String (YYYYMMDD)
	Comment: ÇöÀç³¯ÀÚ¸¦ ±¸ÇÑ´Ù (¹®ÀÚ:YYYYMMDD)
	Usage  :
	---------------------------------------------- */
	function fn_getDateNowToStr()
	{
		var dNow = new Date();
		var yyyy = "";
		var mm   = "";
		var dd   = "";

		yyyy = dNow.getYear();
		mm   = dNow.getMonth()+1;
		dd   = dNow.getDate();

		yyyy = fn_setFillzeroByVal( yyyy, 4 );
		mm   = fn_setFillzeroByVal( mm,   2 );
		dd   = fn_setFillzeroByVal( dd,   2 );
		return (yyyy + mm + dd);
	}

	/** =============================================
	Return : String (YYYY)
	Comment: ÇöÀç³¯ÀÚ¿¡ ³â¸¦ ±¸ÇÑ´Ù (¹®ÀÚ:YYYY)
	Usage  :
	---------------------------------------------- */
	function fn_getTodayYear()
	{
		var dNow = new Date();
		var yyyy = "";
		var mm   = "";
		var dd   = "";

		yyyy = dNow.getYear();
		mm   = dNow.getMonth()+1;
		dd   = dNow.getDate();

		yyyy = fn_setFillzeroByVal( yyyy, 4 );
		return yyyy;
	}

	/** =============================================
	Return : String (MM)
	Comment: ÇöÀç³¯ÀÚ¿¡ ´Þ¸¦ ±¸ÇÑ´Ù (¹®ÀÚ:MM)
	Usage  :
	---------------------------------------------- */
	function fn_getTodayMonth()
	{
		var dNow = new Date();
		var yyyy = "";
		var mm   = "";
		var dd   = "";

		yyyy = dNow.getYear();
		mm   = dNow.getMonth()+1;
		dd   = dNow.getDate();

		mm   = fn_setFillzeroByVal( mm,   2 );
		return mm;
	}


	/** =============================================
	Return : String (DD)
	Comment: ÇöÀç³¯ÀÚ¿¡ ÀÏÀÚ¸¦ ±¸ÇÑ´Ù (¹®ÀÚ:DD)
	Usage  :
	---------------------------------------------- */
	function fn_getTodayDate()
	{
		var dNow = new Date();
		var yyyy = "";
		var mm   = "";
		var dd   = "";

		yyyy = dNow.getYear();
		mm   = dNow.getMonth()+1;
		dd   = dNow.getDate();

		dd   = fn_setFillzeroByVal( dd,   2 );
		return dd;
	}


	/** =============================================
	Return : boolean
	Comment: ÀÔ·Â¹ÞÀº ³âµµ°¡ À±³âÀÌ¸é true
	Usage  :
	---------------------------------------------- */
	function fn_isLeafYear(YYYY)
	{
		if ( ( (YYYY%4 == 0) && (YYYY%100 != 0) ) || (YYYY%400 == 0) ) {
			return true;
		}
		return false;
	}

	/** =============================================
	Return : int (ÇØ´ç ³â,¿ùÀÇ ³¯¼ö)
	Comment: ÀÔ·Â¹ÞÀº ³â,¿ùÀÇ ÃÖ´ë ÀÏÀ» ±¸ÇÑ´Ù.
	Usage  :
	---------------------------------------------- */
	function fn_MaxdayYearMonth(yyyy, mm)
	{
		var monthDD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

		var iMaxDay = 0;

		if ( fn_isLeafYear(yyyy) ) {
			monthDD[1] = 29;
		}
		iMaxDay = monthDD[mm - 1];

		return iMaxDay;
	}


	/** =============================================
	Return : ³âÀÇ inner HTMLÀ» ¸®ÅÏÇÑ´Ù.
	Comment: Á¶°Ç¿¡ ¸Â´Â³â combo box HTMLÀ» »ý¼º.
	---------------------------------------------- */
	function fn_setYear(vSelectVal, vName, vScript, vMaxDate, vMinDate)
	{
		var setHtml = "";
		var sTodayYear = fn_getTodayYear();

		if( vMinDate == "" ) vMinDate = Number(sTodayYear) - 6;
		if( vMaxDate == "" ) vMaxDate = Number(sTodayYear) + 6;

		if( vMaxDate < vMinDate )
		{
			var tmp = vMaxDate;
			vMaxDate = vMinDate;
			vMinDate = tmp;
		}

		if(vScript !=null && vScript !="")  setHtml="<select name='"+ vName +"' "+ vScript +">";
		else                                setHtml="<select name='"+ vName +"'>";

		for(i=vMinDate; i<=vMaxDate; i++)
		{
			if( vSelectVal == i)  setHtml+="<option value='"+ i +"' selected >"+ i +"</option>";
			else                  setHtml+="<option value='"+ i +"'>"+ i +"</option>";
		}

		setHtml+="</select>";

		return setHtml;
	}


	/** =============================================
	Return : ´ÞÀÇ inner HTMLÀ» ¸®ÅÏÇÑ´Ù.
	Comment: Á¶°Ç¿¡ ¸Â´Â ´Þ combo box HTMLÀ» »ý¼º.
	---------------------------------------------- */
	function fn_setMonth(vSelectVal, vName, vScript, vMaxDate, vMinDate)
	{
		var setHtml = "";

		if( vMinDate == "" ) vMinDate = "1";
		if( vMaxDate == "" ) vMaxDate = "12";

		if( vMaxDate < vMinDate )
		{
			var tmp = vMaxDate;
			vMaxDate = vMinDate;
			vMinDate = tmp;
		}

		if(vScript !=null && vScript !="")  setHtml="<select name='"+ vName +"' "+ vScript +">";
		else                                setHtml="<select name='"+ vName +"'>";

		for(i=vMinDate; i<=vMaxDate; i++)
		{
			if( vSelectVal == i)  setHtml+="<option value='"+ i +"' selected >"+ i +"</option>";
			else                  setHtml+="<option value='"+ i +"'>"+ i +"</option>";
		}

		setHtml+="</select>";

		return setHtml;
	}


	/** =============================================
	Return : ÀÏÀÚÀÇ inner HTMLÀ» ¸®ÅÏÇÑ´Ù.
	Comment: Á¶°Ç¿¡ ¸Â´Â ÀÏÀÚ combo box HTMLÀ» »ý¼º.
	---------------------------------------------- */
	function fn_setDay(vSelectVal, vName, vScript, vMaxDate, vMinDate)
	{
		var setHtml = "";

		if( vMinDate == "" ) vMinDate = "1";
		if( vMaxDate == "" ) vMaxDate = "31";

		if( vMaxDate < vMinDate )
		{
			var tmp = vMaxDate;
		 	vMaxDate = vMinDate;
			vMinDate = tmp;
		}

		if(vSelectVal > vMaxDate)
		{
			vSelectVal = vMaxDate;
		}

		if(vScript !=null && vScript !="")  setHtml="<select name='"+ vName +"' "+ vScript +">";
		else                                setHtml="<select name='"+ vName +"'>";

		for(i=vMinDate; i<=vMaxDate; i++)
		{
			if( vSelectVal == i)  setHtml+="<option value='"+ i +"' selected >"+ i +"</option>";
			else                  setHtml+="<option value='"+ i +"'>"+ i +"</option>";
		}

		setHtml+="</select>";

		return setHtml;
	}


	/** =============================================
	Return : ³â¿ù(yyyyMM)¿¡ ÇØ´çÇÏ´Â ÃÖ´ëÀÏÀÚÀ» ¸®ÅÏÇÑ´Ù.
	Comment: ¼±ÅÃµÈ ³â¿ù¿¡ ÃÖ´ë ÀÏÀÚ¸¦ ±¸ÇÑ´Ù.
	---------------------------------------------- */
	function getMaxDate()
	{
		var year   = "";
		var month   = "";

		var form = document.form1;

		if(form.year == null)
			year = fn_getTodayYear();
		else year = form.year.value;

		if(form.month == null)
			month = fn_getTodayMonth();
		else month = form.month.value;

	    var maxdate = fn_MaxdayYearMonth(year,month);

	    return  maxdate;
	}


	/** =============================================
	Return :
	Comment: ³â¿¡ combo boxÀ» ±¸ÇÏ¿© È­¸é¿¡ ³ªÅ¸³½´Ù.
	---------------------------------------------- */
	function setYear()
	{
		var setHtml = "";
		var vTodayYear = fn_getTodayYear();

		setHtml= fn_setYear(vTodayYear, "year", "onChange='setDay();'" , "", "");
		YEAR_HTML.innerHTML = setHtml;
	}

	/** =============================================
	Return :
	Comment: ´Þ¿¡ combo boxÀ» ±¸ÇÏ¿© È­¸é¿¡ ³ªÅ¸³½´Ù.
	---------------------------------------------- */
	function setMonth()
	{
		var setHtml = "";
		var vTodayMonth = fn_getTodayMonth();

		setHtml= fn_setMonth(vTodayMonth, "month", "onChange='setDay();'", "", "");
		MONTH_HTML.innerHTML = setHtml;
	}

	/** =============================================
	Return :
	Comment: ÀÏ¿¡ combo boxÀ» ±¸ÇÏ¿© È­¸é¿¡ ³ªÅ¸³½´Ù.
	---------------------------------------------- */
	function setDay()
	{
		var setHtml = "";
		var vTodayDay = "";

		var form = document.form1;
		var maxdate   = getMaxDate();

		if(form.date == null)
			vTodayDay = fn_getTodayDate();
		else vTodayDay = form.date.value;

		setHtml= fn_setDay(vTodayDay, "date", "", maxdate , "")
		DAY_HTML.innerHTML = setHtml;
	}

	//ÃÊ±â°ª ¼³Á¤.
	function fn_init()
	{
		setYear();
		setMonth();
		setDay();
	}


	/** =============================================
	Return : boolean
	Comment: comboxÀÇ Ã¼Å©À¯¹« RETURN
	Usage  :
	---------------------------------------------- */
	function hasCheckedComBox(obj) {
		if (obj.options.length > 1) {
			for (var inx = 0; inx < obj.options.length; inx++) {
				if (obj[inx].selected) return true;
			}
		} else {
			if (obj.selected) return true;
		}
		return false;
	}

	/** =============================================
	Return :
	Comment: combo box¿¡ ÀÖ´Â optionµé Áß¿¡ ¼±ÅÃÇÑ index°ªÀ» ¸®ÅÏÇÑ´Ù.
	Usage  :
	---------------------------------------------- */
	function getIndexComboBox(obj)
	{
		var ret_val = "0";

		if(hasCheckedComBox(obj))
		{
			for( i=0; i<obj.options.length; i++)
			{
				if(obj.options[i].selected)
				{
					ret_val = i;
					return ret_val;
		        }
			}
		}
		return ret_val;
	}



	/** =============================================
	Return :
	Comment: combo box¿¡ ÀÖ´Â optionµé Áß¿¡ ¼±ÅÃÇÑ indexÀÇ value°ªÀ» ¸®ÅÏÇÑ´Ù.
	Usage  :
	---------------------------------------------- */
	function setValueComboBox(obj)
	{
		var inx = getIndexComboBox(obj);

		return fn_trim(obj.options[inx].value);
	}

	/** =============================================
	Return :
	Comment: combo box¿¡ ÀÖ´Â optionµé Áß¿¡ ¼±ÅÃÇÑ indexÀÇ Text°ªÀ» ¸®ÅÏÇÑ´Ù.
	Usage  :
	---------------------------------------------- */
	function setTextComboBox(obj)
	{
		var inx = getIndexComboBox(obj);

		return fn_trim(obj.options[inx].text);
	}



	/** =============================================
	Return :
	Comment: combo box¿¡ ÀÖ´Â optionµé Áß¿¡ ¼±ÅÃÇÏ°íÀÚ ÇÏ´Â °ª¿¡ Æ÷Ä¿½º¸¦ ¸ÂÃá´Ù.
	Usage  :
	---------------------------------------------- */
	function setComboBox(combo1, selectedOption)
	{

		alert(combo1);


		for( i=0;i < combo1.options.length;i++)
		{
			if (combo.options(i).value == selectedOption)
			{
				combo.selectedIndex=i;
				break;
			}
		}

	}

	/** =============================================
	Return : boolean
	Comment: E-mail ÁÖ¼Ò Ã¼Å© ÇÔ¼ö
	Usage  :
	---------------------------------------------- */
	function fn_isEmail(email_addr)
	{
		if (email_addr == "") return false;

		var t = email_addr;

		var Alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
		var Digit = '1234567890';
		var Symbol='_-';
		var check = '@.' + Alpha + Digit + Symbol;

		for (i=0; i < t.length; i++)
			if(check.indexOf(t.substring(i,i+1)) < 0)    {
				return false;
			}

		var check = '@';
		var a = 0;
		for (i=0; i < t.length; i++)
			if(check.indexOf(t.substring(i,i+1)) >= 0)    a = i;

		var check = '.';
		var b = 0;

		for (i=a+1; i < t.length; i++)
			if(check.indexOf(t.substring(i,i+1)) >= 0)  b = i;

		if (a != 0 && b != 0 && b!=t.length-1 )
		{
			return true;
		} else {
			return false;
		}
	}

	// null check
	function null_check(obj)
	{
		if(obj.value == "")
			return true;
	}

	/** =============================================
	Return : boolean
	Comment: ¶óµð¿À¹öÆ°ÀÇ Ã¼Å©À¯¹« RETURN
	Usage  :
	---------------------------------------------- */
	function hasCheckedRadio(obj) {
		if (obj.length > 1) {
			for (var inx = 0; inx < obj.length; inx++)
		{
				if (obj[inx].checked) return true;
			}
		} else {
			if (obj.checked) return true;
		}
		return false;
	}


	/** =============================================
	Return :
	Comment: sMsg ¸¦ °æ°íÃ¢¿¡ ¶ç¿ì°í, obj ·Î Æ÷Ä¿½º¸¦ ÀÌµ¿ÇÑ´Ù.
	Usage  :
	---------------------------------------------- */
	function fn_MsgPopFocus(obj, sMsg)
	{
		alert(sMsg);
		fn_focus(obj); //obj.focus();
	}

	/** =============================================
	Return : boolean (Yes: true)
	Comment: sMsg ¸¦ °æ°íÃ¢¿¡ ¶ç¿ö Yes / No ·Î ¹¯°í, obj ·Î Æ÷Ä¿½º¸¦ ÀÌµ¿ÇÑ´Ù.
	Usage  :
	---------------------------------------------- */
	function fn_confirmFocus(obj, sMsg)
	{
		var isTrue = false;

		isTrue = confirm(sMsg);
		fn_focus(obj); //obj.focus();

		return isTrue;
	}

	/** =============================================
	Return :
	Comment: ÀÎ¼ö·Î ¹ÞÀº °´Ã¼·Î Æ÷Ä¿½º¸¦ ÀÌµ¿ÇÑ´Ù.
	Usage  : onKeyPress="fn_focus(NextObj, isNextObjSelection)"
	---------------------------------------------- */
	function fn_focus(objTo, bSelection)
	{
		// ¼Ó¼º: .disabled, .readonly, .enabled, .visible
		// ¼Ó¼ºÀÌ ÁöÁ¤µÇÁö ¾ÊÀº °æ¿ì¸¦ ÁÖÀÇÇÒ°Í! 2001-02-10
		if ( ((objTo.readonly == null) || (objTo.readonly != null && objTo.readonly == false)) &&
			 ((objTo.disabled == null) || (objTo.disabled != null && objTo.disabled == false)) &&
			 ((objTo.visible  == null) || (objTo.visible  != null && objTo.visible  == true )) &&
			 ((objTo.enabled  == null) || (objTo.enabled  != null && objTo.enabled  == true )) ) {
			objTo.focus();

			if (!(bSelection == false))
				bSelection = true;

			if ( (bSelection) && objTo.isTextEdit )
				objTo.select();
		}
		return;
	}

	/** =============================================
	Return : String
	Comment: ÀÔ·Â¹ÞÀº text ÀÇ ¾ÕµÚ¿¡ ºÙÀº Space, Tab, CRLF ¸¦ Á¦°Å
	Usage  :
	---------------------------------------------- */
	function fn_trim(text)
	{
		if (text == null) {
			return "";
		}

		var txt = text + "";
		var flag = false;

		// ¾ÕÂÊ Æ®¸²
		var ii = 0;

		while (!flag) {
			var ch = txt.charAt(ii);
			if ( (ch == ' ') || (ch == '\t') || (ch == '\n') || (ch == '\r') ) {
				if (ii < txt.length)
					ii++;
				else
					flag = true;
			} else
				flag = true;
		}

		if (ii == (txt.length))
			return "";
		else
			txt = txt.substring(ii);

		// µÚÂÊ Æ®¸²
		flag = false;
		var jj = txt.length - 1;

		while (!flag) {
			var ch = txt.charAt(jj);
			if ( (ch == ' ') || (ch == '\t') || (ch == '\n') || (ch == '\r') ) {
				if ( jj > 0 )
					jj--;
				else
					flag = true;
			} else
				flag = true;
		}

		txt = txt.substring(0, jj+1);
		return txt;
	}


	/** =============================================
	Return : String
	Comment: ÀÔ·Â¹ÞÀº text ÀÇ ¾ÕµÚ¿¡ ºÙÀº Space, Tab, CRLF ¸¦ Á¦°Å
	Usage  :
	---------------------------------------------- */
	function fn_trimByObj(obj)
	{
		obj.value = fn_trim(obj.value);
	}

	// event.shiftKey : Å°ÄÚµå°ª
	// event.shiftKey, event.altKey, event.ctrlKey : boolean
	// event.srcElement : ÀÌº¥Æ®°¡ ¹ß»ýµÈ °´Ã¼
	// 8: BackSpace, 46: Del
	// ","=44, "-"=45, "."=46, "/"=47
	// "0"=48, "9"=57
	// "@"=64, "A"=65, "Z"=90, "a"=97, "z"=122
	// 37:LeftArrow, 38:UpArrow, 39:RightArrow, 40:DownArrow **
	/** =============================================
	Return : event.returnValue = boolean
	Comment: Å°ÀÔ·Â½Ã ¼ýÀÚ¸¸ ÀÔ·Â ¹Þ°Ô ÇÑ´Ù.
	Usage  : onKeyDown="fn_onKeyOnlyNumber();"
	---------------------------------------------- */
	function fn_onKeyOnlyNumber()
	{
		var sValid = "0123456789";

		var sValue = event.srcElement.value;
		var iKey = event.keyCode;
		var isShift = event.shiftKey;
		var isMove = false;
		var isCut  = false
		var isTrue = true;

		event.srcElement.style.imeMode = "inactive"; //style.imeMode(active:ÇÑ±Û, inactive:¿µ¹®) ±×·¯³ª, µ¿ÀûÀ¸·Î´Â ¹Ý¿µ ¾ÈµÈ´Ù. (html tagÀÇ style="IME-MODE:inactive;" ·Î ÁöÁ¤ÇÏ¿©¾ß¸¸..)

		var sReturnValue = "";
		for (var ii=0; ii < sValue.length; ii++)
		{
			if (sValid.indexOf(sValue.substring(ii, ii+1)) >= 0)
			{
				sReturnValue = sReturnValue + sValue.substring(ii, ii+1);
			}
		}

		if ( (iKey == 37 || iKey == 38 || iKey == 39 || iKey == 40) ||
			 (iKey == 13 || iKey == 8  || iKey == 46 || iKey == 9  || iKey == 16  || isShift) ||
			 (iKey >= 48 && iKey <= 57) ||
			 (iKey >= 96 && iKey <= 105) )
		{
			for (var ii=0; ii < sValue.length; ii++)
			{
				if (sValid.indexOf(sValue.substring(ii, ii+1)) < 0)
				{
					event.returnValue = false;
					isCut  = true;
					isTrue = false;
					break;
				}
			}
		}else {
			event.returnValue = false;
			isTrue = false;
		}

		if (isCut || isTrue == false)
			event.srcElement.value = sReturnValue;

		if (iKey == 13) {
			event.keyCode = 0;
			return sReturnValue;
		} else {
			return sReturnValue;
		}
	}


	//¿£ÅÍÅ°ÀÔ·Â½Ã Æ÷Ä¿½º¼¼ÆÃ
	var isNav4, isIE4
	if (parseInt(navigator.appVersion.charAt(0)) >= 4)
	{
		isNav4 = (navigator.appName == "Netscape") ? true : false
		isIE4 = (navigator.appName.indexOf("Microsoft" != -1)) ? true : false
	}

	function chkWhich(evt)
	{
		var theKey;
		if (isNav4) {
		   theKey = evt.which;
		} else if (isIE4) {
		   if (window.event.srcElement.type == "password" || window.event.srcElement.type == "text") {
		      theKey = window.event.keyCode;
		   }
		}
        return theKey;
	}


	function getCookie(name)
	{
		var Found = false ;
		var start, end ;
		var i = 0 ;
		while(i <= document.cookie.length)
		{
			start = i
			end = start + name.length

			if(document.cookie.substring(start, end) == name)
			{
				Found = true ;
				break ;
			}
			i++ ;
		}

		if(Found == true)
		{
			start = end + 1 ;
			end = document.cookie.indexOf(";", start) ;

			if(end < start)
				end = document.cookie.length ;
			return document.cookie.substring(start, end) ;
		}
		return "" ;
	}


	/** =============================================
	Return : boolean
	Comment: °ø¹é(space)À» ÀÔ·ÂÇß´ÂÁö Ã¼Å©ÇÑ´Ù.
	Usage  :
	---------------------------------------------- */
	function space_check(obj)
	{
		for(i = 0; i < obj.length; i++)
		{
			s_obj = obj.charAt(i);

			if(s_obj == ' ')
				return false;
		}
		return true;
	}

	/** =============================================
	Return : boolean
	Comment: ÇÑ±Û¸¸À» ÀÔ·ÂÇß´ÂÁö Ã¼Å©ÇÑ´Ù.
	Usage  :
	---------------------------------------------- */
	function isKorean(obj) {
	    //var len = obj.value.length;
	    var len = obj.length;
		var numUnicode;

		for(i=0;i<len;i++)
		{
		   //numUnicode = obj.value.charCodeAt(i)
		   numUnicode = obj.charCodeAt(i)
			if ( 44032 <= numUnicode && numUnicode <= 55203 )
			{
				continue;
			}else{
			    return false;
				break;
			}
		}

		return true;
	}

	/** =============================================
	Return :
	Comment: ÁÖ¹Îµî·Ï¹øÈ£·Î »ýÀÏ ÃßÃâ.
	Usage  : sBirth = fn_getBirthdayByVal( sJumin1, sJumin2 );
	---------------------------------------------- */
	function fn_getBirthByVal( sJumin1, sJumin2 )
	{
		var isTrue = true;
		var sYearPreCode = "";
		var sYearBase = "";
		var sBirth = "";

		// 01.ÁÖ¹Îµî·Ï¹øÈ£°¡ ´Ù ÀÔ·ÂµÇÁö ¾Ê¾ÒÀ¸¸é return;
		if ( sJumin1.length != 6 || sJumin2.length != 7 || isNaN(sJumin1) || isNaN(sJumin2) ) {
			return "";
		}

		// 02.ÁÖ¹Îµî·Ï¹øÈ£ µÞÀÚ¸®ÀÇ Ã¹ÀÚ°¡ 9/0:1800, 1/2:1900, 3/4:2000 ¾Æ´Ï¸é return;
		sYearPreCode = sJumin2.substring(0,1);
		if (sYearPreCode == "9" || sYearPreCode == "0") {
			sYearBase = "18";
		} else if (sYearPreCode == "1" || sYearPreCode == "2") {
			sYearBase = "19";
		} else if (sYearPreCode == "3" || sYearPreCode == "4") {
			sYearBase = "20";
		} else {
			return "";
		}

		// 11.»ýÀÏ ¼³Á¤
		sBirth = sYearBase + sJumin1.substring(0, 2)
			   + sJumin1.substring(2, 4)
			   + sJumin1.substring(4, 6);

		return sBirth;
	}
/** =============================================
Return : boolean
Comment: ÇÑ ±ÛÀÚ°¡ ¼ýÀÚÀÎÁö Ã¼Å©
Usage  :
---------------------------------------------- */
function fn_isInt(value)
{
	var   j;
	var   _intValue   = '0123456789';

	for(j=0;j<_intValue.length;j++)
		if(value == _intValue.charAt(j)) {
			return true;
		}
	return false;
}


/** =============================================
Return : boolean
Comment: ¼ýÀÚ·Î ±¸¼ºµÈ ¹®ÀÚ¿­ Ã¼Å©
Usage  :
---------------------------------------------- */
function fn_isNumStr(no)
{
	var    i;
	var    str = null;

	str = new String(no);

	if(str == null || str.length == 0)
		return false;

	for(ii = 0; ii < str.length; ii++)
		if(!fn_isInt(str.charAt(ii)))
			return false;
	return true;
}

var gsJuminNo = "";

/** =============================================
Return : boolean
Comment: ÀÔ·Â¹ÞÀº ³âµµ°¡ À±³âÀÌ¸é true
Usage  :
---------------------------------------------- */
function fn_isLeafYear(YYYY)
{
	if ( ( (YYYY%4 == 0) && (YYYY%100 != 0) ) || (YYYY%400 == 0) ) {
		return true;
	}
	return false;
}

/** =============================================
Return : int (ÇØ´ç ³â,¿ùÀÇ ³¯¼ö)
Comment: ÀÔ·Â¹ÞÀº ³â,¿ùÀÇ ÃÖ´ë ÀÏÀ» ±¸ÇÑ´Ù.
Usage  :
---------------------------------------------- */
function fn_MaxdayYearMonth(yyyy, mm)
{
	var monthDD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

	var iMaxDay = 0;

	if ( fn_isLeafYear(yyyy) ) {
		monthDD[1] = 29;
	}
	iMaxDay = monthDD[mm - 1];

	return iMaxDay;
}

/** =============================================
Return : boolean
Comment: ³¯Â¥ À¯È¿¼º Ã¼Å©(ºÐ¸®µÈ yyyy, mm, dd °ª)
Usage  :
---------------------------------------------- */
function fn_isYearMonthDay(yyyy, mm, dd)
{
	var isTrue  = false;

	var iMaxDay = fn_MaxdayYearMonth(yyyy, mm);

	if ( yyyy == "" && mm == "" && dd == "" ) {
		isTrue = true;
	} else {
		if ( (yyyy >= 1901) && (yyyy <= 9999) &&
			 (mm   >= 1)    && (mm   <= 12) &&
			 (dd   >= 1)    && (dd   <= iMaxDay) )
			isTrue = true;
	}

	return isTrue;
}

	/** =============================================
	Return : boolean
	Comment: ³¯Â¥ À¯È¿¼º Ã¼Å©(º´ÇÕµÈ yyyymmdd °ª)
	Usage  :
	---------------------------------------------- */
	function fn_isDate( yyyymmdd )
	{
		var isTrue  = false;

		if ( (yyyymmdd.length == 8) && fn_isNumStr(yyyymmdd) ) {

			var yyyy = eval(yyyymmdd.substring(0,4));
			var mm   = eval(yyyymmdd.substring(4,6));
			var dd   = eval(yyyymmdd.substring(6,8));

			if ( fn_isYearMonthDay(yyyy,mm,dd) )
				isTrue = true;
		} else if (yyyymmdd == "") {
			isTrue = true;
		}

		return isTrue;
	}

	/** =============================================
	Return : boolean
	Comment: ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å©
	Usage  : if (fn_isJumin(theForm.jumin_biz_no1.value + theForm.jumin_biz_no2.value) == false) {
				 fn_focus(theForm.jumin_biz_no1);
			 }
	---------------------------------------------- */
	function fn_isJumin(sVal)
	{
		var isTrue    = false;
		var isConfirm = false;
		var sJumin = fn_trim(sVal);

		if (sJumin == null || sJumin == "") {
			// °ªÀÌ ¾øÀ¸¸é: true;
			return true;
		} else if (sJumin.length != 13) {
			// 13ÀÚ¸®°¡ ¾Æ´Ï¸é false;
			alert("ÁÖ¹Îµî·Ï¹øÈ£´Â ¾Õ, µÚ Æ÷ÇÔ 13ÀÚ¸® ÀÔ´Ï´Ù.\n\nÀÔ·ÂÇ×¸ñÀ» È®ÀÎÇÏ¼¼¿ä!");
			return  false;
		} else {
			// ¼ýÀÚ°¡ ¾Æ´Ñ°ÍÀÌ ÀÖÀ¸¸é: false;
			for (ii = 0; ii < sJumin.length; ii++) {
				if (sJumin.substring(ii, ii+1) < "0" || sJumin.substring(ii, ii+1) > "9") {
					alert("ÁÖ¹Îµî·Ï¹øÈ£¿¡ ¼ýÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ°ªÀÌ ÀÔ·ÂµÇ¾ú½À´Ï´Ù.\n\nÀÔ·ÂÇ×¸ñÀ» È®ÀÎÇÏ¼¼¿ä!");
					return false;
				}
			}
		}

		// **************************************************
		// ÀÌÁ¦ºÎÅÍ °Ë»ç ..
		// **************************************************

		// ÁÖ¹Îµî·Ï¹øÈ£·Î »ý³â¿ùÀÏ ÃßÃâ
		var sBirth = fn_getBirthByVal(sJumin.substring(0, 6), sJumin.substring(6, 13));
		// ÁÖ¹Îµî·Ï¹øÈ£·Î ÃßÃâÇÑ »ý³â¿ùÀÏÀÌ Á¤»óÀÌ°í, "1111111111111" ÀÌ ¾Æ´Ï¸é
		// **ÁÖ¹Îµî·Ï Ã¼Å©¼¶ °Ë»ç**

		if (sBirth.length == 8 && fn_isDate(sBirth) && sJumin != "1111111111111" )
		{
			// ÁÖ¹Îµî·Ï Ã¼Å©¼¶ °Ë»ç ...
			var sJuminChk = new String("234567892345")
			var iJuminSum = 0;
			var sJuminLst = "";
			for (ii = 0; ii < 13; ii++)
			{
				iJuminSum = iJuminSum + (sJumin.substring(ii, ii+1) * sJuminChk.substring(ii, ii+1));
			}
			sJuminLst = (11 - (iJuminSum % 11)) % 10;

			if (sJuminLst == sJumin.substring(12, 13) ) {
				isTrue = true;
			} else {
				isTrue = false;
			}
		} else {
			isTrue = false;
		}

		if ( !isTrue ) {
			if (gsJuminNo == sJumin) {
				isConfirm = true;
			} else {
				isConfirm = alert("ÁÖ¹Îµî·Ï¹øÈ£°¡ À¯È¿ÇÏÁö ¾ÊÀº ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù");
			}

			if ( isConfirm ) {
				gsJuminNo = sJumin;
				isTrue = true;
			} else {
				gsJuminNo = "";
			}
		}

		return isTrue;
	}


	function name_check(obj)
	{

		if(null_check(obj))
		{
			fn_MsgPopFocus(obj, '¼º¸í(½Ç¸í)À» ÀÔ·ÂÇÏ¼¼¿ä.');
			return false;
		}
		if(!space_check(obj.value))
		{
			fn_MsgPopFocus(obj, '¼º¸í(½Ç¸í)¿¡´Â °ø¹é¾øÀÌ ÀÔ·ÂÇÏ¼¼¿ä.');
			return false;
		}
		if(!isKorean(obj.value))
		{
			fn_MsgPopFocus(obj, 'ÇÑ±Û¸¸ ÀÔ·ÂÇÏ½Ã¿À.');
			return false;
		}
		return true;
	}

	// ÁÖ¹Îµî·Ï¹øÈ£
	function jumin_check(obj1, obj2)
	{

		if(null_check(obj1))
		{
			fn_MsgPopFocus(obj1, 'ÁÖ¹Îµî·Ï¹øÈ£ ¾ÕÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä.');
			return false;
		}
		if(null_check(obj2))
		{
			fn_MsgPopFocus(obj2, 'ÁÖ¹Îµî·Ï¹øÈ£ µÞÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä.');
			return false;
		}
		if(!fn_isJumin(obj1.value+obj2.value)) // À¯È¿¼º °Ë»ç
		{
			fn_focus(obj1);
			return false;
		}
		return true;
	}

	function setWindow(vWidth, wHeight)
	{
			self.resizeTo(vWidth, wHeight);

			return true;
	}



    //¹®ÀÚ°ª characterÇü¿¡ ¸Â´ÂÁö ¿©ºÎ È®ÀÎ.
    function checkString(input, chars)
    {
        for (var inx = 0; inx < input.length; inx++)
		{
           if (chars.indexOf(input.charAt(inx)) == 0)
               return true;
        }
        return false;
    }



   function checkComma(obj)
    {
		var input = obj.value;

		if(checkString(input, "'") )
		{
			fn_MsgPopFocus(obj, 'Æ¯¼ö¹®ÀÚ  \', =, - ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù!!');
			return true;
		}

		if(checkString(input, "=") )
		{
			fn_MsgPopFocus(obj, 'Æ¯¼ö¹®ÀÚ  \', =, - ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù!!');
			return true;
		}

		if(checkString(input, "-") )
		{
			fn_MsgPopFocus(obj, 'Æ¯¼ö¹®ÀÚ  \', =, - ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù!!');
			return true;
		}


    }	