//---------------------------------------
// Name   : 새창 띄우기
// Input  : url, title, options
// Output : 
// Desc   : 팝업 차단이 되면 경고로 알림
// Date   : 2005/10/11
// Writer : 김기용
//---------------------------------------
function fnPopupXP(url, title, options)
{
	var newwin = window.open("about:blank", title, options);

	if (newwin == null)
	{
		alert("익스플로러 팝업 차단 기능 혹은 팝업 차단 프로그램이 동작중입니다. 팝업 차단 기능을 해제한 후 다시 시도하세요.");
	}
	else
	{
		newwin = window.open(url, title, options);
		newwin.focus();
	}
}


//---------------------------------------
// Name   : 팝업창 닫기
// Input  : 
// Output : 
// Desc   : 닫을 지 여부 묻지 않고 닫기
// Date   : 2005/10/11
// Writer : 김기용
//---------------------------------------
function fnClose()
{
    if (opener)
    {
        self.close();
    }
    else
    {
        opener=self;
        opener.close();
    }
}


//---------------------------------------
// Name   : 페이지 이동
// Input  : url (이동 경로), mode (이동모드. 0이면 경로 이동, 1이면 새창 열기,2이면 top 로딩, 3이면 body 로딩)
// Output : 
// Desc   : location.href 또는 새창 열기
// Date   : 2005/10/15
// Writer : 김기용
//---------------------------------------
function fnGoPage(url, mode)
{
	if ( mode == 1 )
	{
		fnPopupXP(url, 'popup','');
	}
	else if ( mode == 2 )
	{
		top.location.href = url;
	}
	else if ( mode == 3 )
	{
		top.fraBody.location.href = url;
	}
	else
	{
		location.href = url;
	}
	
}


//---------------------------------------
// Name   : Body 프레임 로딩
// Input  : URL
// Output : 
// Desc   : Body 프레임에 URL 로딩.
// Date   : 2005/10/18
// Writer : 안중혁
// 사용예 :	fnLoadRight( "WAA011010.aspx"); // HREF
//		fnLoadRight( "WAA011010.aspx", 2 ); // REPLACE
//---------------------------------------
function fnLoadBody(varURL)
{
	var varOption = 1;	// 기본으로 HREF
	
	if ( fnLoadBody.arguments.length > 1 )
		varOption = fnLoadBody.arguments[1];

	// 프레임이 존재할 경우만 로딩.
	if ( typeof( top.fraBody ) != "undefined" )
	{
		if ( varOption == 1 )
			top.fraBody.location.href = varURL;
		else
			top.fraBody.location.replace( varURL );
	}
}


//---------------------------------------
// Name   : Right 프레임 로딩
// Input  : URL
// Output : 
// Desc   : Right 프레임에 URL 로딩.
// Date   : 2005/10/18
// Writer : 안중혁
//---------------------------------------
function fnLoadRight(varURL)
{
	var varOption = 1;	// 기본으로 HREF

	if ( fnLoadRight.arguments.length > 1 )
		varOption = fnLoadRight.arguments[1];

	// 프레임이 존재할 경우만 로딩.
	if ( typeof( top.fraBody ) != "undefined" && typeof( top.fraBody.fraRight ) != "undefined" )
	{
		if ( varOption == 1 )
			top.fraBody.fraRight.location.href = varURL;
		else
			top.fraBody.fraRight.location.replace( varURL );
	}
}


//---------------------------------------
// Name   : 공백 제거
// Input  : 문자열
// Output : 공백이 제거된 문자열
// Desc   : 입력된 문자열에서 공백을 제거후 리턴
// Date   : 2005/10/20
// Writer : 김기용
//---------------------------------------
function trim(s) {

	if ( s == null || s == "" ) return s;

	var c, i, start, end;

	for( i=0; i < s.length && ((c = s.charAt(i) ) == " " || c == "\t"); i++ );
	start = i;

	if ( s.length == start ) return "";

	for( i=s.length-1; i >= 0 && ((c = s.charAt(i) ) == " " || c == "\t"); i-- );
	end = i;

	return s.substring(start, end+1);
}


//---------------------------------------
// Name   : 자동으로 서브밋 되는것을 방지.
// Input  : 
// Output : 
// Desc   : <INPUT> 항목에서 엔터키를 누를경우 자동으로 서브밋이 되는것을 방지한다.
//		<INPUT onkeypress="fnPreventEnterSubmit();">
// Date   : 2005/10/28
// Writer : 안중혁
//---------------------------------------
function fnPreventEnterSubmit()
{
	if (event.keyCode==13)
		event.returnValue = false;
}


//---------------------------------------
// Name   : 로그아웃
// Input  : 
// Output : 
// Desc   :
// Date   : 2005/10/31
// Writer : 김현주
//---------------------------------------
function fnLogout()
{
	top.location.href = "/common/main/logout.aspx";
}


