/**
 * --------------------------------------------------------------
 * ÀÚ¹Ù½ºÅ©¸³Æ® °øÅëÇÔ¼ö
 * --------------------------------------------------------------
 * ÁÖÀÇ: ¾Æ·¡ÀÇ [1]¹ø ±×·ìÀÇ ¸Þ¼Òµå´Â ÀÔ·ÂÆûÀÇ ÇÊµå(form.field) °´Ã¼¸¦
 *       ÆÄ¶ó¹ÌÅÍ·Î ¹Þ´Â´Ù. ÇÊµåÀÇ °ª(form.field.value)ÀÌ ¾Æ´ÔÀ»
 *       À¯³äÇÒ °Í.
 * --------------------------------------------------------------
 * @version  1.2
 * @date     2002-10-28
 * @author   ¹ÚÁ¾Áø(JongJin Park), ecogeo@dreamwiz.com
 * @modifier ±è±ÇÀÏ(KwonIl Kim), kikim@ubizsystem.com
 * @modifier °­µ¿¿¬(DongYoun Kang), kkjava@korea.com
 * --------------------------------------------------------------
 * Copyright (c) 2000-2005 by LG-EDS Inc, Ubizsystem Inc, Traniz.com
 * All rights reserved.
 */


/*-------------------------------------------------------------------------------
 * [1] ÀÔ·Â°ª Ã¼Å© ÇÔ¼ö
 *-------------------------------------------------------------------------------
 */


/****************************************************************
 * isExceedMax(form.field) : ÀÔ·Â°ªÀÇ ±æÀÌ°¡ ÀÔ·Â°´Ã¼ÀÇ ÃÖ´ë±æÀÌ¸¦ ³Ñ´ÂÁö È®ÀÎ
 * examples  :
 *
 * if( isExceedMax(form.field) ) {
 *     alert('ÀÔ·Â°ªÀ» ÃÊ°úÇß³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ÇØ´ç ÀÔ·Â°´Ã¼ÀÇ ÃÖ´ë±æÀÌ¸¦ ³ÑÀ¸¸é TURE
 * date   : 2002-10-28
 ****************************************************************/
function isExceedMax(input) {
    if(input.value.length <= input.maxLength ) {
        return false;
    }
    return true;
}


