







	


	//결과내 검색
	function lf_ResultSearch(objgubun,dbt)
	{   
	    //alert(dbt);
		var oKey = "txtKeyword"+objgubun;
		var okeyvalue =  document.getElementById(oKey).value;
		
		g_gubuna = "BI";
		g_inputa = okeyvalue;
		var li_rtrn="";

		if(dbt== 'j')
		{
		   li_rtrn = gf_SrchViewQuery('2', "B");
		}else if(dbt=='a') 
		{
		      li_rtrn = gf_SrchViewQuery('1', "B");
		}
		if( li_rtrn > 0 )
		{
			//Validation Check 오류발생..Message보여주고 Return;		
	        gf_Msg("KOR", li_rtrn, 1, "");
			return;
	    }  


		var sOrgQuery = document.SearchForm.vquery.value;

		if(sOrgQuery != "") {
			sOrgQuery 	 = sOrgQuery + " AND " +  g_ViewQuery;
		}else{
			sOrgQuery = g_ViewQuery;
		}

		document.SearchForm.vquery.value 			= sOrgQuery;
		document.SearchForm.currpage.value        ="1";
		document.SearchForm.submit();
	}


	/*출력 건수 바꾸기 */
	function lf_changeHits(obj) 
	{
		if(obj.value != -1)
		{
			document.SearchForm.currpage.value = 1;
			document.SearchForm.hits.value = obj.value;
			document.SearchForm.submit();
		}
	}
	

	
	/*정렬 바꾸기 */ 
	function lf_changeSort(obj) 
	{
		if(obj.value != -1)
		{
			document.SearchForm.currpage.value = 1;
			document.SearchForm.sortby.value = obj.value;
			SearchForm.submit();
		}
	}

	
	/*정렬기준  바꾸기(asc,desc) */ //journal에 있는 정렬기준 정렬함수.
	function lf_changeSortOrder(obj) 
	{
		if(obj.value != -1)
		{
			document.SearchForm.currpage.value = 1;
			document.SearchForm.sortorder.value = obj.value;
			SearchForm.submit();
		}
	}

	
	/*=======================================================================================
		기  능 : lf_changePage
		인  수 : page  - 페이지번호
		설명   : 페이지 네비게이션
		RETURN : null
	=========================================================================================*/
	function lf_changePage( page) 
	{	
//alert('aaa = ' + document.SearchForm.vquery.value);
		document.SearchForm.currpage.value = page; 
		SearchForm.submit();
	}

	//전체/현재 페이지 체크박스 선택 
	function lf_CheckAll(gubun,arrObj)
	{
		if(gubun == 1 && document.getElementById("checkAll2").checked == true) {
			eval(document.getElementById("checkAll2").checked = false);
		}else if(gubun == 2 && document.getElementById("checkAll1").checked == true) {
			eval(document.getElementById("checkAll1").checked = false);
		}
		
		if( eval(document.getElementById("checkAll"+gubun).checked))
		{
			cgf_CheckAll(arrObj);
		}
		else
		{
			cgf_CheckReSet(arrObj,'');
		}
	}
	
	//상세보기 - My KISTI에서는 팝업으로 이동하게 한다.
	function lf_goDetail( row) 
	{
		if(SourceFlag == 'NDSL'){
			var obj = document.getElementById("SearchForm");
			var ls_colid = obj.collectionType.value;
			var ls_page = "";
	
			if(ls_colid == "2"){
				ls_page = "http://scholar.ndsl.kr/bibdetail.do";
			}else{
				ls_page = "http://scholar.ndsl.kr/artdetail.do";
			}
			document.SearchForm.action = ls_page;
			document.SearchForm.currhits.value = row;
			document.SearchForm.submit();
		
		}else{
			/* row를 가지고 cn 획득하기. */
			var key1 = "";
			var colltype = document.getElementById("collectionID").value;
			var hits = document.getElementById("hits").value;
			var pages = document.getElementById("currpage").value;
			var idx = (row-1)%(hits*pages);
			var checkbox = document.getElementsByName("docCheckBox");
			key1 = checkbox[idx].value;

			//bridgeForm1 - my_FavoriteBody.jsp에 선언.
			document.bridgeForm1.target = "popupDetail";
			document.bridgeForm1.colltype.value = colltype;
	
			document.bridgeForm1.key1.value = key1; //cn
			document.bridgeForm1.key2.value = 'pop';

			if(colltype == '1'){
				document.bridgeForm1.action = "http://scholar.ndsl.kr/artdetail.do";
			}else if(colltype == '2'){
				document.bridgeForm1.action = "http://scholar.ndsl.kr/bibdetail.do";		
			}else{
				retrun;
			}
		
			cgf_CloseWin();
			cgf_CenterWindow( "/jsp/portal/loading.jsp", "popupDetail", 660, 700, 1, 0);   
			bridgeForm1.submit();		
		
		}
	}
	
	
	/*=======================================================================================
		기  능 : lf_goJournalDetail
		인  수 : cn
		설명   : 저널상세보기
		RETURN : null
	=========================================================================================*/
	function lf_goJournalDetail( cn ) 
	{
		if(SourceFlag == 'NDSL'){
			var obj = document.getElementById("BibDetailForm");
			var ls_page = "http://scholar.ndsl.kr/bibdetail.do";
	
			document.BibDetailForm.action = ls_page;
			document.BibDetailForm.cn.value = cn;
			document.BibDetailForm.submit();
		
		}else{

			var key1 = cn;
			var colltype = "2"; //journal

			//bridgeForm1 - my_FavoriteBody.jsp에 선언.
			document.bridgeForm1.target = "popupDetail";
			document.bridgeForm1.colltype.value = colltype;
	
			document.bridgeForm1.key1.value = key1; //cn
			document.bridgeForm1.key2.value = 'pop';

			if(colltype == '1'){
				document.bridgeForm1.action = "http://scholar.ndsl.kr/artdetail.do";
			}else if(colltype == '2'){
				document.bridgeForm1.action = "http://scholar.ndsl.kr/bibdetail.do";		
			}else{
				retrun;
			}
		
			cgf_CloseWin();
			cgf_CenterWindow( "/jsp/portal/loading.jsp", "popupDetail", 660, 700, 1, 0);   
			bridgeForm1.submit();		
		
		}
		
		return;

	}


