 /**
  * author : freedae
 */

/**
 ###############################################################################
 	Submit ??? ???1
 ###############################################################################
 */

function showProgress() {
	try {
		document.all.bizView.style.display = 'none';
		document.all.progress.style.display = '';
		if (document.all.popCal) {
			document.all.popCal.style.pixelLeft = document.body.scrollLeft;
			document.all.popCal.style.pixelTop = document.body.scrollTop;
		}
	} catch(e) {
	}
}

function hideProgress() {
	try {
		document.all.progress.style.display = 'none';
		document.all.bizView.style.display = '';
	} catch(e) {
	}
}

/**
 * dispatcher?? submit??????( ???????? ??????. )
 *
 * param
 *   frmName : form element
 */
function doSubmit(frmName, isNoProcessing){
  if (!isNoProcessing)
    showProgress();

  frmName.action = '/ui/Dispatcher';
  frmName.method = 'post';
  return XecureSubmit(frmName);
}

/**
 * dispatcher?? submit??????. ???? ?????? ???? ? ????.( ???????? ??????. )
 *
 * param
 *   frmName : form element
 *   frmTarget : traget name
 */
function doTargetSubmit(frmName, frmTarget, isNoProcessing){
  if (!isNoProcessing)
    showProgress();

  frmName.action = '/ui/Dispatcher';
  frmName.method = 'post';

  frmName.target = frmTarget;
  return XecureSubmit(frmName);
}

/**
 * dispatcher?? submit??????. ???? ?????? ????? ????????ñã? ???????íç????? ?????Îç? ????????????.( ???????? ??????. )
 *
 * param
 *   frmName : form element
 *   frmTarget : traget name
 *   serviceCode : ???????íç????? ??? ????? ???
 *   actionId    : ???????íç????? ??? ?????
 */
function doTargetSubmit2(frmName, frmTarget, serviceCode, actionId, isNoProcessing){
  if (!isNoProcessing)
    showProgress();

  frmName.serviceCode.value = serviceCode;
  frmName.actionId.value    = actionId;
  return doTargetSubmit(frmName, frmTarget);
}

/**
 * dispatcher?? submit??????. ????????? ?????? main frame?? ?? ????.( ???????? ??????. )
 *
 * param
 *   frmName : form element
 */
function doTargetSubmit3(frmName, isNoProcessing){
  if (!isNoProcessing)
    showProgress();

  frmName.action = '/ui/Dispatcher';
  frmName.method = 'post';
  frmName.target = 'mainFrame';

  return XecureSubmit(frmName);
}

/**
 *  ?????? ????? ?????? ?Þ©????. ??????????? ?Þ©????.
 */
function startUpFunction(serviceCode, jspFileName){
	startPageForm.code.value = serviceCode;
	startPageForm.jsp.value  = jspFileName;

	doSubmitNewWin(startPageForm, 'popup');
	return false;
}

function excelDownLoad(serviceCode){
  frmSubmit.serviceCode.value = serviceCode;
  frmSubmit.actionId.value    = "ExcelFileDownLoad";
  frmSubmit.action = "/excel/ExcelFileDownLoad";
  frmSubmit.method = "post";
  frmSubmit.target = "popService";
  return XecureSubmit(frmSubmit);
}


function fileDownLoad(fileType,txnType,serviceCode,brcd){
  frmSubmit.serviceCode.value = serviceCode;
  frmSubmit.txnType.value  = txnType;
  frmSubmit.fileType.value = fileType;
  frmSubmit.brcd.value = brcd;
  frmSubmit.actionId.value    = "FileDownLoad";
  frmSubmit.action = "/file/FileDownLoad";
  frmSubmit.method = "post";
  frmSubmit.target = "popService";
  return XecureSubmit(frmSubmit);
}



/**
 ###############################################################################
 	UI ??? ???
 ###############################################################################
 */

/**
 * ??? ???????.(?????? ???? ?????.);
 *
 * param
 *   submitForm : ????íç????? form1
 *   newWinName : ???? ????? ????(???í×??? ?????????? ????.)
 */
function doSubmitNewWin(submitForm, newWinName) {
  var openedWin = newWin('about:blank', newWinName);

  if( openedWin.opener == null )
    openedWin.opener = self;

  return doTargetSubmit(submitForm,newWinName, true);
}

/**
 * ??? ???????.(?????? ???? ?????.) ?????? ??
 *
 * param
 *   submitForm : ????íç????? form
 *   newWinName : ???? ????? ????(???í×??? ?????????? ????.)
 */
function doSubmitNewWinScroll(submitForm, newWinName) {
  var openedWin = newWinScroll('', newWinName);

  if( openedWin.opener == null )
    openedWin.opener = self;
  return doTargetSubmit(submitForm,newWinName, true);
}

/**
 * ??? ???????.(?????? ???? ?????.) ?????? ??
 *
 * param
 *   submitForm : ????íç????? form
 *   newWinName : ???? ????? ????(???í×??? ?????????? ????.)
 */
function doSubmitNewWinScroll2(submitForm, newWinName) {
  var openedWin = newWinScroll('', newWinName);

  if( openedWin.opener == null )
    openedWin.opener = self;
  doTargetSubmit(submitForm,newWinName,true);
  return openedWin;
}




/**
 * ???? ???? ?Þ©??.(????? ?????? ???? get??????? ??????.)
 * param
 *   url : ???? ???? ?????? URL
 *   winName : window ????
 */
function newWin(url, winName) {
	var nLeft  = screen.width/2;
	var nTop  = screen.height/2;

	var opt = ",width=50,height=50,toolbar=no,menubar=no,location=no,scrollbars=no,status=no,resizable=no";
	return window.open(url, winName, "left=" + nLeft + ",top=" +  nTop + opt );
}

/**
 * ???? ???? ?Þ©??.(????? ?????? ???? get??????? ??????.) ?????? ??
 * param
 *   url : ???? ???? ?????? URL
 *   winName : window ????
 */
function newWinScroll(url, winName) {
	var nLeft  = screen.width/2;
	var nTop  = screen.height/2;

	var opt = ",width=50,height=50,toolbar=no,menubar=no,location=no,scrollbars=yes,status=no,resizable=no";
	return window.open(url, winName, "left=" + nLeft + ",top=" +  nTop + opt );
}

/**
 * ???? ???? ?Þ©??.(????? ?????? ???? get??????? ??????.) Scroll, toolbar, location, status, resizable ??
 * param
 *   url : ???? ???? ?????? URL
 *   winName : window ????
 */
function newWinAll(url, winName) {
	var nWidth  = screen.width;
	var nHeight  = screen.height;

	var opt = ",left=0,top=0,toolbar=yes,menubar=yes,location=yes,scrollbars=yes,status=yes,resizable=yes";
	return window.open(url, winName, "width=" + nWidth + ",height=" +  nHeight + opt );
}

