	function ErrObj(bState,strHelp,strUrl)	{
		this.state=bState;
		this.help=strHelp;
		this.url=strUrl;
	}

	function fillDay(objY, objM, objD) {
		if(!isNumber(objY) || !isNumber(objM)) {
			return;
		}
		var checkedYear = parseInt(objY.value, 10);
		var checkedMonth = parseInt(objM.value, 10);
		var lastDate;
		
		/* À±³âÃ¼Å© */
		yun = 0
		if (checkedYear % 400 == 0) {
			yun = 1;
		} else if (checkedYear % 100 == 0) {
			yun = 0;
		} else if (checkedYear % 4 == 0) {
			yun = 1;
		}
		
		
		if ((checkedMonth == 1) || (checkedMonth == 3) || (checkedMonth == 5) || (checkedMonth == 7) || (checkedMonth == 8) || (checkedMonth == 10) || (checkedMonth == 12)){
			lastDate = 31;
		}else if(checkedMonth != 2) {
			lastDate = 30;
		}else {
			if(yun == 0) {
				lastDate = 28;
			}else {
				lastDate = 29;
			}
		}
		var keepDate = objD.value;
		
		objD.length = lastDate;
		for(j=0 ; j < lastDate; j++){
			var strVal = (j + 1) + "";
			strVal = "00".substring(0,2 - strVal.length) + strVal;
			objD[j].text  = strVal;
			objD[j].value = strVal;  
		}
		
		if(keepDate > lastDate)
			objD.selectedIndex = lastDate -1;
		else
			objD.selectedIndex = keepDate -1;
	}

	function OW(URL, strName,iW,iH,TOP,LEFT,R,S,SC,T,TB,TYPE, errormsg) {
		if (TYPE=="modal") {
			var sF=""
			var _rv
			sF+=T?'unadorned:'+T+';':'';
			sF+=TB?'help:'+TB+';':'';
			sF+=S?'status:'+S+';':'';
			sF+=SC?'scroll:'+SC+';':'';
			sF+=R?'resizable:'+R+';':'';
			sF+=iW?'dialogWidth:'+iW+'px;':'';
			sF+=iH?'dialogHeight:'+iH+'px;':'';
			sF+=TOP?'dialogTop:'+TOP+'px;':'';
			sF+=LEFT?'dialogLeft:'+LEFT+'px;':'';

			_rv=window.showModalDialog(URL,strName?strName:"",sF);

			
			if ("undefined" != typeof(_rv) ) {
				return _rv.state;
			}
		} else {
			var sF=""
			sF += iW?'width='+iW+',':'';
			sF+=iH?'height='+iH+',':'';
			sF+=R?'resizable='+R+',':'';
			sF+=S?'status='+S+',':'';
			sF+=SC?'scrollbars='+SC+',':'';
			sF+=T?'titlebar='+T+',':'';
			sF+=TB?'toolbar='+TB+',':'';
			sF+=TB?'menubar='+TB+',':'';
			sF+=TOP?'top='+TOP+',':'';
			sF+=LEFT?'left='+LEFT+',':'';
			var HMW=window.open(URL?URL:'about:blank',strName?strName:'',sF);
			if ( (document.window != null) && (!HMW.opener) ) {
				HMW.opener=document.window;
			}
			if(HMW == null) {
				alert(errormsg);
			}
			HMW.focus();
		}
	}
	
	function modalPopup(val1, val2, width, height, top, left, scroll, errormsg)	{
		if(!top) {
			top=(window.screen.height/2) - (height/2);
		}
		
		if(!left) {
			left=(window.screen.width/2) - (width/2);
		}
		if(!errormsg) {
			errormsg="Â÷´ÜµÈ ÆË¾÷À» Çã¿ëÇØ ÁÖ¼¼¿ä";
		}
		return OW(val1,val2,width,height,top,left,"no","no",scroll,"no","no","modal", errormsg);
	}
	
	function popup(val1, val2, width, height, top, left, scroll, errormsg) {

		if(!top) {
			top=(window.screen.height/2) - (height/2);
		}
		if(!left) {
			left=(window.screen.width/2) - (width/2);
		}
		if(!errormsg) {
			errormsg="Â÷´ÜµÈ ÆË¾÷À» Çã¿ëÇØ ÁÖ¼¼¿ä";
		}


		OW(val1,val2,width,height,top,left,"no","no",scroll,"no","no","", errormsg);

	}
	
	function popup(val1, val2, width, height, top, left, R, scroll, errormsg) {

		if(!top) {
			top=(window.screen.height/2) - (height/2);
		}
		if(!left) {
			left=(window.screen.width/2) - (width/2);
		}
		if(!errormsg) {
			errormsg="Â÷´ÜµÈ ÆË¾÷À» Çã¿ëÇØ ÁÖ¼¼¿ä";
		}


		OW(val1,val2,width,height,top,left,R,"no",scroll,"no","no","", errormsg);

	}
	
	/* --------------------------------------------------
	   ½ºÆ®¸µ¿¡¼­ ¿ÞÂÊ°ø¹éÁ¦°Å (Left Trim)
	-------------------------------------------------- */
	function lTrim(val)
	{
	   len = val.length;
	   for(i=0;i<len;i++)
	   {
	      if(val.substring(0,1) == " ")
	      {
	         val = val.substring(1);
	      }
	      else
	      {
	         break;
	      }
	   }
	   return val;
	}
	
	/* --------------------------------------------------
	   ½ºÆ®¸µ¿¡¼­ ¿À¸¥ÂÊ°ø¹éÁ¦°Å (Right Trim)
	-------------------------------------------------- */
	function rTrim(val)
	{
	   len = val.length;
	   for(i=len;i>0;i--)
	   {
	      if(val.substring(i-1) == " ")
	      {
	         val = val.substring(0,i-1);
	      }
	      else
	      {
	         break;
	      }
	   }
	   return val;        
	}

	/* --------------------------------------------------
	   ½ºÆ®¸µ¿¡¼­ ¾çÂÊ°ø¹éÁ¦°Å (Left Right Trim)
	-------------------------------------------------- */

	function trim(val) {
	   return rTrim(lTrim(val));
	}

	/*
	 *  ±â´É : ¹®ÀÚ¿­ÀÌ ¿µ¹® ¶Ç´Â ¼ýÀÚÀÎÁö °Ë»çÇÑ´Ù.
	 *
	 *  ÀÔ·Â : 
	 *  Ãâ·Â : ¿µ¹® ¶Ç´Â ¼ýÀÚ -> TRUE
	 *         ±âÅ¸ -> FALSE
	 */
	function isAlphaNumeric(str1) {
	
		if(str1.length == 0) {
			return(false);
		}
	
		var str = str1.toLowerCase();
		for(var i=0; i < str.length; i++) {
			if(!(("a" <= str.charAt(i) && str.charAt(i) <= "z") ||
				("0" <= str.charAt(i) && str.charAt(i) <= "9")) && str.charAt(i) != " ") {
				return(false);
			}
		}
	
		return(true);
	}
	
	function isAlpha(str1) {
	
		if(str1.length == 0) {
			return(false);
		}
	
		var str = str1.toLowerCase();
		for(var i=0; i < str.length; i++) {
			if(!(("a" <= str.charAt(i) && str.charAt(i) <= "z")) && str.charAt(i) != " ")
			{
				return(false);
			}
		}
	
		return(true);
	}
	

	/** =============================================
	Return : boolean
	Comment: ÀÔ·Â¹ÞÀº ³âµµ°¡ À±³âÀÌ¸é true
	Usage  :
	---------------------------------------------- */
	function isLeafYear(YYYY)
	{
		if ( ( (YYYY%4 == 0) && (YYYY%100 != 0) ) || (YYYY%400 == 0) ) {
			return true;
		}
		return false;
	}


	/** =============================================
	Return : int (ÇØ´ç ³â,¿ùÀÇ ³¯¼ö)
	Comment: ÀÔ·Â¹ÞÀº ³â,¿ùÀÇ ÃÖ´ë ÀÏÀ» ±¸ÇÑ´Ù.
	Usage  :
	---------------------------------------------- */
	function maxdayYearMonth(yyyy, mm) {
		var monthDD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	
		var iMaxDay = 0;
	
		if ( isLeafYear(yyyy) ) {
			monthDD[1] = 29;
		}
		iMaxDay = monthDD[mm - 1];
	
		return iMaxDay;
	}
	
	
	
	/** =============================================
	Return : boolean
	Comment: ³¯Â¥ À¯È¿¼º Ã¼Å©(ºÐ¸®µÈ yyyy, mm, dd °ª)
	Usage  :
	---------------------------------------------- */
	function isYearMonthDay(yyyy, mm, dd) {
		var isTrue  = false;
	
		var iMaxDay = 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: ³¯Â¥ À¯È¿¼º Ã¼Å©(ºÐ¸®µÈ objYear, objMonth, objDay °´Ã¼)  
			 À¯È¿ÇÑ °æ¿ì °¢ °´Ã¼ÀÇ °ª ¼³Á¤(³âµµ: 4ÀÚ¸®, ¿ù/ÀÏ: 2ÀÚ¸®)
	Usage  :
	---------------------------------------------- */
	function isDateByObj( objYear, objMonth, objDay )	{
		var isTrue = false;
	
		isTrue = isYearMonthDay(objYear.value, objMonth.value, objDay.value);
	
		if ( isTrue && objYear.value != "" && objMonth.value != "" && objDay.value != "") {
			objYear.value  = setFillzeroByVal(objYear.value,  4);
			objMonth.value = setFillzeroByVal(objMonth.value, 2);
			objDay.value   = setFillzeroByVal(objDay.value,   2);
		}
	
		return isTrue;
	}
	
	function setFillzeroByVal( sVal, iVal )	{
		sStr = sVal + "";
	
		for (ii = sStr.length; ii < iVal; ii++) {
			sStr =  "0" + sStr;
		}
	
		return sStr;
	}
	
	function getLength(str) {
  	return(str.length+(escape(str)+"%u").match(/%u/g).length-1);
	}
	
	/********************************************************************************
	 *
	 *  ÇÔ¼ö¸í		:	SHC_Phone
	 *
	 *  ÇÔ¼ö³»¿ë	:   ÀüÈ­¹øÈ£ °Ë»ç (ÀüÈ­, ÈÞ´ëÆù, »ß»ß, ÆÑ½º..µîµî)
	 *
	 *********************************************************************************/
	function isPhone(objName1, objName2, objName3) {
	    var areaNo   = new Array("010","011","016","017","018","019","02","031","032","033","041","042","043","051","052","053","054","055","061","062","063","064");
	    var areaFlag = false;
	
		//if ( objName1.type == "text" ) 
		if ( objName1.value != "" || objName2.value != "" || objName3.value != "" ) 
		{
		    if (!isValueC(objName1,2)) return false;
		    if (!isValueC(objName2,3)) return false;
		    if (!isValueC(objName3,4)) return false;
		    
		    if(  !isNumber(objName1)  ||
		         !isNumber(objName2)  ||
		         !isNumber(objName3)  ) 
		    {
		       return false;
		    }
	
			for (var i=0; i < 22; i++) {
				if ( areaNo[i] == objName1.value ) 
				{
					areaFlag = true;
				}	
			}
	
			if ( areaFlag == false ){ 
	            //Á¸ÀçÇÏÁö ¾Ê´Â (DDD)Áö¿ª¹øÈ£ ¶Ç´Â ÈÞ´ëÆù»ç¾÷ÀÚ ÀÔ´Ï´Ù.
	            objName1.focus();
		        return false;
			}
	
		    var phoneNo   =   "0000".substring(0,4 - objName2.value.length) + objName2.value; 
	
	        if ( phoneNo.substring(0,2) == "00" || objName2.value.substring(0,1) == "0")
	        {
	            // À¯È¿ÇÏÁö ¾ÊÀº ÀüÈ­¹øÈ£
	            objName2.focus();
		        return false;
	        }
	    }
	
		return true;
	}
	
	/********************************************************************************
	 *
	 *  ÇÔ¼ö¸í		:	isNumber
	 *
	 *  ÇÔ¼ö³»¿ë	:	ÁÖ¾îÁø ¹®ÀÚ¿­ÀÌ ¼ýÀÚÀÎÁö¸¦ °Ë»ç
	 *
	 *********************************************************************************/
	function isNumber(objName) {
	  var strValue = objName.value;
	  var retChar;
	
	  if (checkSpaces(strValue) == true) {
	     return true;
	  }
	
	  for (i = 0; i < strValue.length; i++) {
	    retChar = strValue.substr(i, 1)
	    if (isDigit(retChar) == false) {	
				return false;
	    }
	  }
	
	  return true;
	}
	
	/********************************************************************************
	 *
	 *  ÇÔ¼ö¸í		:	checkSpaces
	 *
	 *  ÇÔ¼ö³»¿ë	:	¹®ÀÚ¿­¿¡¼­ ½ºÆäÀÌ½º¸¦ Ã¼Å©ÇÑ´Ù
	 *
	 *********************************************************************************/
	function checkSpaces(strValue) {
	    for (var i = 0; i < strValue.length; i++) {
	        if (strValue.charAt(i) != " ") {
	            return false;
	        }
	    }
	
	    return true;
	}  
	
	/********************************************************************************
	 *
	 *  ÇÔ¼ö¸í		:	isDigit
	 *
	 *  ÇÔ¼ö³»¿ë	:	ÁÖ¾îÁø ¹®ÀÚ¿­ÀÌ ¼ýÀÚÀÎÁö¸¦ °Ë»ç
	 *
	 *********************************************************************************/
	function isDigit(sStr) {
	  if (sStr < "0" || sStr > "9") {
	    return false;
	  }
	  return true;
	} 
	
	function isValueC(objName,max)
	{
		if(objName.value.length < max){
			objName.focus();
			return false;
		}
		return true;
	}