/*=======================================================================================
## LINK용 ## - 
====> (NDSL의 ndsl_util.jsp에 정의된것 과 같다. mykisti에서 사용하는것은 여기에 정의 한다.
       ndsl_util.jsp 변경되면 이곳도 변경해야 한다. )
- gf_Holdings(ai_Bibctrlno, ai_Seqno, as_Years, as_DBT): JournalHoldings 화면 이동
- gf_TOC(ai_Bibctrlno, ai_Seqno, as_Years, as_DBT): JournalTOC 화면 이동 
- gf_AbstToggle(obj, obj2, absid, artctrlno): 초록보기
- gf_TagInsert(object, cn, dbt, controlNo): 태그입력
- gf_TagCloud(as_name,as_gubun): 태그 클라우드 화면이동 
=========================================================================================*/

/*----------------------## LINK ##-------------------------------------------------------*/
/*=======================================================================================
	함수명 : gf_Holdings
	기  능 : JournalHoldings 화면 이동 ( yesKISTI에서 NDSL로 Link는 requst
	인  수 : ai_Bibctrlno - 저널제어번호
		   ai_Seqno - 권호일련번호
		   as_Years   - 발행년
		   as_DBT   - 저널/프로시딩구분 (NJOU,NPRO)
	RETURN : 
=========================================================================================*/
function gf_Holdings(ai_Bibctrlno, ai_Seqno, as_Years, as_DBT) 
{
//alert("gf_Holdings bibctrlno="+ai_Bibctrlno+", seqno="+ai_Seqno+", years="+as_Years+", dbt="+as_DBT);

	var ls_url = "http://scholar.ndsl.kr/requestToNDSL.do";
	ls_url += "?pagekind=journalhold";
	ls_url += "&bibctrlno="+ai_Bibctrlno;
	ls_url += "&seqno="+ai_Seqno;
	ls_url += "&pubyear="+as_Years;
	ls_url += "&dbt="+as_DBT;

//alert(ls_url);
	location.href = ls_url;
	return;
}



