var isIntValues       = '0123456789';
var isUpperChar       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var isLowerChar       = 'abcdefghijklmnopqrstuvwxyz';
var isIntAlphaValues  = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var isSpecialChar     = '~`!@#$%%^&*()-_=+\|[{]};:\'\",<.>/?';
var endDayOfMonth     = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

/*************************************************************************
************************* ¹®ÀÚ °ü·Ã ÇÔ¼ö  ********************************
**************************************************************************/

/*************************************************************************
   ÇÔ¼ö¸í : fReplaceSpecialChar
   ±â  ´É : ' --> &acute; , " --> &quot; ·Î º¯È¯
   ÀÎ  ¼ö : vInputString - ¹®ÀÚ¿­
   ¸®ÅÏ°ª :
**************************************************************************/
function fReplaceCuteChar(vInputString){
    var vReturnString;
    vReturnString = vInputString.replace(/\'/gi,"&acute;");
    vReturnString = vInputString.replace(/\"/gi,"&quot;");

    return vReturnString;
}

/*************************************************************************
   ÇÔ¼ö¸í : isNull
   ±â  ´É : °´Ã¼ÀÇ value°¡ Null ¶Ç´Â "" ÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - °´Ã¼
   ¸®ÅÏ°ª :
**************************************************************************/
function isNull(input) {
    if (input.value == null || input.value == "") {
        return true;
    }
    return false;
}

/*************************************************************************
   ÇÔ¼ö¸í : isEmpty
   ±â  ´É : °´Ã¼ÀÇ value°¡ Null ¶Ç´Â Blank ÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - °´Ã¼
   ¸®ÅÏ°ª :
**************************************************************************/
function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}

/*************************************************************************
   ÇÔ¼ö¸í : containsChars
   ±â  ´É : Æ¯Á¤¹®ÀÚ°¡ Á¸ÀçÇÏ´ÂÁö Ã¼Å©
   ÀÎ  ¼ö : input, chars - °´Ã¼, Ã£°íÀÚÇÏ´Â ¹®ÀÚ
   ¸®ÅÏ°ª : Á¸ÀçÇÏ¸é true
**************************************************************************/
function containsChars(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) != -1)
           return true;
    }
    return false;
}

/*************************************************************************
   ÇÔ¼ö¸í : containsCharsOnly
   ±â  ´É : Æ¯Á¤¹®ÀÚ°¡ Á¸ÀçÇÏ´ÂÁö Ã¼Å©
   ÀÎ  ¼ö : input, chars - °´Ã¼, Ã£°íÀÚÇÏ´Â ¹®ÀÚ
   ¸®ÅÏ°ª : Á¸ÀçÇÏ¸é true
**************************************************************************/
function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
           return false;
    }
    return true;
}

/*************************************************************************
   ÇÔ¼ö¸í : isAlphabet
   ±â  ´É : ¾ËÆÄºªÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - °´Ã¼
   ¸®ÅÏ°ª :
**************************************************************************/
function isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

/*************************************************************************
   ÇÔ¼ö¸í : isKorean
   ±â  ´É : ÇÑ±ÛÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : ch - ¹®ÀÚ
   ¸®ÅÏ°ª :
**************************************************************************/
function isKorean(ch) {
    var numUnicode = ch.charCodeAt(0);
    if ( 44032 <= numUnicode && numUnicode <= 55203 ) return true;
    return false;
}

/*************************************************************************
   ÇÔ¼ö¸í : isKoreanAll
   ±â  ´É : ¹®ÀÚ¿­ ÀüÃ¼°¡ ÇÑ±ÛÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input_val - ¹®ÀÚ¿­
   ¸®ÅÏ°ª :
**************************************************************************/
function isKoreanAll(input_val) {

    if (input_val.length != getByteLengthVal(input_val)) {
        return true;
    } else {
        return false;
    }
}

/*************************************************************************
   ÇÔ¼ö¸í : isUpperCase
   ±â  ´É : ¹®ÀÚ¿­ ÀüÃ¼°¡ ´ë¹®ÀÚ ÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - °´Ã¼
   ¸®ÅÏ°ª :
**************************************************************************/
function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input,chars);
}

/*************************************************************************
   ÇÔ¼ö¸í : isLowerCase
   ±â  ´É : ¹®ÀÚ¿­ ÀüÃ¼°¡ ¼Ò¹®ÀÚ ÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - °´Ã¼
   ¸®ÅÏ°ª :
**************************************************************************/
function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

/*************************************************************************
   ÇÔ¼ö¸í : isAlphaNum
   ±â  ´É : ¹®ÀÚ¿­ ÀüÃ¼°¡ ¾ËÆÄºª ¶Ç´Â ¼ýÀÚ ÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - °´Ã¼
   ¸®ÅÏ°ª :
**************************************************************************/
function isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}

/*************************************************************************
   ÇÔ¼ö¸í : rmChar
   ±â  ´É : ¹®ÀÚ¿­ÀÇ ¸ðµç Æ¯Á¤ ¹®ÀÚ Á¦°Å Ã³¸® ÇÔ¼ö
   ÀÎ  ¼ö : strString - Ã¼Å©ÇÏ·Á´Â ½ºÆ®¸µ
            strChar  - »èÁ¦ÇÏ°íÀÚ ÇÏ´Â ¹®ÀÚ
   ¸®ÅÏ°ª :
**************************************************************************/
function rmChar(strString, strChar) {
    var i;
    var delChar = strChar;
    var strTmp = "";
    for(i=0;i<strString.length;i++){
        if(strString.charAt(i) != delChar) {
            strTmp += strString.charAt(i);
        }
    }

    return strTmp;
}


/*************************************************************************
   ÇÔ¼ö¸í : trim
   ±â  ´É : ¹®ÀÚ¿­ ¾ÕµÚ¿¡ÀÖ´Â °ø¹é¾ø¾Ö±â
   ÀÎ  ¼ö : arg - trimÇÏ·Á´Â ½ºÆ®¸µ
   ¸®ÅÏ°ª :
**************************************************************************/
function trim( arg ) {
   var st = 0;
   var len = arg.length;

   //¹®ÀÚ¿­¾Õ¿¡ °ø¹é¹®ÀÚ°¡ µé¾î ÀÖ´Â Index ÃßÃâ
   while((st < len) && (arg.charCodeAt(st) == 32)) {
      st++;
   }
   //¹®ÀÚ¿­µÚ¿¡ °ø¹é¹®ÀÚ°¡ µé¾î ÀÖ´Â Index ÃßÃâ
   while((st < len) && (arg.charCodeAt(len-1) == 32)) {
      len--;
   }
   return ((st > 0) || (len < arg.length)) ? arg.substring(st, len) : arg;
}

/*************************************************************************
************************* ¼ýÀÚ °ü·Ã ÇÔ¼ö   *******************************
**************************************************************************/

/*********************************************************************************
   ÇÔ¼ö¸í : chkNumber
   ±â  ´É : ÀÔ·Â ÇÊµå¿¡ µé¾î¿Â µ¥ÀÌÅ¸°¡ ¼ýÀÚ¸é true, ¼ýÀÚ°¡ ¾Æ´Ï¶ó¸é false¸¦ ¸®ÅÏÇÑ´Ù.
   ÀÎ  ¼ö : num   - Ã¼Å©ÇÏ°íÀÚÇÏ´Â ÇÊµå°ª
            fName - alert¸Þ¼¼Áö¸¦ »Ñ·ÁÁÙ°ÍÀÎÁö ±¸ºÐ ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖ¸é ÇØ´ç¸Þ¼¼Áö¿Í ÇÔ²² alertÃ¢ÀÌ ¶ß°í
                  - ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖÁö¾ÊÀ¸¸é alertÃ¢ÀÌ ¶ßÁö ¾Ê´Â´Ù.
   ¸®ÅÏ°ª :
**********************************************************************************/
function chkNumber(num , fName) {

   var numTemp   = Number(num);
   var errorMesg = fName+" °ªÀ» ¼ýÀÚ·Î ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿ä!";
   var nullMesg  = fName+" °ªÀ» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿ä!";

   //°ªÀÌ ÀÖ´Ù¸é
   if(num != "") {
      //¼ýÀÚ¸é false¹ÝÈ¯ - if´Â ¹®ÀÚ¶ó¸é
      if(isNaN(numTemp)) {
         if("" == fName){}
         else {
            alert(errorMesg);
         }
         return false;
      } else { //¼ýÀÚ¶ó¸é.
         return true;
      }
   } else {
      if(fName == ""){}
      else {
         alert(nullMesg);
      }
      return false;
   }
}
/*************************************************************************
   ÇÔ¼ö¸í : isNumber
   ±â  ´É : ÀÔ·Â°ªÀÌ ¼ýÀÚÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - ÀÔ·Â°ª
   ¸®ÅÏ°ª :
**************************************************************************/
function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}


/*************************************************************************
   ÇÔ¼ö¸í : isNumDash
   ±â  ´É : ¹®ÀÚ¿­ ÀüÃ¼°¡ ¼ýÀÚ ¶Ç´Â '-' ÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - °´Ã¼
   ¸®ÅÏ°ª :
**************************************************************************/
function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}

/*************************************************************************
   ÇÔ¼ö¸í : isNumComma
   ±â  ´É : ¹®ÀÚ¿­ ÀüÃ¼°¡ ¼ýÀÚ ¶Ç´Â ',' ÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - °´Ã¼
   ¸®ÅÏ°ª :
**************************************************************************/
function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input,chars);
}

/*************************************************************************
   ÇÔ¼ö¸í : isFloat
   ±â  ´É : ÀÔ·Â°ªÀÌ ½Ç¼öÀÎÁö¸¦ Ã¼Å©
   ÀÎ  ¼ö : input - ÀÔ·Â°ª
   ¸®ÅÏ°ª :
**************************************************************************/
function isFloat(input) {
    var numstr = "0123456789.-";
    var dotstr = ".";
    var thischar;
    var count = 0;
    var countdot = 0;
    var violation = 0;

    for ( var i=0; i < input.value.length; i++ ) {
        thischar = input.value.substring(i, i+1 );

        if ( numstr.indexOf( thischar ) != -1 )
            count++;

        if ( dotstr.indexOf( thischar ) != -1 )
            countdot++;

        if(i==0 && thischar == '.') {
            violation++;
        }

        if(i!=0 && thischar == '-') {
            violation++;
        }
    }

    if ( count == input.value.length && countdot <= 1 && violation == 0)
        return(true);
    else
        return( false );
}

/*************************************************************************
   ÇÔ¼ö¸í : numbersonly
   ±â  ´É : Å°ÀÔ·Â ÀÌº¥Æ®¿¡¼­ ¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÏµµ·Ï
   ÀÎ  ¼ö :
   ¸®ÅÏ°ª :
**************************************************************************/
function numbersonly(){
       if (event.keyCode<48 || event.keyCode>57)
           return false
}

