/**
 *  <pre>
 *
 *  XEROSWare¿¡¼­ »ç¿ëÇÏ´Â Utility functionµéÀ» ±¸ÇöÇÑ script.<br>
 *
 *  1. È­ÀÏ ÀÌ¸§         :    Utils.js
 *  2. ÀÛ¼ºÀÚ            :    greatblack
 *  3. ÀÛ¼ºÀÏÀÚ          :    2005-07-19
 *  4. ¹öÀü              :    1.0
 *  5. ÇÁ·Î±×·¥ º¯°æ ³»¿ª
 *     1) 2005-07-19 / °øÅë / ÃÖÃÊ Æ÷¸Ë ¼³Á¤
 *
 * TODO : Ãß°¡¼³¸í
 *
 *  </pre>
 */

function getTitle(field) {
    if(field.title == undefined) {
        if(field.name == undefined) return '';
        else return field.name;
    } else {
        return field.title;
    }
}

/*
 * ¼³  ¸í : ÀÔ·Â°ª Áß¿¡ Á¦ÇÑ¹®ÀÚÀÇ Æ÷ÇÔ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù.
 * ÀÎÀÚ 1 : ÀÔ·Â°ª
 * ¸®ÅÏ°ª : boolean - Æ÷ÇÔ : true, ¹ÌÆ÷ÇÔ : false
 */
function isRestrictChar(str) {
    str = trim(str);
    
    if(str == null || str.length == 0) {
        return false;   
    }
    
    if(str.search(RESTRICT_CHARS) > -1) {
        alert("Æ¯¼ö¹®ÀÚ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.");
        return true;
    } else {
        
        return false;
    }
}

/*
 * ¼³  ¸í : TextField¿¡ ¼ýÀÚ,¿µ¹®,ÇÑ±Û,±âÅ¸ ¸¸ ÀÔ·ÂµÇ°Ô ÇÑ´Ù.
 *          onkeypress ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª : boolean - (0 ~ 9) = true, ³ª¸ÓÁö false
 */
function checkChar() {
    var keycode = event.keyCode;

    // 32->' '
    // 43->'+'
    // 45->'-'
    // 46->.
    // 47->/
    // 95->_
    // 48->0  57->9
    // 65->A  90->Z
    // 97->a  122->z
    // 12592~12687 ÇÑ±Û
    if (
        false
        || keycode == 43
        || keycode == 45
        || keycode == 46
        || keycode == 47
        || keycode == 95
        || (keycode >= 48 && keycode <= 57)
        || (keycode >= 65 && keycode <= 90)
        || (keycode >= 97 && keycode <= 122)
        || (keycode >= 12592 && keycode <= 12687)
    ) {
        event.returnValue = true;
    } else {
        event.returnValue = false
    }
}

/*
 * ¼³  ¸í : TextField¿¡ °ø¹é,¼ýÀÚ,¿µ¹®,ÇÑ±Û,±âÅ¸ ¸¸ ÀÔ·ÂµÇ°Ô ÇÑ´Ù.
 *          onkeypress ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª : boolean - (0 ~ 9) = true, ³ª¸ÓÁö false
 */
function checkChar2() {
    var keycode = event.keyCode;

    // 32->' '
    // 43->'+'
    // 45->'-'
    // 46->.
    // 47->/
    // 95->_
    // 48->0  57->9
    // 65->A  90->Z
    // 97->a  122->z
    // 12592~12687 ÇÑ±Û
    if (
        false
        || keycode == 32
        || keycode == 43
        || keycode == 45
        || keycode == 46
        || keycode == 47
        || keycode == 95
        || (keycode >= 48 && keycode <= 57)
        || (keycode >= 65 && keycode <= 90)
        || (keycode >= 97 && keycode <= 122)
        || (keycode >= 12592 && keycode <= 12687)
    ) {
        event.returnValue = true;
    } else {
        event.returnValue = false
    }
}

/*
 * ¼³  ¸í : TextField¿¡ ¼ýÀÚ¸¸ ÀÔ·ÂµÇ°Ô ÇÑ´Ù.
 *          onkeypress ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª : boolean - (0 ~ 9) = true, ³ª¸ÓÁö false
 */
function onlyNum() {
  var keycode = event.keyCode;

  // 48->0  57->9
  if (keycode >= 48 && keycode <=57) {
    return true;
  }

  return false;
}

/*
 * ¼³  ¸í : TextField¿¡ ¼ýÀÚ¿Í ¸¶Ä§Ç¥(.)¸¸ ÀÔ·ÂµÇ°Ô ÇÑ´Ù.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª : boolean - (0 ~ 9 | .) = true, ³ª¸ÓÁö false
 */
function onlyNumWithPeriod() {
	var keycode = event.keyCode;
	// 48->0  57->9
	if ((keycode >= 48 && keycode <=57) || keycode == 46) {
		var field = event.srcElement.value;
		if(keycode == 46 && field.indexOf(".") != -1)
			return false;
    return true;
  }

  return false;
}

/*
 * ¼³  ¸í : TextField¿¡ ¼ýÀÚ¿Í ¿µ¹®¸¸ ÀÔ·ÂµÇ°Ô ÇÑ´Ù.
 *          onkeypress ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª : boolean - ¼ýÀÚ¿µ¹® = true, ³ª¸ÓÁö false
 */
function onlyCode() {
  var keycode = event.keyCode;

  // 46->.  47->/  95->_  48->0  57->9  65->A  90->Z  97->a  122->z
  if (keycode == 46 || keycode == 47 || keycode == 95 ||
      (keycode >= 48 && keycode <=57) ||
      (keycode >= 65 && keycode <=90) ||
      (keycode >= 97 && keycode <=122)) {
    return true;
  }

  return false;
}

/*
 * ¼³  ¸í : TextField¿¡ ¼ýÀÚ¿Í ¿µ¹®, °ø¹é(space)¸¸ ÀÔ·ÂµÇ°Ô ÇÑ´Ù.
 *          onkeypress ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª : boolean - ¼ýÀÚ,¿µ¹®,°ø¹é = true, ³ª¸ÓÁö false
 */
function onlyAlpha() {
  var keycode = event.keyCode;

  // 32->  48->0  57->9  65->A  90->Z  97->a  122->z
  if (keycode == 32 || 
      (keycode >= 48 && keycode <=57) ||
      (keycode >= 65 && keycode <=90) ||
      (keycode >= 97 && keycode <=122)) {
    return true;
  }

  return false;
}

/*
 * ¼³  ¸í : ¼ýÀÚÀÔ·Â TextField¿¡ , ¸¦ ºÙÀÎ ÈÄ ¼¼ÆÃÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function currency() {
  var field = event.srcElement;
  var value = field.value.replace(/\,/g,"");
  field.value = plusComma(value, field.format);
}


/*
 * ¼³  ¸í : ¼ýÀÚÀÔ·Â TextField¿¡ , ¸¦ Á¦°ÅÇÑ ÈÄ ¼¼ÆÃÇÑ´Ù.
 *          onfocus ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function currencyClear() {
  var field = event.srcElement;
  field.value = field.value.replace(/\,/g,"");
  setFocus(field);
}


/*
 * ¼³  ¸í : ÇÊµåÀÇ °ªÀ» ´ë¹®ÀÚ·Î ¹Ù²Û ÈÄ ¼¼ÆÃÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function upperCase() {
  var field = event.srcElement;
  field.value = field.value.toUpperCase();
}


/*
 * ¼³  ¸í : maxLength°¡ µÇ¸é ´ÙÀ½ ÇÊµå·Î Æ÷Ä¿½º¸¦ ¿Å±ä´Ù.
 *          onkeypress ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function autoTab() {
  var current = event.srcElement;

  var keycode = event.keyCode;

  if (current.isOnlyNum == "Y" ||
      current.isNum == "Y" ||
      current.isNumP == "Y" ||
      current.isDate == "Y" ||
      current.isTelNum == "Y") {
    if (keycode >= 65 && keycode <=90) {
      return;
    }
  }

  if (event.ctrlKey || event.altKey ||
      keycode <= 40 || keycode >= 229 ||
      current.value.length != current.maxLength) {
    return;
  }

  var i = 0;
  //var fields = baseForm.elements;
  var fields = document.all;
  var size = fields.length;
  for (i; i<size; i++) {
    field = fields[i];
    if (!isField(field)) {
      continue;
    }

    // ÇöÀç ÇÊµå ÀÎµ¦½º Ã£±â
    if (field == current) {
      break;
    }
  }

  i++;  // ´ÙÀ½ ÇÊµåÀÇ ÀÎµ¦½º

  for (i; i<size; i++) {
    field = fields[i];
    if (!isField(field)) {
      continue;
    }

    if (field.readOnly || field.disabled
      || field.type == 'hidden' || field.type == 'checkbox'
      || field.tabIndex == -1) {
      continue;
    }

    setFocus(field);
    break;
  }

  if (i == size) {
    for (var k=0; k<size; k++) {
      field = fields[k];
      if (!isField(field) || field.type == 'hidden') {
        continue;
      }
      setFocus(field);
      break;
    }
  }
}

/*
 * ¼³  ¸í : YYYY-MM-DD Çü½ÄÀÇ ³¯Â¥ÀÇ validation.
 * ÀÎÀÚ 1 : value - ³¯Â¥
 * ¸®ÅÏ°ª : boolean - ¿Ã¹Ù¸¥ ³¯Â¥¸é true, ¾Æ´Ï¸é false
 */
