/**
 *  검색 관련 스크립트
 *  전달인자 : 검색타입,컨트롤 위치 또는 키워드
 */
function goSearch(searchType, param2){
	var sUrl = "";
	var sWhere = "";
	var word = ""; 
	var query = "";
	var requery = "";
	var category_cd = "";

	sUrl = "/search/controlSearch.asp";

	if( searchType == "simple" || searchType == "category"){
		word = cln_query(document.frmSearch.txtQuery.value);
		requery =  document.frmSearch.hdnReQuery.value;

		if( document.frmSearch.chkResultIn.checked == false){
			requery = word;
			query   = cvt_query("and",requery);
		}
		else{
			if(requery == null || requery == ""){
				requery = word;
			}
			else{
				if( word != "" ){
					requery = requery + " " + word;
				}
			}
			query = cvt_query("and",requery);
		}

		document.frmSearch.hdnWord.value = word;
		document.frmSearch.hdnQuery.value = query ;
		document.frmSearch.hdnReQuery.value = requery;
		document.frmSearch.hdnPageNum.value = 1;
		document.frmSearch.hdnKeywordType.value = "TOP";


		if(searchType == "category"){
			document.frmSearch.hdnCategoryCd.value = param2;
		}
		else{
			if( document.frmSearch.hdnKeyword.value == "true" && document.frmSearch.chkResultIn.checked == false){
				document.frmSearch.hdnKeyword.value = "false";
			}
		}
		document.frmSearch.action = sUrl;
		document.frmSearch.submit();

	}
	else if(searchType == "keyword"){
		document.frmSearch.hdnKeywordType.value = param2;
		document.frmSearch.action = sUrl;
		document.frmSearch.submit();
	}
	else if(searchType == "detail"){
		if( param2 == "leftFrame"){
			sUrl = "/search/search_detail.asp";
			location.href(sUrl);
			return;
		}
		else{
			word = document.frmDetail.txtSearch.value;
			query = detailQuery();

			document.frmDetail.hdnWord.value = word;
			document.frmDetail.hdnQuery.value = query;
			document.frmDetail.hdnReQuery.value = "상세검색";
			document.frmDetail.hdnPageNum.value = "1";
			document.frmDetail.hdnCategoryCd.value = "ALL";

			document.frmDetail.action = sUrl;
			document.frmDetail.submit();

//			sWhere = "searchType=" + searchType + "&hdnWord="+word+"&hdnQuery="+query+ "&hdnRequery=상세검색&hdnSearchType=detail&hdnCategoryCd=ALL" ;
//			location.href(sUrl + "?" + sWhere);
//			return;
/*
	<input type="hidden" name="hdnWord" value="">
	<input type="hidden" name="hdnQuery" value="">
	<input type="hidden" name="hdnReQuery" value="">
	<input type="hidden" name="hdnPageNum" value="">
	<input type="hidden" name="hdnCategoryCd" value="">
	*/
		}
	}

}


/***
 *	왼쪽 프레임의 검색처리
 *
 **/
function goSearchForLeft(searchType, paramWord){
	var sUrl = "";
	var sWhere = "";
	var word = "";
	var query = "";
	var requery = "";

	if( searchType == "simple"){					//일반 검색 버튼 눌렀을 때..
		sUrl = "/search/controlSearch.asp";
		
		document.sForm.hdnWord.value = cln_query(document.sForm.strSearchWord.value);
		document.sForm.hdnQuery.value = cvt_query("and",document.sForm.strSearchWord.value);
		document.sForm.hdnReQuery.value = document.sForm.hdnWord.value;
		document.sForm.hdnKeyword.value = "false";

		try{
			document.sForm.hdnCategoryCd.value = document.frmSearch.hdnCategoryCd.value;	//정상적이면 카테고리 코드 저장
		}catch(e){																			//예외처리
			document.sForm.hdnCategoryCd.value = "ALL";
		}
		

		document.sForm.action = "/search/controlSearch.asp";
		document.sForm.submit();
	}
	else if(searchType == "detail"){			//상세검색 버튼 눌렀을 때..
		document.sForm.action = "/search/search_detail.asp";
		document.sForm.submit();
	}
	else if(searchType == "keyword"){			//키워드 검색을 눌렀을 때..
		sUrl = "/search/controlSearch.asp";
		document.sForm.hdnWord.value = paramWord;
		document.sForm.hdnQuery.value = paramWord;
		document.sForm.hdnReQuery.value = paramWord;
		document.sForm.hdnKeyword.value = "true";

		try{
			document.sForm.hdnCategoryCd.value = document.frmSearch.hdnCategoryCd.value;	
		}catch(e){
			document.sForm.hdnCategoryCd.value = "ALL";
		}


		document.sForm.action = "/search/controlSearch.asp";
		document.sForm.submit();

	}
}


