/*************************************************************
	 ¸¸µçÀÌ      : ÀåÁ¤È£
	 ÀÛ¼ºÀÏ      : 2001.10.10
	 ÃÖÁ¾ ¼öÁ¤ÀÏ :
	 ÇÁ·ÎÁ§Æ® ¸í : ¶óÀÌºê·¯¸®
	 ¸ðµâ ¸í     : À¥»ó¿¡¼­ ÀÌ¿ëµÇ´Â ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö ¸ðÀ½
	 ±âÅ¸ ¼³¸í   :
	 ¼öÁ¤ ³»¿ë	 : 2002.04.10
	 							 2002.04.15 jf_checkHHMM, jf_checkHHMMSS ÇÔ¼ö Ãß°¡
								 2002.04.23 Cookie¿¡ °üÇÑ ÇÔ¼ö Ãß°¡
								 2002.04.29 º¯¼ö¸í ¼öÁ¤
								 2002.04.30 jf_isArry Ãß°¡
								 2002.05.17 jf_isUserName Ãß°¡
								 2002.05.17 jf_isSizeOver Ãß°¡
								 2002.05.26 jf_imageSizeFix Ãß°¡
								 2002.06.08 jf_select Ãß°¡
								 2002.07.01 jf_selectMsg Ãß°¡
								 2002.07.07 jf_openWindow Ãß°¡           : DEPRECATED 2005/10/13
								 2003.08.22 jf_diffDay Ãß°¡
								 2004.02.01 jf_getExt Ãß°¡
								 2004.02.10 jf_checkboxAll Ãß°¡
								 2004.06.22 jf_replace Ãß°¡
								 2004.07.31 jf_openWindowRtn Ãß°¡        : DEPRECATED 2005/10/13
														jf_void	Ãß°¡
								 2004.08.26	jf_isValidEmail2 Ãß°¡
								 2004.12.09 jf_getObject Ãß°¡
								 2005.04.20 jf_isURL Ãß°¡
								 2005.05.04 jf_checkboxAllRange, jf_selectBoxMove, jf_selectBoxBumpUp, jf_selectBoxSortD Ãß°¡
								 2005.05.06 jf_getDate Ãß°¡
								 2005.05.19 jf_isChoicedSelectBox Ãß°¡
								 2005.06.10 jf_layerToggle Ãß°¡
								 2005.06.12 jf_selectValue Ãß°¡
								 2005.06.18 jf_numberInput Ãß°¡
								 2005.06.22 jf_isChoicedRadio Ãß°¡
								 2005.07.07 jf_isLengOverRtnMsg Ãß°¡
								 2005.08.10 jf_nextFocus() Ãß°¡
								 2005.09.13 jf_swapImage() Ãß°¡
                 2005.09.24 jf_dumpObject() Ãß°¡
                 2005.10.13 jf_popupWindow(),
                            jf_popupWindowEx(),
                            jf_popupWindowCenter() Ãß°¡
                 2005.10.29 jf_realtime_MaxLen() Ãß°¡
								 2005.11.05 jf_valueClear() Ãß°¡
                 2005.11.05 jf_dumpObjectAsHTML(Object obj) Ãß°¡
*************************************************************/

var _JF_LIBRARY_IDENTIFIER__UTIL_JS_ = "UTIL.JS 2005-11-14 23:20:00";

     /*******************************************/
     /*******************************************/
     /*       DATE  VALIDATION  CHECK           */
     /*******************************************/
     /*******************************************/
var JF_montharrAY= new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var JF_PADDASH   = new Array(" ", ",");
var JF_ALPHABET  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';

function jf_generalDate(strDate) {
  strDate       	= jf_Trim(strDate);
  var tmpDate   	= "";

  for(var i = 0, j=0; i < strDate.length ; i++) {
    if (strDate.charAt(i) == "-") {
      tmpDate    += JF_PADDASH[j];
      j++;
      continue;
    }
    tmpDate      += strDate.charAt(i);
  }

  tmpDate         = new Date(tmpDate);

  with(tmpDate) {
      tmpDate   = jf_LPadChar(getFullYear().toString(),  4, "0") +
                  jf_LPadChar((getMonth()+1).toString(), 2, "0") +
                  jf_LPadChar(getDate().toString(),      2, "0") +
                  jf_LPadChar(getHours().toString(),     2, "0") +
                  jf_LPadChar(getMinutes().toString(),   2, "0") +
                  jf_LPadChar(getSeconds().toString(),   2, "0");
	}

	return tmpDate;
}


function jf_initClock(f) {
  var tmptickcount = "";
  var currdate     = new Date();
  var sysdate      = "";
  var tmpsysdate   = "";
  var tmpDate1     = "";
  var tmpDate2     = "";

  if (f.subtickcount.value == null)
    f.subtickcount.value = "";

  with(currdate) {
  	tmpDate1       = JF_montharrAY[getMonth()]    + " " +
                     jf_LPadChar(getDate().toString(), 2, "0")     + ", " +
                     jf_LPadChar(getFullYear().toString(), 4, "0") + " " +
                     jf_LPadChar(getHours().toString(), 2, "0")    + ":" +
                     jf_LPadChar(getMinutes().toString(), 2, "0")  + ":" +
                     jf_LPadChar(getSeconds().toString(), 2, "0");
  }

  if (f.subtickcount.value == "") {

  	tmpsysdate       = jf_deleteChar(f.systemdate.value, "/")+"59";

    sysdate          = new Date(parseFloat(tmpsysdate.substring(0, 4)),
                                parseFloat(tmpsysdate.substring(4, 6)) - 1,
                                parseFloat(tmpsysdate.substring(6, 8)),
                                parseFloat(tmpsysdate.substring(8, 10)),
                                parseFloat(tmpsysdate.substring(10, 12)),
                                parseFloat(tmpsysdate.substring(12)));
    with(sysdate) {
    	tmpDate2       = JF_montharrAY[getMonth()]   + " " +
                       jf_LPadChar(getDate().toString(), 2, "0")     + ", " +
                       jf_LPadChar(getFullYear().toString(), 4, "0") + " " +
                       jf_LPadChar(getHours().toString(), 2, "0")    + ":" +
                       jf_LPadChar(getMinutes().toString(), 2, "0")  + ":" +
                       jf_LPadChar(getSeconds().toString(), 2, "0");
    }

    tmptickcount = Math.floor( (Date.parse(tmpDate2) - Date.parse(tmpDate1))/1000);

    f.subtickcount.value = tmptickcount.toString();
  }
}

function jf_sysDate(tmptickcount) {
  var sysDate 	= "";
  var currdate 	= new Date();

  currdate.setMilliseconds(parseFloat(tmptickcount)*1000);

  with(currdate){
      sysDate   = jf_LPadChar(getFullYear().toString(),  4, "0") +
                  jf_LPadChar((getMonth()+1).toString(), 2, "0") +
                  jf_LPadChar(getDate().toString(),      2, "0") +
                  jf_LPadChar(getHours().toString(),     2, "0") +
                  jf_LPadChar(getMinutes().toString(),   2, "0") +
                	jf_LPadChar(getSeconds().toString(),   2, "0");
 }

 return sysDate;
}

//=============================================
//  inputValue¿¡¼­ delChar¸¦ ¸ðµÎ Á¦°ÅÇÑ °ªÀ»
//  returnÇÑ´Ù.
//=============================================
function jf_deleteChar(inputValue, delChar) {
 var tmpValue = "";
   inputValue = jf_Trim(inputValue);
   for(var i=0; i < inputValue.length; i++) {
     if ( inputValue.charAt(i) != delChar )
         tmpValue += inputValue.charAt(i);
   }

   return tmpValue;
}