function checkDate(value) {
  var yyyy = eval(value.substring(0, 4));
  var   mm = eval(value.substring(4, 6));
  var   dd = eval(value.substring(6, 8));

  var date = new Date(yyyy, mm-1, dd);

  if (yyyy != date.getFullYear() ||
        mm != (date.getMonth()+1) ||
        dd != date.getDate()) {
    return false;
  }
  return true;
}

/*
 * ¼³  ¸í : YYYY-MM Çü½ÄÀÇ ³¯Â¥ÀÇ validation.
 * ÀÎÀÚ 1 : value - ³¯Â¥
 * ¸®ÅÏ°ª : boolean - ¿Ã¹Ù¸¥ ³¯Â¥¸é true, ¾Æ´Ï¸é false
 */
function checkMonth(value) {
  var yyyy = eval(value.substring(0, 4));
  var   mm = eval(value.substring(4, 6));
  var date = new Date(yyyy, mm-1, 1);

  if (yyyy != date.getFullYear() ||
        mm != (date.getMonth()+1)) {
    return false;
  }
  return true;
}

/*
 * ¼³  ¸í : HH:MM Çü½ÄÀÇ ³¯Â¥ÀÇ validation.
 * ÀÎÀÚ 1 : value - ³¯Â¥
 * ¸®ÅÏ°ª : boolean - ¿Ã¹Ù¸¥ ³¯Â¥¸é true, ¾Æ´Ï¸é false
 */
function checkTime(value) {
  var hh = eval(value.substring(0, 2));
  var mm = eval(value.substring(2, 4));
  var date = new Date();

  date.setHours(hh);
  date.setMinutes(mm);

  if (hh != date.getHours() || mm != date.getMinutes()) {
    return false;
  } else {
    return true;
  }
}

/*
 * ¼³  ¸í : ¼ýÀÚÀÔ·Â TextField¿¡ »ç¿ëÇÑ´Ù.
 *          onkeypress ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª : boolean - (- . 0 ~ 9) = true, ³ª¸ÓÁö false
 */
function checkNum() {
  var keycode = event.keyCode;

  // 43->+  44->,  45->-  46->.  47->/  48->0  57->9
  if ((keycode >= 45 && keycode <=57) && keycode != 44 && keycode != 47) {
    return true;
  }
  return false;
}

/*
 * ¼³  ¸í : ¼ýÀÚÀÔ·Â TextField¿¡ »ç¿ëÇÑ´Ù.
 *          onkeypress ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª : boolean - ( . 0 ~ 9) = true, ³ª¸ÓÁö false
 */
function checkNumP() {
  var keycode = event.keyCode;

  // 43->+  44->,  45->-  46->.  47->/  48->0  57->9
  if ((keycode > 45 && keycode <=57) && keycode != 44 && keycode != 47) {
    return true;
  }
  return false;
}

/*
 * ¼³  ¸í : fieldÀÇ maxLength¸¸Å­ÀÇ
 *          onkeypress ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function checkLength() {
    var field = event.srcElement;
    if (field.isLengthCheck == 'Y') {
        var len = eval(field.value.length);
        if(len == 0) return false;
        var min = eval(field.minLength);
        var max = eval(field.maxLength);
        if(min == undefined) min = field.size;
        if(max == undefined) max = field.size;

        if(min < max) {
          if ((len < min) || (len > max)) {
            alert(getTitle(field) + ' (' + min + '~' + max + ') ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä.');
            setFocus(field);
          }
        } else {
          if (len != max) {
            alert(getTitle(field) + ' ' + max + 'ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä.');
            setFocus(field);
          }
        }
    }
}

/*
 * ¼³  ¸í : valueÀÇ zipGuBun2¿¡ ¹®ÀÚ¿­À» Á¦°ÅÇÑ´Ù.
 * ÀÎÀÚ 1 : value - string
 * ¸®ÅÏ°ª : formatÀÌ Á¦°ÅµÈ value
 */
function rmFormat(value) {
  return value.replace(zipGuBun2,"");
}

/*
 * ¼³  ¸í : valueÀÇ dateGuBun2¿¡ ¹®ÀÚ¿­À» Á¦°ÅÇÑ´Ù.
 * ÀÎÀÚ 1 : value - string
 * ¸®ÅÏ°ª : formatÀÌ Á¦°ÅµÈ value
 */
function rmDate(value) {
  return (value.replace(dateGuBun2,"")).replace(" ","");
}

/*
 * ¼³  ¸í : valueÀÇ timeGuBun2¿¡ ¹®ÀÚ¿­À» Á¦°ÅÇÑ´Ù.
 * ÀÎÀÚ 1 : value - string
 * ¸®ÅÏ°ª : formatÀÌ Á¦°ÅµÈ value
 */
function rmTime(value) {
  return value.replace(timeGuBun2,"");
}

/*
 * ¼³  ¸í : ¼ýÀÚ¿¡ ',' ¸¦ Á¦°ÅÇÑ ÈÄ ¸®ÅÏÇÑ´Ù.
 * ÀÎÀÚ 1 : num - ',' °¡ ºÙÀº ¼ýÀÚ
 * ¸®ÅÏ°ª : ',' °¡ Á¦°ÅµÈ ¹®ÀÚ¿­
 */
function rmNum(value) {
  value += '';
  return value.replace(/\,/g,"");
}

/*
 * ¼³  ¸í : ³¯Â¥ÇÊµåÀÇ YYYY-MM-DDÀÇ ³¯Â¥¸¦ YYYYMMDD·Î ¹Ù²ã ¼¼ÆÃÇÑ´Ù.
 *          onfocus ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function removeDate() {
  var field = event.srcElement;

  var value = field.value;

  if (value == "") {
    return;
  }

  field.value = rmDate(value);
  setFocus(field);
}

/*
 * ¼³  ¸í : ½Ã°£ÇÊµåÀÇ HH:MMÀÇ ½Ã°£À» HH:MMÀ¸·Î ¹Ù²ã ¼¼ÆÃÇÑ´Ù.
 *          onfocus ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function removeTime() {
  var field = event.srcElement;

  var value = field.value;

  if (value == "") {
    return;
  }

  field.value = rmTime(value);
  setFocus(field);
}

/*
 * ¼³  ¸í : ¿ìÆí¹øÈ£, ÁÖ¹Î¹øÈ£, »ç¾÷ÀÚ¹øÈ£, ÀüÈ­¹øÈ£ÀÇ - ±¸ºÐÀ» Á¦°ÅÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function removeRegNum() {
  var field = event.srcElement;

  var value = rmFormat(field.value);

  if (value == "") {
    return;
  }

  field.value = value;
  setFocus(field);
}

/*
 * ¼³  ¸í : ¹ýÀÎ¹øÈ£ - ±¸ºÐÀ» Á¦°ÅÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */

function removeLawRegNum() {
  var field = event.srcElement;

  var value = rmFormat(field.value);

  if (value == "") {
    return;
  }

  field.value = value;
  setFocus(field);
}

/*
 * ¼³  ¸í : YYYYMMDDÀÇ ³¯Â¥¸¦ YYYY-MM-DD·Î ¹Ù²Û ÈÄ ¸®ÅÏÇÑ´Ù.
 * ÀÎÀÚ 1 : value - 8ÀÚ¸® ³¯Â¥
 * ÀÎÀÚ 2 : gubun - ±¸ºÐÀÚ
 * ¸®ÅÏ°ª : format µÈ 10ÀÚ¸® ³¯Â¥
 */
function plusDate(value, gubun) {
  if (value == "") {
    return value;
  }

  var yyyy = value.substring(0, 4);
  var   mm = value.substring(4, 6);
  var   dd = value.substring(6, 8);

  if (arguments.length == 2) {
    return yyyy + gubun + mm + gubun + dd;
  } else {
    return yyyy + dateGuBun + mm + dateGuBun + dd;
  }
}

/*
 * ¼³  ¸í : YYYYMMÀÇ ³¯Â¥¸¦ YYYY-MM·Î ¹Ù²Û ÈÄ ¸®ÅÏÇÑ´Ù.
 * ÀÎÀÚ 1 : value - 6ÀÚ¸® ³¯Â¥
 * ¸®ÅÏ°ª : format µÈ 7ÀÚ¸® ³¯Â¥
 */
function plusMonth(value) {
  if (value == "") {
    return value;
  }

  var yyyy = value.substring(0, 4);
  var   mm = value.substring(4, 6);

  return yyyy + dateGuBun + mm;
}

/*
 * ¼³  ¸í : hhmmÀÇ ½Ã°£À» hh + timeGuBum + mmÀ¸·Î ¹Ù²Û ÈÄ ¸®ÅÏÇÑ´Ù.
 * ÀÎÀÚ 1 : value - 4ÀÚ¸® ½Ã°£
 * ¸®ÅÏ°ª : format µÈ 5ÀÚ¸® ½Ã°£
 */
function plusTime(value) {
  if (value == "") {
    return value;
  }

  var hh = value.substring(0, 2);
  var mm = value.substring(2, 4);

  return hh + timeGuBun + mm;
}

/*
 * ¼³  ¸í : format="5.2" ¼Ó¼º¿¡ ¸Â°Ô ¼Ò¼öºÎ¸¦ ÀÚ¸¥´Ù.
 *          ¼Ò¼öºÎÀÇ ÀÚ¸®¼ö°¡ ³ÑÀ»¶§¿¡´Â ¹Ý¿Ã¸²À» ÇÑ´Ù.
 * ÀÎÀÚ 1 : input - °ª
 * ÀÎÀÚ 2 : type - format ÀÇ °ª (¿¹: 5.2)
 * ¸®ÅÏ°ª : Çü½Ä¿¡ ¸Â°Ô ¼Ò¼öºÎ°¡ Ã³¸®µÈ ¼ýÀÚÇü ¹®ÀÚ¿­
 */
function fillZero(input, type) {
    if (!type) {
        return input + "";
    }

    var format = type.split('.');
    var value = (input + "").split('.');


    if (format[1] == 0) {
        return value[0]+"";
    }

    if (!value[1]) {
        value[1] = "";
    }

    //¼Ò¼öÁ¡ ÀÌÇÏ°¡ Æ÷¸Ëº¸´Ù Å¬ °æ¿ì´Â
    //±×³É ¹Ý¿Ã¸²ÇÏ¿© ¸®ÅÏÇÑ´Ù
    if (value[1].length > Number(format[1])) {
         return (Number(input).toFixed(Number(format[1])));
    }

    //¼Ò¼öÁ¡ ÀÚ¸®¼ö¿¡ ¸Â°Ô '0'À» Ã¤¿öÁØ´Ù
    //¿¹¸¦ µé¸é µ¥ÀÌÅ¸ Çü½ÄÀÌ 5.2ÀÏ °æ¿ì
    //ÀÔ·Â°ªÀÌ '50'ÀÌ¸é '50.00'À¸·Î ¸®ÅÏÇÑ´Ù
    while ( value[1].length < Number(format[1]) ) {
        value[1] += "0";
    }

  if (isNaN(value[0])) {
    value[0] = "0";
  }

    //value[0]À» Number °´Ã¼·Î º¯È¯
    //000.000 °°Àº °æ¿ì¸¦ 0.000À¸·Î º¯È¯ÇÏ±â À§ÇØ¼­
    return (value[0] + "." + value[1]);
}


/*
 * ¼³  ¸í : ¼ýÀÚ¿¡ , ¸¦ ºÙÀÎ ÈÄ ¸®ÅÏÇÑ´Ù.
 * ÀÎÀÚ 1 : num - ¼ýÀÚ
 * ¸®ÅÏ°ª : , °¡ ºÙÀº ¹®ÀÚ¿­
 */
function plusComma(num, format) {
  if (num == "") {
    return num;
  }

  num = fillZero(num, format);

  var minus = true;
    if (num < 0) {
    num = num.substring(1, num.length);
  }
    else {
    minus = false;
  }


    var dotPos = (num + "").split(".");
    var dotU = dotPos[0];
    var dotD = dotPos[1];
    var commaFlag = dotU.length%3;

    if (commaFlag) {
        var out = dotU.substring(0, commaFlag) ;
        if (dotU.length > 3) out += ",";
    }
    else var out = "";

    for (var i=commaFlag; i < dotU.length; i+=3) {
        out += dotU.substring(i, i+3) ;
        if(i < dotU.length-3) out += ",";
    }

    if (minus) out = "-" + out;
    if (dotD) out = out + "." + dotD;

  return out;
}

/*
 * ¼³  ¸í : ÀüÈ­¹øÈ£ÀÇ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 * ÀÎÀÚ 1 : value
 * ¸®ÅÏ°ª : - °¡ Ãß°¡µÈ °ª
 */
function plusTelNum(value) {
  return value.replace(reTel, '$1-$2-$3');
}

/*
 * ¼³  ¸í : ÇÚµåÆù¹øÈ£ÀÇ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 * ÀÎÀÚ 1 : value
 * ¸®ÅÏ°ª : - °¡ Ãß°¡µÈ °ª
 */
function plusSelNum(value) {
  return value.replace(reSel, '$1-$2-$3');
}

/*
 * ¼³  ¸í : ¿ìÆí¹øÈ£ÀÇ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 * ÀÎÀÚ 1 : value
 * ¸®ÅÏ°ª : - °¡ Á¦°ÅµÈ °ª
 */
function plusZip(value) {
  if (value.length != 6) {
    return value;
  }

  return value.substring(0,3) + zipGuBun + value.substring(3,6);
}


/*
 * ¼³  ¸í : ÁÖ¹Î¹øÈ£ÀÇ - ±¸ºÐÀ» ºÙÀÎ´Ù.
 * ÀÎÀÚ 1 : value - ÁÖ¹Î¹øÈ£
 * ¸®ÅÏ°ª : - °¡ ºÙÀº°ª
 * ¼öÁ¤ : À¯È¿Á¾ 2006/09/06  »ç¾÷ÀÚ µî·Ï¹øÈ£ Ãß°¡
 */
function plusRegNum(value) {
/*
  if (value.length != 13) {
    return value;
  }
*/
  if(value.length==13) {
      return value.substring(0,6) + zipGuBun + value.substring(6,13);
  } else if(value.length==10) {
      return plusSaUpNum(value);
  } else {
      return value;
  }


}