/*************************************************************************
   ÇÔ¼ö¸í : pad_zero
   ±â  ´É : ÇÑÀÚ¸® ¼ýÀÚÀÇ °æ¿ì ¾Õ¿¡ '0'À» ºÙÀÓ ('1' --> '01')
   ÀÎ  ¼ö : Which - Æû ¿¤¸®¸ÕÆ® ³×ÀÓ
   ¸®ÅÏ°ª :
**************************************************************************/
function pad_zero(Which) {
    DaysObject = eval("document.main." + Which);
    var vpn = DaysObject.value;
        if (vpn.length == 1)
        vpn = '0' + vpn;
    DaysObject.value = vpn;
}

/*************************************************************************
   ÇÔ¼ö¸í : pad_zero2
   ±â  ´É : ÇÑÀÚ¸® ¼ýÀÚÀÇ °æ¿ì ¾Õ¿¡ '0'À» ºÙÀÓ ('1' --> '01') - ¿¤¸®¸ÕÆ® ¹è¿­ÀÇ °æ¿ì
   ÀÎ  ¼ö : Which - Æû ¿¤¸®¸ÕÆ® ³×ÀÓ
   ¸®ÅÏ°ª :
**************************************************************************/
function pad_zero2(Which,idx) {
    DaysObject = eval("document.main." + Which);
    try {
        var vpn = DaysObject[idx].value;
        if (vpn.length == 1)
        vpn = '0' + vpn;
        DaysObject[idx].value = vpn;
    } catch (e) {
        pad_zero(Which);
    }

}

/*************************************************************************
   ÇÔ¼ö¸í : Zero2Space
   ±â  ´É : º¯¼öÀÇ 0°ªÀ» °ø¹éÀ¸·Î ¹Ù²Û´Ù. ¹Ù²Ù±æ ¿øÇÏ´Â ´ë»óÀº ¼ýÀÚÀÇ ÇüÅÂ¿©¾ßÇÑ´Ù.
            ¼ýÀÚ,¹®ÀÚ Ã¼Å©¾ÈÇÔ.(00101 -> 101)
   ÀÎ  ¼ö : SrcObj : ¹Ù²î±âÀü °´Ã¼(form.xx)
            DstObj : ¹Ù²ïÈÄ¿¡ °ªÀÌµé¾î°¡±â¸¦ ¿øÇÏ´Â °´Ã¼(form.yy)
   ¸®ÅÏ°ª :
**************************************************************************/
function Zero2Space(SrcObj, DstObj) {
   DstObj.value = parseInt(SrcObj.value, 10);
}


/*************************************************************************
   ÇÔ¼ö¸í : Space2Zero
   ±â  ´É : º¯¼öÀÇ °ø¹éÀ» 0À¸·Î ¹Ù²Û´Ù. ¹Ù²Ù±æ ¿øÇÏ´Â ´ë»óÀº ¼ýÀÚÀÇ ÇüÅÂ¿©¾ßÇÑ´Ù.
           ¼ýÀÚ,¹®ÀÚ Ã¼Å©¾ÈÇÔ.("  101" -> "00101")
   ÀÎ  ¼ö : vSrcObj - ¹Ù²î±âÀü °´Ã¼(form.xx)
            vDstObj - ¹Ù²ïÈÄ¿¡ °ªÀÌµé¾î°¡±â¸¦ ¿øÇÏ´Â °´Ã¼(form.yy)
   ¸®ÅÏ°ª :
**************************************************************************/
function Space2Zero(vSrcObj, vDstObj) {
   vDstObj.value = vSrcObj.value.replace(/ /g, 0);
}

/*************************************************************************
   ÇÔ¼ö¸í : isInteger
   ±â  ´É : ¼ýÀÚÀÎÁö ÆÇº°
   ÀÎ  ¼ö : str - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ½ºÆ®¸µ
   ¸®ÅÏ°ª :
**************************************************************************/
function isInteger(str) {
    if (str != "") {
        for (j=0; (j<str.length); j++) {
            if (((str.substring(j,j+1) < "0")||(str.substring(j,j+1) > "9"))
            && (str.substring(j,j+1)!="-")
            && (str.substring(j,j+1)!="/")
            && (str.substring(j,j+1)!=",")) {
                return false;
            }
        }
    } else {
      return false;
    }
    return true;
}

/*************************************************************************
************************* ÀÏÀÚ °ü·Ã ÇÔ¼ö   *******************************
**************************************************************************/

/*************************************************************************
   ÇÔ¼ö¸í : isValidMonth
   ±â  ´É : À¯È¿ÇÑ(Á¸ÀçÇÏ´Â) ¿ù(êÅ)ÀÎÁö Ã¼Å©
   ÀÎ  ¼ö : mm - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ½ºÆ®¸µ(¿ù)
   ¸®ÅÏ°ª :
**************************************************************************/
function isValidMonth(mm) {
    var m = parseInt(mm,10);
    return (m >= 1 && m <= 12);
}

/*************************************************************************
   ÇÔ¼ö¸í : isValidDay
   ±â  ´É : À¯È¿ÇÑ(Á¸ÀçÇÏ´Â) ÀÏ(ìí)ÀÎÁö Ã¼Å©
   ÀÎ  ¼ö : yyyy, mm, dd - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ³â, ¿ù, ÀÏ
   ¸®ÅÏ°ª :
**************************************************************************/
function isValidDay(yyyy, mm, dd) {
    var m = parseInt(mm,10) - 1;
    var d = parseInt(dd,10);

    var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) {
        end[1] = 29;
    }

    return (d >= 1 && d <= end[m]);
}

/*************************************************************************
   ÇÔ¼ö¸í : isValidHour
   ±â  ´É : À¯È¿ÇÑ(Á¸ÀçÇÏ´Â) ½Ã(ãÁ)ÀÎÁö Ã¼Å©
   ÀÎ  ¼ö : hh - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ½ºÆ®¸µ(½Ã)
   ¸®ÅÏ°ª :
**************************************************************************/
function isValidHour(hh) {
    var h = parseInt(hh,10);
    return (h >= 0 && h <= 24);
}

/*************************************************************************
   ÇÔ¼ö¸í : isValidMin
   ±â  ´É : À¯È¿ÇÑ(Á¸ÀçÇÏ´Â) ºÐ(ÝÂ)ÀÎÁö Ã¼Å©
   ÀÎ  ¼ö : mi - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ½ºÆ®¸µ(ºÐ)
   ¸®ÅÏ°ª :
**************************************************************************/
function isValidMin(mi) {
    var m = parseInt(mi,10);
    return (m >= 0 && m <= 60);
}

/**
 * Time Çü½ÄÀÎÁö Ã¼Å©(´À½¼ÇÑ Ã¼Å©)
 */
function isValidTimeFormat(time) {
    return (!isNaN(time) && time.length == 12);
}

/**
 * À¯È¿ÇÏ´Â(Á¸ÀçÇÏ´Â) Time ÀÎÁö Ã¼Å©
 * ex) var time = form.time.value; //'200102310000'
 *     if (!isValidTime(time)) {
 *         alert("¿Ã¹Ù¸¥ ³¯Â¥°¡ ¾Æ´Õ´Ï´Ù.");
 *     }
 */
function isValidTime(time) {
    var re = /-/g
    time = time.replace(re,"");
    var re = /:/g
    time = time.replace(re,"");
    var year  = time.substring(0,4);
    var month = time.substring(4,6);
    var day   = time.substring(6,8);
    var hour  = time.substring(8,10);
    var min   = time.substring(10,12);

    if (parseInt(year,10) >= 1900  && isValidMonth(month) &&
        isValidDay(year,month,day) && isValidHour(hour)   &&
        isValidMin(min)) {
        return true;
    }
    return false;
}

/**
 * À¯È¿ÇÏ´Â(Á¸ÀçÇÏ´Â) Time ÀÎÁö Ã¼Å©
 * ex) var time = form.time.value; //'2001023'
 *     if (!isValidDate(time)) {
 *         alert("¿Ã¹Ù¸¥ ³¯Â¥°¡ ¾Æ´Õ´Ï´Ù.");
 *     }
 */
function isValidDate(time) {
    var re = /-/g
    time = time.replace(re,"");
    var year  = time.substring(0,4);
    var month = time.substring(4,6);
    var day   = time.substring(6,8);

    if (parseInt(year,10) >= 1000  && isValidMonth(month) &&
        isValidDay(year,month,day)) {
        return true;
    }
    return false;
}

/**
 * À¯È¿ÇÏ´Â(Á¸ÀçÇÏ´Â) Time ÀÎÁö Ã¼Å©
 * ex) var time = form.time.value; //'2001'
 *     if (!isValidDate1(time)) {
 *         alert("¿Ã¹Ù¸¥ ³¯Â¥°¡ ¾Æ´Õ´Ï´Ù.");
 *     }
 */
function isValidDate1(time) {
    var re = /-/g
    time = time.replace(re,"");
    var year  = '';
    var month = '01';
    var day   = '01';

    if (time.length >= 8) {
        year  = time.substring(0,4);
        month = time.substring(4,6);
        day   = time.substring(6,8);
    } else if (time.length >= 6) {
        year  = time.substring(0,4);
        month = time.substring(4,6);
    } else if (time.length >= 4) {
        year  = time.substring(0,4);
    } else {
        return false;
    }

    if (parseInt(year,10) >= 1000  && isValidMonth(month) &&
        isValidDay(year,month,day)) {
        return true;
    }
    return false;
}

/**
 * Time ½ºÆ®¸µÀ» ÀÚ¹Ù½ºÅ©¸³Æ® Date °´Ã¼·Î º¯È¯
 * parameter time: Time Çü½ÄÀÇ String
 */
function toTimeObject(time) { //parseTime(time)
    var year  = time.substr(0,4);
    var month = time.substr(4,2) - 1; // 1¿ù=0,12¿ù=11
    var day   = time.substr(6,2);
    var hour  = time.substr(8,2);
    var min   = time.substr(10,2);

    return new Date(year,month,day,hour,min);
}

/**
 * ÀÚ¹Ù½ºÅ©¸³Æ® Date °´Ã¼¸¦ Time ½ºÆ®¸µÀ¸·Î º¯È¯
 * parameter date: JavaScript Date Object
 */
function toTimeString(date) { //formatTime(date)
    var year  = date.getFullYear();
    var month = date.getMonth() + 1; // 1¿ù=0,12¿ù=11ÀÌ¹Ç·Î 1 ´õÇÔ
    var day   = date.getDate();
    var hour  = date.getHours();
    var min   = date.getMinutes();

    if (("" + month).length == 1) { month = "0" + month; }
    if (("" + day).length   == 1) { day   = "0" + day;   }
    if (("" + hour).length  == 1) { hour  = "0" + hour;  }
    if (("" + min).length   == 1) { min   = "0" + min;   }

    return ("" + year + month + day + hour + min)
}

/**
 * TimeÀÌ ÇöÀç½Ã°¢ ÀÌÈÄ(¹Ì·¡)ÀÎÁö Ã¼Å©
 */
function isFutureTime(time) {
    return (toTimeObject(time) > new Date());
}

/**
 * TimeÀÌ ÇöÀç½Ã°¢ ÀÌÀü(°ú°Å)ÀÎÁö Ã¼Å©
 */