/**
 * page 이동 함수
 **/
function goPage(pageNum){
	document.frmSearch.hdnPageNum.value = pageNum;
	document.frmSearch.submit();
	return false;
}



/********** LINK FOR VIEW PAGE **************/
/*
* 함  수   명 : goPosriReport
* 설       명 : 포스리 레포트 상세 페이지 이동
* 파 라 메 터 : param1 : idx
*               param2 : url (url)
*/
function goPosriReport(param1, param2, param3){
	var sUrl;
	var sWhere;

	var win_width;
	var win_height;
	var posX;
	var posY;
	var windowStatus;

	win_width = (screen.availWidth) - 20;
	win_height = 600;

	posX = (screen.width / 2) - (win_width / 2);
	posY = (screen.height / 2) - (win_height / 2) - 50;

	windowStatus = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+win_width+",height="+win_height+",top="+posY+",left="+posX+"";

	sUrl =  "../.." + param2;
	sWhere = param1;

	window.open(sUrl + sWhere,'_blank',windowStatus,false);   
}

/*
 * 함  수   명 : goPosriDb
 * 설       명 : 포스리 DB 상세 페이지 이동
 * 파 라 메 터 : param1 : idx
 *               param2 : url (url)
 *		
*/
function goPosriDb(param1, param2){
	var sUrl;
	var sWhere;

	var win_width;
	var win_height;
	var posX;
	var posY;
	var windowStatus;

	win_width = (screen.availWidth) - 20;
	win_height = 650;

	posX = (screen.width / 2) - (win_width / 2);
	posY = (screen.height / 2) - (win_height / 2) - 50;

	windowStatus = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+win_width+",height="+win_height+",top="+posY+",left="+posX+"";

	sUrl =  param2;
	sWhere = param1;

	window.open(sUrl + sWhere,'_blank',windowStatus,false); 
}

/*
 * 함  수   명 : goPosriDbDic
 * 설       명 : 포스리 DB 상세 페이지 이동
 * 파 라 메 터 : paramUrl : viewurl
 *		
*/
function goPosriDbDic(paramUrl){
	var sUrl;

	var win_width;
	var win_height;
	var posX;
	var posY;
	var windowStatus;

	win_width = (screen.availWidth) - 20;
	win_height = 650;

	posX = (screen.width / 2) - (win_width / 2);
	posY = (screen.height / 2) - (win_height / 2) - 50;

	windowStatus = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+win_width+",height="+win_height+",top="+posY+",left="+posX+"";

	sUrl =  paramUrl;
	window.open(sUrl,'_blank',windowStatus,false); 
}

/*
 * 함  수   명 : goPosriResearchTrend
 * 설       명 : 포스리 DB 상세 페이지 이동
 * 파 라 메 터 : paramIdx : strId
 *               paramIssueId : strIssueId
 *               paramIssueName : strIssueName
*/
function goPosriResearchTrend(paramIdx, paramIssueId, paramIssueName){
	var sUrl;
	var sWhere;

	var win_width;
	var win_height;
	var posX;
	var posY;
	var windowStatus;

	win_width = (screen.availWidth) - 20;
	win_height = 650;

	posX = (screen.width / 2) - (win_width / 2);
	posY = (screen.height / 2) - (win_height / 2) - 50;

	windowStatus = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+win_width+",height="+win_height+",top="+posY+",left="+posX+"";

	sUrl =  "/research/trendAllView.asp";
	sWhere = "intSearchType=&strIssueId="+paramIssueId+"&strIssueName="+paramIssueName+"&strId=" + paramIdx;

	window.open(sUrl + "?" + sWhere,'_blank',windowStatus,false); 
}

