<!--
 /*
 * 전체 스크린 크기의 윈도우 띄우는 함수
 *작성자 : 강백석
 */
function openFullScreenWindow(url, target) {
  var win = window.open(url, target,
    "menubar=no, resizable=yes, scrollbar=yes"
    + ", left=0, top=0, width="
    + screen.availWidth
    + ", height="
    + screen.availHeight
  );

  // this call may move the window to the front
  win.focus();
}

function removeChar(str, ch){
	str = str.trim();
	while(str.indexOf(ch)>0){
		str = str.replace(ch,"");
	}

    return str;
}

/**
*개요 : 앞뒤 공백을 없애는 함수
*작성자 : 강백석
*/
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 ;
   }

function OpenWin(URL,width,height) {
    var str,width,height;
    str="'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,";
    str=str+"width="+width;
    str=str+",height="+height+"',top=150,left=250";
    window.open(URL,'_new',str);
}

function showCalendar(DataFormat,  returnToWhere) {
var winl = (screen.width - 230) / 2;
var wint = (screen.height - 160) / 2;
winprops = 'height=160,width=230,top='+wint+',left='+winl+',scrollbars=no, resizable=no'
win = window.open('/jsp/cm/calendar.jsp?DataFormat='+DataFormat+'&returnToWhere='+returnToWhere+'', "calendarFm", winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
/**
*개요 : 문자열에서  '  이 콤마를  \, 로 바꾼다.
*작성자 강백석
*/

function replaceChars(entry) {

        out = "'"; // 치환될 문자
        add = "º" ; // 치환할 문자
        var reVal = "";
      for( i = 0 ; i < entry.length ; i ++){
            if(entry.charAt(i) == out){
                 reVal +=  add;
            } else{
                  reVal = reVal +  entry.charAt(i) ;
            }
      }

      return reVal;
}

//테스트 데이터 넣기
//달력은 readOnly 설정되어야 합니다..^^
//강백석
function testData(formName){
   _123fm =   eval(formName);
    var length = eval(formName).elements.length;

    for(i = 0 ; i < length ; i++){
        if(_123fm.elements[i].type =="text"){
            if(_123fm.elements[i].readOnly){
                _123fm.elements[i].value ="2004-05-01";
            }else{
                 _123fm.elements[i].value =i;
            }

        }else if(_123fm.elements[i].type =="select-one"){
            _123fm.elements[i].options[1].selected = true;
        }else if(_123fm.elements[i].type =="radio"){
            _123fm.elements[i].checked = true;
            i++;
        }
    }
}

//모든 입력 필드를 초기화 시킨다.
//강백석
function clearAllField(formName){
 _123fm =   eval(formName);
            var length = _123fm.elements.length;

            for(i = 0 ; i < length ; i++){
                if(_123fm.elements[i].type =="text"){
                    if(_123fm.elements[i].readOnly){
                        _123fm.elements[i].value ="";
                    }else{
                         _123fm.elements[i].value ="";
                    }

                }else if(_123fm.elements[i].type =="select-one"){
                    _123fm.elements[i].options[0].selected = true;
                }else if(_123fm.elements[i].type =="radio"){
                    _123fm.elements[i].checked = true;
                    i++;
                }
        } //for
}


function centerPopup(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable=no'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

/**
*  개요 : 서로 다른 폼의 객체를 한쪽에 몰아서 데이터를 전송하는 함수 입니다.(단, check box는 아직 확인하지 못했습니다. 예제가 없어서리..^^;;
*   작성자 : 강백석
*/

function copyFormObject(orgForm, desForm){
   _123fm =   eval(orgForm);
   _567fm = eval(desForm);
    var length = eval(orgForm).elements.length;

    for(i = 0 ; i < length ; i ++){
        if(_123fm.elements[i].type !="radio" && _123fm.elements[i].type !="combobox"){
             _567fm.appendChild(document.createElement("<input type='hidden'  name='"+_123fm.elements[i].name+"'  value ='"+_123fm.elements[i].value+"' >"));
                //_567fm.innerHTML += "<input type='hidden'  name='"+_123fm.elements[i].name+"'  value ='"+_123fm.elements[i].value+"' >"
         }else{
            //Type => radio or combobox
              if(_123fm.elements[i].checked){
                 _567fm.appendChild(document.createElement("<input type='hidden'  name='"+_123fm.elements[i].name+"'  value ='"+_123fm.elements[i].value+"' >"));
                 //_567fm.innerHTML += "<input type='hidden'  name='"+_123fm.elements[i].name+"'  value ='"+_123fm.elements[i].value+"' >"
              }
         }
    }
}
function copyFormHTML(orgForm, desForm){
   _123fm =   eval(orgForm);
   _567fm = eval(desForm);
    var length = eval(orgForm).elements.length;

    for(i = 0 ; i < length ; i ++){
        if(_123fm.elements[i].type !="radio" && _123fm.elements[i].type !="combobox"){

             //_567fm.appendChild(document.createElement("<input type='hidden'  name='"+_123fm.elements[i].name+"'  value ='"+_123fm.elements[i].value+"' >"));
                _567fm.innerHTML += "<input type='hidden'  name='"+_123fm.elements[i].name+"'  value ='"+_123fm.elements[i].value+"' >"
         }else{
            //Type => radio or combobox
              if(_123fm.elements[i].checked){

                 //_567fm.appendChild(document.createElement("<input type='hidden'  name='"+_123fm.elements[i].name+"'  value ='"+_123fm.elements[i].value+"' >"));
                 _567fm.innerHTML += "<input type='hidden'  name='"+_123fm.elements[i].name+"'  value ='"+_123fm.elements[i].value+"' >"
              }
         }
    }
}

//0인 필드에 포커스되면 0 이 없어진다.
function zeroErase(){
  if(event.srcElement.value==0){
        event.srcElement.value="";
  }
}

//태그를 지우기위한 함수
 function removeTag(str){
            str = str.trim();
            while(str.indexOf('<')>-1){
                 check = true
                str = str.replace('<',"&lt;");
            }
            while(str.indexOf('>')>-1){
                 check = true
                str = str.replace('>',"&gt;");
            }
            while(str.indexOf('\"')>-1){
                 check = true
                str = str.replace('\"',"&quot;");
            }
            return str;
     }

     
//콤마찍기
function setComma(str)
{
        str = ""+str+"";
        var retValue = "";
        for(i=0; i<str.length; i++)
        {
                if(i > 0 && (i%3)==0) {
                        retValue = str.charAt(str.length - i -1) + "," + retValue;
                 } else {
                        retValue = str.charAt(str.length - i -1) + retValue;
                }
        }
        return retValue ;
}


//저장시 콤마 없애기...
function removeMoneyComma(formName){
    var len = eval( formName).elements.length;

    for(i  = 0 ; i < len ; i++){
        if(eval( formName).elements[i].className=="box_me02_num" || eval( formName).elements[i].className=="box_me05_num"){
            eval( formName).elements[i].value = removeChar( eval( formName).elements[i].value, ",")
        }
    }
}

//저장후 삭제된 콤마를 다시 찍어주기위해서 포커싱을 모두 해주기
function allFieldFocusing(formName){

    var len = eval(formName).elements.length

    for(i = 0 ; i < len ; i++){
          if(eval( formName).elements[i].className=="box_me02_num" || eval( formName).elements[i].className=="box_me05_num"){
               IsCommaNumber(eval(formName).elements[i],true,2);
            }
    }
}


function plus_day(someday, addDayNum) {
MonthArray = new Array("january", "february", "march", "april", "may","june","july","august", "september","october","november","december");
someday  =  removeChar(someday, '-');
someday_year  = someday.substring(0, 4);
someday_month  = someday.substring(4, 6);
someday_month  = new Number( someday_month);
someday_day  = someday.substring(6, 8);
someday_month = MonthArray[someday_month-1];
someday =   someday_month+ "  " +someday_day+", "+someday_year+" ";

var newdate = new Date(someday);
sdate = newdate.getTime();
edate = sdate + (addDayNum*24*60*60*1000);
newdate.setTime(edate);
last_ndate = newdate.toLocaleString();
   function java_all_trim(a) {
      for (; a.indexOf(" ") != -1 ;) {
          a = a.replace(" ","")
      }
     return a;
   }
   last_date = java_all_trim(last_ndate)
   last_year = last_date.substr(0,4);
   last_month = last_date.substr(5,2);
   last_mon = last_month.replace("월","");
        if(last_mon < 10) {
        last_m = 0+last_mon;
        last_day = last_date.substr(7,2);
           last_da = last_day.replace("일","");
                if(last_da < 10) {
                last_d = 0+last_da;
                }else{
                last_d = last_da;
                }
        }else{
        last_m = last_mon;
        last_day = last_date.substr(8,2);
           last_da = last_day.replace("일","");
                if(last_da < 10) {
                last_d = 0+last_da;
                }else{
                last_d = last_da;
                }
        }
    last_time = last_year+'-'+last_m+'-'+last_d;
    return last_time;
}

 function chktel(telnumber)
   {
     localNum = new Array("02","031","032","033","041","042","043","051","052","053","054","055","061","062","063","064","012","015","011","010","016","017","018","019","0502")
     tel1 = "";
             for (ia=0; ia<localNum.length; ia++)  // 앞에 세 자리 가운데 지역번호 유효성 검사
             {
                if (telnumber.substr(0,3) == localNum[ia])
          {
             tel1 = telnumber.substr(0,3);
             tel2 = telnumber.substr(3,telnumber.length);
             break;
          }
       }
       if (tel1 == "")
             for (ia=0; ia<localNum.length; ia++)   // 앞에 두 자리 가운데 지역번호 유효성 검사
             {
                if (telnumber.substr(0,2) == localNum[ia])
          {
             tel1 = telnumber.substr(0,2);
             tel2 = telnumber.substr(2,telnumber.length);
             break;
          }
       }
       if (tel1 == "")
             for (ia=0; ia<localNum.length; ia++)    // 앞에 네 자리 가운데 지역번호 유효성 검사
             {
                if (telnumber.substr(0,4) == localNum[ia])
          {
             tel1 = telnumber.substr(0,4);
             tel2 = telnumber.substr(4,telnumber.length);
             break;
          }
       }
       if (tel1 == "" || tel2.length > 8)  // 앞에 2,3,4 자리 가운데 지역번호가 없으면 잘못된 번호
       {
          return "false";
       }
       tel3 = tel2.substr(tel2.length-4,4)
       tel2 = tel2.substr(0,tel2.length-4)
       resultTel = tel1 + "-" + tel2 + "-" + tel3;
       return resultTel;
   }



//*******************************************************************************
//*  함  수  명 : insertMinus
//*  함수 설명 : 문자열에 "-" 넣는 함수
//*  작  성  자 : 이원희
//******************************************************************************'
function insertMinus(str,gb){
// gb=1 우편번호, gb=2 사업자 번호, gb=3 법인 번호,gb=4 신용카드,gb=5 날짜(YYYY-MM-DD)
	var rtn="";
	if (gb ==1)
	{
		rtn=str.substring(0,3) +"-" +str.substring(3,6);
	}
	if (gb ==2)
	{
		rtn=str.substring(0,3) +"-" +str.substring(3,5)+"-" +str.substring(5,10);
	}
	if (gb ==3)
	{
		rtn=str.substring(0,6) +"-" +str.substring(6,13);
	}
	if (gb ==4)
	{
		rtn=str.substring(0,4) +"-" +str.substring(4,8)+"-" +str.substring(8,12)+"-" +str.substring(12,16);
	}
	if (gb ==5)
	{
		rtn=str.substring(0,4) +"-" +str.substring(4,6)+"-" +str.substring(6,8)
	}
	return rtn;
}
//*******************************************************************************
//*  함  수  명 : deleteMinus
//*  함수 설명 : 문자열에 "-" 제거하는 함수
//*  작  성  자 : 이원희
//******************************************************************************'
function deleteMinus(str){
	rtn = "";
	var rtn_idx=0;
	for(cnt=0; cnt <str.length;cnt++)
	{
		if(str.charAt(cnt) != '-')
		{
			rtn =  rtn+str.charAt(cnt);
		}
	}
	return rtn;
}

/*
 '****************************************************************
 ' Writed by Kiho Lee
 ' Common Javascript Start
 '****************************************************************
*/
//VB Script에서 사용하는 Trim,Left,Right,Mid 함수 구현
function _private_trim() {
  var tmpStr, atChar;
  tmpStr = this;

  if (tmpStr.length > 0) atChar = tmpStr.charAt(0);
  while (_private_stringvb_isSpace(atChar)) {
    tmpStr = tmpStr.substring(1, tmpStr.length);
    atChar = tmpStr.charAt(0);
  }
  if (tmpStr.length > 0) atChar = tmpStr.charAt(tmpStr.length-1);
  while (_private_stringvb_isSpace(atChar)) {
    tmpStr = tmpStr.substring(0,( tmpStr.length-1));
    atChar = tmpStr.charAt(tmpStr.length-1);
  }
  return tmpStr;
}
function _private_left(inLen) {
  return this.substring(0,inLen);
}
function _private_right(inLen) {
  return this.substring((this.length-inLen),this.length);
}
function _private_mid(inStart,inLen) {
  var iEnd;
  if (!inLen)
    iEnd = this.length;
  else
    iEnd = inStart + inLen;
  return this.substring(inStart,iEnd);
}
function _private_stringvb_isSpace(inChar) {
  return (inChar == ' ' || inChar == '\t' || inChar == '\n');
}
String.prototype.trim = _private_trim;
String.prototype.left = _private_left;
String.prototype.right = _private_right;
String.prototype.mid = _private_mid;

// 키보드 자판 눌렀을때 입력제어
var n4=(document.layers)?true:false;
var e4=(document.all)?true:false;
function numCheck(e)
{
	if(n4) var keyValue = e.which
	else if(e4) var keyValue = event.keyCode
	if ( (keyValue == 27) || ((keyValue >= 48) && (keyValue <= 57)) || (keyValue == 46) )
	{
		return true;
	} else {
//		alert("Don't Input Special Character \n ex) * ; + - ! ... ");
		return false
	}
}
function numCheckNega()
{
	var eObj = event.srcElement;
	if(n4) var keyValue = event.which
	else if(e4) var keyValue = event.keyCode
	if ( (keyValue == 27) || ((keyValue >= 48) && (keyValue <= 57)) || (keyValue == 45) || (keyValue == 46) )
	{
		if(keyValue == 45 && eObj.value && eObj.value.length>0) return false;
		return true;
	} else {
//		alert("Don't Input Special Character \n ex) * ; + - ! ... ");
		return false
	}
}
//숫자 판별 (1,000단위 구분없이) : isDefault가 true이면 숫자가 아닌 값을 입력시 이전에 Setting 된 값으로 복귀 시킴
function IsNumber(obj,isDefault){
	var msg = "숫자만 입력하세요!!";
	var deV = obj.defaultValue;
	var num = obj.value;
	if(IsNullString(obj.value)) num = 0;
	if(isNaN(num)){ alert(msg); obj.value = (isDefault==true) ? deV : "" ; obj.focus();return false;}
	else return true;
}


//숫자 판별 (포맷을 1,000단위로)
function IsCommaNumber(obj,isDefault){
	var msg = "숫자만 입력하세요!!";
	var deV = obj.defaultValue;
	var num = GetRemoveComma(obj.value);
	if(IsNullString(obj.value)) num = 0;
	if(isNaN(num)){ alert(msg); obj.value = (isDefault==true) ? deV : "" ; obj.focus(); return false;}
	else{ obj.value=GetCommaNumber(num); return true;}
}
//양의정수 판별 (1,000단위 구분없음)
function IsPosInteger(obj,isDefault){
	var msg = "양의정수만 입력하세요!!";
	var deV = obj.defaultValue;
	var num = obj.value;
	if(IsNullString(obj.value)) num = "0";
	if(!IsPositiveInt(num)){ alert(msg); obj.value = (isDefault==true) ? deV : "" ; obj.focus(); return false;}
	return true;
}
//양의정수 판별 (포맷을 1,000단위로)
function IsCommaPosInteger(obj,isDefault){
	var msg = "양의정수만 입력하세요!!";
	var deV = obj.defaultValue;
	var num = GetRemoveComma(obj.value);
	if(IsNullString(obj.value)) num = "0";
	if(!IsPositiveInt(num)){ alert(msg); obj.value = (isDefault==true) ? deV : "" ; obj.focus(); return false;}
	else{ obj.value=GetCommaNumber(num); return true;}
}
//숫자판별을 위해 String에서 "," 삭제
function GetRemoveComma(num){
	var strNum = num.toString();
	while(strNum.indexOf(",")>0){ strNum = strNum.replace(",","");}
	return strNum;
}
//숫자를 1,000단위 구분
function GetCommaNumber(n){
	var isNega = false;
	var str = n.toString();
	if(str.indexOf("-") == 0){
		isNega = true;
		str = str.substring(1,str.length);
	}
	var p = str.indexOf(".") + 1;
	if(p < 1) p = str.length + 1;

	var sup = str.substring(0,p-1);
	var sub = str.substring(p-1,str.length);
	for(var i = p; i > 4; i-=3) { sup = sup.substring(0,i-4) + "," + sup.substring(i-4,sup.length);}
	return (isNega) ? "-"+sup+sub : sup+sub;
}
//숫자를 1,000단위 구분과 소수점 자리 지정 (Default 소숫점 2자리)
function GetCommaNumberPoint(n,po)
{
	var str = GetCommaNumber(n);
	var v = str.length;
	var p = str.indexOf(".") + 1;
	if(!po) po = 2;

	if(p < 1) str = str + ".00";
	else if(v-p==0) str = str + "00";
	else if(v-p==1) str = str + "0";
	else if(v-p>po) str = str.substring(0,p+po);
	return str;
}
//소수점 이하 자리수를 원하는 자리에서 반올림
function GetRoundNum(num, po){
    if(po == 1){ return Math.round(num); }
	else{
        var strNum = String(num);
        var i = strNum.indexOf(".");
        if(i == -1) strNum = strNum + ".00";

        var num1 = strNum.split(".")[0];
        var num2 = strNum.split(".")[1];
        if(po > num2.length) return num;
        else{
            var tmpNum = String(Math.round(num1+num2.substring(0,po-1)+"."+num2.substring(po-1)));
            return tmpNum.substring(0,i)+"."+tmpNum.substring(i);
        }
    }
}
//스트링이 양의정수인지를 체크
function IsPositiveInt(string) {
	if(string=="") return false;
	else for(var i=0; i<string.length; i++) if(isNaN(parseInt(string.charAt(i)))) return false;

	return true;
}
//스트링이 공백문자 이외의 문자를 포함하는지를 체크 (Null이면 True)
function IsNullString(string)
{
        for(var i=0; i<string.length; i++)
                if(string.charAt(i)!=' ' && string.charAt(i)!='\r' && string.charAt(i)!='\n'
			&& string.charAt(i)!='\t' && string.charAt(i)!='\b') return false;

        return true;
}
//폼의 입력값의 널을 체크 (Null --> true)
function IsEmpty(elementName,elementTitle){
	var msg;
	if(IsNullString(elementName.value)){
		if(elementName.tagName.toUpperCase() == "SELECT") msg = "'" + elementTitle+"'를(을) 선택하세요!";
		else msg = "'" + elementTitle+"'를(을) 입력하세요!";
		alert(msg);
		elementName.focus(); return true;
	}
	else return false;
}
//E-amil 형식 체크 (잘못된 형식 -- False)
function IsEmailFormat(email){
var cnt=0, dot=0;
var firstdot, lastdot, pos;
	for(var i=0;i<email.length;i++){
		if(email.charAt(i)=='@'){ cnt=cnt+1; pos=i}
		if(email.charAt(i)=='.'){
			dot=dot+1; lastdot=i;
			if(dot==1) firstdot=i;
		}
	}
	if(cnt==0 || dot==0 || firstdot<pos+2 || lastdot+1==email.length) return false;
	return true;
}
//Browser가 IE인지 Netscape인지를 체크
function NavigatorCheck() {
	var navigatorName = navigator.appName;
	var navigatorVersion = navigator.appVersion;
	if( (navigatorName.indexOf("마이크로소프트") >= 0 || navigatorName.indexOf("Microsoft") >= 0 )) {
		//alert( navigatorVersion );
		return "IE";
	}
	else {
		//alert( navigatorVersion );
		return "Netscape";
	}
}
//Date Type을 체크 (yyyymmdd or yyyy-mm-dd -- true/false Return)
function IsDateType(chkObj){
	var dateString = chkObj.value;
	if(IsNullString(dateString)) return false;
	dateString = dateString.trim();
	while(dateString.indexOf("-")>0){
		dateString = dateString.replace("-","");
	}
	var returnMsg = GetDateValidation(dateString);
	if(dateString!=returnMsg){
		alert(returnMsg);
		chkObj.focus();
		return false;
	}else{
		chkObj.value = returnMsg.substring(0,4) + "-" + returnMsg.substring(4,6) + "-" + returnMsg.substring(6,8);
		return true;
	}
}
//현재날짜를 yymmdd 타입의 String으로 리턴
function strNowDate(delimeter){
	var del = "";
	if(delimeter) del = delimeter;

	var now = new Date();
	var sYear = now.getYear();
	var sMonth = now.getMonth()+1;
	var sDate = now.getDate();
	if(sMonth<10) sMonth = "0" + sMonth;
	if(sDate<10) sDate = "0" + sDate;
	var strDate = sYear +del + sMonth + del + sDate;
	return strDate;
}
//현재달의 첫날 yymmdd 타입의 String으로 리턴
function strNowFirstDate(delimeter){
	var del = "";
	if(delimeter) del = delimeter;

	var now = new Date();
	var sYear = now.getYear();
	var sMonth = now.getMonth()+1;
	var sDate = "01";
	if(sMonth<10) sMonth = "0" + sMonth;
	var strDate = sYear +del + sMonth + del + sDate;
	return strDate;
}
//두날짜 A>=B 이면 true 리턴 (dateStrB를 생략하면 dateStrB == 현재날짜의 String) -- 입력 타입 : yyyymmdd or yyyy-mm-dd
function IsDateAfter(dateStrA,dateStrB){
	if(dateStrB==null) var dateStrB = strNowDate();

	while(dateStrA.indexOf("-")>0) dateStrA = dateStrA.replace("-","");
	while(dateStrB.indexOf("-")>0) dateStrB = dateStrB.replace("-","");

	var dateA = new Date(dateStrA.substring(0,4),parseFloat(dateStrA.substring(4,6))-1,dateStrA.substring(6,8));
	var dateB = new Date(dateStrB.substring(0,4),parseFloat(dateStrB.substring(4,6))-1,dateStrB.substring(6,8));
	if(dateA >= dateB) return true;
	else return false;
}
//두날짜 A<=B 이면 true 리턴 (dateStrB를 생략하면 dateStrB == 현재날짜의 String) -- 입력 타입 : yyyymmdd or yyyy-mm-dd
function IsDateBefore(dateStrA,dateStrB){
	if(dateStrB==null) var dateStrB = strNowDate();

	while(dateStrA.indexOf("-")>0) dateStrA = dateStrA.replace("-","");
	while(dateStrB.indexOf("-")>0) dateStrB = dateStrB.replace("-","");

	var dateA = new Date(dateStrA.substring(0,4),parseFloat(dateStrA.substring(4,6))-1,dateStrA.substring(6,8));
	var dateB = new Date(dateStrB.substring(0,4),parseFloat(dateStrB.substring(4,6))-1,dateStrB.substring(6,8));
	if(dateA <= dateB) return true;
	else return false;
}
//두날짜의 차이 값 A-B (dateStrB를 생략하면 dateStrB == 현재날짜의 String) -- 입력 타입 : yyyymmdd or yyyy-mm-dd
function GetDateGap(dateStrA,dateStrB){
	if(dateStrB==null) var dateStrB = strNowDate();

	while(dateStrA.indexOf("-")>0) dateStrA = dateStrA.replace("-","");
	while(dateStrB.indexOf("-")>0) dateStrB = dateStrB.replace("-","");

	var dateA = new Date(dateStrA.substring(0,4),parseFloat(dateStrA.substring(4,6))-1,dateStrA.substring(6,8));
	var dateB = new Date(dateStrB.substring(0,4),parseFloat(dateStrB.substring(4,6))-1,dateStrB.substring(6,8));
	var gap_num =0;
	if(dateA > dateB){
		while(1==1){ gap_num++; if(dateA.setDate(dateA.getDate()-1) <= dateB) break;}
	}else if(dateA < dateB){
		while(1==1){ gap_num--;	if(dateA.setDate(dateA.getDate()+1) >= dateB) break;}
	}
	return gap_num;
}
//지정된 날짜에 날짜더하기 (dateType : 년(Y),월(M),일(D)  dateStr생략시 현재날짜) -- 입력 타입 : yyyymmdd or yyyy-mm-dd
function GetDateAdd(dateType,addNum,dateStr){
	if(dateStr==null) var dateStr = strNowDate();
	while(dateStr.indexOf("-")>0) dateStr = dateStr.replace("-","");
	var addDate = new Date(dateStr.substring(0,4),parseFloat(dateStr.substring(4,6))-1,dateStr.substring(6,8));
	switch(dateType){
		case "Y" : addDate.setYear(addDate.getYear()+ parseInt(addNum)); break;
		case "M" : addDate.setMonth(addDate.getMonth()+ parseInt(addNum)); break;
		case "D" : addDate.setDate(addDate.getDate()+ parseInt(addNum)); break;
	}
	var addYear = addDate.getYear();
	var addMonth = addDate.getMonth()+1;
	var addDate = addDate.getDate();

	if(addMonth<10) addMonth = "0" + addMonth;
	if(addDate<10) addDate = "0" + addDate;
	var returnDate = addYear + "-" + addMonth + "-" + addDate;
	return returnDate;
}

//주민번호의 유효성을 체크
function IsCheckJuminNum(userScnElement) {
	var userScn = userScnElement.value;
	var scnFirst = userScn.substring(0,6);
	var scnSecond = userScn.substring(6,13);
	if(IsNullString(scnFirst) && IsNullString(scnSecond)) {
		alert("주민번호를 입력하시기 바랍니다.");
		userScnElement.focus();
		return false;
	}
	var scn = scnFirst+scnSecond;
	var scnLength = scn.length;
	if (scn.length != 13 ||
		"19"+scnFirst != GetDateValidation("19"+scnFirst) ||
		(scnSecond.substring(0, 1) != "1" && scnSecond.substring(0, 1) != "2") ) {
		alert("주민번호를 올바르게 입력하시기 바랍니다.");
		userScnElement.focus();
		return false;
	}
	//주민번호 체크 알고리듬
	else {
		var scnSum = parseInt(userScn.substring(0,1)) * 2 +
				 parseInt(userScn.substring(1,2)) * 3 +
				 parseInt(userScn.substring(2,3)) * 4 +
				 parseInt(userScn.substring(3,4)) * 5 +
				 parseInt(userScn.substring(4,5)) * 6 +
				 parseInt(userScn.substring(5,6)) * 7 +
				 parseInt(userScn.substring(6,7)) * 8 +
				 parseInt(userScn.substring(7,8)) * 9 +
				 parseInt(userScn.substring(8,9)) * 2 +
				 parseInt(userScn.substring(9,10)) * 3 +
				 parseInt(userScn.substring(10,11)) * 4 +
				 parseInt(userScn.substring(11,12)) * 5 ;
		var ckeckScnNum = 11 - (scnSum % 11);
		if(ckeckScnNum >= 10)
			ckeckScnNum = ckeckScnNum - 10;
		if( parseInt(userScn.substring(12,13)) != ckeckScnNum) {
			alert("주민번호를 올바르게 입력하시기 바랍니다.");
			userScnElement.focus();
			return false;
		}
	}
	return true;

}
//주민번호의 유효성을 체크 (두개의 Element를 체크 할 경우)
function IsCheckJuminNumDiv(userScnElement1,userScnElement2) {
	var userScn = userScnElement1.value + userScnElement2.value;
	var scnFirst = userScnElement1.value;
	var scnSecond = userScnElement2.value;
	if(IsNullString(scnFirst)){
		alert("주민번호를 입력하시기 바랍니다.");
		userScnElement1.focus();
		return false;
	}else if(IsNullString(scnSecond)){
		alert("주민번호를 입력하시기 바랍니다.");
		userScnElement2.focus();
		return false;
	}

	if (scnFirst.length != 6 || "19"+scnFirst != GetDateValidation("19"+scnFirst)){
		alert("주민번호를 올바르게 입력하시기 바랍니다.");
		userScnElement1.select();
		return false;
	}
	if(scnSecond.length != 7 || (scnSecond.substring(0, 1) != "1" && scnSecond.substring(0, 1) != "2")) {
		alert("주민번호를 올바르게 입력하시기 바랍니다.");
		userScnElement2.select();
		return false;
	}
	//주민번호 체크 알고리듬
		var scnSum = parseInt(userScn.substring(0,1)) * 2 +
				 parseInt(userScn.substring(1,2)) * 3 +
				 parseInt(userScn.substring(2,3)) * 4 +
				 parseInt(userScn.substring(3,4)) * 5 +
				 parseInt(userScn.substring(4,5)) * 6 +
				 parseInt(userScn.substring(5,6)) * 7 +
				 parseInt(userScn.substring(6,7)) * 8 +
				 parseInt(userScn.substring(7,8)) * 9 +
				 parseInt(userScn.substring(8,9)) * 2 +
				 parseInt(userScn.substring(9,10)) * 3 +
				 parseInt(userScn.substring(10,11)) * 4 +
				 parseInt(userScn.substring(11,12)) * 5 ;
		var ckeckScnNum = 11 - (scnSum % 11);
		if(ckeckScnNum >= 10)
			ckeckScnNum = ckeckScnNum - 10;
		if( parseInt(userScn.substring(12,13)) != ckeckScnNum) {
			alert("주민번호를 올바르게 입력하시기 바랍니다.");
			userScnElement2.select();
			return false;
		}
	return true;

}
//날짜의 유효성을 체크 ( 8자리로 받음 yyyymmdd )
function GetDateValidation(string) {
	var errCode=-1;
	if(string.length!=8 || !IsPositiveInt(string)) errCode=-1;
	else {
		errCode=1;
		var yyyy=parseInt(string.substring(0, 4), 10);
		var mm=parseInt(string.substring(4, 6), 10);
		var dd=parseInt(string.substring(6, 8), 10);

		if(yyyy==0 || mm==0 || dd==0 || mm>12 || dd>31) errCode=0;
		else if(mm==2) {
			if(CheckLeapYear(yyyy)){if(dd>29) errCode=0;}
			else{if(dd>28) errCode=0;}
		}
		else if((mm==4 || mm==6 || mm==9 || mm==11) && dd>30) errCode=0;
	}

	if(errCode==1) return(string);
	else if(errCode==-1) return("날짜는 'YYMMDD' 형식의 숫자이어야 합니다.");
	else return(string.substring(0, 4)+"년 "+string.substring(4, 6)+"월 "+string.substring(6, 8)+"일은 유효하지 않습니다.");
}
//윤달일 경우 true를 return
function CheckLeapYear(intYear) {
	if( ((intYear%4==0) && !(intYear%100==0)) || (intYear%400==0)) return true;
	else return false;
}
//added by kiho : From / To Date Check
var objFromToCheckDate;
function FromToDateCheck(fromObj,toObj){
	var eObj = event.srcElement;
	var srcObj, targetObj, strMsg = "";
	if(eObj == fromObj){
		srcObj = fromObj;
		targetObj = toObj;
		strMsg = "이후 일자";
	}else{
		srcObj = toObj;
		targetObj = fromObj;
		strMsg = "이전 일자";
	}
	if(objFromToCheckDate != null && objFromToCheckDate != srcObj) return;
	if(IsNullString(srcObj.value)){ objFromToCheckDate = null; return;}
	if(!IsDateType(srcObj)){ objFromToCheckDate = srcObj; return;}
	var bool = (srcObj == fromObj) ? IsDateBefore(srcObj.value,targetObj.value) : IsDateAfter(srcObj.value,targetObj.value);
	if(!IsNullString(targetObj.value) && !bool){
		objFromToCheckDate = srcObj;
		alert("'" + targetObj.value + "' 보다 " + strMsg + "를 입력할 수 없습니다.");
		srcObj.value = targetObj.value;
		//srcObj.select();
		srcObj.focus();
	}else{
		objFromToCheckDate = null;
	}
}
//*******************************************************************************
//*  함  수  명 : getcharCount
//*  함수 설명 : 문자열에 특정 character 갯수구하기
//*  작  성  자 : 이원희
//******************************************************************************'
function getcharCount(string,char)
{
	var cnt=0;
    for(var i=0; i<string.length; i++)
    {
    	if(string.charAt(i)==char)
        	++cnt;
	}
    return cnt;
}



// 문자 인코딩 캐릭터셋 설정문제로 특정 언어가 깨질경우 사용
// 값을 받는곳에서는 java.net.URLDecoder 를 이용해 디코딩 해준다. 
// ex) 	URLDecoder getDecode = new URLDecoder();
//   	String client_nm  = getDecode.decode(UtilMaster.null2Empty(request.getParameter("client_nm")),"UTF-8");

function encodeURL(str){
	var s0, i, s, u;
	s0 = "";                // encoded str
	if(str=="") return "";
	for (i = 0; i < str.length; i++){   // scan the source
		s = str.charAt(i);
		u = str.charCodeAt(i);          // get unicode of the char
		if (s == " "){s0 += "+";}       // SP should be converted to "+"
		else {
			if ( u == 0x2a || u == 0x2d || u == 0x2e || u == 0x5f || ((u >= 0x30) && (u <= 0x39)) || ((u >= 0x41) && (u <= 0x5a)) || ((u >= 0x61) && (u <= 0x7a))){       // check for escape
				s0 = s0 + s;            // don't escape
			}
			else {                  // escape
				if ((u >= 0x0) && (u <= 0x7f)){     // single byte format
					s = "0"+u.toString(16);
					s0 += "%"+ s.substr(s.length-2);
				}
				else if (u > 0x1fffff){     // quaternary byte format (extended)
					s0 += "%" + (oxf0 + ((u & 0x1c0000) >> 18)).toString(16);
					s0 += "%" + (0x80 + ((u & 0x3f000) >> 12)).toString(16);
					s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16);
					s0 += "%" + (0x80 + (u & 0x3f)).toString(16);
				}
				else if (u > 0x7ff){        // triple byte format
					s0 += "%" + (0xe0 + ((u & 0xf000) >> 12)).toString(16);
					s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16);
					s0 += "%" + (0x80 + (u & 0x3f)).toString(16);
				}
				else {                      // double byte format
					s0 += "%" + (0xc0 + ((u & 0x7c0) >> 6)).toString(16);
					s0 += "%" + (0x80 + (u & 0x3f)).toString(16);
				}
			}
		}
	}

	return s0;
}

/*
----------------------------
   소스 못보게 하는 부분
   현재는 막았는데 나중에 사용하세요.
   ( 아래의 remark 부분을 헤제만 시키면 됨)
------------------------------
*/
//function click() {
//   if ((event.button==2) || (event.button==3)) {
//       alert('보안상 마우스 오른쪽 버튼은 사용할수 없습니다.');
//       }
//}
//document.onmousedown=click;
/*
 '****************************************************************
 ' Common Javascript End
 '****************************************************************
*/

//-->