/*=======================================================================================
	함수명 : gf_TOC
	기  능 : JournalTOC 화면 이동
	인  수 : ai_Bibctrlno - 저널제어번호
		   ai_Seqno - 권호일련번호
		   as_Years   - 발행년
		   as_DBT   - 저널/프로시딩구분 (NJOU,NPRO)
	RETURN : 
=========================================================================================*/
function gf_TOC(ai_Bibctrlno, ai_Seqno, as_Years, as_DBT) 
{
//alert("gf_TOC bibctrlno="+ai_Bibctrlno+", seqno="+ai_Seqno+", years="+as_Years+", dbt="+as_DBT);

	var ls_url = "http://scholar.ndsl.kr/requestToNDSL.do";
	ls_url += "?pagekind=journaltoc";
	ls_url += "&bibctrlno="+ai_Bibctrlno;
	ls_url += "&seqno="+ai_Seqno;
	ls_url += "&pubyear="+as_Years;
	ls_url += "&dbt="+as_DBT;

//alert(ls_url);
	location.href = ls_url;
	return;
}





/*=======================================================================================
	함수명 : gf_AbstToggle
	기  능 : 초록버튼 열고 닫기 
	인  수 : obj, obj2, absid, artctrlno
	RETURN : 
=========================================================================================*/
var gsajax_tempbuffer = "";
//function gf_AbstToggle(obj, obj2, absid, artctrlno, dbt) 
function gf_AbstToggle(obj, obj2) 
{

	gsajax_tempbuffer ="";
	if (obj.style.display != "none") {
		if(document.getElementById(gsajax_tempbuffer) == null || document.getElementById(gsajax_tempbuffer) == undefined)
		{}
		else document.getElementById(gsajax_tempbuffer).innerHTML = "";
	 	obj.style.display = "none" ;
	 }
	else  obj.style.display = "";
	
	if (obj.style.display != "none") {
		obj2.src = "/img/ndsl/" + obj2.id+ "2" + ".gif";
		obj2.title = "초록닫기";		
		
/*		//ajax사용
		var url = "ndslAbsajax.co";
		var params  = "artctrlno=" + artctrlno;
			params += "&dbt=" + dbt;

		gsajax_tempbuffer = absid;
		sendAbsRequest( url, params, "POST");
*/
	} else {
		obj2.src = "/img/ndsl/" + obj2.id + ".gif";	
		obj2.title = "초록보기";
	}
}

/*=======================================================================================
    함수명 : absresult
    기  능 : 초록데이터 Push
    인  수 : value - Ajax에서 넘겨받은 초록데이터
    리  턴 : 
=========================================================================================*/
function absresult(value)
{	
	document.getElementById(gsajax_tempbuffer).innerHTML = value;
	eval(gsajax_tempbuffer+".innderHTML=value;");
	return;
}


/*=======================================================================================
	함수명 : gf_TagInsert/ insertTag
	기  능 : 태그입력 기능 관련 함수 
	인  수 : object
	RETURN : 
=========================================================================================*/
function gf_TagInsert(object, cn, dbt, controlNo)
{

	//Session 체크 후 로그아웃상태일 때, 체크 한다.
	if(SourceFlag == "NDSL"){
		cgf_SessionCheck(1);
	}else{
		cgf_SessionCheck(0);
	}

	var position = new Object;
	position.x = 0;
	position.y = 0;


	if( object ) {
		var offset =  jQuery(object).offset();
		position.x = offset.left + jQuery(object).width() + 10;
		position.y = offset.top;
	}

	var div = jQuery("#layer_tag");

	div.css("top", position.y);
	div.css("left", position.x);
	div.css("visibility", "visible");
	
	var f = document.TagForm;
	f.cn.value = cn;
	f.dbt.value = dbt;
	f.controlNo.value = controlNo;

	return;
}

function closeTagForm() {
	var div = jQuery("#layer_tag");
	div.css("visibility","hidden");
}


function insertTag(){
	gf_InsertTag("");
	return;
}

function gf_InsertTag(as_userid){

	//TagForm은 TopMenu.jsp에서 정의 됨.
	var f = document.TagForm;
	f.userId.value = as_userid;

	if(gf_Trim(as_userid,'a') == ""){
		//로그인정보 없음.
		gf_Msg("KOR", 121, 1, "");
		return;
	}
	
	if(gf_Trim(f.textfield.value,'a') == ""){
		//입력데이타 데이타 없음.
		gf_Msg("KOR", 127, 1, "");
		return;
	}


	var collection_id = document.getElementById("collectionID").value;
	var tagName = f.textfield.value;
	var userId = f.userId.value;
	var cn = f.cn.value;
	var dbt = f.dbt.value;
	var controlNo = f.controlNo.value;

	var url = "/inserttag.co";
	var params  = "collection_id="+collection_id;
		params += "&tagName="+tagName;
		params += "&userID="+userId;
		params += "&cn="+cn;
		params += "&dbt="+dbt;
		params += "&controlNo="+controlNo;

	sendTagCloudSave( url, params, "POST");
	return;

}