/*
 * ¼³  ¸í : ¹ýÀÎµî·Ï¹øÈ£ÀÇ - ±¸ºÐÀ» ºÙÀÎ´Ù.
 * ÀÎÀÚ 1 : value - »ç¾÷ÀÚ¹øÈ£
 * ¸®ÅÏ°ª : - °¡ ºÙÀº°ª
 */
function plusLawRegNum(value) {
  if (value.length != 13) {
    return value;
  }

  return (value.substring(0,4) + zipGuBun + value.substring(4,6)
          + zipGuBun + value.substring(6,13));
}

/*
 * ¼³  ¸í : »ç¾÷ÀÚ¹øÈ£ÀÇ - ±¸ºÐÀ» ºÙÀÎ´Ù.
 * ÀÎÀÚ 1 : value - »ç¾÷ÀÚ¹øÈ£
 * ¸®ÅÏ°ª : - °¡ ºÙÀº°ª
 */
function plusSaUpNum(value) {
  if (value.length != 10) {
    return value;
  }

  return (value.substring(0,3) + zipGuBun + value.substring(3,5)
              + zipGuBun + value.substring(5,10));
}


/*
 * ¼³  ¸í : ³¯Â¥ÇÊµåÀÇ YYYYMMDDÀÇ ³¯Â¥¸¦ YYYY-MM-DD·Î ¹Ù²ã ¼¼ÆÃÇÑ´Ù.?
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ¼ö  Á¤ : isHour ¼Ó¼ºÀ» ºÎ¿©ÇÏ¿© ½Ã°£±îÁö Ç¥Çö °¡´ÉÇÏµµ·Ï ¼öÁ¤ÇÔ
 *          20040503 ±ÇÈñÁØ
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function formatDate() {
  var field = event.srcElement;
  var value = rmDate(field.value);

  if (value == "") {
    return;
  }

  if (field.isMonth == "Y") {
    if (value.length != 6) { // ÀÚ¸®¼ö Ã¼Å©(³â¿ù)
      alert("³¯Â¥°¡ Àß¸ø ÀÔ·ÂµÇ¾ú½À´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä. (¿¹: 200308)");
      field.value = "";
      setFocus(field);
      return;
    }

    if (!checkMonth(value)) { // ³¯Â¥ validation
      alert("Á¸ÀçÇÏÁö ¾Ê´Â ³¯Â¥ÀÔ´Ï´Ù. È®ÀÎ ÈÄ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
      field.value = "";
      setFocus(field);
      return;
    }

    field.value = plusMonth(value);
  }
  else if (field.isHour == "Y") {
    if (value.length != 10) { // ÀÚ¸®¼ö Ã¼Å©(³â¿ùÀÏ½Ã)
      alert("³¯Â¥°¡ Àß¸ø ÀÔ·ÂµÇ¾ú½À´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä. (¿¹: 2003080411)");
      field.value = "";
      setFocus(field);
      return;
    }

    if (!checkDate(value.substring(0,8))) {
      alert("Á¸ÀçÇÏÁö ¾Ê´Â ³¯Â¥ÀÔ´Ï´Ù. È®ÀÎ ÈÄ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
      field.value = "";
      setFocus(field);
      return;
    }

    var tmpTime = new Number(value.substring(8,10));
    if (tmpTime >= 24) {
      alert("½Ã°£Àº 23½Ã±îÁö¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. È®ÀÎ ÈÄ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
      field.value = "";
      setFocus(field);
      return;
    }

    field.value = plusDate(value) + " " + value.substring(8,10);
  }
  else {
    if (value.length != 8) { // ÀÚ¸®¼ö Ã¼Å©
      alert("³¯Â¥°¡ Àß¸ø ÀÔ·ÂµÇ¾ú½À´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä. (¿¹: 20030809)");
      field.value = "";
      setFocus(field);
      return;
    }

    if (!checkDate(value)) { // ³¯Â¥ validation
      alert("Á¸ÀçÇÏÁö ¾Ê´Â ³¯Â¥ÀÔ´Ï´Ù. È®ÀÎ ÈÄ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä.");
      field.value = "";
      setFocus(field);
      return;
    }

    field.value = plusDate(value);
  }

}

/*
 * ¼³  ¸í : ½Ã°£ÇÊµåÀÇ HHMMÀÇ ½Ã°£À» HH:MMÀ¸·Î ¹Ù²ã ¼¼ÆÃÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function formatTime() {
  var field = event.srcElement;
  var value = rmTime(field.value);

  if (value == "") {
    return;
  }

  if (value.length != 4) { // ÀÚ¸®¼ö Ã¼Å©
    alert("½Ã°£ÀÌ Àß¸ø ÀÔ·ÂµÇ¾ú½À´Ï´Ù. ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä. (¿¹: 1030)");
    field.value = "";
    setFocus(field);
    return;
  }

  if (!checkTime(value)) { // ½Ã°£ validation
    alert("Á¸ÀçÇÏÁö ¾Ê´Â ½Ã°£ÀÔ´Ï´Ù. È®ÀÎ ÈÄ ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä. (¿¹: 0000,2359)");
    field.value = "";
    setFocus(field);
    return;
  }

  field.value = plusTime(value);

}

/*
 * ¼³  ¸í : ¿ìÆí¹øÈ£ '-' ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 */
function formatZipCode() {
  var field = event.srcElement;
  var value = rmFormat(field.value);
  if (value == "") {
    return;
  }

  if( value.length==6) {
    field.value = plusZip(value);
  } else {
      alert("¿ìÆí¹øÈ£ 6ÀÚ¸®·Î ÀÔ·ÂÇÏ¼¼¿ä");
      field.select();
  }
}

/*
 * ¼³  ¸í : ÁÖ¹Î¹øÈ£ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function formatRegNum() {
  var field = event.srcElement;

  var value = rmFormat(field.value);

  if (value == "") {
    return;
  }

    //2005.5.18
    //13ÀÚ¸®ÀÌ¸é ÁÖ¹Îµî·Ï¹øÈ£ (XXXXXX-XXXXXXX)
    //10ÀÚ¸®ÀÌ¸é »ç¾÷ÀÚ¹øÈ£ (XXX-XX-XXXXX)
    if(value.length==13) {
        field.value = plusRegNum(value);
    } else if(value.length==10) {
        field.value = plusSaUpNum(value);
    } else {
        alert("ÁÖ¹Îµî·Ï¹øÈ£ 13ÀÚ¸® ¶Ç´Â »ç¾÷ÀÚ¹øÈ£ 10ÀÚ¸®·Î ÀÔ·ÂÇÏ¼¼¿ä");
        field.select();
    }
}

/*
 * ¼³  ¸í : Only ÁÖ¹Îµî·Ï¹øÈ£ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 */
function formatOnlyRegNum() {
    var field = event.srcElement;
    var value = rmFormat(field.value);

    if(value == "") return;

    if(value.length == 13) {
        field.value = plusRegNum(value);
    } else {
        alert("ÁÖ¹Îµî·Ï¹øÈ£ 13ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä");
        field.select();
    }
}

/*
 * ¼³  ¸í : Only ÁÖ¹Îµî·Ï¹øÈ£ ¾ÕÀÚ¸® Ã¼Å©¸¦ ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 *          2009.04.22 Ãß°¡ - ±ÇÁ¤ÈÆ
 */
function formatOnlyRegNumFirst() {
    var field = event.srcElement;

    if(field.value == "") return;

    if(field.value.length != 6) {
        alert("ÁÖ¹Îµî·Ï¹øÈ£ ¾Õ 6ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä");
        field.select();
    }
}

/*
 * ¼³  ¸í : Only ÁÖ¹Îµî·Ï¹øÈ£ µÞÀÚ¸® Ã¼Å©¸¦ ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 *          2009.04.22 Ãß°¡ - ±ÇÁ¤ÈÆ
 */
function formatOnlyRegNumSecond() {
    var field = event.srcElement;

    if(field.value == "") return;

    if(field.value.length != 7) {
        alert("ÁÖ¹Îµî·Ï¹øÈ£ µÚ 7ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä");
        field.select();
    }
}