function isPastTime(time) {
    return (toTimeObject(time) < new Date());
}

/**
 * ÁÖ¾îÁø Time °ú y³â m¿ù dÀÏ h½Ã Â÷ÀÌ³ª´Â TimeÀ» ¸®ÅÏ
 * ex) var time = form.time.value; //'20000101000'
 *     alert(shiftTime(time,0,0,-100,0));
 *     => 2000/01/01 00:00 À¸·ÎºÎÅÍ 100ÀÏ Àü Time
 */
function shiftTime(time,y,m,d,h) { //moveTime(time,y,m,d,h)
    var date = toTimeObject(time);

    date.setFullYear(date.getFullYear() + y); //y³âÀ» ´õÇÔ
    date.setMonth(date.getMonth() + m);       //m¿ùÀ» ´õÇÔ
    date.setDate(date.getDate() + d);         //dÀÏÀ» ´õÇÔ
    date.setHours(date.getHours() + h);       //h½Ã¸¦ ´õÇÔ

    return toTimeString(date);
}

/**
 * µÎ TimeÀÌ ¸î °³¿ù Â÷ÀÌ³ª´ÂÁö ±¸ÇÔ
 * time1ÀÌ time2º¸´Ù Å©¸é(¹Ì·¡¸é) minus(-)
 */
function getMonthInterval(time1,time2) { //measureMonthInterval(time1,time2)
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);

    var years  = date2.getFullYear() - date1.getFullYear();
    var months = date2.getMonth() - date1.getMonth();
    var days   = date2.getDate() - date1.getDate();

    return (years * 12 + months + (days >= 0 ? 0 : -1) );
}

/**
 * µÎ TimeÀÌ ¸çÄ¥ Â÷ÀÌ³ª´ÂÁö ±¸ÇÔ
 * time1ÀÌ time2º¸´Ù Å©¸é(¹Ì·¡¸é) minus(-)
 */
function getDayInterval(time1,time2) {
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);
    var day   = 1000 * 3600 * 24; //24½Ã°£

    return parseInt((date2 - date1) / day, 10);
}

/**
 * µÎ TimeÀÌ ¸î ½Ã°£ Â÷ÀÌ³ª´ÂÁö ±¸ÇÔ
 * time1ÀÌ time2º¸´Ù Å©¸é(¹Ì·¡¸é) minus(-)
 */
function getHourInterval(time1,time2) {
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);
    var hour  = 1000 * 3600; //1½Ã°£

    return parseInt((date2 - date1) / hour, 10);
}

/**
 * ÇöÀç ½Ã°¢À» Time Çü½ÄÀ¸·Î ¸®ÅÏ
 */
function getCurrentTime() {
    return toTimeString(new Date());
}

/**
 * ÇöÀç ½Ã°¢°ú y³â m¿ù dÀÏ h½Ã Â÷ÀÌ³ª´Â TimeÀ» ¸®ÅÏ
 */
function getRelativeTime(y,m,d,h) {
/*
    var date = new Date();

    date.setFullYear(date.getFullYear() + y); //y³âÀ» ´õÇÔ
    date.setMonth(date.getMonth() + m);       //m¿ùÀ» ´õÇÔ
    date.setDate(date.getDate() + d);         //dÀÏÀ» ´õÇÔ
    date.setHours(date.getHours() + h);       //h½Ã¸¦ ´õÇÔ

    return toTimeString(date);
*/
    return shiftTime(getCurrentTime(),y,m,d,h);
}

/**
 * ÇöÀç Ò´À» YYYYÇü½ÄÀ¸·Î ¸®ÅÏ
 */
function getYear() {
/*
    var now = new Date();
    return now.getFullYear();
*/
    return getCurrentTime().substr(0,4);
}

/**
 * ÇöÀç êÅÀ» MMÇü½ÄÀ¸·Î ¸®ÅÏ
 */
function getMonth() {
/*
    var now = new Date();

    var month = now.getMonth() + 1; // 1¿ù=0,12¿ù=11ÀÌ¹Ç·Î 1 ´õÇÔ
    if (("" + month).length == 1) { month = "0" + month; }

    return month;
*/
    return getCurrentTime().substr(4,2);
}

/**
 * ÇöÀç ìíÀ» DDÇü½ÄÀ¸·Î ¸®ÅÏ
 */
function getDay() {
/*
    var now = new Date();

    var day = now.getDate();
    if (("" + day).length == 1) { day = "0" + day; }

    return day;
*/
    return getCurrentTime().substr(6,2);
}

/**
 * ÇöÀç ãÁ¸¦ HHÇü½ÄÀ¸·Î ¸®ÅÏ
 */
function getHour() {
/*
    var now = new Date();

    var hour = now.getHours();
    if (("" + hour).length == 1) { hour = "0" + hour; }

    return hour;
*/
    return getCurrentTime().substr(8,2);
}

/**
 * ¿À´ÃÀÌ ¹«½¼ ¿äÀÏÀÌ¾ß?
 * ex) alert('¿À´ÃÀº ' + getDayOfWeek() + '¿äÀÏÀÔ´Ï´Ù.');
 * Æ¯Á¤ ³¯Â¥ÀÇ ¿äÀÏÀ» ±¸ÇÏ·Á¸é? => ¿©·¯ºÐÀÌ Á÷Á¢ ¸¸µé¾î º¸¼¼¿ä.
 */
function getDayOfWeek() {
    var now = new Date();

    var day = now.getDay(); //ÀÏ¿äÀÏ=0,¿ù¿äÀÏ=1,...,Åä¿äÀÏ=6
    var week = new Array('ÀÏ','¿ù','È­','¼ö','¸ñ','±Ý','Åä');

    return week[day];
}

/* ³¯Â¥ ÀÔ·Â½Ã "-" ÀÚµ¿À¸·Î ºÙÀÌ±â */
function check_num() { // ¼ýÀÚ¸¸ ÀÔ·Â °¡´ÉÇÏ°Ô
  if ((event.keyCode >= 48 && event.keyCode <=111)
    ||(event.keyCode >= 187) || (event.keyCode == 32))  {
      if(event.keyCode >= 96) event.keyCode = parseInt(event.keyCode - 48);
      if(isNaN(String.fromCharCode(event.keyCode))) {
        event.returnValue = false;
      }
  }
}

function fromDate(){ // ½ÃÀÛ ³â-¿ù-ÀÏ
    mainf = document.main;
    var fdate   = mainf.fromdate.value;
    if(event.keyCode != 46 && event.keyCode != 8){
        check_num();
        if(fdate.length == 4 || fdate.length == 7){
            if(mainf.fromdate.value.length == 4){
                mainf.fromdate.value = fdate + "-";
            }else if(mainf.fromdate.value.length == 7){
                mainf.fromdate.value = fdate + "-";
            }
            return;
        }
        if(fdate.length == 10){
            mainf.todate.focus();
            return;
        }
        return;

    }
}

function toDate(){  // Á¾·á ³â-¿ù-ÀÏ
    mainf = document.main;
    var tdate = mainf.todate.value;
    if(event.keyCode != 46 && event.keyCode != 8){
        check_num();
        if(tdate.length == 4 || tdate.length == 7){
            if(mainf.todate.value.length == 4){
                mainf.todate.value = tdate + "-";
            }else if(mainf.todate.value.length == 7){
                mainf.todate.value = tdate + "-";
            }
            return;
        }
        return;

    }
}


function fmt_date(input) {
    if ((event.keyCode >= 48 && event.keyCode <=111)
      ||(event.keyCode >= 187) || (event.keyCode == 32))  {

      if(event.keyCode >= 96) event.keyCode = parseInt(event.keyCode - 48);
      if(!isNaN(String.fromCharCode(event.keyCode)) && input.value.length <10) {
        input.value += String.fromCharCode(event.keyCode);
        if (input.value.length == 4 || input.value.length == 7) {
          input.value += "-";
        }
      }
      event.returnValue = false;
    }
}

function fmt_time(input) {
    if ((event.keyCode >= 48 && event.keyCode <=111)
      ||(event.keyCode >= 187) || (event.keyCode == 32))  {

      if(event.keyCode >= 96) event.keyCode = parseInt(event.keyCode - 48);
      if(!isNaN(String.fromCharCode(event.keyCode)) && input.value.length <5) {
        input.value += String.fromCharCode(event.keyCode);
        if (input.value.length == 2) {
          input.value += ":";
        }
      }
      event.returnValue = false;
    }
}


function isEmpty_date(Which) {
    YearObject = eval("document.main." + Which + "1");
    MonthObject = eval("document.main." + Which + "2");
    DaysObject = eval("document.main." + Which + "3");
        if (isEmpty(YearObject)
            && isEmpty(MonthObject)
            && isEmpty(DaysObject)){
            return true;
        }
    return false;
}

function pad_datevalue(Which) {
    YearObject = eval("document.main." + Which + "1");
    MonthObject = eval("document.main." + Which + "2");
    DaysObject = eval("document.main." + Which + "3");

    var dateString = '';

    if (YearObject.value.length == 4) {
        dateString = YearObject.value + MonthObject.value + DaysObject.value;
    } else {
        dateString = '0001';
    }

    return dateString;
}

/*************************************************************************
   ÇÔ¼ö¸í : chkFromToDay
   ±â  ´É : ±â°£À» Ã¼Å©
   ÀÎ  ¼ö : frYyyy        - ½ÃÀÛ±â°£ÀÇ ³â
            frMmm         - ½ÃÀÛ±â°£ÀÇ ¿ù
            frDdd         - ½ÃÀÛ±â°£ÀÇ ÀÏ
            toYyyy        - ³¡±â°£ÀÇ ³â
            toMm          - ³¡±â°£ÀÇ ¿ù
            toDd          - ³¡±â°£ÀÇ ÀÏ
            chkNull       - null check¿©ºÎ "Y"=nullÃ¼Å©ÇÔ, "N"=nullÃ¼Å©¾ÈÇÔ.
            frName, toName  - alert¸Þ¼¼Áö¸¦ »Ñ·ÁÁÙ°ÍÀÎÁö ±¸ºÐ ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖ¸é
                              ÇØ´ç¸Þ¼¼Áö¿Í ÇÔ²² alertÃ¢ÀÌ ¶ß°í
                            - ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖÁö¾ÊÀ¸¸é alertÃ¢ÀÌ ¶ßÁö ¾Ê´Â´Ù.
   ¸®ÅÏ°ª : ½ÃÀÛ±â°£°ú ³¡±â°£ÀÌ ºó°ªÀÌ °æ¿ì true ¹ÝÈ¯
            ½ÃÀÛ±â°£°ú ³¡±â°£ÀÌ µé¾î°¡°í (½ÃÀÛ±â°£ <= ³¡±â°£) ÀÌ °æ¿ì true ¹ÝÈ¯
            ±×¿ÜÀÇ °æ¿ì  false ¹ÝÈ¯
**************************************************************************/
function  chkFromToDay(frYyyy,frMm,frDd,toYyyy,toMm,toDd,chkNull,frName, toName) {
   if (eval(frYyyy+frMm+frDd)==0 && eval(toYyyy+toMm+toDd)==0) {
      return true;
   } else {
      var date1 = chkYyyyMmDd(frYyyy, frMm, frDd, chkNull, frName);
      var date2 = chkYyyyMmDd(toYyyy, toMm, toDd, chkNull, toName);

      var gap = eval(date2) - eval(date1);  // ¹Þ¾Æ¿Â ³¯Â¥°ªÀ» ¼ýÀÚ·Î ¹Ù²ÛÈÄ °è»êÇÑ´Ù

      // Á¾·áÀÏÀÚ¿¡¼­ ½ÃÀÛÀÏÀÚ¸¦ »«°ªÀÌ 0º¸´Ù Àû´Ù¸é(½ÃÀÛÀÏÀÚ°¡ Å©´Ù¸é)
      if(gap < 0 ) {
         return false;
      }
      return true;
   }
}