/****************************************************************
 * isNull(form.field) : ÀÔ·Â°ªÀÌ NULLÀÎÁö Ã¼Å©
 * examples  :
 *
 * if( isNull(form.field) ) {
 *     alert('ÀÔ·Â°ªÀÌ ¾ø³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ Null or °ªÀÌ ¾øÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isNull(input) {
    if (input.value == null || input.value == "") {
        return true;
    }
    return false;
}


/****************************************************************
 * isEmpty(form.field) : ÀÔ·Â°ªÀÌ ºñ¾îÀÖ´ÂÁö Ã¼Å©
 * examples  :
 *
 * if( isEmpty(form.field) ) {
 *     alert('ÀÔ·Â°ªÀÌ ¾ø³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ª¿¡ ¾Æ¹«°Íµµ ¾øÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}


/****************************************************************
 * containsChars(form.field, chars) :
 * ÀÔ·Â°ª¿¡ Æ¯Á¤ ¹®ÀÚ°¡ ÀÖ´ÂÁö Ã¼Å©
 * Æ¯Á¤ ¹®ÀÚ¸¦ Çã¿ëÇÏÁö ¾ÊÀ¸·Á ÇÒ ¶§ »ç¿ë
 * examples  :
 *
 * if( containsChars(form.field, "!,*&^%$#@~;") ) {
 *     alert('ÀÔ·Â°ª¿¡ Æ¯¼ö¹®ÀÚ°¡ Æ÷ÇÔµÇ¾ú³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ª¿¡ ÁöÁ¤ÇÑ Æ¯Á¤¹®ÀÚ°¡ ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
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(form.field, chars) :
 * ÀÔ·Â°ªÀÌ Æ¯Á¤ ¹®ÀÚ¸¸À¸·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
 * examples  :
 *
 * if( containsCharsOnly(form.field, "ABO") ) {
 *     alert('ÀÔ·Â°ªÀÌ A or B or O ¹®ÀÚ·Î¸¸ ±¸¼ºµÇ¾î ÀÖ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ÁöÁ¤ÇÑ Æ¯Á¤¹®ÀÚ·Î¸¸ µÇ¾î ÀÕÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
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(form.field) : ÀÔ·Â°ªÀÌ ¾ËÆÄºªÀ¸·Î¸¸ µÇ¾î ÀÖ´ÂÁö Ã¼Å©
 * º» ÇÔ¼ö°¡ ÀÚÁÖ È£ÃâµÉ °æ¿ì¿¡´Â Ä³¸¯ÅÍ Áö¿ªº¯¼ö¸¦ Àü¿ªº¯¼ö·Î
 * »ç¿ëÇØµµ ÁÁ´Ù.
 * examples  :
 *
 * if( isAlphabet(form.field) ) {
 *     alert('ÀÔ·Â°ªÀÌ ¾ËÆÄºªÀ¸·Î¸¸ ±¸¼ºµÇ¾î ÀÖ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ¾ËÆÄºªÀ¸·Î¸¸ ÀÌ·ç¾îÁ® ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}


/****************************************************************
 * isUpperCase(form.field) : ÀÔ·Â°ªÀÌ ¾ËÆÄºª ´ë¹®ÀÚ·Î¸¸ µÇ¾î ÀÖ´ÂÁö Ã¼Å©
 * º» ÇÔ¼ö°¡ ÀÚÁÖ È£ÃâµÉ °æ¿ì¿¡´Â Ä³¸¯ÅÍ Áö¿ªº¯¼ö¸¦ Àü¿ªº¯¼ö·Î
 * »ç¿ëÇØµµ ÁÁ´Ù.
 * examples  :
 *
 * if( isUpperCase(form.field) ) {
 *     alert('ÀÔ·Â°ªÀÌ ¾ËÆÄºª ´ë¹®ÀÚ·Î¸¸ ±¸¼ºµÇ¾î ÀÖ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ¾ËÆÄºª ´ë¹®ÀÚ·Î¸¸ ÀÌ·ç¾îÁ® ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input, chars);
}


/****************************************************************
 * isLowerCase(form.field) : ÀÔ·Â°ªÀÌ ¾ËÆÄºª ¼Ò¹®ÀÚ·Î¸¸ µÇ¾î ÀÖ´ÂÁö Ã¼Å©
 * º» ÇÔ¼ö°¡ ÀÚÁÖ È£ÃâµÉ °æ¿ì¿¡´Â Ä³¸¯ÅÍ Áö¿ªº¯¼ö¸¦ Àü¿ªº¯¼ö·Î
 * »ç¿ëÇØµµ ÁÁ´Ù.
 * examples  :
 *
 * if( isLowerCase(form.field) ) {
 *     alert('ÀÔ·Â°ªÀÌ ¾ËÆÄºª ¼Ò¹®ÀÚ·Î¸¸ ±¸¼ºµÇ¾î ÀÖ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ¾ËÆÄºª ¼Ò¹®ÀÚ·Î¸¸ ÀÌ·ç¾îÁ® ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}


/****************************************************************
 * isNumber(form.field) : ÀÔ·Â°ªÀÌ ¼ýÀÚ·Î¸¸ µÇ¾î ÀÖ´ÂÁö Ã¼Å©
 * º» ÇÔ¼ö°¡ ÀÚÁÖ È£ÃâµÉ °æ¿ì¿¡´Â ¼ýÀÚ Áö¿ªº¯¼ö¸¦ Àü¿ªº¯¼ö·Î
 * »ç¿ëÇØµµ ÁÁ´Ù.
 * examples  :
 *
 * if( isNumber(form.field) ) {
 *     alert('ÀÔ·Â°ªÀÌ ¼ýÀÚ·Î¸¸ ±¸¼ºµÇ¾î ÀÖ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ® ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}


/****************************************************************
 * isAlphaNum(form.field) : ÀÔ·Â°ªÀÌ ¾ËÆÄºª°ú ¼ýÀÚ·Î¸¸ µÇ¾î ÀÖ´ÂÁö Ã¼Å©
 * º» ÇÔ¼ö°¡ ÀÚÁÖ È£ÃâµÉ °æ¿ì¿¡´Â Ä³¸¯ÅÍ Áö¿ªº¯¼ö¸¦ Àü¿ªº¯¼ö·Î
 * »ç¿ëÇØµµ ÁÁ´Ù.
 * examples  :
 *
 * if( isAlphaNum(form.field) ) {
 *     alert('ÀÔ·Â°ªÀÌ ¾ËÆÄºª°ú ¼ýÀÚ·Î¸¸ ±¸¼ºµÇ¾î ÀÖ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ¾ËÆÄºª°ú ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ® ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}


/****************************************************************
 * hasHangul(form.field) : ¹®ÀÚ¿­¿¡ ÇÑ±ÛÀÌ Æ÷ÇÔµÇ¾î ÀÖ´ÂÁö ¿©ºÎ Ã¼Å©
 * ÇöÀç ´Ü¼øÈ÷ asciiÄÚµå°¡ 255 º¸´Ù Å©¸é ÇÑ±ÛÀÌ Á¸ÀçÇÏ´Â °É·ç ¿©±è.
 * examples  :
 *
 * if( hasHangul(form.field) ) {
 *     alert('ÀÔ·Â°ª¿¡ ÇÑ±ÛÀÌ Æ÷ÇÔµÇ¾î ÀÖ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ª¿¡ ÇÑ±ÛÀÌ Æ÷ÇÔµÇ¾î ÀÖ´Ù¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function hasHangul(input) {
    var strParam = input.value;
    var i;
    for(i=0; i<strParam.length; i++) {
        if(strParam.charCodeAt(i) > 255) return true;
    }
    return false;
}


/****************************************************************
 * isNumDash(form.field) : ÀÔ·Â°ªÀÌ ¼ýÀÚ,´ë½Ã(-)·Î¸¸ µÇ¾îÀÖ´ÂÁö Ã¼Å©
 * º» ÇÔ¼ö°¡ ÀÚÁÖ È£ÃâµÉ °æ¿ì¿¡´Â Ä³¸¯ÅÍ Áö¿ªº¯¼ö¸¦ Àü¿ªº¯¼ö·Î
 * »ç¿ëÇØµµ ÁÁ´Ù.
 * examples  :
 *
 * if( isNumDash(form.field) ) {
 *     alert('ÀÔ·Â°ªÀÌ ¼ýÀÚ¿Í ´ë½Ã·Î¸¸ ±¸¼ºµÇ¾î ÀÖ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ¼ýÀÚ,´ë½Ã(-)·Î¸¸ ÀÌ·ç¾îÁ® ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}


/****************************************************************
 * isNumComma(form.field) : ÀÔ·Â°ªÀÌ ¼ýÀÚ,ÄÞ¸¶(,)·Î¸¸ µÇ¾îÀÖ´ÂÁö Ã¼Å©
 * º» ÇÔ¼ö°¡ ÀÚÁÖ È£ÃâµÉ °æ¿ì¿¡´Â Ä³¸¯ÅÍ Áö¿ªº¯¼ö¸¦ Àü¿ªº¯¼ö·Î
 * »ç¿ëÇØµµ ÁÁ´Ù.
 * examples  :
 *
 * if( isNumComma(form.field) ) {
 *     alert('ÀÔ·Â°ªÀÌ ¼ýÀÚ¿Í ÄÞ¸¶·Î¸¸ ±¸¼ºµÇ¾î ÀÖ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ¼ýÀÚ,ÄÞ¸¶(,) ÀÌ·ç¾îÁ® ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input,chars);
}


/****************************************************************
 * isNumComma(form.field) : ÀÔ·Â°ª¿¡¼­ ÄÞ¸¶¸¦ Á¦°ÅÇÑ´Ù.
 * °°Àº ¹æ¹ýÀ¸·Î ´Ù¾çÇÑ Ä³¸¯ÅÍ¿¡ ´ëÇÑ ÀÀ¿ëÀÌ °¡´ÉÇÏ´Ù.
 * examples  :
 *
 * var val = removeComma(form.field) : "2222,2222" -> 22222222
 *
 * return : ÀÔ·Â°ª¿¡¼­ ÄÞ¸¶(,)¸¦ Á¦°ÅÇÑ ¹®ÀÚ¿­.
 * date   : 2002-10-28
 ****************************************************************/