//=============================================
//  inputValue°ªÀÇ cnt¿¡¼­ inputValueÀÇ ±æÀÌ¸¦
//  »« ¼ö¸¸Å­ padChar¹®ÀÚ·Î Ã¤¿öÁÜ
//=============================================
function jf_LPadChar(inputValue, cnt, padChar) {
    var tmpValue = "";
    inputValue = jf_Trim(inputValue);

		for(var i=0; i < (cnt-inputValue.length); i++)
      tmpValue += padChar;
    return (tmpValue + inputValue);
}


//=============================================
//  inputValue°ªÀÇ cnt¿¡¼­ inputValueÀÇ ±æÀÌ¸¦
//  »« ¼ö¸¸Å­ padChar¹®ÀÚ·Î Ã¤¿öÁÜ
//=============================================
function jf_RPadChar(inputValue, cnt, padChar) {
    var tmpValue = "";
    inputValue = jf_Trim(inputValue);
    for(var i=0; i < (cnt-inputValue.length); i++)
      tmpValue += padChar;
    return (inputValue + tmpValue);
}


//=============================================
// bÀÇ ¾çÂÊ °ø¹éÀ» Á¦°ÅÇØÁÖ´Â ÇÔ¼ö
//=============================================
function jf_Trim(b) {
    var i, startIdx, endIdx;

    if (b == null)
        return "";

    startIdx = 0;
    endIdx   = b.length;

     for(i=0; i < b.length ; i++)
        if ( b.charAt(i) != " " )
        {
            startIdx = i;
            break;
        }

     for(i=b.length; i >= 0 ; i--)
        if ( b.charAt(i-1) != " " )
        {
            endIdx = i;
            break;
        }

     return b.substring(startIdx, endIdx);
}


//========================================
//  Month Array »ý¼º
//========================================
function jf_montharr(m0,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11) {
    this[0] = m0;
    this[1] = m1;
    this[2] = m2;
    this[3] = m3;
    this[4] = m4;
    this[5] = m5;
    this[6] = m6;
    this[7] = m7;
    this[8] = m8;
    this[9] = m9;
    this[10] = m10;
    this[11] = m11;
}


//========================================
//  YYYY ¸¦ checkÇÑ´Ù.
//========================================
function jf_checkYYYY(toCheck) {
  return ( ( toCheck.length == 4) && ( jf_isInteger(toCheck)  ) && ( toCheck != "0000") );
}


//========================================
//  MM ¸¦ checkÇÑ´Ù.
//========================================
function jf_checkMM(toCheck) {
  return ((!jf_isEmpty(toCheck)) && (jf_isInteger(toCheck)) && ( parseFloat(toCheck) > 0 ) && (parseFloat(toCheck) < 13));
}


//========================================
//  YYYY,MM,DD¸¦ checkÇÑ´Ù.
//========================================
function jf_checkDD( yyyy, mm, toCheck) {
    var isYMD   = false;
    var monthDD = new jf_montharr(31,28,31,30,31,30,31,31,30,31,30,31);
    var im      = eval(mm) - 1;

    if ( toCheck.length == 0 )
         return false;

    if ( !jf_isInteger(toCheck)  )
         return false;

    var dd = toCheck;

    if ( ( (yyyy%4 == 0) && (yyyy%100 != 0) ) || (yyyy%400 == 0) )
    {
         monthDD[1] = 29;
    }

    if ( (0 < dd) && (dd <= monthDD[im]) )
         isYMD = true;

    return isYMD;
}


//========================================
//  YYYYMMDD¸¦ checkÇÑ´Ù.
//========================================
function jf_checkDate( dateVal ) {
  var isDate  = true ;

	if ( dateVal.length != 8 )  {
		isDate = false ;
	}
	else {
		var yy = dateVal.substring(0,4) +"" ;
		var mm = dateVal.substring(4,6) +"" ;
		var dd = dateVal.substring(6,8) +"" ;

		if (!jf_checkYYYY(yy)) {
				isDate = false ;
		}

		else if (!jf_checkMM(mm))	{
			isDate = false ;
		}

		else if (!jf_checkDD(yy,mm,dd))	{
			isDate = false ;
		}
	}
	return isDate ;
}

//========================================
//  YYYY-MM-DD¸¦ checkÇÑ´Ù.
//========================================
function jf_checkDate2( dateVal ) {
  var isDate  = true ;
	if ( dateVal.length != 10 ) {
		isDate = false ;
	}
	else {
		var yy = dateVal.substring(0,4) +"" ;
		var mm = dateVal.substring(5,7) +"" ;
		var dd = dateVal.substring(8,10) +"" ;

		if (!jf_checkYYYY(yy)) {
			isDate = false ;
		}
		else if (!jf_checkMM(mm)) {
			isDate = false ;
		}
		else if (!jf_checkDD(yy,mm,dd))	{
			isDate = false ;
		}
	}
	return isDate ;
}


//================================
// HH¸¦ CheckÇÑ´Ù.
//================================
function jf_checkHH( toCheck ) {
  return ((!jf_isEmpty(toCheck)) && (jf_isInteger(toCheck)) && ( parseFloat(toCheck) >= 0 ) && (parseFloat(toCheck) <= 23));
}


//================================
// HHMM¸¦ CheckÇÑ´Ù.
//================================
function jf_checkHHMM( hh, mm ) {
 	if ( jf_checkHH(hh) ){
  	return ((!jf_isEmpty(mm)) && (jf_isInteger(mm)) && ( parseFloat(mm) >= 0 ) && (parseFloat(mm) <= 59));
	}
	return false;
}

//================================
// HHMMSS¸¦ CheckÇÑ´Ù.
//================================
function jf_checkHHMMSS( hh, mm, ss ) {
 	if ( jf_checkHHMM(hh,mm) ){
  	return ((!jf_isEmpty(ss)) && (jf_isInteger(ss)) && ( parseFloat(ss) >= 0 ) && (parseFloat(ss) <= 59));
	}
	return false;
}


//================================
// MI¸¦ CheckÇÑ´Ù.
//================================
function jf_checkMI( toCheck ) {
    return ((!jf_isEmpty(toCheck)) && (jf_isInteger(toCheck)) && ( parseFloat(toCheck) >= 0 ) && (parseFloat(toCheck) <= 59));
}


//================================
// HHMI¸¦ CheckÇÑ´Ù.
//================================
function jf_timeCheck( inputValue ) {
	var chkval =  jf_Trim(inputValue);

	if ( jf_isInteger ( chkval ) ) {
		if ( parseFloat(chkval) < 2400 ){
			if ( chkval.substring(0,1) > 2 )
				return false;
			else if ( chkval.substring(1,2) > 9 )
				return false ;
			else if ( chkval.substring(2,3) > 5  )
				return false ;
			else if ( chkval.substring(3,4) > 9 )
				return false;
			else
				return true ;
		}
		else {
			return false ;
		}
	}
	else{
			return false ;
	}
}

 /*******************************************/
 /*******************************************/
 /*       COMMON VALIDATION CHECK           */
 /*******************************************/
 /*******************************************/

//---------------------------------------------------
//  ±â´É   : ¿µ¹®ÀÚ.ÇÑ±Û º°·Î length¸¦ return ..IE4.0 ÀÌ»ó
//----------------------------------------------------
function jf_strLeng(strIn) {
	var strOut  = 0;
	var agr     = navigator.userAgent;
	var isIE   = agr.indexOf("MSIE");

	if(isIE != -1){
		for ( i = 0 ; i < strIn.length ; i++)	{
			ch = strIn.charAt(i);
			if ((ch == "\n") || ((ch >= "¤¿") && (ch <= "È÷")) || ((ch >="¤¡") && (ch <="¤¾")))
					strOut += 2;
			else
					strOut += 1;
		}
	}
	else{
		strOut = strIn.length ;
	}
	return (strOut);
}


//---------------------------------------------------
//  ±â´É   : Check NULL OR Space RETURN T/F
//---------------------------------------------------
function jf_isEmpty(toCheck) {
	var chkstr = jf_Trim(toCheck) + "";
	var is_Space = true ;

	if ( ( chkstr == "") || ( chkstr == null ) )
		return true;

	for ( j = 0 ; is_Space && ( j < chkstr.length ) ; j++) {
		if( chkstr.substring( j , j+1 ) != " " )
			is_Space = false ;
	}

	return is_Space;
}