/*************************************************************************
   ÇÔ¼ö¸í : chkDay
   ±â  ´É : ÀÏ Ã¼Å© function
   ÀÎ  ¼ö : vDay    - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ÀÏ
            chkNull - null check¿©ºÎ "Y"=nullÃ¼Å©ÇÔ, "N"=nullÃ¼Å©¾ÈÇÔ.
            fName   - alert¸Þ¼¼Áö¸¦ »Ñ·ÁÁÙ°ÍÀÎÁö ±¸ºÐ ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖ¸é ÇØ´ç¸Þ¼¼Áö¿Í ÇÔ²² alertÃ¢ÀÌ ¶ß°í
                    - ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖÁö¾ÊÀ¸¸é alertÃ¢ÀÌ ¶ßÁö ¾Ê´Â´Ù.
   ¸®ÅÏ°ª :
**************************************************************************/
function chkDay(vDay, chkNull, fName) {
   if( trim(vDay) == "" ) {
      if( chkNull == "N" || chkNull == "n" ) {
         return true;
      }

      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   if(isNaN(vDay) || vDay > 31 || vDay == 0) {
        if("" == fName){}
        else {
            alert(fName+" ÇÊµå´Â 1-31°ª¸¸ Çã¿ëÇÕ´Ï´Ù.");
        }
        return false;
    }

    if(vDay.length == 1) return "0"+vDay;

    return vDay;
}

/*************************************************************************
   ÇÔ¼ö¸í : chkMonth
   ±â  ´É : ¿ù Ã¼Å© function
   ÀÎ  ¼ö : vMonth    - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ¿ù
            chkNull - null check¿©ºÎ "Y"=nullÃ¼Å©ÇÔ, "N"=nullÃ¼Å©¾ÈÇÔ.
            fName   - alert¸Þ¼¼Áö¸¦ »Ñ·ÁÁÙ°ÍÀÎÁö ±¸ºÐ ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖ¸é ÇØ´ç¸Þ¼¼Áö¿Í ÇÔ²² alertÃ¢ÀÌ ¶ß°í
            - ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖÁö¾ÊÀ¸¸é alertÃ¢ÀÌ ¶ßÁö ¾Ê´Â´Ù.
   ¸®ÅÏ°ª :
**************************************************************************/
function chkMonth(vMonth, chkNull, fName) {
   if( trim(vMonth) == "" ) {
      if( chkNull == "N" || chkNull == "n" ) {
         return true;
      }

      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   if(isNaN(vMonth) || vMonth > 12 || vMonth == 0) {
        if("" == fName){}
        else {
            alert(fName+" ÇÊµå´Â 1-12°ª¸¸ Çã¿ëÇÕ´Ï´Ù.");
        }
        return false;
    }

    if(vMonth.length == 1) return "0"+vMonth;
    return vMonth;
}

/*************************************************************************
   ÇÔ¼ö¸í : chkYear
   ±â  ´É : ³â Ã¼Å© function
   ÀÎ  ¼ö : vYear    - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ³âµµ
            chkNull - null check¿©ºÎ "Y"=nullÃ¼Å©ÇÔ, "N"=nullÃ¼Å©¾ÈÇÔ.
            fName   - alert¸Þ¼¼Áö¸¦ »Ñ·ÁÁÙ°ÍÀÎÁö ±¸ºÐ ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖ¸é ÇØ´ç¸Þ¼¼Áö¿Í ÇÔ²² alertÃ¢ÀÌ ¶ß°í
            - ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖÁö¾ÊÀ¸¸é alertÃ¢ÀÌ ¶ßÁö ¾Ê´Â´Ù.
   ¸®ÅÏ°ª :
**************************************************************************/
function chkYear(vYear, chkNull, fName) {
   var yearTemp     = Number(vYear);
   var errorMesg    = fName + "°ªÀ» ¼ýÀÚ·Î ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿ä!";
   var isYearMsg    = "³âµµ¸¦ 4 ÀÚ¸®·Î ÀÔ·ÂÇÏ½Ã±â ¹Ù¶ø´Ï´Ù";
   var yearCheckMsg = "³âµµ¸¦ È®ÀÎÇÏ½Ã±â ¹Ù¶ø´Ï´Ù";

   if( trim(vYear) == "" ) {
      if( chkNull == "N" || chkNull == "n" ) {
         return true;
      }
      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   if(isNaN(yearTemp)) {
      if("" == fName){}
      else {
         alert(errorMesg);
      }
      return false;
   } else if(vYear.length != 4) {
      if("" == fName){}
      else {
         alert(isYearMsg);
      }
      return false;
   } else {
      if (yearTemp < 1900) {
         alert(yearCheckMsg);
         return false;
      } else {
          return vYear;
      }
   }
}

/*************************************************************************
   ÇÔ¼ö¸í : chkYyyyMmDd
   ±â  ´É : ³â¿ùÀÏÀ» Ã¼Å©ÇÏ´Â Function
   ÀÎ  ¼ö : vYear    - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ³âµµ
            vMonth   - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ¿ù
            vDay     - Ã¼Å©ÇÏ°íÀÚ ÇÏ´Â ÀÏ
            chkNull - null check¿©ºÎ "Y"=nullÃ¼Å©ÇÔ, "N"=nullÃ¼Å©¾ÈÇÔ.
            fName   - alert¸Þ¼¼Áö¸¦ »Ñ·ÁÁÙ°ÍÀÎÁö ±¸ºÐ ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖ¸é ÇØ´ç¸Þ¼¼Áö¿Í ÇÔ²² alertÃ¢ÀÌ ¶ß°í
                    - ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖÁö¾ÊÀ¸¸é alertÃ¢ÀÌ ¶ßÁö ¾Ê´Â´Ù.
   ¸®ÅÏ°ª :
**************************************************************************/
function chkYyyyMmDd(vYear, vMonth, vDay, chkNull, fName) {
   var date = "";
   var errorMesg1 = fName + "ÀÇ ³âµµ¿¡ Á¤È®ÇÑ °ªÀ» ³Ö¾îÁÖ½Ê½Ã¿À!¿¹) 2001";
   var errorMesg2 = fName + "ÀÇ ¿ù¿¡ Á¤È®ÇÑ °ªÀ» ³Ö¾îÁÖ½Ê½Ã¿À!¿¹) 2001/01/31";
   var errorMesg3 = fName + "ÀÇ ÀÏÀÚ¿¡ Á¤È®ÇÑ °ªÀ» ³Ö¾îÁÖ½Ê½Ã¿À!¿¹) 2001/01/31";


   //³âµµÀÇ 4ÀÚ¸®¼ö Ã¼Å©
   if( vYear.length != 4 ) {
      if("" == fName){}
      else {
         alert(errorMesg1);
      }
      return false;
   }

   //¿ùÀÌ µÎÀÚ¸®°¡ ¾Æ´Ò°æ¿ì ¾Õ¿¡ "0"À» ºÙ¿©¼­ µÎÀÚ¸®·Î  ¸¸µë"
   if(vMonth < 10 && vMonth.indexOf(0) == -1 ) {
      vMonth = "0" + vMonth;
   }

   //ÀÏÀÌ µÎÀÚ¸®°¡ ¾Æ´Ò°æ¿ì ¾Õ¿¡ "0"À» ºÙ¿©¼­ µÎÀÚ¸®·Î ¸¸µë"
   if(vDay < 10 && vDay.indexOf(0) == -1 ) {
      vDay = "0" + vDay;
   }

   date = vYear + vMonth + vDay;

   if( date.length != 8 || date.length == 0 ) {
      if( chkNull == "N" || chkNull == "n" )  {
         return true;
      }

      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   //³¯Â¥°¡ ¼ýÀÚÀÎÁö Ã¼Å©
   if( !chkNumber(date, fName)) {
       return false;
   }

   // ¿ùÀÌ 12 º¸´Ù Å« ¼ö°¡ ÀÖ´ÂÁö Ã¼Å©
   if(vMonth > 12 || vMonth == 0) {
      if("" == fName){}
      else {
         alert(errorMesg2);
      }
      return false;
   }

   // ÀÏ Ã¼Å©
   if(vMonth == 01 || vMonth == 03 || vMonth == 05 || vMonth == 07 || vMonth == 08 || vMonth == 10 || vMonth == 12) {
      if(vDay > 31 || vDay == 0) {
         if("" == fName){}
         else {
            alert(errorMesg3);
         }
         return false
      }
   } else if(vMonth == 02) {     //À±³â Á¶»ç
      if(((vYear % 4 == 0) && (vYear % 100 != 0)) || (vYear % 400 == 0)) {
         if(vDay > 29 || vDay == 0) {
            if("" == fName){}
            else {
               alert(errorMesg3);
            }
            return false;
         }
      } else {
         if(vDay > 28 || vDay == 0) {
            if("" == fName){}
            else {
               alert(errorMesg3);
            }
            return false
         }
      }
   } else if(vMonth == 04 || vMonth == 06 || vMonth == 09 || vMonth == 11) {
      if(vDay > 30 || vDay == 0) {
         if("" == fName){}
         else {
            alert(errorMesg3);
         }
         return false
      }
   }
   return true;
}


/*************************************************************************
   ÇÔ¼ö¸í : cntDayYyyyMmDd
   ±â  ´É : ±â°£ »çÀÌÀÇ ÀÏ¼ö Count
   ÀÎ  ¼ö : frYyyyMmDd - ½ÃÀÛ ³â¿ùÀÏ
            toYyyyMmDd - Á¾·á ³â¿ùÀÏ
            frDdHh24Ss - ½ÃÀÛ ½Ã°£
            toDdHh24Ss - Á¾·á ½Ã°£
   ¸®ÅÏ°ª :
**************************************************************************/
function cntDay ( frYyyyMmDd, toYyyyMmDd, frDdHh24Ss, toDdHh24Ss ) {
    var frDdHh24SsTmp = ( frDdHh24Ss == null || frDdHh24Ss == "" || isNaN ( frDdHh24Ss ) ) ? "000000" : frDdHh24Ss;
    var toDdHh24SsTmp = ( toDdHh24Ss == null || toDdHh24Ss == "" || isNaN ( toDdHh24Ss ) ) ? "000000" : toDdHh24Ss;

    var frDt = new Date( frYyyyMmDd.substring(0, 4),    frYyyyMmDd.substring(4, 6) - 1,
                         frYyyyMmDd.substring(6, 8),    frDdHh24SsTmp.substring(0, 2),
                         frDdHh24SsTmp.substring(2, 4), frDdHh24SsTmp.substring(4, 6));
    var toDt = new Date( toYyyyMmDd.substring(0, 4),    toYyyyMmDd.substring(4, 6) - 1,
                         toYyyyMmDd.substring(6, 8),    toDdHh24SsTmp.substring(0, 2),
                         toDdHh24SsTmp.substring(2, 4), toDdHh24SsTmp.substring(4, 6));

    var tmp    = toDt.getTime() - frDt.getTime();

    var dayCnt = ( tmp  / 24 / 60 / 60 / 1000 );
    dayCnt = dayCnt + 1;
    return dayCnt;
}

/*************************************************************************
   ÇÔ¼ö¸í : addDays
   ±â  ´É : srcDate¿¡¼­ days ÈÄÀÇ ³â¿ùÀÏÀ» ¹ÝÈ¯
   ÀÎ  ¼ö : srcDate - ±âÁØ ³â¿ùÀÏ
            days    - °æ°úÀÏ¼ö
   ¸®ÅÏ°ª :
**************************************************************************/
function addDays(srcDate, days) {
    //var srcDate = srcDate.getTime();
    var srcDate = new Date(srcDate);
    var srcTime = srcDate.getTime();
    var destDateTmp1 =  new Date( srcTime + (days * 86400000));

    var destDateYear = destDateTmp1.getFullYear();
    var destDateMonth = destDateTmp1.getMonth() + 1;
    var destDateDay = destDateTmp1.getDate();

    var destDateTmp2 = "" + destDateYear;

    if (destDateMonth < 10) {
        destDateTmp2 = destDateTmp2 + "0" + destDateMonth;
    } else {
        destDateTmp2 = destDateTmp2 + destDateMonth;
    }

    destDateTmp2 = destDateTmp2 + destDateDay;

    var destDate = formatDate(destDateTmp2, "/");

    return destDate;
}

/*************************************************************************
   ÇÔ¼ö¸í : formatDate
   ±â  ´É : YYYYMMDD -> YYYY/MM/DD·Î º¯°æ
   ÀÎ  ¼ö : sdate   - ³â¿ùÀÏ(YYYYMMDD)
            vformat - format String
   ¸®ÅÏ°ª :
**************************************************************************/
function formatDate(sdate, vFormat) {
    var fmtDate = "";

    if(sdate.length == 8) {
       fmtDate = sdate.substring(0, 4) + vFormat + sdate.substring(4, 6)
                 + vFormat + sdate.substring(6, 8);
    } else if (sdate.length == 6) {
       fmtDate = sdate.substring(0, 4) + vFormat + sdate.substring(4, 6);
    }

    return fmtDate;
}

/*************************************************************************
   ÇÔ¼ö¸í : lastDay
   ±â  ´É : ÇØ´ç ³â¿ùÀÇ ¸¶Áö¸· ³¯Â¥ ±¸ÇÏ´Â ÇÔ¼ö
   ÀÎ  ¼ö : calYear  - ÇØ´ç ³âµµ
            calMonth - ÇØ´ç ¿ù
   ¸®ÅÏ°ª :
**************************************************************************/
function lastDay(calYear,calMonth) {
    if (((calYear %4 == 0) && (calYear % 100 != 0))||(calYear % 400 == 0))
        endDayOfMonth[1] = 29;
    var nDays = endDayOfMonth[calMonth-1];
    return nDays;
}

/*************************************************************************
************************* ±Ý¾× °ü·Ã ÇÔ¼ö *********************************
**************************************************************************/
function removeComma(input) {
    return input.value.replace(/,/gi,"");
}

function insertComma(str) {
    str = str + "";
    var tmpStr = str+"";
    var underComma = "";

    if (str.indexOf(".") >=0) {
        tmpStr = str.substring(0,tmpStr.indexOf("."));
        underComma = "."+str.substring(str.indexOf(".")+1, str.length);
    }

    var len = tmpStr.length;
    var resultValue = "";
    var sign = "";
    if (str.substring(0,1) == "-") {
       sign = "-";
       len = len -1;
       tmpStr = tmpStr.substring(1);
    }
    for (var i=0 ; i<len ; i++) {
        if (i > 0  && (i % 3) == 0 )
            resultValue = "," + resultValue;

        resultValue = tmpStr.charAt(len - 1 - i) + resultValue;
    }
   return sign+resultValue+underComma;
}

/*************************************************************************
   ÇÔ¼ö¸í : fmtAmount
   ±â  ´É : ¼ýÀÚ ½ºÆ®¸µ¿¡ "," formatÀ» ÁÜ
   ÀÎ  ¼ö : str - formattingÇÏ°íÀÚ ÇÏ´Â ½ºÆ®¸µ
   ¸®ÅÏ°ª :
**************************************************************************/
function fmtAmount(str) {
    var saveStr = "" + str;
    if (saveStr.length < 4) return str;
    var revStr = reverseStr(saveStr);
    var newStr = '';
    for (var i=0;i<revStr.length;i++) {
        if (i>0 && (i%3)==0) newStr += ',';
        newStr += revStr.charAt(i);
    }
    return reverseStr(newStr);
}

/*************************************************************************
   ÇÔ¼ö¸í : delFmtAmount
   ±â  ´É : ¼ýÀÚ ½ºÆ®¸µ¿¡¼­ ","À» Á¦°ÅÇÔ
   ÀÎ  ¼ö : str - º¯È¯´ë»ó ½ºÆ®¸µ
   ¸®ÅÏ°ª :
**************************************************************************/
function delFmtAmount(str) {
    str = rmChar(str, ',');
    if (!chkNumber(str, "")) return false;
    return str;
}

/*************************************************************************
   ÇÔ¼ö¸í : roundAllFloat
   ±â  ´É : ½Ç¼ö Áß ÁöÁ¤µÈ ¼Ò¼öÁ¡ ÀÌÇÏ ÀÚ¸® ¿Ã¸²
   ÀÎ  ¼ö : floatNum    - Ã³¸®´ë»ó ½Ç¼ö
            intPosition - ¿Ã¸²ÇÏ°íÀÚÇÏ´Â ÀÚ¸´¼ö
   ¸®ÅÏ°ª :
**************************************************************************/
function roundAllFloat( floatNum, intPosition ) {
    var decimalPosition = Math.pow( 10.0, intPosition );

    var returnValue =  ( Math.ceil( floatNum * decimalPosition ) ) / decimalPosition ;

    return returnValue;
}

/*************************************************************************
   ÇÔ¼ö¸í : roundHalfFloat
   ±â  ´É : ½Ç¼ö Áß ÁöÁ¤µÈ ¼Ò¼öÁ¡ ÀÌÇÏ ÀÚ¸® ¹Ý¿Ã¸²
   ÀÎ  ¼ö : floatNum    - Ã³¸®´ë»ó ½Ç¼ö
            intPosition - ¹Ý¿Ã¸²ÇÏ°íÀÚÇÏ´Â ÀÚ¸´¼ö
   ¸®ÅÏ°ª :
**************************************************************************/
function roundHalfFloat( floatNum, intPosition ) {
    var decimalPosition = Math.pow( 10.0, intPosition );

    var returnValue = ( Math.round( floatNum * decimalPosition ) ) / decimalPosition ;

    return returnValue;
}

/*************************************************************************
   ÇÔ¼ö¸í : roundCutFloat
   ±â  ´É : ½Ç¼ö Áß ÁöÁ¤µÈ ¼Ò¼öÁ¡ ÀÌÇÏ ÀÚ¸® ¹ö¸²
   ÀÎ  ¼ö : floatNum    - Ã³¸®´ë»ó ½Ç¼ö
            intPosition - ¹ö¸²ÇÏ°íÀÚÇÏ´Â ÀÚ¸´¼ö
   ¸®ÅÏ°ª :
**************************************************************************/
function roundCutFloat( floatNum, integerNum ) {
      //var sTargetFloat = Float.toString(floatNum);
      //var stk          = new StringTokenizer(sTargetFloat, ".");
      //var stk          = new StringTokenizer(floatNum, ".");
      //var sIntPart     = stk.nextToken();
      //var sFloPart     = stk.nextToken();

      //if(integerNum > sFloPart.length()) return floatNum;

      //sFloPart = sFloPart.substring(0, integerNum);
      //var sReturnFloat = sIntPart + "." + sFloPart;

      //return Float.parseFloat(sReturnFloat);

      var vPeriodPos = floatNum.toString().indexOf(".");
      var sIntPart   = floatNum.toString().substring(0, vPeriodPos);
      var sFloPart   = floatNum.toString().substring(vPeriodPos + 1);

      if(vPeriodPos == -1) return floatNum;

      sFloPart = sFloPart.substring(0, integerNum);

      var sReturnFloat = sIntPart + "." + sFloPart;

      return parseFloat(sReturnFloat);
}


/*************************************************************************
   ÇÔ¼ö¸í : toMoney
   ±â  ´É : ±Ý¾× ÀÔ·ÂÀ» Ã¼Å©ÇÏ°í Ãµ´ÜÀ§ "," Ç¥½Ã¸¦ ÇÑ´Ù.
   ÀÎ  ¼ö : text ¹Ú½º¸í
   ¸®ÅÏ°ª : ¾øÀ½
**************************************************************************/
function toMoney(vObj)
{
    var txtObj = rmChar(vObj.value, ",");
    if(isNaN(txtObj))
    {
        alert("¼ýÀÚ¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À."); vObj.focus(); return;
    }
    var sObj = Number(!txtObj?0:txtObj);
    vObj.value = fmtAmount(sObj);
}

/*************************************************************************
   ÇÔ¼ö¸í : formatNumber
   ±â  ´É : ±Ý¾× ÀÔ·ÂÀ» Ã¼Å©ÇÏ°í Ãµ´ÜÀ§ "," Ç¥½Ã¸¦ ÇÑ´Ù. ´Ü°¡Á¦ÀÎ °æ¿ì ¼Ò¼ýÁ¡ÀÌÇÏ2Â°ÀÚ¸®±îÁö ÀÔ·Â¹Þµµ·ÏÇÑ´Ù.
   ÀÎ  ¼ö : numObj - ¼ýÀÚ¸¦ ÀÔ·ÂÇÏ´Â text Object
            hanObj - ÇÑ±Û·Î Ç¥½ÃÇØÁÙ Text Object
            howManyUnderDot - ¼Ò¼ýÁ¡ ÀÌÇÏ ÀÚ¸®¼ö(¼Ò¼öÁ¡ÀÌÇÏÀÔ·Â¹ÞÁö ¾ÊÀ» ½Ã¿¡´Â ÀÔ·ÂÇÏÁö¸»°Í)
   ¸®ÅÏ°ª : ¾øÀ½
**************************************************************************/
function formatNumber(numObj,hanObj,howManyUnderDot)
{
    //¹®ÀÚ¿­¿¡¼­ ÄÄ¸¶¸¦ ¾ø¾Ú
    var txtObj = rmChar(numObj.value, ",");
    if(txtObj == ""){
        if(hanObj != null) hanObj.value = "";
        return;
    }
    if(isNaN(txtObj)){
        alert("¼ýÀÚ¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À."); numObj.value = ""; numObj.focus(); return;
    }

    var dotPoint = getPointOfDot(txtObj);
    if(dotPoint == null){ // Á¤¼öÇüÀ¸·ÎÀÔ·ÂÇÑ°æ¿ì
        var longPart = Number(!txtObj?0:txtObj);
        numObj.value = fmtAmount(longPart);
    }else{  // ¼Ò¼ýÁ¡ Æ÷ÇÔ
        if(howManyUnderDot == null || howManyUnderDot == "" || howManyUnderDot == 0){
            alert("¼Ò¼ýÁ¡À» ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
            return;
        }
        var longPart = Number(!txtObj.substring(0,dotPoint)?0:txtObj.substring(0,dotPoint));
        var underDotPart = txtObj.substring(dotPoint+1);
        if(underDotPart.length > howManyUnderDot){
            alert("¼Ò¼ýÁ¡ ÀÌÇÏ "+howManyUnderDot+"¹øÂ° ÀÚ¸®±îÁö ÀÔ·Â °¡´ÉÇÕ´Ï´Ù.");
            underDotPart = underDotPart.substring(0,howManyUnderDot);
        }
        numObj.value = fmtAmount(longPart)+"."+underDotPart;
    }

    // ÇÑ±Û·ÎÇ¥½ÃÇØÁÙ ÅØ½ºÆ®¹Ú½º¸¦ ³Ñ°ÜÁØ °æ¿ì ÇÑ±Û·Î Ç¥½ÃÇØÁØ´Ù.
    if(hanObj != null){
        // ¼Ò¼ýÁ¡ ÀÌ»ó ºÎºÐ ÇÑ±Ûº¯È¯
        hanObj.value = longPart;
        var hanLongPart = convHanAMT(hanObj.value);
        // ¼Ò¼ýÁ¡ ÀÌÇÏ ºÎºÐ ÇÑ±Ûº¯È¯
        if(underDotPart != null){
            hanObj.value = underDotPart;
            var hanUnderDotPart = convHanAMT(hanObj.value);
        }
        // ÇÕÃÄ¼­ Display
        if(longPart != "") hanObj.value = hanLongPart + "¿ø";
        if(underDotPart != null && underDotPart != "" && underDotPart != "0" && underDotPart != "00") hanObj.value = hanObj.value + " " + hanUnderDotPart + "Àü";
    }
}

function getPointOfDot(str)
{
    for(var i=0; i<str.length; i++){
        if(str.substring(i,i+1) == ".") return i;
    }
}

function bidTrimLastDot(numObj)
{
    var txtObj = numObj.value;
    if(txtObj == "") return;
    if(txtObj.substring(txtObj.length-1,txtObj.length) == "."){
        numObj.value = txtObj.substring(0,txtObj.length-1);
    }
}

/*************************************************************************
   ÇÔ¼ö¸í : unformatNumber
   ±â  ´É : ±Ý¾× ÀÔ·ÂÀ» Ã¼Å©ÇÏ°í Ãµ´ÜÀ§ "," Ç¥½Ã¸¦ ÇÑ´Ù. ´Ü°¡Á¦ÀÎ °æ¿ì ¼Ò¼ýÁ¡ÀÌÇÏ2Â°ÀÚ¸®±îÁö ÀÔ·Â¹Þµµ·ÏÇÑ´Ù.
   ÀÎ  ¼ö : numObj - FormattedµÈ ¼ýÀÚ°¡ µé¾î ÀÖ´Â text Object
   ¸®ÅÏ°ª : ¾øÀ½
**************************************************************************/
function unformatNumber(numObj)
{
    numObj.value = rmChar(numObj.value,",");
}

/*************************************************************************
   ÇÔ¼ö¸í : unformatNumber
   ±â  ´É : ±Ý¾× ÀÔ·ÂÀ» Ã¼Å©ÇÏ°í Ãµ´ÜÀ§ "," Ç¥½Ã¸¦ ÇÑ´Ù. ´Ü°¡Á¦ÀÎ °æ¿ì ¼Ò¼ýÁ¡ÀÌÇÏ2Â°ÀÚ¸®±îÁö ÀÔ·Â¹Þµµ·ÏÇÑ´Ù.
   ÀÎ  ¼ö : numObj - FormattedµÈ ¼ýÀÚ°¡ µé¾î ÀÖ´Â text Object
   ¸®ÅÏ°ª : unformatted ¹®ÀÚ¿­
**************************************************************************/
function getUnformatNumber(numObj)
{
    var str = numObj.value;
    str = rmChar(str,",");
    return str;
}

/*************************************************************************
   ÇÔ¼ö¸í : calc()
   ±â  ´É : ÇØ´ç ¼ö½ÄÀÇ °á°ú¸¦ Á¤È®È÷ °è»êÇØ¼­ ¿øÇÏ´Â ÀÚ¸®¿¡¼­ Àý»çÇÏ´Â ÇÔ¼ö
   ÀÎ  ¼ö : expression  - ÇØ´ç ¼ö½Ä
            digit       - Àý»ç À§Ä¡
   ¸®ÅÏ°ª :
**************************************************************************/
function calc(expression, digit) {

    var vRetVal;
    var n;

    vRetVal = String(eval(expression));

    if (vRetVal.length > 16) {
        n=vRetVal.indexOf(".");
        if (n > 0) n=vRetVal.length-n-2;
        if (n > 0) vRetVal=Math.round(eval(vRetVal)*Math.pow(10, n))/Math.pow(10, n);
    }

    vRetVal = roundCutFloat(vRetVal, digit);

    return vRetVal;

}

/*************************************************************************
   ÇÔ¼ö¸í : calcRound()
   ±â  ´É : ÇØ´ç ¼ö½ÄÀÇ °á°ú¸¦ Á¤È®È÷ °è»êÇØ¼­ ¿øÇÏ´Â ÀÚ¸®¿¡¼­ ¹Ý¿Ã¸²ÇÏ´Â ÇÔ¼ö
   ÀÎ  ¼ö : expression  - ÇØ´ç ¼ö½Ä
            digit       - Àý»ç À§Ä¡
   ¸®ÅÏ°ª :
**************************************************************************/
function calcRound(expression, digit) {

    var vRetVal;
    var n;

    vRetVal = String(eval(expression));

    if (vRetVal.length > 16) {
        n=vRetVal.indexOf(".");
        if (n > 0) n=vRetVal.length-n-2;
        if (n > 0) vRetVal=Math.round(eval(vRetVal)*Math.pow(10, n))/Math.pow(10, n);
    }

    vRetVal = roundHalfFloat(vRetVal, digit);

    return vRetVal;

}


/*************************************************************************
************************* ±âÅ¸ ÇÔ¼ö   ************************************
**************************************************************************/
function isValidFormat(input,format) {
    if (input.value.search(format) != -1) {
        return true;
    }
    return false;
}

function isValidFormat2(str,format) {
    if (str.search(format) != -1) {
        return true;
    }
    return false;
}

function isValidEmail(input) {
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}

function isValidZip(input) {
    var tel_no = input.split("-");
    if (tel_no[0] == "" && tel_no[1] == "" && tel_no[2] == "") {
        return true;
    }else if (isNaN(tel_no[0]) || isNaN(tel_no[1]) || isNaN(tel_no[2])) {
        return false;
    }else if (tel_no[0].length < 2 || tel_no[1].length < 3 || tel_no[2].length < 4) {
        return false;
    } else {
        return true;
    }
}
function isValidPhone(input) {
    var tel_no = input.split("-");
    if (tel_no[0] == "" && tel_no[1] == "" && tel_no[2] == "") {
        return true;
    }else if (isNaN(tel_no[0]) || isNaN(tel_no[1]) || isNaN(tel_no[2])) {
        return false;
    }else if (tel_no[0].length < 2 || tel_no[1].length < 3 || tel_no[2].length < 4) {
        return false;
    } else {
        return true;
    }
}

function hasCheckedRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return true;
        }
    } else {
        if (input.checked) return true;
    }
    return false;
}

function getRadioValue(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return input[inx].value;
        }
    } else {
        if (input.checked) return input.value;
    }
    return "";
}