/*
 * ¼³  ¸í : Only ¹ýÀÎµî·Ï¹øÈ£ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 */
function formatOnlyCorpNum() {
    var field = event.srcElement;
    var value = rmFormat(field.value);

    if(value == "") return;

    if(value.length == 13) {
        field.value = plusRegNum(value);
    } else {
        alert("¹ýÀÎµî·Ï¹øÈ£ 13ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä");
        field.select();
    }
}

/*
 * ¼³  ¸í : Only ¹ýÀÎ¹øÈ£ ¾ÕÀÚ¸® Ã¼Å©¸¦ ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 *          2009.04.22 Ãß°¡ - ±ÇÁ¤ÈÆ
 */
function formatOnlyCorpNumFirst() {
    var field = event.srcElement;

    if(field.value == "") return;

    if(field.value.length != 6) {
        alert("¹ýÀÎ¹øÈ£ ¾Õ 6ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä");
        field.select();
    }
}

/*
 * ¼³  ¸í : Only ¹ýÀÎ¹øÈ£ µÞÀÚ¸® Ã¼Å©¸¦ ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 *          2009.04.22 Ãß°¡ - ±ÇÁ¤ÈÆ
 */
function formatOnlyCorpNumSecond() {
    var field = event.srcElement;

    if(field.value == "") return;

    if(field.value.length != 7) {
        alert("¹ýÀÎ¹øÈ£ µÚ 7ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä");
        field.select();
    }
}

/*
 * ¼³  ¸í : ¼Ò¼öÁ¡ ÀÌÇÏ 3ÀÚ¸®±îÁö¸¸ Çã¿ë.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 *          2009.07.06 Ãß°¡ - ±ÇÁ¤ÈÆ
 */
function formatDecimalPoint() {
	var field = event.srcElement;
	
	if(field.value.indexOf(".") == 0)
		field.value = "0" + field.value;
	
	var fieldValues = field.value.split(".");

	if(field.value == "" || fieldValues[1] == undefined) return;

	if(fieldValues[1].length > 3) {
		field.value = field.value.substring(0, (field.value.length - (fieldValues[1].length - 3)));
	} else if(fieldValues[1].length == 0) {
		field.value = fieldValues[0];
	}
}

/*
 * ¼³  ¸í : Only »ç¾÷ÀÚµî·Ï¹øÈ£ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 */
function formatOnlyBizNum() {
    var field = event.srcElement;
    var value = rmFormat(field.value);

    if(value == "") return;

    if(value.length == 10) {
        field.value = plusSaUpNum(value);
    } else {
        alert("»ç¾÷ÀÚµî·Ï¹øÈ£ 10ÀÚ¸®¸¦ ÀÔ·ÂÇÏ¼¼¿ä");
        field.select();
    }
}


/*
 * ¼³  ¸í : »ç¾÷ÀÚµî·Ï¹øÈ£ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function formatBizNum() {
  var field = event.srcElement;

  var value = rmFormat(field.value);

  if (value == "") {
    return;
  }

    //10ÀÚ¸®ÀÌ¸é »ç¾÷ÀÚ¹øÈ£ (XXX-XX-XXXXX)
    if(value.length==10) {
        field.value = plusSaUpNum(value);
    } else {
        alert("»ç¾÷ÀÚ¹øÈ£ 10ÀÚ¸®·Î ÀÔ·ÂÇÏ¼¼¿ä");
        field.select();
    }
}

/*
 * ¼³  ¸í : ¹ýÀÎ¹øÈ£ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function formatLawRegNum() {
  var field = event.srcElement;

  var value = rmFormat(field.value);

  if (value == "") {
    return;
  }

  //2005.5.18
  //13ÀÚ¸®ÀÌ¸é ÁÖ¹Îµî·Ï¹øÈ£ (XXXXXX-XXXXXXX)
  if(value.length==13) {
    field.value = plusLawRegNum(value);
  } else {
    alert("ÁÖ¹Î/¹ýÀÎ µî·Ï¹øÈ£¸¦ 13ÀÚ¸®·Î ÀÔ·ÂÇÏ¼¼¿ä");
    field.select();
  }
}

/*
 * ¼³  ¸í : ÀüÈ­¹øÈ£ÀÇ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 : value
 * ¸®ÅÏ°ª : - °¡ Ãß°¡µÈ °ª
 */
function formatTelNum() {
  var field = event.srcElement;

  var value = rmFormat(field.value);

  if (value == "") {
    return;
  }

  field.value = plusTelNum(value);
  if (field.value == value) {
    if (confirm('ÀüÈ­¹øÈ£°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù. ¼öÁ¤ÇÏ½Ã°Ú½À´Ï±î?')) {
      setFocus(field);
      return false;
    }
  }
}

function formatHpNum() {
  var field = event.srcElement;

  var value = rmFormat(field.value);

  if (value == "") {
    return;
  }

  field.value = plusHpNum(value);
  if (field.value == value) {
    if (confirm('ÈÞ´ëÆù¹øÈ£°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù. ¼öÁ¤ÇÏ½Ã°Ú½À´Ï±î?')) {
      setFocus(field);
      return false;
    }
  }
}

/*
 * ¼³  ¸í : ÇÚµåÆù¹øÈ£ÀÇ - ±¸ºÐÀ» Ãß°¡ÇÑ´Ù.
 *          onblur ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 : value
 * ¸®ÅÏ°ª : - °¡ Ãß°¡µÈ °ª
 */
function formatSelNum() {
  var field = event.srcElement;

  var value = rmFormat(field.value);

  if (value == "") {
    return;
  }

  field.value = plusSelNum(value);

  if (field.value == value) {
    if (confirm('ÀüÈ­¹øÈ£°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù. ¼öÁ¤ÇÏ½Ã°Ú½À´Ï±î?')) {
      setFocus(field);
      return false;
    }
  }
}

/*
 * ¼³  ¸í : ÁÖ¹Îµî·Ï¹øÈ£¸¦ Ã¼Å©ÇÑ´Ù.
 * ÀÎÀÚ 1 : ÁÖ¹Îµî·Ï¹øÈ£ 13ÀÚ¸®
 * ¸®ÅÏ°ª : boolean - true ¶Ç´Â false
 */
function isRegNo(regNo) {
  if (regNo == "") {
    return true;
  }

  if (regNo.length != 13) {
    alert("ÁÖ¹Îµî·Ï¹øÈ£´Â 13ÀÚ¸® ÀÔ´Ï´Ù.");
    return false;
  }

  var sum = 0;

  for (var i=0; i<12; i++) {
    m = (i+2)%10;
    if (i > 7) m += 2;

    sum += eval(regNo.charAt(i))*m;
  }

  var chkNum = (11 - sum%11)%10;

  if (chkNum != eval(regNo.charAt(12))) {
    return false;
  }

  return true;
}


/*
 * ¼³  ¸í : ¹ýÀÎ¹øÈ£¸¦ Ã¼Å©ÇÑ´Ù.
 * ÀÎÀÚ 1 : ¹ýÀÎ¹øÈ£ 13ÀÚ¸®
 * ¸®ÅÏ°ª : boolean - true ¶Ç´Â false
 */
function isBubInNo(bubInNo) {
  if (bubInNo.length != 13) {
    alert("¹ýÀÎ¹øÈ£´Â 13ÀÚ¸® ÀÔ´Ï´Ù.");
    return false;
  }

  var m = 1;
  var sum = 0;

  for (var i=0; i<12; i++) {
    sum += eval(bubInNo.charAt(i))*m;

    m = (m == 1) ? 2 : 1;
  }

  var chkNum = (10 - sum%10)%10;

  if (chkNum != eval(bubInNo.charAt(12))) {
    return false;
  }

  return true;
}


/*
 * ¼³  ¸í : »ç¾÷ÀÚµî·Ï¹øÈ£¸¦ Ã¼Å©ÇÑ´Ù.
 * ÀÎÀÚ 1 : »ç¾÷Àåµî·Ï¹øÈ£ 10ÀÚ¸®
 * ¸®ÅÏ°ª : boolean - true ¶Ç´Â false
 */