function removeComma(input) {
    return input.value.replace(/,/gi,"");
}



/****************************************************************
 * isNumComma(form.field, format) :
 * ÀÔ·Â°ªÀÌ »ç¿ëÀÚ°¡ Á¤ÀÇÇÑ Æ÷¸Ë Çü½ÄÀÎÁö Ã¼Å©
 * ÀÚ¼¼ÇÑ format Çü½ÄÀº ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ 'regular expression(Á¤±Ô½Ä)'À» ÂüÁ¶
 * Á¤±Ô½Ä¿¡ ´ëÇÑ ³»¿ëÀº °Ë»ö¿£ÁøÀ» ÅëÇØ Ã£¾Æº¸¸é ³ª¿È.
 * examples  :
 *
 * if (isValidFormat(form.field, "[xyz]")) {
 *        alert('x-z ±îÁöÀÇ ¹®ÀÚ°¡ Á¸ÀçÇÏ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ÁöÁ¤ÇÑ ¿Ã¹Ù¸¥ Æ÷¸ËÀ¸·Î µÇ¾î ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isValidFormat(input, format) {
    if (input.value.search(format) != -1) {
        return true;
    }
    return false;
}


/****************************************************************
 * isValidEmail(form.field) : ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏ Çü½ÄÀÎÁö Ã¼Å©
 * examples  :
 *
 * if (isValidEmail(form.field)) {
 *        alert('ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏ Çü½ÄÀÌ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏ Çü½ÄÀ¸·Î µÇ¾îÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isValidEmail(input) {
    /*--
    var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
    --*/
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}



/****************************************************************
 * isValidPhone(form.field) : ÀÔ·Â°ªÀÌ ÀüÈ­¹øÈ£ Çü½Ä(¼ýÀÚ-¼ýÀÚ-¼ýÀÚ)ÀÎÁö Ã¼Å©
 * examples  :
 *
 * if (isValidPhone(form.field)) {
 *        alert('ÀÔ·Â°ªÀÌ ÀüÈ­¹øÈ£ Çü½ÄÀÌ³×¿ä.');
 * }
 *
 * return : ÀÔ·Â°ªÀÌ ÀüÈ­¹øÈ£ Çü½Ä(¼ýÀÚ-¼ýÀÚ-¼ýÀÚ)ÀÌ¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function isValidPhone(input) {
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input,format);
}


/*-------------------------------------------------------------------------------
 * [2] Æû À¯Æ¿ ÇÔ¼ö
 *-------------------------------------------------------------------------------
 */


/****************************************************************
 * openWindow(url, name, width, height)
 * : ÁÖ¾îÁø °ª¿¡ µû¶ó »õÃ¢À» ¿ÀÇÂÇÑ´Ù. (È­¸é Áß¾Ó¿¡ À§Ä¡ÇÔ)
 *
 * @PARAM URL    WINDOWÀÇ URL
 * @PARAM NAME   WINDOWÀÇ ¸í
 * @PARAM WIDHT  WINDOWÆø (ÇÈ¼¿)
 * @PARAM HEIGHT WINDOW³ôÀÌ (ÇÈ¼¿)
 *
 * examples  :
 *
 * var win = openWindow("http://localhost/", localhost, 300, 300);
 *
 * return : ÇØ´ç À©µµ¿ì °´Ã¼.
 * date   : 2002-10-28
 ****************************************************************/
function openWindow(url, name, width, height)   {

    var top  = screen.height / 2 - height / 2 - 50;

    var left = screen.width / 2 - width / 2 ;

    var win =
        open(url,
            name,
            'width=' + width + ', height=' + height + ', top=' + top +
            ', left=' + left + ', resizable=no, status=yes, toolbar=no, menubar=no');

    win.focus();

    return win;
}