function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}

function getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.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;
}

function getByteLengthVal(input_val) {
    var byteLength = 0;
    for (var inx = 0; inx < input_val.length; inx++) {
        var oneChar = escape(input_val.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;
}


function cnt_checkbox(form){
  var count = 0

  for (var i = 0; i < form.elements.length; i++){
    var e = form.elements[i];
    if (e.type == 'checkbox')
    {
      if (e.checked) {
              count++;
      }
    }
  }
  return count;
}

function chk_all_checkbox(form){
  var count = 0

  for (var i = 0; i < form.elements.length; i++){
    var e = form.elements[i];
    if (e.type == 'checkbox')
    {
      e.checked = true;
    }
  }
  return count;
}

function unchk_all_checkbox(form){
  var count = 0

  for (var i = 0; i < form.elements.length; i++){
    var e = form.elements[i];
    //alert(e.type);
    if (e.type == 'checkbox')
    {
      e.checked = false;
    }
  }
  return count;
}

function set_readonly(obj) {
  obj.readOnly = true;
}
function release_readonly(obj) {
  obj.readOnly = false;
}


var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
    try {
        var keyCode = (isNN) ? e.which : e.keyCode;
        var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
        if(input.value.length >= len && !containsElement(filter,keyCode)) {
            input.value = input.value.slice(0, len);
            input.form[(getIndex(input)+1) % input.form.length].focus();
        }
    } catch(e) {}
    return true;
}

function containsElement(arr, ele) {
    var found = false, index = 0;
    try {
        while(!found && index < arr.length)
        if(arr[index] == ele)
        found = true;
        else
        index++;
    } catch(e) {}
    return found;
}
function getIndex(input) {
    var index = -1, i = 0, found = false;
    try {
        while (i < input.form.length && index == -1)
        if (input.form[i] == input)index = i;
        else i++;
    } catch(e) {}
    return index;
}

function isObject(object_key) {
    try {
        document.all[object_key].value;
        return true;
    }catch(e) {
        return false;
    }
}


/*************************************************************************
   ÇÔ¼ö¸í : delSpaceNum
   ±â  ´É : stringÀ» ÀÔ·Â¹Þ¾Æ °ø¹éÁ¦°ÅÇÏ°í ¼ø¼ö ¼ýÀÚ¿­¸¸ return
   ÀÎ  ¼ö : strÀº check µÉ string
   ¸®ÅÏ°ª : String/ ¹®ÀÚÀÏ°æ¿ì false return
**************************************************************************/
function delSpaceNum(str) {
   var i     = 0;          // loopingÀ» µ¹±âÀ§ÇØ ÇÊ¿äÇÑ ÀÓ½Ãº¯¼ö
   var returnStr  = "";    // ¹ÝÈ¯°ªÀ» ÀúÀå½ÃÅ³ º¯¼ö
   var len = str.length;   // ÆÄ¶ó¸ÞÅÍÀÇ ¹®ÀÚ¿­ ±æÀÌ¸¦ ´ã¾ÆÁÖ´Â º¯¼ö

   // stringÀ» ÇÑ±ÛÀÚ¾¿ ºñ±³ÇÏ´Â while¹®
   while (i<len) {
      var sub   = str.substring(i,i+1)    // ÇÑ±ÛÀÚ¸¦ Àß¶ó¿È
      var code =  sub.charCodeAt(0)       // Àß¶ó¿Â ±ÛÀÚÀÇ ¾Æ½ºÅ°ÄÚµå¸¦ ´ã¾ÆÁÖ´Â º¯¼ö

      //ÇÑ±ÛÀÚ¾¿ Àß¶ó¿Â °ÍÀÌ °ø¹éÀÎÁö¸¦ °Ë»çÇÏ´Â if¹®
      if (code==32) {
      } else {
         var returnStr = returnStr +  sub;
         // ÀüÈ­¹øÈ£ °ªÀÌ ¹®ÀÚÀÎ °æ¿ì return false ½ÃÅ´
         if (code < 48  || code > 57) {
            return false;
         }
      }
      i++;
   }
   return returnStr;
}

/*************************************************************************
   ÇÔ¼ö¸í : chkStrLen
   ±â  ´É : ÀÔ·Â ÇÊµå¿¡ µé¾î¿Â µ¥ÀÌÅ¸ÀÇ Å©±â¸¦ °è»ê
   ÀÎ  ¼ö : data    - ÀÔ·Â ÇÊµå¿¡ µé¾î¿Â µ¥ÀÌÅ¸
   ¸®ÅÏ°ª :
**************************************************************************/
function chkStrLen(data) {
   var size = 0;
   var fieldSize = "";

   fieldSize = data.length;

   for(i=0; i<fieldSize; i++) {
      //Æ¯¼ö ¹®ÀÚ Ã¼Å©  ",&,$
      //if( data.charCodeAt(i) == 34 || data.charCodeAt(i) == 38 || data.charCodeAt(i) == 36 || data.charCodeAt(i) == 39) {
      //    return false;
      //}

      //ÇÑ±ÛÀÌ µé¾î¿À¸é 255º¸´Ù Å©´Ù
      if( data.charCodeAt(i) > 255 ) {
          //size += 2;
          size += 3;
      } else {
         size += 1;
      }
   }
   return size;
}

/*************************************************************************
   ÇÔ¼ö¸í : chkStr
   ±â  ´É : ÀÔ·Â ÇÊµå¿¡ µé¾î¿Â µ¥ÀÌÅ¸ÀÇ Å©±â¸¦ °è»ê°ú Æ¯¼ö¹®ÀÚ¸¦ Ã¼Å©
   ÀÎ  ¼ö : data    - ÀÔ·Â ÇÊµå¿¡ µé¾î¿Â µ¥ÀÌÅÍ
            maxSize - ÀÔ·ÂÇÊµåÀÇ ÃÖ´ëÅ©±â
            chkNull - null check¿©ºÎ "Y"=nullÃ¼Å©ÇÔ, "N"=nullÃ¼Å©¾ÈÇÔ.
            fName   - alert¸Þ¼¼Áö¸¦ »Ñ·ÁÁÙ°ÍÀÎÁö ±¸ºÐ ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖ¸é ÇØ´ç¸Þ¼¼Áö¿Í ÇÔ²² alertÃ¢ÀÌ ¶ß°í
                    - ¸Þ¼¼Áö¸¦ ³Ö¾îÁÖÁö¾ÊÀ¸¸é alertÃ¢ÀÌ ¶ßÁö ¾Ê´Â´Ù.
   ¸®ÅÏ°ª :
**************************************************************************/
function chkStr(data , maxSize, chkNull, fName) {
   var size = 0;
   var fieldSize = "";
   var errorMesg = fName + "¿¡ ÀÔ·Â ÇÏ½Å °ªÀÌ ³Ê¹« Å®´Ï´Ù!";

   if( trim(data) == "" ) {
      if( chkNull == "N" || chkNull == "n" ) {
         return true;
      }

      if("" == fName){}
      else {
         alert(fName + "(À»)¸¦ ¹Ýµå½Ã ÀÔ·Â ¶Ç´Â ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.");
      }
      return false;
   }

   fieldSize = data.length;

   if( chkSpecialChar(data, chkNull, fName ))  { // Æ¯¼ö¹®ÀÚ°¡ ¾øÀ»¶§´Â true¸¦ ¸®ÅÏÇÔ.
      fieldSize = data.length;

      for(i=0; i<fieldSize; i++) {
         //ÇÑ±ÛÀÌ µé¾î¿À¸é 255º¸´Ù Å©´Ù
         if( data.charCodeAt(i) > 255 ) {
            //size += 2;
            size += 3;
         } else {
            size += 1;
         }
      }

      if( maxSize < size ) {
         //¸Þ¼¼Áö°¡ ¾øÀ¸¸é alertÀ» »Ñ·ÁÁÖÁö ¾Ê°Ú´Ù.
         if("" == fName){}
         else {
           alert(errorMesg);
         }
         return false;
      } else {
         return true;
      }

   } // if checkSpecialChar(data) == true end
   else {
        //¸Þ¼¼Áö°¡ ¾øÀ¸¸é alertÀ» »Ñ·ÁÁÖÁö ¾Ê°Ú´Ù.
       if("" == fName){}
       else {
       }

       return false;
   }// if checkSpecialChar(data) == false end

   return true;
}



/*********************************************************************************
   ÇÔ¼ö¸í : chkRegNo
   ±â  ´É : »ç¾÷ÀÚµî·Ï¹øÈ£ Ã¼Å© ÇÔ¼ö
   ÀÎ  ¼ö : str1 - »ç¾÷ÀÚµî·Ï¹øÈ£ ¾Õ 3ÀÚ¸®
            str2 - »ç¾÷ÀÚµî·Ï¹øÈ£ Áß°£ 2ÀÚ¸®
            str3 - »ç¾÷ÀÚµî·Ï¹øÈ£ µÞ 5ÀÚ¸®
   ¸®ÅÏ°ª :
**********************************************************************************/
function chkRegNo(str1, str2, str3) {
	if (chkNumber(str1, "")) return false;
	if (chkNumber(str2, "")) return false;
	if (chkNumber(str3, "")) return false;

	var i;
	var iSum = 0;
	var L11,L12,L13;
	var L21,L22;
	var L31,L32,L33,L34,L35;
	if (isInteger(str1) &&  isInteger(str2) &&  isInteger(str3)) {
		L11 = parseInt(str1.substring(0,1));
		L12 = parseInt(str1.substring(1,2));
		L13 = parseInt(str1.substring(2,3));
		L21 = parseInt(str2.substring(0,1));
		L22 = parseInt(str2.substring(1,2));
		L31 = parseInt(str3.substring(0,1));
		L32 = parseInt(str3.substring(1,2));
		L33 = parseInt(str3.substring(2,3));
		L34 = parseInt(str3.substring(3,4));
		L35 = parseInt(str3.substring(4,5));
		iSum = (L11*1)%10 + (L12*3)%10 + (L13*7)%10 + (L21*1)%10 + (L22*3)%10 + (L31*7)%10 + (L32*1)%10 + (L33*3)%10;
		var i = (L34*5).toString();
		var tmp = 0;
		if (i < 10 ) tmp = 0;
		else tmp = parseInt(i.substring(0,1));
		iSum = iSum + (tmp + (i%10));
		iSum = iSum%10;
	}
	if ( ((10-iSum)%10) != parseInt(L35) ) {
		return false;
	}
    return true;
}

//¹ýÀÎµî·Ï¹øÈ£ Ã¼Å©
function vndr_reg_no_chk(vndr_reg_no1,vndr_reg_no2,vndr_reg_no3){
    var  v_vndr_reg_no1 = 0;
    var  v_vndr_reg_no2 = 0;
    var  v_vndr_reg_no3 = 0;
    var  v_vndr_reg_no4;
    var  vndr_reg_chk;
    var str= vndr_reg_no1 + vndr_reg_no2 + vndr_reg_no3;
    var j = 0;
    object =  new Array(13)
    for(var i=0;i < 12;i++) {
        ++j;
        object[i] = str.substring(i,i+1)
        if ( j % 2 == 0 )
            v_vndr_reg_no1 = v_vndr_reg_no1 + parseInt(object[i]) * 2;
        else
            v_vndr_reg_no1 = v_vndr_reg_no1 + parseInt(object[i]) * 1;
    }
    v_vndr_reg_no2 = Math.floor(v_vndr_reg_no1 / 10);   //¸ò
    v_vndr_reg_no3 = parseInt(v_vndr_reg_no1 % 10);     //³ª¸ÓÁö
    var chkdigit = str.substring(12, 13);   //¿À·ù°Ë»ö¹øÈ£
    vndr_reg_chk = 10 - v_vndr_reg_no3;
    if ( vndr_reg_chk == 10 )   vndr_reg_chk = 0;
    if ( chkdigit == vndr_reg_chk ) {
        return true;
    }
    else {
        return false;
    }
}


/*********************************************************************************
   ÇÔ¼ö¸í : chkJuminNo
   ±â  ´É : ÁÖ¹Î¹øÈ£ Ã¼Å© ÇÔ¼ö
   ÀÎ  ¼ö : str1 - ÁÖ¹Î¹øÈ£ ¾ÕÀÚ¸®
            str2 - ÁÖ¹Î¹øÈ£ µÞÀÚ¸®
   ¸®ÅÏ°ª :
**********************************************************************************/
function chkJuminNo(str1, str2) {
	if (chkNumber(str1, "") == false) return false;
	if (chkNumber(str2, "") == false) return false;

	var x, y, z;
	var L11,L12,L13,L14,L15,L16;
	var L21,L22,L23,L24,L25,L26,L27;

	L11 = parseInt(str1.substring(0,1));
	L12 = parseInt(str1.substring(1,2));
	L13 = parseInt(str1.substring(2,3));
	L14 = parseInt(str1.substring(3,4));
	L15 = parseInt(str1.substring(4,5));
	L16 = parseInt(str1.substring(5,6));
	L21 = parseInt(str2.substring(0,1));
	L22 = parseInt(str2.substring(1,2));
	L23 = parseInt(str2.substring(2,3));
	L24 = parseInt(str2.substring(3,4));
	L25 = parseInt(str2.substring(4,5));
	L26 = parseInt(str2.substring(5,6));
	L27 = parseInt(str2.substring(6,7));
	x = (L11*2) + (L12*3) + (L13*4) + (L14*5) + (L15*6) + (L16*7) + (L21*8) + (L22*9) + (L23*2) + (L24*3) + (L25*4) + (L26*5);
	y = x % 11;
	z = 11 - y;

	if (z == 10) z = 0;
	else if (z == 11) z = 1;
	if (z == parseInt(str2.substring(6,7))) {
		return true;
	} else {
		return false;
	}

	return false;
}


/*************************************************************************
************************* ÆË¾÷ °ü·Ã ÇÔ¼ö  *************************
**************************************************************************/
/*********************************************************************************
   ÇÔ¼ö¸í : openWindow
   ±â  ´É : À©µµ¿ì ¶ç¿ì±â
   ÀÎ  ¼ö : theURL  - Source
            winName - À©µµ¿ì ¸í
            feature - À©µµ¿ì properties('width=530,height=450')
   ¸®ÅÏ°ª :
**********************************************************************************/
function openWindow(theURL, winName, feature) {
    var tmp_focus;

	if (feature=="" || feature==null) {
		tmpFocus = window.open(theURL, winName );
	} else {
		tmpFocus = window.open(theURL, winName, feature );
	}

	tmpFocus.focus();
}

/*********************************************************************************
   ÇÔ¼ö¸í : openWinSize
   ±â  ´É : À©µµ¿ì ¶ç¿ì±â
   ÀÎ  ¼ö : theURL  - Source
            winName - À©µµ¿ì ¸í
            winWifth - À©µµ¿ì °¡·ÎÅ©±â
            winHeight - À©µµ¿ì ¼¼·ÎÅ©±â
   ¸®ÅÏ°ª :
**********************************************************************************/
function openWinSize(theURL, winName, winWidth, winHeight) {
    var tmp_focus;
    var winSize;

	if ((winWidth=="" || winWidth==null) && (winHeight=="" || winHeight==null)) {
		tmpFocus = window.open(theURL, winName );
	}
    else {
        if (winWidth=="" || winWidth==null)
    		winSize = "height="+winWidth;
    	else if (winHeight=="" || winHeight==null)
    		winSize = "height="+winWidth;
    	else
    		winSize = "width="+winWidth+",height="+winWidth;

        tmpFocus = window.open(theURL, winName, winSize );
    }

	tmpFocus.focus();
}
/*************************************************************************
************************* ÀÌ¹ÌÁö ÆË¾÷ °ü·Ã ÇÔ¼ö  *************************
**************************************************************************/
function imageAutoResize(img){
  img1= new Image();
  img1.src=(img);
  imgControll(img);
}

function imgControll(img){
  if((img1.width!=0)&&(img1.height!=0)){
    viewImage(img);
  }
  else{
    controller="imgControll('"+img+"')";
    intervalID=setTimeout(controller,20);
  }
}

function viewImage(img){
        W=img1.width;
        H=img1.height;
        O="width="+W+",height="+H;
        imgWin=window.open("","",O);
        imgWin.document.write("<html><head><title>È®´ëº¸±â</title></head>");
        imgWin.document.write("<body topmargin=0 leftmargin=0>");
        imgWin.document.write("<img src='"+img+"'  onclick='self.close()'>");
        imgWin.document.close();
} 

/*********************************************************************************
   ÇÔ¼ö¸í : emailCheck (2003.07.08Ãß°¡)
   ±â  ´É : ÀÌ¸ÞÀÏÃ¼Å©
   ÀÎ  ¼ö : input  - ÆûÇÊµå

   ¸®ÅÏ°ª :true¸é À¯È¿ÇÑ ¸ÞÀÏÁÖ¼Ò
**********************************************************************************/
function emailCheck (input) { 
	emailObj=input;
	emailStr = emailObj.value; 
	if(emailStr == "") 
	{ 
	    alert ( "ÀÌ¸ÞÀÏÀ» ÀÔ·ÂÇØ ÁÖ¼¼¿ä" );
	    emailObj.focus(); 
	    return false; 
	} 
	var checkTLD=0; 
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/; 
	var emailPat=/^(.+)@(.+)$/; 
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]"; 
	var validChars="\[^\\s" + specialChars + "\]"; 
	var quotedUser="(\"[^\"]*\")"; 
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/; 
	var atom=validChars + '+'; 
	var word="(" + atom + "|" + quotedUser + ")"; 
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); 
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$"); 
	var matchArray=emailStr.match(emailPat); 
	
	if (matchArray==null) { 
		alert("ÀÌ¸ÞÀÏÁÖ¼Ò°¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.\n\n´Ù½Ã ÀÔ·ÂÇØ ÁÖ¼¼¿ä"); 
		emailObj.select(); 
		return false; 
	} 
	
	var user=matchArray[1]; 
	var domain=matchArray[2]; 
	for (i=0; i<user.length; i++) { 
		if (user.charCodeAt(i)>127) { 
			alert("¸ÞÀÏÁÖ¼Ò¿¡ À¯È¿ÇÏÁö ¾ÊÀº ¹®ÀÚ°¡ ÀÖ½À´Ï´Ù.\n\n´Ù½Ã ÀÔ·ÂÇØ ÁÖ¼¼¿ä"); 
			return false; 
		} 
	} 
	for (i=0; i<domain.length; i++) { 
		if (domain.charCodeAt(i)>127) { 
			alert("µµ¸ÞÀÎÀÌ¸§¿¡ À¯È¿ÇÏÁö ¾ÊÀº ¹®ÀÚ°¡ ÀÖ½À´Ï´Ù.\n\n´Ù½Ã ÀÔ·ÂÇØ ÁÖ¼¼¿ä"); 
			return false; 
		} 
	} 
	if (user.match(userPat)==null) { 
		alert("»ç¿ëÀÚ ÀÌ¸§ÀÌ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù."); 
		return false; 
	} 
	var IPArray=domain.match(ipDomainPat); 
	if (IPArray!=null) { 
		for (var i=1;i<=4;i++) { 
			if (IPArray[i]>255) { 
				alert("IPÁÖ¼Ò°¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù."); 
				return false; 
			} 
		} 
		return true; 
	} 
	var atomPat=new RegExp("^" + atom + "$"); 
	var domArr=domain.split("."); 
	var len=domArr.length; 
	for (i=0;i<len;i++) { 
		if (domArr[i].search(atomPat)==-1) { 
			alert("À¯È¿ÇÏÁö ¾ÊÀº  µµ¸ÞÀÎ¸íÀÔ´Ï´Ù."); 
			return false; 
		} 
	} 
	if (checkTLD && domArr[domArr.length-1].length!=2 && 
	domArr[domArr.length-1].search(knownDomsPat)==-1) { 
		alert("µµ¸ÞÀÎ¸í È®ÀåÀÚ°¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù."); 
		return false; 
	} 
	if (len<2) { 
		alert("È£½ºÆ®¸íÀÌ ¸ÞÀÏÁÖ¼Ò¿¡ Æ÷ÇÔµÇÁö ¾Ê¾Ò½À´Ï´Ù."); 
		return false; 
	}
	
	return true; 
} 

