
/***************************************************
 * [ samsungfund ÀÚ¹Ù½ºÅ©¸³Æ® °øÅëÇÕ¼ö ]
 *
 *
 * MODIFICATION HISTORY
 * DATE				Version			DEVELOPER		DESORIPTION
 *

***************************************************/

/***********************************************
				1. ¹®ÀÚ¿­ °ü·Ã ÇÔ¼ö
***********************************************/
/***********************************************
* name		: chk_MaxLength_byte(obj,maxLen)
* parameter	: obj => ÇØ´ç°´Ã¼ 
*			: maxLen => ÃÖ´ë±ÛÀÚ¼ö
* sample	: onkeyup="chk_MaxLength_byte(this,80);" 
* return	: 
* ¼³¸í		: ±ÛÀÚ¼ö¸¦ Ã¼Å©ÇÏ¿© ÀÔ·ÂÁ¦ÇÑÀ» ±¸ÇöÇÏ´Â ÇÔ¼ö
  				(ÇÑ±Û, ¿µ¹® µ¿ÀÏÇÔ)
***********************************************/
function chk_MaxLength_byte(obj,maxLen) {

	var ls_str     = obj.value; 		// ÀÌº¥Æ®°¡ ÀÏ¾î³­ ÄÁÆ®·ÑÀÇ value °ª
	var li_str_len = ls_str.length;  // ÀüÃ¼±æÀÌ

	// º¯¼öÃÊ±âÈ­
	var li_max      = maxLen; // Á¦ÇÑÇÒ ±ÛÀÚ¼ö Å©±â
	var i           = 0;  // for¹®¿¡ »ç¿ë
	var li_byte     = 0;  // ÇÑ±ÛÀÏ°æ¿ì´Â 2 ±×¹Ü¿¡´Â 1À» ´õÇÔ
	var li_len      = 0;  // substringÇÏ±â À§ÇØ¼­ »ç¿ë
	var ls_one_char = ""; // ÇÑ±ÛÀÚ¾¿ °Ë»çÇÑ´Ù
	var ls_str2     = ""; // ±ÛÀÚ¼ö¸¦ ÃÊ°úÇÏ¸é Á¦ÇÑÇÒ¼ö ±ÛÀÚÀü±îÁö¸¸ º¸¿©ÁØ´Ù.

	for(i=0; i< li_str_len; i++) {
		// ÇÑ±ÛÀÚÃßÃâ
		ls_one_char = ls_str.charAt(i);

		// ÇÑ±ÛÀÌ¸é 2¸¦ ´õÇÑ´Ù.
		if(escape(ls_one_char).length > 4) {
			li_byte += 2;
		}
		// ±×¹ÜÀÇ °æ¿ì´Â 1À» ´õÇÑ´Ù.
		else {
			li_byte++;
		}

		// ÀüÃ¼ Å©±â°¡ li_max¸¦ ³ÑÁö¾ÊÀ¸¸é
		if(li_byte <= li_max) {
			li_len = i + 1;
		}
	}
   
	// ÀüÃ¼±æÀÌ¸¦ ÃÊ°úÇÏ¸é
	if(li_byte > li_max) {
		alert( li_max + " ±ÛÀÚ¸¦ ÃÊ°ú ÀÔ·ÂÇÒ¼ö ¾ø½À´Ï´Ù. \n ÃÊ°úµÈ ³»¿ëÀº ÀÚµ¿À¸·Î »èÁ¦ µË´Ï´Ù. ");
		ls_str2 = ls_str.substr(0, li_len);
		obj.value = ls_str2;
	}
	obj.focus();   
}

/***********************************************
* name		: is_MaxLength_byte(obj,maxLen)
* parameter	: obj => ÇØ´ç°´Ã¼ 
*			: maxLen => ÃÖ´ë±ÛÀÚ¼ö
* sample	: 
			if(!is_MaxLength_byte(document.form.pswd,4)) {
				alert("±ÛÀÚ¼ö ÃÊ°ú.");
				document.form.pswd.focus();
				return;
			}
* return	: true/false
* ¼³¸í		: ±ÛÀÚ¼ö¸¦ Ã¼Å©ÇÏ¿© ÀÔ·ÂÁ¦ÇÑÀ» ±¸ÇöÇÏ´Â ÇÔ¼ö
  				(ÇÑ±Û, ¿µ¹® µ¿ÀÏÇÔ)
***********************************************/
function is_MaxLength_byte(obj,maxLen) {

	var ls_str     = obj.value; 		// ÀÌº¥Æ®°¡ ÀÏ¾î³­ ÄÁÆ®·ÑÀÇ value °ª
	var li_str_len = ls_str.length;  // ÀüÃ¼±æÀÌ

	// º¯¼öÃÊ±âÈ­
	var li_max      = maxLen; // Á¦ÇÑÇÒ ±ÛÀÚ¼ö Å©±â
	var i           = 0;  // for¹®¿¡ »ç¿ë
	var li_byte     = 0;  // ÇÑ±ÛÀÏ°æ¿ì´Â 2 ±×¹Ü¿¡´Â 1À» ´õÇÔ
	var li_len      = 0;  // substringÇÏ±â À§ÇØ¼­ »ç¿ë
	var ls_one_char = ""; // ÇÑ±ÛÀÚ¾¿ °Ë»çÇÑ´Ù
	var ls_str2     = ""; // ±ÛÀÚ¼ö¸¦ ÃÊ°úÇÏ¸é Á¦ÇÑÇÒ¼ö ±ÛÀÚÀü±îÁö¸¸ º¸¿©ÁØ´Ù.

	for(i=0; i< li_str_len; i++) {
		// ÇÑ±ÛÀÚÃßÃâ
		ls_one_char = ls_str.charAt(i);

		// ÇÑ±ÛÀÌ¸é 2¸¦ ´õÇÑ´Ù.
		if(escape(ls_one_char).length > 4) {
			li_byte += 2;
		}
		// ±×¹ÜÀÇ °æ¿ì´Â 1À» ´õÇÑ´Ù.
		else {
			li_byte++;
		}

		// ÀüÃ¼ Å©±â°¡ li_max¸¦ ³ÑÁö¾ÊÀ¸¸é
		if(li_byte <= li_max) {
			li_len = i + 1;
		}
	}
   
	// ÀüÃ¼±æÀÌ¸¦ ÃÊ°úÇÏ¸é
	if(li_byte > li_max) {
		alert( li_max + " ±ÛÀÚ¸¦ ÃÊ°ú ÀÔ·ÂÇÒ¼ö ¾ø½À´Ï´Ù. ");	
		obj.focus();
		return false;
	}
	return true;
}

/***********************************************
* name		: replace(str,regular_expression,replacement_string)
* parameter	: str => String 
*			: regular_expression => Ç¥Çö½Ä ex) /a/gi
*			: replacement_string => ¹Ù²Ù°í ½ÍÀº ¹®ÀÚ ex) s
* sample	: var str = replace(str,'a',"s");
* return	: string
* ¼³¸í		: String Change(¹®ÀÚ¿­ ¹Ù²Ù±â)
***********************************************/
function replace(str,regular_expression,replacement_string){
	var re = new RegExp(regular_expression,"ig");
	
	return str.replace(re,replacement_string);
	return str;
}

/**************************************************************************
* name		: chk_Number(str)
* parameter	: str	=> String
* sample	: chk_Number("12126761");
* return	: true/false
* ¼³¸í		: ¼ýÀÚ¸¸À¸·Î ±¸¼ºµÇ¾î ÀÖ´ÂÁö °Ë»ç
**************************************************************************/
function chk_Number(str) {
	RefString = "-1234567890";
	DecimalPoints = 0;
	for(var i=0; i<str.length; i++) {
		TempChar = str.substring(i, i+1);
		if(RefString.indexOf(TempChar,0) == -1) { 
			return false;
		}
	}
	
	return true;
}

/**************************************************************************
* name		: chk_AlphaNumber(str)
* parameter : str	=> String
* sample	: chk_AlphaNumber("121267asvx61");
* return	: true/false
* ¼³¸í		: ¼ýÀÚ¿Í ¿µ¹®À¸·Î¸¸  ±¸¼ºµÇ¾î ÀÖ´ÂÁö °Ë»ç
**************************************************************************/
function chk_AlphaNumber(str) {
	var success = true;
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	str = str.toUpperCase();
	
	if(chk_Blank(str)) {
		return (false);
	}
	str = trim(str);
	for(var i = 0; i < str.length; i++) {
		var number = (valid.indexOf(str.substring(i, i+1)) != -1);
		if(!(number)) {
			success = false;
			break;
		}
	}
	return (success);
}

/**************************************************************************
* name		: chk_Blank(str)
* parameter	: str	=> String
* sample	: chk_Blank("");
* return	: true/false
* ¼³¸í		: °ø¹éÀÎÁö °Ë»ç
**************************************************************************/
function chk_Blank(str) {
	var rV = false;
	str = trim(str);
	if((str == "") || (str == null) || (str == "null")) {
		rV = true;
	}
	return rV;
}

/**************************************************************************
* name		: rtrim(str)
* parameter	: str	=> String
* sample	: rtrim("121323    ");
* return	: String
* ¼³¸í		: strÀÇ ¿À¸¥ÂÊ °ø¹éÀ» ¼Ò°ÅÇÑ´Ù.
**************************************************************************/
function rtrim(str) {
	var index;
	var ch = " ";

	if(chk_Blank(str)) {
		return (str);
	}
	for(index = str.length - 1; index >= 0; index--) {
		if(str.charAt(index) != ch) {
			break;
		}
	}	
	return (str.substring(0, index + 1));
}

/**************************************************************************
* name		: ltrim(str)
* parameter	: str	=> String
* sample	: trim("   121323");
* return	: String
* ¼³¸í		: strÀÇ ¿ÞÂÊ °ø¹éÀ» ¼Ò°ÅÇÑ´Ù.
**************************************************************************/
function ltrim(str) {
	var index;
	var len;
	var ch = " ";

	if(chk_Blank(str)) {
		return (str);
	}
	len = str.length;
	for(index = 0; index < str.length; index++, len--) {
		if(str.charAt(index) != ch) {
			break;
		}
	}
	return (str.substring(index, index + len));
}

/**************************************************************************
* name		: trim(str)
* parameter	: str	=> String
* sample	: trim("   121323   ");
* return	: String
* ¼³¸í		: strÀÇ ¾çÂÊ °ø¹éÀ» ¼Ò°ÅÇÑ´Ù.
**************************************************************************/
function trim(str) {
	var rV;

	rV = ltrim(str);
	rV = rtrim(rV);
	return (rV);
}

/**************************************************************************
* name		: fullZero(str,icount)
* parameter	: str => String
*			: icount => ÀüÃ¼ ¹®ÀÚ °¹¼ö
* sample	: fullZero("123",5);
* return	: String
* ¼³¸í		: ÀüÃ¼ ¹®ÀÚ ¸¸Å­ ¾Õ¿¡ 0À» Ã¤¿öÁØ´Ù
**************************************************************************/
function fullZero(str,icount) {
	var slength = (""+str).length;
	var s="";
	for(i=0; i < icount - slength; i++) {
		s = s + "0";
	}
	return s + str;
}

/**************************************************************************
* name		: chk_Hangle(str)
* parameter	: str => String
* sample	: chk_Hangle("°¡³ª´Ù¶ó¸¶¹Ù»ç");
* return	: true/false
* ¼³¸í		: ÇÑ±ÛÀÎÁö ¾Æ´ÑÁö ¸¦ °Ë»ç
**************************************************************************/
function chk_Hangle(str) {
	var rV = false;

	if(chk_Blank(str)) {
		return (rV);
	}
	str = trim(str);
	for(var i = 0; i < str.length; i++) {
		if(str.charCodeAt(i) >= 123) {
			rV = true;
			break;
		}
	}  
	return (rV);
}