function openWindowOpt(url, name, width, height, etcOpt)   {

    if (etcOpt.length > 0) {
        var top  = screen.height / 2 - height / 2 - 50;

        var left = screen.width / 2 - width / 2 ;

        var win =
            open(url,
                name,
                'width=' + width + ', height=' + height + ', top=' + top +
                ', left=' + left + ', resizable=no, status=yes, toolbar=no, menubar=no, ' + etcOpt);

        win.focus();

        return win;
    } else {
        return openWindow(url, name, width, height);
    }
}

function openWindowNoCenter(url, name, width, height, etcOpt)   {

    var win =
        open(url,
            name,
            'width=' + width + ', height=' + height + ', resizable=no, status=yes, toolbar=no, menubar=no, ' + etcOpt);

    win.focus();

    return win;
}

/****************************************************************
 * setFocusToFirstTextField(form) : ÆûÀÇ Ã¹¹øÂ° ÀÔ·Â ÅØ½ºÆ® ÇÊµå¿¡ Æ÷Ä¿½º¸¦ ÁÜ.
 * examples  :
 *
 * <body onLoad='setFocusToFirstTextField(form);'>
 *
 * return : ÀÇ¹Ì ¾øÀ½.
 * date   : 2002-10-28
 ****************************************************************/
function setFocusToFirstTextField(form) {

    if ( typeof form == 'undefined' ) return;  // if form is invalid, just return.

    var count = form.elements.length;

    for ( var i = 0; i < count; i++ ) {
        if ( form.elements[i].type == "text" || form.elements[i].type == "password" ) {
            form.elements[i].focus();
            return;
        }
    }
}


/****************************************************************
 * alertMsg(form.field) : ÁÖ¾îÁø ¹®ÀÚ¿­·Î °æ°íÃ¢À» ¶ç¿î µÚ ÀÔ·Â°´Ã¼¿¡ Æ÷Ä¿½º µÊ.
 * examples  :
 *
 * if (isValidPhone(form.field)) {
 *        alertMsg(form.field, 'ÀÔ·Â°ªÀÌ ÀüÈ­¹øÈ£ Çü½ÄÀÌ³×¿ä.');
 * }
 *
 * return : Ç×»ó False. -> ÀÇ¹Ì ¾øÀ½.
 * date   : 2002-10-28
 ****************************************************************/
function alertMsg( input, msg ) {
    alert( msg );
    input.focus();
    // input.select();
    return false;
}


/****************************************************************
 * hasCheckedRadio(form.field) : ¼±ÅÃµÈ ¶óµð¿À¹öÆ°ÀÌ ÀÖ´ÂÁö Ã¼Å©
 * examples  :
 *
 * if (hasCheckedRadio(form.field)) {
 *        alert('¼±ÅÃµÈ ¶óµð¿À ¹öÆ°ÀÌ ÀÖ³×¿ä.');
 * }
 *
 * return : ¼±ÅÃµÈ ¶óµð¿À¹öÆ°ÀÌ ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
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;
}


/****************************************************************
 * getCheckedRadio(form.field) : ¼±ÅÃµÈ ¶óµð¿À¹öÆ°ÀÇ °ªÀ» ¸®ÅÏ
 * examples  :
 *
 * var value = getCheckedRadio(form.field);
 *
 * return : ¼±ÅÃµÈ ¶óµð¿À¹öÆ°ÀÇ °ª
 * date   : 2002-10-28
 ****************************************************************/
function getCheckedRadio(input) {

    if (hasCheckedRadio(input)) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return input[inx].value;
        }
    }
}


/****************************************************************
 * hasCheckedBox(form.field) : ¼±ÅÃµÈ Ã¼Å©¹Ú½º°¡ ÀÖ´ÂÁö Ã¼Å©
 * examples  :
 *
 * if (hasCheckedBox(form.field)) {
 *        alert('¼±ÅÃµÈ Ã¼Å©¹Ú½º°¡ ÀÖ³×¿ä.');
 * }
 *
 * return : ¼±ÅÃµÈ Ã¼Å©¹Ú½º°¡ ÀÖÀ¸¸é TRUE
 * date   : 2002-10-28
 ****************************************************************/
function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}

/****************************************************************
 * hasSelectedIndex(form.field) : ¼±ÅÃµÈ ¼±ÅÃ¹Ú½ºÀÇ °ªÀÌ ÀÖ´ÂÁö Ã¼Å©
 *
 * return : ¼±ÅÃµÈ ¼±ÅÃ¹Ú½ºÀÇ °ªÀÌ ÀÖÀ¸¸é TRUE
 * date   : 2005-04-04
 ****************************************************************/
function hasSelectedIndex(input) {
    for (i=1 ; i < input.options.length ; i++) {
        if (input.options[i].selected == true) {
            return true;
        }
    }

    return false;
}

/****************************************************************
 * hasSelectedIndex(form.field) : ¼±ÅÃµÈ ¼±ÅÃ¹Ú½ºÀÇ °ªÀÌ ÀÖ´ÂÁö Ã¼Å©
 *
 * return : ¼±ÅÃµÈ ¼±ÅÃ¹Ú½ºÀÇ °ªÀÌ ÀÖÀ¸¸é TRUE
 * date   : 2005-04-04
 ****************************************************************/