/*********************************************************************************
   ÇÔ¼ö¸í : filenameSpaceCheck (2003-08-27 2:31¿ÀÈÄ Ãß°¡)
   ±â  ´É : ÆÄÀÏ¸í °ø¹é µé¾î°¡Áö ¸øÇÏ°Ô ¸·´Â´Ù
   ÀÎ  ¼ö : input  - ÆûÇÊµå

   ¸®ÅÏ°ª :true¸é À¯È¿ÇÑ ÆÄÀÏ¸í
**********************************************************************************/
function filenameSpaceCheck (VInput,msg) { 
	obj=VInput;
	str = obj.value; 
		
	if(str!=""){
		var s1 = trim(str);      
		s1 = s1.substring(s1.lastIndexOf("\\")+1,s1.length);			
		if(msg==""){
			msg = "ÆÄÀÏ¸í¿¡ °ø¹éÀÌ ÀÖ½À´Ï´Ù.\n\nÃ·ºÎÆÄÀÏÀº °ø¹é¾øÀÌ µî·ÏÇÏ½Ê½Ã¿ä.\n\nÆÄÀÏ¸í-->" + s1 ;	
		}
		for (i=0; i<s1.length; i++) { 
			if (s1.charCodeAt(i)==32) { 
				alert(msg); 
				return false; 
				break;
			} 
		} 
	}
	
	return true; 
} 

