관리 메뉴

nkdk의 세상

자바 스크립트 함수 정리 본문

My Programing/HTML and JavaScript

자바 스크립트 함수 정리

nkdk 2008. 3. 7. 19:12
현재 자바에서 배운 것도 있고 배우지 않은 함수들도 있는데 해당 함수들에 대한 사항을 올려 놓습니다. 자바스크립트 함수에 마지막 결정체라고 할 수 있겠네요. 저희가 실습상으로 했던 모든 것들은 이미 소스로 다 나와 있네요. 소스 보시면 어떤 루틴으로 짜여져 있는지 보실 수 있습니다. 자바 스크립트가 이번 주면 끝나네요. 앞으로 오라클 과정도 있고 자바 과정도 있고 험난함이 보이네요. 자바는 인터넷에 많이 나와 있으니.. 보시면서 하시면 될 듯하고요. 어차피 지금 만드는 프로그램들도 지금 그 움직이는 경로가 안 보여서 그렇지.. 하시다 보면 어떻게 짜는지가 보입니다. 전체적인 순서도를 보시는 연습도 하시면 좋을 듯 싶고 그렇네요. ^^ 자바스크립트 함수입니다.

setCookie( name, value, expireFlag ) Set Cookie
getCookie( name ) get Cookie
jsChangeComma( str ) ' -> ` 로 대치
jsSplitCode(varString, varSplitChar, varIndex) 구분자로 구분해서 index의 문자를 리턴
jsCheckNull( toCheck ) toCheck의 값이 Null값인지를 체크
jsCheckIp(toCheck) toCheck값이 정확한 IP Address인지 체크
jsCheckNumber(toCheck) Number타입인지 체크 소수점은 Number타입으로 인식하지 않음
jsStrCheck(checkStr, checkOK) 들어가서는 안되는 데이타(checkOK)가 checkStr에 포함되어있는지 체크
jsCheckFloat(toCheck) Folat형인지를 체크 정수도 Float으로 인식
jsCheckPoint( toCheck , Positive , Negative ) 자리수 체크 정수 몇자리 소수 몇자리
jsCheckYYYY(toCheck) 년도를 체크
jsCheckYYYYMM(toCheck) 년월을 체크
jsCheckMM(toCheck) 월을 체크
jsCheckDD(yyyy,mm,toCheck) 일을 체크
jsCheckDate( dateVal ) 날짜를 체크
jsAddYear( startDt, plusYear ) 날짜에 년수를 더함
jsAddMonths( startDt, plusMonth ) 날짜에 월수를 더함
jsGetBetweenDay( startDt, endDt ) 날짜와 날짜사이의 일수를 리턴
jsCheckTime( toCheck ) 시간포맷인지를 체크
jsCheckJumin(toCheck) 주민등록번호 체크
jsCheckSaupJa(toCheck) 사업자등록번호 체크
jsCheckEmail( emailVal ) 이메일을 체크 - 보완요망
jsCheckFloatType( varNum, varLeft, varRight ) 정수부분자리수 소수부분자리수 체크
jsShowHelp( helpfile ) helpfile를 팝업으로 오픈
getByteLength(s) 한글2바이트, 영문 1바이트로 바이트수를 리턴
jsGetObjCnt( FormObj, varObjName ) 특정폼에서 해당오브젝트가 몇개인지를 리턴
jsCheckSelectBox ( sb ) SelectBox에서 선택된 값의 value를 리턴
jsCheckSelectBoxNm ( sb ) SelectBox에서 선택된 값의 Text를 리턴
jsClearFrame( fr ) 특정프레임에 공백 jsp를 띄워줌
jsToggle(FormObj, elemNm, checkYn) 특정 폼안의 체크박스오브젝트를 전체선택하거나 전체반전시킴
jsMoveFocus( varTextObj, varLength, varFocusToObj ) TextBox에서 조건이 만족하면 특정객체로 포커스를 이동
jsParseInt( varStr ) 문자를 숫자로 변환 null일때
jsConvertNumberToHangul( varNum ) 숫자를 한글로 변환
jsMakeCurrency( varTextObj ) 넘어온 숫자에 컴마를 찍어서 리턴 소숫점 허용안함
jsMakeForeignCurrency( varTextObj ) 넘어온 숫자에 컴마를 찍어서 리턴 소숫점 허용함
jsOnlyNumber( varTextObj ) 해당 텍스트박스 객체에 숫자만 입력받을수 있도록
jsOnlyFloat( varTextObj ) 해당 텍스트박스 객체에 숫자와 1개의 point만을 입력받게 해준다.
jsMakeYyyyMm( varTextObj ) 해당 텍스트박스 객체필드에 YYYY/MM형식으로 [/]를 찍어서 채워준다.
jsMakeYyyyMmString( varText ) 넘어온 값에 날짜형식으로 [/]를 찍어서 리턴.
jsMakeDate( varTextObj ) 넘어온 Object의 값을 날짜형식으로 채워줌
jsMakeDateString( varText )넘어온 값을 날짜형식으로 리턴
jsAddComma( varNumber ) 숫자를 받아서 comma를 찍어서 리턴한다 소수점 인식 숫자가 아닌값 -1을 리턴 음수표현가능
jsAddCommaAndZero( varNumber ) 숫자를 받아서 comma를 찍어서 리턴한다 소수점 인식 숫자가 아닌값 -1을 리턴 음수표현 불가능
jsDeleteComma( varNumber ) 컴마를 삭제하고 리턴
jsDeleteChar( varText, varDelete ) 문자열에서 해당 character를 지우고 리턴
jsDeleteCharAll( FormObj ) 해당 폼에 해당하는 모든 오브젝트의 값들에서 ',' and '/'문자를 지워준다.
jsCheckBoxSelectedCnt( FormObj, checkBoxName ) FormObj에서 checkBox 가 몇개 선택되었는지 리턴한다.
isAlphaNum(input) 영문과 숫자로만 이루어졌는지를 체크
containsCharsOnly(input,chars) 입력값이 특정 문자(chars)만으로 되어있는지 체크
popup1( varAction, varWinName, varWidth, varHeight ) 팝업을 호출
toTimeString( varDateObj ) DateObj를 넘겨주면 년월일을 리턴 20030201
jsAfterThisDate( varStdDate , varYYYY , varMM , varDD ) 날짜형식의 문자열에 특정 년, 월, 일을 더한값을 리턴
jsOnlyNumberKey() text 입력시 숫자이외의 키를 눌렀을때 무효화시킨다.
jsBack() 이전 페이지로 이동
jsVisible( str ) 특정조건에 해당하면 모래시계를 보여줌
jsRunAfterTime() 설정한 시간뒤에 특정 function을 호출
getCutNumber(num, place) 소수점 아래 몇자리 이하 절삭
trim(text) ltrim(text) rtrim(text) text의 좌우측, 좌측, 우측의 공백을 제거해서 리턴
cmInitSelectBox( varObjFullNm, varDeleteCnt ) 해당 SelectBox를 초기화 시킨다. varDeleteCnt가 1이면 첫번째값을 지우지 않는다.
cmMakeSelectBox( varObjFullNm, varText, varValue ) 해당 selectBox에 하나의 값을 추가시킴
*/