function isSaUpNo(saUpNo) {
  if (saUpNo.length != 10) {
    alert("»ç¾÷ÀÚµî·Ï¹øÈ£´Â 10ÀÚ¸® ÀÔ´Ï´Ù.");
    return false;
  }

  var m = 0;
  var sum = 0;

  for (var i=0; i<10; i++) {
    if (i != 8) {
      m = i%3;

      if (m == 0)
        m = 1;
      else if (m == 1)
        m = 3;
      else if (m == 2)
        m = 7;

      m = eval(saUpNo.charAt(i))*m;
    }
    else {
      m = 5;
      m = eval(saUpNo.charAt(i))*m;

      if (m > 9) {
        m = Math.floor(m/10) + m%10;
      }
    }

    sum += m;
  } // for

  if (sum%10 != 0) {
    return false;
  }

  return true;
}

/*
 * ¼³  ¸í : ÇØ´ç ÇÊµåÀÇ °ªÀÌ ÁÖ¹Îµî·Ï¹øÈ£ÀÎÁö Ã¼Å©ÇÑ´Ù.
 * ÀÎÀÚ 1 : obj - Ã¼Å©ÇÒ ÇÊµå °´Ã¼
 * ¸®ÅÏ°ª :
 */
function checkValidRegNo(obj) {
  var val = trim(obj.value);

  if(val.length == 0 ) {
    return;
  }
  else if (val.length != 13 && val.length!=0) {
      alert('ÁÖ¹Îµî·Ï¹øÈ£´Â 13ÀÚ¸®ÀÌ¾î¾ß ÇÕ´Ï´Ù.');
      setFocus(obj);
      return;
  }
  else if (!isRegNo(val)) {
    alert('¿Ã¹Ù¸¥ ÁÖ¹Îµî·Ï¹øÈ£°¡ ¾Æ´Õ´Ï´Ù.');
    setValue(obj.name, "");
    setFocus(obj);
    return;
  }
  else {
    obj.value = val.substring(0,6) + dateGuBun + val.substring(6,13);
  }

}

/*
 * ¼³  ¸í : ¼Ò¼öÁ¡¿¡¼­ Àý»ç¸¦ ÇÑ´Ù. 3300 / 1.1 = 2999.9999°¡ µÇ´Â°É ¹æÁö. ¿ø·¡°ª(3000ÀÓ)
 * ÀÎÀÚ 1 : num - ¼ýÀÚ
 * ¸®ÅÏ°ª : Àý»çµÈ ¼ýÀÚ
 */
function floor(num) {
  return Math.floor(Math.round(num*1000)/1000);
}

/*
 * ¼³  ¸í : ³â¿ù¿¡ ÇØ´çÇÏ´Â ¸¶Áö¸·ÀÏÀ» ¸®ÅÏÇÑ´Ù.
 * ÀÎÀÚ 1 : yymm - ³â¿ù(YYYYMM)
 * ¸®ÅÏ°ª : ¸¶Áö¸·ÀÏ
 */
function getLastDay(yymm) {
  yymm += "";
  if (yymm.length != 6) {
    return 0;
  }

  var yy = yymm.substring(0,4);  // ¿ù
  var mm = yymm.substring(4,6);  // ¿ù

  if (mm == 2) {
    if (yy%4 == 0 && (yy%100 != 0 || yy%400 == 0)) {
      return 29+"";
    }
  }

  return days[mm-1]+"";
}

/*
 * ¼³  ¸í : ÇöÀç ³â¿ù¿¡¼­ month¸¸Å­ Â÷ÀÌ³ª´Â ³â¿ùÀ» ±¸ÇÑ´Ù.
 * ÀÎÀÚ 1 : yymm - ÇöÀç ³â¿ù
 * ÀÎÀÚ 2 : month - ¿ùÂ÷ÀÌ
 * ¸®ÅÏ°ª :
 */
function getMonth(yymm, month) {
  var yyyy = new Number(yymm.substring(0, 4));
  var   mm = new Number(yymm.substring(4, 6));

  var date = new Date(yyyy, (mm-1) + month, 1);

  yyyy = date.getFullYear();
    mm = date.getMonth()+1;

  return yyyy+ '' + ((mm < 10) ? '0'+mm : mm);
}

/*
 * ¼³  ¸í : ÇöÀç ³â¿ùÀÏ¿¡¼­ day¸¸Å­ Â÷ÀÌ³ª´Â ³â¿ùÀÏÀ» ±¸ÇÑ´Ù.
 * ÀÎÀÚ 1 : yymmdd - ÇöÀç ³â¿ùÀÏ
 * ÀÎÀÚ 2 : day - ÀÏÂ÷ÀÌ
 * ¸®ÅÏ°ª :
 */
function getDay(yymmdd, day) {
  var yyyy = new Number(yymmdd.substring(0, 4));
  var   mm = new Number(yymmdd.substring(4, 6));
  var   dd = new Number(yymmdd.substring(6, 8));

  var date = new Date(yyyy, (mm-1) + month, dd);

  yyyy = date.getFullYear();
    mm = date.getMonth()+1;
    dd != date.getDate();

  return yyyy+ '' + ((mm < 10) ? '0'+mm : mm)
             + '' + ((dd < 10) ? '0'+dd : dd);
}

/*
 * ¼³  ¸í : ½ÃÀÛÀÏÀÌ Á¾·áÀÏº¸´Ù ÀÌÈÄ ³¯Â¥ÀÎÁö check
 * ÀÎÀÚ 1 : ½ÃÀÛÀÏ name (m_ Á¦¿ÜÇÑ ÀÌ¸§)
 * ÀÎÀÚ 2 : Á¾·áÀÏ name (m_ Á¦¿ÜÇÑ ÀÌ¸§)
 * ¸®ÅÏ°ª :
 */
function checkDD(dd1,dd2) {
    var from = clearMask(getMaster(dd1));
    var to   = clearMask(getMaster(dd2));

    if(from.length==0||to.length==0)
        return;

    var diff = new Number(from) - new Number(to);

    if(diff > 0 ) {
        alert('Á¾·áÀÏÀº ½ÃÀÛÀÏº¸´Ù ÀÌÈÄ ³¯Â¥¸¦ ÀÔ·ÂÇÏ¼¼¿ä.');
        setMValue(dd1,'');
        setMValue(dd2,'');
        getMaster(dd1).focus();
    }
}

/*
 * ¼³  ¸í : µÎ ³¯Â¥°£ÀÇ Â÷ÀÌ¸¦ °è»êÇÏ¿© ¸®ÅÏÇÑ´Ù.
 * ÀÎÀÚ 1 : from - Ã¹¹øÂ° ³¯Â¥(YYYY-MM-DD)
 * ÀÎÀÚ 2 : to - µÎ¹øÂ° ³¯Â¥(YYYY-MM-DD)
 * ¸®ÅÏ°ª : µÎ ³¯Â¥°£ÀÇ ÀÏ¼ö
 */
function dayDiff(from, to){
  from = _plusDate(rmDate(from), "/");
  to = _plusDate(rmDate(to), "/");

  var f = Date.parse(from);
  var t = Date.parse(to);

  var diff = Math.abs(t - f);
  return Math.round(diff / ONE_DAY);
}

/*
 * ¼³  ¸í : ÀÔ·Â¹ÞÀº ¸Þ½ÃÁö¸¦ windowÀÇ »óÅÂÇ¥½ÃÁÙ¿¡ Ãâ·ÂÇÑ´Ù.
 * ÀÎÀÚ 1 : msg - Ãâ·ÂÇÒ ¸Þ½ÃÁö
 * ¸®ÅÏ°ª :
 */
function setStatus(msg) {
  window.status = msg;
}

/*
 * ¼³  ¸í : ÀÔ·Â¹ÞÀº ÇÊµå·Î Æ÷Ä¿½º¸¦ ¿Å±ä´Ù.
 * ÀÎÀÚ 1 : field - ÇÊµå°´Ã¼ / field ¸í
 * ¸®ÅÏ°ª :
 */