/**************************************************************************
* name		: get_ByteLength(str)
* parameter	: str => String
* sample	: get_ByteLength("°¡³ª´Ù¶ó¸¶¹Ù»ç");
* return	: byte length
* ¼³¸í		: ÇÑ±ÛÀ» 2byte ·Î ÇØ¼­ ³ª¿Â byte ±æÀÌ
**************************************************************************/
function get_ByteLength(str) {
	var byteLength = 0;
	for(inx = 0; inx < str.length; inx++) {
		var oneChar = escape(str.charAt(inx));
		if(oneChar.length == 1) { 
			byteLength ++;
		} else if(oneChar.indexOf("%u") != -1) {
			byteLength += 2;
		} else if(oneChar.indexOf("%") != -1) {
			byteLength += oneChar.length/3; 
		}
	}
	return byteLength;
}


/**************************************************************************
* name		: set_ImeModeHangle(obj,state)
* parameter	: obj => °´Ã¼
*			: state => °´Ã¼»óÅÂ
* sample	: <input type ="text" name ="han">
*			: <input type="button" onclick= "set_ImeModeHangle(han,true)" value="ÇÑ±Û">
*			: <input type="button" onclick= "set_ImeModeHangle(han,false)" value="¿µ¹®">
* return	: style.imeMode
* ¼³¸í		: ÇÑ±Û,¼ýÀÚ¸¸ ÀÔ·Â°¡´É/¿µ¹®,¼ýÀÚ¸¸ ÀÔ·Â°¡´É
**************************************************************************/
function set_ImeModeHangle(obj,state) {
	if(state) {	//ÇÑ±Û+¼ýÀÚ
		obj.style.imeMode = "active";
	} else {	//¿µ¹®+¼ýÀÚ
		obj.style.imeMode = "disabled";
	}
}

/***********************************************
				2. modalÃ¢ °ü·Ã ÇÔ¼ö
***********************************************/
/***********************************************
* name		: popup_Modal(pfilename, pargs, pwidth, pheight, pleft, ptop )
* parameter	: pfilename => ÆÄÀÏ¸í 
*			: pargs => argument
* 			: pwidth, pheight, pleft, ptop -> À§Ä¡¹× Å©±â
* sample	: 
* return	: 
* ¼³¸í		: modalÃ¢ ¶ç¿ì´Â ÇÔ¼ö
***********************************************/
function popup_Modal(pfilename, pargs, pwidth, pheight, pleft, ptop ) {
	try {
		if(pleft == "-1" && ptop == "-1") {
			ptop = window.screenTop + event.clientY + 10;
			pleft =	window.screenLeft + event.clientX - 70;
	
			param = "dialogWidth:" + pwidth + "px; dialogHeight:" + pheight + "px; status:yes; toolbar:no; menubar:no; location:no; resizable:no; help:no; scroll:no;";
		} else {
			param = "dialogLeft:"+pleft+"; dialogTop:"+ptop+"; dialogWidth:" + pwidth + "px; dialogHeight:" + pheight + "px; status:yes; toolbar:no; menubar:no; location:no; resizable:no; help:no; scroll:no ";
		}
		
		window.showModalDialog(pfilename,pargs, param);
	
	} catch(E) { 
		alert(	
			"Error : " + E.number + "\n" +
			"Description : " + E.description
		);
	}	
}


/***********************************************
* name		: popup_Modeless(pfilename, pargs, pwidth, pheight, pleft, ptop )
* parameter	: pfilename => ÆÄÀÏ¸í 
*			: pargs => arument
* 			: pwidth, pheight, pleft, ptop -> À§Ä¡¹× Å©±â
* sample	: 
* return	: 
* ¼³¸í		: ÆË¾÷Ã¢ ¶ç¿ì´Â ÇÔ¼ö
***********************************************/
function popup_Modeless(pfilename, pargs, pwidth, pheight, pleft, ptop ) {
	try {
		
		if(pleft == "-1" && ptop == "-1") {
			param = "width=" + pwidth + "; height=" + pheight + ";toolbar=no,menubar=no,status=yes,scrollbars=no,resizable=no";
		} else {
			param = "left="+pleft+"; top="+ptop+"; width=" + pwidth + "; height=" + pheight + ";toolbar=no,menubar=no,status=yes,scrollbars=no,resizable=no";
		}
		
		window.open(pfilename,"", param);
		//window.showModelessDialog(pfilename,pargs, param);
		
	} catch(E) { 
		alert(	
			"Error : " + E.number + "\n" +
			"Description : " + E.description
		);
	}	
}

/***********************************************
								3. ³¯Â¥ °ü·Ã ÇÔ¼ö
***********************************************/
/**************************************************************************
* name		: convert_Date2(obj)
* parameter	: obj => °´Ã¼
* sample	: <input type="text" name="date" onblur="convert_Date2(this)" onfocus="delete_Char(this,'-')" value='2008-09'>
* return	: true/false
* ¼³¸í		: ³¯Â¥¸¦ °Ë»ç ÇÏ¿© º¸¿©ÁÖ±â 
**************************************************************************/
function convert_Date2(obj) {
	obj.value = delete_Char(obj.value,'-');
	if(obj.value.length != 6) {
		obj.focus();
		return;
	}
	
	var str = trim(obj.value);
	
	if(!chk_Number(str) || !chk_Year(str) || !chk_Month(str)) {
		obj.focus();
		return;
	}
	
	str = str.substring(0,4) + "-" + str.substring(4);
	obj.value = str;
	
	return true;
}


/**************************************************************************
* name		: convert_Date(obj)
* parameter	: obj => °´Ã¼
* sample	: <input type="text" name="date" onblur="convert_Date(this)" onfocus="delete_Char(this,'-')" value='2008-09-30'>
* return	: true/false
* ¼³¸í		: ³¯Â¥¸¦ °Ë»ç ÇÏ¿© º¸¿©ÁÖ±â 
**************************************************************************/
function convert_Date(obj) {
	obj.value = delete_Char(obj.value,'-');
	
	switch(obj.value.length) {
		case 0 :
			return;
			break;
		case 6 :
			if(parseInt(obj.value.substring(0,2),10)  > 80 ) {
				obj.value = "19"+obj.value;
			} else {
				obj.value = "20"+obj.value;
			}
			break;
		case 8 :
			break;
		default :
			obj.focus();
			return;
			break;
	}
	var realDate = chk_Date(obj.value);
	if(!realDate) {		
		obj.focus();
		return false;
	}
	
	str = obj.value;
	str = str.substring(0,4) + "-" + str.substring(4,6) + "-" + str.substring(6);
	obj.value = str;
	return true;
	
}

/**************************************************************************
* name		: convert_Date3(obj)
* parameter	: obj => °´Ã¼
* sample	: <input type="text" name="date" onblur="convert_Date(this)" onfocus="delete_Char(this,'-')" value='2008-09-30'>
* return	: true/false
* ¼³¸í		: ³¯Â¥¸¦ °Ë»ç ÇÏ¿© º¸¿©ÁÖ±â 
**************************************************************************/
function convert_Date3(obj) {
	obj.value = delete_Char(obj.value,'-');
	
	switch(obj.value.length) {
		case 0 :
			return;
			break;
		case 8 :
			break;
		default :
			obj.focus();
			return;
			break;
	}
	var realDate = chk_Date(obj.value);
	if(!realDate) {		
		obj.focus();
		return false;
	}
	
	str = obj.value;
	str = str.substring(0,4) + "-" + str.substring(4,6) + "-" + str.substring(6);
	obj.value = str;
	return true;
	
}
function convert_Date_chk(obj,msg) {
	if(obj.value.length>0){
		if(!convert_Date3(obj)){
			alert(msg);
			obj.value="";
			obj.focus();
		}
	}
}
/**************************************************************************
* name		: chk_Date(str)
* parameter	: str => ³¯Â¥ 
* sample	: chk_Date("2003-01-01");
* return	: true/false
* ¼³¸í		: ³¯Â¥°¡ À¯È¿ÇÑÁö °Ë»ç
**************************************************************************/
function chk_Date(str) {
	str = delete_Char(str,'-');
	str = trim(str);
	if(!chk_Number(str)) {
		return (false);
	}
	if(str.length != 8) {
		return (false);
	}
	if(!chk_Year(str)) {
		return (false);
	}
	if(!chk_Month(str)) {
		return (false);
	}
	if(!chk_Day(str)) {
		return (false);
	}
	return (true);
}

function chk_Date2(str) {
	str = replace(str,'\\.','');
	str = trim(str);
	if(!chk_Number(str)) {
		return (false);
	}
	if(str.length != 8) {
		return (false);
	}
	if(!chk_Year(str)) {
		return (false);
	}
	if(!chk_Month(str)) {
		return (false);
	}
	if(!chk_Day(str)) {
		return (false);
	}
	return (true);
}

/**************************************************************************
* name		: chk_Time(str)
* parameter	: str	=> ½Ã°£ 
* sample	: chk_Time("12:12:12");chk_Time("12:12");
* return	: true/false
* ¼³¸í		: ½Ã°£ÀÌ À¯È¿ÇÑÁö °Ë»ç
**************************************************************************/
function chk_Time(str) {
	str = delete_Char(str,':');
	str = trim(str);
	if(!chk_Number(str)) {
		return (false);
	}
	if(str.length != 6) {
		return (false);
	}
	hh = str.substring(0,2);
	mm = str.substring(2,4);
	ss = str.substring(4);
	
	if(!chk_Between(hh,"00","23")) {
		return (false);
	}
	if(!chk_Between(mm,"00","59")) {
		return (false);
	}
	if(!chk_Between(ss,"00","59")) {
		return (false);
	}
	return (true);
}

/**************************************************************************
* name		: chk_Year(str)
* parameter	: str	=> ³¯Â¥ 
* sample	: chk_Year("2005-01-01");
* return	: true/false
* ¼³¸í		: ³âµµ°¡ À¯È¿ÇÑÁö °Ë»ç
**************************************************************************/
function chk_Year(str) {
	var year;
	var to;
	today = new Date();
	to    = today.getYear() + 100;
	to    += "";
	if(to.length == 2) {
		to = (parseInt(to, 10) + 1900) + "";
	}
	
	str   = trim(str);
	year  = get_Year(str);
	return (chk_Between(year, "1901", to));
}

/**************************************************************************
* name		: chk_Month(str)
* parameter	: str	=> ³¯Â¥ 
* sample	: chk_Month("2005-01-01");
* return	: true/false
* ¼³¸í		: ¿ùÀÌ À¯È¿ÇÑÁö °Ë»ç
**************************************************************************/
function chk_Month(str) {
	var month;
	str   = trim(str);
	month = get_Month(str);
	return (chk_Between(month, "01", "12"));
}

/**************************************************************************
* name		: chk_Day(str)
* parameter	: str	=> ³¯Â¥ 
* sample	: chk_Day("2005-01-01");
* return	: true/false
* ¼³¸í		: ³¯ÀÌ À¯È¿ÇÑÁö °Ë»ç
**************************************************************************/
function chk_Day(str) {
	var day;
	str      = trim(str);
	last_day = get_LastDay(str);
	day      = get_Day(str);
	return (chk_Between(day, "01", last_day));
}


/**************************************************************************
* name		: get_Year(str)
* parameter	: str	=> ³¯Â¥
* sample	: get_Year("2005-01-01"); get_Year("20050101");
* return	: string ³âµµ
* ¼³¸í		: str¿¡¼­ ¿¬µµ¸¦ ±¸ÇÔ
**************************************************************************/
function get_Year(str) {
	str = delete_Char(str,'-');
	str = trim(str);
	return (str.substr(0, 4));
}