/////////////////////////////////////////////////////////////////
////// GENERAL VALIDATION CHECK RETURN MESSAGE /////////////
/////////////////////////////////////////////////////////////////
/*--------------------------------------------------
기능 : Cookie Setting
INPUT : name, value
expireFg : 'Y' : 2020년 까지 쿠키저장
expireFg : 'N' : session이 끊어질때 쿠키지움
RETURN : NONE
----------------------------------------------------*/
function setCookie( name, value, expireFg ) {
var expireDate = new Date ( 2020, 1, 1, 1, 1, 1 ) ;

if ( expireFg = 'Y' )
document.cookie = name + "=" + value + "; expires=" + expireDate.toGMTString() ;
else
document.cookie = name + "=" + value + ";" ;

}
/*--------------------------------------------------
기능 : Cookie Get
INPUT : name
RETURN : 쿠키값( 없으면 "" )
----------------------------------------------------*/
function getCookie( name ) {
var cookieFound = false ;
var start = 0 ;
var end = 0 ;
var cookieString = document.cookie ;

var i = 0 ;

// name에 해당되는 cookie를 찾는다.
while ( i <= cookieString.length ) {
start = i ;
end = start + name.length ;
if ( cookieString.substring( start, end ) == name ) {
cookieFound = true ;
break ;
}
i++ ;
}

// cookie를 찾았으면 해당하는 값을 그렇지 않으면 ""을 return ;
if ( cookieFound ) {
start = end + 1 ;
end = document.cookie.indexOf(";",start) ;
if ( end < start )
end = document.cookie.length ;
return document.cookie.substring( start, end ) ;
}

return "" ;
}

/*-----------------------------------------------
' ->문자를 쿼리문에 사용시 에러가 발생하므로 `로 대치
INPUT : str
RETURN : 문자열안의 문자중 ' 문자를 ` 로 변경한 문자열
-------------------------------------------------*/
function jsChangeComma( str ){
while( str.indexOf("'") != -1 ){
str = str.replace("'","`");
}
return str;
}

/*----------------------------------------------------------
기능 : Split Code RETURN Splited code by varSplitChar
INPUT : varString 문자
: varSplitChar 구분자
: varIndex 구분자의 위치
RETURN : Splited code by varSplitChar
예 : jsSplitCode( "111^222^333", "^", 2 ) == "222"
-----------------------------------------------------------*/
function jsSplitCode(varString, varSplitChar, varIndex) {
var varArray = varString.split(varSplitChar) ;

return varArray[eval(varIndex)-1];
}

/*--------------------------------------------------
기능 : Check Null RETURN T/F
INPUT : check data
RETURN : true -> NULL
false -> NOT NULL
----------------------------------------------------*/
function jsCheckNull( toCheck )
{
var chkstr = toCheck + "";
var is_Space = true ;

if ( ( chkstr == "") || ( chkstr == null ) )
return( true );

for ( j = 0 ; is_Space && ( j < chkstr.length ) ; j++)
{
if( chkstr.substring( j , j+1 ) != " " )
{
is_Space = false ;
}
}
return ( is_Space );
}

