function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function iconView(take) {
	document.all[take].style.visibility='visible';
}
function iconHide(take) {
	document.all[take].style.visibility='hidden';
}

function Popup(_url , _width , _height , _pageID )
{
	var url, new_win, top_val, left_val, width_val, height_val, empno_val;

	if (_url == 1)
	{
		url = "http://www.show.co.kr/main/pop_email.html";
	}
	else if (_url == 2)
	{
		url = "#";
	}
	else if (_url == 3)
	{
		url = "#";
	}
	else
	{
		url = _url;
	}
	

	width_val  = _width;
	height_val = _height;

	top_val = ( ( screen.height / 2 ) - ( height_val / 2 ) ) - 20;
	left_val = ( ( screen.width / 2 ) - ( width_val / 2 ) ) + 20;

	new_win = window.open( url, _pageID , 'removable=yes, resizable=no, scrollbars=no, status=no, width=' + width_val + ', height=' + height_val + ', top=' + top_val + ', left=' + left_val );		
	new_win.focus();
}

function Popup2(_url , _width , _height , _pageID )
{
	var url, new_win, top_val, left_val, width_val, height_val, empno_val;

	url = _url;
	width_val  = _width;
	height_val = _height;

	top_val = ( ( screen.height / 2 ) - ( height_val / 2 ) ) - 20;
	left_val = ( ( screen.width / 2 ) - ( width_val / 2 ) ) + 20;

	new_win = window.open( url, _pageID , 'removable=yes, resizable=no, scrollbars=yes, status=no, width=' + width_val + ', height=' + height_val + ', top=' + top_val + ', left=' + left_val );		
	new_win.focus();
}

function Popup3(_url , _width , _height , _pageID )
{
	var url, new_win, top_val, left_val, width_val, height_val, empno_val;

	url = _url;
	width_val  = _width;
	height_val = _height;

	top_val = ( ( screen.height / 2 ) - ( height_val / 2 ) ) - 20;
	left_val = ( ( screen.width / 2 ) - ( width_val / 2 ) ) + 20;

	new_win = window.open( url, _pageID , 'removable=yes, resizable=no, scrollbars=no, status=no, width=' + width_val + ', height=' + height_val + ', top=' + top_val + ', left=' + left_val );		
	new_win.focus();
}

function Validation()
{
   var args = Validation.arguments;
   var obj
   var result

   if(!args[3])
   {
     return args[3];  
   }

   obj=eval(args[0])
   
   result= false;
   
   switch(args[1])
   {
      case "box":
          
         if(eval(obj.length))
         {
            for(i=0;i<obj.length;i++)
            {  
               if(obj[i].checked)
               {
                  result=true;
                  break;  
               }
            }
         }
         else
         {
            if(obj.checked)
            {
               result=true;
               break;  
            }
         }
         break;
     case "select":
          
          if(obj.selectedIndex!=0)
          {
             result=true;
          }
          break;     
     case "mail":
          if(obj.value.indexOf("@")!=-1&&obj.value.indexOf(".")!=-1)
          {
             result=true;
          }
          break;     
     case "hipon":
          if(obj.value.indexOf("-")==-1)
          {
             result=true;
          }
          break;          
     case "int":
          if(Len(obj.value)>0)
          {
            if(IsNumeric(obj.value))
            {
               result=true;
            }
          }
          else
          {
            result=true;
          }
          break;        
     default:
       if(Len(obj.value)>0)
       {
          result= true;
       }   
          break;     
   }
   
   if(!result)
   {
      if(args[2]!="")
      {
      alert(args[2]);
      if(args[1]==""||args[1]=="mail"||args[1]=="int"){obj.focus();}
      }
   }
   
   return result;

}
function Len(sen) 
{
  
  var blank_pos,text_len;
  blank_pos = sen.indexOf(" ");	
  while (blank_pos != -1)
  {
        sen = sen.replace(" ", "");
		blank_pos  = sen.indexOf(" ");
		
  }
  text_len=sen.length;
  return text_len;
}
function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.length; inx++) {
       if (chars.indexOf(input.charAt(inx)) == -1)
           return false;
    }
    return true;
}
function IsNumeric(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}




//========================== ÇÊµå Á¦ÇÑ ½ÃÀÛ =============================//
function ChkStrLength() {
this.updateChar = function(length_limit,limit_panel) {
   var comment = event.srcElement;
   var length = this.calculate_msglen(comment.value);
   var textlimit = document.getElementById(limit_panel);
   if(textlimit) textlimit.innerHTML = length;
   if(length > length_limit) {
      alert("ÃÖ´ë " + length_limit + "byteÀÌ¹Ç·Î ÃÊ°úµÈ ±ÛÀÚ¼ö´Â ÀÚµ¿À¸·Î »èÁ¦µË´Ï´Ù.");
      //comment.value = comment.value.replace(/\r\n$/, "");
      comment.value = this.assert_msglen(comment.value, length_limit, limit_panel);
   }
}

this.calculate_msglen = function(message) {
   var nbytes = 0;

   for(i=0; i<message.length; i++) {
      var ch = message.charAt(i);
      if(escape(ch).length > 4) {
         nbytes += 2;
      }
      else if(ch == '\n') {
         if(message.charAt(i-1) != '\r') {
            nbytes += 1;
         }
      }
      else if(ch == '<' || ch == '>') {
         nbytes += 4;
      }
      else {
         nbytes += 1;
      }
   }

   return nbytes;
}

this.assert_msglen = function(message, maximum, limit_panel) {
   var inc = 0;
   var nbytes = 0;
   var msg = "";
   var msglen = message.length;
   var textlimit = document.getElementById(limit_panel);

   for(i=0; i<msglen; i++) {
      var ch = message.charAt(i);
      if(escape(ch).length > 4) {
         inc = 2;
      }
      else if (ch == '\n') {
         if(message.charAt(i-1) != '\r') {
            inc = 1;
         }
      }
      else if (ch == '<' || ch == '>') {
         inc = 4;
      }
      else {
         inc = 1;
      }
      if((nbytes + inc) > maximum) {
         break;
      }
      nbytes += inc;
      msg += ch;
   }
   if(textlimit) textlimit.innerHTML = nbytes;
   return msg;
}
}

var csl2 = new ChkStrLength();

//========================== ÇÊµå Á¦ÇÑ ³¡ =============================//

//========================== flash ½ÃÀÛ =============================//
function flash(c,d,e) {
var flash_tag = "";
flash_tag = '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';
flash_tag +='codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" ';
flash_tag +='WIDTH="'+c+'" HEIGHT="'+d+'" >';
flash_tag +='<param name="wmode" value="transparent">';
//ÀÌºÎºÐÀº ÇÃ·¡½¬ ¹è°æÀ» Åõ¸íÀ¸·Î ¼³Á¤ÇÏ´Â ºÎºÐÀ¸·Î ÇÊ¿ä¾ø´Ù¸é »èÁ¦ÇØµµ ¹«¹æÇÔ
flash_tag +='<param name="movie" value="'+e+'">';
flash_tag +='<param name="quality" value="high">';
flash_tag +='<embed src="'+e+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" ';
flash_tag +='type="application/x-shockwave-flash"  WIDTH="'+c+'" HEIGHT="'+d+'"></embed></object>'
document.write(flash_tag);
}
//========================== flash ³¡ =============================//

// ÅØ½ºÆ® ÇÊµå¿¡ ¼ýÀÚ¸¸ ÀÔ·Â°¡´ÉÇÏ°Ô ÇÑ´Ù.
function onlyNumber(_obj){
	var str = _obj.value;
	str = new String(str);
	var Re = /[^0-9]/g;
	str=str.replace(Re,'');
	_obj.value = str;
}

// ÆÐ½º¿öµå ¼ýÀÚ ¿µ¾î¸¸ Áö¿ø
function ChkPassword(_obj , _sLength , _endLength)
{
	var alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	var number = "1234567890";
	var sChar = "-_=+\|()*&^%$#@!~`?></;,.:'";

	var sChar_Count = 0;
	var alphaCheck = false;
	var numberCheck = false;

	var pw = _obj.value;

	if(_sLength <= pw.length || pw.length <= _endLength){
		for(var i=0; i<pw.length; i++){
		//if(sChar.indexOf(pw.charAt(i)) != -1){
		//sChar_Count++;
		//}
			if(alpha.indexOf(pw.charAt(i)) != -1){
				alphaCheck = true;
			}
			if(number.indexOf(pw.charAt(i)) != -1){
				numberCheck = true;
			}
		}//for

		//if(sChar_Count < 2 || alphaCheck != true || numberCheck != true){
		if( alphaCheck != true || numberCheck != true){
			_obj.value="";
			_obj.focus();
			alert("ºñ¹Ð¹øÈ£´Â "+_sLength+"~"+_endLength+"ÀÚ ¿µ¹®,¼ýÀÚ 2ÀÚ ÀÌ»óÀ¸·Î Á¶ÇÕÇØÁÖ¼¼¿ä..");
			return false;
		}//if
		else{
			return true;
		}

	}else{
	_obj.value="";
		_obj.focus();
		alert("ºñ¹Ð¹øÈ£´Â "+_sLength+"~"+_endLength+"ÀÚ ¿µ¹®,¼ýÀÚ 2ÀÚ ÀÌ»óÀ¸·Î Á¶ÇÕÇØÁÖ¼¼¿ä.");
		return false;
	}//else
}

 /*-------------------------------------------------------------------------
    Notes     : ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏ Çü½ÄÀÎÁö¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö
    Parameter : Email¹®ÀÚ¿­
    Return    : void
    Use       : if(checkEmailAddress(strEmail))
-------------------------------------------------------------------------*/
function checkEmailAddress(strEmail) {
	return strEmail.search(/^\s*[\w\~\-\.]+\@[\w\~\-]+(\.[\w\~\-]+)+\s*$/g)>=0;
}


//°ø¹éÀ» Á¦¿ÜÇÑ ±æÀÌ
//Çü½Ä : ExceptBlankLength(Æûvalue°ª)
//¿¹ : ExceptBlankLength(document.form1.name.value)
//°á°ú : ±æÀÌ¹ÝÈ¯

function ExceptBlankLength(strOriginal)
{
	var position, strOri_Length;

	position = strOriginal.indexOf(' ');

	while (position != -1){
		strOriginal = strOriginal.replace(' ', '');
		position    = strOriginal.indexOf(' ');
	}

	strOri_Length = strOriginal.length;

	return strOri_Length;
}

//¼ýÀÚ¸¸ ÀÔ·Â¹ÞÀ½
//Çü½Ä : OnlyNum(Æûvalue°ª)
//¿¹ : OnlyNum(document.form1.jumin1.value)
//°á°ú : ¼ýÀÚ(true), ¼ýÀÚ¾Æ´Ô(false)

function OnlyNum(str){
	var ret;
	for (var i = 0; i < str.length; i++) {
	    ret = str.charCodeAt(i);
		if (!((ret > 47) && (ret < 58)))  {
			return false;
		}
	}
	return true;
}


//ÇÑ±Û¸¸ ÀÔ·Â¹ÞÀ½
//Çü½Ä : OnlyHan(Æûvalue°ª)
//¿¹ : OnlyHan(document.form1.name.value)
//°á°ú : ÇÑ±Û(true), ÇÑ±Û¾Æ´Ô(false)

function OnlyHan(str) 
{
	var ret;

	for (var i = 0; i < str.length; i++) {
	    ret = str.charCodeAt(i);
		if (ret > 31 && ret < 127) {
			return false;
		}
	}
	return true;
}

/*******************************************************************************
* ¼³¸í     : ÀüÃ¼ Ã¼Å©
*******************************************************************************/
var chkPhase = true;
function checkAll() {
	var chk = document.forms.chkForm;

	if(chkPhase) {
		for(var i=0; i<chk.length; i++) {
			if(chk[i].type == "checkbox" && !chk[i].checked) {
				chk[i].checked = true;
			}
		}
		chkPhase = !chkPhase;
	}
	else {
		for(var i=0; i<chk.length; i++) {
			if(chk[i].type == "checkbox" && chk[i].checked == true) {
				chk[i].checked = !chk[i].checked;
			}
		}
		chkPhase = true;
	}
}
/*******************************************************************************
* js(¸í)   : ÄÜÅÙÃ÷ À¯Æ¿¸®Æ¼ JavaScript
* ¼³¸í     : ÄÜÅÙÃ÷¿¡¼­ »ç¿ëÇÏ´Â Util°ü·Ã ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö
* ÆÄÀÏ¹øÈ£ : 2659
* ÆÄÀÏ¸í   : /com/js/cbh/common.js
* ÀÛ¼ºÀÚ   : Á¤ÂùÁÖ
* ÀÛ¼ºÀÏ   : 2008-07-05
* º¯°æ·Î±× :
*******************************************************************************/