/**************************************************************************
* name		: get_Month(str)
* parameter	: str	=> ³¯Â¥
* sample	: get_Month("2003-01-01"); get_Month("20030101");
* return	: string ¿ù
* ¼³¸í		: str¿¡¼­ ¿ùÀ» ±¸ÇÔ
**************************************************************************/
function get_Month(str) {
	str = delete_Char(str,'-');
	str = trim(str);
	return (str.substr(4, 2));
}

/**************************************************************************
* name		: get_Day(str)
* parameter	: str	=> ³¯Â¥
* sample	: get_Day(("2005-01-01"); get_Day(("20050101");
* return	: string ³¯Â¥
* ¼³¸í		: str¿¡¼­ ³¯Â¥¸¦ ±¸ÇÔ
**************************************************************************/
function get_Day(str) {
	str = delete_Char(str,'-');
	str = trim(str);
	return (str.substr(6, 2));
}

/**************************************************************************
* name		: chk_Between(str, from, to)
* parameter	: str	=> String 
*			: from  => ½ÃÀÛ
*			: to   => ³¡
* sample	: chk_Between("1999","1900","2003");
* return	: true/false
* ¼³¸í		: 2¹®ÀÚ »çÀÌ¿¡ ¼ÓÇÏ´Â °ªÀÎÁö °Ë»ç
**************************************************************************/
function chk_Between(str, from, to) {
	if((str < from) || (str > to)) {
		return (false);
	}
	return (true);
}

/**************************************************************************
* name		: get_LastDay(str)
* parameter	: str	=> ³¯Â¥
* sample	: get_LastDay(("2005-01-01"); get_LastDay(("20050101");
* return	: string ³¯Â¥
* ¼³¸í		: ´ÞÀÇ ¸¶Áö¸· ÀÏÀÚ¸¦ ±¸ÇÔ
**************************************************************************/
function get_LastDay(str) {
	var maxday = new Array("31", "28", "31", "30", "31", "30",
							"31", "31", "30", "31", "30", "31");
	var month = get_Month(str);
	var day   = maxday[parseInt(month, 10) - 1];

	if(chk_LeapYear(str)) {
		if(month == "02") {
			day = "29";
		}
	}
	return (day);
}

/**************************************************************************
* name		: chk_LeapYear(str)
* parameter	: str	=> ³¯Â¥
* sample	: chk_LeapYear(("2005-01-01"); chk_LeapYear(("20050101");
* return	: true/false
* ¼³¸í		: À±³âÀÎÁö ¾Æ´ÑÁö check
**************************************************************************/
function chk_LeapYear(str) {
	var year;

	str = trim(str);
	year = parseInt(get_Year(str), 10);
	if( (year%4   == 0) && ((year%100 != 0) || (year%400 == 0))) {
		return (true);
	}
	return (false);
}

/**************************************************************************
* name		: get_NowDate()
* parameter : 
* sample	: get_NowDate('-');get_NowDate('/');
* return	: date
* ¼³¸í		: ÇöÀç ³â¿ùÀÏ °¡Áö°í ¿À±â
**************************************************************************/
function get_NowDate() {
	var delimiter ="";
	
	if(arguments[0] == null) {
		delimiter = "-";
	} else {
		delimiter = arguments[0];
	}
	year1	= get_NowYear();
	month2	= get_NowMonth();
	day2 	= get_NowDay();
	
	return year1+delimiter+fullZero(month2,2)+delimiter+fullZero(day2,2);
}

/**************************************************************************
* name		: get_NowYymm()
* parameter : 
* sample	: get_NowYymm('-');get_Yymm('/');
* return	: string ÇöÀç ³â¿ù(YYYY-MM)
* ¼³¸í		: ÇöÀç ³â¿ù °¡Áö°í ¿À±â
**************************************************************************/
function get_NowYymm() {
	var delimiter ="";

	if(arguments[0] == null) {
		delimiter = "-";
	} else {
		delimiter = arguments[0];
	}
	year1	= get_NowYear();
	month2	= get_NowMonth();

	return year1+delimiter+fullZero(month2,2);
}

/**************************************************************************
* name		: get_NowYear()
* parameter : 
* sample	: get_NowYear();
* return	: string ÇöÀç ³âµµ
* ¼³¸í		: ÇöÀç ³âµµ °¡Áö°í ¿À±â
**************************************************************************/
function get_NowYear() {
	today 	= new Date()
	
	return 	""+today.getFullYear();
}
/**************************************************************************
* name		: get_NowMonth()
* parameter : 
* sample	: get_NowMonth();
* return	: string ÇöÀç ¿ù
* ¼³¸í		: ÇöÀç ¿ù °¡Áö°í ¿À±â
**************************************************************************/
function get_NowMonth() {
	today 	= new Date()
	month1 	= today.getMonth()+1;
	
	return 	month1.toString();
}
/**************************************************************************
* name		: get_NowDay()
* parameter : 
* sample	: get_NowDay();
* return	: string ÇöÀç ÀÏÀÚ
* ¼³¸í		: ÇöÀç ÀÏÀÚ °¡Áö°í ¿À±â
**************************************************************************/
function get_NowDay() {
	today 	= new Date()
	day1 	= today.getDate();
	
	return 	day1.toString();
}
/**************************************************************************
* name		: get_NowTime()
* parameter : 
* sample	: get_NowTime(':');get_NowTime("-");
* return	: string ÇöÀç ½Ã°£
* ¼³¸í		: ÇöÀç ½Ã°£ °¡Áö°í ¿À±â
**************************************************************************/
function get_NowTime() {
	var delimiter ="";
	
	if(arguments[0] == null) {
		delimiter = ":";
	} else {
		delimiter = arguments[0];
	}
	today = new Date()
	H = today.getHours().toString();
	M = today.getMinutes().toString();
	S = today.getSeconds().toString();
	
	return fullZero(H,2)+delimiter+fullZero(M,2)+delimiter+fullZero(S,2);
}

/**************************************************************************
* name		: calc_Age(str)
* parameter	: str=> ¸¸À¸·Î ³ªÀÌ °è»ê
* sample	: calc_Age("1974-01-01");
* return	: string 
* ¼³¸í		: ¸¸À¸·ÎµÈ  ³ªÀÌ°ª
**************************************************************************/
function calc_Age(str) {
	str = delete_Char(str,'-');
	
    if(str.length != 8) {
       	return;
    }
    var mm = str.substring(4,6);
    var day = eval(str.substring(6,8));
    var year = eval(str.substring(0,4));
	
	yy2	= get_NowYear();
	mm2	= eval(get_NowMonth());
	dd2 = eval(get_NowDay());
	yourage = yy2 - year; 
	if(mm2 < mm) {
		yourage--; 
	}
	if((mm2 == mm) && (dd2 < day)) {
		yourage--; 
	}
	
	return yourage;
}

/**************************************************************************
* name		: calc_Month(std_ymd, number, is_after)
* parameter	: std_ymd --> °è»ê ±âÁØÀÏ
*		    : number  --> °è»êÇÒ ¿ù ¼ö(3ÀÌ¸é 3°³¿ù Àü ¶Ç´Â ÈÄ)
*           : is_after--> ÀÌÈÄ ³¯Â¥¸¦ ¾òÀ» °ÍÀÎÁö ÀÌÀü ³¯Â¥¸¦ ¾òÀ» °ÍÀÎÁö true=> +, false=> -.
* sample	: calc_Month("20040101",3, true); ==> 20040401
* return	: String
* ¼³¸í		: number°ªÀ» ´õÇÏ°Å³ª »« ³¯Â¥¸¦ ¸®ÅÏ
**************************************************************************/
function calc_Month(std_ymd, number, is_after) {
	std_ymd = delete_Char(std_ymd, "-");
	number = Number(number);

	var std_yyyy = Number(std_ymd.substr(0,4));
	var std_MM = Number(std_ymd.substr(4,2));
	var std_dd = Number(std_ymd.substr(6,2));

	var target_yyyy;
	var target_MM;
	var target_dd;
	
	target_yyyy = std_yyyy;
	if(is_after) {
		// ÀÌÈÄ ³¯Â¥ÀÌ¸é 
		target_MM = std_MM+number;
		if(target_MM > 12) {
			target_MM = target_MM % 12;
			target_yyyy = target_yyyy + 1;
		}
	} else {
		target_MM = std_MM-number;
		if(target_MM < 1) {
			target_MM = target_MM + 12;
			target_yyyy = std_yyyy - 1;
		}
	}
	var temp_MM;
	if(target_MM < 10) {
		temp_MM = "0"+target_MM;
	} else {
		temp_MM = target_MM;
	}
	var std_last_day = get_LastDay(std_ymd);
	var temp_ymd = target_yyyy+""+temp_MM+"01";
	var temp_last_day = get_LastDay(temp_ymd);	
	if(std_dd <= temp_last_day) {
		//return target_yyyy+"-"+temp_MM+"-"+std_dd;
		return target_yyyy+"-"+temp_MM+"-"+std_ymd.substr(6,2);
	} else {
		return target_yyyy+"-"+temp_MM+"-"+temp_last_day;
	}
}

/**************************************************************************
* name		: calc_Date(str,thedate,flag)
* parameter	: str=> ±âÁØÀÏÀÚ
*			: thedate => NÀÏ¼ö 
*			: flag => true/false (+/-)ÀÏ¼ö
* sample	: calc_Date("1974-01-01","5",true); calc_Date("1974-01-01","5",false);
* return	: string 
* ¼³¸í		: ±âÁØÀÏÀÚÀÇ ÀÌÈÄ/ÀÌÀü ³¯Â¥
**************************************************************************/
function calc_Date(str,thedate,flag) {
	arg = delete_Char(str,'-');
	
	if(arg.length != 8) {
		return 
	}
	var mm = arg.substring(4,6);
    var day = arg.substring(6,8);
    var year = arg.substring(0,4);
	
	plann=eval(thedate);         //+ ¸îÀÏ
	
	var dayStr = mm+"-"+day+"-"+year;
	var Meet = new Date(dayStr);
	
	if(flag == true) {
		//annitime = Meet.getTime()+plann*1000*3600*24-1	
		annitime = Meet.getTime()+plann*1000*3600*24;
	} else {
		//annitime = Meet.getTime()-plann*1000*3600*24-1
		annitime = Meet.getTime()-plann*1000*3600*24;
	}
	var anniday = new Date();
	anniday.setTime(annitime);
	
	var plusmonth = anniday.getMonth()+1;
	var plusyear  = (anniday.getYear()<100)?"19"+anniday.getYear():anniday.getYear();
	var plusday   = anniday.getDate();
	
	return plusyear+"-"+fullZero(plusmonth.toString(),2)+"-"+fullZero(plusday.toString(),2);
	
}

/**************************************************************************
* name		: get_IntervalDay(fromtime, totime)
* parameter	: fromtime=> ½ÃÀÛÀÏÀÚ
*			: totime => ³¡ÀÏÀÚ
* sample	: get_IntervalDay("1974-01-01", "2003-01-01");
* return	: string 
* ¼³¸í		: ½ÃÀÛÀÏÀÚ¿Í ³¡ÀÏÀÚ »çÀÌÀÇ ³¯Â¥ Â÷ÀÌ
**************************************************************************/
function get_IntervalDay(fromtime, totime) {
	fromtime = delete_Char(fromtime,'-');
	totime = delete_Char(totime,'-');

	if( fromtime.length != 8 || totime.length != 8 ) {
		return false;
	}
  
	var year = fromtime.substring(0,4);
	var month = fromtime.substring(4,6);
	var day = fromtime.substring(6,8);
	
	var year2 = totime.substring(0,4);
	var month2 = totime.substring(4,6);
	var day2 = totime.substring(6,8);
  	
	if(isNaN(year) || isNaN(month) || isNaN(day)) {
		return false;
	}
	if(isNaN(year2) || isNaN(month2) || isNaN(day2)) {
		return false;
	}
	if((year <= 0) || (year2 <= 0)) {
		return false;
	}
	if((month <= 0  || month > 12) || (month2 <= 0  || month2 > 12)) {
		return false;
	}
	var from_time = new Date(year,month,day);
	var to_time = new Date(year2,month2,day2);
	
	var fmillsec = from_time.getTime();
	var tmillsec = to_time.getTime();
	var resultday = (tmillsec - fmillsec)/(1000*60*60*24);
	
	return resultday;
}