/*--------------------------------------------------
기능 : Check IP address RETURN T/F
INPUT : toCheck -> check data
RETURN : true -> IP address
false -> not IP address
----------------------------------------------------*/
function jsCheckIp(toCheck)
{
var chkstr = toCheck+"" ;
var isIp = true ;

if ( jsCheckNull(toCheck) )
return false;

for (j = 0 ; isIp && (j < toCheck.length) ; j++)
{
if ((toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
{
if ( toCheck.substring(j,j+1) == "." )
if ( j == 0 )
isIp = false ;
else
isIp = false ;
}
}

return isIp;
}

/*--------------------------------------------------
기능 : Check Number RETURN T/F ( 소수점"."은 Number로 취급안함 )
INPUT : toCheck -> check data
RETURN : true -> number ( "."이 포함안됨 )
false -> not number
----------------------------------------------------*/
function jsCheckNumber(toCheck)
{
var chkstr = toCheck+"" ;
var isNum = true ;

if ( jsCheckNull(toCheck) )
return false;

for (j = 0 ; isNum && (j < toCheck.length) ; j++)
{
if ((toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
{
if ( toCheck.substring(j,j+1) == "-" || toCheck.substring(j,j+1) == "+")
{
if ( j != 0 )
{
isNum = false;
}
}
else
isNum = false;
}
}

if (chkstr == "+" || chkstr == "-") isNum = false;

return isNum;
}

/*--------------------------------------------------
기능 : Check data RETURN T/F
INPUT : toCheck -> check data
checkOK -> 들어가서는 안되는 data
RETURN : false -> 들어가서는 안되는 data가 없다
true -> 들어가서는 안되는 data가 있다.
예1 : jsStrCheck( '12345', 'ABab' )
string '12345'에는 'ABab'가 없으므로
false를 리턴
예2 : jsStrCheck( '12$45', 'ABab$#%' )
string '12$45'에는 '$'가 있으므로
true를 리턴
----------------------------------------------------*/
function jsStrCheck(checkStr, checkOK) {
for (i = 0; i < checkStr.length; i++) {
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
return false;
break;
}
}
return true;
}

/*--------------------------------------------------
기능 : Check Float RETURN T/F (정수도 Float로 취급)
INPUT : toCheck -> check data
RETURN : true -> number
false -> not number
----------------------------------------------------*/
function jsCheckFloat(toCheck)
{
var chkstr = toCheck+"" ;
var isFloat = true;

var chkPoint = false;
var chkMinus = false;

if ( jsCheckNull(toCheck) )
{
return false;
}

for (j = 0 ; isFloat && (j < toCheck.length); j++)
{
if ( (toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
{

if ( toCheck.substring(j,j+1) == "." )
{
if ( !chkPoint ) chkPoint = true ;
else isFloat = false ;
}
else if ( toCheck.substring(j,j+1) == "-" || toCheck.substring(j,j+1) == "+")
{
if ( ( j == 0 ) && ( !chkMinus ) ) chkMinus = true ;
else isFloat = false;
}
else isFloat = false;
}
}

return isFloat;
}

/*--------------------------------------------------
기능 : 자릿수 check RETURN T/F
INPUT : toCheck -> check data
RETURN : true -> number
false -> not number
----------------------------------------------------*/
function jsCheckPoint( toCheck , Positive , Negative )
{
var strPos = toCheck + "" ;
var isPoint = true ;

if ( jsCheckFloat ( toCheck ) )
{

var inx = strPos.indexOf(".") ;

if ( inx == -1 )
{
if ( strPos.length > parseInt(Positive) )
isPoint = false ;
else
isPoint = true ;
}
else
{
var pos = strPos.substring( 0, inx ) ;
var nev = strPos.substring(inx + 1) ;

if ( pos.length > parseInt(Positive) )
isPoint = false ;
else if ( nev.length > parseInt(Negative) )
isPoint = false ;
else
isPoint = true ;
}
}
else if ( jsCheckNumber (toCheck) )
isPoint = true ;
else
isPoint = false ;

return isPoint ;

}

////////////////////////////////////////////////////////////////n
//////////// DATE VALIDATION CHECK //////////////////////
/////////////////////////////////////////////////////////////////

/*--------------------------------------------------
기능 : calender에서 사용할 월별 배열를 만든다.
INPUT : 각 인자의 값
----------------------------------------------------*/
function jsMonthArray(m0,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11)
{
this[0] = m0;
this[1] = m1;
this[2] = m2;
this[3] = m3;
this[4] = m4;
this[5] = m5;
this[6] = m6;
this[7] = m7;
this[8] = m8;
this[9] = m9;
this[10] = m10;
this[11] = m11;
}


/*--------------------------------------------------
기능 : 년도를 check한다.
INPUT : toCheck
RETURN : NONE
MSG :
----------------------------------------------------*/

function jsCheckYYYY(toCheck)
{
return ( ( toCheck.length == 4) && ( jsCheckNumber(toCheck) ) && ( toCheck != "0000") );
}

/*--------------------------------------------------
기능 : 년월을 check한다.
INPUT : toCheck
RETURN : NONE
MSG :
----------------------------------------------------*/

function jsCheckYYYYMM(toCheck)
{
var isDate = true ;

if ( toCheck.length != 6 )
{
isDate = false ;
}
else
{

var yy = toCheck.substring(0,4) +"" ;
var mm = toCheck.substring(4,6) +"" ;

if ( !jsCheckYYYY(yy) )
isDate = false ;
else if ( !jsCheckMM(mm) )
isDate = false ;
}

return isDate ;
}

/*--------------------------------------------------
기능 : 월을 check한다.
INPUT : toCheck
RETURN :
MSG :
----------------------------------------------------*/
function jsCheckMM(toCheck)
{
return ((toCheck.length > 0) && (jsCheckNumber(toCheck)) && (0< eval(toCheck)) && (eval(toCheck) < 13));
}

/*--------------------------------------------------
기능 : 일을 check한다.
INPUT : toCheck
RETURN : NONE
MSG :
----------------------------------------------------*/
function jsCheckDD(yyyy,mm,toCheck)
{
var isYMD = false;
var monthDD= new jsMonthArray(31,28,31,30,31,30,31,31,30,31,30,31);
var im = eval(mm) - 1;
if ( toCheck.length == 0 ) return false;
if ( !jsCheckNumber(toCheck) ) return false;
var dd = eval(toCheck);
if ( ( (yyyy%4 == 0) && (yyyy%100 != 0) ) || (yyyy%400 == 0) )
{
monthDD[1] = 29;
}
if ( (0 < dd) && (dd <= monthDD[im]) ) isYMD = true;
return isYMD;
}

/*--------------------------------------------------
기능 : 날짜를 check한다.
INPUT : dateVal '20030321'
RETURN : NONE
MSG :
----------------------------------------------------*/
function jsCheckDate( dateVal )
{

var isDate = true ;

if ( dateVal.length != 8 )
{
isDate = false ;
}
else
{

var yy = dateVal.substring(0,4) +"" ;
var mm = dateVal.substring(4,6) +"" ;
var dd = dateVal.substring(6,8) +"" ;

if ( !jsCheckYYYY(yy) )
isDate = false ;
else if ( !jsCheckMM(mm) )
isDate = false ;
else if ( !jsCheckDD (yy,mm,dd) )
isDate = false ;
}

return isDate ;

}

/*--------------------------------------------------
기능 : 날짜에 년수를 더한다.
INPUT : startDt(YYYYMMDD), year
RETURN : rtnValue : 날짜에 년수를 더한 날짜
-1 : ERROR..!
예) 20000110 + 1년 = 20010110
예) 20000229 + 1년 = 20010228
MSG :
----------------------------------------------------*/
function jsAddYear( startDt, plusYear ) {
var rtnValue = -1 ;

// input date의 날짜 체크
if ( !jsCheckDate(startDt) || !jsCheckNumber(plusYear) ) {
rtnValue = -1 ;
return rtnValue ;
}

var yyyy = startDt.substring(0,4) +"" ;
var mm = startDt.substring(4,6) +"" ;
var dd = startDt.substring(6,8) +"" ;

var newYyyy = (eval(yyyy) + eval(plusYear)) ;

// 윤달(29일) 인 경우 28일로 고침
// 예) 20000229 에 1년을 더하면 20000228
var isYoonYear = false ;
// 4 로 나누어 떨어지면 윤년
// 100 으로 나누어 떨어지면 윤년 아님
// 400 으로 나누어 떨어지면 윤년
if ( (eval(newYyyy)%4) == 0 ) isYoonYear = true ;
if ( (eval(newYyyy)%100) == 0 ) isYoonYear = false ;
if ( (eval(newYyyy)%400) == 0 ) isYoonYear = true ;

if ( (mm == '02') && (dd == '29') && !isYoonYear ) dd = '28' ;

rtnValue = newYyyy + mm + dd ;

return rtnValue ;
}

/*--------------------------------------------------
기능 : 날짜에 월수를 더한다.
INPUT : startDt(YYYYMMDD), year
RETURN : rtnValue : 날짜에 월수를 더한 날짜
-1 : ERROR..!
예) 20000110 + 3월 = 20000410
예) 20000229 + 12월 = 20000228
MSG :
----------------------------------------------------*/
function jsAddMonths( startDt, plusMonth ) {
var rtnValue = -1 ;

// input date의 날짜 체크
if ( !jsCheckDate(startDt) || !jsCheckNumber(plusMonth) ) {
rtnValue = -1 ;
return rtnValue ;
}

var yyyy = startDt.substring(0,4) +"" ;
var mm = startDt.substring(4,6) +"" ;
var dd = startDt.substring(6,8) +"" ;

var newMm = null;

// 월수를 더하여 1년이 넘는 경우
if ( (eval(mm) + eval(plusMonth)) > 12 ) {
yyyy = eval(yyyy) + 1 ;
newMm = eval(mm) + eval(plusMonth) - 12 ;
} else {
newMm = eval(mm) + eval(plusMonth) ;
}

// 윤년 처리
var isYoonYear = false ;
// 4 로 나누어 떨어지면 윤년
// 100 으로 나누어 떨어지면 윤년 아님
// 400 으로 나누어 떨어지면 윤년
if ( (eval(yyyy)%4) == 0 ) isYoonYear = true ;
if ( (eval(yyyy)%100) == 0 ) isYoonYear = false ;
if ( (eval(yyyy)%400) == 0 ) isYoonYear = true ;

// 윤년인 경우
if ( isYoonYear ) {
if ( (newMm == '02') && ( dd=='30' || dd=='31' ) ) dd = '29' ;
// 평년인 경우
} else {
if ( (newMm == '02') && ( dd=='29' || dd=='30' || dd=='31' ) ) dd = '28' ;
}

// 월의 자리수를 맞춘다. ( 2 월 -> 02 )
if ( eval(newMm) < 10 ) { newMm = "0" + newMm } ;
rtnValue = yyyy + newMm + dd ;

return rtnValue ;
}

/*--------------------------------------------------
기능 : 날짜와 날짜 사이의 일수를 리턴한다.
INPUT : startDt(YYYYMMDD), endDt(YYYYMMDD)
RETURN : rtnValue : 날짜와 날짜 사이의 일수
-1 : ERROR..!
MSG :

----------------------------------------------------*/
function jsGetBetweenDay( startDt, endDt )
{
var rtnValue = 0 ;

// input date의 날짜 체크
if ( !jsCheckDate(startDt) || !jsCheckDate(endDt) ) {
rtnValue = -1 ;
}
else {
var yyyy = startDt.substring(0,4) +"" ;
var mm = startDt.substring(4,6) +"" ;
var dd = startDt.substring(6,8) +"" ;
var startDate = new Date(yyyy,(eval(mm)-1),dd) ; // 달 은 한달이 느리므로 1을 빼준다.

yyyy = endDt.substring(0,4) +"" ;
mm = endDt.substring(4,6) +"" ;
dd = endDt.substring(6,8) +"" ;
var endDate = new Date(yyyy,(eval(mm)-1),dd) ;

// 1000분의 1초 단위를 일 단위로 바꾸기
rtnValue = ((endDate-startDate)/60/60/24/1000) ;
}

return rtnValue ;

}
/*--------------------------------------------------
기능 : Check Time RETURN T/F
INPUT : check time
RETURN : true -> TIME
false -> NOT TIME
----------------------------------------------------*/
function jsCheckTime( toCheck )
{
var chkstr = toCheck + "";

if ( ( chkstr == "") || ( chkstr == null ) )
return( false );

var mm = chkstr.substring( 0 ,2 );
var ss = chkstr.substring( 3 ,5 );

if (( mm <= "23" ) && ( mm >= "00" ))
{
if (( ss <= "60" ) && ( ss >= "00" ))
{
if ( chkstr.substring( 2 ,3 ) == ":")
{
return( true );
}
}
}
return( false );
}

/*--------------------------------------------------
기능 : Check 주민등록번호 RETURN T/F
INPUT : toCheck
RETURN : true -> 올바른 번호
false ->
----------------------------------------------------*/
function jsCheckJumin(toCheck) {
var isJumin = true;
if ( jsCheckNull(toCheck) ) {
return false;
} else if ( toCheck.length < 13 || toCheck.length > 13 ) {
return false;
} else if ( toCheck.substring(2,3) > "1" || toCheck.substring(6,7) > "2" || toCheck.substring(6,7) == "0" ) {
return false;
} else if ( toCheck.substring(2,3) == "1" && toCheck.substring(3,4) > "2" ){
return false;
} else if (!(toCheck.substring(4,6) >= "01" && toCheck.substring(4,6) <= "31")){
return false;
}
for (j = 0; isJumin && (j < toCheck.length); j++) {
if ( ( (toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9")) ) {
isJumin = false;
}
}


var a1=toCheck.substring(0,1)
var a2=toCheck.substring(1,2)
var a3=toCheck.substring(2,3)
var a4=toCheck.substring(3,4)
var a5=toCheck.substring(4,5)
var a6=toCheck.substring(5,6)
var check_digit=a1*2+a2*3+a3*4+a4*5+a5*6+a6*7
var b1=toCheck.substring(6,7)
var b2=toCheck.substring(7,8)
var b3=toCheck.substring(8,9)
var b4=toCheck.substring(9,10)
var b5=toCheck.substring(10,11)
var b6=toCheck.substring(11,12)
var b7=toCheck.substring(12,13)

var check_digit=check_digit+b1*8+b2*9+b3*2+b4*3+b5*4+b6*5
check_digit = check_digit%11
check_digit = 11 - check_digit
check_digit = check_digit%10
if (check_digit != b7){
isJumin = false;
}

return isJumin;
}

/*--------------------------------------------------
기능 : Check 사업자 등록번호 RETURN T/F
INPUT : toCheck
RETURN : true -> 올바른 번호
false ->
----------------------------------------------------*/
function jsCheckSaupJa(toCheck) {
var isSaupJa = true;
if ( jsCheckNull(toCheck) ) {
return false;
} else if ( toCheck.length < 10 || toCheck.length > 10 ) {
return false;
}
for (j = 0; isSaupJa && (j < toCheck.length); j++) {
if ( ( (toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9")) ) {
isSaupJa = false;
}
}
return isSaupJa;
}

/*--------------------------------------------------
기능 : E-Mail를 check한다.
INPUT : emailVal
RETURN : NONE
MSG :
----------------------------------------------------*/
function jsCheckEmail( emailVal )
{
if ( jsCheckNull(emailVal) ) return true;

var inx = emailVal.indexOf("@") ;

if ( inx <= 0 || inx==emailVal.length-1 ) return false;

return true ;
}
/*--------------------------------------------------
기능 :
INPUT : varNum : 실수
varLeft : 정수부분 자리수
varRight : 소수부분 자리수
RETURN : true : 실수가 정/소수부분의 자리수를 초과하지 않는다.
false : 실수가 정/소수부분의 자리수를 초과한다.
----------------------------------------------------*/
function jsCheckFloatType( varNum, varLeft, varRight ) {

var resultFlag = true ;

if ( varNum.charAt(0) == "-" ){
varNum = varNum.substring(1,varNum.length);
}

var PointIndex = varNum.indexOf(".");

if ( PointIndex < 0 ){
if ( varNum.length > varLeft )
resultFlag = false ;
}else{
var LeftLength = varNum.substring(0,PointIndex).length;
var RightLength = varNum.substring(PointIndex+1, varNum.length ).length;

if ( (LeftLength > varLeft) || (RightLength > varRight) )
resultFlag = false ;
}

return resultFlag ;

}

/*--------------------------------------------------
기능 :
INPUT : helpfile
RETURN :
----------------------------------------------------*/
function jsShowHelp( helpfile )
{
var helpstr = helpfile + "" ;
var URL = "" ;
var cWin ;

URL = "/help/"+helpfile+".html" ;

cWin = window.open(URL,"help","toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=560,height=320");

cWin.focus();
}

/*--------------------------------------------------
기능 : 한글이든 영문이든 제대로 갯수 체크를 해준다.
INPUT : String
RETURN :
----------------------------------------------------*/
function getByteLength(s){
var len = 0;
if ( s == null ) return 0;
for(var i=0;i<s.length;i++){
var c = escape(s.charAt(i));
if ( c.length == 1 ) len ++;
else if ( c.indexOf("%u") != -1 ) len += 2;
else if ( c.indexOf("%") != -1 ) len += c.length/3;
}
return len;
}

/*--------------------------------------------------
기능 : FormObj에서 varObjName이 몇개 존재하는지 리턴한다.
INPUT : FormObj : FormName
: varObjName : 객체명
RETURN :
----------------------------------------------------*/
function jsGetObjCnt( FormObj, varObjName ){
var cnt = 0 ;
for(var inx = 0; inx < FormObj.elements.length ; inx++ ) {
if ( FormObj.elements[inx].name == varObjName ) {
cnt++ ;
}
}
return cnt;
}

/*--------------------------------------------------
기능 : SELECT OPTION BOX의 값을 RETURN 한다.
INPUT : sb = selectBoxName
RETURN :
----------------------------------------------------*/
function jsCheckSelectBox ( sb )
{
var temp = sb.options[sb.selectedIndex].value ;
return ( temp );
}

function jsCheckSelectBoxNm ( sb )
{
var temp = sb.options[sb.selectedIndex].text ;
return ( temp );
}

/*--------------------------------------------------
기능 : 해당 Frame을 공백페이지로 변경
INPUT : fr : FrameName
RETURN :
----------------------------------------------------*/
function jsClearFrame( fr ) {
fr.location = "/common/blank.jsp";
}

/*--------------------------------------------------
기능 : checkBox를 전체선택 및 해제를 할수 있게 한다.
INPUT : FormObj FormName
elemNm CheckBox name
checkYn boolean
RETURN :
----------------------------------------------------*/
function jsToggle(FormObj, elemNm, checkYn){
var i =0;
while (i < FormObj.elements.length)
{
if (FormObj.elements[i].name== elemNm )
{
FormObj.elements[i].checked= checkYn;
}
i++;
}
}

/*--------------------------------------------------
기능 : focus 옮기기
INPUT : varTextObj : TextBox 객체명
varLength : 조건에 맞는 textLength
varFocusToObj : Focus를 옮겨갈 객체명
RETURN :
----------------------------------------------------*/
function jsMoveFocus( varTextObj, varLength, varFocusToObj ) {
if ( varTextObj.value.length == varLength ) {
varFocusToObj.focus() ;
varFocusToObj.select() ;
return ;
}
}

/*--------------------------------------------------
기능 : 문자를 숫자로 convert 한다. 단,
parseFloat 와 다른 점은 null 이 올때 0 으로 인식한다.
INPUT :
RETURN :
----------------------------------------------------*/
function jsParseInt( varStr ) {
if ( varStr == null || varStr == "" )
return 0 ;
else
return parseInt(varStr) ;
}

/*--------------------------------------------------
기능 : 숫자를 한글로 변환한다.
예) 450,000,000 -> 사억오천만
INPUT :
RETURN :
----------------------------------------------------*/
function jsConvertNumberToHangul( varNum )
{
// 리턴할 문자열
var returnStr = "" ;

// 음수일 때는 에러
if ( eval(varNum) < 0 ) {
return returnStr ;
}

// 넘어온 숫자를 문자로 변환
var numLen = varNum.length ;
// 변환된 문자를 앞에서 부터 한자씩 잘라서 보관할 변수
var oneChar = null ;
var isDone1 = true ;
var isDone2 = true ;
var isDone3 = true ;
var isDone4 = true ;
var isDone5 = false ;
for ( var inx = 0 ; inx < numLen ; inx++ ) {
oneChar = varNum.substring( inx, inx+1 ) ;
isDone5 = false ;

if ( oneChar == "0" ) {
// 아무일도 안함
} else if ( oneChar == "1" ) {
returnStr = returnStr + "일" ;
isDone5 = true ;
} else if ( oneChar == "2" ) {
returnStr = returnStr + "이" ;
isDone5 = true ;
} else if ( oneChar == "3" ) {
returnStr = returnStr + "삼" ;
isDone5 = true ;
} else if ( oneChar == "4" ) {
returnStr = returnStr + "사" ;
isDone5 = true ;
} else if ( oneChar == "5" ) {
returnStr = returnStr + "오" ;
isDone5 = true ;
} else if ( oneChar == "6" ) {
returnStr = returnStr + "육" ;
isDone5 = true ;
} else if ( oneChar == "7" ) {
returnStr = returnStr + "칠" ;
isDone5 = true ;
} else if ( oneChar == "8" ) {
returnStr = returnStr + "팔" ;
isDone5 = true ;
} else if ( oneChar == "9" ) {
returnStr = returnStr + "구" ;
isDone5 = true ;
}

if ( ((numLen-inx) % 4) == 0 && oneChar != "0" ) {
returnStr = returnStr + "천" ;
} else if ( ((numLen-inx) % 4) == 3 && oneChar != "0" ) {
returnStr = returnStr + "백" ;
} else if ( ((numLen-inx) % 4) == 2 && oneChar != "0" ) {
returnStr = returnStr + "십" ;
} else if ( ((numLen-inx) % 4) == 1 ) {
if ( numLen >= 17 && isDone1 && isDone5 ) {
returnStr = returnStr + "경" ;
isDone1 = false ;
} else if ( numLen >= 13 && isDone2 && isDone5 ) {
returnStr = returnStr + "조" ;
isDone2 = false ;
} else if ( numLen >= 9 && isDone3 && isDone5 ) {
returnStr = returnStr + "억" ;
isDone3 = false ;
} else if ( numLen >= 5 && isDone4 && isDone5 ) {
returnStr = returnStr + "만" ;
isDone4 = false ;
}
}
}

return returnStr ;
}

/*--------------------------------------------------
기능 : 파라메터로 넘어온 필드에 comma를 찍어서 comma 를 찍어서 채워준다.
소수점 허용 안함
예) 1000.00 -> 1,000
INPUT :
RETURN :
----------------------------------------------------*/
function jsMakeCurrency( varTextObj ) {
varTextObj.value = jsDeleteComma( varTextObj.value ) ;

var varLength = varTextObj.value.length ;
var varText = "" ;
var isPointed = false ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
varText = varText + varTextObj.value.substring(inx, inx+1) ;
}
}

varTextObj.value = jsAddComma( varText ) ;
}


/*--------------------------------------------------
기능 : 파라메터로 넘어온 필드에 comma를 찍어서 comma 를 찍어서 채워준다.
소수점 허용 함
예) 1000.00 -> 1,000.00
INPUT :
RETURN :
----------------------------------------------------*/
function jsMakeForeignCurrency( varTextObj ) {
varTextObj.value = jsDeleteComma( varTextObj.value ) ;

var varLength = varTextObj.value.length ;
var varText = "" ;
var isPointed = false ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) || (varTextObj.value.substring(inx, inx+1)=='.') ) {
// 점이 안찍히고 처음으로 점이 들어왔을때
if ( !isPointed && varTextObj.value.substring(inx, inx+1)=='.' ) {
isPointed = true ;
varText = varText + varTextObj.value.substring(inx, inx+1) ;
// 숫자 일때
} else if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
varText = varText + varTextObj.value.substring(inx, inx+1) ;
}

}
}

varTextObj.value = jsAddComma( varText ) ;
}

/*--------------------------------------------------
기능 : 파라메터로 넘어온 객체필드에 숫자만을 입력받게 해준다.
INPUT :
RETURN :
----------------------------------------------------*/
function jsOnlyNumber( varTextObj ) {

var varLength = varTextObj.value.length ;
var varText = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
varText = varText + varTextObj.value.substring(inx, inx+1) ;
}
}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varText.length ;
var varTempReturnNumber = varText;
var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( varTempReturnNumber.substring(inx, inx+1) == '0' ) {
// '0' 이 넘어왔을 경우 '0'을 그대로 리턴해야 한다.
if ( varLength == 1 ) varReturnNumber = "0" ;
else if ( eval(jsDeleteComma(varTempReturnNumber)) == '0' ) {
varReturnNumber = "0" ;
break ;
}
} else {
varReturnNumber = varTempReturnNumber.substring(inx, varLength+1) ;
break ;
}
}

varTextObj.value = varReturnNumber;
}