/*********************************************************************************
   ÇÔ¼ö¸í : dateCheck (2003-11-04 2:50¿ÀÈÄ)
   ±â  ´É : ½ÃÀÛ³â¿ùÀÏ,Á¾·á³â¿ùÀÏÀ» ¹Þ¾Æ Ã¼Å©ÇÑ´Ù.
   ÀÎ  ¼ö : yyyy1,mm1,dd1,yyyy2,mm2,dd2  - ÆûÇÊµå

   ¸®ÅÏ°ª :true¸é À¯È¿ÇÑ ³¯ÀÚ
**********************************************************************************/
function dateCheck (yyyy1,mm1,dd1,yyyy2,mm2,dd2) { 
	y1 = trim(yyyy1.value);
	m1 = trim(mm1.value);
	d1 = trim(dd1.value);
	y2 = trim(yyyy2.value);
	m2 = trim(mm2.value);
	d2 = trim(dd2.value);
		
	if(y1=="" || y1.length!=4){
		alert("³âµµ¸¦ Á¤È®È÷ ÀÔ·ÂÇÏ¼¼¿ä");
		yyyy1.select();
		return false;
	}	
	
	if(y2=="" || y2.length!=4){
		alert("³âµµ¸¦ Á¤È®È÷ ÀÔ·ÂÇÏ¼¼¿ä");
		yyyy2.select();
		return false;
	}
	if(m1=="" ){
		alert("¿ùÀ» Á¤È®È÷ ÀÔ·ÂÇÏ¼¼¿ä");
		mm1.select();
		return false;
	}	
	if(m2=="" ){
		alert("¿ùÀ» Á¤È®È÷ ÀÔ·ÂÇÏ¼¼¿ä");
		mm2.select();
		return false;
	}
	if(d1=="" ){
		alert("ÀÏÀ» Á¤È®È÷ ÀÔ·ÂÇÏ¼¼¿ä");
		dd1.select();
		return false;
	}
	if(d2=="" ){
		alert("ÀÏÀ» Á¤È®È÷ ÀÔ·ÂÇÏ¼¼¿ä");
		dd2.select();
		return false;
	}
	if(!isValidDay(y1,m1,d1)){
		alert("³¯Â¥°¡ Àß¸øÀÔ·ÂµÇ¾ú½À´Ï´Ù.");
		yyyy1.focus();
		return false;
	}	
	if(!isValidDay(y2,m2,d2)){
		alert("³¯Â¥°¡ Àß¸øÀÔ·ÂµÇ¾ú½À´Ï´Ù.");
		yyyy2.focus();
		return false;
	}
	if(m1.length==1) m1 = "0" + m1;
	if(m2.length==1) m2 = "0" + m2;
	if(d1.length==1) d1 = "0" + d1;
	if(d2.length==1) d2 = "0" + d2;
		
	start = y1 + m1 + d1;
	end   = y2 + m2 + d2;
	
	if(parseInt(start)>parseInt(end)){
		alert("½ÃÀÛÀÏÀÚ¿Í Á¾·áÀÏÀÚ¸¦ Á¤È®È÷ ÀÔ·ÂÇÏ¼¼¿ä");
		return false;		
	}
		

	return true; 
} 