/**************************************************************************
* name		: format_Date(str,type)
* parameter	: str => string
*			: type => ³¯Â¥Å¸ÀÔ 
* sample	: format_Date(20030101,'YYYY-MM-DD')  => 2003-01-01
* 			: format_Date(20030101,'YY-MM-DD')  => 03-01-01
* 			: format_Date(20030101,'MM-DD')  => 01-01
* 			: format_Date(20030101,'YYYY-MM')  => 2003-01
* return	: string
* ¼³¸í		: ³¯Â¥Æ÷¸Ë
**************************************************************************/
function format_Date(str,type) {
	str = delete_Char(str,'-');
	delimeter = "-";
	switch(type) {
		case "YYYY-MM-DD" :
			if( str.length == 8 ) {
				return str.substring(0,4) + delimeter + str.substring(4,6)+ delimeter + str.substring(6);
			} else if( str.length == 6 ) {
				if( str.substring(0,2) > 80 ) {
					str = "19" + str;
				} else {
					str = "20" + str;
				}
				return str.substring(0,4) + delimeter + str.substring(4,6)+ delimeter + str.substring(6);
					
			} else {
				return "";
			}
			break;
		case "YY-MM-DD" :
			if( str.length == 6 ) {
				return str.substring(0,2) + delimeter + str.substring(2,4)+ delimeter + str.substring(4);
			} else if( str.length == 8 ) {
				return str.substring(2,4) + delimeter + str.substring(4,6)+ delimeter + str.substring(6);
			} else {
				return "";
			}
				break;
		case "MM-DD" :
			if( str.length == 6 ) {
				return str.substring(2,4)+ delimeter + str.substring(4);
			} else if( str.length == 8 ) {
				return str.substring(4,6)+ delimeter + str.substring(6);
			} else {
				return "";
			}
			break;
		case "YYYY-MM"	:
			if( str.length >= 6 ) {
				return str.substring(0,4) + delimeter + str.substring(4,6);
			} else {
				return "";
			}
			break;
		default	:
			
	}
}

function format_Date2(str,type) {
	str = replace(str,'\\.','');
	delimeter = ".";
	switch(type) {
		case "YYYY.MM.DD" :
			if( str.length == 8 ) {
				return str.substring(0,4) + delimeter + str.substring(4,6)+ delimeter + str.substring(6);
			} else if( str.length == 6 ) {
				if( str.substring(0,2) > 80 ) {
					str = "19" + str;
				} else {
					str = "20" + str;
				}
				return str.substring(0,4) + delimeter + str.substring(4,6)+ delimeter + str.substring(6);
					
			} else {
				return "";
			}
			break;
		case "YY.MM.DD" :
			if( str.length == 6 ) {
				return str.substring(0,2) + delimeter + str.substring(2,4)+ delimeter + str.substring(4);
			} else if( str.length == 8 ) {
				return str.substring(2,4) + delimeter + str.substring(4,6)+ delimeter + str.substring(6);
			} else {
				return "";
			}
				break;
		case "MM.DD" :
			if( str.length == 6 ) {
				return str.substring(2,4)+ delimeter + str.substring(4);
			} else if( str.length == 8 ) {
				return str.substring(4,6)+ delimeter + str.substring(6);
			} else {
				return "";
			}
			break;
		case "YYYY.MM"	:
			if( str.length >= 6 ) {
				return str.substring(0,4) + delimeter + str.substring(4,6);
			} else {
				return "";
			}
			break;
		default	:
			
	}
}

/**************************************************************************
* name		: format_Time(str,type)
* parameter	: str => string
*			: type => ½Ã°£Å¸ÀÔ 
* sample	: format_Time(121314,'hh:nn:ss')  => 12:13:14
* 			: format_Time(1213,'hh:nn')  => 12:13
* return	: string
* ¼³¸í		: ½Ã°£Æ÷¸Ë
**************************************************************************/
function format_Time(str,type) {
	str = delete_Char(str,':');
	delimeter = ":";
	switch(type) {
		case "hh:nn:ss" :
			if(str.length != 6) {
				return "";
			}
			return str.substring(0,2) + delimeter + str.substring(2,4)+ delimeter + str.substring(4);
			break;
		case "hh:nn" :
			if(!(str.length == 4||str.length == 6)) {
				return "";
			}
			return str.substring(0,2) + delimeter + str.substring(2,4);
			break;
		default	:
	}
}

function format(str,type) {
	str = delete_Char(str,',');
	switch(type) {
		case "#,###" :
			return display_Money(str);
			break;
		case "#,###.0" :
			p = str.split(".");
			p[0] = display_Money(p[0]);
			if(p.length == 1 ) {
				return p[0]+"."+"0";
			} else if(p.length ==2 ) {
				return p[0]+"."+p[1];
			} else {
				return "";
			}
		case "#,###.00" :
	        p = str.split(".");
			p[0] = display_Money(p[0]);
			if(p.length == 1 ) {
				return p[0]+"."+"00";
			} else if(p.length ==2 ) {
				return p[0]+"."+p[1];
			} else {
				return "";
			}
			break;
	}
}

/***********************************************
				4. ¼ýÀÚ °ü·Ã ÇÔ¼ö
***********************************************/
/**************************************************************************
* name		: convert_Money(obj)
* parameter	: obj => °´Ã¼
* sample	: <input type ="text" name ="money" onblur="convert_Money(this);" onfocus="delete_Char(this,',')" >
* return	: true/false
* ¼³¸í		: ¼ýÀÚÀÎÁö¸¦ °Ë»ç ÇÏ¿© ±Ý¾×À¸·Î º¸¿©ÁÖ±â 
**************************************************************************/
function convert_Money(obj) {
	var flag =false;
	if(obj.value.substring(0,1) == "-") {
		minus = "-";
		obj.value = delete_Char(obj.value,'-');
		flag = true;
	}
				
	if(!chk_Number(obj.value)) {
		obj.focus();
		return;
	}
	
	str = obj.value;
	s_str = display_Money(str);
	
	if(flag == true) {
		obj.value = minus +s_str;
	} else {
		obj.value = s_str;
	}
	flag = false;
}

/**************************************************************************
* name		: display_Money(str)
* parameter	: str => String 
* sample	: <input type ="text" name ="money" onblur="display_Money(this.value);" onfocus="delete_Char(this,',')">
* return	:
* ¼³¸í		: ±Ý¾× 3ÀÚ¸® ¸¶´Ù ÄÞ¸¶(,)¸¦ Âï¾îÁÖ´Â ÇÔ¼ö ex) 1000 => 1,000
* ¼öÁ¤		: ±Ý¾×ÀÌ - ÀÏ°æ¿ì¿¡´ëÇÑ Ã³¸® Ãß°¡
**************************************************************************/
function display_Money(str) {
	var minus = "";
	if(str.charAt(0) == "-") {
	   minus = str.charAt(0); 
	   str = delete_Char(str,'-');
	}
	var div = str.length % 3;
	var s_str="";
	if(div == 0 ) {
		count = (str.length/3)-1;
	} else {
		count = (str.length-div) /3;
	}
	for(i=1;i<=count;i++) {
		s_str =str.substr(str.length-3,3)+s_str;
		str = str.substr(0,str.length-3);
		if(str.length>0) {
			s_str =","+s_str;
		}
	}
	s_str = str + s_str;
	return minus+s_str;
}

/**************************************************************************
* name		: IptOnlyNumber(obj, tfComma)
* parameter	: obj => window
* sample	: <input type ="text" name ="number" style="ime-mode:disabled"  onkeydown="IptOnlyNumber(window)"  >
* return	: 
* ¼³¸í		: ¸®¾óÅ¸ÀÓÀ¸·Î ¼ýÀÚ¸¸ ÀÔ·ÂÇÒ¶§
**************************************************************************/
function IptOnlyNumber(obj, tfComma) {
	key =obj.event.keyCode;
	//alert('key  '+key);
	if(key == 13 || key == 9) {   // ¿£ÅÍ,TAB
		return true;
	}
	if(obj.event.shiftKey == true) { 
		obj.event.returnValue = false;
		return true;
	}
  
	if(key == 91 || key == 92 || key == 93 || key == 229 || key == 21 || key == 25 || key == 19 ) {
		return true;
	}
	//¼Ò¼ýÁ¡ÀÌ °¡´ÉÇÑÁö ¿©ºÎ¿¡ µû¶ó ÀÔ·Â
	if((tfComma!=undefined) && (tfComma==true) && (key == 190)) {
		obj.event.returnValue = true;
		return true;
	}
	
	if(key >= 112 && key <= 123) {       // function key
		obj.event.returnValue = true;
		return true;
	}

	if((key == 40) || (key == 38 )) {    // À§, ¾Æ·¡ È­»ìÇ¥
		obj.event.returnValue = true;
		return true;
	}

	if(( key > 95) && ( key < 106 )) {   // ¿ìÃø Å°ÆÐµå ¼ýÀÚ key
		obj.event.returnValue = true;
		return true;
	}

	if(( key > 47) && ( key < 58 )) {    // Å°º¸µå »ó´Ü ¼ýÀÚ key
		obj.event.returnValue = true;
		return true;
	}
	if(( key == 37)||( key == 39 )||( key == 46)||( key == 8 )) {  // ÁÂ,¿ì È­»ìÇ¥,DEL,BACKS,-
		obj.event.returnValue = true;
		return true;
	}
	if(obj.event.altKey || obj.event.shiftKey || obj.event.ctrlKey) { 
		obj.event.returnValue = true;
		return true;
	}
	if(( key > 36) && ( key < 41 )) {    // ÁÂ,»ó,¿ì,ÇÏ È­»ìÇ¥
		obj.event.returnValue = true;
		return true;
	}
	if(( key > 32) && ( key < 37 )) {    // Page-Up, Page-Down, End, Home
		obj.event.returnValue = true;
		return true;
	}
	if(( key == 45) || ( key == 46 ) || ( key == 144 )) {    // Insert,Delete,NumLock
		obj.event.returnValue = true;
		return true;
	}
	if(( key == 46)||( key == 8 )||( key == 17)||( key == 18 )||( key == 20)||( key == 27 )) {  // DEL,BACKS,Ctrl,Alt,CapsLock,Esc
		obj.event.returnValue = true;
		return true;
	}
	obj.event.returnValue=false;
	//alert('¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.');
	return false;
}

/***********************************************
* name		: fnCheckNum2
* parameter	: from_object => ÇöÀç°´Ã¼ 
* sample	: onKeyPress="fnCheckNum2(this)" 
* return	: N/A
* ¼³¸í		: ÄÄ¸¶ ¿Í ¼ýÀÚ¸¸ ÀÔ·Â 
***********************************************/
function fnCheckNum2(obj){
	
	
	if(event.keyCode == 46) {//ÄÄ¸¶ Çã¿ë 
		return true;
	}else if (event.keyCode >= 58) {
        event.returnValue = false;
    } else if (event.keyCode >= 48 && event.keyCode <= 57) {
        return true;
    } else {
        event.returnValue = false;
    }
}