//---------------------------------------
// Name   : Home
// Input  : 
// Output : 
// Desc   :
// Date   : 2005/11/1
// Writer : 김현주
//---------------------------------------
function fnGoHome()
{
	top.location.href = "/common/main/main.aspx";
}


//---------------------------------------
// Name   : 다운로드용 새창 띄우기 (XP 호환, 다운창 닫힘)
// Input  : url, title, options
// Output : 
// Desc   : 팝업 차단이 되면 경고로 알리며 XP에서도 파일 다운로드가 가능
// Date   : 2005/11/02
// Writer : 김기용
//---------------------------------------
function fnDownloadXP(url, title, options)
{
	var newwin;

	newwin = window.open(url, title, options);

	if (newwin == null)
	{
		alert("익스플로러 팝업 차단 기능 혹은 팝업 차단 프로그램이 동작중입니다. 팝업 차단 기능을 해제한 후 다시 시도하세요.");
	}
	else
	{
		return newwin;
	}
}


//---------------------------------------
// Name   : 숫자만 입력되도록 한다.
// Input  : 
// Output : 
// Desc   : <INPUT> 항목에서 숫자만 입력되도록한다. 숫자 이외의 키 방지.
//		<INPUT onkeypress="fnPreventNotNumeric();">
// Date   : 2005/11/08
// Writer : 안중혁
//---------------------------------------
function fnPreventNotNumeric()
{
	if (event.keyCode < 48 || event.keyCode > 57)
		event.returnValue = false;

//	또 다른 방법
//        if (isNaN(theForm.name.value) || theForm.name.value == "") 
//		event.returnValue = false;
}


//---------------------------------------
// Name   : 영문만 입력되도록 한다.
// Input  : 
// Output : 
// Desc   : <INPUT> 항목에서 영문만 입력되도록한다. 영문 이외의 키 방지.
//		<INPUT onkeypress="fnPreventNotNumeric();">
// Date   : 2005/11/08
// Writer : 김기용
//---------------------------------------
function fnPreventNotAlphabet()
{
	if (event.keyCode < 65 || event.keyCode > 90)
		event.returnValue = false;
}


//---------------------------------------
// Name   : INPUT 클릭시 조직도 검색 액션.
// Input  : 
// Output : 
// Desc   : <INPUT> 항목에서 엔터키를 누를경우 자동으로 조직도 검색 액션.
//		<INPUT onkeypress="fnEnter2SearchOrgTree();">
// Date   : 2005/11/09
// Writer : 안중혁
//---------------------------------------
function fnEnter2SearchOrgTree()
{
	if (event.keyCode==13)
	{
		event.returnValue = false;
		fnSearch();
	}
}


//---------------------------------------
// Name   : INPUT 엔터키 입력시 지정된 자바스크립트 실행.
// Input  : 
// Output : 
// Desc   : <INPUT> 항목에서 엔터키를 누를경우 지정된 함수 호출.
//		<INPUT onkeypress="fnEnter2Func( 'document.all.ibtnSearch.click();">
//		<INPUT onkeypress="fnEnter2Func( 'fnCheck_Validation();">
// Date   : 2005/11/14
// Writer : 안중혁
//---------------------------------------
function fnEnter2Func(strFunc)
{
	if (event.keyCode==13)
	{
		event.returnValue = false;
		var callFunc = new Function ( "", strFunc );
		callFunc();
	}
}


//---------------------------------------
// Name   : 왼쪽부터 문자열 자르기
// Input  : str(문자열), length(길이)
// Output : 잘라진 부분 문자열
// Desc   : 왼쪽부터 길이만큼 문자열을 자른 후 결과를 반환한다.
// Date   : 2006/03/03
// Writer : 김기용
//---------------------------------------
function fnLeft(str, length)
{
	var val = str.substr(0, length);

	return val;
}


//---------------------------------------
// Name   : 오른쪽부터 문자열 자르기
// Input  : str(문자열), length(길이)
// Output : 잘라진 부분 문자열
// Desc   : 오른쪽부터 길이만큼 문자열을 자른 후 결과를 반환한다.
// Date   : 2006/03/03
// Writer : 김기용
//---------------------------------------
function fnRight(str, length)
{
	var strlen = str.length;
	var val = str.substr(strlen-length, length);

	return val;
}


//---------------------------------------
// Name   : 중간부터 문자열 자르기
// Input  : str(문자열), index(시작위치), length(길이)
// Output : 잘라진 부분 문자열
// Desc   : 문자열 시작위치부터 길이만큼 문자열을 자른 후 결과를 반환한다.
// Date   : 2006/03/03
// Writer : 김기용
//---------------------------------------
function fnMiddle(str, index, length)
{
	var val = str.substr(index-1, length);

	return val;
}