function hasSelectedIndexValue(input) {
    if (input.value != '') {
		return true;
    }

    return false;
}

/****************************************************************
 * getSelectedValue(form.field) : ¼±ÅÃµÈ ¼±ÅÃ¹Ú½ºÀÇ °ªÀ» ¾ò´Â´Ù.
 * examples  :
 *
 * var value = getSelectedValue(form.field);
 *
 * return :  ¼±ÅÃµÈ ¼±ÅÃ¹Ú½ºÀÇ °ª.
 * date   : 2002-10-28
 ****************************************************************/
function getSelectedValue(input) {

    if ( input == null )
        return null;

    return input.options[input.selectedIndex].value;
}


/****************************************************************
 * getSelectedValue(form.field) : ¼±ÅÃµÈ ¼±ÅÃ¹Ú½ºÀÇ ÅØ½ºÆ®¸¦ ¾ò´Â´Ù.
 * examples  :
 *
 * var value = getSelectedText(form.field);
 *
 * return :  ¼±ÅÃµÈ ¼±ÅÃ¹Ú½ºÀÇ ÅØ½ºÆ®.
 * date   : 2002-10-28
 ****************************************************************/
function getSelectedText(input) {

    if ( input == null )
        return null;

    return input.options[input.selectedIndex].text;
}


/****************************************************************
 * getIndexByValue(form.field, value)
 *  : ÁöÁ¤ÇÑ °ª°ú ÀÏÄ¡ÇÏ´Â ¼±ÅÃ¹Ú½ºÀÇ ÀÎµ¦½º¸¦ ¾ò´Â´Ù.
 * examples  :
 *
 * var index = getIndexByValue(form.field, "°ª");
 *
 * return : ÁöÁ¤ÇÑ °ª°ú ÀÏÄ¡ÇÏ´Â ¼±ÅÃ¹Ú½ºÀÇ ÀÎµ¦½º. ¾øÀ¸¸é -1 ¸®ÅÏ.
 * date   : 2002-10-28
 ****************************************************************/
function getIndexByValue(input, value) {

    if ( input == null )
        return;

    for ( var i = 0; i < input.options.length; i++ ) {
        if ( input.options[i].value == value )
            return i;
    }
    return -1;  // not found.
}


/****************************************************************
 * removeOptionByValue(form.field, value)
 *  : ÁöÁ¤ÇÑ °ª°ú ÀÏÄ¡ÇÏ´Â ¼±ÅÃ¹Ú½ºÀÇ ÀÎµ¦½º¸¦ »èÁ¦ÇÑ´Ù.
 * examples  :
 *
 * if (removeOptionByValue(form.field, "°ª")) {
 *        alert('ÇØ´ç ÀÎµ¦½º°¡ »èÁ¦µÇ¾ú¾î¿ä.');
 * }
 *
 * return : ÇØ´ç ÀÎµ¦½º°¡ Áö¿öÁö¸é TRUE.
 * date   : 2002-10-28
 ****************************************************************/
function removeOptionByValue(input, value) {

    if ( input == null )
        return false;

    var index = getIndexByValue( input, value );
    var srcC = 0, destC = 0;

    if ( index == -1 ) return false; // not found

    // else value was found, shift all elemenets which are after index

    while ( srcC < input.options.length) {
        input.options[destC] = input.options[srcC];
        if ( srcC == index ) destC--;
        srcC++;
        destC++;
    }

    input.options.length -= 1;

    return true;
}


/****************************************************************
 * makeBlur(form.field)
 *  : °ªÀÌ ÀÔ·Â¾ÈµÇ°Ô ÇÏ±â
 * examples  :
 *
 * <input type=text onfocus = "MakeBlur(input)">
 *
 * return : ÇØ´ç¾øÀ½.
 * date   : 2002-10-28
 ****************************************************************/
function makeBlur(input) {
    input.blur();
}



/*-------------------------------------------------------------------------------
 * [3] ¹®ÀÚ¿­ °ü·Ã ÇÔ¼ö
 *-------------------------------------------------------------------------------
 */


/****************************************************************
 * removeToken(form.field, char) : ÁöÁ¤ÇÑ Ä³¸¯ÅÍ Á¦°ÅÇÏ±â.
 * examples  :
 *
 * form.field = '1111,11'ÀÏ °æ¿ì....
 * removeToken(form.field, ',');
 *        -> 1111,11 -> 111111
 *
 * return : ÀÔ·Â°ª¿¡¼­ ÁöÁ¤ÇÑ Ä³¸¯ÅÍ¸¦ Á¦°ÅÇÑ ¹®ÀÚ¿­.
 * date   : 2002-10-28
 ****************************************************************/
function removeToken(input, _char) {
    val = input.value;
    str = "";
    strr = val.split(_char);
    for (i=0 ; i < strr.length ; i++) {
        str += strr[i];
    }
    input.value = str;
}


/****************************************************************
 * getByteLength(form.field) : ÀÔ·Â°ªÀÇ ¹ÙÀÌÆ® ±æÀÌ¸¦ ¾ò´Â´Ù.
 * examples  :
 *
 * form.field = 'hiÇÑ±Û'ÀÏ °æ¿ì....
 * getByteLength(form.field); -> 6
 *
 * return : ÀÔ·Â°ªÀÇ ¹ÙÀÌÆ® ±æÀÌ (ÇÑ±ÛÀº 2Byte)
 * date   : 2002-10-28
 ****************************************************************/
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;
}