/***********************************************
* name		: fnCheckNum
* parameter	: from_object => ÇöÀç°´Ã¼ 
* sample	: onKeyPress="fnCheckNum(this)" 
* return	: N/A
* ¼³¸í		: ¼ýÀÚ¸¸ ÀÔ·Â 
***********************************************/
function fnCheckNum(obj){
	
	if (event.keyCode >= 58) {
        event.returnValue = false;
    } else if (event.keyCode >= 48 && event.keyCode <= 57) {
        return true;
    } else {
        event.returnValue = false;
    }
}

/***********************************************
								5. ±âÅ¸(Å×ÀÌºí, Æû) °ü·Ã ÇÔ¼ö
***********************************************/
/**************************************************************************
* name		: set_TextReadonly(obj,state)
* parameter	: obj => °´Ã¼
*			: state => °´Ã¼»óÅÂ
* sample	: <input name="readonly1" type="text" />
*			: <input type="button" onclick="javascript:set_TextReadonly(readonly1,!(readonly1.readOnly))" value=""/>
* return	: readonly
* ¼³¸í		: °´Ã¼¸¦ readonly¸¸µé°í  ¹è°æ»ö ¹Ù²Þ
**************************************************************************/
function set_TextReadonly(obj,state) {
	if(state) {
		obj.style.background ='#EEEEEE';
	} else {
		obj.style.background ='#FFFFFF';
	}
	obj.readOnly = state;
}
function upper(obj)
{
	str = obj.value;
	str = str.toUpperCase();
	obj.value = str;
}

/**************************************************************************
* name		: format_Jumin_No(str)
* parameter	: str => string 
* sample	:  
* return	: string
* ¼³¸í		: ÁÖ¹Î¹øÈ£ automasking 
**************************************************************************/
function format_Jumin_No(str) {
	str = delete_Char(str,'-');
	str = str.substring(0,6) + "-" + str.substring(6);
	return str;
}

/**************************************************************************
* name		: delete_Char(source,char)
* parameter	: source => string ¶Ç´Â obj µÑ´Ù Áö¿ø
*			: char => ¾ø¾Ö°í ½ÍÀº ´Ü¾î³ª ¹®Àå
* sample	: delete_Char(this,',')   => this.value °¡ 3,3,3, ÀÏ¶§ ÀÌÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¸é 333À¸·Î ³ª¿È
* return	: string/alert
* ¼³¸í		: ¹®ÀÚ¸¦ ¾ø¾Ù¶§ ¾²´Â ÇÔ¼ö 
**************************************************************************/
function delete_Char(source,char) {
	if(typeof(source) == "string") {
		return replace(source,char,'');
	} else if(typeof(source) == "object") {
		source.value = replace(source.value,char,'');
	} else {
		alert("Áö¿øÇÏÁö ¾Ê´Â ÇüÅÂÀÔ´Ï´Ù.");
	}
	
}

/**************************************************************************
* name		: showTip(element, flag)
* parameter	: element
*           : flag		f => field (text,textarea)     
*			:			t => <td>µîÀÇ Å×ÀÌºíµ¥ÀÌÅÍ¼ºÀÏ¶§ »ç¿ë  
* sample	: showTip(td, t)
* return	: 
* ¼³¸í		: Ç³¼± µµ¿ò¸»·Î ¾Èº¸ÀÌ´Â ºÎºÐÀÇ ³»¿ëÀ» º¸¿©ÁÜ.
**************************************************************************/
function showTip(element, flag) {
	if(flag == 't') {
		element.title = element.innerText;
	} else {
		element.title = element.value;
	}
}

/**************************************************************************
* name		: changeCss(obj, css, css2)
* parameter	: obj  => object
* 			: css  => ¹Ù²ãÁÖ°íÀÚ ÇÏ´Â cssÀÇ Class¸í 
*			: css2 => Å¬¸¯½Ã ¼±ÅÃµÈ row¸¦ º¸¿©ÁÙ¶§ »ç¿ë
* sample	: CSS ¸¦ Àû¿ë½ÃÅ³ Object, CssÀÇ Class¸í, ¼±ÅÃµÈ row CssÀÇ Class¸í
*			:	(ex) changeCss(this, 'css','css2');
* return	: 
* ¼³¸í		: onMouseOver or Out Event¸¦ ¹ß»ý½ÃÅ³¶§ ÀÚµ¿À¸·Î Css¸¦ ¹Ù²Û´Ù.
*			:	css2, Ãß°¡»çÇ×-> ÇØ´ç row¸¦ Å¬¸¯ÇÏ¿© ÇöÀç ¼±ÅÃµÈ row¸¦ º¸¿©ÁÖ°í ½ÍÀ»¶§ »ç¿ëÇÑ´Ù.
**************************************************************************/
function changeCss(obj, css, css2) {
	if(!((css2 =='') || (css2 == null))) {
	  	changeCss_clear(obj,css);
	  	obj.className = css2;
	} else {
		if(!(obj.className == 'tr3' || obj.className == 'tr3_long')) {
			obj.className = css;
		}
	}
}

/***************************************************************************************
* name		: changeCss_clear(obj,chClass)
* parameter	: obj  => object
* 			: chClass  => ¹Ù²ãÁÖ°íÀÚ ÇÏ´Â cssÀÇ Class¸í
* sample	: changeCss_clear(obj, text1)
* return	: 
* ¼³¸í		: ÇØ´ç table³»ÀÇ ¸ðµç row¸¦ ÇØ´ç class·Î ¹Ù²Û´Ù.
***************************************************************************************/
function changeCss_clear(obj,chClass) {
	var pobj = document.all ? obj.parentElement : obj.parentNode;
	//var pobj = obj.parentNode;
	for(var i=0;i<pobj.rows.length;i++) {
		pobj.childNodes[i].className = chClass;
	}
}

/**************************************************************************
* name		: clear_Combo(obj)
* parameter	: obj  => object
* sample	: clear_Combo(test38)
* return	: 
* ¼³¸í		: ÄÞº¸¾È¿¡ °ªÀ» ¸ðµÎ ¾ø¾Ø´Ù. ÃÊ±âÈ­ 
**************************************************************************/
function clear_Combo(obj) {
    if(obj == null) {
        return;
    } else {
	    for(var index = obj.length-1; index >= 0; index--) {
	        obj.options[index] = null;
	    }
    }
}

/**************************************************************************
* name		: copy_Combo(obj, dest_obj, defaultSelect)
* parameter	: obj  => object
* 			: dest_obj  => ¼±ÅÃÇÒ object
* 			: defaultSelect  => ±âº»°ª
* sample	: copy_Combo(obj, dest_obj, defaultSelect)
* return	: 
* ¼³¸í		: ´Ù¸¥ comboboxÀÇ ¾ÆÀÌÅÛÀ» copyÇÑ´Ù.
**************************************************************************/
function copy_Combo(obj, dest_obj, defaultSelect) {
	var otype;  //OBJECT TYPE¸íÀ» °¡Áö´Â º¯¼ö 
    
	if(obj == null) {
		return;
	}
	otype = (obj.type).substring(0,6);
	if(otype != "select") {
		return;
    }
	if(dest_obj == null) {
		return;
	}	
	otype = (dest_obj.type).substring(0,6);
	if(otype != "select") {
		return;
	}	
    
	//clear
	clear_Combo(dest_obj);
    
	//copy
	var sOption;
	var sText;
	var sValue;
	var isWord = !chk_Blank(defaultSelect);
    for(var index = 0; index < obj.length; index++) {
        //sOption = new Option(text, value, true);
        //sOption = obj.options[index];
        sText = obj.options[index].text;
        sValue = obj.options[index].value;
        if(index==0) {
        	sOption = new Option(sText, sValue, true);
        } else {
        	sOption = new Option(sText, sValue);
        }
        dest_obj.options[index] = sOption;
    }
}

/**************************************************************************
* name		: add_Combo(obj, text, value)
* parameter	: obj  => object
* sample	: add_Combo(test39,"°¡³ª´Ù¶ó","10")
* return	: 
* ¼³¸í		: comboboxÀÇ ¾ÆÀÌÅÛÀ» Ãß°¡ÇÑ´Ù 
**************************************************************************/
function add_Combo(obj, text, value) {
    if(obj == null) {
        return;
    } else {
	    var len = obj.length;
        if(len == 0) {
            option1 = new Option(text, value, true);
        } else {
            option1 = new Option(text, value);
        }
        obj.options[len] = option1;
   }
}

/**************************************************************************
* name		: sel_Combo(obj, str)
* parameter	: obj  => object
*			: str  => ¼±ÅÃÇÒ ÄÞº¸°ªÀÇ text
* sample	: select_Combo_value(obj, str)
* return	: 
* ¼³¸í		: combobox¿¡ str°ªÀÇ ¾ÆÀÌÅÛÀ» ¼±ÅÃÇÑ´Ù.
**************************************************************************/
function sel_Combo(obj, str) {
    var otype;  //OBJECT TYPE¸íÀ» °¡Áö´Â º¯¼ö 
    
    if(obj == null) {
    	return;
    }	
    if(chk_Blank(str)) {
    	return;
    }
    otype = (obj.type).substring(0,6);
    
    if(otype != "select") {
    	return;
    }
    
    for(var index = 0; index < obj.length; index++) {
        if(obj.options[index].value != '') {
            if(trim(obj.options[index].value) == trim(str)) {
                obj.options[index].selected = true;
            }
        } else {
            if(trim(obj.options[index].text) == trim(str)) {
                obj.options[index].selected = true;
            }
        }
    }
    
}

/**************************************************************************
* name		: get_Combo(obj)
* parameter	: obj  => object
* 			: text_only  => °¡Á®¿Ã ÄÞº¸°ªÀÇ text
* sample	: f_get_combo_value(obj, text_only)
* return	: string
* ¼³¸í		: combobox¿¡ str°ªÀÇ ¼±ÅÃµÈ°ªÀ» ±¸ÇÔ
**************************************************************************/
function get_Combo(obj) {
	var rV = "";
	var len   = obj.length;
	var otype = "";

	if(obj == null) {
		return;
	}
	otype = (obj.type).substring(0, 6);
	if(otype != "select") {
		return;
	}		  
	for(var index = 0; index < len; index++) {
		if(obj.options[index].selected) {
			rV = trim(obj.options[index].text);
		}
	}
	
	return (rV);
}

/**************************************************************************
* name		: get_ComboValue(obj)
* parameter	: obj  => object
* 			: text_only  => °¡Á®¿Ã ÄÞº¸°ªÀÇ text
* sample	: f_get_combo_value(obj, text_only)
* return	: string
* ¼³¸í		: combobox¿¡ str°ªÀÇ ¼±ÅÃµÈ°ªÀ» ±¸ÇÔ
**************************************************************************/
function get_ComboValue(obj) {
	var rV;
	var len   = obj.length;
	var otype = "";

	if(obj == null) {
		return;
	}
	otype = (obj.type).substring(0, 6);
	if(otype != "select") {
		return;
	}
	for(var index = 0; index < len; index++) {
		if(obj.options[index].selected) {
			rV = trim(obj.options[index].value);
		}
	}
  
  return (rV);
}