/*
* 함  수   명 : goCommunity
* 설       명 : 커뮤니티 상세 페이지 이동
* 파 라 메 터 : param1 : idx
*               param2 : url (url)
http://posri.cloud9.co.kr/community/talk/talkView.asp?strId=24
*		
*/
function goCommunity(param1, param2){
	var sUrl;
	var sWhere;

	var win_width;
	var win_height;
	var posX;
	var posY;
	var windowStatus;

	win_width = (screen.availWidth) - 20;
	win_height = 650;

	posX = (screen.width / 2) - (win_width / 2);
	posY = (screen.height / 2) - (win_height / 2) - 50;

	windowStatus = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+win_width+",height="+win_height+",top="+posY+",left="+posX+"";

	sUrl =  param2;
	sWhere = param1;

	window.open(sUrl + sWhere,'_blank',windowStatus,false); 

}


/*
 * 함  수   명 : goAboutPosri
 * 설       명 : 포스리 About Posri 상세 페이지 이동
 * 파 라 메 터 : param1 : idx
 *               param2 : gubun1_cd (분류코드)
 *               param3 : 공지사항 분류 코드 (1:한국어, 2: 영어)
**/
function goAboutPosri(paramIdx, paramUrl, paramLang){
	var sUrl;
	var sWhere;

	var win_width;
	var win_height;
	var posX;
	var posY;
	var windowStatus;

	win_width = (screen.availWidth) - 20;
	win_height = 650;

	posX = (screen.width / 2) - (win_width / 2);
	posY = (screen.height / 2) - (win_height / 2) - 50;

	windowStatus = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+win_width+",height="+win_height+",top="+posY+",left="+posX+"";

	sUrl =  paramUrl;
	sWhere = paramIdx;
	window.open(sUrl + sWhere,'_blank',windowStatus,false); 

//	sUrl = paramUrl;

//	alert(sUrl);


	/*
	
	if(param2 == "E01"){
		sUrl = "../../AboutPosri/Inspeech/inSpeechView.asp";
		sWhere = "orderBySel=&intSearchType=&strSearchWord=&page=1&strId=" + param1;
	}
	else if(param2 == "E02"){
		sUrl = "../../AboutPosri/Notice/noticeView.asp";
//		intSearchType="&intSearchType&"&strSearchWord="&strSearchWord&"&orderBySel="&orderBySel&"&LanSep="&strLanSep
		sWhere = "intSearchType=&strSearchWord=&orderBySel=&LanSep="+param3+"&page=&strId=" + param1;
	}
	*/
}