/*--------------------------------------------------
기능 : 파라메터로 넘어온 필드에 숫자와 1개의 point만을 입력받게 해준다.
INPUT :
RETURN :
----------------------------------------------------*/
function jsOnlyFloat( varTextObj ) {

varTextObj.value = jsDeleteComma( varTextObj.value ) ;

var varLength = varTextObj.value.length ;
var varText = "" ;
var isPointed = false ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) || (varTextObj.value.substring(inx, inx+1)=='.') ) {
// 점이 안찍히고 처음으로 점이 들어왔을때
if ( !isPointed && varTextObj.value.substring(inx, inx+1)=='.' ) {
isPointed = true ;
varText = varText + varTextObj.value.substring(inx, inx+1) ;
// 숫자 일때
} else if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
varText = varText + varTextObj.value.substring(inx, inx+1) ;
}

}
}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varText.length ;

var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( varText.substring(inx, inx+1) == '0' ) {
// '0' 이 넘어왔을 경우 '0'을 그대로 리턴해야 한다.
if ( varLength == 1 ) varReturnNumber = "0" ;
else if ( eval(jsDeleteComma(varText)) == '0' ) {
varReturnNumber = "0" ;
break ;
}
} else {
varReturnNumber = varText.substring(inx, varLength+1) ;
break ;
}
}