/**************************************************************************
* name		: CheckPersonalNumber(p1, p2)
* parameter	: p1  => ÁÖ¹Î¹øÈ£ Ã¹¹øÂ° value
* 			: p2  =>  ÁÖ¹Î¹øÈ£ µÎ¹øÂ° value
* sample	: CheckPersonalNumber(form.jumin1.value,form.jumin2.value
* return	: true/false
* ¼³¸í		: 
**************************************************************************/
function CheckPersonalNumber(p1, p2) {
	var chk = 0;
	
	if(p1 == "") {
		return false;
	}
	if(p2 == "") {
		return false;
	}
	if(p1.length != 6) {
		return false;
	}
	if(p2.length !=7) {
		return false;
	}
	// Ã¼Å©
	for(var i=0; i <= 5; i++) {
		chk = chk + ((i%8 + 2) * parseInt(p1.substring(i, i+1)));
	}
	for(var i=6; i <= 11; i++) {
		chk = chk + ((i%8 + 2) * parseInt(p2.substring(i-6, i-5)));
	}
	chk = 11 - (chk % 11);
	chk = chk % 10;

	if(chk != p2.substring(6,7)) {
		return false;
	}
	
	return true;
}

/***********************************************
* name		: fnNextTab
* parameter	: from_object => ÇöÀç°´Ã¼ 
*			: to_object => ÀÌµ¿ÇÒ°´Ã¼
*          : len => ±æÀÌ
* sample	: onKeyUp="fnNextTab(from_object, to_object, len)" 
* return	: N/A
* ¼³¸í		: ÀÔ·Â°ªÀÌ Á¤ÇØÁø ±æÀÌ°¡ µÇ¸é ÀÚµ¿À¸·Î ´ÙÀ½ Á¤ÇØÁø object·Î ÀÌµ¿
***********************************************/

function fnNextTab(from_object, to_object, len) {
   	var key = event.keyCode;    
    //  shift,È­»ìÇ¥  Å°ÀÏ¶§´Â ±×³É ³ª°£´Ù .
    if(key == 9 || key == 16 || key == 37 || key == 38 || key == 39 || key == 40){
      	return;
    }
    //if((key >= 48 && key <= 57) || (key >= 96 && key <= 105)){
			if(from_object.value.length>=len)  {
				to_object.focus();
			}
		//}

}

/***********************************************
* name		: isValidNumber
* parameter	: obj => ÇöÀç°´Ã¼ 
* sample	: isValidNumber(obj)
* return	: N/A
* ¼³¸í		: ¼ýÀÚ °Ë»ç / ¹®ÀÚ°¡ ÀÔ·ÂµÉ °æ¿ì »èÁ¦ÇÑ´Ù.
***********************************************/
function isValidNumber(obj) {
	var str = obj.value;
	var i = 0;
	for(i = 0; i < str.length; i++) {
		tcod = str.charCodeAt(i);
		if(!(48 <= tcod && tcod <= 57) && tcod != 46) {
			alert("¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÕ´Ï´Ù");
			obj.value = "";
			return false;
		}
	}
	return true;
}
    
/***********************************************
* name		: checked_val
* parameter	: obj => ÇöÀç°´Ã¼ 
* sample	: checked_val(obj)
* return	: Ã¼Å©µÈ °ª 
* ¼³¸í		: ¶óµð¿À¹Ú½º¿¡¼­ ¼±ÅÃµÈ °ªÀ» ¸®ÅÏÇÑ´Ù.
***********************************************/
function checked_val(obj) {  
	var count=0;
	var checked_val;
	var obj_len=(typeof(obj.length) == 'undefined') ? 1 : obj.length;
	if(obj_len==1){
		checked_val = obj.value;
	}else{
		for (i=0;i<obj_len ;i++ ) { 
			if(obj[i].checked==true) {
				count++
				checked_val=obj[i].value
			}
		}
	}
	return checked_val;
}
/***********************************************
* name		: isCheckedRadio
* parameter	: obj => ÇöÀç°´Ã¼ 
* sample	: isCheckedRadio(obj)
* return	: true or false
* ¼³¸í		: ¶óµð¿À¹Ú½º¿¡ ¼±ÅÃµÈ °ªÀÌ ÀÖ´ÂÁö Ã¼Å©ÇØ¼­ true ¶Ç´Â false¸¦ ¸®ÅÏÇÑ´Ù.
***********************************************/
function isCheckedRadio(obj) {  
	var count=0;
	var checked = false;
	var obj_len=(typeof(obj.length) == 'undefined') ? 1 : obj.length;
	if(obj_len==1){
		checked = obj.checked;
	}else{
		for (i=0;i<obj_len ;i++ ) { 
			if(obj[i].checked==true) {
				checked = true;
				break;
			}
		}
	}
	return checked;
}
/***********************************************
* name		: checkRadioByValue
* parameter	: obj => ÇöÀç°´Ã¼ 
                    : val => °ª
* sample	: checkRadioByValue(obj,val)
* return	: N/A
* ¼³¸í		: ¶óµð¿À¹Ú½º¿¡¼­ °ªÀ» °¡Áö°í ÇØ´çÇÏ´Â ¶óµð¿À¹Ú½ºÇ×¸ñÀ» Ã¼Å©ÇÑ´Ù.
***********************************************/
function checkRadioByValue(obj,val) {
	var obj_len = (typeof(obj.length) == 'undefined') ? 1 : obj.length;
	if(obj_len==1){
		obj.checked = true;
	}else{
		for(var i=0; i<obj_len; i++) {
			if(obj[i].value==val) {
				obj[i].checked = true;
			}
		}
	}
}

/***********************************************
* name		: shGetMultiField
* parameter	: obj => ÇöÀç°´Ã¼ 
* sample	: checkRadioByValue(obj,val)
* return	: N/A
* ¼³¸í		: Ã¼Å©¹Ú½º, ¶óµð¿À, ¼¿·ºÆ® ¼±ÅÃ°ªÀ» ','·Î ¹­¾î¼­ ÇÏ³ªÀÇ StringÀ¸·Î °¡Á®¿Â´Ù.
***********************************************/
function shGetMultiField(obj) {
	var returnVal='';
	var obj_len=(typeof(obj.length) == 'undefined') ? 1 : obj.length;
	var obj_type=(typeof(obj.type) == 'undefined')? obj[0].type : obj.type;
	var opt=''; // ¼±ÅÃ
	switch(obj_type) {
		case 'select-one': case 'select-multiple' : opt='selected'; break;
		case 'checkbox' : case 'radio' : opt='checked'; break;
	}

	if (obj_len > 1) {
		for (var i=0; i < obj_len; i++) {
			if (eval("obj["+i+"]."+opt)) {
				if (obj_type == 'select-one' || obj_type == 'radio') {
					return obj[i].value;
				}else{
					if(returnVal=='') {
						returnVal=obj[i].value;
					}else{
						returnVal+=', '+obj[i].value
					}
				}
			}
		}
		return returnVal;
	}else{
		if (obj_type == 'checkbox' || obj_type == 'radio') {
			if (eval("obj."+opt)) {
				return obj.value;
			}
		}else{
			if (eval("obj.options[0]."+opt)) {
				return obj.value;
			}
		}
	}
	return '';
}

/***********************************************
* name		: onlyNum()
* parameter	: 
* sample	: 
* return	: ¾øÀ½
* ¼³¸í		: ÀÔ·Â°ªÀÌ ¼ýÀÚÀÎÁö¸¦ Ã½Å©ÇÏ´Â ÇÔ¼ö.
***********************************************/
function onlyNum() {
	if ((event.keyCode < 48) || (event.keyCode > 57)) event.returnValue = false;
	return true;
}

/***********************************************
* name		: selectBoxChk(query)
* parameter	: 
* sample	: 
* return	: ¾øÀ½
* ¼³¸í		: ¼¿·ºÆ® ¹Ú¼ö °ª È®ÀÎÇÏ´Â ÇÔ¼ö.
***********************************************/
function selectBoxChk(query) {    
	var checkCount = 0; 
	for (i=0; i < ListForm['DestGroup[]'].length; i++) { 
		if( ListForm['DestGroup[]'][i].checked == true ) { 
			checkCount++; 
		} 
	} 
	if (checkCount==0) { 
		alert('´ë»ó ±×·ìÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À'); 
		return; 
	} 
	if (confirm('Á¤¸»·Î º¹»çÇÏ½Ã°Ú½À´Ï±î?')) { 
		if (true) { 
			document.ListForm.submit(); 
		} 
	} 
} 

/***********************************************
* name		: removeSelectBox(obj)
* parameter	: obj => Á¦°ÅÇÒ ¼¿·ºÆ®¹Ú½º ¿ÀºêÁ§Æ®
* sample	: 
* return	: ¾øÀ½
* ¼³¸í		: ¼¿·ºÆ® ³»ÀÇ <option>Á¦
***********************************************/
	function removeSelectBox(obj){
		while(1<obj.options.length){
			obj.options[1] = null;
		}
	}
/***********************************************
* name		: isNullRadio(inputElement, title)
* parameter	: inputElement => ¶óµð¿À¸í
            : title => ¶óµð¿À¼³¸í
* sample	: 
* return	: ¾øÀ½
* ¼³¸í		: ¶óµð¿À °ª NULL Ã¼Å©
***********************************************/
function isNullRadio(inputElement, title) {

	var flag = false;

	for(var i=0; i<inputElement.length; i++) {
		if(inputElement[i].checked) {
			flag = true;
			break;
		}
	}
	if(flag == false) {
		if(!isNullValue(title)) {
			alert(title + "À» ¼±ÅÃÇÏ½Ê½Ã¿À");
		} else {
			alert("°ªÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À.");
		}

		inputElement[0].focus();
		return true;
	}else{
		return false;
	}
}

/***********************************************
* name		: radio_val(chk_radio,title)
* parameter	: chk_radio => ¶óµð¿À¸í
            : title => ¶óµð¿À¼³¸í
* sample	: 
* return	: ¶óµð¿À °ª
* ¼³¸í		: ¶óµð¿À °ª ¸®ÅÏ
***********************************************/
function radio_val(chk_radio,title) { 
    for(var s=0; s< chk_radio.length; s++) 
    { 
        if(chk_radio[s].checked == true) { 
            return chk_radio[s].value; 
            break; 
        } 
    } 
	if(s == chk_radio.length) { 
		alert("\"" + title + "\" À» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À.");
		chk_radio[0].focus();
	} 
} 

/***********************************************
* name		: isNullCombo(inputElement, title)
* parameter	: inputElement => Combo ¹Ú½º¸í
            : title => Combo ¹Ú½º ¼³¸í
* sample	: 
* return	: true/false
* ¼³¸í		: Combo ¹Ú½º NULL Ã¼Å©
***********************************************/
function isNullCombo(inputElement, title) {
	if ((inputElement.options[inputElement.selectedIndex].value == "")||(inputElement.options[inputElement.selectedIndex].value.length == 0)) {
		if(!isNullValue(title)) {
			alert(title + "À» ¼±ÅÃÇÏ½Ê½Ã¿À");
		}else{
			alert("°ªÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À.");
		}
		inputElement.focus();
		return true;
	}else{
		return false;
	}
}

/***********************************************
* name		: isNullInput(inputElement, title)
* parameter	: inputElement => Input ¹Ú½º¸í
            : title => Input ¹Ú½º ¼³¸í
* sample	: 
* return	: true/false
* ¼³¸í		: Input ¹Ú½º NULL Ã¼Å©
***********************************************/
function isNullInput(inputElement, title) {

	var inputValue;

	if(isNullValue(inputElement.value)) {
		inputValue = inputElement.value;
	}else{
		inputValue = trim(inputElement.value);
	}

	if (((inputValue == null)||(inputValue.length == 0)) && (inputElement.type != "hidden")) {
		if(!isNullValue(title)){
			alert(title + "À» ÀÔ·ÂÇÏ½Ê½Ã¿À.")
		}else{
			//alert("°ªÀ» ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿À.");
		}
		inputElement.focus();
		return true;
	}else{
		return false;
	}
}