function setFocus(field) {
  if(getField(field)!=null) {
    field = getField(field);
  }

  try {
    if (field.type == "text") {
      if (field.value != '') {
        //field.select();
        field.focus();
      }
      else {
        field.focus();
      }
    }
    else {
      field.focus();
    }
  } catch (e) { }
}

/*
 * ¼³  ¸í : ÇØ´ç ÇÊµå¿¡ Æ÷Ä¿½º°¡ µé¾î¿À¸é °ªÀ» ÀüÃ¼¼±ÅÃ ÇÑ´Ù.
 *          onfocus ÀÌº¥Æ®¿¡ »ç¿ëÇÔ.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function selectAll() {
  var field = event.srcElement;
  try {
    field.select();
  } catch (e) { }
}

/*
 * ¼³  ¸í : ÇØ´ç ¹®ÀÚ¿­ ¾çÂÊÀÇ white space¸¦ Á¦°ÅÇÑ ÈÄ ¸®ÅÏÇÑ´Ù.
 * ÀÎÀÚ 1 : str - ¹®ÀÚ¿­
 * ¸®ÅÏ°ª : white space °¡ Á¦°ÅµÈ ¹®ÀÚ¿­
 */
function trim(str) {
  // ¾ÕÂÊÀÇ white space °¡ ¾Æ´Ñ À§Ä¡ Ã£±â
    for (i=0; i<str.length; i++) {
        var ch = str.charAt(i);
        if (ch != ' ' && ch != '\r' && ch != '\n' && ch != '\t')
            break;
    }
    var spos = i;

  // µÚÂÊÀÇ white space °¡ ¾Æ´Ñ À§Ä¡ Ã£±â
    for (i=str.length-1; i>spos; i--) {
        var ch = str.charAt(i);
        if (ch != ' ' && ch != '\r' && ch != '\n' && ch != '\t')
            break;
    }
    var epos = i + 1;

    return str.substring(spos, epos);
}

/*
 * ¼³  ¸í : Enter¸¦ ´©¸£¸é Á¶È¸¸¦ È£ÃâÇÑ´Ù.
 * ÀÎÀÚ 1 : width - »õÃ¢À¸ ³ÐÀÌ
 * ÀÎÀÚ 2 : height - »õÃ¢ÀÇ ³ôÀÌ
 * ÀÎÀÚ 3 : offsetY - Áß¾Ó¿¡¼­ À§ÂÊÀ¸·Î ¿Ã¸± ³ôÀÌ
 * ÀÎÀÚ 4 : offsetX - Áß¾Ó¿¡¼­ ¿ÞÂÊÀ¸·Î ´ç±æ Æø
 * ¸®ÅÏ°ª : Áß¾ÓÀ§Ä¡ (left=400,top=300,width=400,height=300)
 */
function getCenter(width, height, offsetY, offsetX) {
  switch(arguments.length) {
    case 2: offsetY = 0;
            offsetX = 0;
            break;
    case 3: offsetX = 0;
            break;
    default : break;
  }

  var left = 0;
  var top = 0;

  try {
    left = (screen.availWidth - width)/2 - offsetX;
    top = (screen.availHeight - height)/2 - offsetY;
  }
  catch (e) {
  }

  return "left="+left+",top="+top+",width="+width+",height="+height;
}

/*
 * ¼³  ¸í : Enter¸¦ ´©¸£¸é Á¶È¸¸¦ È£ÃâÇÑ´Ù.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function enterSearch() {
  var keycode = event.keyCode;
  try {
    if (keycode == 13) {
      var field = event.srcElement;
      if (field.isCode == 'Y' || field.isUpper == 'Y') {
        field.value = field.value.toUpperCase();
      }

      searchData();
    }
  } catch (e) { }
}

/*
 * ¼³  ¸í : Enter¸¦ ´©¸£¸é ÁöÁ¤µÈ functionÀ» È£ÃâÇÑ´Ù.
 *          field¿¡ exeFunc='function¸í'ÀÌ ¼±¾ðµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
 */
function enterExecute() {
  var keycode = event.keyCode;
  try {
    if (keycode == 13) {
      var field = event.srcElement;
      if (field.isCode == 'Y' || field.isUpper == 'Y') {
        field.value = field.value.toUpperCase();
      }

      if(field.exeFunc != undefined) {
        eval(field.exeFunc+'()');
      }
    }
  } catch (e) { }
}

/*
 * ¼³  ¸í : BackSpace¸¦ »ç¿ëÇÏÁö ¸øÇÏµµ·Ï ÇÑ´Ù.
 *          onKeyDown ÀÌº¥Æ®¿¡¼­ »ç¿ëÇÑ´Ù.
 * ÀÎÀÚ 1 :
 * ¸®ÅÏ°ª :
 */
function preventBackSpace() {
  preventKeyPress(8);
}

/*
 * ¼³  ¸í : ÀÔ·Â¹ÞÀº key event¸¦ ¹«½ÃÇÑ´Ù.
 * ÀÎÀÚ 1 : keyCode - ÀÔ·Â¹ÞÀº key
 * ¸®ÅÏ°ª :
 */
function preventKeyPress(keyCode) {
  if(event.keyCode==keyCode) {
    return false;
  } else {
    return true;
  }
}


/*
 * ¼³  ¸í : ÀÔ·ÂµÈ name, value·Î input ÅÂ±×¸¦ ¸¸µç´Ù.
 * ÀÎÀÚ 1 : name - ÇÊµå¸í
 * ÀÎÀÚ 2 : value - °ª
 * ¸®ÅÏ°ª : input ÅÂ±×ÀÇ ¹®ÀÚ¿­
 */
function makeField(name, value) {
  if(value == null || value == '') return '';
  else return '<input type="hidden" name="'+name+'" value="'+value+'">';
}

function makeField2(name, value) {
  if(value == null) return '';
  else return '<input type="hidden" name="'+name+'" value="'+value+'">';
}

/*
 * ¼³  ¸í : »ç¾÷ÀÚµî·Ï¹øÈ£ÀÇ À¯È¿¼ºÀ» °ËÁõÇÑ´Ù.
 * ÀÎÀÚ 1 : regNo - »ç¾÷ÀÚµî·Ï¹øÈ£
 * ¸®ÅÏ°ª : boolean
 */
function validateBizNo(regNo) {
    if(regNo == null || regNo == undefined) {
        return false;
    }

    regNo = regNo.replace(/\-/g,"");
    if(regNo.length != 10) {
        return false;
    }
/*
    var sum = 0;
    var sidliy = 0;
    var digit = 0;
    var getlist =new Array(10);
    var chkvalue =new Array("1","3","7","1","3","7","1","3","5");

    for(var i = 0; i < 10; i++) {
        getlist[i] = regNo.substr(i, 1);
    }

    for(var i = 0; i < 9; i++) {
        sum += getlist[i] * chkvalue[i];
    }
    sum += parseInt((getlist[8] * 5) / 10);

    sidliy = sum % 10;
    digit = (sidliy != 0) ? (10 - sidliy) : 0;
*/
    //alert("digit:" + digit + ", 9:" + getlist[9]+"\n"+(digit == getlist[9]));
    //return (digit == getlist[9]);
    return true;
}

/*
 * ¼³  ¸í : ¹ýÀÎµî·Ï¹øÈ£ÀÇ À¯È¿¼ºÀ» °ËÁõÇÑ´Ù.
 * ÀÎÀÚ 1 : regNo - ¹ýÀÎµî·Ï¹øÈ£
 * ¸®ÅÏ°ª : boolean
 */