function gf_TagCloudSaveAjaxResult(value)
{
	//var su = value;
	value = gf_Trim(value,'a');	
	if(value.toUpperCase() == "FAIL" ){
		gf_Msg("KOR", 120, 1, "");//115:실패
		document.getElementById("textfield").value = "";
		document.getElementById("textfield").focus();	
	}else{
		gf_Msg("KOR", 120, 1, "");
		closeTagForm();		
	}
	return;
}



/*=======================================================================================
	기  능 : fCheckPage
	인  수 : 없음
	설명   : 페이지 입력 textField 의 체크
	RETURN : null
=========================================================================================*/
	function fCheckPage1() 
	{

		if (event.keyCode != 13)
		{
			 return false; // Enter 키가 아닐 경우 아무런 action 을 취하지 않음
		}
  
		var str = document.frmPageMove1.txt_pagemove_1.value;

		if(str == "" || str.length == 0){
			alert("페이지를 입력하여 주십시오.");
			document.frmPageMove1.txt_pagemove_1.focus();
			return false;
		}else{
			if(isNumber(str)){
				
				// 입력페이지와 현재 페이지가 같을 경우는 이동하지 않는다.
				if(new Number(document.frmPageMove1.txt_pagemove_1.value) == new Number(document.frmPageMove1.hid_currpage_1.value)) {
				
				} else {
					if(new Number(document.frmPageMove1.txt_pagemove_1.value) > new Number(document.frmPageMove1.hid_lastpage_1.value)) {
						alert("페이지 범위를 초과하였습니다.");
						return false;
					} else {
						// 숫자일 경우는 해당 페이지로 이동한다.
						lf_changePage(str);
					}
				}
				
			}else{
				alert("페이지를 다시 입력하여 주십시오.");
				document.frmPageMove1.txt_pagemove_1.focus();
				return false;
			}
		}	
	
	}

	function fCheckPage2() 
	{

		if (event.keyCode != 13)
		{
			 return false; // Enter 키가 아닐 경우 아무런 action 을 취하지 않음
		}
  
		var str = document.frmPageMove2.txt_pagemove_2.value;

		if(str == "" || str.length == 0){
			alert("페이지를 입력하여 주십시오.");
			document.frmPageMove2.txt_pagemove_2.focus();
			return false;
		}else{
			if(isNumber(str)){

				// 입력페이지와 현재 페이지가 같을 경우는 이동하지 않는다.
				if(new Number(document.frmPageMove2.txt_pagemove_2.value) == new Number(document.frmPageMove2.hid_currpage_2.value)) {
				
				} else {				// 숫자일 경우는 해당 페이지로 이동한다.
					if(new Number(document.frmPageMove2.txt_pagemove_2.value) > new Number(document.frmPageMove2.hid_lastpage_2.value)) {
						alert("페이지 범위를 초과하였습니다.");
						return false;
					} else {
						lf_changePage(str);
					}
				}
					
			}else{
				alert("페이지를 다시 입력하여 주십시오.");
				document.frmPageMove2.txt_pagemove_2.focus();
				return false;
			}
		}	
	
	}

	function fCheckCurrPage1() 
	{

		var str = document.frmPageMove1.txt_pagemove_1.value;

		if(str == "" || str.length == 0){
			
			document.frmPageMove1.txt_pagemove_1.value = document.frmPageMove1.hid_currpage_1.value;

		}
	
	}
	
	function fCheckCurrPage2() 
	{

		var str = document.frmPageMove2.txt_pagemove_2.value;

		if(str == "" || str.length == 0){
			
			document.frmPageMove2.txt_pagemove_2.value = document.frmPageMove2.hid_currpage_2.value;

		}
	
	}

	function isNumber(str){
		if(str.length == 0)
			return false;
		for(var i=0 ; i<str.length; i++){
			// 첫번째 자리수가 "0" 일 경우는 false 를 return 한다.
			if(str.charAt(0) == "0") {
				return false;
				break;
			}
			
			if(!('0' <= str.charAt(i) && str.charAt(i) <= '9')){
				return false;
			}
			return true;
		}	
	}