varTextObj.value = varReturnNumber ;

}

/*--------------------------------------------------
기능 : 파라메터로 넘어온 필드에 YYYY/MM형식으로 [/]를 찍어서 채워준다.
INPUT :
RETURN :
----------------------------------------------------*/
function jsMakeYyyyMm( varTextObj ) {
varTextObj.value = jsDeleteChar( varTextObj.value, '/' ) ;

var varLength = varTextObj.value.length ;
var varText = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
varText = varText + varTextObj.value.substring(inx, inx+1) ;
}
}

if ( varText.length < 6 ) {
varTextObj.value = varText ;
} else {
varTextObj.value = varText.substring(0,4) + "/" + varText.substring(4,6) ;
}
}

/*--------------------------------------------------
기능 : 파라메터로 넘어온 String에 날짜형식으로 [/]를 찍어서 리턴.
예) 200103 -> 2001/03
INPUT :
RETURN :
----------------------------------------------------*/
function jsMakeYyyyMmString( varText ) {
if ( varText.length != 6 || !jsCheckNumber( varText ) ) {
return varText ;
}

var varReturnText = "" ;

varReturnText = varText.substring(0,4) + "/" + varText.substring(4,6) ;

return varReturnText
}

/*--------------------------------------------------
기능 : 파라메터로 넘어온 필드에 날짜형식으로 [/]를 찍어서 채워준다.
예) 20010301 -> 2001/03/01
INPUT : Text Object
RETURN :
----------------------------------------------------*/
function jsMakeDate( varTextObj ) {
varTextObj.value = jsDeleteChar( varTextObj.value, '/' ) ;

var varLength = varTextObj.value.length ;
var varText = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( jsCheckNumber(varTextObj.value.substring(inx, inx+1)) ) {
varText = varText + varTextObj.value.substring(inx, inx+1) ;
}
}