/**
 * ???? ???? ?Þ©??.
 * param
 *   url : ???? ???? ?????? URL
 *   winName : window ????
 *   widthC:  ????
 *   heightC:  ???
 *   scroll:   scrollbars?? ????
 *   resize: resizable?? ????
 */
function newWinPopUp(url, winName, widthC, heightC,scroll, resize) {
	var opt = ",width="+widthC+",height="+heightC+ ",scrollbars=" + scroll + ",resizable=" + resize + ",toolbar=no,menubar=no,location=no,status=no";
	return window.open(url, winName, opt );
}

/**
 * ???? ???? ?Þ©??.
 * param
 *   url : ???? ???? ?????? URL
 *   winName : window ????
 *   widthC ????
 *   heightC ???
 *   leftC left????
 *   topC top????
 *   scroll:   scrollbars?? ????
 */
function newSizeWinPopUp(url, winName, widthC, heightC,leftC,topC,scroll) {
	var opt = ",width="+widthC+",height="+heightC+ ",left="+leftC+",top="+topC+ ",scrollbars=" + scroll + ",toolbar=no,menubar=no,location=no,status=no,resizable=no";
	return window.open(url, winName, opt );
}

/**
 * 	Color  on/off ???
 */

function movr(src)
{
  if (!src.contains(event.fromElement))
  {
    src.bgColor = '#559396';
   }
}
function mout(src)
{
   if (!src.contains(event.toElement))
  {
    src.bgColor = "";
  }
}

/**
 * window?? ????? ??????? ????? ???????? ????????.
 * param1
 *   sizeW : ???? ???
 *   sizeH : ???? ???
 */
function resizeNMoveTo(sizeW, sizeH) {
	var nLeft  = screen.width/2 - sizeW/2;
	var nTop  = screen.height/2 - sizeH/2;
	window.resizeTo(sizeW,sizeH);
	window.moveTo(nLeft,nTop);
	window.focus();
}

function nextTabByMaxLength(e, nextElement) {
	if (e.maxLength && e.value.length >= e.maxLength)
		nextElement.focus();
}

/**
 * checkbox, radio ???????? checked ?????? true ?????? ???ÑÄ? "|"?? ????????
 * ???????? ???????? ????????.
 *
 * param
 *   readElement : ?????? checkbox, radio ????
 * return
 *   "|"?? ???????? ?????? ??????
 */
function readChecked(readElement) {
	var returnedVal = '';

	if( readElement.checked != null ) {
		if( readElement.checked == true )	returnedVal = readElement.value;
		return returnedVal;
	}

	for(var i=0; i < readElement.length; i++) {
		returnedVal += readElement[i].checked == true ? readElement[i].value + '|' : '';
	}

	if( returnedVal != '' ) {
		returnedVal = returnedVal.substring(0, returnedVal.length-1);
	}
	return returnedVal;
}


/**
 * checkbox, radio ???????? checked ?????? true ?????? ???ÑÄ? "|"?? ????????
 * ???????? ???????? ?? ???? element ?????? ?????? ????????.
 *
 * param
 *   readElement : ?????? checkbox, radio ????
 *   storeElement : ???? ????
 */
function readChecked2(readElement, storeElement) {
	storeElement.value = readChecked(readElement);
}


/**
 * checkbox, radio ???????? checked ?????? true ?????? ???ÑÄ? ????? ????????.
 *
 * param
 *   chkboxElement : checkbox ????
 * return
 *   checked ?????? true???? ???. chkboxElement ?????? ???Ù®?? ???? ????
 *   -1?? ????????.
 */
function countChecked(chkboxElement) {
	var count = 0;

	if( chkboxElement == null ) return -1;

	if( chkboxElement.checked != null ) {
		if( chkboxElement.checked == true ) count = 1;
		return count;
	}

	for(var i=0; i < chkboxElement.length; i++) {
		if( chkboxElement[i].checked == true ) count++;
	}

	return count;
}

/**
 * checkbox, radio ?????? ??? ??????????, ???? ??????
 *
 * param
 *   checkElement : checkbox, radio element name
 *   checkFlag : ????????? true, ????????? false
 */
function setCheckElement(checkElement, checkFlag) {
	if( checkElement.checked != null )	{
	  if( checkElement.disabled == false )
  	  checkElement.checked = checkFlag;
	  return;
	}

	for(var i=0; i < checkElement.length; i++) {
	  if( checkElement[i].disabled == false )
  		checkElement[i].checked = checkFlag;
	}

	return;
}

/**
 * checks the validation of a given object' value (input or select);
 * and returns the result.
 *
 * @param	e				object
 * @param	error_message
 * @param	func			check function
 * @param	arg1			func's argument
 * @param	arg2			func's argument
 * @author	hessie
 */
function checkValidInputField(e, error_message, func, arg1, arg2) {
	var isEditField = ((e.type == 'text' || e.type == 'textarea') && !e.readOnly);
	var value = trim(e.value);

	if (!func(value, arg1, arg2)) {
		alert(error_message);
		if (isEditField)
			e.value = '';

		e.focus();
		return false;
	}
	
	if (isEditField)
		e.value = value;
	
	return true;
}

/**
 * uncheck other elements have the same name as a given object,
 * if the given object is checked.
 *
 * @param	e	Checkbox object
 * @author	hessie
 */
function checkSingleChecked(e) {
	if (e.checked) {
		var f = e.form;
		var o = (f ? f.elements[e.name]: document.all[e.name]);
		if (o.length) {
			var e1;
			for (var i = 0; i < o.length; i++) {
				e1 = o[i];
				if (e1 != e)
					e1.checked = false;
			}
		}
	}
}

/**
 * get first checked element of a given object (maybe checkbox array);
 * if no element is checked, returns undefined.
 *
 * @param	o	Checkbox object array
 * @author	hessie
 */
function getSingleCheckedElement(o) {
	var e;
	if (o) {
		if (o.length) {
			var e1, i = 0, found = false;
			while (!found && i < o.length) {
				e1 = o[i];
				if (e1.checked) {
					e = e1;
					found = true;
				}
				i++;
			}
		} else {
			if (o.checked)
				e = o;
		}
	}
	return e;
}

/**
 * get first checked attribute value of a given object (maybe checkbox array);
 * if no attributeName is given, returns the value of value attribute;
 * if no element is checked, returns undefined.
 *
 * @param	o				Checkbox object array
 * @param	attributeName	attribute name
 * @author	hessie
 */
function getSingleCheckedValue(o, attributeName) {
	var val;
	var e = getSingleCheckedElement(o);
	if (e) {
		if (!attributeName)
			val = e.value;
		else
			val = e[attributeName];
	}
	return val;
}