/***********************************************
* name		: isNumberValue(inputElement, title)
* parameter	: inputElement => Input ¹Ú½º¸í
            : title => Input ¹Ú½º ¼³¸í
* sample	: 
* return	: true/false
* ¼³¸í		: Input ¹Ú½º ¼ýÀÚ Ã¼Å©
***********************************************/
function isNumberValue(inputElement, title) {
	if (inputElement.value.match(/[^0-9]/)) { 
		if(!isNullValue(title)){
			alert("\"" + title + "\" ÀÇ °ªÀ» ¼ýÀÚ¸¸ ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿À.");
		}else{
			alert("°ªÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À.");
		}
		inputElement.focus();
		return true;
	}else{
		return false;
	}
}

/***********************************************
* name		: isNullNumberValue(inputElement, title)
* parameter	: inputElement => Input ¹Ú½º¸í
            : title => Input ¹Ú½º ¼³¸í
* sample	: 
* return	: true/false
* ¼³¸í		: Input ¹Ú½º NULL ¼ýÀÚ Ã¼Å©
***********************************************/
function isNullNumberValue(inputElement, title) {
	if(trim(inputElement.value) == "") {
		if(!isNullValue(title)){
			alert("\"" + title + "\" ÀÇ °ªÀ» ¼ýÀÚ¸¸ ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿À.");
		} else {
			alert("°ªÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À.");
		}
		inputElement.focus();
		return true;
	}else{
		if(inputElement.value.match(/[^0-9]/)) { 
			if(!isNullValue(title)){
				alert("\"" + title + "\" ÀÇ °ªÀ» ¼ýÀÚ¸¸ ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿À.");
			}else{
				alert("°ªÀ» ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À.");
			}
			inputElement.focus();
			return true;
		}else{
			return false;
		}
	}
}

/***********************************************
* name		: isNullValue(inputValue)
* parameter	: inputValue => ÀÔ·Â°ª
* sample	: 
* return	: true/false
* ¼³¸í		: NULL °ª Ã¼Å© ÇÔ¼ö
***********************************************/
function isNullValue(inputValue) {
	if (inputValue == null || inputValue.length == 0 || inputValue == ""){
		return true;
	}else{
		return false;
	}
}

/***********************************************
* name		: trim(strSource)
* parameter	: strSource => ÀÔ·Â°ª
* sample	: 
* return	: ¾øÀ½
* ¼³¸í		: TRIM ±¸ÇöÇÔ¼ö(°ø¹é)
***********************************************/
function trim(strSource) {
	re = /^\s+|\s+$/g;
	return strSource.replace(re, '');
}

/***********************************************
* name		: check_msglen(frm,id,lenStr)
* parameter	: frm => ÆûÀÌ¸§
*           : id => name
*           : lenStr => ÃÖ´ëÀÔ·Â°¡´É°ª
* sample	: 
* return	: ¾øÀ½
* ¼³¸í		: ÀÔ·Â±ÛÀÚ°¹¼ö Ã³¸®
***********************************************/
function check_msglen(frm,id,lenStr) {
	var msg = document.getElementById(frm).value;
	var length=msg.length;	
	document.getElementById(id).innerHTML = length;
	if (length > lenStr) {
        alert("ÃÖ´ë "+lenStr+" ÀÚ±îÁö ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.\r\nÃÊ°úµÈ " + (length - lenStr) + "ÀÚ´Â ÀÚµ¿À¸·Î »èÁ¦µË´Ï´Ù.");
        document.getElementById(frm).value = assert_msglen(document.getElementById(frm).value, lenStr, id);
    }	
}

/***********************************************
* name		: setFilter(inputElement)
* parameter	: inputElement => name
* sample	: 
* return	: true/false
* ¼³¸í		: Æ¯¼ö¹®ÀÚ Ã³¸®
***********************************************/
function setFilter(inputElement) {
    re = /[><\'\"^]/;
	//re = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+¦«<>@\#$%&\'\"\\\(\=]/gi;

    if(re.test(inputElement.value)){
        alert("Æ¯¼ö¹®ÀÚ < > \" \' ´Â ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
        inputElement.value = inputElement.value.replace(re,"");
        inputElement.focus();
		return true;
	} else {
		return false;
	}
}

/***********************************************
* name		: fncInputChk()
* parameter	: 
* sample	: 
* return	: true/false
* ¼³¸í		: Æ¯¼ö¹®ÀÚ Ã³¸®
***********************************************/
function fncInputChk() {
	var lkeycode = window.event.keyCode;
	var sOrg = String.fromCharCode(lkeycode);
	noChar = /[\[\]\;&\\#$%\{\}|><\'\"^]/;

	if( sOrg.match(noChar) ) {
	window.event.keyCode = 0;
	}
}
/***********************************************
* name		: moveFocus(movelength,currObj,nextObj)
* parameter	: movelength -> ÀÌµ¿ÇÒ½ÃÁ¡ÀÇ ±æÀÌ
*						  currObj -> ÀÌµ¿À» Ã¼Å©ÇÒ ÇöÀç Input Object
*						  nextObj -> Ã¼Å©µÇ¸é ÀÌµ¿ÇÒ ´ÙÀ½  Input Object
* sample	: onkeyup="moveFocus(6,rron1,rron2);"
* return	: true/false
* ¼³¸í		: Æ¯¼ö¹®ÀÚ Ã³¸®
***********************************************/
function moveFocus(movelength,currObj,nextObj){
	var str = currObj.value.length;
		if(str == movelength) {
			nextObj.focus();
		}
}


/***********************************************
* name		: DateFormat(vDateName, vDateValue, e, dateCheck, dateType, alertMsg)
			  
* parameter	: vDateName -> Input Object
*			  vDateValue -> Object value
*			  e -> event
*			  dateCheck -> true/false
*			  dateType -> 1 = mm/dd/yyyy
*						  2 = yyyy/dd/mm  
*						  3 = dd/mm/yyyy 
* sample	: 
* return	: true/false
* ¼³¸í		: text box ¿¡ ³¯Â¥¸¦ ³ÖÀ»¶§ ³¯Â¥ Çü½ÄÀ» ÀÚµ¿ ¹ÝÈ¯ÇÑ´Ù
* ex		: <INPUT onblur="DateFormat(this,this.value,event,true,'1','³¯Â¥Çü½ÄÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù.')" 
                     onkeyup="DateFormat(this,this.value,event,false,'1','³¯Â¥Çü½ÄÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù.')"
                     onfocus="javascript:vDateType='1'"
                     maxLength=10 size=10 name=testDateFormat1>
                     
              <INPUT onblur="DateFormat(this,this.value,event,true,'2','³¯Â¥Çü½ÄÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù.')" 
                     onkeyup="DateFormat(this,this.value,event,false,'2','³¯Â¥Çü½ÄÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù.')" 
                     onfocus="javascript:vDateType='2'" 
                     maxLength=10 size=10 name=testDateFormat3>       
                     
              <INPUT onblur="DateFormat(this,this.value,event,true,'3','³¯Â¥Çü½ÄÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù.')" 
                     onkeyup="DateFormat(this,this.value,event,false,'3','³¯Â¥Çü½ÄÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù.')" 
                     onfocus="javascript:vDateType='3'" 
                     maxLength=10 size=10 name=testDateFormat5>       
***********************************************/

var isNav4 = false, isNav5 = false, isIE4 = false 
var strSeperator = "-"; 
var vDateType = 3; // ³¯Â¥Çü½Ä 

//                1 = mm/dd/yyyy 
//                2 = yyyy/dd/mm  
//                3 = dd/mm/yyyy 

var vYearType = 4; // ³×Ã÷ÄÉÀÌÇÁ¿ë 2ÀÚ¸® È¤Àº 4ÀÚ¸® ¿¬µµ Ç¥±â 
var vYearLength = 2; // »ç¿ëÀÚ ÀÔ·Â ¿¬µµ ÀÚ¸´¼ö 
var err = 0; // ¿¡·¯ÄÚµå µðÆúÆ®°ª 

if(navigator.appName == "Netscape") { 
	if (navigator.appVersion < "5") { 
		isNav4 = true; 
		isNav5 = false; 
	}else if (navigator.appVersion > "4") { 
		isNav4 = false; 
		isNav5 = true; 
	} 
}else{ 
	isIE4 = true; 
} 

function DateFormat(vDateName, vDateValue, e, dateCheck, dateType, alertMsg)  { 
	vDateType = dateType; 
	if(vDateValue == "~") { 
		alert("AppVersion = "+navigator.appVersion+" \nNav. 4 Version = "+isNav4+" \nNav. 5 Version = "+isNav5+" \nIE Version = "+isIE4+" \nYear Type = "+vYearType+" \nDate Type = "+vDateType+" \nSeparator = "+strSeperator); 
		vDateName.value = ""; 
		vDateName.focus(); 
		return true; 
	} 
	
	var whichCode = (window.Event) ? e.which : e.keyCode; 
	if (vDateValue.length > 8 && isNav4) { 
		if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1)) {
			return true; 
		}
	} 

	var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-"; 
	if (alphaCheck.indexOf(vDateValue) >= 1) { 
		if (isNav4) { 
			vDateName.value = ""; 
			vDateName.focus(); 
			vDateName.select(); 
			return false; 
		}else{ 
			vDateName.value = vDateName.value.substr(0, (vDateValue.length-1)); 
			return false; 
		} 
	} 

	if (whichCode == 8) {
		return false; 
	}else{ 
		var strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105'; 
		if (strCheck.indexOf(whichCode) != -1) { 
			if (isNav4) { 
				if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1)) { 
					alert(alertMsg); 
					vDateName.value = ""; 
					vDateName.focus(); 
					vDateName.select(); 
					return false; 
				} 

				if (vDateValue.length == 6 && dateCheck) { 
					var mDay = vDateName.value.substr(2,2); 
					var mMonth = vDateName.value.substr(0,2); 
					var mYear = vDateName.value.substr(4,4) 

					if (mYear.length == 2 && vYearType == 4) { 
						var mToday = new Date(); 
						var checkYear = mToday.getFullYear() + 30; 
						var mCheckYear = '20' + mYear; 

						if (mCheckYear >= checkYear) {
							mYear = '19' + mYear; 
						}else{ 
							mYear = '20' + mYear; 
						}
					} 

					var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear; 

					if (!dateValid(vDateValueCheck)) { 

						alert(alertMsg); 
						vDateName.value = ""; 
						vDateName.focus(); 
						vDateName.select(); 
						
						return false; 

					} 

					return true; 

				}else{ 

					if (vDateValue.length >= 8  && dateCheck) { 
						// mmddyyyy
						if (vDateType == 1) { 
							var mDay = vDateName.value.substr(2,2); 
							var mMonth = vDateName.value.substr(0,2); 
							var mYear = vDateName.value.substr(4,4) 
							vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear; 
						} 
						// yyyymmdd 
						if (vDateType == 2) { 
							var mYear = vDateName.value.substr(0,4) 
							var mMonth = vDateName.value.substr(4,2); 
							var mDay = vDateName.value.substr(6,2); 
							vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay; 
						} 
						// ddmmyyyy 
						if (vDateType == 3) { 
							var mMonth = vDateName.value.substr(2,2); 
							var mDay = vDateName.value.substr(0,2); 
							var mYear = vDateName.value.substr(4,4) 
							vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear; 
						} 

						var vDateTypeTemp = vDateType; 
						vDateType = 1; 
						var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear; 

						if (!dateValid(vDateValueCheck)) { 
							alert(alertMsg); 
							vDateType = vDateTypeTemp; 
							vDateName.value = ""; 
							vDateName.focus(); 
							vDateName.select(); 
							return false; 

						} 
						vDateType = vDateTypeTemp; 

						return true; 

					}else{ 

						if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) { 
							alert(alertMsg); 
							vDateName.value = ""; 
							vDateName.focus(); 
							vDateName.select(); 
							return false; 
						} 

					} 

				} 

			}else{ 
				if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) { 

					alert(alertMsg); 
					vDateName.value = ""; 
					vDateName.focus(); 
					return true; 
				} 

				if (vDateValue.length >= 8 && dateCheck) { 
					// mm/dd/yyyy 
					if (vDateType == 1) { 
						var mMonth = vDateName.value.substr(0,2); 
						var mDay = vDateName.value.substr(3,2); 
						var mYear = vDateName.value.substr(6,4) 
					} 
					// yyyy/mm/dd 
					if (vDateType == 2) { 
						var mYear = vDateName.value.substr(0,4) 
						var mMonth = vDateName.value.substr(5,2); 
						var mDay = vDateName.value.substr(8,2); 
					} 
					// dd/mm/yyyy 
					if (vDateType == 3) { 
						var mDay = vDateName.value.substr(0,2); 
						var mMonth = vDateName.value.substr(3,2); 
						var mYear = vDateName.value.substr(6,4) 
					} 

					if (vYearLength == 4) { 

						if (mYear.length < 4) { 
							alert(alertMsg); 
							vDateName.value = ""; 
							vDateName.focus(); 
							return true; 
						} 

					} 

					var vDateTypeTemp = vDateType; 
					vDateType = 1; 
					var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear; 
					
					if (mYear.length == 2 && vYearType == 4 && dateCheck) { 
						var mToday = new Date(); 
						var checkYear = mToday.getFullYear() + 30; 
						var mCheckYear = '20' + mYear; 
						if (mCheckYear >= checkYear) {
							mYear = '19' + mYear; 
						}else{ 
							mYear = '20' + mYear; 
						}
						vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear; 
						// mm/dd/yyyy 
						if (vDateTypeTemp == 1) {
							vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear; 
						}
						// dd/mm/yyyy 
						if (vDateTypeTemp == 3) {
							vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear; 
						}
					} 

					if (!dateValid(vDateValueCheck)) { 
						alert(alertMsg); 
						vDateType = vDateTypeTemp; 
						vDateName.value = ""; 
						vDateName.focus(); 
						return true; 
					} 
	
					vDateType = vDateTypeTemp; 
					return true; 
				
				}else{ 
					if (vDateType == 1) { 
						if (vDateValue.length == 2) { 
							vDateName.value = vDateValue+strSeperator; 
						} 

						if (vDateValue.length == 5) { 
							vDateName.value = vDateValue+strSeperator; 
						} 

					} 

					if (vDateType == 2) { 

						if (vDateValue.length == 4) { 
							vDateName.value = vDateValue+strSeperator; 
						} 

						if (vDateValue.length == 7) { 
							vDateName.value = vDateValue+strSeperator; 
						} 

					} 
					
					if (vDateType == 3) { 

						if (vDateValue.length == 2) { 
							vDateName.value = vDateValue+strSeperator; 
						} 

						if (vDateValue.length == 5) { 
							vDateName.value = vDateValue+strSeperator; 
						} 

					} 

					return true; 

				} 

			} 

			if (vDateValue.length == 10   && dateCheck) { 

				if (!dateValid(vDateName)) { 
					alert(alertMsg); 
					vDateName.focus(); 
					vDateName.select(); 
				} 

			} 
			return false; 