if ( varText.length < 8 ) {
varTextObj.value = varText ;
} else {
varTextObj.value = varText.substring(0,4) + "/" + varText.substring(4,6) + "/" + varText.substring(6,8) ;
}
}

/*--------------------------------------------------
기능 : 파라메터로 넘어온 String에 날짜형식으로 [/]를 찍어서 채워준다.
예) 20010301 -> 2001/03/01
INPUT :
RETURN :
----------------------------------------------------*/
function jsMakeDateString( varText ) {
if ( varText.length != 8 || !jsCheckNumber( varText ) ) {
return varText ;
}

var varReturnText = "" ;

varReturnText = varText.substring(0,4) + "/" + varText.substring(4,6) + "/" + varText.substring(6,8) ;

return varReturnText
}

/*--------------------------------------------------
기능 : 숫자를 받아서 comma를 찍어서 리턴한다. 음수도 표현가능
예) 1000.00 -> 1,000.00
예) 숫자가 아닌 값 -> -1 리턴
INPUT :
RETURN :
----------------------------------------------------*/
function jsAddComma( varNumber ){
// 숫자가 아니면 -1을 리턴한다.
if ( jsCheckNull(varNumber) ) return "" ;
if ( !jsCheckFloat(varNumber) ) {
return -1 ;
}

// 소수 이상, 이하 부분을 따로 보관.
var PointIndex = varNumber.indexOf(".") ;
var varUnderPoint = "" ;
var isPointed = false ;
// 소수 이하가 없을때
if ( PointIndex < 0 ) {
isPointed = false ;
// 소수 이하 부분
varUnderPoint = "" ;
// 소수 이상 부분
varOverPoint = varNumber ;
// 소수 이하가 있을때
} else {
isPointed = true ;
// 소수 이하 부분
varUnderPoint = varNumber.substring(PointIndex+1, varNumber.length ) ;
// 소수 이상 부분
varOverPoint = varNumber.substring(0, PointIndex) ;
}

// 음수일때 앞의 "-" 따로 보관
var negativeFlag = false ;
if ( varOverPoint.substring(0,1) == "-" ) {
negativeFlag = true ;
varOverPoint = varOverPoint.substring(1,varOverPoint.length+1) ;
}

// 소수 이상 부분에 comma 넣기
var varLength = varOverPoint.length ;
var varCnt = 0 ;
var varTempReturnNumber = "" ;
for ( var inx = varLength-1 ; inx >= 0 ; inx-- ) {
varCnt++ ;

// 소수점 찍기
if ( varCnt == 4 ) {
varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + "," + varTempReturnNumber ;
varCnt = 1 ;
// 소수점 안찍기
} else {
varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + varTempReturnNumber ;
}

}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varTempReturnNumber.length ;
var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( varTempReturnNumber.substring(inx, inx+1) == '0' ) {
// '0' 이 넘어왔을 경우 '0'을 그대로 리턴해야 한다.
if ( varLength == 1 ) varReturnNumber = "0" ;
else if ( eval(jsDeleteComma(varTempReturnNumber)) == '0' ) {
varReturnNumber = "0" ;
break ;
}
} else {
varReturnNumber = varTempReturnNumber.substring(inx, varLength+1) ;
break ;
}
}