/**
 * check element have a given value
 * and uncheck other elements in a given array,
 *
 * @param	o		Checkbox object array
 * @param	value
 * @author	hessie
 */
function checkSingleCheckedValue(o, value) {
	if (o) {
		if (o.length) {
			var e1;
			for (var i = 0; i < o.length; i++) {
				e1 = o[i];
				e1.checked = (e1.value == value);
			}
		} else {
			o.checked = (o.value == value);
		}
	}
}

/**
 * element?? ???? ???? ??????? ??????
 * ????? ?????? alert???? ?Þ©? ????.
 * ???? ????? ????????? ???? ????? ?????? 12???? ?????? ?????? ???????.
 * param
 *   element : ?????? ?????? ???? element. ',' ??????? ???????
 */
function toMoneyFormat(element, decimalCount) {
  if(trim(element.value) == '')
    return false;
  var buf = element.value.replace(/,/gi, '');
	buf=buf.replace(/ /gi, '');
  var decimalCountArray = decimalCount.split('|');

  if( buf.search(/\./gi) != -1 ){
    var index = buf.indexOf('.');
    major = buf.substring(0, index);
    minor = buf.substring(index+1, buf.length);
    if( minor.search(/\./gi) != -1 ){
      alert('The amount is not fit with format.');
      element.value = '';
    }
  }else{
    major = buf;
    minor = 0;
  }

  if(major.length > 17){
    element.value = '';
    return false;
  }

  if( (major.charAt(0) == '0' && major.length > 1) || !checkDigit(major) || !checkDigit(minor) ){
    alert('The amount is not fit with format.');
    element.value = '';
  }
  else{
    if(decimalCountArray[0] == 0){
      //if(minor.length > 0){
      //  alert('You may not use decmal place by currcy.');
      //  element.value = '';
      //  return false;
      //}
      minor = '';
    }else if(decimalCountArray[0] == 2){
      if(minor == '0'){
        minor = '.00';
      }else{
        if(minor.length > 2){
          //alert('You may not use more than 2nd decmal place by currcy.');
          //element.value = '';
          //return false;
          minor = minor.substring(0, 2);
        }
        minor = '.' + minor;
      }
    }else if(decimalCountArray[0] == 3){
      if(minor == '0'){
        minor = '.000';
      }else{
        if(minor.length > 3){
          //alert('You may not use more than 3rd decmal place by currcy.');
          //element.value = '';
          //return false;
          minor = minor.substring(0, 3);
        }
        minor = '.' + minor;
      }
    }

    element.value = toAnyFormat(major, 3, ',') + minor;
  }
  return false;
}

/**
 * money ?? ????????? ????? ???Ù®???.
 * param
 *   money : ???Ù®??íç? ???? ??????
 * return
 *   ?????? true, ?????? false
 */
function checkMoneyFormat(money) {
  money = money.replace(/,/gi, '');

  if( money.search(/\./gi) != -1 ) {
    var index = money.indexOf('.');
    major = money.substring(0, index);
    minor = money.substring(index+1, money.length);
  }
  else {
    major = money;
    minor = 0;
  }

  if( (major.length > 1 && major.charAt(0) == '0') || !checkDigit(major) || !checkDigit(minor) ) return false;

  return true;
}

function checkMin(val, min) {
	var n = Number(val.replace(/,/gi, ''));
	return (n >= min);
}

function checkMinOver(val, min) {
	var n = Number(val.replace(/,/gi, ''));
	return (n > min);
}

function checkMax(val, max) {
	var n = Number(val.replace(/,/gi, ''));
	return (n <= max);
}

function checkMaxUnder(val, max) {
	var n = Number(val.replace(/,/gi, ''));
	return (n < max);
}

/**
 * ??????ñã? ???? ?????????? ???? ???????.
 * param
 *   ccycd : ???????? element
 *   inputBox : ????box?? element
 */
//function callChangeCcycd(ccycd, inputBox){
//}


/**
 * element?? ???? ???? ??????? submit???(form???? ????? ?????? ?????? ','?? ??? ???)???? ??????
 *
 * param
 *   element : ?????? ?????? ???? element. ',' '.' ??????? ???????
 */
function submitMoneyFormat(element) {
  element.value = element.value.replace(/,/gi, '');
}

/**
 * element.value?? ???? ???? ??????? submit(form???? ????? ?????? ?????? ','?? ??? ???)??????? ??????
 *
 * param
 *   element : ?????? ?????? ???? element.value. ',' '.' ??????? ???????
 */
function submitMoneyFormat2(elementValue) {
  return elementValue.replace(/,/gi, '');
}

/**
 ###############################################################################
 	Character, String ???? ??? ???
 ###############################################################################
 */

/**
 * ?? ?? ???? ?????? ????.
 *
 * return
 *   ???? ???? ?????? ??????
 */
function trim(str){
  var count = str.length;
  var len = count;
  var st = 0;

  while((st<len)&&(str.charAt(st)<=' ')){
    st++;
  }
  while((st<len)&&(str.charAt(len-1)<=' ')){
    len--;
  }
  return ((st>0)||(len<count)) ? str.substring(st, len) : str ;
}

/**
 * string?? ????? min? max ?????? ????? ???Ù®???(???????? ?? ????)
 *
 * return
 *   string?? ????? ??? ???? ????? true, ????? false
 */
function checkLength(str, min, max) {
	var len = str.length;
	if( max >= len && min <= len ) return true;
	return false;
}

function checkNotEmpty(str) {
	return (trim(str).length > 0);
}


/**
 * ???????? ????? ??????????.(???????? ?? ????)
 *
 * param
 *   str ?????? UTF-8?? ?Þ©?????? ???????? ???, ????? 3?? ????? ????.
 *   len ??????íç? ???? ???????? ???
 * return
 *   ??????íç? ???? ?????????? ???????? ????? ????? false, ????? ????? true
 */
function stringLength(str, len){
  var tem = 0;
  for(var jj=0;jj<str.length;jj++){
    if(str.charCodeAt(jj) > 127){
      tem = tem + 3;
    }else{
      tem = tem + 1;
    }
  }
  if(len < tem)
    return false;
  else
    return true;
}
/**
 * ???????? ??? ???? ????? ?ïÅ??? ????????.
 *
 * param
 *   str ?????? UTF-8?? ?Þ©?????? ???????? ???, ????? 3?? ????? ????.
 *   len ??????íç? ???? ???????? ???
 * return
 *   ??????? ???? ?ïÅ?
 */