//---------------------------------------
// Name   : 문자열 자르기 (2바이트 문자열 포함)
// Input  : str(문자열), maxsize (최대 길이. 1바이트 문자열 길이 기준)
// Output : 잘라진 부분 문자열
// Desc   : 문자열 시작위치부터 최대 길이 까지 자른다. 단, 최대 길이보다 크면 말줄임표(...) 처리
// Date   : 2006/03/21
// Writer : 김기용
//---------------------------------------
function fnCutStr(str, maxSize)
{
	var ls_str     = str;
	var li_str_len = ls_str.length;  // 전체길이

	var li_byte     = 0;  // 한글일경우는 2 그밗에는 1을 더함
	var li_len      = 0;  // substring하기 위해서 사용
	var ls_one_char = ""; // 한글자씩 검사한다
	var ls_str2     = ""; // 글자수를 초과하면 제한할수 글자전까지만 보여준다.

	for(i=0; i< li_str_len; i++)
	{
		// 한글자추출
		ls_one_char = ls_str.charAt(i);

		// 한글이면 2를 더한다.
		if (escape(ls_one_char).length > 4)
			li_byte += 2;
		// 그밗의 경우는 1을 더한다.
		else
			li_byte++;

		// 전체 크기가 lmaxSize를 넘지않으면
		if(li_byte <= maxSize)
			li_len = i + 1;
	}

	// 전체길이를 초과하면
	if(li_byte > maxSize)
	{
		ls_str2 = ls_str.substr(0, li_len);
		str = ls_str2 + "...";
	}

	return str;
}


//---------------------------------------
// Name   : 천단위 마다 콤마 넣은 문자열 출력
// Input  : str(문자열)
// Output : 천단위 문자열
// Desc   : 천단위 마다 콤마를 넣어 출력한다.
// Date   : 2006/04/14
// Writer : 김기용
//---------------------------------------
function fnNumberFormat(num)
{
	//숫자 천단위마다 콤마 찍어주는 스크립트
	if (isNaN(num)) {//숫자인가 비교
		document.write("0");
	}

	var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
	var arrNumber = num.split('.');

	arrNumber[0] += '.';

	do {
		arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
	} while (rxSplit.test(arrNumber[0]));

	if (arrNumber.length > 1) {
		//return arrNumber.join('');
		document.write( arrNumber.join('') );
	}
	else {
		//return arrNumber[0].split('.')[0];
		document.write(arrNumber[0].split('.')[0]);
	}
}


//---------------------------------------
// Name   : 검색어 입력확인
// Input  : 검색어
// Output : true/false
// Desc   : 
// Date   : 2006/04/24
// Writer : 김현주
//---------------------------------------
function fnCheckSearch(str)
{
	if (str == "")
	{
		alert("검색어를 입력해 주세요");
		return false
	}
	else
	{
		return true;
	}
}


//---------------------------------------
// Name   : 개인 정보 팝업
// Input  : empID
// Output : 
// Desc   : 개인 정보 팝업을 띄워준다.
// Date   : 2006/04/27
// Writer : 김기용
//---------------------------------------
function fnUserInfo(empID)
{
	fnPopupXP("/wa/user/WAG012001.aspx?eid=" + empID, "UserInfo", "width=496,height=330");
}


//---------------------------------------
// Name   : 문자열 자르기 (2바이트 문자열 포함)
// Input  : str(문자열), maxsize (최대 길이. 1바이트 문자열 길이 기준)
// Output : 잘라진 부분 문자열
// Desc   : 문자열 시작위치부터 최대 길이 까지 자른다. 단, 최대 길이보다 크면 말줄임표(...) 처리
// Date   : 2006/03/21
// Writer : 김기용
//---------------------------------------
function fnSubStr(str, maxSize)
{
	var ls_str     = str;
	var li_str_len = ls_str.length;  // 전체길이

	var li_byte     = 0;  // 한글일경우는 2 그밗에는 1을 더함
	var li_len      = 0;  // substring하기 위해서 사용
	var ls_one_char = ""; // 한글자씩 검사한다
	var ls_str2     = ""; // 글자수를 초과하면 제한할수 글자전까지만 보여준다.

	for(i=0; i< li_str_len; i++)
	{
		// 한글자추출
		ls_one_char = ls_str.charAt(i);

		// 한글이면 2를 더한다.
		if (escape(ls_one_char).length > 4)
			li_byte += 2;
		// 그밗의 경우는 1을 더한다.
		else
			li_byte++;

		// 전체 크기가 lmaxSize를 넘지않으면
		if(li_byte <= maxSize)
			li_len = i + 1;
	}

	// 전체길이를 초과하면
	if(li_byte > maxSize)
	{
		ls_str2 = ls_str.substr(0, li_len);
		str = ls_str2;
	}

	return str;
}