// 소수점 이하 붙이기
if ( isPointed ) {
varReturnNumber = varReturnNumber + "." + varUnderPoint ;
}

// 음수 붙이기
if ( negativeFlag ) {
varReturnNumber = "-" + varReturnNumber ;
}

return varReturnNumber ;

}

/*--------------------------------------------------
기능 : 숫자를 받아서 comma를 찍어서 리턴한다.
예) 1000 -> 1,000.00
예) 숫자가 아닌 값 -> -1 리턴
INPUT :
RETURN :
----------------------------------------------------*/
function jsAddCommaAndZero( varNumber ){
// 숫자가 아니면 -1을 리턴한다.
if ( jsCheckNull(varNumber) ) return "" ;
if ( !jsCheckFloat(varNumber) ) {
return -1 ;
}

// 소수 이상, 이하 부분을 따로 보관.
var PointIndex = varNumber.indexOf(".") ;
var varUnderPoint = "" ;
// 소수 이하가 없을때
if ( PointIndex < 0 ) {
// 소수 이하 부분
varUnderPoint = "" ;
// 소수 이상 부분
varOverPoint = varNumber ;
// 소수 이하가 있을때
} else {
// 소수 이하 부분
varUnderPoint = varNumber.substring(PointIndex+1, varNumber.length ) ;
// 소수 이상 부분
varOverPoint = varNumber.substring(0, PointIndex) ;
}

// 소수 이상 부분에 comma 넣기
var varLength = varOverPoint.length ;
var varCnt = 0 ;
var varTempReturnNumber = "" ;
for ( var inx = varLength-1 ; inx >= 0 ; inx-- ) {
varCnt++ ;

// 소수점 찍기
if ( varCnt == 4 ) {
varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + "," + varTempReturnNumber ;
varCnt = 1 ;
// 소수점 안찍기
} else {
varTempReturnNumber = varOverPoint.substring( inx, inx+1 ) + varTempReturnNumber ;
}

}

// 앞에 붙은 0 없애기 (예) 00200 -> 200
varLength = varTempReturnNumber.length ;
var varReturnNumber = "" ;
for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( varTempReturnNumber.substring(inx, inx+1) == '0' ) {
} else {
varReturnNumber = varTempReturnNumber.substring(inx, varLength+1) ;
break ;
}
}

// 소수점 이하 붙이기
if ( varUnderPoint.length == 0 ){
varReturnNumber = varReturnNumber + "." + "00" ;
}else if ( varUnderPoint.length == 1 ){
varReturnNumber = varReturnNumber + "." + varUnderPoint + "0";
}else if ( varUnderPoint.length == 2 ){
varReturnNumber = varReturnNumber + "." + varUnderPoint ;
}

return varReturnNumber ;

}

/*--------------------------------------------------
기능 : 숫자를 받아서 comma를 없애고 리턴한다
예) 1,000.00 -> 1000.00
INPUT :
RETURN :
----------------------------------------------------*/
function jsDeleteComma( varNumber ){
var varLength = varNumber.length ;

varReturnNumber = "" ;

for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( varNumber.substring( inx, inx+1 ) != "," ) {
varReturnNumber = varReturnNumber + varNumber.substring( inx, inx+1 ) ;
}
}

return varReturnNumber ;
}

/*--------------------------------------------------
기능 : 글자를 받아서 param를 없애고 리턴한다.
예) 2001/01/01 -> 20010101
INPUT : varText 문자열 varDelete 삭제하고자하는 Character
RETURN :
----------------------------------------------------*/
function jsDeleteChar( varText, varDelete ){
var varLength = varText.length ;

varReturnText = "" ;

for ( var inx = 0 ; inx < varLength ; inx++ ) {
if ( varText.substring( inx, inx+1 ) != varDelete ) {
varReturnText = varReturnText + varText.substring( inx, inx+1 ) ;
}
}

return varReturnText ;
}