var CBH_RESTRICT_CHARS = "%'&?\\"; // ÀÔ·Â°ª Á¦¾à¹®ÀÚ
var DATE_DELIMITER     = "-"; // ÀÏÀÚ ±¸ºÐÀÚ
var STRING_DELIMITER   = ";"; // ¹®ÀÚ¿­ ±¸ºÐÀÚ
var LINE_DELIMITER     = "|"; // ¶óÀÎ ±¸ºÐÀÚ
//****************************************************************************
// Key ÀÔ·Â°ü·Ã °ü·Ã ÇÔ¼ö
//****************************************************************************

/*-------------------------------------------------------------------------
    Spec      : key Event ÁßÁöÇÏ´Â ÇÔ¼ö.
    Parameter : ÀÌº¥Æ®Object
    Return    : Boolean
    Ex        : stopKeyEvent(evt)
    Ref       : 0-48(96), 9-57(105)
-------------------------------------------------------------------------*/
function stopKeyEvent(evt)
{
     if(window.event) {
         window.event.keyCode = 0;
         window.event.cancelBubble = true;
         window.event.returnValue = false;
     } else {
         evt.stopPropagation();
         evt.preventDefault();
         evt.initEvent;
     }

     return false;
}

/*-------------------------------------------------------------------------
    Spec      : Keypress½Ã input¿¡ ÀÔ·Â key °ªÀÌ ¼ýÀÚ¸¸ÀÔ·Â ÇÒ¼ö ÀÖµµ·Ï ÇÏ´Â ÇÔ¼ö
    Parameter : ÇØ´ç»çÇ× ¾øÀ½
    Return    : Boolean
    Ex        : onKeypress='getEventKeyCode(event);'
    Ref       : 0-48(96), 9-57(105)
-------------------------------------------------------------------------*/
function getEventKeyCode(e) {
    var keyCode = 0;
    try {
        if(e.which) {
            keyCode = e.which;
        } else {
            keyCode = window.event.keyCode;
        }
    } catch (e) {}

    return keyCode;
}

/*-------------------------------------------------------------------------
    Spec      : Keypress½Ã input¿¡ ÀÔ·Â key °ªÀÌ ¼ýÀÚ¸¸ÀÔ·Â ÇÒ¼ö ÀÖµµ·Ï ÇÏ´Â ÇÔ¼ö
    Parameter : ÇØ´ç»çÇ× ¾øÀ½
    Return    : Boolean
    Ex        : onKeypress='keyNumeric(event);'
    Ref       : 0->48(96), 9->57(105)
-------------------------------------------------------------------------*/
function keyNumeric(e) {

    var keyCode = getEventKeyCode(e);
    if((keyCode >= 48 && keyCode <= 57) ||
       (keyCode == 8 ||  // backspace
        keyCode == 9 || // tab
        keyCode == 13 || // enter
        keyCode == 16 || // shift
        keyCode == 20 || // CapsLock
        keyCode == 35 || // end
        keyCode == 36 || // home
        keyCode == 37 || // right
        keyCode == 39 || // left
        keyCode == 45 || // insert
        keyCode == 46    //  '.'
       ))
    {
       return true;
    } else{
       return stopKeyEvent(e);
    }
}

/*-------------------------------------------------------------------------
    Spec      : Keypress½Ã input¿¡ ÀÔ·Â key °ªÀÌ ¼ýÀÚ, '-' ¸¸ÀÔ·Â ÇÒ¼ö ÀÖµµ·Ï ÇÏ´Â ÇÔ¼ö
    Parameter : ÇØ´ç»çÇ× ¾øÀ½
    Return    : Boolean
    Ex        : onKeypress='keyNumericDash(event);'
    Ref       : 0->48(96), 9->57(105) '-'->45
-------------------------------------------------------------------------*/
function keyNumericDash(e)
{
    var keyCode = getEventKeyCode(e);
    if((keyCode >= 48 && keyCode <= 57) ||
       (keyCode == 8 ||  // backspace
        keyCode == 9 || // tab
        keyCode == 13 || // enter
        keyCode == 16 || // shift
        keyCode == 20 || // CapsLock
        keyCode == 35 || // end
        keyCode == 36 || // home
        keyCode == 37 || // right
        keyCode == 39 || // left
        keyCode == 45    // '-'
      )) {
        return true;
    } else {
        return stopKeyEvent(e);
    }
}

/*-------------------------------------------------------------------------
    Spec      : Keypress½Ã input¿¡ ÀÔ·Â key °ªÀÌ ¼ýÀÚ, '.'¸¸ÀÔ·Â ÇÒ¼ö ÀÖµµ·Ï ÇÏ´Â ÇÔ¼ö
    Parameter : ÇØ´ç»çÇ× ¾øÀ½
    Return    : Boolean
    Ex        : onKeypress='keyDouble(event);'
    Ref       : 0-48(96), 9-57(105) '.':46
-------------------------------------------------------------------------*/
function keyDouble(e)
{
    var keyCode = getEventKeyCode(e);

    if((keyCode >= 48 && keyCode <= 57) ||
       (keyCode == 8  || // backspace
        keyCode == 9  || // tab
        keyCode == 13 || // enter
        keyCode == 16 || // shift
        keyCode == 20 || // CapsLock
        keyCode == 35 || // end
        keyCode == 36 || // home
        keyCode == 37 || // right
        keyCode == 39 || // left
        keyCode == 45 || // '-'
        keyCode == 46    // '.'
      )) {
        return true;
    } else {
        return stopKeyEvent(e);
    }
}

/*-------------------------------------------------------------------------
    Spec      :input¿¡ ÀÔ·Â °ª¿¡ ´ëÇØ¼­ ", ', &, ?, \ ¹®ÀÚ¸¦ ÀÔ·ÂÇÏÁö ¸øÇÏ°Ô ÇÔ.
    Parameter : ÇØ´ç Object Field
    Return    :
    Ex        : onKeyPress="javascript:keySpecialChar();"
-------------------------------------------------------------------------*/
function keySpecialChar(e) {
    var keyCode = getEventKeyCode(e);

    if(keyCode==34 || // "
       keyCode==38 || // &
       keyCode==39 || // '
       keyCode==63 || // ?
       keyCode==92) { // \
        return stopKeyEvent(e);
    } else {
        return true;
    }
}

/*-------------------------------------------------------------------------
    Notes     : ±Ý¾× µ¥ÀÌÅÍ¸¦ ±Ý¾× Æ÷¸ÎÀ¸·Î º¯°æÇÏ´Â ÇÔ¼ö
    Parameter : ±Ý¾×
    Return    : ½Ã°£
    use       : onKeyup="keyupCurrencyObj(event, this);"
-------------------------------------------------------------------------*/
function keyupCurrencyObj(e, obj){
    var keyCode = getEventKeyCode(e);

    if((keyCode >= 48 && keyCode <= 57)  ||
       (keyCode >= 96 && keyCode <= 105) ||
       (keyCode == 8  || // backspace
        keyCode == 13 || // enter
        keyCode == 20 || // CapsLock
        keyCode == 35 || // end
        keyCode == 36 || // home
        keyCode == 37 || // right
        keyCode == 39 || // left
        keyCode == 45    // '-'
     )) {
        obj.value = formatCurrency(obj.value);
    }
}

//****************************************************************************
// ÀÔ·Â°ª Ã¼Å© °ü·Ã ÇÔ¼ö
//****************************************************************************

/*-------------------------------------------------------------------------
    Spec      : ÀÔ·Â°ª¿¡ Æ¯Á¤ ¹®ÀÚ(chars)°¡ ÀÖ´ÂÁö Ã¼Å©
    Parameter : ÇØ´ç °ª
    Return    : Boolean
    Ex        : if (!restrictDefaultChars(form.name.value)) {
                       alert("ÀÌ¸§ ÇÊµå¿¡´Â Æ¯¼ö ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.");
                   }
-------------------------------------------------------------------------*/
function restrictDefaultChars(str) {
    return restrictChars(str, CBH_RESTRICT_CHARS);
}

/*-------------------------------------------------------------------------
    Spec      : ÀÔ·Â°ª¿¡ Æ¯Á¤ ¹®ÀÚ(chars)°¡ ÀÖ´ÂÁö Ã¼Å©
    Parameter : ÇØ´ç °ª
    Return    : Boolean
    Ex        : if (!restrictChars(form.name.value,"!,*&^%$#@~;")) {
                       alert("ÀÌ¸§ ÇÊµå¿¡´Â Æ¯¼ö ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.");
                    }
-------------------------------------------------------------------------*/
function restrictChars(str, chars) {
    if(str != null & str.length > 0){
        for (var i=0; i<chars.length; i++) {
           if (str.indexOf(chars.charAt(i)) >= 0) return true;
        }
    }
    return false;
}

/*-------------------------------------------------------------------------
    Notes     : °ªÀÌ ÀÖ´ÂÁö ¾ø´ÂÁö¸¦ ÆÇ´ÜÇÏ´À ÇÔ¼ö
    Parameter : value
    Return    : Boolean
    Use       : isEmptyValue(val)
-------------------------------------------------------------------------*/
function isEmptyValue(val) {
    if(val == null || val == "" || val.length <= 0) return true;
    return false;
}

/*-------------------------------------------------------------------------
    Notes     : °ªÀÌ ÀÖ´ÂÁö ¾ø´ÂÁö¸¦ ÆÇ´ÜÇÏ´À ÇÔ¼ö
    Parameter : value
    Return    : Boolean
    Use       : isEmptyObjectValue(obj)
-------------------------------------------------------------------------*/
function isEmptyObjectValue(obj) {
    return isEmptyValue(getHtmlObjectValue(obj));
}