function stringDiv(str, len){
  str = str.replace(/\r\n/gi, '');
  var strArray = new Array();
  var tem = 0;
  var inx = 0;
  var coTemp = 0;
  for(var jj=0;jj<str.length;jj++){
    if(str.charCodeAt(jj) > 127){
      tem = tem + 3;
    }else{
      tem = tem + 1;
    }
    if(tem > (len - 3)){
      tem = 0;
      strArray[inx++] = str.substring(coTemp, jj+1);
      coTemp = jj+1;
    }
  }
  if((str.substring(coTemp, jj+1)).length > 0)
    strArray[inx] = str.substring(coTemp, jj+1);
  return strArray;
}

/**
 * ?????? ?? ???? ??? ?????? ??? ???? ???????? ??????? ????? ???Ù®???.(?????? ?????? ?Þ©????.)
 * param
 *   str : ???Ù®??íç? ???? ??????
 */
function checkDigOrEngOrLen(str)
{
	var count = 0;
	var digit = 0;

	for( var i = 0; i < str.length; i++) {
		if(str.charAt(i) >= '0' && str.charAt(i) <='9'){
			digit = digit+1;
		}
		if((str.charAt(i) >= 'a' && str.charAt(i) <= 'z') || (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')){
			count = count +1;
		}
	}
	if(count > 0 && digit > 0)
		return true;
	else
		return false;
}

/**
 * ???????? ???????? ?????? ??????? ???Ù®?????.(?????? ?????? ?Þ©????.)
 * param
 *   str : ???Ù®??íç? ???? ??????
 *   dcCheck : ???????? ???? ???
 */
function isDuplication(str, dcCheck){
  var passwd = str.toUpperCase();
  var dc = 1;
  for(var i=0;i<str.length-1;i++){
    if(str.charAt(i) == str.charAt(i+1))
      dc = dc + 1;
    else
      dc = 1;
    if(dc == dcCheck)
      return false;
  }
  return true;
}

/**
 * ch(one character)?? ?????? check
 * ?????? ????? common.js???? ?????? ???Ù®??? ???????? ?????? ???Ù®??? ???????? ??????? ????.
 * param
 *   ch : ???Ù®??íç? ???? ?????? ????
 */
function isNum(ch) {
	if ( ch < "0" || ch > "9" ) return false
	return true
}

/**
 * ch(one character)?? ?????? check ???? . ?? ??
 * ?????? ????? common.js???? ?????? ???Ù®??? ???????? ?????? ???Ù®??? ???????? ??????? ????.(checkDigOrEng())
 * param
 *   ch : ???Ù®??íç? ???? ?????? ????
 */
function isNum2(ch) {
	if ( ch < "0" || ch > "9" || ch == '.') return false
	return true
}

/**
 * ch ?? ??????? check
 * ?????? ????? common.js???? ????(???)?? ???Ù®??? ???????? ??????? ????.(checkDigOrEng())
 * param
 *   ch : ???Ù®??íç? ???? ?????? ????
 */
function isEng(ch) {
	if ( "a" <= ch && ch <= "z" || "A" <= ch && ch <= "Z" ) return true;
	return false;
}

function isCapitalEng(ch){
	if ("A" <= ch && ch <= "Z") return true;
	return false;
}

/**
 * ?????? ???????? ??????? ????? ???Ù®???.
 * param
 *   str : ???Ù®??íç? ???? ??????
 */
function checkEng(str) {
	for( var i = 0; i < str.length; i++ ) {
    if(isEng(str.charAt(i))) return false;
  }
  return true;
}


/**
 * ???????? ??????????? ??????? ????????????(onBlur???? ?Þ©????? ???????.)
 * param
 *   str : ???Ù®??íç? ???? ?????? element
 */
function checkEngCapital(str) {
  if(checkEng(str.value))
    str.value = str.value.toUpperCase();
  else
    str.value = '';
}


/**
 * ?????? ?? ???? ??? ?????? ??? ???? ???????? ??????? ????? ???Ù®???.
 * param
 *   str : ???Ù®??íç? ???? ??????
 *   len : ???Ù®? ???
 */
function checkDigOrEngLen(str, len) {
	for( var i = 0; i < len; i++ ) {
    if( !(isNum( str.charAt(i) ) || isEng( str.charAt(i) )) ) return false;
  }
  return true;
}

/**
 * ?????? ??? ???? ???????? ??????? ????? ???Ù®???.
 * param
 *   str : ???Ù®??íç? ???? ??????
 */
function checkDigOrEng(str) {
	var len = str.length;
	for( var i = 0; i < len; i++ ) {
    if( !(isNum( str.charAt(i) ) || isEng( str.charAt(i) )) ) return false;
  }
  return true;
}

function checkDigOrCapitalEng(str) {
	var len = str.length;
	for( var i = 0; i < len; i++ ) {
    if( !(isNum( str.charAt(i) ) || isCapitalEng( str.charAt(i) )) ) return false;
  }
  return true;
}

/**
 * ????? len?? str?? ?????? ???Ù®???.
 * param
 *   str : ???Ù®??íç? ???? ??????
 *   len : ???Ù®? ???
 */
function checkDigitLen(str, len) {
	for( var i = 0; i < len; i++ ) {
		if( !isNum( str.charAt(i) ) )	return false;
  }
  return true;
}

/**
 * str?? ?????? ???Ù®???.
 * param
 *   str : ???Ù®??íç? ???? ??????
 */
function checkDigit(str) {
  var len = str.length;
	for( var i = 0; i < len; i++ ) {
		if( !isNum( str.charAt(i) ) )	return false;
  }
  return true;
}

/**
 * str?? ?????? ???Ù®???. . ?? ??(???????? ?????? ????.)
 * param
 *   str : ???Ù®??íç? ???? ??????
 */
function checkDigit2(str) {
  var len = str.length;
	for( var i = 0; i < len; i++ ) {
		if( !isNum2( str.charAt(i) ) )	return false;
  }
  return true;
}

function checkEmail(str) {
	var testPattern = /^([a-zA-Z0-9_\.-])+@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return testPattern.test(str);
}

/**
 * ???? ??????? ????? ???????? ????????.
 *
 * param
 *   str : ??? ??????
 *   len : ???????? ?????? ???
 *   appendStr : ?????? ??????
 * return
 *   ????? ??????
 */
function toAnyFormat(str, len, appendStr) {
  var buf = str.replace(/appendStr/gi, '');
  var tgt = '';
  var lenRest = buf.length % len;
  var loopCount = parseInt(lenRest==0 ? buf.length/len : buf.length/len+1);
  var end;

  for(var i=0, sindex=0; i < loopCount; i++) {
    end = (lenRest==0 ? len : lenRest);
    tgt += buf.substring(0, end) + appendStr;
    buf = buf.substring(end, buf.length);
    lenRest = buf.length % len;
  }
  tgt = tgt.substring(0, tgt.length-1);
  return tgt;
}

/**
 * '-' ???????? ?????? ???????? ?????? ????? ?????? ???? ????????.
 *
 * param
 *   str : '-' ???????? ?????? ??????
 *   len : ????? ????????
 * return
 *   ????? ?????? ??????
 */
function selectString(str, selectIndex) {
  var strArray = str.split('-');
  return strArray[selectIndex];
}


/**
 * '|' ???????? ?????? ???????? ?????? ????? ?????? ???? ????????.
 *
 * param
 *   str : '|' ???????? ?????? ??????
 *   len : ????? ????????
 * return
 *   ????? ?????? ??????
 */
function selectString(str, selectIndex) {
  var strArray = str.split('|');
  return strArray[selectIndex];
}


/**
 * ?????? ??????? ?????????.
 * ??????? ??????? ???úø? ?????? class="txtEng" ?? ???? ?Þ©?..
 * txtEng?? ??????? ??????? ?????? ...onchage evnet?? ????ää? ??...
 * ex) <input type="text"  class="txtEng" onchange="toUpperCase(this)">
 * ???? ??????????.
 * sample) ManualTransferMgt.jsp
 * 2004-10-27  chang
 */
function toUpperCase(obj){
    var sValue = obj.value;
    obj.value=sValue.toUpperCase();
}


/**
 ###############################################################################
 	???? ??? ???
 ###############################################################################
 */

/**
 * branch?? ?????? ???? ????? ?????? ??? ???? ??????? ????????.
 * param
 *    idate  branch?? ?????? ????? ????
 *    dateType branch?? ?????? ???????
 * return
 *   ??? ???(YYYYMMDD)
 */
function changeDate(idate, dateType){
  idate = submitDateFormat(idate);
  var returnDate = '';
  switch(dateType){
    case 'A' : returnDate = idate.substring(4,8) + idate.substring(0,2) + idate.substring(2,4);break;//MM/DD/YYYY
    case 'E' : returnDate = idate.substring(4,8) + idate.substring(2,4) + idate.substring(0,2);break;//DD/MM/YYYY
    case 'I' : returnDate = idate.substring(0,4) + idate.substring(4,6) + idate.substring(6,8);break;//YYYY/MM/DD
    //case 'I' : returnDate = idate;break;//YYYY/MM/DD
    default  : returnDate = idate;//YYYY/MM/DD
  }
  return returnDate;
}
function changeDate2(idate, dateType){
  idate = submitDateFormat(idate);
  var returnDate = '';
   switch(dateType){
     case 'I' : returnDate = idate.substring(0,4) + idate.substring(4,6) + idate.substring(6,8);break;//DD//MM//YYYY
     default  : returnDate = idate;//YYYY/MM/DD
  }
  return returnDate;
}

/**
 * branch?? ?????? ???? ????? ?????? ??? ???? ??????? ????????.
 * param
 *    idate  branch?? ?????? ????? ????
 *    dateType branch?? ?????? ???????
 * return
 *   ??? ???(YYYYMMDD)
 */
function selectDay(dateTypei){
  var idateType = parseInt(dateTypei);
	var current=new Date();
	switch(idateType){
		case 1:
			current.setDate(current.getDate());//?Ó³?
			break;
		case 2:
			current.setDate(current.getDate()-7);//??????
			break;
		case 3:
			current.setDate(current.getDate()-14);//??????
			break;
		case 4:
			current.setMonth(current.getMonth()-1);//????
			break;
		case 5:
			current.setMonth(current.getMonth()-3);//3???
			break;
		case 6:
			current.setMonth(current.getMonth()-6);//6???
			break;
		case 7:
			current.setYear(current.getYear()-1);//1?
			break;
		case 8:
			current.setYear(current.getYear()-2);//2?
			break;
		case 11:
			current.setDate(current.getDate()-1);//???
			break;
		case 12:
			current.setDate(current.getDate()+7);//??? ??????
			break;
		case 13:
			current.setDate(current.getDate()+14);//??? ??????
			break;
		case 14:
			current.setMonth(current.getMonth()+1);//??? ????
			break;
		case 15:
			current.setMonth(current.getMonth()+3);//??? 3???
			break;
		case 16:
			current.setMonth(current.getMonth()+6);//??? 6???
			break;
		case 17:
			current.setYear(current.getYear()+1);//??? 1?
			break;
		case 18:
			current.setYear(current.getYear()+2);//??? 2?
			break;
	}
  	return( getDate(current, 'YYYYMMDD') );
}

/**
 * branch?? ?????? ???? ????? ?????? ??? ???? ??????? ????????.
 * param
 *    idate  branch?? ?????? ????? ????
 *    dateType branch?? ?????? ???????
 * return
 *   ??? ???(YYYYMMDD)
 */
function selectDay2(dateTypei, dateType){
  	return selectDay3(getCurrentDate(), dateTypei, dateType);
}


/**
 * branch?? ?????? ???? ????? ?????? ??? ???? ??????? ????????.
 * param
 *    idate  branch?? ?????? ????? ????
 *    dateType branch?? ?????? ???????
 * return
 *   ??? ???(YYYYMMDD)
 */
function selectDay3(ossDate, dateTypei, dateType){
  var idateType = parseInt(dateTypei);
  if(ossDate == null)
    return ossDate;
  ossDate = ossDate.replace(/\//gi, '');
  if(ossDate.length != 8)
    return ossDate;

	var current = new Date(ossDate.substring(0,4),ossDate.substring(4,6)-1,ossDate.substring(6,8));
	switch(idateType){
		case 1:
			current.setDate(current.getDate());//?Ó³?
			break;
		case 2:
			current.setDate(current.getDate()-7);//??????
			break;
		case 3:
			current.setDate(current.getDate()-14);//??????
			break;
		case 4:
			current.setMonth(current.getMonth()-1);//????
			break;
		case 5:
			current.setMonth(current.getMonth()-3);//3???
			break;
		case 6:
			current.setMonth(current.getMonth()-6);//6???
			break;
		case 7:
			current.setYear(current.getYear()-1);//1?
			break;
		case 8:
			current.setYear(current.getYear()-2);//2?
			break;
		case 11:
			current.setDate(current.getDate()-1);//???
			break;
		case 12:
			current.setDate(current.getDate()+7);//??? ??????
			break;
		case 13:
			current.setDate(current.getDate()+14);//??? ??????
			break;
		case 14:
			current.setMonth(current.getMonth()+1);//??? ????
			break;
		case 15:
			current.setMonth(current.getMonth()+3);//??? 3???
			break;
		case 16:
			current.setMonth(current.getMonth()+6);//??? 6???
			break;
		case 17:
			current.setYear(current.getYear()+1);//??? 1?
			break;
		case 18:
			current.setYear(current.getYear()+2);//??? 2?
			break;

	}

  var idate =  getDate(current, 'YYYYMMDD') ;

  switch(dateType){
    case 'A' : returnDate = idate.substring(4,6) + '/' + idate.substring(6,8) + '/' + idate.substring(0,4);break;//MM/DD/YYYY
    case 'E' : returnDate = idate.substring(6,8) + '/' + idate.substring(4,6) + '/' + idate.substring(0,4);break;//DD//MM//YYYY
    case 'I' : returnDate = idate.substring(0,4) + '/' + idate.substring(4,6) + '/' + idate.substring(6,8);break;//YYYY/MM/DD
    default  : returnDate = idate.substring(0,4) + '/' + idate.substring(4,6) + '/' + idate.substring(6,8);break;//YYYY/MM/DD
  }

  	return( returnDate );
}

/**
 * ?????? ?????. (YYYYMMDD ???)
 *
 * param
 *   date Javascript?? Date ????
 *   format YYYYMMDD ???. ??) getCurrentDate('YYYYMMDD'), getCurrentDate('YYYY'), getCurrentDate('MM')
 * return
 *   ????(YYYYMMDD)
 */
function getDate(date, format) {
 	var currIndex = 0;
	var returnDate = '';
	var f_year, f_month, f_date;
	f_year = f_month = f_date = '';

  for(var i = 0 ; i < 3 ; i++) {
  	if( format.search(/YYYY/i) == currIndex ) {
  		f_year =  date.getYear();
  		returnDate +=  f_year < 2000 ? f_year + 1900 : f_year;
  		currIndex += 4;
      continue;
  	}

  	if( format.search(/MM/i) == currIndex ) {
  		f_month = date.getMonth() + 1;
  		returnDate +=  f_month < 10 ? '0' + f_month : f_month;
  		currIndex += 2;
      continue;
  	}

  	if( format.search(/DD/i) == currIndex ) {
  		f_date = date.getDate();
  		returnDate +=  f_date < 10 ? '0' + f_date : f_date;
  		currIndex += 2;
      continue;
  	}
  }

	return returnDate;
}

/**
 * ?? ?????? ?????. (YYYYMMDD ???)
 *
 * return
 *   ?? ????(YYYYMMDD)
 */
function getCurrentDate() {
	var date = new Date();
	return( getDate(date, 'YYYYMMDD') )
}

/**
 * ??? ?????? ?????. (YYYYMMDD ???)
 *
 * return
 *   ??? ????(YYYYMMDD)
 */
function getPreviousDate() {
  var ADAY = 1000 * 60 * 60 * 24;
	var date = new Date();
	date = new Date( date.getTime() - ADAY );

	return( getDate(date, 'YYYYMMDD') );
}

/**
 * ???Õ¤??? ????? ?????? ?????.
 * ?? ?î´??? ????
 * param
 *   month ????? ?????? ??íç? ???? ??. 1, 2, 3 ... , 12
 * return
 *   ???Õ¤??? ????? ????
 */
function getEndDayOfMonth(year, month) {
	var monarr = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
		monarr[1] = "29";

	return monarr[month-1];
}

/**
 * string?? ?????? ?????? '/'?? ????????.
 * param
 *   date YYYYMMDD ????? string
 */
 function submitDateFormat(str){
   return str.replace(/\//gi, '');
 }


/**
 * string?? ???? ????? ????? ???Ù®???.
 * param
 *   date YYYYMMDD ????? string
 */
function checkDateType(dateStr)
{
	dateStr = submitDateFormat(dateStr);

	if( dateStr.length == 0 || dateStr.length != 8 )
	  return false;
  for(var jj=0;jj<dateStr.length;jj++){
    if( !(isNum(dateStr.charAt(jj))) )
      return false;
  }

  var year = dateStr.substring(0, 4);
  var month = dateStr.substring(4, 6);
  var day = dateStr.substring(6, 8);

  if ( year < 1970) return false
  if ( month > 12 || month < 1 ) return false
  if ( day > getEndDayOfMonth(year, month) || day < 1 ) return false

  return true
}


/**
 * ?????? ???? ?????.
 *
 * param
 *    ????(YYYYMMDD)
 *    ????íç? ???? ??(int? ?)
 * return
 *    ????(YYYYMMDD)
 */
function addDate(date, addDate) {
  var ADAY = 1000 * 60 * 60 * 24 ;
  var addedTime = ADAY * addDate;
	var addedDate = new Date( date.getTime() + addedTime );
  return getDate(addedDate, 'YYYYMMDD');
}


/**
 * ?? ?????? ????? ?ïý?? ????.
 *
 * param
 *    from day(YYYYMMDD)
 *    to   day(YYYYMMDD)
 * return
 *    from day?? to day?? ????? ????????.
 */
function numberOfDays(fromDay, toDay){
	fromDay = submitDateFormat(fromDay);
	toDay = submitDateFormat(toDay);
	var fromD = new Date(fromDay.substring(0,4),fromDay.substring(4,6)-1,fromDay.substring(6,8));
	var toD = new Date(toDay.substring(0,4),toDay.substring(4,6)-1,toDay.substring(6,8));
	var totD = toD.getTime() - fromD.getTime();
	totD = totD / 1000 / 60 / 60 / 24+1;
	return totD;
}

/**
 * element?? ???? ???? ??????? ??????
 *
 * param
 *   element : ?????? ?????? ???? element. '/' ??????? ???????
 */
function toDateFormat(element) {
  var buf = element.value.replace(/\//gi, '');
  var tgt = '';

  tgt += buf.substring(0, 4) + '/';
  tgt += buf.substring(4, 6) + '/';
  tgt += buf.substring(6, 8);

  element.value = tgt;
}


/**
 *	????? dateType?? ?????? ???? dateType?? ?ûÃ??
 *	param
 *      sDate: ?????? Date
 *      oldDateType:sDate?? ?? dateType
 *      newDateType:sDate?? ?????? dateType
 *  return date
 *  sample dateTypeExchange('30/03/2004', 'E', 'A')==> '2004/03/24'
 *  author : chang...20040910
 **/
function dateTypeExchange(sDate, oldDateType, newDateType){
	var retDate = null;
	sDate = submitDateFormat(sDate);	// delimitor delete
	//alert("dateTypeExchange.sDate ["+sDate+"]");
	//if(sDate.length !=8)
	//	return sDate;

	// ????? dateType?? ?????(YYYYMMDD)?? ????????.
	switch(oldDateType){
		case 'A' :  // MM/DD/YYYY
					retDate = sDate.substring(4)  + sDate.substring(0,2)  + sDate.substring(2,4);
					break;
		case 'E' : 	// DD/MM/YYYY
					retDate = sDate.substring(4)  + sDate.substring(2,4)  + sDate.substring(0,2);
					break;
		case 'I' : 	// YYYY/MM/DD
					retDate = sDate.substring(0,4) + sDate.substring(4,6) + sDate.substring(6,8);
					break;
		default  : 	// YYYY/MM/DD
					retDate = sDate.substring(0,4) + sDate.substring(4,6) + sDate.substring(6,8);
					break;
	}

	//alert("dateTypeExchange1 retDate ["+retDate+"] newDateType ["+newDateType+"]");

	switch(newDateType){
		case 'A' : 	// MM/DD/YYYY
					retDate = retDate.substring(4,6) +'/'+ retDate.substring(6,8) +'/'+ retDate.substring(0,4);
					break;
		case 'E' : 	// DD/MM/YYYY
					retDate = retDate.substring(6,8) +'/'+ retDate.substring(4,6) +'/'+ retDate.substring(0,4);
					break;
		case 'I' : 	// YYYY/MM/DD
					retDate = retDate.substring(0,4) +'/'+ retDate.substring(4,6) +'/'+ retDate.substring(6,8);
					break;
		default  : 	retDate = idate;
	}

	return retDate;

}


 /**
 ###############################################################################
 	Cookie ??? ???
 ###############################################################################
 */
function GetCookie(name){
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
	var j = i + alen;
	if (document.cookie.substring(i, j) == arg)
	  return getCookieVal (j);
	i = document.cookie.indexOf(" ", i) + 1;
	if (i == 0)
	  break;
  }
  return null;
}

function SetCookie (name, value) {
  var argv = SetCookie.arguments;
  var argc = SetCookie.arguments.length;
  var expires = (argc > 2) ? argv[2] : null;
  var domain = (argc > 3) ? argv[3] : null;
  var secure = (argc > 4) ? argv[4] : false;
  document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=/")) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function DeleteCookie(name) {
  var exp = new Date();
  exp.setTime (exp.getTime() - 1);
  var cval = GetCookie (name);
  document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function getCookieVal(offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
	endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}

/*

Cookie?Þ©??


var exp = new Date();
var nowDate = exp.getTime();
exp.setTime(exp.getTime() + "12000");

????? ?×ý?
DeleteCookie('FSESSION');

????? ???
SetCookie('FSESSION', nowDate, exp);

??? ?? ???
var fCookie = GetCookie('FSESSION');

*/



/**
 * ????? ???? Action?? ?????? ???
 * Double Click ??

if(inputCheck())  // INPut Check{
  document.TF31202F.action = "/tf/TF312S";
  document.TF31202F.cmd.value="TF31202J_01";
  document.TF31202F.upmuGubun.value = "136";
  document.TF31202F.PageRole.value = "INSERT";
  EncryptInput2(document.TF31202F,r);
  document.TF31202F.submit();
}else {
  exec = 0 ;
}
*/
var exec = 0;

function checkExec(){
  if(exec == 0){
    exec = exec + 1;
  }else{
    alert("Processing");
    return false;
  }
  return true;
}

//lang¿¡ µû¸¥ ÀÔ·Â°ª Ã¼Å©(krÀÎ °æ¿ì´Â ¿µ¹®¸¸ °¡´É)
function selectLangCheck(lang, str) {
	if(lang == 'kr' || lang == 'EUC-KR') {
		if(langKr(str)){
			alert('Not English');
			return false;				
		}
		if(langHira(str) ){
			alert('Not English');
			return false;	
		}
		if(langKadakana(str)){
			alert('Not English');
			return false;	
		}
		if(langCn(str)){
			alert('Not English');
			return false;	
		}
	} else if(lang == 'kr2' ){
		if(langHira(str)){
			alert('Not Korean');
			return false;	
		}
		if(langKadakana(str)){
			alert('Not Korean');
			return false;	
		}
		if(langCn(str)){
			alert('Not Korean');
			return false;	
		}
	} else if(lang == 'jp' || lang == 'SHFIT_JIS') {
		if(langKr(str)){
			alert('Not Japanese');
			return false;				
		}		
	} else if(lang == 'cn' || lang == 'GB2312') {
		if(langKr(str)){
			alert('Not Chinese');
			return false;				
		}
		if(langHira(str)){
			alert('Not Chinese');
			return false;	
		}
		if(langKadakana(str)){
			alert('Not Chinese');
			return false;	
		}		
	}  else if(lang == 'us' ) {
		if(langKr(str)){
			alert('Not English');
			return false;				
		}
		if(langHira(str)){
			alert('Not English');
			return false;	
		}
		if(langKadakana(str)){
			alert('Not English');
			return false;	
		}
		if(langCn(str)){
			alert('Not English');
			return false;	
		}
	}
	return true;
	
}

	function langKr(str) {
	 
	  if(str!=null && str!=''){
		 var strlen=0;
			for(var i=0; i<str.length; i++){
				var c = str.charCodeAt(i);
				
				if ((44032 <= c && c <=  55203) || (12593 <= c && c <= 12622)) {					
					return true;
				}

			}
			return false;
		}
		return false;
	}

	function langHira(str) {
	  
		if(str!=null && str!=''){
		 	var strlen=0;
			for(var i=0; i<str.length; i++){
				var c = str.charCodeAt(i);
				if (12353  <= c && c <=  12435) {
					return true;
				}
			}
			return false;
		}
		return false;
	}
	
	function langKadakana(str) {
	  	if(str!=null && str!=''){
		 var strlen=0;
			for(var i=0; i<str.length; i++){
				var c = str.charCodeAt(i);
				if ((65393  <= c && c <=  65439) || (65388  <= c && c <=  65390)){
					return true;
				}
			}
			return false;
		}
		return false;
	}
	
	function langCn(str) {
	  
		if(str!=null && str!=''){
		 	var strlen=0;
			for(var i=0; i<str.length; i++){
				var c = str.charCodeAt(i);
				if (19968  <= c && c <=  40864) {
					return true;
				}
			}
			return false;
		}
		return false;
	}

	
	//ÇÑ±ÛÀÎ °æ¿ì ÇÑ±Û ÀÔ·Â °¡´ÉÇÏ°Ô...(¸ÞÀÏ)
	function selectLangCheck2(lang, str) {	
		
	if(lang == 'kr' || lang == 'EUC-KR'){
		if(langHira(str)){
			alert('Not Korean');
			return false;	
		}
		if(langKadakana(str)){
			alert('Not Korean');
			return false;	
		}
		if(langCn(str)){
			alert('Not Korean');
			return false;	
		}
	} else if(lang == 'jp' || lang == 'SHIFT_JIS') {
		if(langKr(str)){
			alert('Not Japanese');
			return false;				
		}		
	} else if(lang == 'cn' || lang == 'GB2312') {
		if(langKr(str)){
			alert('Not Chinese');
			return false;				
		}
		if(langHira(str)){
			alert('Not Chinese');
			return false;	
		}
		if(langKadakana(str)){
			alert('Not Chinese');
			return false;	
		}		
	}  else if(lang == 'us') {
		if(langKr(str)){
			alert('Not English');
			return false;				
		}
		if(langHira(str)){
			alert('Not English');
			return false;	
		}
		if(langKadakana(str)){
			alert('Not English');
			return false;	
		}
		if(langCn(str)){
			alert('Not English');
			return false;	
		}
	} else if(lang == 'ALL'){
		if(langKr(str)){
			alert('Not English');
			return false;				
		}
		if(langHira(str)){
			alert('Not English');
			return false;	
		}
		if(langKadakana(str)){
			alert('Not English');
			return false;	
		}
		if(langCn(str)){
			alert('Not English');
			return false;	
		}
	}
	return true;
	
}


  //¼ýÀÚ¸¸ ÀÔ·Â°¡´É
  function NumberCheck() {

	  /*
	  var keyCode = event.keyCode;
	  if (keyCode >= 48 && keyCode <= 57) {
	    return true;
	  } 

      return false;
      */
  }

  
//---------- ÇØ´ç ¸ÅÄ¡µÇ´Â ¹®ÀÚ¸¸ ÀÔ·Â Çã¿ë ÇÏ´Â °æ¿ìÀÇ º¯¼ö --------------
//¼ýÀÚ(0~9), ÄÞ¸¶, ¼Ò¼ýÁ¡ Çã¿ë11
var inputKeyCode111 = /([^0-9\,\.])/;
//¼ýÀÚ(0~9), ¿µ¹®, ÇÏÀÌÇÂ Çã¿ë11
var inputKeyCode112 = /([^\w\-])/;
//ÇÑ±Û Çã¿ë11
//var inputKeyCode113 = /([^¤¡-¤¾\¤¿-¤Ó\°¡-?])/;

//---------- ÇØ´ç ¸ÅÄ¡µÇ´Â ¹®ÀÚ¸¸ ÀÔ·Â Á¦ÇÑ ÇÏ´Â °æ¿ìÀÇ º¯¼ö --------------
//!, @, #, $, %, ^, &, *, <, _, >, ~, |, ", ;, =,`, [, \, ] ÀÔ·Â ºÒ°¡11
var disallowInputKeyCode1 = /([!\@\#\$\%\^\&\*\<\_\>\~\|\"\;\=\`\[\\\]])/;
//!, #, $, %, ^, &, *, <, _, >, ~, |, ", ;, =, [, \, ] ÀÔ·Â ºÒ°¡11
var disallowInputKeyCode2 = /([!\#\$\%\^\&\*\<\_\'\>\~\|\"\;\=\[\\\]])/;
//'-', '.', ',', '/ Á¦¿ÜÇÑ Æ¯¼ö¹®ÀÚ ÀÔ·ÂºÒ°¡ 11
var disallowInputKeyCode3 = /([!\'\(\)\+\:\?\{\}\@\#\$\%\^\&\*\<\_\>\~\|\"\;\=\`\[\\\]])/;

/*
 * 2007.08.17ÀÏ Ãß°¡ 11
 * ¸ÅÄ¡µÇ´Â ¹®ÀÚµé¿¡ ´ëÇØ¼­ ÀÔ·ÂÀ» Çã¿ëÇÏ°Å³ª Á¦ÇÑÇÏ´Â ÇÔ¼ö(CKKeyProÀû¿ëÇÏ±â À§ÇØ keyCode Ã¼Å© ºÎºÐ »èÁ¦) 11
 * param objInput      : ÀÌº¥Æ®°¡ ¹ß»ýÇÑ object
 * param re            : ¸ÅÄ¡µÇ´Â ¹®ÀÚ¿­11
 * param restrictionYN : Y - Á¦ÇÑ¸ðµå(¸ÅÄ¡µÇ´Â ¹®ÀÚ¿­ ÀÔ·ÂÁ¦ÇÑ), N - Çã¿ë¸ðµå(¸ÅÄ¡µÇ´Â ¹®ÀÚ¿­ ÀÔ·ÂÇã¿ë)
 * param upperYN       : Y - ¿µ¹®ÀÚ ´ë¹®ÀÚ¸¸ ÀÔ·Â, N - ¼Ò¹®ÀÚµµ Çã¿ë ==> onKeyPress¿¡¼­¸¸ 'Y'¼³Á¤½Ã Á¤»ó ÀÛµ¿ÇÔ11
 */
function inputKeyCodeCheck(objInput, re, restrictionYN, upperYN)
{
	var numPattern = objInput.value.match(re);
	var numValue = "";
	//alert(numPattern);
	if(numPattern != null)
	{
		for(i = 0; i < objInput.value.length; i++)
		{
			var ch = objInput.value.charAt(i);
			if(re.test(ch) == false)
			{
				numValue += ch;
			}
		}
		
		if(upperYN == 'N')
			objInput.value=numValue;
		else if(upperYN == 'Y')
			objInput.value=numValue.toUpperCase();
		
		if(restrictionYN == 'N')
			return false;
		else if(restrictionYN == 'Y')
			return true;
	}
	else
	{
		if(upperYN == 'Y')
			objInput.value=objInput.value.toUpperCase();
			
		if(restrictionYN == 'N')
			return true;
		else if(restrictionYN == 'Y')
			return false;
	}
}

function openHelp(displayid){
	popupSite("/jsp/help.jsp?displayid=" + displayid, "help", 750, 590, "no", "no");
}


/**
 * Window popup other site11.
 */
function popupSite(url, name, width, height, scroll, resizable)
{
	var xPos = (window.screen.availWidth - width) / 2;
	var yPos = (window.screen.availHeight - height) / 2;	


	var options = ["800", "600", xPos, yPos, "yes", "yes", "no", "no", "no", "no"];	
	options[0] = width;
	options[1] = height;
	options[4] = scroll;
	options[5] = resizable;
	popupSite2(url, name, options);
}

/**
 * Window popup other site11.
 */
function popupSite2(url, name, options)
{
	var winwidth = 1024;
	var winheight = 740;
	
	var winleft = (winwidth - options[0]) / 2;
	var wintop = (winheight - options[1]) / 2;

	var xPos = (window.screen.availWidth - options[0]) / 2;
	var yPos = (window.screen.availHeight - options[1]) / 2;	

	var sFeatures = "width=" + options[0];
	sFeatures += ",height=" + options[1];
	sFeatures += ",left=" + xPos;
	sFeatures += ",top=" + yPos;
	sFeatures += ",scrollbars=" + options[4];
	sFeatures += ",resizable=" + options[5];
	sFeatures += ",location=" + options[6];
	sFeatures += ",menubar=" + options[7];
	sFeatures += ",toolbar=" + options[8];
	sFeatures += ",status=" + options[9];
	//XecureNavigate_keb(url, name, sFeatures);
	window.open(url, name, sFeatures);
}