//---------------------------------------------------
//  ±â´É   : Check NULL OR Space RETURN T/F , Msg
//---------------------------------------------------
function jf_isEmptyRtnMsg(obj, msg, len) {
	var toCheck  = obj.value ;
	var chkstr   = jf_Trim(toCheck) + "";
	var is_Space = true ;

	if ( jf_isEmpty(toCheck) ) {
		alert( msg );
		obj.focus();
		obj.select();
		return true ;
	}

	for ( j = 0 ; is_Space && ( j < chkstr.length ) ; j++) {
		if( chkstr.substring( j , j+1 ) != " " )
				is_Space = false ;
	}

	if ( is_Space )	{
		alert( msg );
		obj.focus();
		obj.select();
		return true ;
	}

	if (len != null) {
		if (jf_strLeng(obj.value) > len) {
			alert( msg +" ÇÑ±Û "+len/2+",¿µ¹® "+len+"ÀÚ ÀÌ³»·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
			obj.focus();
			obj.select();
			return true ;
		}
		else {
			return false ;
		}
	}
	else
		return false ;
}

// obj°´Ã¼ °ªÀÌ len ÀÌ»óÀÎÁö Ã¼Å©
function jf_isLengOverRtnMsg(obj, len) {
	if (jf_strLeng(obj.value) > len) {
		alert("ÇÑ±Û "+len/2+",¿µ¹® "+len+"ÀÚ ÀÌ³»·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj.focus();
		obj.select();
		return true ;
	}
	else {
		return false ;
	}
}

// ´Ù¸¥°Í jf_isEmptyRtnMsg¿Í °°°í, len¸¸ ÀÌÇÏÃ¼Å©¸¦ ÇÑ´Ù.
function jf_isEmptyRtnMsg2(obj, msg, len) {
	var toCheck  = obj.value ;
	var chkstr   = jf_Trim(toCheck) + "";
	var is_Space = true ;

	if ( jf_isEmpty(toCheck) ) {
		alert( msg );
		obj.focus();
		obj.select();
		return true ;
	}

	for ( j = 0 ; is_Space && ( j < chkstr.length ) ; j++) {
		if( chkstr.substring( j , j+1 ) != " " )
				is_Space = false ;
	}

	if ( is_Space )	{
		alert( msg );
		obj.focus();
		obj.select();
		return true ;
	}

	if (len != null) {
		if (jf_strLeng(obj.value) < len) {
			alert( msg );
			obj.focus();
			obj.select();
			return true ;
		}
		else {
			return false ;
		}
	}
	else
		return false ;
}

//---------------------------------------------------
//  Check Space in String RETURN T/F
//  »ç¿ë : °³ÀÎÀÔ·Â½Ã ÀÌ¸§
//---------------------------------------------------
function jf_isContentSpace(str) {
	var inx    = str.indexOf(" ");
	var inx1   = str.indexOf("#");
	var inx2   = str.indexOf("!");
	var inx3   = str.indexOf("$");
	var inx4   = str.indexOf("@");
	var inx5   = str.indexOf("%");
	var inx6   = str.indexOf("^");
	var inx7   = str.indexOf("&");
	var inx8   = str.indexOf("*");
	var inx9   = str.indexOf("(");
	var inx10  = str.indexOf("?");
	var inx11  = str.indexOf(")");

	if ( (inx != -1 ) || (inx1 != -1 ) || (inx2 != -1 ) || (inx3 != -1 ) ||
			(inx4 != -1 ) || (inx5 != -1 ) || (inx6 != -1 ) || (inx7 != -1 ) ||
			(inx8 != -1 ) || (inx9 != -1 ) || (inx10 != -1 ) || (inx11 != -1 ) ) {
		return true ;
	}
	else {
		return false ;
	}
}


//---------------------------------------------------
//  ±â´É   : Check Integer RETURN T/F
//---------------------------------------------------
function jf_isInteger(st) {
	if (!jf_isEmpty(st)) {
		for (j=0; j<st.length; j++) {
			if (((st.substring(j, j+1) < "0") || (st.substring(j, j+1) > "9")))
					return false;
		}
	}
	else {
			return false ;
	}
  return true ;
}

//---------------------------------------------------
//  ±â´É   : Check Number RETURN T/F
//---------------------------------------------------
function jf_isDigit(st) {
	st = jf_Trim(st);
	if (!jf_isEmpty(st)) {
		for (j=0; j<st.length; j++) {
			if ( (st.charAt(j) < "0") || (st.charAt(j) > "9") )
				return false;
		}
	}
	else {
		return false ;
	}
	return true ;
}


//---------------------------------------------------
//  ±â´É   : Check Integer RETURN T/F , Msg
//---------------------------------------------------
function jf_isIntegerRtnMsg(obj, msg, len) {
	var st = jf_Trim(obj.value);
	if (!jf_isEmpty(st)) {
		for (j=0; j<st.length; j++)	{
			if (((st.substring(j, j+1) < "0")||(st.substring(j, j+1)>"9")))	{
				alert( msg +" ¼ýÀÚ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
				obj.focus();
				obj.select();
				return false;
			}
		}
	}
	else {
		alert( msg +" ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj.focus();
		obj.select();
		return false ;
	}

	if ( len != null ) {
		if ( jf_strLeng(st) != len ) {
			alert( msg +" " +len+"ÀÚ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
			obj.focus();
			obj.select();
			return false ;
		}
	}

	return true ;
}


//---------------------------------------------------
//  ±â´É   : Check Integer RETURN T/F , Msg
//---------------------------------------------------
function jf_isIntegerRtnMsg1(obj, msg, slen, elen) {
	var st = jf_Trim(obj.value);
	if (!jf_isEmpty(st)) {
		for (j=0; j<st.length; j++)	{
			if (((st.substring(j, j+1) < "0")||(st.substring(j, j+1)>"9")))	{
				alert( msg +" ¼ýÀÚ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
				obj.focus();
				obj.select();
				return false;
			}
		}
	}
  else {
		alert( msg +" ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj.focus();
		obj.select();
		return false ;
  }
  if ( elen != null ) {
		if ( jf_strLeng(st) < slen || jf_strLeng(st)> elen ) {
			alert( msg +" " +slen+" ~ "+elen+"ÀÚ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
			obj.focus();
			obj.select();
			return false ;
		}
  }
  return true ;
}

//---------------------------------------------------
//  ±â´É   : Check Letter RETURN T/F
//---------------------------------------------------
function jf_isLetter(inputValue) {
	inputValue = jf_Trim(inputValue);
	inputValue = inputValue.toUpperCase();

	for (var i=0; i<inputValue.length; i++)
		if ((inputValue.charAt(i) < "A") || (inputValue.charAt(i) > "Z"))
			return false;

	return true;
}

//---------------------------------------------------
//  ±â´É   : Check Alphanumeric RETURN T/F
//---------------------------------------------------
function jf_isAlphanumeric(inputValue) {
	inputValue = jf_Trim(inputValue);
	inputValue = inputValue.toUpperCase();

	if (jf_isEmpty(inputValue))
		return false;

	for (i=0; i<inputValue.length; i++)	{
		if (((inputValue.charAt(i) < "A") || (inputValue.charAt(i) > "Z")) && ((inputValue.charAt(i) < "0") || (inputValue.charAt(i) > "9")))
			return false;
	}
 return true;
}

//============================================
// Select Option Check
//                    - return checked value
//============================================
function jf_seletboxCheck ( sb ) {
	var SelectValue = null ;

	for ( var i=0 ; i < sb.length  ; i++)	{
		if ( sb.options[i].selected == true )	{
			if ( sb.options[i].value != "" ) {
				SelectValue = sb.options[i].value ;
				break;
			}
		}
	}
	return SelectValue  ;
}

//================================
// PASSWORD ±¸¼º Check
//================================

function jf_pswdCheck(obj1, obj2) {
  var str = obj1.value;

	if (jf_strLeng(obj1.value) < 4){
		alert("ºñ¹Ð¹øÈ£´Â 4ÀÚ ÀÌ»óÀ¸·Î ÀÔ·ÂÇÏ½Ê½Ã¿À");
		obj1.focus();
		obj1.select();
		return false;
	}

	for (i=0 ; i<str.length; i++){
		if (((str.charAt(i) >= "¤¿") && (str.charAt(i) <= "È÷")) || ((str.charAt(i) >="¤¡") && (str.charAt(i) <="¤¾")))	{
			alert("\nºñ¹Ð¹øÈ£¿¡ ÇÑ±Û ÀÔ·ÂÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.");
			obj1.select();
			obj1.focus();
			return false;
		}
	}

	if ( obj2.value == "" ){
	alert("ºñ¹Ð¹øÈ£ È®ÀÎÀ» À§ÇÏ¿© ºñ¹Ð¹øÈ£¸¦ ´Ù½Ã ÀÔ·ÂÇÏ½Ê½Ã¿À.");
			obj2.focus();
			obj2.select();
			return false;
	}
	if ( obj1.value != obj2.value ){
			alert("ºñ¹Ð¹øÈ£¿Í ºñ¹Ð¹øÈ£ È®ÀÎÀÌ ´Ù¸¨´Ï´Ù.ºñ¹Ð¹øÈ£¸¦ È®ÀÎÈÄ ´Ù½Ã ÀÔ·ÂÇÏ½Ê½Ã¿À.");
			obj2.focus();
			obj2.select();
			return false;
	}
	return true ;
}

function jf_pswdCheck1(obj1, obj2) {
  var str = obj1.value;

	if (jf_strLeng(obj1.value) < 4){
		alert("Must enter more than 4 letters.");
		obj1.focus();
		obj1.select();
		return false;
	}

	for (i=0 ; i<str.length; i++){
		if (((str.charAt(i) >= "¤¿") && (str.charAt(i) <= "È÷")) || ((str.charAt(i) >="¤¡") && (str.charAt(i) <="¤¾")))	{
			alert("\nError");
			obj1.select();
			obj1.focus();
			return false;
		}
	}

	if ( obj2.value == "" ){
	alert("Error");
			obj2.focus();
			obj2.select();
			return false;
	}
	if ( obj1.value != obj2.value ){
			alert("Error");
			obj2.focus();
			obj2.select();
			return false;
	}
	return true ;
}

function jf_date() {
  var aaa = new Date(2000, 3, 20, 10, 10, 86400);
  alert(aaa.getDate()+"/"+aaa.getMonth()+"/"+(aaa.getFullYear())+"/ hour"+aaa.getHours() + " / Minutes " + aaa.getMinutes());

  var aaaa = "12345678901234567";
  alert(parseFloat(aaaa));
}


//================================
// ÁÖ¹Î¹øÈ£ ±¸¼º Check
//================================
function jf_juminCheck(obj1, obj2) {
	str1 = obj1.value ;
	str2 = obj2.value ;

	var v_yy = "";

	if ((str2.substring(0,1) == "1" ) || (str2.substring(0,1) == "2" ) ) {
			v_yy = "19" ;
	}
	else if ((str2.substring(0,1) == "3" ) || (str2.substring(0,1) == "4" ) ) {
			v_yy = "20" ;
	}
	else if ((str2.substring(0,1) == "0" ) || (str2.substring(0,1) == "9" ) )	{
			v_yy = "18" ;
	}

	li_value = new Array(13);

	var li_lastid,li_mod,li_minus,li_last;

	if(!jf_checkDate(v_yy+str1)) {
			alert("\nÁÖ¹Î¹øÈ£ ¾ÕÀÚ¸®°¡ Àß¸øÀÔ·ÂµÇ¾ú½À´Ï´Ù");
			obj1.select();
			obj1.focus();
			return false;
	}

	if(str2.length != 7 )	{
			alert("\nÁÖ¹Î¹øÈ£ µÞÀÚ¸®¸¦ 7ÀÚ¸®·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
			obj2.select();
			obj2.focus();
			return false;
	}

	if (jf_isInteger(str1) && jf_isInteger(str2))	{
			li_lastid    = parseFloat(str2.substring(6,7));
			li_value[0]  = parseFloat(str1.substring(0,1))  * 2;
			li_value[1]  = parseFloat(str1.substring(1,2))  * 3;
			li_value[2]  = parseFloat(str1.substring(2,3))  * 4;
			li_value[3]  = parseFloat(str1.substring(3,4))  * 5;
			li_value[4]  = parseFloat(str1.substring(4,5))  * 6;
			li_value[5]  = parseFloat(str1.substring(5,6))  * 7;
			li_value[6]  = parseFloat(str2.substring(0,1))  * 8;
			li_value[7]  = parseFloat(str2.substring(1,2))  * 9;
			li_value[8]  = parseFloat(str2.substring(2,3))  * 2;
			li_value[9]  = parseFloat(str2.substring(3,4))  * 3;
			li_value[10] = parseFloat(str2.substring(4,5))  * 4;
			li_value[11] = parseFloat(str2.substring(5,6))  * 5;
			li_value[12] = 0;

			for (var i = 0; i<12;i++)
					li_value[12] = li_value[12] + li_value[i];

			li_mod      = li_value[12] %11;
			li_minus    = 11 - li_mod;
			li_last     = li_minus % 10;

			if (li_last != li_lastid)	{
					alert("\nÁÖ¹Î¹øÈ£°¡ Àß¸øÀÔ·ÂµÇ¾ú½À´Ï´Ù.");
					obj2.select();
					obj2.focus();
					return false;
			 }
			 else
					return true;
	 }
	 else {
			alert("\nÁÖ¹Î¹øÈ£°¡ Àß¸øÀÔ·ÂµÇ¾ú½À´Ï´Ù.");
			obj2.select();
			obj2.focus();
			return false;
	 }
}
//========================================
// tab order (field ÀÚµ¿ ÀÌµ¿)
//========================================
function js_tab_order(arg,nextname,len) {
	if (arg.value.length==len)  {
		nextname.focus() ;
		return;
	}
}

function jf_isValidEmail(obj){
	valid = false;
	val   = obj.value;

	// space within email?
	if (val.indexOf(" ") != -1)
		alert("EmailÁÖ¼Ò¿¡ °ø¹éÀº Çã¿ëµÇÁö ¾Ê½À´Ï´Ù.!");
	else if (val.indexOf("@") < 1)
		alert("EmailÁÖ¼Ò ÁöÁ¤ÀÌ Àß¸øµÇ¾ú½À´Ï´Ù. '@'ÀÌ ´©¶ôµÇ¾ú½À´Ï´Ù.");
	else if (val.indexOf(".") == -1)
		alert("EmailÁÖ¼Ò ÁöÁ¤ÀÌ Àß¸øµÇ¾ú½À´Ï´Ù. '.'ÀÌ ´©¶ôµÇ¾ú½À´Ï´Ù.");
	else if (val.indexOf(".") - val.indexOf("@") == 1)
		alert("EmailÁÖ¼Ò ÁöÁ¤ÀÌ Àß¸øµÇ¾ú½À´Ï´Ù. '@' ´ÙÀ½¿¡ ¹Ù·Î '.'ÀÌ ¿Ã ¼ö ¾ø½À´Ï´Ù.");
	else if (val.charAt(val.length-1) == '.')
		alert("EmailÁÖ¼Ò ÁöÁ¤ÀÌ Àß¸øµÇ¾ú½À´Ï´Ù. '.'Àº EmailÁÖ¼Ò ³¡¿¡ ¿Ã ¼ö ¾ø½À´Ï´Ù.");
	else
		valid = true;

	if (valid == false){
		obj.focus();
		obj.select();
	}

	return valid;
}

function	jf_isValidEmail2(obj) {
  email = obj.value;
  var pattern = /^(.+)@(.+)$/;
  var atom = "\[^\\s\\(\\)<>#@,;:!\\\\\\\"\\.\\[\\]\]+";
  var word="(" + atom + "|(\"[^\"]*\"))";
  var user_pattern = new RegExp("^" + word + "(\\." + word + ")*$");
  var ip_pattern = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
  var domain_pattern = new RegExp("^" + atom + "(\\." + atom +")*$");

  var arr = email.match(pattern);
  if (!arr){
		obj.focus();
		obj.select();
	  alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
  if (!arr[1].match(user_pattern)){
		obj.focus();
		obj.select();
		alert("The username doesn't seem to be valid.");
		return false;
	}

  var ip = arr[2].match(ip_pattern);
  if (ip) {
	  for (var i=1; i<5; i++)
			if (ip[i] > 255) {
				obj.focus();
				obj.select();
				alert("Destination IP address is invalid!");
				return false;
			}
  }
  else {
	  if (!arr[2].match(domain_pattern)) {
			obj.focus();
			obj.select();
			alert("The domain name doesn't seem to be valid.");
			return false;
		}
	  var domain = arr[2].match(new RegExp(atom,"g"));
	  if (domain.length<2){
			obj.focus();
			obj.select();
			alert("This address is missing a hostname!");
			return false;
		}
	  if (domain[domain.length-1].length<2 || domain[domain.length-1].length>3){
 			 obj.focus();
			 obj.select();
			 alert("The address must end in a three-letter domain, or two letter country.");
			 return false;
		}
  }
  return true;
}

function jf_typeCheck(obj, cmt, astr, lmin, lmax) {
	var i;
	var t = obj.value;

	if (t.length < lmin || t.length > lmax)	{
		if (lmin == lmax)
			alert(cmt + '´Â ' + lmin + ' ÀÚ ÀÌ¾î¾ß ÇÕ´Ï´Ù');
		else
			alert(cmt + '´Â ' + lmin + ' ~ ' + lmax + ' ÀÚ ÀÌ³»·Î ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù');

		obj.focus();
		obj.select();
		return true;
	}

	if (astr.length > 1) {
		for (i=0; i<t.length; i++) {
			if(astr.indexOf(t.substring(i,i+1))<0) {
				alert(cmt + '¿¡ Çã¿ëÇÒ ¼ö ¾ø´Â ¹®ÀÚ°¡ ÀÔ·ÂµÇ¾ú½À´Ï´Ù');
				obj.focus();
				return true;
			}
		}
	}

	return false;
}

// ¼ýÀÚÀÎÁö¸¦ Ã¼Å©
function jf_isNumber(val, allowable) {
	valid = true;
	cmp = "0123456789" + allowable;

	for (i=0; i<val.length; i++) {
		if (cmp.indexOf(val.charAt(i)) < 0)	{
			valid = false;
			break;
		}
	}
	return valid;
}

// ÇÑ±ÛÀÎÁö¸¦ Ã¼Å©
function jf_isHangul(str) {
	var re = /[a-zA-Z0-9\s~!@#\$%\^&\*\(\)_\+\{\}|:"<>\?`\-=\[\]\\;',\.\/]/;
	if (re.test(str))
		return false;

	return true;
}

function jf_checkLength(obj, min, max, nullable) {
	if (!nullable) {
		len = obj.value.length;

		if (len < min || len > max)
			return false;
	}
	return true;
}

function jf_checkUserName(obj) {
	if (!jf_checkLength(obj, 2, 10, false))	{
		alert("ÀÌ¸§ÀÌ µî·ÏµÇÁö ¾Ê¾Ò°Å³ª À¯È¿ÇÑ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù.");
		obj.focus();
		obj.select();
		return false;
	}
	else {
		if (!jf_isHangul(obj.value)) {
			alert("ÀÌ¸§À» °ø¹é ¾øÀÌ ÇÑ±Û·Î ½á ÁÖ¼¼¿ä.");
			obj.focus();
			obj.select();
			return false;
		}
	}
	return true;
}


function jf_isUserName(obj) {
	if (!jf_checkLength(obj, 2, 10, false))	{
		obj.focus();
		obj.select();
		return false;
	}
	else {
		if (!jf_isHangul(obj.value)) {
			obj.focus();
			obj.select();
			return false;
		}
	}
	return true;
}

function jf_getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1) endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}



function jf_getCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {	//while open
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			 return jf_getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}	//while close
	return null;
}

// ½Ã°£Àº ºÐ´ÜÀ§
function jf_setCookieVal (name, value, time) {
	pathname = location.pathname;
	var ExpDate = new Date();
  var myDomain = pathname.substring(0, pathname.lastIndexOf('/')) +'/';

	// ÀÌ·¸°Ô ¾µ¼öµµ ÀÖ´Ù.
  var myDomain = '/';

  ExpDate.setTime(ExpDate.getTime() + 1000*60* time);
  jf_setCookie(name, value, ExpDate, myDomain);
}

function jf_setCookie (name, value) {
	var argv = jf_setCookie.arguments;
	var argc = jf_setCookie.arguments.length;
	var expires = (2 < argc) ? argv[2] : null;
	var path = (3 < argc) ? argv[3] : null;
	var domain = (4 < argc) ? argv[4] : null;
	var secure = (5 < argc) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
		((expires == null) ? "" :
			 ("; expires=" + expires.toGMTString())) +
		((path == null) ? "" : ("; path=" + path)) +
		((domain == null) ? "" : ("; domain=" + domain)) +
		((secure == true) ? "; secure" : "");
}

// ¹è¿­ÀÎÁö ¾Æ´ÑÁö
function jf_isArry(arry){
	if (arry.length == null){
		return false;
	}
	else{
		return true;
	}
}

// ¹®ÀÚ¿­ Å©±â¸¦ ÃÊ°¡ Çß´ÂÁö..
function jf_isSizeOver(val, maxSize){
	if (jf_strLeng(val) > maxSize){
		return true;
	}
	return false;
}

// ¹®ÀÚ¿­ Å©±â¸¦ ÃÊ°¡ Çß´ÂÁö..
function jf_isSizeOverMsg(fm, maxSize, msg){
	if (jf_strLeng(fm.value) > maxSize){
		jf_select(fm);
		alert(msg);
		return true;
	}
	return false;
}


//±×¸² »çÀÌÁî °íÁ¤
function jf_imageSizeFix(objImg, limX, limY) {
	var x;
	var y;

	x = objImg.width;
	y = objImg.height;

	// °¡·Î¸¦ Áß½ÉÀ¸·Î ¸ÂÃá´Ù.
	if (x * limX > y * limY){
		if (objImg.width > limX){
			objImg.width = limX
		}
	}
	// ¼¼·Î¸¦ Áß½ÉÀ¸·Î ¸ÂÃá´Ù.
	else{
		if (objImg.height > limY){
			objImg.height = limY
		}
	}
}
// µü º¸¸é ¾ËÁö¿ä. ¹«½¼ ¿ªÈ°ÀÎÁö
function jf_select(obj){
	obj.focus();
	obj.select();
}

// °æ°í ¸Þ¼¼Áöµµ °°ÀÌ
function jf_selectMsg(obj,msg){
	obj.focus();
	obj.select();
	alert(msg);
}

// ÆË¾÷Ã¢ ¶Ù¿ì±â : DEPRECATED
// ±âÁ¸ ÆäÀÌÁöµéÀ» À§ÇÏ¿© ³²°ÜµÒ
function jf_openWindow(url, name, resize, scroll, width, height, left, top, isCenter) {
  if (isCenter)
    jf_popupWindowCenter(url, name, width, height, resize, scroll, 0);
  else
    jf_popupWindowEx(url, name, width, height, left, top, resize, scroll, 0);
}

// ÆË¾÷Ã¢ ¶Ù¿ì±â ÆË¾÷Ã¢ °´Ã¼¸¦ ¸®ÅÏ °ªÀ¸·Î Àü´Þ : DEPRECATED
// °ÔÁ¸ ÆäÀÌÁöµéÀ» À§ÇÏ¿© ³²°ÜµÒ
function jf_openWindowRtn(url, name, resize, scroll, width, height, left, top, isCenter) {
  return jf_popupWindowEx(url, name, width, height, left, top, resize, scroll, 0);
}

// ±âº»ÀûÀÎ Å©±â¿Í À§Ä¡ Á¤º¸¸¸À¸·Î ÆË¾÷Ã¢ ¶ç¿ì±â
function jf_popupWindow(url, name, width, height, left, top) {
  return jf_popupWindowEx(url, name, width, height, left, top, 0, 0, 0);
}

// Ã¢ÀÇ Å©±â¿Í À§Ä¡Á¤º¸, ¿É¼ÇµéÀ» ¹Ý¿µÇÏ¿© ÆË¾÷Ã¢ ¶ç¿ì±â
function jf_popupWindowEx(url, name, width, height, left, top, isResizable, isScrollable, useStatus) {
  var optArray = new Array();
  var idx = 0;
  if (width)        optArray[idx++] = "width=" + width;
  if (height)       optArray[idx++] = "height=" + height;
  if (left)         optArray[idx++] = "left=" + left;
  if (top)          optArray[idx++] = "top=" + top;
  if (isResizable)  optArray[idx++] = "resizable=" + isResizable;
  if (isScrollable) optArray[idx++] = "scrollbars=" + isScrollable;
  if (useStatus)    optArray[idx++] = "status=" + useStatus;

  var opts = "";
  for (idx = 0; idx < optArray.length; idx++) {
    if (idx > 0)
      opts += ",";
    opts += optArray[idx];
  }

  return window.open(url, name, opts, true);
}

// È­¸é Áß¾Ó¿¡ ÆË¾÷Ã¢ ¶ç¿ì±â
function jf_popupWindowCenter(url, name, width, height, isResizable, isScrollable, useStatus) {
  var x = (screen.availWidth / 2) - (width / 2);
  if (x < 0) x = 0;
  var y = (screen.availHeight / 2) - (height / 2);
  if (y < 0) y = 0;
  return jf_popupWindowEx(url, name, width, height, x, y, isResizable, isScrollable, useStatus);
}

// ÀÔ·ÂÇÑ ³¯Â¥¿¡¼­ ÇöÁ¦ ³¯Â¥ÀÇ Â÷ÀÌ¸¦ ±¸ÇÑ´Ù.
// ÇöÁ¦³¯Â¥ 2003-08-22
// ÀÔ·ÂÇÑ³¯Â¥ 2003-08-20
// °á°¡°ª	2
function jf_diffDay(in_date, df_date){
	var s 	= in_date.split('-');
	input_d = new Date(s[0], s[1] - 1, s[2]);
	if (df_date == null){
		now_d  	= new Date();
		// ½Ã°£À» ¾ø¿¡ ¹ö¸° ³¯Â¥¸¸
		now_d	= new Date(now_d.getYear(), now_d.getMonth(), now_d.getDate());
	}
	else{
		s 	= df_date.split('-');
		now_d = new Date(s[0], s[1] - 1, s[2]);
	}
	input_s = input_d.getTime();

	dff_day	= (input_s - now_d.getTime()) / (1000*60*60*24);

	return dff_day;
}

function jf_comma(x) {
	var txtNumber = '' + x;
    if (isNaN(txtNumber) || txtNumber == "") {
        return '';
    }
	else {
        var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
        var arrNumber = txtNumber.split('.');
        arrNumber[0] += '.';

        do {
        	arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
        } while (rxSplit.test(arrNumber[0]));

        if (arrNumber.length > 1) {
        	return arrNumber.join('');
        }
        else {
        	return arrNumber[0].split('.')[0];
		}
 	}
}
// ÆÄÀÏ È®ÀåÀÚ Ã¼Å© .(ÂÀ)Æ÷ÇÔ
function jf_getExt(val) {
	val = val.slice(val.indexOf("\\") + 1);
	ext = val.slice(val.indexOf(".")).toLowerCase();
	return ext;
}

// Ã¼Å©¹Ú½º ÀüÃ¼ ¼±ÅÃ ÇØÁ¦
function jf_checkboxAll(ck, target, desable) {
	var val = false;
	var i;

	if (ck == null)
		return;

	if(ck.checked) {
		val = true;
	}
	else {
		val = false;
	}

	if (target == null)
		return;

	if(target.length== null) {
		target.checked = val;
	}else {

		for(i=0;i<target.length;i++){
			target[i].checked = val;
			if(val == true & desable != null){
				target[i].disabled = true;
			}
			else{
				target[i].disabled = false;
			}
		}
	}
}

// Ã¼Å©¹Ú½º ÀüÃ¼ ¼±ÅÃ ÇØÁ¦
function jf_checkboxAllRange(ck, target, start, end, desable) {
	var val = false;
	var i;

	if (ck == null)
		return;

	if(ck.checked) {
		val = true;
	}
	else {
		val = false;
	}

	if (target == null)
		return;

	for(i=start;i<=end;i++){
		target[i].checked = val;
		if(val == true && desable != null && desable){
			target[i].disabled = true;
		}
		else{
			target[i].disabled = false;
		}
	}
}

// ¹®ÀÚ¿­ º¯°æ
function jf_replace( str, old_s, new_s ) {
	str.split(old_s).join(new_s);
	return str;
}

function jf_void(){
}
//ÇÑ±ÛÀÎÁö Ã¼Å©
function jf_chkKorea(str) {
	for (i=0 ; i<str.length; i++){
		if (((str.charAt(i) >= "¤¿") && (str.charAt(i) <= "È÷")) || ((str.charAt(i) >="¤¡") && (str.charAt(i) <="¤¾")))	{
			return false;
		}
	}
}

// ¿ÀºêÁ¦ °´Ã¼ ¸®ÅÏ
// ¹è¿­ ÇüÅÂ¸é ¾È¸ÔÈù´Ù. deprecated
// document.all[objectId]ÀÇ ´ëÃ¼ ¹æ¹ý
function jf_getObject(objectId) {
	// checkW3C DOM, then MSIE 4, then NN 4.
	//
	if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId);
	}
	else if (document.all && document.all(objectId)) {
		return document.all(objectId);
	}
	else if (document.layers && document.layers[objectId]) {
		return document.layers[objectId];
	} else {
		return false;
	}
}

// URL Ã¼Å©
function jf_isURL(field, msg){
	if (jf_isEmptyRtnMsg(field, msg) )
		return false;
	return true;
}


// IP Ã¼Å©
function jf_isIP(field, msg){
	if (jf_isEmptyRtnMsg(field, msg) )
		return false;
	return true;
}

// ´ÙÁß¼¿·ºÆ® ¹Ú½º¿¡¼­ °ª ÀÌµ¿
function jf_selectBoxMove(fbox, tbox, sortitems) {
	for(var i=0; i<fbox.options.length; i++) {
		if(fbox.options[i].selected && fbox.options[i].value != "") {
			var no = new Option();
			no.value = fbox.options[i].value;
			no.text = fbox.options[i].text;
			tbox.options[tbox.options.length] = no;
			fbox.options[i].value = "";
			fbox.options[i].text = "";
   		}
	}
	jf_selectBoxBumpUp(fbox);
	if (sortitems) jf_selectBoxSortD(tbox);
}

// ³»¿ë¾ø´Â Ç×¸ñ Áö¿ì±â
function jf_selectBoxBumpUp(box)  {
	for(var i=0; i<box.options.length; i++) {
		if(box.options[i].value == "")  {
			for(var j=i; j<box.options.length-1; j++)  {
				box.options[j].value = box.options[j+1].value;
				box.options[j].text = box.options[j+1].text;
			}
			var ln = i;
			break;
		}
	}
	if(ln < box.options.length)  {
		box.options.length -= 1;
		jf_selectBoxBumpUp(box);
   }
}

// ¼±ÅÃµÈ Ç×¸ñ Áö¿ì±â
function jf_selectRemvoe(box)  {
	for(var i=0; i<box.options.length; i++) {
		if(box.options[i].selected)  {
			box.options[i].value = "";
			box.options[i].text = "";
		}
	}
	jf_selectBoxBumpUp(box);
}


// ¼¿·ºÆ® ¹Ú½º ³»¿ë Á¤·Ä
function jf_selectBoxSortD(box)  {
	var temp_opts = new Array();
	var temp = new Object();
	for(var i=0; i<box.options.length; i++)  {
		temp_opts[i] = box.options[i];
	}
	for(var x=0; x<temp_opts.length-1; x++)  {
		for(var y=(x+1); y<temp_opts.length; y++)  {
			if(temp_opts[x].text > temp_opts[y].text)  {
				temp = temp_opts[x].text;
				temp_opts[x].text = temp_opts[y].text;
				temp_opts[y].text = temp;
      		}
   		}
	}
	for(var i=0; i<box.options.length; i++)  {
		box.options[i].value = temp_opts[i].value;
		box.options[i].text = temp_opts[i].text;
   }
}

// ¼¿·ºÆ® ¹Ú½º ¸ðµÎ ¼±ÅÃ
function jf_selectAll(box)  {
	for(var i=0; i<box.options.length; i++) {
		box.options[i].selected = true;
	}
}

// ¼¿·ºÆ® ¹Ú½º Ç×¸ñ ¼±ÅÃ ÇØÁ¦
function jf_selectAllDe(box)  {
	for(var i=0; i<box.options.length; i++) {
		box.options[i].selected = false;
	}
}




// YYYY-MM-DD·Î Æ÷¸ËµÈ ³¯Â¥ ¸®ÅÏ
function jf_getDate(dd){
	var now
	if(dd==null)
		now = new Date();
	else
		now = dd;

	var nowYear = jf_LPadChar(now.getYear().toString(), 4, "0") ;
	var nowMonth = jf_LPadChar((now.getMonth()+1).toString(), 2, "0") ;
	var nowDay = jf_LPadChar(now.getDate().toString(), 2, "0") ;
	d = nowYear + "-" + nowMonth + "-" + nowDay;

	return d;
}

// ¼¿·ºÆ® ¹Ú½º Ã¼Å© ¿©ºÎ
function jf_isChoicedSelectBox(sb, msg){
	for(var i=0; i<sb.options.length; i++) {
		if(sb.options[i].selected){
			if(sb.options[i].value == ""){
				alert(msg);
				sb.focus();
				return false;
			}
			else{
				return true;
			}
		}
	}
	return true;
}

// ¶óµð¿À¹öÆ° Ã¼Å©¿©ºÎ
function jf_isChoicedRadio(rb, msg){
	// ¹è¿­ ¾Æ´Ô

	if (rb.length == null){
		if(rb.checked){
			return true;
		}
		else{
			alert(msg);
			rb.focus();
			return false;
		}
	}

	var ck = false;

	// ¹è¿­ÀÌ¸é
	var i;

	for(i=0; i<rb.length; i++) {
		if(rb[i].checked){
			ck = true;
		}
	}
	if(ck){
		return true;
	}
	else{
		alert(msg);
		rb[0].focus();
		return false;
	}
}

// obj°´Ã¼ °ªÀÌ len ÀÌ»óÀÎÁö Ã¼Å©
function jf_isLengOverRtnMsg(obj, len) {
	if (jf_strLeng(obj.value) > len) {
		alert("ÇÑ±Û "+len/2+",¿µ¹® "+len+"ÀÚ ÀÌ³»·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
		obj.focus();
		obj.select();
		return true ;
	}
	else {
		return false ;
	}
}
// ·¹ÀÌ¾î Ç¥½Ã Åä±Û
function jf_layerToggle(obj){
	if (obj.style.display != "none")
		obj.style.display = "none"
	else
		obj.style.display = ""
}

// select ¹Ú½º ¼±ÅÃµÈ °ª ¸®ÅÏ
function jf_selectValue(obj){
	for(var i=0; i<obj.options.length; i++) {
		if(obj.options[i].selected) {
			return obj.options[i].value;
 		}
	}

	return "";
}

function jf_numberInput(allowable){
	if (event.keyCode < 45 || event.keyCode > 57)
		event.returnValue = false;
}

// fÆû ÇÊµå°¡ size¸¸Å­ µÇ¾úÀ» nextFocus·Î Æ÷Ä¿½º¸¦ ÀÌµ¿ÇÑ´Ù.
// ÀÌ·±½ÄÀ¸·Î »ç¿ëÇÏ¸é µÊ onKeyup="jf_nextFocus(6, this, frm1.tb_Jumin2)"
function jf_nextFocus(size, f, nextFocus){
	if(f.value.length == size){
		nextFocus.focus();
	}
}

// ½Ç½Ã°£ ±ÛÀÚ¼ö Ã¼Å©
// ÀÌº¥Æ®´Â onkeyup·Î
// obj1 : ÀÔ·Â°´Ã¼ obj2: Ãâ·Â°´Ã¼
function jf_realtime_MaxLen(obj1, obj2, Max_size, msg)	{
	var str = obj1.value;
	var len = jf_strLeng(str);
	if (Max_size > len) {
		obj1.isValid = true;
		obj2.value = len;
	}
	else {
		if (obj1.isValid) {
			obj1.isValid = false;
		  alert(msg);
			obj1.value = jf_cutAbsStr(str, Max_size);
	  	obj2.value = jf_strLeng(obj1.value);
	  }
	}
}

function jf_cutAbsStr(str, len) {
	var s = "";
	if (len > 0) {
		var cnt = 0;
		for (var i=0; i < str.length; i++) {
			var amt = (str.charCodeAt(i) > 255) ? 2 : 1;
			if (cnt + amt > len) {
				break;
			}
		  s += str.charAt(i);
			cnt += amt;
		}
	}
	return s;
}

/**
 * SIGNATURE : void jf_swapImage(String imgID, String src);
 *
 * PARAM/imgID : 'id' attribute of an image tag
 * PARAM/src   : image source path
 * RETURN : N/A (Not available)
 *
 * AUTHOR : Kihun Kwon(anchor@idq.co.kr)
 */
function jf_swapImage(imgID, src) {
	document.images[imgID].src = src;
}

/**
 * SIGNATURE : void jf_dumpObject(Object obj);
 *
 * PARAM/obj :
 * RETURN : N/A
 *
 * AUTHOR : Kihun Kwon(anchor@idq.co.kr)
 */
function jf_dumpObject(obj) {
  var text = "";
  var cnt=0;
  for (var item in obj) {
    text += item + ((cnt%5==4) ? "\r\n" : ", ");
    cnt++;
  }
  alert(text);
}

// obj.value °ªÀÌ ckValueÀÌ¸é obj.value ³»¿ëÀ» »èÁ¦ÇÑ´Ù.
// ¾ÆÀÌµð/ºñ¹Ð¹øÈ£ ÀÔ·ÂÆû µî¿¡¼­ ¸¹ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
// ex) <input name="tb_MemberIDPK" type="text" class="input" tabindex="1" value="¾ÆÀÌµð" onfocus="jf_valueClear(this, '¾ÆÀÌµð')">
function jf_valueClear(obj, ckValue){
	if(obj.value == ckValue){
		obj.value = "";
	}
}

/**
 * SIGNATURE : void jf_dumpObjectAsHTML(Object obj);
 *
 * PARAM/obj : ´ýÇÁÇÒ °´Ã¼
 * RETURN : N/A
 *
 * AUTHOR : Kihun Kwon(anchor@idq.co.kr)
 */
var __STR_FNBODY__pvfn_dumpObjectAsHTML = ""
  + "if (obj == null) {\r\n"
  + "    alert(\"´ýÇÁÇÏ·Á´Â °´Ã¼°¡ nullÀÔ´Ï´Ù.\\r\\n´ýÇÁÇÒ ¼ö ¾ø½À´Ï´Ù.\");\r\n"
  + "    return ;\r\n"
  + "  }\r\n"
  + "  \r\n"
  + "  var winName = \"JFDumpObjectAsHTML_\" + Math.floor(Math.random() * 1234567890);\r\n"
  + "  var win = window.open(\"\", winName, \"width=700,height=600,resizable=1,scrollbars=1\");\r\n"
  + "  var doc = win.document;\r\n"
  + "  var style = \"\";\r\n"
  + "  \r\n"
  + "  win.pvobj_heldDumpObject = obj;\r\n"
  + "  win.pvstr_FNBODY__pvfn_dumpAsHTML = window.pvstr_FNBODY__pvfn_dumpAsHTML;\r\n"
  + "  win.pvfn_dumpAsHTML = new Function(\"obj\", window.pvstr_FNBODY__pvfn_dumpAsHTML);\r\n"
  + "  win.pvfn_dumpChild = function(nodeName) {\r\n"
  + "    this.pvfn_dumpAsHTML(this.pvobj_heldDumpObject[nodeName]);\r\n"
  + "  };\r\n"
  + "\r\n"
  + "  doc.open();\r\n"
  + "  doc.write(\"<html><head><title>°´Ã¼ ´ýÇÁ : \" + obj + \"</title>\\r\\n\");\r\n"
  + "  doc.write(\"<meta http-equiv='Content-Type' content='text/html; charset=euc-kr' />\");\r\n"
  + "  \r\n"
  + "  style = \"TD.ObjName { font-family:Courier New; font-size:11pt;\"\r\n"
  + "        + \"  font-weight:bold; background-color:#f0f0f0; }\\r\\n\"\r\n"
  + "        + \"TD.ObjValue { font-family:Courier New; font-size:9pt; }\\r\\n\"\r\n"
  + "        + \"TH { font-family:Courier New; font-size:12pt; \"\r\n"
  + "        + \"  background-color:#e0e0e0; padding-left:5px; }\";\r\n"
  + "  doc.write(\"<style type='text/css'>\" + style + \"</style>\\r\\n\");\r\n"
  + "  doc.write(\"</head>\\r\\n\");\r\n"
  + "  \r\n"
  + "  doc.write(\"<body bgcolor='white'>\\r\\n\");\r\n"
  + "  style = \"font-size:16pt; font-weight:bold; text-align:center; \"\r\n"
  + "        + \"background-color:#f0f0f0; padding:5px;\";\r\n"
  + "  doc.write(\"<div style='\" + style + \"'>°´Ã¼ ´ýÇÁ : \" + obj + \"</div>\\r\\n\");\r\n"
  + "  \r\n"
  + "  doc.write(\"<table border='1' cellpadding='3' cellspacing='0' width='100%'>\\r\\n\");\r\n"
  + "  doc.write(\"  <tr><th width='3%'>No.</th>\\r\\n\");\r\n"
  + "  doc.write(\"    <th width='15%'>±¸¼º¿ø</th><th width='82%'>°ª</th></tr>\\r\\n\");\r\n"
  + "  \r\n"
  + "  var i = 0;\r\n"
  + "  var val = '';\r\n"
  + "  var strItem = '';\r\n"
  + "  for (var item in obj) {\r\n"
  + "    strItem = '' + item;\r\n"
  + "    val = '' + obj[strItem];\r\n"
  + "    if (val == '') {\r\n"
  + "      val = '&nbsp;';\r\n"
  + "    }\r\n"
  + "    else {\r\n"
  + "        if (val.length > 300) {\r\n"
  + "          val = val.substring(0, 300) + \" ...\";\r\n"
  + "        }\r\n"
  + "        var idx = 0;\r\n"
  + "        while ((idx = val.indexOf(\"<\", idx)) != -1) {\r\n"
  + "          val = val.replace(\"<\", \"&lt;\");\r\n"
  + "        }\r\n"
  + "        idx = 0;\r\n"
  + "        while ((idx = val.indexOf(\">\", idx)) != -1) {\r\n"
  + "          val = val.replace(\">\", \"&gt;\");\r\n"
  + "        }\r\n"
  + "    }\r\n"
  + "    if (val.substring(0, 7) == \"[object\") {\r\n"
  + "      val = \"<a href=\\\"javascript:window.pvfn_dumpChild('\" + strItem\r\n"
  + "             + \"');\\\">\" + val + \"</a>\";\r\n"
  + "    }\r\n"
  + "    var text = \"  <tr>\\r\\n\"\r\n"
  + "      + \"    <td align='center'>\" + i + \"</td>\\r\\n\"\r\n"
  + "      + \"    <td nowrap class='ObjName'>\" + strItem + \"</td>\\r\\n\"\r\n"
  + "      + \"    <td class='ObjValue'>\" + val + \"</td>\\r\\n\"\r\n"
  + "      + \"  </tr>\\r\\n\";\r\n"
  + "    doc.write(text);\r\n"
  + "    i++;\r\n"
  + "  }\r\n"
  + "  doc.write(\"  <tr bgcolor='#e0e0e0'>\\r\\n\");\r\n"
  + "  doc.write(\"    <th colspan='3' style='text-align:right'>\\r\\n\");\r\n"
  + "  doc.write(\"      ÃÑ \" + i + \"°³ ±¸¼º¿ø\\r\\n\");\r\n"
  + "  doc.write(\"    </th>\\r\\n\");\r\n"
  + "  doc.write(\"  </tr>\\r\\n\");\r\n"
  + "  doc.write(\"</table>\\r\\n\");\r\n"
  + "  \r\n"
  + "  doc.write(\"<p align='right'>\\r\\n\");\r\n"
  + "  doc.write(\"  <a href='javascript:window.close();'>[´Ý±â]</a>\\r\\n\");\r\n"
  + "  doc.write(\"</p>\\r\\n\");\r\n"
  + "  doc.write(\"</body></html>\");\r\n"
  + "  \r\n"
  + "  doc.close();\r\n"
  + "  win.focus();\r\n"
  ;
function jf_dumpObjectAsHTML(obj) {
  if (!window.pvstr_FNBODY__jf_dumpAsHTML)
    window.pvstr_FNBODY__pvfn_dumpAsHTML = __STR_FNBODY__pvfn_dumpObjectAsHTML;
  if (!window.pvfn_dumpAsHTML) {
    window.pvfn_dumpAsHTML = new Function("obj", __STR_FNBODY__pvfn_dumpObjectAsHTML);
  }
  window.pvfn_dumpAsHTML(obj);
}

// ÆäÀÌÁö ÁÖ¼Ò¿¡ µû¶ó »õ·Î¿î À©µµ¿ì Ã¢À» ¶ç¿ï °ÍÀÎÁö ÇöÀç ÆäÀÌÁö·Î ÀÌµ¿ÇÒ °ÍÀÎÁö ÆÇ´Ù
// select ¸Þ´º¿¡¼­ ¸¹ÀÌµé »ç¿ë.
// ÁÖ¼Ò¿¡ http:// ¹®ÀÚ¿­ÀÌ ÀÖÀ¸¸é »õÃ¢À¸·Î ¶ç¿ò
// ex) <select name="select" style="width:150px" class="input" onChange="if (this.value!=''){jf_pageMove(this.value)}">
function jf_pageMove(va) {
	if (va.indexOf("http://") != -1 || va.indexOf("https://") != -1){
		window.open(va);
	}
	else{
		location.href=va;
	}
}

// activeX¸¦ µ¿ÀûÀ¸·Î ÀÛ¼º      
var JF_OBJECT_TAG ="";          
function jf_activeX(){          
	document.write(JF_OBJECT_TAG);
	JF_OBJECT_TAG="";             
}                               