/*-------------------------------------------------------------------------
    Spec      : ÇØ´ç°ªÀÌ ¼ýÀÚÀÎÁö¸¦ °Ë»çÇÏ´Â ÇÔ¼ö
    Parameter : ÇØ´ç °ª, Ãß°¡ÇÏ°íÀÚ ÇÏ´Â ¹®ÀÚ
    Return    : Boolean
    Ex        : isNumeric(this.value);
-------------------------------------------------------------------------*/
function isNumeric(str, add){
    var bRet = true;

    if(str != null && str != "") {
        var chars = "0123456789";

        var args = isNumeric.arguments;
        var len = args.length;

        bRet = restrictChars(str, chars);
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : ÇØ´çµ¥ÀÌÅÍ°¡ ±Ý¾×Çü½ÄÀÌ ¸Â´ÂÁö¸¦ ÆÇ´ÜÇÏ´Â ÇÔ¼ö.
    Parameter : ±Ý¾×
    Return    : boolean
    Use       : isCorrectCurrency(val);
-------------------------------------------------------------------------*/
function isCorrectCurrency(val){
    var str = replace(val, ',',  '');

    if(str.length > 0){
        var i = 0;
        var strLen = str.length;
        var ch = str.charAt(i);

        if(str == "-"){
            return false;
        }

        if(ch == '-') i++;
        while(i < strLen){
            ch = str.charAt(i);
            if (ch < '0' || ch > '9'){
                return false;
            }
            i++;
        }
    }
    return true;
}

/*-------------------------------------------------------------------------
    Notes     : ³¯Â¥¸¦ ºñ±³ÇÏ´Â ÇÔ¼ö
    Parameter : ±âÁØÀÏÀÚ, ºñ±³ÀÏÀÚ
    Return    : (srcDate>compDate) = 1, (srcDate==compDate)= 0, (srcDate<compDate) = -1, error(dateÀÚ·á°¡ ¾Æ´Ô) = -2
    Use       : compareDate('20050101', "20000507");
-------------------------------------------------------------------------*/
function compareDate(srcDate, compDate){

    var strSrcDate  = replace(srcDate ,DATE_DELIMITER,"");
    var strCompDate = replace(compDate,DATE_DELIMITER,"");

    if(!(isDate(strSrcDate) && isDate(strCompDate)))
        return -2;

    if(strSrcDate > strCompDate)
        return 1;
    else if (strSrcDate == strCompDate)
        return 0;
    else
        return -1;
}

 /*-------------------------------------------------------------------------
    Notes     : ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏ Çü½ÄÀÎÁö¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö
    Parameter : Email¹®ÀÚ¿­
    Return    : void
    Use       : if(checkEmailAddress(strEmail))
-------------------------------------------------------------------------*/
 function checkEmailAddress(strEmail) {
    return strEmail.search(/^\s*[\w\~\-\.]+\@[\w\~\-]+(\.[\w\~\-]+)+\s*$/g)>=0;
 }

 /*-------------------------------------------------------------------------
    Notes     : ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏ Çü½ÄÀÎÁö¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö
    Parameter : Email Object
    Return    : void
    Use       : if(checkEmailAddress(strEmail))
-------------------------------------------------------------------------*/
 function checkEmailAddressOjbect(objEmail) {
    var bRet = true;
    var strEmail = getHtmlObjectValue(objEmail);

    if(strEmail != null && strEmail != "") {
        // ÀÌ¸ÞÀÏ Ã¼Å©
        if(!checkEmailAddress(strEmail)) {
            alert("¸ÞÀÏÁÖ¼Ò°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
            setObjectFocus(objEmail);
            bRet = false;
        } else {
            // Á¦ÇÑ E-mail
            var arrayRsrctEmail = ["daum.net", "hanmail.net"];
            var len = arrayRsrctEmail.length;
            for(var i=0; i<len; i++) {
                if(strEmail.lastIndexOf(arrayRsrctEmail[i]) >= 0) {
                    alert(arrayRsrctEmail[i] + " ¸ÞÀÏ °èÁ¤Àº »ç¿ëÇÏ½Ç ¼ö ¾ø½À´Ï´Ù.");
                    setObjectFocus(objEmail);
                    bRet = false;
                }
            }
        }
    }

    return bRet;
 }

 /*-------------------------------------------------------------------------
    Notes     : ÀÔ·Â°ªÀÌ URL Çü½ÄÀÎÁö¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö
    Parameter : Url¹®ÀÚ¿­
    Return    : void
    Use       : if(checkUrl(strEmail))
-------------------------------------------------------------------------*/
function checkUrl(strUrl){
    return strUrl.search(/^\s*['http://']+[\w\~\-\.]+\.[\w\~\-]+(\.[\w\~\-]+)+\s*$/g)>=0;
}

/*-------------------------------------------------------------------------
    Notes     : Html object ¼ýÀÚÀÎÁö¸¦ ÆÇ´ÜÇÏ´Â ÇÔ¼ö
    Parameter : obj, ¸Þ½ÃÁö Å¸ÀÌÆ²
    Return    : void
    Use       : if(!checkNumericObject(form.È­¸éÃâ·Â¿©ºÎ, 'Display¿©ºÎ¸¦')) return false;
-------------------------------------------------------------------------*/
function checkNumericObject(obj, title) {
    var bRet = false;
    // °ø¹éÁ¦°Å
    var chkVal = getHtmlObjectValue(obj);
    if(!isNumeric(chkVal, "")) {
        alert(title + "¿¡ ÀÔ·ÂÇÏ½Å ¼ýÀÚ´Â À¯È¿ÇÑ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù.");
        setObjectFocus(obj);
        bRet = false;
    } else {
        bRet = true;
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : Html object ÇÊ¼öÀÔ·ÂÃ¼Å© ÇÔ¼ö
    Parameter : obj, ¸Þ½ÃÁö Å¸ÀÌÆ²
    Return    : void
    Use       : if(!checkNcsrObject(form.È­¸éÃâ·Â¿©ºÎ, 'Display¿©ºÎ¸¦')) return false;
-------------------------------------------------------------------------*/
function checkNcsrObject(obj, title) {
    var bRet = false;

    // °ø¹éÁ¦°Å
    var chkVal = getTrimStr(getHtmlObjectValue(obj));
    if(isEmptyValue(chkVal)) {

        var objType = getHtmlObjectType(obj);

        if("text"      == objType ||
            "textarea" == objType ||
            "password" == objType) {
            setHtmlObjectValue(obj, chkVal);
            alert(title + " ÀÔ·ÂÇÏ¿© ÁÖ½Ê½Ã¿À.");
            setObjectFocus(obj);
            bRet = false;
        } else if("select-one" == objType || 
                  "file"       == objType ||
                  "radio"      == objType) {
            alert(title + " ¼±ÅÃÇÏ¿© ÁÖ½Ê½Ã¿À.");
            setObjectFocus(obj);
            bRet = false;
        }
    } else {
        bRet = true;
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : Html object ±Ý¾×ÀÔ·ÂÃ¼Å© ÇÔ¼ö
    Parameter : obj, ¸Þ½ÃÁö Å¸ÀÌÆ²
    Return    : void
    Use       : if(!checkCurrencyObject(form.È­¸éÃâ·Â¿©ºÎ, 'Display¿©ºÎ¸¦')) return false;
-------------------------------------------------------------------------*/
function checkCurrencyObject(obj, title) {
    var bRet = true;

    var chkVal = getHtmlObjectValue(obj);
    if(chkVal != "") {
        if(!isCorrectCurrency(chkVal)) {

            var args = checkCurrencyObject.arguments;
            var len = args.length;

            var objType = getHtmlObjectType(obj);
            if("text" == objType) {
                if(args == 2) {
                    alert(title + "¿¡ ÀÔ·ÂÇÏ½Å ±Ý¾×[ " + chkVal + " ]Àº À¯È¿ÇÏÁö ¾ÊÀº ±Ý¾×ÀÔ´Ï´Ù.");
                } else {
                    alert("ÀÔ·ÂÇÏ½Å ±Ý¾×[ " + chkVal + " ]Àº À¯È¿ÇÏÁö ¾ÊÀº ±Ý¾×ÀÔ´Ï´Ù.");
                }
                setObjectFocus(obj);
                bRet = false;
            }
        } else {
            bRet = true;
        }
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : Html object Æ¯¼ö¹®ÀÚ ÀÔ·ÂÃ¼Å© ÇÔ¼ö
    Parameter : obj, ¸Þ½ÃÁö Å¸ÀÌÆ²
    Return    : void
    Use       : if(!checkCurrencyObject(form.È­¸éÃâ·Â¿©ºÎ, 'Display¿©ºÎ¸¦')) return false;
-------------------------------------------------------------------------*/
function checkSpecialCharacter(obj, title) {
    var bRet = true;

    var chkVal = getHtmlObjectValue(obj);

    if(chkVal != "") {
        if(restrictDefaultChars(chkVal)) {

            var args = checkSpecialCharacter.arguments;
            var len = args.length;

            var objType = getHtmlObjectType(obj);
            if("text"     == objType ||
               "textarea" == objType ||
               "password" == objType) {
                if(args == 2) {
                    alert(title + "¿¡ ÀÔ·ÂÇÏ½Å ¹®ÀÚÁß Æ¯¼ö¹®ÀÚ[ " + CBH_RESTRICT_CHARS + " ]´Â ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
                } else {
                    alert("ÀÔ·ÂÇÏ½Å ¹®ÀÚÁß Æ¯¼ö¹®ÀÚ[ " + CBH_RESTRICT_CHARS + " ]´Â ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
                }
                setObjectFocus(obj);
                bRet = false;
            }
        } else {
            bRet = true;
        }
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : ¼Ò¼öÁ¡ µé¾î°¡´Â ±Ý¾× ÀÚ¸´¼ö Ã¼Å©ÇÏ´Â ÇÔ¼ö.
    Parameter : val-Ã¼Å©ÇÒ °ª, constantCnt-Á¤¼öºÎºÐ ÀÚ¸®¼ö, decimalCnt-¼Ò¼öºÎºÐ ÀÚ¸®¼ö, title-Å¸ÀÌÆ²
    Return    : Boolean
    Use       : checkDecimalObj('100.11', 5, 2, '¹Ì°á±Ý¾×');
-------------------------------------------------------------------------*/
function checkDecimalObj(obj, constantCnt, decimalCnt, title){

    var objType = getHtmlObjectType(obj);
    var chkVal = getTrimStr(getHtmlObjectValue(obj));
    if(objType == "text" && chkVal != ""){
        var chkVal = replace(chkVal, ',', '');
        var preCnt = 0; // Á¤¼öºÎºÐ ÀÚ¸®¼ö
        var posCnt = 0; // ¼Ò¼öºÎºÐ ÀÚ¸®¼ö
        var dotPos = 0; // ¼Ò¼öÁ¡ À§Ä¡
        var totalLen = 0;
        var chkConstantCnt = 0;

        var args = checkDecimalObj.arguments;
        var len = args.length;

        if(len == 3) title = "±Ý¾×";

        if(isNaN(chkVal)){
            alert("\"" + obj.value + "\""+"Àº(´Â) ¿Ã¹Ù¸¥ " + title + "Çü½Ä ¾Æ´Õ´Ï´Ù.");
            setObjectFocus(obj);
            return false;
        } else {
            dotPos = chkVal.indexOf(".");
            // '-'ºÎÈ£ ÀÔ·Â½Ã
            if(chkVal.substring(0,1) == '-')
                chkConstantCnt = constantCnt + 1;
            else chkConstantCnt = constantCnt;

            if(dotPos == -1){
                preCnt = chkVal.length;
                if(preCnt > chkConstantCnt){
                    alert(title + "ÀÇ Á¤¼öºÎºÐÀº " + constantCnt + "ÀÚ¸®ÀÌÇÏ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
                    setObjectFocus(obj);
                    return false;
                }
            } else if(dotPos > 0) {
                preCnt = dotPos;
                totalLen = chkVal.length;

                if(totalLen == ++dotPos){
                    alert("\"" + chkVal + "\""+"Àº(´Â) ¿Ã¹Ù¸¥ " + title + "Çü½Ä ¾Æ´Õ´Ï´Ù.");
                    setObjectFocus(obj);
                    return false;
                } else {
                    posCnt = chkVal.substring(preCnt+1).length;
                }

                if(preCnt > chkConstantCnt){
                    alert(title + "ÀÇ Á¤¼öºÎºÐÀº " + constantCnt + "ÀÚ¸®ÀÌÇÏ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
                    setObjectFocus(obj);
                    return false;
                }

                if(posCnt > decimalCnt){
                    alert(title + "ÀÇ ¼Ò¼öºÎºÐÀº " + decimalCnt + "ÀÚ¸®ÀÌÇÏ·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
                    setObjectFocus(obj);
                    return false;
                }
            }
        }
    }

    return true;
}

/*-------------------------------------------------------------------------
    Spec      : Text Obj Length Check
    Parameter : obj, maxLen
    Return    : boolean
-------------------------------------------------------------------------*/
function checkObjectLength(obj, msgTitle, maxLen){
    var nbytes = getByteLength(getHtmlObjectValue(obj));

    var args = checkObjectLength.arguments;
    var len = args.length;

    switch (len) {
        case 1:
            msgTitle = "";
            maxLen = obj.maxLength;
            break;
        case 2:
            maxLen = obj.maxLength;
            break;
        default:
            break;
    }

    if(typeof(maxLen) != "undefined") {
        if(nbytes > maxLen){
            alert(msgTitle + " ÃÑ ¿µ¹®±âÁØ "+ maxLen + "ÀÚ, ÇÑ±Û±âÁØ "+(maxLen/2)+"ÀÚ±îÁö ÀÔ·Â ÇÒ ¼ö ÀÖ½À´Ï´Ù.(ÇöÀç ¿µ¹®±âÁØ " + nbytes + "ÀÚ¸¦ ÀÔ·ÂÇÏ¼Ì½À´Ï´Ù.)");
            obj.focus();
            return false;
        }
    }

    return true;
}

/*-------------------------------------------------------------------------
    Notes     : Html object ¼ýÀÚÀÎÁö¸¦ ÆÇ´ÜÇÏ´Â ÇÔ¼ö
    Parameter : obj, ¸Þ½ÃÁö Å¸ÀÌÆ²
    Return    : void
    Use       : if(!checkNumericObject(form.È­¸éÃâ·Â¿©ºÎ, 'Display¿©ºÎ¸¦')) return false;
-------------------------------------------------------------------------*/
function checkNumericObject(obj, title) {
    var bRet = false;
    // °ø¹éÁ¦°Å
    var chkVal = getTrimStr(getHtmlObjectValue(obj));
    if(!isNumeric(chkVal, "")) {
        alert(title + " ¿¡ ÀÔ·ÂÇÏ½Å ¼ýÀÚ´Â À¯È¿ÇÑ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù.");
        setObjectFocus(obj);
        bRet = false;
    } else {
        bRet = true;
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : Html object ¿Ã¹Ù¸¥ E-MailÁÖ¼ÒÀÎÁö¸¦ ÆÇ´ÜÇÏ´Â ÇÔ¼ö
    Parameter : obj, ¸Þ½ÃÁö Å¸ÀÌÆ²
    Return    : void
    Use       : if(!checkEmailAddrObject(form.E_Mail, 'Display¿©ºÎ¸¦')) return false;
-------------------------------------------------------------------------*/
function checkEmailAddrObject(obj, title) {
    var bRet = false;
    // °ø¹éÁ¦°Å
    var chkVal = getTrimStr(getHtmlObjectValue(obj));
    if(chkVal != "" && !checkEmailAddress(chkVal)) {

        var args = checkEmailAddrObject.arguments;
        var len = args.length;
        if(len == 2) {
            alert(title + "¿¡ ÀÔ·ÂÇÏ½Å E-Mail ÁÖ¼Ò´Â ¿Ã¹Ù¸¥ E-MailÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù.");
        } else {
            alert("¿Ã¹Ù¸¥ E-MailÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù.");
        }

        setObjectFocus(obj);
        bRet = false;
    } else {
        bRet = true;
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : Html object ¿Ã¹Ù¸¥ URLÀÎÁö¸¦ ÆÇ´ÜÇÏ´Â ÇÔ¼ö
    Parameter : obj, ¸Þ½ÃÁö Å¸ÀÌÆ²
    Return    : void
    Use       : if(!checkUrlObject(form.url, 'URL')) return false;
-------------------------------------------------------------------------*/
function checkUrlObject(obj, title) {
    var bRet = false;
    // °ø¹éÁ¦°Å
    var chkVal = getTrimStr(getHtmlObjectValue(obj));
    if(chkVal != "" && !checkUrl(chkVal)) {

        var args = checkUrlObject.arguments;
        var len = args.length;
        if(len == 2) {
            alert(title + "¿¡ ÀÔ·ÂÇÏ½Å URLÀº ¿Ã¹Ù¸¥ URLÀÌ ¾Æ´Õ´Ï´Ù.");
        } else {
            alert("¿Ã¹Ù¸¥ URLÀÌ ¾Æ´Õ´Ï´Ù.");
        }

        setObjectFocus(obj);
        bRet = false;
    } else {
        bRet = true;
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : Ã·ºÎÆÄÀÏÀÇ È®ÀåÀÚ¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
    Parameter : ÆÄÀÏ°æ·Î, È®ÀåÀÚ("ppt")
    Return    : boolean
    Use       : var bRet = isFileExtension(form.testFile, "ppt");
-------------------------------------------------------------------------*/
function checkAttachFile(objFile, strExtension){
    return checkAttachFileByExtensions(objFile, [strExtension]);
}

/*-------------------------------------------------------------------------
    Notes     : Ã·ºÎÆÄÀÏÀÇ È®ÀåÀÚ¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
    Parameter : ÆÄÀÏ°æ·Î, È®ÀåÀÚ("ppt")
    Return    : boolean
    Use       : var bRet = isFileExtension(form.testFile, ["exe", "ppt", "xls"]);
-------------------------------------------------------------------------*/
function checkAttachFileByExtensions(objFile, arrayExtensions){
    var bRet = true;

    var strFilePath = objFile.value;
    if(strFilePath != null && strFilePath != "") {
        if(!checkFileByExtensions(strFilePath, arrayExtensions)) {
            alert("Ã·ºÎÆÄÀÏÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù. [" + arrayExtensions + "] ÆÄÀÏ¸¸ Ã·ºÎ°¡ °¡´ÉÇÕ´Ï´Ù.");
            setObjectFocus(objFile);
            bRet = false;
        }
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : ÀÌ¹ÌÁöÆÄÀÏÀÇ Æø°ú ³ôÀÌ¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
    Parameter : ÆÄÀÏ°æ·Î
    Return    : String
    Use       : if(checkImageFileWidthHeight(objFile, 100, 100)) return false;
-------------------------------------------------------------------------*/
function checkImageFileWidthHeight(objFile, nWidth, nHeight){
    var bRet = true;

    var imgFilePath = objFile.value;
    if(imgFilePath != "") {
        var fileExtension = getFileExtension(imgFilePath).toLowerCase();
        // ÀÌ¹ÌÁöÆÄÀÏÀÌ GifÀÎ °æ¿ì Ã¼Å©ÇÔ.
        if("gif" == fileExtension) {
            var img = new Image();
            img.src = imgFilePath;

            if(nWidth < img.width) {
                bRet = false;
            } else {
                if(nHeight < img.height) {
                    bRet = false;
                }
            }
            
            // ¸Þ½ÃÁö Ã³¸®
            if(!bRet) {
                alert("ÀÌ¹ÌÁö ÆÄÀÏ("+ fileExtension +")Àº Æø(Width)ÀÌ " + nWidth + ", ³ôÀÌ(Height)°¡ " + nHeight + " ÀÎ °æ¿ì¸¸ µî·ÏÀÌ °¡´ÉÇÕ´Ï´Ù.\nÇöÀç ÀÔ·ÂÇÏ½Å ÀÌ¹ÌÁö ÆÄÀÏÀÇ »çÀÌÁî´Â Æø(Width)ÀÌ" + img.width +", ³ôÀÌ(Height)°¡ " + img.height +"ÀÔ´Ï´Ù.");
                setObjectFocus(objFile);
            }
        }
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : ÆÄÀÏÀÇ È®ÀåÀÚ¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
    Parameter : ÆÄÀÏ°æ·Î, È®ÀåÀÚ("ppt")
    Return    : boolean
    Use       : var bRet = isFileExtension(form.testFile.value, "ppt");
-------------------------------------------------------------------------*/
function isFileExtension(strFilePath, strExtension){
    return checkFileByExtensions(strFilePath, [strExtension]);
}

/*-------------------------------------------------------------------------
    Notes     : ÆÄÀÏÀÇ È®ÀåÀÚ¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
    Parameter : ÆÄÀÏ°æ·Î, È®ÀåÀÚ(["exe", "ppt", "xls"])
    Return    : boolean
    Use       : var bRet = checkFileExtension(form.testFile.value, ["exe", "ppt", "xls"]);
-------------------------------------------------------------------------*/
function checkFileByExtensions(strFilePath, arrayExtensions){
    var bRet = false;

    var strExtension = getFileExtension(strFilePath).toLowerCase();

    if(strExtension != "") {
        var len = 0;
        if(arrayExtensions != null) len = arrayExtensions.length;
        for(var i=0; i<len; i++) {
            if(strExtension == arrayExtensions[i].toLowerCase()) {

                bRet = true;
                i = len;
            }
        }
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : ÆÄÀÏ°´Ã¼ÀÇ È®ÀåÀÚ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ÆÄÀÏ°æ·Î
    Return    : String
    Use       : var strExtension = getFileExtension(strFilePath);
-------------------------------------------------------------------------*/
function getFileExtension(strFilePath){
    var strExtension = "";

    if(strFilePath != null && strFilePath != "") {
        var lastIndex = strFilePath.lastIndexOf(".") + 1;

        if(lastIndex > 0) {
            if(strFilePath.length > lastIndex) {
                strExtension = strFilePath.substring(lastIndex);
            }
        }
    }

    return strExtension;
}

/*-------------------------------------------------------------------------
    Notes     : ÆÄÀÏ°æ·Î Á¤º¸¿¡¼­ ÆÄÀÏ¸íÀ» ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ÆÄÀÏ°æ·Î
    Return    : String
    Use       : var strFileName = getFileName('/nfsimgs3/doc/about/ir/download/infousermgt/20080227163238_K_No_No.csv');
-------------------------------------------------------------------------*/
function getFileName(strFilePathInfo, strFileSeparator) {
    var strFileName = "";

    if(strFilePathInfo != null && strFilePathInfo != "") {
        if(typeof(strFileSeparator) == "undefined") strFileSeparator = "/";

        var lastIndex = strFilePathInfo.lastIndexOf(strFileSeparator)+1;

        if(lastIndex > 0) {
            if(strFilePathInfo.length > lastIndex) {
                strFileName = strFilePathInfo.substring(lastIndex);
            } else {
                strFileName = strFilePathInfo;
            }
        } else {
            strFileName = strFilePathInfo;
        }
    }

    return strFileName;
}

//****************************************************************************
// Object °ü·Ã ÇÔ¼ö
//****************************************************************************
/*-------------------------------------------------------------------------
    Notes     : button object¿¡¼­ ¹öÆ°À» È°¼ºÈ­ ÇÏ´Â ÇÔ¼ö
    Parameter : ¹öÆ° obj
    Return    : void
    Use       : setEnableButton(mainForm.btnPost, "goUpdate");
-------------------------------------------------------------------------*/
function enableImgButton(btnId, funcName){
    var btnObj = document.getElementById(btnId);
    if(btnObj != null) {
        btnObj.style.cursor = "pointer";
        btnObj.onclick = new Function(funcName);
    }
}

/*-------------------------------------------------------------------------
    Notes     : button object¿¡¼­ ¹öÆ°À» ºñÈ°¼ºÈ­ ÇÏ´Â ÇÔ¼ö
    Parameter : ¹öÆ° obj
    Return    : void
    Use       : setDisableButton(mainForm.btnPost);
-------------------------------------------------------------------------*/
function disableImgButton(btnId){
    var btnObj = document.getElementById(btnId);
    if(btnObj != null) {
        btnObj.style.cursor = "";
        btnObj.onclick = new Function("return true;");
    }
}

/*-------------------------------------------------------------------------
    Notes     : Object¸íÀ» °¡Áö°í HTML Object¸¦ »ý¼ºÇÏ´Â ÇÔ¼ö.
    Parameter : strObj
    Return    : Html Object
    Use       : getElementById("Æ¯¼öÁö¿ªºÐ·ùÄÚµå");
-------------------------------------------------------------------------*/
function getElementById(strObj){
    return document.getElementById(strObj);
}

/*-------------------------------------------------------------------------
    Notes     : Object Id¸¦ °¡Áö°í Value¸¦ ±¸ÇÏ´Â ÇÔ¼ö.(text, select, radio, password, textarea)
    Parameter : ÇØ´ç Object Id
    Return    : void
    Use       : var rdoVal = getObjectValueById("TEST");
-------------------------------------------------------------------------*/
function getObjectValueById(strObjId){
    return getHtmlObjectValue(getElementById(strObjId));
}

/*-------------------------------------------------------------------------
    Notes     : Object Id¸¦ °¡Áö°í Value¸¦ ±¸ÇÏ´Â ÇÔ¼ö.(text, select, radio, password, textarea)
    Parameter : ÇØ´ç Object Id
    Return    : void
    Use       : var rdoVal = getObjectValueById("TEST");
-------------------------------------------------------------------------*/
function setObjectValueById(strObjId, val){
    return setHtmlObjectValue(getElementById(strObjId), val);
}

/*-------------------------------------------------------------------------
    Notes     : Object Id¸¦ °¡Áö°í Focus ¼³Á¤
    Parameter : ÇØ´ç Object Id
    Return    : void
    Use       : setObjectFocusById("txtText");
-------------------------------------------------------------------------*/
function setObjectFocusById(strObjId) {
    setObjectFocus(getElementById(strObj));
}

/*-------------------------------------------------------------------------
    Notes     : Radio Button ObjectÀÇ °ªÀ» ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ÇØ´ç Object Field
    Return    : String
    Use       : var rdoVal = getRadioButton(rdoObj);
-------------------------------------------------------------------------*/
function getRadioButtonValue(rdoObj){
    var retVal = "";
    if(rdoObj != null) {
        if("radio" == getHtmlObjectType(rdoObj)) {
            if(rdoObj.length > 0) {
                for(var i=0; i<rdoObj.length; i++){
                    if (rdoObj[i].checked){
                        retVal = rdoObj[i].value;
                        i=rdoObj.length;
                    }
                }
            } else {
                retVal = rdoObj.value;
            }
        }
    }

    return retVal;
}

/*-------------------------------------------------------------------------
    Notes     : Radio Button ObjectÀÇ °ªÀ» ¼³Á¤ÇÏ´Â ÇÔ¼ö.
    Parameter : ÇØ´ç Object Field, ÇØ´ç °ª
    Return    : void
    Use       : var rdoVal = setRadioButton(rdoObj);
-------------------------------------------------------------------------*/
function setRadioButtonValue(rdoObj, val){
    if(rdoObj != null) {
        if("radio" == getHtmlObjectType(rdoObj)) {
            for(var i=0; i<rdoObj.length; i++){
                if(val == rdoObj[i].value){
                    rdoObj[i].checked = true;
                    i=rdoObj.length;
                }
            }
        }
    }
}

/*-------------------------------------------------------------------------
    Notes     : Select Box ObjectÀÇ °ªÀ» ±¸ÇÏÇÏ´Â ÇÔ¼ö.
    Parameter : ÇØ´ç Object Field
    Return    : String
    Use       : var rdoVal = getListBoxValue(cmbObj);
-------------------------------------------------------------------------*/
function getSelectBoxValue(slcObj){
    return getSelectedValueOfSelectBox(slcObj);
}

/*-------------------------------------------------------------------------
    Notes     : Select Box ObjectÀÇ °ªÀ» ±¸ÇÏÇÏ´Â ÇÔ¼ö.
    Parameter : ÇØ´ç Object Field
    Return    : String
    Use       : var rdoVal = getListBoxValue(cmbObj);
-------------------------------------------------------------------------*/
function getSelectedValueOfSelectBox(slcObj){
    var retValue = "";

    if(slcObj != null) {
        var selectedIndex = slcObj.selectedIndex;
        if(selectedIndex != -1) {
            retValue = slcObj.options[selectedIndex].value;
        }
    }

    return retValue;
}

/*-------------------------------------------------------------------------
    Notes     : Select Box ObjectÀÇ °ªÀ» ¼³Á¤ÇÏ´Â ÇÔ¼ö.
    Parameter : ÇØ´ç Object Field, ÇØ´ç °ª
    Return    : void
    Use       : var rdoVal = setListBoxValue(cmbObj, "1");
-------------------------------------------------------------------------*/
function setSelectBoxValue(slcObj, val){
    if(slcObj != null) {
        if("select-one" == getHtmlObjectType(slcObj)) {
            var len = slcObj.options.length;
            for (var i=0; i<len; i++) {
                if ( val ==  slcObj.options[i].value ){
                    slcObj.options[i].selected = true;
                    i = len;
                }
            }
        }
    }
}

/*-------------------------------------------------------------------------
    Notes     : Select BoxÀÇ Text°ªÀ» º¯°æÇÏ´Â ÇÔ¼ö.
    Parameter : Select Box Object, ±âÁØ°ª, º¯°æÇÒ Text
    Return    : void
    Use       : changeSelecteText(document.mainForm.Ä·ÆÛ½º½ºÅ¸Áö¿ª±¸ºÐÄÚµå, '00', 'ÀüÃ¼');
-------------------------------------------------------------------------*/
function changeSelectBoxText(slcObj, val, txtVal){
    var len = slcObj.options.length;

    for(var i=0; i<len; i++) {
        if (val == slcObj.options[i].value) {
            slcObj.options[i].text = txtVal;
            i = len;
        }
    }
}

/*-------------------------------------------------------------------------
    Notes     : Select BoxÀÇ °ª¿¡ ÇØ´çÇÏ´Â option¸¦ Á¦°ÅÇÏ´Â ÇÔ¼ö.
    Parameter : Select Box Object, ±âÁØ°ª
    Return    : void
    Use       : removeOptionSelectBoxByValue(document.mainForm.Ä·ÆÛ½º½ºÅ¸Áö¿ª±¸ºÐÄÚµå, '00');
-------------------------------------------------------------------------*/
function removeOptionSelectBoxByValue(slcObj, val){
    var len = slcObj.options.length;

    for(var i=0; i<len; i++) {
        if (val == slcObj.options[i].value) {
            slcObj.options[i] = null;
            i = len;
        }
    }
}

/*-------------------------------------------------------------------------
    Notes     : Text Object¿¡ ÀÔ·ÂÇÑ °ªÀ» °¡Áö°í Select BoxÀÇ Text°ªÀ» Ã£´ÂÇÏ´Â ÇÔ¼ö.
    Parameter : Text Object, ÇØ´ç Select Object Field
    Return    : void
    Use       : onKeyup="javascript:searchTextOfSelect(this, document.mainForm.slcTest);"
-------------------------------------------------------------------------*/
function searchTextOfSelect(txtObj, slcObj){
    var txtVal = txtObj.value;

    if(txtVal == "") {
        slcObj.options[0].selected = true;
    } else {
        var len = slcObj.options.length;
        for(var i=0; i<len; i++) {
            if(slcObj.options[i].text.indexOf(txtVal) >= 0) {
                slcObj.options[i].selected = true;
                i = len;
            }
        }
    }
}

/*-------------------------------------------------------------------------
    Notes     : Select Object¿¡¼­ ¼±ÅÃµÈ °ªÀ» À§·Î ¿Ã¸®´Â ÇÔ¼ö.
    Parameter : Select Object Field, fixedIndex(°íÁ¤ÇÒRow¹øÈ£)
    Return    : void
    Use       : upMultipleSelectData(document.mainForm.slcTest, 1);
-------------------------------------------------------------------------*/
function upMultipleSelectData(slcObj, fixedIndex){
    if(slcObj != null) {
        var args = upMultipleSelectData.arguments;
        var lenArgs = args.length;
        if(lenArgs < 2) fixedIndex = 0;

        var len = slcObj.options.length;
        if(len > 0) {
            var selectedIndex = slcObj.selectedIndex;
            if(selectedIndex > fixedIndex && selectedIndex > 0) {
                swapSelectObjectData(slcObj, selectedIndex, (selectedIndex-1));
             }
        }
    }
}

/*-------------------------------------------------------------------------
    Notes     : Select Object¿¡¼­ ¼±ÅÃµÈ °ªÀ» ¾Æ·¡·Î ³»¸®´Â ÇÔ¼ö.
    Parameter : Select Object Field, fixedIndex(°íÁ¤ÇÒRow¹øÈ£)
    Return    : void
    Use       : downMultipleSelectData(document.mainForm.slcTest, 1);
-------------------------------------------------------------------------*/
function downMultipleSelectData(slcObj, fixedIndex){
    if(slcObj != null) {
        var args = downMultipleSelectData.arguments;
        var lenArgs = args.length;
        if(lenArgs < 2) fixedIndex = 0;

        var len = slcObj.options.length;
        if(len > 0) {
            var limitMax = len - 1;
            var selectedIndex = slcObj.selectedIndex;
            if(selectedIndex >= fixedIndex && selectedIndex < limitMax) {
                swapSelectObjectData(slcObj, selectedIndex, (selectedIndex+1));
            }
        }
    }
}

/*-------------------------------------------------------------------------
    Notes     : Html Object Value¸¦ ±¸ÇÏ´Â ÇÔ¼ö.(text, select, radio, password, textarea)
    Parameter : ÇØ´ç Object Field
    Return    : void
    Use       : var rdoVal = swapSelectObjectData(obj);
-------------------------------------------------------------------------*/
function swapSelectObjectData(slcObj, fromIndex, toIndex){
    var tempText    = slcObj.options[fromIndex].text;
    var tempValue   = slcObj.options[fromIndex].value;
    var tempColor   = slcObj.options[fromIndex].style.color;
    var tempBgColor = slcObj.options[fromIndex].style.backgroundColor;

    slcObj.options[fromIndex].text     = slcObj.options[toIndex].text;
    slcObj.options[fromIndex].value    = slcObj.options[toIndex].value;
    slcObj.options[fromIndex].style.color           = slcObj.options[toIndex].style.color;
    slcObj.options[fromIndex].style.backgroundColor = slcObj.options[toIndex].style.backgroundColor;
    slcObj.options[fromIndex].selected = false;

    slcObj.options[toIndex].text     = tempText;
    slcObj.options[toIndex].value    = tempValue;
    slcObj.options[toIndex].style.color = tempColor;
    slcObj.options[toIndex].style.backgroundColor = tempBgColor;
    slcObj.options[toIndex].selected = true;
}

/*-------------------------------------------------------------------------
    Notes     : Html Object Value¸¦ ±¸ÇÏ´Â ÇÔ¼ö.(text, select, radio, password, textarea)
    Parameter : ÇØ´ç Object Field
    Return    : void
    Use       : var rdoVal = getHtmlObjectType(obj);
-------------------------------------------------------------------------*/
function getHtmlObjectType(obj){
    var objType = "";

    if(obj != null && "object" == typeof(obj)) {
        objType = obj.type;
        if(undefined == objType) {
            var len = obj.length;
            if(len > 0) {
                objType = obj[0].type;
            } else {
                objType = "";
            }
        }
    }

    return objType;
}

/*-------------------------------------------------------------------------
    Notes     : Html Object Value¸¦ ±¸ÇÏ´Â ÇÔ¼ö.(text, select, radio, password, textarea)
    Parameter : ÇØ´ç Object Field
    Return    : void
    Use       : var rdoVal = getHtmlObjectValue(obj);
-------------------------------------------------------------------------*/
function getHtmlObjectValue(obj){
    var retVal = "";

    var objType = getHtmlObjectType(obj);
    if(objType != null && objType != "") {
        if("text"      == objType ||
            "textarea" == objType ||
            "file"     == objType ||
            "password" == objType ||
            "hidden"   == objType) {
            retVal = obj.value;
        } else if("select-one" == objType) {
            retVal = getSelectedValueOfSelectBox(obj);
        } else if("radio" == objType) {
            retVal = getRadioButtonValue(obj);
        }
    }

    return retVal;
}

function cbh_getHtmlObjectValue(obj){
    return getHtmlObjectValue(obj);
}

/*-------------------------------------------------------------------------
    Notes     : Html Object Value¸¦ ¼³Á¤ÇÏ´Â ÇÔ¼ö.(text, select, radio, password, textarea)
    Parameter : ÇØ´ç Object Field, ÇØ´ç °ª
    Return    : void
    Use       : var rdoVal = setHtmlObjectValue(cmbObj, '3');
-------------------------------------------------------------------------*/
function setHtmlObjectValue(obj, val){
    var bRet = true;
    if(obj != null) {
        var objType = getHtmlObjectType(obj);

        if("text"       == objType ||
            "textarea"  == objType ||
            "file"      == objType ||
            "password"  == objType ||
            "hidden"    == objType) {
            obj.value = val;
        } else if(objType == "select-one") {
            setSelectBoxValue(obj, val);
        } else if(objType == "radio") {
            setRadioButtonValue(obj, val);
        } else {
            alert("¼³Á¤ÇÏ°íÀÚ ÇÏ´Â Object Type("+ obj.name + ":" + objType +")Àº Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.");
            bRet = false;
        }
    } else {
        bRet = false;
    }

    return bRet;
}

function cbh_setHtmlObjectValue(obj, val){
    return setHtmlObjectValue(obj, val);
}

/*-------------------------------------------------------------------------
    Notes     : Object Focus ¼³Á¤
    Parameter : Form Object
    Return    : void
    Use       : setObjectFocus(url);
-------------------------------------------------------------------------*/
function setObjectFocus(obj) {
    if(null != obj) {
        var objType = getHtmlObjectType(obj);

        if("text"     == objType ||
           "textarea" == objType ||
           "file"     == objType ||
           "password" == objType) {
            if(!obj.readOnly && !obj.disabled) {
                obj.focus();
                obj.select();
            }
        } else if("select-one" == objType ||
                  "radio"      == objType) {
            if(!obj.disabled) {
                obj.focus();
            }
        }
    }
}

/*-------------------------------------------------------------------------
    Spec         : input¿¡ ÀÔ·Â °ªÀ» Æ¯Á¤ ¹®ÀÚ·Î ¿ÞÂÊ Ã¤¿ì´Â ÇÔ¼ö
    Parameter    : ÇØ´ç Object Field, ±æÀÌ, ¹®ÀÚ
    Return       : Boolean
    Ex           : onBlur = setLPadObj(this, 3, '0')
-------------------------------------------------------------------------*/
function setLPadObj(obj, len, ch) {

    var objType = getHtmlObjectType(obj);

    if(objType == "text" && !obj.readOnly && !obj.disabled){
        obj.value = getLpadVal(obj.value, len, ch);
    }
}

/*-------------------------------------------------------------------------
    Spec         : input¿¡ ÀÔ·Â °ªÀ» Æ¯Á¤ ¹®ÀÚ·Î ¿À¸¥ÂÊÀ» Ã¤¿ì´Â ÇÔ¼ö
    Parameter    : ÇØ´ç Object Field, ±æÀÌ, ¹®ÀÚ
    Return       : Boolean
    Ex           : onBlur = setRPadObj(this, 3, '0')
-------------------------------------------------------------------------*/
function setRPadObj(obj, len, ch) {
    var objType = getHtmlObjectType(obj);

    if(objType == "text" && !obj.readOnly && !obj.disabled){
        obj.value = getRpadVal(obj.value, len, ch);
    }
}

/*-------------------------------------------------------------------------
    Spec         : Form¿¡ Ã¹¹øÂ° ÀÔ·Â Object¿¡ Focus¸¦ ¼³Á¤ÇÏ´Â ÇÔ¼ö.
    Parameter    : ÇØ´ç Form Object
    Return       : void
    Ex           : <script>setFirstObjectFocus(document.mainForm);</script>
-------------------------------------------------------------------------*/
function setFirstObjectFocus(frmObj){
    var arrayElements = frmObj.elements;

    var nObjCnt = 0;
    if(arrayElements != null) nObjCnt = arrayElements.length;
    for(var i=0; i<nObjCnt; i++) {
        if(arrayElements[i].type == "text"     ||
           arrayElements[i].type == "password" ||
           arrayElements[i].type == "file"     ||
           arrayElements[i].type == "textarea") {
           if(!arrayElements[i].readOnly && !arrayElements[i].disabled) {
                try {
                    setObjectFocus(arrayElements[i]);
                } catch (e){}
                i = nObjCnt;
            }
        } else if(arrayElements[i].type == "select-one"      ||
                  arrayElements[i].type == "checkbox"        ||
                  arrayElements[i].type == "select-multiple") {
           if(!arrayElements[i].disabled) {
                try {
                    setObjectFocus(arrayElements[i]);
                } catch (e){}
                i = nObjCnt;
            }
        }
    }
}

/*-------------------------------------------------------------------------
    Spec         : ÀÔ·Â±æÀÌ°¡ maxLength°¡ µÇ¸é ´ÙÀ½ Object·Î ÀÌµ¿ÇÔ.
    Parameter    : Ã¼Å© Object Field, ´ÙÀ½ Object Field
    Return       : Boolean
    Ex           : onKeyup="javascript:nextObjByMaxLen(event, this, document.mainForm.±Ý¾×);"
-------------------------------------------------------------------------*/
function nextObjByMaxLen(e, chkObj, nextObj) {
    var keyCode = getEventKeyCode(e);
    if(keyCode != 8 &&  // backspace
       keyCode != 9 && // tab
       keyCode != 13 && // enter
       keyCode != 16 && // shift
       keyCode != 17 && // Ctrl
       keyCode != 20 && // CapsLock
       keyCode != 35 && // end
       keyCode != 36 && // home
       keyCode != 37 && // right
       keyCode != 38 && // up
       keyCode != 39 && // right
       keyCode != 40 && // down
       keyCode != 45 && // insert
       keyCode != 46 && // delete
       keyCode != 144 ) // Number Lock
    {

        if(chkObj.type == "text" && !chkObj.readOnly){
            if(chkObj.value.length == chkObj.maxLength)
                setObjectFocus(nextObj);
        }
    }
}

/*-------------------------------------------------------------------------
    Spec         : È­¸é¿¡¼­ Enter¸¦ ÀÔ·ÂÇÏ¸é ÇØ´ç ÀÌ¹ÌÁö¹öÆ°À» Å¬¸¯ÇÑ È¿°ú¸¦ ÁÜ.
    Parameter    : Key Event, ¹öÆ°ID
    Return       : Boolean
    Ex           : onKeypress="javascript:enterKeypress(event, 'btnUpdate');"
-------------------------------------------------------------------------*/
var srcEventType = "";
var srcEventObj  = null;
function excuteIdByEnterKey(e, strBtnId) {
    var keyCode = getEventKeyCode(e);
    if(keyCode == 13) { // Enter
        srcEventObj = null;
        if(e.srcElement) {
            srcEventObj = e.srcElement;
        } else {
            srcEventObj = e.target;
        }
        if(srcEventObj != null) srcEventType = srcEventObj.type;

        if(srcEventType != "" && srcEventType != "textarea") {
            document.getElementById(strBtnId).onclick();
        }
    }
}

/*-------------------------------------------------------------------------
    Spec         : È­¸é¿¡¼­ Enter¸¦ ÀÔ·ÂÇÏ¸é ÇØ´ç ÇÔ¼ö¸¦ ½ÇÇàÇÔ.
    Parameter    : Key Event, Function¸í
    Return       : void
    Ex           : onKeypress="javascript:excuteFuncByEnterKey(event, \"goUpdate('btnUpdate')\");"
-------------------------------------------------------------------------*/
function excuteFuncByEnterKey(e, strFuncName) {
    var keyCode = getEventKeyCode(e);
    if(keyCode == 13) { // Enter
        srcEventObj = null;
        if(e.srcElement) {
            srcEventObj = e.srcElement;
        } else {
            srcEventObj = e.target;
        }
        if(srcEventObj != null) srcEventType = srcEventObj.type;

        if(srcEventType != "" && srcEventType != "textarea") {
            eval(strFuncName);
        }
    }
}

//****************************************************************************
// ¹®ÀÚ¿­ °ü·Ã ÇÔ¼ö
//****************************************************************************
/*-------------------------------------------------------------------------
    Notes     : ÇØ´ç ¹®ÀÚ¿­ÀÇ ¾ÕµÚ°ø¹éÀ» Á¦°ÅÇÏ´Â ÇÔ¼ö.
    Parameter : ¹®ÀÚ¿­
    Return    : String
    Use       : getTrimStr(val);
-------------------------------------------------------------------------*/
function getTrimStr(val) {
    return val.replace(/^\s+|\s+$/g,"");
}

/*-------------------------------------------------------------------------
    Notes     : ÇØ´ç ¹®ÀÚ¿­ÀÇ ¾Õ°ø¹éÀ» Á¦°ÅÇÏ´Â ÇÔ¼ö.
    Parameter : ¹®ÀÚ¿­
    Return    : String
    Use       : getLTrimStr(val);
-------------------------------------------------------------------------*/
function getLTrimStr(val) {
    return val.replace(/^\s+/,"");
}

/*-------------------------------------------------------------------------
    Notes     : ÇØ´ç ¹®ÀÚ¿­ÀÇ µÚ°ø¹éÀ» Á¦°ÅÇÏ´Â ÇÔ¼ö.
    Parameter : ¹®ÀÚ¿­
    Return    : String
    Use       : getRTrimStr(val);
-------------------------------------------------------------------------*/
function getRTrimStr(val) {
    return val.replace(/\s+$/,"");
}

/*-------------------------------------------------------------------------
    Spec      : Æ¯Á¤ ¹®ÀÚ·Î ¿ÞÂÊÀ» Ã¤¿ì´Â ¹°ÀÚ¿­À» ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : value, ±æÀÌ, ¹®ÀÚ
    Return    : Boolean
    Ex        : var lpad = getLpadVal(this, 3, '0')
-------------------------------------------------------------------------*/
function getLpadVal(val, len, ch) {
    var retVal = "";

    if(val == "" || val == null) {
        retVal = "";
    } else {
        var fillVal = "";

        var chSize = len - val.length;
        for(var i=0; i<chSize; i++){
            fillVal += ch;
        }
        retVal = fillVal +  val;
    }

    return retVal;
}


/*-------------------------------------------------------------------------
    Spec      : Æ¯Á¤ ¹®ÀÚ·Î ¿À¸¥ÂÊÀ» Ã¤¿ì´Â ¹°ÀÚ¿­À» ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : value, ±æÀÌ, ¹®ÀÚ
    Return    : Boolean
    Ex        : var rpad = getRpadVal(this, 3, '0')
-------------------------------------------------------------------------*/
function getRpadVal(val, len, ch) {
    var retVal = "";

    if(val == "" || val == null) {
        retVal = "";
    } else {
        var fillVal = "";
        var chSize = len - val.length;
        for(var i=0; i<chSize; i++){
            fillVal += ch;
        }
        retVal = val + fillVal;
    }

    return retVal;
}

/*-------------------------------------------------------------------------
    Notes     : ÇØ´çµ¥ÀÌÅÍ°¡ ±Ý¾×Çü½ÄÀ¸·Î º¯È¯ÇÏ´Â ÇÔ¼ö.
    Parameter : ±Ý¾×
    Return    : boolean
    Use       : formatCurrency(num);
-------------------------------------------------------------------------*/
function formatCurrency(num) {
// Function courtesy of:  Cyanide_7
    var numData="";
    var startRealNum=0;
    var sign="";//¾ç¼ö[],À½¼ö[-]
    numData=num;

    numData = numData.toString().replace(/\$|\,/g,'');

    if(isNaN(numData)) {
        numData = num;
        return "";
    }
    if(numData.substring(0,1)=="-"){
        sign="-";
        numData=numData.substring(1);
    }

    //¼Ò¼ýÁ¡ ¹× "000.." Á¦°Å
    for(var i=0;i<numData.length;i++){
        if(numData.charAt(i)!='0'){
            break;
        }
        startRealNum++;
    }

    if(numData.length!=1&&startRealNum>0){
        if(numData.charAt(startRealNum)=='.'){
            numData = numData.substring(startRealNum-1);
        }else{
            numData = numData.substring(startRealNum);
        }
    }

    //¼Ò¼ýÁ¡ Á¦°Å
    if(numData.charAt(0)=="."){
        numData="0."+numData.substring(1);
    }

    tmpNum=numData.split('.');
    if(tmpNum.length==1){
        numData=tmpNum[0];
        cents="";
    }else if(tmpNum.length==2){
        numData =tmpNum[0];
        cents   =tmpNum[1];
    }else{
        return "";
    }

    for (var i = 0; i < Math.floor((numData.length-(1+i))/3); i++)
        numData = numData.substring(0,numData.length-(4*i+3))+','+numData.substring(numData.length-(4*i+3));

    if(cents==""){
        return sign+numData;
    }else{
        return sign+(numData + "." + cents);
    }
}

/*-------------------------------------------------------------------------
    Notes     : ÀÔ·Â°ªÀÇ ¹ÙÀÌÆ® ±æÀÌ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±Ý¾×
    Return    : boolean
    Use       : formatCurrency(val);
-------------------------------------------------------------------------*/
function getByteLength(str){
    var byteLength= 0;

    for(var inx=0; inx < str.length; inx++)
    {
        var oneChar = escape(str.charAt(inx));
        if( oneChar.length == 1 )
            byteLength ++;
        else if(oneChar.indexOf("%u") != -1)
            byteLength += 2;
        else if(oneChar.indexOf("%") != -1)
            byteLength += oneChar.length/3;
    }

    return byteLength;
}

/*-------------------------------------------------------------------------
    Notes     : ±âÁØÀÏÀÚ¿¡¼­ °¡°¨ ÀÏÀÚ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±âÁØÀÏÀÚ, °¡°¨ÀÏ
    Return    : ÀÏÀÚ
    Use       : getAddDate(thisDay, 1);
-------------------------------------------------------------------------*/
function getAddYearhDate(stdDate, addYear){
    return getAddDate(stdDate, addYear, 0, 0);
}

/*-------------------------------------------------------------------------
    Notes     : ±âÁØÀÏÀÚ¿¡¼­ °¡°¨ ÀÏÀÚ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±âÁØÀÏÀÚ, °¡°¨ÀÏ
    Return    : ÀÏÀÚ
    Use       : getAddDate(thisDay, 1);
-------------------------------------------------------------------------*/
function getAddMonthDate(stdDate, addMonth){
    return getAddDate(stdDate, 0, addMonth, 0);
}

/*-------------------------------------------------------------------------
    Notes     : ±âÁØÀÏÀÚ¿¡¼­ °¡°¨ ÀÏÀÚ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±âÁØÀÏÀÚ, °¡°¨ÀÏ
    Return    : ÀÏÀÚ
    Use       : getAddDate(thisDay, 1);
-------------------------------------------------------------------------*/
function getAddDayDate(stdDate, addDay){
    return getAddDate(stdDate, 0, 0, addDay);
}

/*-------------------------------------------------------------------------
    Notes     : ±âÁØÀÏÀÚ¿¡¼­ °¡°¨ ÀÏÀÚ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±âÁØÀÏÀÚ, °¡°¨³âµµ, °¡°¨¿ù, °¡°¨ÀÏ
    Return    : ÀÏÀÚ
    Use       : getAddDate(thisDay, 0, 1, 0);
-------------------------------------------------------------------------*/
function getAddDate(stdDate, addYear, addMonth, addDay){
    var addDate = "";
    if(stdDate.length == 8){
        var year  = parseInt(stdDate.substring(0, 4), 10) + addYear;
        var month = parseInt(stdDate.substring(4, 6), 10) + addMonth;
        var day   = parseInt(stdDate.substring(6)   , 10) + addDay;

        var dateObj = new Date(year, (month-1), day);

        var strYear  = dateObj.getYear().toString();
        var strMonth = (dateObj.getMonth()+1).toString();
        var strDate  = dateObj.getDate().toString();

        addDate  = (strYear.length  < 4 ? ("19" + strYear) : strYear) +
                   (strMonth.length < 2 ? ("0" + strMonth) : strMonth) +
                   (strDate.length  < 2 ? ("0" + strDate) : strDate);
    }

    return addDate;
}

/*-------------------------------------------------------------------------
    Notes     : ÇØ´ç³âµµÀÇ ÁÖÀÇ ½ÃÀÛÀÏÀÚ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±âÁØ³âµµ(1900³âµµÀÌ»ó), ÇØ´çÁÖ(1~52)
    Return    : ÀÏÀÚ
    Use       : getFirstDateOfWeekByYear("2008", 1));
-------------------------------------------------------------------------*/
function getFirstDateOfWeekByYear(strYear, nWeek) {
    var retDate = "";
    var nYear = parseInt(strYear, 10);

    if(nYear > 1900) {
        if(nWeek >= 1 && nWeek <= 52) {
            var dateObj = new Date(nYear, 0, 1);
            var dayOfWeek = dateObj.getDay();
            var startDay = 0;

            if(dayOfWeek > 0) {
                while(dayOfWeek <= 6) {
                    dayOfWeek++;
                    startDay++;
                }
            }

            var addDay = (nWeek-1) * 7 + startDay;
            retDate = getAddDate((strYear + "0101"), 0, 0, addDay);
        }
    }

    return retDate;
}

/*-------------------------------------------------------------------------
    Notes     : ÇØ´ç³âµµÀÇ ÁÖÀÇ ¸¶Áö¸·ÀÏÀÚ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±âÁØ³âµµ(1900³âµµÀÌ»ó), ÇØ´çÁÖ(1~52)
    Return    : ÀÏÀÚ
    Use       : getLastDateOfWeekByYear("2008", 1));
-------------------------------------------------------------------------*/
function getLastDateOfWeekByYear(strYear, nWeek) {
    return getAddDate(getFirstDateOfWeekByYear(strYear, nWeek), 0, 0, 6)
}

/*-------------------------------------------------------------------------
    Notes     : ÇØ´ç³âµµÀÇ ÁÖÀÇ ½ÃÀÛÀÏÀÚ¿Í ¸¶Áö¸·ÀÏÀÚ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±âÁØ³âµµ(1900³âµµÀÌ»ó), ÇØ´çÁÖ(1~52)
    Return    : Array
    Use       : getDateOfWeekByYear("2008", 1));
-------------------------------------------------------------------------*/
function getDateOfWeekByYear(strYear, nWeek) {
    var arrayDate = new Array(2);
    arrayDate[0] = getFirstDateOfWeekByYear(strYear, nWeek);
    arrayDate[1] = getAddDate(arrayDate[0], 0, 0, 6);

    return arrayDate;
}

/*-------------------------------------------------------------------------
    Notes     : ±âÁØÀÏÀÚ°¡ ¼ÓÇÑ ÁÖÀÇ Ã¹¹øÂ°(ÀÏ¿äÀÏ±âÁØ) ÀÏÀÚ¸¦ ±¸ÇÏ´ÂÇÔ¼ö.
    Parameter : ±âÁØÀÏÀÚ
    Return    : ÀÏÀÚ
    Use       : getDateOfWeek('20080801');
-------------------------------------------------------------------------*/
function getDateOfWeek(strDate) {
    var retDate = "";

    if(strDate != null && strDate.length == 8) {
        var year  = parseInt(strDate.substring(0, 4), 10);
        var month = parseInt(strDate.substring(4, 6), 10);
        var day   = parseInt(strDate.substring(6)   , 10);

        var dateObj = new Date(year, (month-1), day);
        var dayOfWeek = dateObj.getDay();

        retDate = getAddDate(strDate, 0, 0, -(dayOfWeek));
    }

    return retDate;
}

/*-------------------------------------------------------------------------
    Notes     : ±âÁØÀÏÀÚÀÇ ÁÖÂ÷¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±âÁØÀÏÀÚ
    Return    : ÁÖÂ÷
    Use       : getWeekOfDate('20080726');
-------------------------------------------------------------------------*/
function getWeekOfDate(strDate){
    var retWeek = -1;
    if(strDate.length == 8){
        var year  = parseInt(strDate.substring(0, 4), 10);
        var month = parseInt(strDate.substring(4, 6), 10);
        var day   = parseInt(strDate.substring(6)   , 10);

        var initDate = new Date(year, 0, 1);
        var dayOfWeek = initDate.getDay();
        var startDay = 0;

        if(dayOfWeek > 0) {
            while(dayOfWeek <= 6) {
                dayOfWeek++;
                startDay++;
            }
        }

        var fromDate = new Date(year, 0, startDay);
        var toDate   = new Date(year, (month-1), day);

        var termDay = (toDate.getTime() - fromDate.getTime())/(1000*60*60*24);

        retWeek = Math.ceil(termDay/7);
    }

    return retWeek;
}

/*-------------------------------------------------------------------------
    Notes     : Æ¯Á¤³â¿ùÀÇ ÁÖÀÇ ½ÃÀÛÀÏÀÚ¿Í Á¾·áÀÏÀÚ¸¦ ±¸ÇÏ´Â ÇÔ¼ö.
    Parameter : ±âÁØÀÏÀÚ
    Return    : ÁÖÂ÷
    Use       : getArrayKorDateOfWeek('20080726', 1);
-------------------------------------------------------------------------*/
function getArrayKorDateOfWeek(strStdDate, week){
	var arrayDate = new Array(2);

    var stdDate = new Date( parseInt(strStdDate.substring(0,4), 10), parseInt(strStdDate.substring(4,6), 10)-1, "" );
	var lastDate = stdDate.getDate(); // ¿ùÀÇ ¸¶Áö¸·ÀÏÀÚ¸¦ ±¸ÇÔ.

	var tempWeek = -1;
	for(var i=1; i<lastDate; i++) {
		tempWeek = Math.ceil(i/7);

		if(week == tempWeek && arrayDate[0] == null) {
			// °°ÀºÁÖ°¡ µÇ¸é ½ÃÀÛÀÏÀÚ¸¦ ±¸ÇÔ.
			arrayDate[0] = strStdDate.substring(0,4) + strStdDate.substring(4,6) + (i<10 ? "0"+i.toString() : i.toString()); 
		} else if(week < tempWeek) {
			// ±¸ÇÏ°íÀÚ ÇÏ´Â ÁÖº¸´Ù Å«°æ¿ì Á¾·áÀÏÀÚ¸¦ ±¸ÇÔ.
			var lastDay = i-1;
			arrayDate[1] = strStdDate.substring(0,4) + strStdDate.substring(4,6) + (lastDay <10 ? "0"+lastDay.toString() : lastDay.toString());
			i = lastDate; // Roof Á¾·á
		}
	}

	// ¸¶Áö¸·ÀÏÀÚ°¡ ¾ø´Â °æ¿ì ¿ùÀÇ ¸¶Áö¸·ÀÏÀÚ¸¦ ¼³Á¤ÇÔ.
	if(arrayDate[1] == null) {
		arrayDate[1] = strStdDate.substring(0,4) + strStdDate.substring(4,6) + lastDate.toString();
	}
	
	return arrayDate;
}


/*-------------------------------------------------------------------------
    Notes     : ÁÖ¹Î¹øÈ£¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
    Parameter : ÁÖ¹Î¹øÈ£1, ÁÖ¹Î¹øÈ£2
    Return    : boolean
    Use       : checkJuminNo(val);
-------------------------------------------------------------------------*/
function checkJuminNo2(strJuminNo1, strJuminNo2) {
    return checkJuminNo(strJuminNo1+strJuminNo2);
}

/*-------------------------------------------------------------------------
    Notes     : ÁÖ¹Î¹øÈ£¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
    Parameter : ÁÖ¹Î¹øÈ£
    Return    : boolean
    Use       : checkJuminNo(val);
-------------------------------------------------------------------------*/
function checkJuminNo(strJuminNo) {
    var bRet = false;

    if(strJuminNo.length != 13) bRet = false;
    if(!bRet) {
        // ÁÖ¹Î¹øÈ£¸¦ ¼ýÀÚ¹è¿­·Î º¯È¯
        var arrayJuminNo = new Array(13);
        for(var i=0; i<arrayJuminNo.length; i++)
            arrayJuminNo[i] = parseInt(strJuminNo.charAt(i), 10);

        var arrayMultipliers = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];
        var len = arrayMultipliers.length;

        var sum = 0;
        for(var i=0; i<len; i++) {
            sum += arrayJuminNo[i] * arrayMultipliers[i];
        }

        var modulus = sum % 11;
        var endNum  = 11 - modulus;

        if(endNum >= 10) endNum -= 10;

        // Ã¼Å©Bit¿Í ºñ±³
        if(arrayJuminNo[12] == endNum) bRet = true;
        else bRet = false;
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : ÁÖ¹Î¹øÈ£¿¡¼­ ¼ºº°À» ÃßÃâÇÏ´Â ÇÔ¼ö.
    Parameter : ÁÖ¹Î¹øÈ£ ¾ÕÀÚ¸®, ÁÖ¹Î¹øÈ£ µÞÀÚ¸®
    Return    : m:³², f:¿©
    Use       : getSexByJuminNo2(strJuminNo1, strJuminNo2);
-------------------------------------------------------------------------*/
function getSexByJuminNo2(strJuminNo1, strJuminNo2){
    return getSexByJuminNo(strJuminNo1+strJuminNo2);
}

/*-------------------------------------------------------------------------
    Notes     : ÁÖ¹Î¹øÈ£¿¡¼­ ¼ºº°À» ÃßÃâÇÏ´Â ÇÔ¼ö.
    Parameter : ÁÖ¹Î¹øÈ£
    Return    : m:³², f:¿©
    Use       : getSexByJuminNo(strSsno);
-------------------------------------------------------------------------*/
function getSexByJuminNo(strSsno){
    var sex = "";
    var len = strSsno.length;

    if(len == 13){
        var iSex   = parseInt(strSsno.substring(6,7), 10);

        if(!isNaN(iSex)){
            if(iSex == 1 || iSex == 3 || iSex == 5 || iSex == 7){
                sex = "m";
            } else if(iSex == 2 || iSex == 4 || iSex == 6 || iSex == 8){
                sex = "f";
            } else {
                sex = "";
            }
        }
    }

    return sex;
}

/*--------------------------------------------------------------------------
    Spec      : »ý³â¿ùÀÏ¸¦ ÀÔ·Â¹Þ¾Æ ÇöÀç½Ã°£ ±âÁØÀ¸·Î ¸¸³ªÀÌ¸¦ ¸®ÅÏÇÑ´Ù.
    Parameter : stdDay ±âÁØÀÏÀÚ, birthday  »ý³â¿ùÀÏ
    Return    : ¸¸³ªÀÌ
--------------------------------------------------------------------------*/
function getAgeOfBirthday(stdDay, birthday){
    var age = -1;

    if(birthday != null && birthday.length == 8){
        var addAge = 0; // »ýÀÏ¿¡ µû¸¥ °¡°¨À» À§ÇÑ º¯¼ö

        var currentYear  = parseInt(stdDay.substring(0,4), 10);  // ÇöÀç³â
        var currentMonth = parseInt(stdDay.substring(4,6), 10);  // ÇöÀç¿ù
        var currentDay   = parseInt(stdDay.substring(6,8), 10);    // ÇöÀçÀÏ
        var year         = parseInt(birthday.substring(0,4), 10); // ÁÖ¹Î¹øÈ£-³â
        var month        = parseInt(birthday.substring(4,6), 10); // ÁÖ¹Î¹øÈ£-¿ù
        var day          = parseInt(birthday.substring(6), 10);   // ÁÖ¹Î¹øÈ£-ÀÏ

        // ¿ùÀÏ ºñ±³
        if(currentMonth < month){
            addAge = -1;
        } else if(currentMonth == month) {
            if(currentDay < day){
                addAge = -1;
            } else {
                addAge = 0;
            }
        } else {
            addAge = 0;
        }

        age = currentYear - year + addAge;
    }

    return age;
}

/*-------------------------------------------------------------------------
    Notes     : ÁÖ¹Î¹øÈ£¿¡¼­ »ý³â¿ùÀÏÀ» ÃßÃâÇÏ´Â ÇÔ¼ö.
    Parameter : ÁÖ¹Î¹øÈ£
    Return    : »ý³â¿ùÀÏ
    Use       : getBirthdayByJuminNo(strJuminNo, delimiter);
-------------------------------------------------------------------------*/
function getBirthdayByJuminNo(strJuminNo, delimiter){
    var birthday = ""
    var len = strJuminNo.length;

    if((typeof(delimiter) == "undefined")) delimiter = "";

    if(len == 13){
        var iBirth = parseFloat(strJuminNo.substring(0,6));
        var iSex   = parseInt(strJuminNo.substring(6,7), 10);

        if(!isNaN(iBirth) && !isNaN(iSex)){
            var strPreYear = "";
            if(iSex == 1 || iSex == 2 || iSex == 5 || iSex == 6){
                strPreYear = "19";
            } else if(iSex == 3 || iSex == 4 || iSex == 7 || iSex == 8){
                strPreYear = "20";
            } else {
                strPreYear = "18";
            }

            birthday = strPreYear + strJuminNo.substring(0,2) + delimiter + strJuminNo.substring(2,4) + delimiter + strJuminNo.substring(4,6)
        }

    }

    return birthday;
}

/*-------------------------------------------------------------------------
    Notes     : ¿Ü±¹ÀÎ µî·Ï¹øÈ£¸¦ Ã¼Å©ÇÏ´Â ÇÔ¼ö.
    Parameter : ÁÖ¹Î¹øÈ£
    Return    : boolean
    Use       : checkForeignerRegiNo(val);
-------------------------------------------------------------------------*/
function checkForeignerRegiNo(strRegiNo) {
    var bRet = false;

    if(strRegiNo.length != 13) bRet = false;
    if(bRet) {
        // ÁÖ¹Î¹øÈ£¸¦ ¼ýÀÚ¹è¿­·Î º¯È¯
        var arrayRegiNo = new Array(13);
        for(var i=0; i<arrayJuminNo.length; i++)
            arrayRegiNo[i] = parseInt(strRegiNo.charAt(i), 10);

        var odd = arrayRegiNo[7]*10 + arrayRegiNo[8];
        if(odd%2 != 0) bRet = false;

        if(bRet) {
            if((arrayRegiNo[11] != 6) &&
               (arrayRegiNo[11] != 7) &&
               (arrayRegiNo[11] != 8) &&
               (arrayRegiNo[11] != 9))
                bRet = false;
        } else {
            var arrayMultipliers = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5]; // 2,3,4,5,6,7,8,9,2,3,4,5
            var len = arrayMultipliers.length;

            var sum = 0;
            for(var i=0; i<len; i++) {
                sum += arrayJuminNo[i] * arrayMultipliers[i];
            }

            sum = 11- (sum % 11);
            if(sum >= 10){
                sum-=10;
            }

            sum += 2;
            if(sum>=10) sum-=10;

            if( sum == buf[12]) bRet = true;
            else  bRet = false;
        }
    }

    return bRet;
}

//****************************************************************************
// Table °ü·Ã ÇÔ¼ö
//****************************************************************************
//var ON_MOUSE_OVER_CLASS = "ctrow1w";
//var ON_MOUSE_OUT_CLASS  = "ctrow1";
var ON_MOUSE_OVER_BGCOLOR = "#FFFF99";
var ON_MOUSE_OUT_BGCOLOR  = "#FFFFFF";
/*-------------------------------------------------------------------------
    Notes     : Table¿¡¼­ Row onMouseOver½Ã È£ÃâÇÏ´Â ÇÔ¼ö.
    Parameter : trObj
    Return    : void
-------------------------------------------------------------------------*/
function tableRowOnMouseOver(trObj){
    //trObj.className = ON_MOUSE_OVER_CLASS;
    trObj.style.backgroundColor = ON_MOUSE_OVER_BGCOLOR;
}

/*-------------------------------------------------------------------------
    Notes     : Table¿¡¼­ Row onMouseOut½Ã È£ÃâÇÏ´Â ÇÔ¼ö.
    Parameter : trObj
    Return    : void
-------------------------------------------------------------------------*/
function tableRowOnMouseOut(trObj){
    //trObj.className = ON_MOUSE_OUT_CLASS;
    trObj.style.backgroundColor = ON_MOUSE_OUT_BGCOLOR;
}

/*-------------------------------------------------------------------------
    Notes     : HTML Table Row¸¦ Ãß°¡ÇÑ´Ù
    Parameter : [ÇÊ¼ö] tableID
                [ÇÊ¼ö] arrayCellText
                [¼±ÅÃ] countRowTitle
                [¼±ÅÃ] countRowLimited
                [¼±ÅÃ] trBgColor
                [¼±ÅÃ] arrayCellClassName
                [¼±ÅÃ] arrayCellAlign
                [¼±ÅÃ] arrayCellWidth
                [¼±ÅÃ] insertRowIndex
    Return    :
    use       : addTableRow('tabMember', arrayCellText, 0, 5);
-------------------------------------------------------------------------*/
function addTableRow(tableID, arrayCellText, countRowTitle, countRowLimited, trBgColor, arrayCellClassName, arrayCellAlign, arrayCellWidth, insertRowIndex) {
    // Get a reference to the table
    var tableRef = document.getElementById(tableID);

    // Row Length
    var tableRows = tableRef.rows.length;

    if(typeof(insertRowIndex) == "undefined") insertRowIndex = tableRows;

    // Cell Length
    var cellLen = 0;
    if(arrayCellText == null) {
        alert("Ãß°¡ÇÒ CellÁ¤º¸°¡ ¾ø½À´Ï´Ù.");
        return false;
    } else {
        cellLen = arrayCellText.length;
    }

    // row Limited
    if(typeof(countRowTitle) == "number" && typeof(countRowLimited) == "number") {
        if(countRowLimited <= (tableRows - countRowTitle)) {
            alert(countRowLimited + "°³ ±îÁö¸¸ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.");
            return false;
        }
    }

    // background colour of the row
    if(typeof(trBgColor) == "undefined") trBgColor = "#FFFFFF";

    // class attribute of an element
    if(typeof(arrayCellClassName) == "undefined" || arrayCellClassName == "") {
        arrayCellClassName = new Array(cellLen);
        for(var i=0; i<cellLen; i++) arrayCellClassName[i] = "";
    }

    // horizontal alignment of data within a table cell
    if(typeof(arrayCellAlign) == "undefined" || arrayCellAlign == "") {
        arrayCellAlign = new Array(cellLen);
        for(var i=0; i<cellLen; i++) arrayCellAlign[i] = "";
    }

    //  width of a table cell
    if(typeof(arrayCellWidth) == "undefined" || arrayCellWidth == "") {
        arrayCellWidth = new Array(cellLen);
        for(var i=0; i<cellLen; i++) arrayCellWidth[i] = "";
    }

    // Insert a row in the table at row index
    var newRow = tableRef.insertRow(insertRowIndex);
    if(newRow != null) {
        var addCell = null;
        for(var i=0; i<cellLen; i++) {
            addCell = newRow.insertCell(i);

            addCell.className = arrayCellClassName[i];
            addCell.align     = arrayCellAlign[i];
            addCell.width     = arrayCellWidth[i];
            addCell.innerHTML = arrayCellText[i];
        }

        if(trBgColor != "") newRow.style.backgroundColor = trBgColor;
        addCell.focus();
    }

    return true;
}

/*-------------------------------------------------------------------------
    Notes     : HTML Table Row¸¦ »èÁ¦ÇÑ´Ù
    Parameter : [ÇÊ¼ö] tableID
                [ÇÊ¼ö] object
    Return    :
    use       : onClick="javascript:deleteTableRow('tableID', this)";
-------------------------------------------------------------------------*/
function deleteTableRow(tableID, srcElement) {
    var tableRef = document.getElementById(tableID);
    tableRef.deleteRow(srcElement.parentNode.parentNode.rowIndex);
}

/*-------------------------------------------------------------------------
    Notes     : HTML TableÀÇ ¸¶Áö¸· Row¸¦ »èÁ¦ÇÑ´Ù
    Parameter : [ÇÊ¼ö] tableID
                [¼±ÅÃ] countRowLimited
    Return    :
    use       : onClick="javascript:deleteTableRow('tableID', 1)";
-------------------------------------------------------------------------*/
function deleteTableLastRow(tableID, countRowLimited) {
    var tableRef = document.getElementById(tableID);
    var rowIndex = tableRef.rows.length-1;

    if(typeof(countRowLimited) == "undefined") countRowLimited = 0;

    if(countRowLimited <= rowIndex) {
        tableRef.deleteRow(rowIndex);
    }
}

//****************************************************************************
// Popup °ü·Ã ÇÔ¼ö
//****************************************************************************
/*-------------------------------------------------------------------------
    Notes     : Ã¢ÀÇ Å©±â°¡ °íÁ¤µÈ ÆË¾÷À» Áß¾Ó¿¡ ¶ç¿ì´Â ÇÔ¼ö.
    Parameter : p_url, p_winName, p_width, p_height
    Return    : window
-------------------------------------------------------------------------*/
function openFixedPopupWindow(p_url, p_winName, p_width, p_height){
    return openPopupWindow(p_url, p_winName, p_width, p_height, "0", "0", "0", "0");
}

/*-------------------------------------------------------------------------
    Notes     : Ã¢ÀÇ Å©±â°¡ °íÁ¤µÈ ÆË¾÷À» Áß¾Ó¿¡ ¶ç¿ì´Â ÇÔ¼ö.
    Parameter : p_url, p_winName, p_width, p_height
    Return    : window
-------------------------------------------------------------------------*/
function openStatusPopupWindow(p_url, p_winName, p_width, p_height){
    return openPopupWindow(p_url, p_winName, p_width, p_height, "0", "1", "0", "0");
}


/*-------------------------------------------------------------------------
    Notes     : ScrollÀÌ °¡´ÉÇÏ°í Å©±â°¡ °íÁ¤µÈ ÆË¾÷À» Áß¾Ó¿¡ ¶ç¿ì´Â ÇÔ¼ö.
    Parameter : p_url, p_winName, p_width, p_height
    Return    : window
-------------------------------------------------------------------------*/
function openScrollbarsPopupWindow(p_url, p_winName, p_width, p_height){
    return openPopupWindow(p_url, p_winName, p_width, p_height, "0", "1", "1", "0");
}

/*-------------------------------------------------------------------------
    Notes     : ÆË¾÷À» Áß¾Ó¿¡ ¶ç¿ì´Â ÇÔ¼ö.
    Parameter : p_url, p_winName, p_width, p_height, p_menubar, p_status, p_scrollbars, p_resizable
    Return    : window
-------------------------------------------------------------------------*/
function openPopupWindow(p_url, p_winName, p_width, p_height, p_menubar, p_status, p_scrollbars, p_resizable){

    var left = (screen.width - p_width) / 2;
    var top  = (screen.height - p_height) / 2;

    var opt = "";
        opt += "toolbar=0,";
        opt += "location=0,";
        opt += "directories=0,";
        opt += "status="     + p_status + ",";
        opt += "menubar="    + p_menubar + ",";
        opt += "scrollbars=" + p_scrollbars + ",";
        opt += "resizable="  + p_resizable + ",";
        opt += "top="        + top + ",";
        opt += "left="       + left + ",";
        opt += "width="      + p_width + ",";
        opt += "height="     + p_height;

    var popup = window.open(p_url, p_winName, opt);
    /*
    popup.blur();

    if(parseInt(navigator.appVersion, 10) >= 4){
        popup.window.focus()
    } else {
        popup.focus()
    }
    */

    return popup;
}

//****************************************************************************
// ¾÷¹«°ü·Ã ÇÔ¼ö.
//****************************************************************************
/*-------------------------------------------------------------------------
    Notes     : Date Select Object¿¡ °ªÀ» Text Object¿¡ ¼³Á¤ÇÏ´Â ÇÔ¼ö.
                ÀÎÀÚ¼ö¿¡µû¶ó ³â¿ù, ³â¿ùÀÏ ¼³Á¤°¡´É.
    Parameter : Text Object, Year Object, Month Object, Date Object
    Return    : void
    Use       : setDateObject(form.date, form.slcYear, form.slcMonth, form.slcDate)
-------------------------------------------------------------------------*/
function setDateObject(txtObj, yearObj, monthObj, dateObj){
    var ymd = "";

    if(txtObj != null) {
        var args = setDateObject.arguments;
        var len  = args.length;
        switch(len) {
            case 3:
                ymd = getHtmlObjectValue(yearObj) + getHtmlObjectValue(monthObj);
                break;
            case 4:
                ymd = getHtmlObjectValue(yearObj) + getHtmlObjectValue(monthObj) + getHtmlObjectValue(dateObj);
                break;
            default:
                break;
        }
        setHtmlObjectValue(txtObj, ymd);
    }
}

/*-------------------------------------------------------------------------
    Notes     : »ö»óÀ» Ã£´Â ÆË¾÷À» È£ÃâÇÔ.
    Parameter : Form Object Name, Object Name, Month Object, Date Object
    Return    : void
    Use       : onClick="javascript:openSelectColorPopup('mainForm', 'Ç×¸ñ¹è°æ»ö»ó³»¿ë');"
-------------------------------------------------------------------------*/
function openSelectColorPopup(strFormName, strObjName){
    var strColorVal = eval("document." + strFormName + "." + strObjName + ".value");

    var url  = "/quics?USER_TYPE=10&page=B007980&cc=b000001:b004354";
        url += "&formName="  + strFormName;
        url += "&objName="   + strObjName;
        url += "&colorVal="  + strColorVal;

    var winSelectColor = openFixedPopupWindow(url, "winColorSelection", 350, 240);
}

/*-------------------------------------------------------------------------
    Notes     : ¾÷·ÎµåµÈ ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ´Â ÇÔ¼ö.
                >>> È®ÀÎ»çÇ×
                    1. ÇØ´ç ÄÄÆ÷³ÍÆ®ÀÇ º¸¾ÈÇÃ·¡±×°¡ SOFO·Î ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.
                    2. ÇØ´çÆäÀÌÁöÀÇ TP¿¡ " [b002907] [ XecureWebFileAccessObject ]" Ãß°¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.
    Parameter : [ÇÊ¼ö] strRealFileFullName - ÆÄÀÏÀüÃ¼°æ·Î
                [¼±ÅÃ] strDisplayFileName - È­¸é¿¡ º¸¿©Áö´Â ÆÄÀÏ¸í
                [¼±ÅÃ] nOption - ¿­±â ¹× ÀúÀå ¿É¼Ç º¸ÀÌ±â
    Return    : boolean
    Use       : onClick="javascript:goFileDownload('/nfsimgs3/doc/about/ir/download/infousermgt/20080227163238_K_No_No.csv', '20080227163238_K_No_No.csv');"
-------------------------------------------------------------------------*/
function goFileDownload(strRealFileFullName, strDisplayFileName, nOption){
    var bRet = true;
    if(strRealFileFullName != null && strRealFileFullName != "") {
        var strURL = "/quics?USER_TYPE=10&asfilecode=11268&";
        var strParam = "fileFullName=" + strRealFileFullName;

        var args = goFileDownload.arguments;
        var len  = args.length;

        if(len == 1) {
            strDisplayFileName = getFileName(strRealFileFullName);
            nOption = 1;
        } else if(len == 2){
            nOption = 1;
        }

        FileDownloadURL(strDisplayFileName, strURL, strParam, nOption);
    } else {
        alert("ÆÄÀÏÁ¤º¸°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù.");
        bRet = false;
    }

    return bRet;
}

/*-------------------------------------------------------------------------
    Notes     : Ã¤¿ë ºñ¹Ð¹øÈ£ Ã£±â Å¬¸¯½Ã Áö¿øÀÚÀÇ ºñ¹Ð¹øÈ£¸¦ ÀÌ¸ÞÀÏ ¹ß¼Û.
    Parameter : Form Object Name, Object Name, Month Object, Date Object
    Return    : void
    Use       : onClick="javascript:openSelectColorPopup('mainForm', 'Ç×¸ñ¹è°æ»ö»ó³»¿ë');"
-------------------------------------------------------------------------*/
function openSendMailApplicantPwdRegFrm(formObj){
    var winName = "winSendMailApplicantPwdRegFrm";
    var popWin = openFixedPopupWindow('', winName, 580, 350);

    formObj.action = "/quics?USER_TYPE=10&page=B008049&cc=b000001:b013328";
    formObj.target = winName;
    formObj.submit();
}