/*
		}else{ 

			if (isNav4) { 
				vDateName.value = ""; 
				vDateName.focus(); 
				vDateName.select(); 
				return false; 
			}else{ 
//				alert(strCheck.indexOf(whichCode) +' ==>> strCheck.indexOf(whichCode)'); 
//				vDateName.value = vDateName.value.substr(0, (vDateValue.length-1)); 
//				return false; 
			} 
*/		
		} 

	} 

} 

function dateValid(objName) { 

	var strDate; 
	var strDateArray; 
	var strDay; 
	var strMonth; 
	var strYear; 
	var intday; 
	var intMonth; 
	var intYear; 
	var booFound = false; 
	var datefield = objName; 
	var strSeparatorArray = new Array("-"," ","/","."); 
	var intElementNr; 
	
	// var err = 0; 
	var strMonthArray = new Array(12); 
	strMonthArray[0] = "Jan"; 
	strMonthArray[1] = "Feb"; 
	strMonthArray[2] = "Mar"; 
	strMonthArray[3] = "Apr"; 
	strMonthArray[4] = "May"; 
	strMonthArray[5] = "Jun"; 
	strMonthArray[6] = "Jul"; 
	strMonthArray[7] = "Aug"; 
	strMonthArray[8] = "Sep"; 
	strMonthArray[9] = "Oct"; 
	strMonthArray[10] = "Nov"; 
	strMonthArray[11] = "Dec"; 
	
	//strDate = datefield.value; 
	strDate = objName; 
	
	if (strDate.length < 1) { 
	   return true; 
	} 

	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) { 
	
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) { 

			strDateArray = strDate.split(strSeparatorArray[intElementNr]); 

			if (strDateArray.length != 3) { 
				err = 1; 
				return false; 
			}else{ 
				strDay = strDateArray[0]; 
				strMonth = strDateArray[1]; 
				strYear = strDateArray[2]; 
			} 

			booFound = true; 

		} 

	} 

	if (booFound == false) { 
	
		if (strDate.length>5) { 
			strDay = strDate.substr(0, 2); 
			strMonth = strDate.substr(2, 2); 
			strYear = strDate.substr(4); 
		} 
	
	} 

	//Adjustment for short years entered 
	if (strYear.length == 2) { 
		strYear = '20' + strYear; 
	} 
	
	strTemp = strDay; 
	strDay = strMonth; 
	strMonth = strTemp; 
	intday = parseInt(strDay, 10); 

	if (isNaN(intday)) { 
		err = 2; 
		return false; 
	} 

	intMonth = parseInt(strMonth, 10); 
	if (isNaN(intMonth)) { 

		for (i = 0;i<12;i++) { 
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) { 
				intMonth = i+1; 
				strMonth = strMonthArray[i]; 
				i = 12; 
			} 
		} 
	
		if (isNaN(intMonth)) { 
			err = 3; 
			return false; 
		} 
	
	} 

	intYear = parseInt(strYear, 10); 
	if (isNaN(intYear)) { 
		err = 4; 
		return false; 
	} 
	
	if (intMonth>12 || intMonth<1) { 
		err = 5; 
		return false; 
	} 

	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) { 
		err = 6; 
		return false; 
	} 
	
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) { 
		err = 7; 
		return false; 
	} 

	if (intMonth == 2) { 
	
		if (intday < 1) { 
			err = 8; 
			return false; 
		} 

		if (LeapYear(intYear) == true) { 
			if (intday > 29) { 
				err = 9; 
				return false; 
			} 
		}else{ 

			if (intday > 28) { 
				err = 10; 
				return false; 
			} 
		} 

	} 

	return true; 

} 

function LeapYear(intYear) { 

	if (intYear % 100 == 0) { 
		if (intYear % 400 == 0) {
			return true; 
		} 	
	}else{ 
		if ((intYear % 4) == 0) { 
			return true; 
		} 
	} 
	return false; 

} 

/* Å°º¸µå ÀÔ·Â Á¦ÇÑ.
/***********************************************
* name		: ms_numChk(search)
* parameter	: search Á¶È¸ÇÒ ÇÔ¼ö¸í
* sample	: <input name="test" value="" onkeydown="ms_numChk('search()')" style="ime-mode:disabled">
				Ç×»ó style µ¿¹Ý »ç¿ëÇÏ¿©¾ß ÇÔ
* return	: 
* ¼³¸í		: ¼ýÀÚ¸¸ ¾²±â
***********************************************/
function ms_numChk(search){
   	var key = event.keyCode;
   	// ¿£ÅÍÅ° Á¶È¸.
   	if(key == 13){
   		eval(search);
   	}
   	
    // ¼ýÀÚ, tab, back space, delete, enter, shift, ctrl, alt, È­»ìÇ¥  Å°¸¸  Çã¿ë.
    if((key >= 48 && key <= 57) || (key >= 96 && key <= 105) || key == 8 || key == 9 || key == 46 || key == 13 || key == 16 || key == 17 || key == 18 || key == 37 || key == 38 || key == 39 || key == 40){
      	event.returnValue = true;
    }else{
      	event.returnValue = false;
    }
}

function check_Number(obj){ 
	var inputVal = obj.value; 
	var newVal = ""; 
	for(i=0;i<inputVal.length;i++) { 
	   var currChar = inputVal.substring(i,i+1); 
		 if (currChar < '0' || currChar > '9') { 
			alert('¼ýÀÚ¸¸ ÀÔ·ÂÇÏ¼¼¿ä.'); 
			obj.value = newVal; 
			return; 
		 } else { 
			newVal = newVal + currChar; 
		 } 
	} 
} 

/***********************************************/

/***********************************************
* name		: isMsieSeven()
* parameter	: 
* sample	: 
* return	: true/false
* ¼³¸í		: ÀÍ½ºÇÃ·Î·¯ ¹öÀüÀÌ 7.0 ÀÎÁö Ã¼Å©ÇÑ´Ù.
***********************************************/
function isMsieSeven() {
	var NavigatorApplicationVersion = navigator.appVersion;
	var bv = NavigatorApplicationVersion.indexOf('MSIE 7.0');
	if(bv != -1)  {
//		alert('ÀÍ½ºÇÃ·Î·¯ 7.0');
		return true;
	} else {
//		alert('ÀÍ½ºÇÃ·Î·¯ 7.0ÀÌ ¾Æ´Õ´Ï´Ù.\n'+NavigatorApplicationVersion+' ÀÔ´Ï´Ù.');
		return false;
	}
}
/***********************************************/

/***********************************************
* name		: resetACA()
* parameter	: url
* sample	: resetACA("/ca/ps/acaps101.do")
* return	: 
* ¼³¸í		: Á¤»ê ºÎ¹® ¼¼¼ÇÃÊ±âÈ­
***********************************************/
function resetACA(url) {
	location.href="/ca/cm/acacm41F.jsp?gotoURL="+url;
}

/***********************************************
* name		: addComma()
* parameter	: 
* sample	: <input name="name" type="text" onkeyup="addComma(this);" />
* return	: 
* ¼³¸í		: ¼ýÀÚ¿¡ ½Ç½Ã°£ ÄÞ¸¶ Ãß°¡.
***********************************************/
function addComma(form){
	var val = delete_Char(form.value, ",");
	var len = val.length;
	var avr = len % 3;
	var str = val.substring(0, avr);

	while(avr < len){
		if(str != ""){
			str += ",";
		}
		
		str += val.substring(avr, avr+3);
		avr += 3;
	}
	
	form.value = str;
}

/***********************************************
* name		: addComma()
* parameter	: 
* sample	: <input name="name" type="text" onkeyup="addComma(this);" />
* return	: 
* ¼³¸í		: ¼ýÀÚ¿¡ ½Ç½Ã°£ ÄÞ¸¶ Ãß°¡.
***********************************************/
function openPdfPopup(arg0, arg1, arg2){
	var widthVal = '1000';
	var heightVal = '680';
	var scrollbarYN = 'yes';	
	var url = "/common/pdf/"+arg0+arg1+arg2+".pdf";
	//if(w < 1025){ scrollbarYN = 'yes';heightVal = '600';}	
	popSmsList = window.open(url,'pdfPopUp', 'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars='+scrollbarYN+',resizable=yes,copyhistory=no,width='+widthVal+',height='+heightVal+',left=0, top=0')
	

}