function validateCorpNo(regNo) {
    if(regNo == null || regNo == undefined) {
        return false;
    }

    regNo = regNo.replace(/\-/g,"");
    if(regNo.length != 13) {
        return false;
    }
/*
    var digit = 0;
    var sum = 0;
    sum += parseInt(regNo.substr( 0,1)) * 1;
    sum += parseInt(regNo.substr( 1,1)) * 2;
    sum += parseInt(regNo.substr( 2,1)) * 1;
    sum += parseInt(regNo.substr( 3,1)) * 2;
    sum += parseInt(regNo.substr( 4,1)) * 1;
    sum += parseInt(regNo.substr( 5,1)) * 2;
    sum += parseInt(regNo.substr( 6,1)) * 1;
    sum += parseInt(regNo.substr( 7,1)) * 2;
    sum += parseInt(regNo.substr( 8,1)) * 1;
    sum += parseInt(regNo.substr( 9,1)) * 2;
    sum += parseInt(regNo.substr(10,1)) * 1;
    sum += parseInt(regNo.substr(11,1)) * 2;

    digit = (10 - (sum % 10) > 9) ? 0 : (10 - (sum % 10));
*/
    //alert("digit:"+digit+", 13:"+regNo.substr(12,1)+"\n"+(digit == parseInt(regNo.substr(12,1))));
    //return (digit == parseInt(regNo.substr(12,1)));
    return true;
}

/*
 * ¼³  ¸í : ÁÖ¹Îµî·Ï¹øÈ£ÀÇ À¯È¿¼ºÀ» °ËÁõÇÑ´Ù.
 * ÀÎÀÚ 1 : regNo - ÁÖ¹Îµî·Ï¹øÈ£
 * ¸®ÅÏ°ª : boolean
 */
function validateRegNo(regNo) {
    if(regNo == null || regNo == undefined) {
        return false;
    }

    regNo = regNo.replace(/\-/g,"");
    if(regNo.length != 13) {
        return false;
    }
/*
    var checkYear = "";
    switch(regNo.substr(6,1)) {
        case "1" :  // 1900³â´ë»ý ³²ÀÚ
        case "2" :  // 1900³â´ë»ý ¿©ÀÚ
            checkYear = "19";
            break;
        case "3" :  // 2000³â´ë»ý ³²ÀÚ
        case "4" :  // 2000³â´ë»ý ¿©ÀÚ
            checkYear = "20";
            break;
        case "9" :  // 1800³â´ë»ý ³²ÀÚ
        case "0" :  // 1800³â´ë»ý ¿©ÀÚ
            checkYear = "18";
            break;
        case "5" :  // 2100³â´ë»ý ³²ÀÚ
        case "6" :  // 2100³â´ë»ý ¿©ÀÚ
        case "7" :  // 2200³â´ë»ý ³²ÀÚ
        case "8" :  // 2200³â´ë»ý ¿©ÀÚ
            //alert("Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù. È®ÀÎÇÏ½Ã°í ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä(1).");
            return false;
            break;
        default :
            //alert("Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù. È®ÀÎÇÏ½Ã°í ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä(2).");
            return false;
            break;
    }

    if(!checkDate(checkYear + regNo.substr(0,6))) {
        //alert("Àß¸øµÈ ÁÖ¹Îµî·Ï¹øÈ£ÀÔ´Ï´Ù. È®ÀÎÇÏ½Ã°í ´Ù½Ã ÀÔ·ÂÇÏ¼¼¿ä(3).");
        return false;
    }

    var n = 2;
    var sum = 0;
    var digit = 0;
    for (var i = 0; i < regNo.length - 1; i++) {
        sum += parseInt(regNo.substr(i, 1)) * n++;
        if (n == 10) {
            n = 2;
        }
    }

    digit = 11 - (sum % 11);
    digit = digit % 10;
*/
    //alert("digit:"+digit+", 13:"+regNo.substr(12, 1)+"\n"+(digit == parseInt(regNo.substr(12, 1))));
    //return (digit == parseInt(regNo.substr(12, 1)));
    return true;
}

/*
 * ¼³  ¸í : ÀÌ¸ÞÀÏÀÇ À¯È¿¼ºÀ» °ËÁõÇÑ´Ù.
 * ÀÎÀÚ 1 : emailStr - ÀÌ¸ÞÀÏÁÖ¼ÒÀÇ ¹®ÀÚ¿­
 * ¸®ÅÏ°ª : boolean
 */
function validateEmail(emailStr) {
    if(emailStr == null || emailStr == undefined || emailStr.length < 3) {
        return false;
    }

    var returnValue = false;
    var pattern = /[a-zA-Z\d\-\.\w]+@([a-zA-Z\d\-]+(\.[a-zA-Z\d\-]+)+)/;
    if(pattern.test(emailStr)) {
        if(emailStr.substr(emailStr.length - 1, 1) != ".") {
            returnValue = true;
        }
    }
    return returnValue;
}

/*
 * ¼³  ¸í : °³ÀÎ ¶Ç´Â °³ÀÎ»ç¿ëÀÚ ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù.
 * ÀÎÀÚ 1 : »ç¿ëÀÚ ±¸ºÐ ÄÚµå
 * ¸®ÅÏ°ª : boolean
 */
function isPersonUser(usrDiv) {
    return (usrDiv == '01');
}

/*
 * ¼³  ¸í : ¿Ü±¹ÀÎ ¶Ç´Â ¿Ü±¹ÀÎ°³ÀÎ»ç¾÷ÀÚ ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù.
 * ÀÎÀÚ 1 : »ç¿ëÀÚ ±¸ºÐ ÄÚµå
 * ¸®ÅÏ°ª : boolean
 */
function isForeign(usrDiv) {
    return (usrDiv == '02');
}

/*
 * ¼³  ¸í : ºñ¿µ¸®¹ýÀÎ ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù.
 * ÀÎÀÚ 1 : »ç¿ëÀÚ ±¸ºÐ ÄÚµå
 * ¸®ÅÏ°ª : boolean
 */
function isNonProfit(usrDiv) {
    return (usrDiv == '90');
}

/*
 * ¼³  ¸í : ¹ýÀÎ ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù.
 * ÀÎÀÚ 1 : »ç¿ëÀÚ ±¸ºÐ ÄÚµå
 * ¸®ÅÏ°ª : boolean
 */
function isCorporation(usrDiv) {
    //return (usrDiv == '21');
    return !((usrDiv == '01') || (usrDiv == '02') || (usrDiv == '90'));
}

/*
 * ¼³  ¸í : Enter¸¦ ´©¸£¸é Á¶È¸¸¦ È£ÃâÇÑ´Ù.
 * ÀÎÀÚ 1 : width - »õÃ¢À¸ ³ÐÀÌ
 * ÀÎÀÚ 2 : height - »õÃ¢ÀÇ ³ôÀÌ
 * ÀÎÀÚ 3 : offsetY - Áß¾Ó¿¡¼­ ¾à°£ À§ÂÊÀ¸·Î ¿Ã¸± ³ôÀÌ
 * ¸®ÅÏ°ª : Áß¾ÓÀ§Ä¡ (left=400, top=300, width=400, height=300)
 */
function getCenter(width, height, offsetY) {
  var left = 0;
  var top = 0;

  try {
    left = (screen.availWidth - width)/2;
    top = (screen.availHeight - height)/2 - offsetY;
  } 
  catch (e) {
  }

  return "left="+left+",top="+top+",width="+width+",height="+height;
}

function checkMaxLenghB(field) {
    if(field == null || field == undefined) {
        return false;   
    }
    return (field.value.lenghthb() > field.maxLength);
}

function validateLengthb(field, maxlength, msg) {
    if(field == null || field == undefined) {
        return true;
    }

    var value = field.value;
    if(value.lengthb() > maxlength) {
        alert(msg);
        setFocus(field);
        return false;   
    }
}

/*
 * ¼³¸í : ÀÔ·Â°ªÀÌ ¼ýÀÚ(0~9)ÀÎÁö ¾Æ´ÑÁö¸¦ ÆÇ´ÜÇÑ´Ù.
 */
function isNumValue(value) {
    var c = '';
    for(var i = 0; i < value.length; i++) {
        c = value.charAt(i);
        if(c < '0' || c > '9') {
            return false;
        }
    }
    return true;
}