/*--------------------------------------------------
기능 : 폼 이름을 받아서 모든 text,hidden값에 comma, / 문자를 없애준다
INPUT :
RETURN :
----------------------------------------------------*/
function jsDeleteCharAll( FormObj ) {
for ( i=0; i<FormObj.elements.length; i++ ) {
if ( FormObj.elements[i].type == "text" || FormObj.elements[i].type == "hidden" ) {
if ( !jsCheckNull(FormObj.elements[i].value) && jsCheckFloat(jsDeleteComma(FormObj.elements[i].value)) ) {
FormObj.elements[i].value = jsDeleteComma(FormObj.elements[i].value);
} else if ( !jsCheckNull(FormObj.elements[i].value) && jsCheckDate(jsDeleteChar(FormObj.elements[i].value,'/')) ) {
FormObj.elements[i].value = jsDeleteChar( FormObj.elements[i].value, '/' );
}
}
}
}

/*--------------------------------------------------
기능 : FormObj에서 checkBox 가 몇개 선택되었는지 리턴한다.
INPUT :
RETURN :
----------------------------------------------------*/
function jsCheckBoxSelectedCnt( FormObj, checkBoxName ){
var cnt = 0 ;
for(var inx = 0; inx < FormObj.elements.length ; inx++ ) {
if ( FormObj.elements[inx].name == checkBoxName && FormObj.elements[inx].checked ) {
cnt++ ;
}
}
return cnt;
}

/*--------------------------------------------------
기능 : 영문 과 숫자로만 이루어 졌는지 체크를 해준다.
INPUT :
RETURN :
----------------------------------------------------*/
function isAlphaNum(input) {
var chars = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
return containsCharsOnly(input,chars);
}

/*----------------------------------------------------
입력값이 특정 문자(chars)만으로 되어있는지 체크
특정 문자만 허용하려 할 때 사용
ex) if (!containsCharsOnly(form.blood,"ABO")) {
alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
}
------------------------------------------------------*/
function containsCharsOnly(input,chars) {
for (var inx = 0; inx < input.value.length; inx++) {
if (chars.indexOf(input.value.charAt(inx)) == -1)
return false;
}
return true;
}

/*--------------------------------------------------
기능 : POPUP OPEN Script
INPUT :
RETURN :
----------------------------------------------------*/
function popup1( varAction, varWinName, varWidth, varHeight ){
var win = window.open( varAction, varWinName , "toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1, width=" + varWidth + ",height=" + varHeight + ", left=50,top=50");
return win;

//var FormObj = document.dataForm;
//FormObj.target = varWinName ;
//FormObj.action = varAction ;
//FormObj.submit() ;
}


function toTimeString( varDateObj ) { //formatTime(date)
var year = varDateObj.getFullYear();
var month = varDateObj.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
var day = varDateObj.getDate();

if (("" + month).length == 1) { month = "0" + month; }
if (("" + day).length == 1) { day = "0" + day; }

return ("" + year + month + day );
}

function jsAfterThisDate( varStdDate , varYYYY , varMM , varDD ) {

var varDateObj = new Date();

varStdDate = jsDeleteChar( varStdDate, "/" );

var yyyy = varStdDate.substring(0,4) +"" ;
var mm = varStdDate.substring(4,6) +"" ;
var dd = varStdDate.substring(6,8) +"" ;

var startDate = new Date(yyyy,(eval(mm)-1),dd) ; // 달 은 한달이 느리므로 1을 빼준다.

varDateObj.setFullYear(startDate.getFullYear() + eval(varYYYY) ); //년을 더함
varDateObj.setMonth(startDate.getMonth() + eval(varMM) ); //월을 더함
varDateObj.setDate(startDate.getDate() + eval(varDD) ); //일을 더함

return toTimeString(varDateObj);
}

/*--------------------------------------------------
기능 : text 입력시 숫자이외의 키를 눌렀을때 무효화시킨다.
INPUT : 없음
RETURN : 이벤트 무효화

주의! : onKeypress 이벤트만 사용할것
예) <input type="text" onKeypress="jsOnlyNumberKey();">
----------------------------------------------------*/
function jsOnlyNumberKey() {
if ( event != null) {
if ( event.keyCode < 48 || event.keyCode > 57 ) {
event.returnValue = false;
}
}
}

/* 이전페이지로 이동 */
function jsBack(){
history.go(-1);
}

/* 모래시계 보이게 하기 */
function jsVisible( str ){
if( str == '1' )
document.body.style.cursor='wait'
else
document.body.style.cursor='auto'
}

/* 15초후에 jsRefresh()라는 function을 호출 */
var timeId = null ;

function jsRunAfterTime() {
//15초 후에 Refresh
timeId = setTimeout( "jsRefresh()", 15000 ) ;
}

/**
* 소수점 아래 몇자리 이하 절삭.
*
* @param num 숫자
* @param place 자리수
* @return 절삭된 숫자
*/
function getCutNumber(num, place) {
var returnNum;
var str = "1";

return Math.floor( num * Math.pow(10,parseInt(place,10)) ) / Math.pow(10,parseInt(place,10));
}

/* text의 좌우 공백을 제거해서 리턴*/
function trim(text) {
if (text == "") {
return text;
}

var len = text.length;
var st = 0;

while ((st < len) && (text.charAt(st) <= ' ')) {
st++;
}

while ((st < len) && (text.charAt(len - 1) <= ' ')) {
len--;
}

return ((st > 0) || (len < text.length)) ? text.substring(st, len) : text;
}

/* text의 좌측의 공백을 제거해서 리턴*/
function ltrim(text) {
if (text == "") {
return text;
}

var len = text.length;
var st = 0;

while ((st < len) && (text.charAt(st) <= ' ')) {
st++;
}

return (st > 0) ? text.substring(st, len) : text;
}

/* text의 우측의 공백을 제거해서 리턴*/
function rtrim(text) {
if (text == "") {
return text;
}

var len = text.length;
var st = 0;

while ((st < len) && (text.charAt(len - 1) <= ' ')) {
len--;
}

return (len < text.length) ? text.substring(st, len) : text;
}

/*--------------------------------------------------
기능 : select box 를 CLEAR 시킨다.
INPUT : varObjFullNm : select box 객체
varDeleteCnt : 첫번째 아이템 삭제 여부 결정
RETURN : NONE
----------------------------------------------------*/
function cmInitSelectBox( varObjFullNm, varDeleteCnt ) {
varObj = eval( varObjFullNm ) ;
varObj.length = varDeleteCnt ;
}

/*--------------------------------------------------
기능 : select box 를 만든다.
INPUT : varObjFullNm : select box 객체
varText :
varValue :
RETURN : NONE
----------------------------------------------------*/
function cmMakeSelectBox( varObjFullNm, varText, varValue ) {
varObj = eval( varObjFullNm ) ;

var empOption = null ;

empOption = document.createElement("OPTION");
empOption.text = varText ;
empOption.value = varValue ;
varObj.options.add(empOption);
}