/****************************************************************
 * fillSpace(form.field, len, positionOfSpace)
 *    : ÀÔ·Â°ªÀÇ ¾ÕÀÌ³ª µÚ¿¡ ÃÑ ¹ÙÀÌÆ®°¡ ÁöÁ¤ÇÑ ±æÀÌ°¡ µÇµµ·Ï °ø¹éÀ» Ãß°¡ÇÑ´Ù.
 * examples  :
 *
 * form.field = 'hiÇÑ±Û'ÀÏ °æ¿ì....
 * fillSpace(form.field, 4, 'head') -> '    hiÇÑ±Û'
 * fillSpace(form.field, 4, 'tail') -> 'hiÇÑ±Û    '
 *
 * return : ÁöÁ¤ÇÑ ±æÀÌÀÇ °ø¹éÀÌ Ãß°¡µÈ »õ·Î¿î ¹®ÀÚ¿­
 * date   : 2002-10-28
 ****************************************************************/
function fillSpace(input, len, positionOfSpace) {
    var str = input.value;
    var newStr = input.value;

    if( positionOfSpace == "head" )
        for(var i=0;i<(len-str.length);i++)
            newStr = " " + newStr ;
    else
        for(var i=0;i<(len-str.length);i++)
            newStr = newStr + " ";

    return newStr;
}


/****************************************************************
 * replaceString(form.field, old, new)
 *  : ÀÔ·Â°ªÀÇ ¸ðµç ¹®ÀÚ¿­Áß¿¡¼­ old¸¦ new·Î ´ëÃ¼ÇÔ.
 * examples  :
 *
 * form.field = 'hahohi'ÀÏ °æ¿ì....
 * replaceString(form.field, 'ho','ÇÑ±Û') -> 'haÇÑ±Ûhi'
 *
 * return : ´ëÃ¼µÈ »õ·Î¿î ¹®ÀÚ¿­
 * date   : 2002-10-28
 ****************************************************************/
function replaceString(input, strOld, strNew) {

    var str = input.value;
    var index = 0;
    var oldLen = strOld.length;
    var newLen = strNew.length;
    var strPre = "";

    if( strOld == null || strOld == "") return str;

    while (true) {
        if ((index = str.indexOf(strOld)) != -1) {
            strPre= strPre + str.substring(0, index) + strNew;
            str = str.substring(index + oldLen);
        }
        else
            break;
    }
    return strPre + str;
}


/****************************************************************
 * trim(form.field)
 *  : ¹®ÀÚ¿­ ¾ÕµÚÀÇ °ø¹éÀ» Áö¿ò (' ', '\r', '\n', '\t')
 * examples  :
 *
 * form.field = ' haÇÑ±Û 'ÀÏ °æ¿ì....
 * trim(form.field) -> 'haÇÑ±Û'
 *
 * return : ´ëÃ¼µÈ »õ·Î¿î ¹®ÀÚ¿­
 * date   : 2002-10-28
 ****************************************************************/
function trim(input) {
    var str     = input.value;
    var len     = str.length;
    var iFrom    = 0;
    var iTo        = len;

    for(var i=0 ; i < len ; i++) {
        if( str.charAt(i) == ' ' || str.charAt(i) == '\r' || str.charAt(i) == '\n' || str.charAt(i) == '\t' )
            iFrom = i+1;
        else break;
    }
    for(var i=len-1 ; i > iFrom ; i--) {
        if( str.charAt(i) == ' ' || str.charAt(i) == '\r' || str.charAt(i) == '\n' || str.charAt(i) == '\t' )
            iTo = i;
        else break;
    }
    return str.substring(iFrom, iTo);
}


/****************************************************************
 * formatString(strParam, strFormat, cMark)
 *  : ÁöÁ¤ÇÑ ¹®ÀÚ¿­À» ÁöÁ¤ÇÑ Æ÷¸ËÀ¸·Î º¯È¯ÇÑ´Ù.
 * examples  :
 *
 * formatString("20010305", "4-2-2", '/') -> 2001/03/05
 * formatString("7011011101417", "6-7", '-') -> 701101-1101417
 *
 * return : Æ÷¸ËµÈ »õ·Î¿î ¹®ÀÚ¿­
 * date   : 2002-10-28
 ****************************************************************/
function formatString(strParam, strFormat, cMark) {
    var formatArray, strData, nLength, nCurPos;
    nLength = nCurPos = 0;
    strData = "";

    formatArray = strFormat.split("-");
    for(i=0; i < formatArray.length; i++) {
        nLength = parseInt(formatArray[i]);
        strData += strParam.substr(nCurPos, nLength);
        if(i < (formatArray.length-1)) strData += cMark;
        nCurPos += nLength;
    }
    return strData;
}


/****************************************************************
 * numFormat(form.field)
 *  : ÀÔ·Â°ªÀ» ±Ý¾×Ç¥½Ã·Î ÀüÈ¯
 * examples  :
 *
 * form.field = '99999'ÀÏ °æ¿ì....
 * numFormat(form.field) -> 99,999
 *
 * form.field = '-12345.001'ÀÏ °æ¿ì....
 * numFormat(form.field) -> -123,45.001
 *
 * return : ´ëÃ¼µÈ »õ·Î¿î ±Ý¾× ¹®ÀÚ¿­
 * date   : 2002-10-28
 ****************************************************************/