function cvt_query(genus, x_query) {
	var re_del = new RegExp("[\*\?@<>()\\,\\[\\]\"\'\\\\]", "g");
	var x_query_en = x_query.replace(re_del, " ");
	re_del = new RegExp("\\s+", "g");
	x_query_en = x_query_en.replace(re_del, " ");

	x_query_en = x_query_en.replace(/^\s*/, "").replace(/\s*$/, " ");
	var ui_syntax = "and && & or \\|\\| \\| near \\^ not !";
	var arr_ui_syntax = ui_syntax.split(/\s+/);

	var en_syntax = "<and> <and> <and> <or> <or> <or> <near> <near> <not> <not>";
	var arr_en_syntax = en_syntax.split(/\s+/);

	if (genus == "common") {
		for (var i = 0; i < arr_ui_syntax.length; i++) {
			re_del = new RegExp(arr_ui_syntax[i] + " ", "gi");
			x_query_en = x_query_en.replace(re_del, arr_en_syntax[i]);
		}
	} else {
		for (var i = 0; i < arr_ui_syntax.length; i++) {
			re_del = new RegExp(arr_ui_syntax[i] + " ", "gi");
			x_query_en = x_query_en.replace(re_del, " ");
		}
	}

	x_query_en = x_query_en.replace(" <", "<");
	x_query_en = x_query_en.replace(/^\s*/, "").replace(/\s*$/, "");
	re_del = new RegExp("\\s+", "g");
	
	if (genus == "or") x_query_en = x_query_en.replace(re_del, "<or>");
//	else if (genus == "thesaurus") x_query_en = x_query_en.replace(re_del, "<thesaurus>");
//	else if (genus == "not") x_query_en = x_query_en.replace(re_del, "<not>");
	else if (genus == "and") x_query_en = x_query_en.replace(re_del, "<and>");
	else x_query_en = x_query_en.replace(re_del, " ");

	{
		while(x_query_en.indexOf("><not>") != -1) {
			re_del = new RegExp("<[^>]+><not>", "g");
			x_query_en = x_query_en.replace(re_del, "<not>");
		}

		while(x_query_en.indexOf("><") != -1) {
			re_del = new RegExp("><[^>]+>", "g");
			x_query_en = x_query_en.replace(re_del, ">");
		}

		if (x_query_en.charAt(0) == "<") {
			re_del = new RegExp("^<[^>]+>");
			x_query_en = x_query_en.replace(re_del, "");
		}
		
		if (x_query_en.charAt(x_query_en.length - 1) == ">") {
			re_del = new RegExp("<[^<]+>$");
			x_query_en = x_query_en.replace(re_del, "");
		}
		
		if (genus == "common") {
			//x_query_en = x_query_en.replace(">", "><thesaurus>");
			//x_query_en = "<thesaurus>" + x_query_en;
		} else if (genus == "not") {
			x_query_en = x_query_en.replace("<not>", "<and><not>");
			x_query_en = "<not>" + x_query_en;
		}
	}

	return x_query_en;
}
function cvt_quot(genus, x_query) {
	var re_del = "";
	
	if (genus == "de_quot") { // &quot; >> "
		re_del = new RegExp("&quot;", "gi");
		x_query = x_query.replace(re_del, "\"");
	} else { // " >> &quot;
		re_del = new RegExp("[\"]", "g");
		x_query = x_query.replace(re_del, "&quot;");
	}

	return x_query;
}

function cln_query(x_query) {
	var genus = "common";
	var re_del = new RegExp("[\*\?@<>()\\,\\[\\]\"\'\\\\]", "g");
	var x_query_en = x_query.replace(re_del, " ");
	re_del = new RegExp("\\s+", "g");
	x_query_en = x_query_en.replace(re_del, " ");

	x_query_en = x_query_en.replace(/^\s*/, "").replace(/\s*$/, " ");
	var ui_syntax = "and && & or \\|\\| \\| near \\^ not !";
	var arr_ui_syntax = ui_syntax.split(/\s+/);

	var en_syntax = "<and> <and> <and> <or> <or> <or> <near> <near> <not> <not>";
	var arr_en_syntax = en_syntax.split(/\s+/);

	if (genus == "common") {
		for (var i = 0; i < arr_ui_syntax.length; i++) {
			re_del = new RegExp(arr_ui_syntax[i] + " ", "gi");
			x_query_en = x_query_en.replace(re_del, arr_en_syntax[i]);
		}
	} else {
		for (var i = 0; i < arr_ui_syntax.length; i++) {
			re_del = new RegExp(arr_ui_syntax[i] + " ", "gi");
			x_query_en = x_query_en.replace(re_del, " ");
		}
	}

	x_query_en = x_query_en.replace(" <", "<");
	x_query_en = x_query_en.replace(/^\s*/, "").replace(/\s*$/, "");
	re_del = new RegExp("\\s+", "g");
	
	x_query_en = x_query_en.replace(re_del, " ");

	return x_query_en;
}