function numFormat(obj) {

    var str  = String(obj.value);
    var len  = str.length;
    var tmp  = "";
    var tm2  = "";

    /* ¼Ò¼öÁ¡ µÎ°³ ÀÌ»ó ¿¡·¯ Ç¥½Ã */
    count = 0;

    for( j=0 ; j < len ; j++) {
        if( obj.value.charAt(j) == '.') count++;
    }

    if (count > 1) {
        var text = "¼Ò¼öÁ¡ÀÌ µÑ ÀÌ»ó Æ÷ÇÔµÇ¾ú½À´Ï´Ù.";
        alert(text);
        obj.focus();
    }

    if (str.charAt(0) == '-') {
        tmp = '-' ;
        str = str.substring(1,len);
    }

    if (str.indexOf('-',0) != -1) {
        obj.focus();
        return;
    }

    if ((sit=str.indexOf('.',0)) != -1) {
        tm2 = str.substring(sit,len);
        str = str.substring(0,sit);
    }

    var i    = 0;

    while (str.charAt(i) == '0') i++;

    str = str.substring(i,len);
    len = str.length;

    if(len < 3) {
        obj.value = str;
        return;
    }
    else {
        var sit = len % 3;
        if (sit > 0) {
            tmp = tmp + str.substring(0,sit) + ',';
            len = len - sit;
        }

        while (len > 3) {
            tmp = tmp + str.substring(sit,sit+3) + ',';
            len = len - 3;
            sit = sit + 3;
        }

        tmp = tmp + str.substring(sit,sit+3) + tm2;
        obj.value = tmp;
    }
}



/*-------------------------------------------------------------------------------
 * [4] ÄíÅ° °ü·Ã ÇÔ¼ö
 *-------------------------------------------------------------------------------
 */


/****************************************************************
 * setCookie(name, value, expiredays)
 *  : ÁöÁ¤ÇÑ °ªÀ¸·Î ÄíÅ°¸¦ ¼³Á¤ÇÑ´Ù.
 * examples  :
 *
 * setCookie( "is_end", "done" , 1); -> ÄíÅ°º¸°üÀÏ : ÇÏ·ç
 *
 * return : ÇØ´ç ¾øÀ½.
 * date   : 2002-10-28
 ****************************************************************/
function setCookie(name, value, expiredays){
    var todayDate = new Date();
    todayDate.setDate( todayDate.getDate() + expiredays );
    document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

/****************************************************************
 * getCookie(name)
 *  : ÁöÁ¤ÇÑ °ª¿¡ µû¸¥ ÄíÅ°¸¦ ¾ò´Â´Ù.
 * examples  :
 *
 * if (getCookie( "is_end" ) == "done") {
 *        alert('ÄíÅ°°¡ ¸¸·áµÇ¾ú½À´Ï´Ù.');
 * }
 *
 * examples  :
 * return : ÄíÅ°Á¤º¸ ¹®ÀÚ¿­.
 * date   : 2002-10-28
 ****************************************************************/
function getCookie(uName) {
    var flag = document.cookie.indexOf(uName+'=');
    if (flag != -1) {
        flag += uName.length + 1
        end = document.cookie.indexOf(';', flag)

        if (end == -1) end = document.cookie.length
        return unescape(document.cookie.substring(flag, end))
    }
}


/****************************************************************
 * isImage(name)
 *  : Ã·ºÎÆÄÀÏ Æ÷¸ËÀÌ ÀÌ¹ÌÁö Çü½ÄÀÎÁö È®ÀÎÇÑ´Ù.
 * examples  :
 *
 * if ( !isImage(name) ) {
 *        alert('ÀÌ¹ÌÁö Çü½ÄÀÌ ¾Æ´Õ´Ï´Ù.');
 * }
 *
 * examples  :
 * date   : 2004-02-26
 ****************************************************************/
function isImage(input) {

    if (input.value != '') {
        var file = input.value;
        var idx = file.indexOf('.');
        file = file.substring(idx + 1);
        if ( file == 'jpg' || file == 'jpeg' || file == 'gif' || file == 'png' || file == 'bmp' ||
             file == 'JPG' || file == 'JPEG' || file == 'GIF' || file == 'PNG' || file == 'BMP'
        ) {
            return true;
        }
        else {
            return false;
        }
    }
    else {
        return true;
    }
}

/****************************************************************
 * getlayer(name)
 *  : ºê¶ó¿ìÁ®¿¡ µû¸¥ ·¹ÀÌ¾î¸¦ ¾ò´Â´Ù.
 *
 * date   : 2005-11-17
 ****************************************************************/
function getlayer(name) {

	if (document.layers) { // NN
	    pop = document.layers[name];
		pop_br=1;
	}
	else if(document.all) { // IE
	    pop = document.all[name];
		pop_br=2;
	} else { // Standard
	    pop = document.getElementById(name);
		pop_br=3;
	}
}

/****************************************************************
 * hiddenLayer(name)
 *  : ºê¶ó¿ìÁ®¿¡ µû¸¥ ·¹ÀÌ¾î¸¦ °¨Ãá´Ù.
 *
 * date   : 2005-11-17
 ****************************************************************/
function hiddenLayer(layers) {

	getlayer(layers);
	
	if (pop_br == 1) {
		pop.visibility='hidden';
	}
	else if (pop_br == 2) {
		pop.style.display='none';
	}
	else if (pop_br == 3) {
		pop.style.visibility='hidden';
	}
}

/****************************************************************
 * showLayer(name)
 *  : ºê¶ó¿ìÁ®¿¡ µû¸¥ ·¹ÀÌ¾î¸¦ Ç¥½ÃÇÑ´Ù.
 *
 * date   : 2005-11-17
 ****************************************************************/
function showLayer(layers) {

	getlayer(layers);

	if (pop_br == 1) {
		pop.visibility = 'visible';
		pop.left = window.innerWidth/2-pop.width.replace("px","")/2;
		pop.top = window.innerHeight/2-pop.height.replace("px","")/2;
	}
	else if (pop_br == 2) {
		pop.style.visibility = 'visible';
		pop.style.left = document.body.scrollLeft+document.body.offsetWidth/2-pop.style.width.replace("px","")/2;
		pop.style.top = document.body.scrollTop+document.body.offsetHeight/2-pop.style.height.replace("px","")/2;
	}
	else if (pop_br == 3) {
		pop.style.visibility = 'visible';
		pop.style.left=document.body.offsetWidth/2-pop.style.width.replace("px","")/2;
		pop.style.top=document.body.offsetHeight/2-pop.style.height.replace("px","")/2;
	}	
}

/****************************************************************
 * jsResize(obj)
 *  : iFrame ¸®»çÀÌÁî
 *
 * date   : 2005-11-21
 ****************************************************************/
function jsResize(obj) { 
    
    // document.getElementById("iFresize").style.height = document.getElementById("foaFrame").offsetHeight;
    // document.getElementById("iFresize").style.width = document.getElementById("foaFrame").offsetWidth;
    // alert(obj.contentWindow);

    var Body; 
    var H, Min; 
    Min = 100; 
    // alert( document.getElementById("iFresize").offsetHeight );
    // alert(obj.contentWindow+'\n'+ obj.contentWindow.document+'\n'+ obj.contentWindow.document.getElementsByTagName('BODY'));
    Body = (obj.contentWindow.document.getElementsByTagName('BODY'))[0]; 

    H = parseInt(Body.scrollHeight) + 5; 
    obj.style.height = (H<Min?Min:H) + 'px'; 

    // alert(Body.scrollHeight +'\n'+ H +'\n'+ obj.style.height);

    window.scrollTo(1, 1);  
} 


/****************************************************************
 * jsShowDatePicker(obj)
 *  : ´Þ·Â ³¯Â¥¼±ÅÃ ¸ð´ÞÃ¢
 *
 * date   : 2005-11-21
 ****************************************************************/
function jsShowDatePicker(obj) {
    window.showModalDialog("/v2/inc/commons/datePicker.html", obj,
        "dialogWidth=236px;dialogHeight=224px;resizable=no;status=no;help=no");
}

/****************************************************************
 * hasHangulName(obj)
 *  : ¾÷·Îµå ÆÄÀÏ ÀÌ¸§¿¡ ÇÑ±ÛÀÌ Æ÷ÇÔµÇ¾ú´ÂÁö ¿©ºÎ
 *
 * date   : 2005-11-21
 ****************************************************************/
function hasHangulName(obj) {

    var fileName = obj.value;
    var idx = fileName.lastIndexOf('\\');
    fileName = fileName.substring(idx + 1);

    var i;
    for(i=0; i<fileName.length; i++) {
        if(fileName.charCodeAt(i) > 255) return true;
    }    
    return false;
}

/****************************************************************
 * jsToggleMenu(obj)
 *  : xmlMenu.js¸¦ ´ëÃ¼ÇÏ´Â ÀÎÆ®¶ó³Ý ÁÂÃø ¸Þ´º °ü·Ã ½ºÅ©¸³Æ®
 *
 * date   : 2005-11-25
 ****************************************************************/
function jsToggleMenu(currMenu) {
    var subMenu = document.getElementById(currMenu);
    if (subMenu != null) {
        if (subMenu.style.display == 'none') {
            subMenu.style.display = 'block';
        }
        else {
            subMenu.style.display = 'none';
        }
    }
}

/****************************************************************
 * jsProcess()
 *  : ¿äÃ»À» Á¦ÃâÇÏ´Â µ¿¾È ÀÌ¹ÌÁö Ç¥½Ã
 *
 * <span id='upload' style='display:block'>
 * ....
 * <span id='tranimg' style='display:none'>
 *     <img src="$CTX_ROOT/resource/images/processing.gif">
 * ....
 *
 * date   : 2005-11-25
 ****************************************************************/
function jsProcess() {
    try {
        document.getElementById('submitBt').style.display  = 'none';
        document.getElementById('processBt').style.display = 'block';
    }
    catch (Exception) {
    }
}
function jsProcessOpt(hdnVal, shwVal) {
    try {
        document.getElementById(hdnVal).style.display  = 'none';
        document.getElementById(shwVal).style.display = 'block';
    }
    catch (Exception) {
    }
}

/****************************************************************
 * jsTextAreaResize()
 *  : TextAreaÇÊµå ¸®»çÀÌÁî
 *
 * date   : 2006-08-11
 ****************************************************************/
function jsTextAreaResize(que, elementName) {
	var area = document.getElementById(elementName);
	if (que == '-') {
        if ( area.rows != 8 ) {
		    area.rows = area.rows - 4;
        }
	}
	else if (que == '+') {
		area.rows = area.rows + 4;
	}
	else {
		area.rows = 8;
	}

    jsResize( this.parent.document.getElementById('detailFrame') );
}
