<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="itn.let.solr.search.service.SearchService.SOLR_CORE"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>

<c:set var="solrCores" value="<%=SOLR_CORE.values()%>"/>
<c:set var="FILE" value="<%=SOLR_CORE.FILE%>"/>
<c:set var="WEBPAGE" value="<%=SOLR_CORE.WEBPAGE%>"/>
<c:set var="BOARD" value="<%=SOLR_CORE.BOARD%>"/>
<jsp:useBean id="now" class="java.util.Date" />
<script type="text/javascript">

	$(function() {
		var coreName = '';
		<c:forEach var="core" items="${solrCores}" varStatus="status">
			<c:if test="${core.value eq param.rangeView}">
				coreName = '${core.name}';
			</c:if>
		</c:forEach>
		var title = '통합검색('+coreName+'목록) | 통합검색 ';
		document.title = title;

	});

	var rangeView = '${param.rangeView}';
	function initForm(core){
		var frmNm = core+'Frm';
		console.log(frmNm);
	    $('#'+frmNm)[0].reset();
		$('#'+frmNm+' :radio').each(function(){
			this.checked = false;
		});
		$('#'+frmNm+' :checkbox').each(function(){
			this.checked = false;
		});
		$('#'+frmNm+' :text').each(function(){
			this.value = '';
		});
	}

	function detail(range){
		$(":input[name=range]").each(function(){
			if( $(this).val() == range ){
				$(this).attr("checked", true);
			}
			else{
				$(this).attr("checked", false);
			}
		});
		document.frmSearch2.submit();
	}

	function detailView(core){
		if( !checkForm(document.frmSearch2) ){
			return;
		}
		var frmNm = core+'Frm';
		$('#'+core+'Q').val($('#q').val());
	    $('#'+frmNm)[0].submit();
	}

	function search(q){
		$("#q").val(q);
		$("#q2").val(q);
		$("#rangeView").val('');
		document.frmSearch2.submit();
	}

	function searchTab(q, rv){
		$("#q").val(q);
		$("#q2").val(q);
		$("#rangeView").val(rv);
		$('#pageIndex').val("1");
		document.frmSearch2.submit();
	}

	function paging(pageIndex){
		if (rangeView) {
			$('#'+rangeView+'PageIndex').val(pageIndex);
		}
		else {
			$('#pageIndex').val(pageIndex);
		}
		var frmNm = rangeView == '' ? frmSearch2 : rangeView+'Frm';
	    $('#'+frmNm)[0].submit();
	}

	function checkForm(form){
		$('#pageIndex').val("1");
		if(!form.q.value){
			alert("검색어를 입력하세요.");
			$("#q1").focus();
			return false;
		}
		return true;
	}

</script>


<div class="box totalsh posr">
	<form name="frmSearch1" id="frmSearch1" method="post" action="/kopost/search/search.do" class="totalsh" onsubmit="return checkForm(this);">
		<div class="set">
			<select name="rangeView" id="rangeView1" title="검색어 구분">
				<option value="">통합검색</option>
				<c:forEach var="core" items="${solrCores}" varStatus="status">
					<option value="${core.value}">${core.name}</option>
				</c:forEach>
			</select>
			<input name="q" id="q1" value="${param.q}" title="검색어" type="text">
			<input type="hidden" name="prevQ" value="${param.q}" />
			<button class="b-sh" type="submit">검색</button>
		</div>
		<label><input type="checkbox" name="re" id="re" value="Y" ${param.re eq 'Y' ? 'checked="checked"' : ''}><i></i> 결과 내 재검색</label>

		<div class="shKeywordRank">
			<h1>인기검색어</h1>
			<div class="area">
				<ul class="bxslider">
		<c:forEach var="r" items="${rankingList}" varStatus="status">
			<c:if test="${status.count <= 5}">
			<c:choose>
				<c:when test="${r.prevRanking eq 0}"><c:set var="arr" value="new" /><c:set var="stsNm" value="new" /></c:when>
				<c:when test="${r.ranking - r.prevRanking eq 0}"><c:set var="arr" value="normal" /><c:set var="stsNm" value="변동없음" /></c:when>
				<c:when test="${r.ranking - r.prevRanking > 0}"><c:set var="arr" value="down" /><c:set var="stsNm" value="하락" /></c:when>
				<c:when test="${r.ranking - r.prevRanking < 0}"><c:set var="arr" value="up" /><c:set var="stsNm" value="상승" /></c:when>
			</c:choose>
				<li class="n${status.count} active">
					<a href="javascript:search('${r.srchwrd}')">
					<span class="num">${status.count}</span>
					<span class="txt">${r.srchwrd}</span>
					</a>
				</li>
			</c:if>
		</c:forEach>
				</ul>
			</div>
		</div>
	</form>
	<form name="frmSearch2" id="frmSearch2" method="post" action="/kopost/search/search.do">
		<input type="hidden" id="rangeView" name="rangeView" value="${param.rangeView}" />
		<input name="q" id="q" value="${param.q}" type="hidden">
		<input name="re" id="re" value="${param.re}" type="hidden">
		<input type="hidden" name="prevQ" value="${param.q}" />
	</form>
	<script>
		$(function() {
			var list = $('.bxslider li').clone()
			$('.shKeywordRank').append('<ul class="area2">').end().find('.area2').append(list)

			$('.shKeywordRank a').bind('keyup mouseenter', function(event) {
				ranklist.stopAuto();
				$('.shKeywordRank').addClass('hover')
			});
			$('.shKeywordRank').bind('mouseleave', function(event) {
				ranklist.startAuto();
				$('.shKeywordRank').removeClass('hover');
			});
			$('.shKeywordRank a:last').focusout(function(event) {
				ranklist.startAuto();
				$('.shKeywordRank').removeClass('hover');
			});
			var ranklist = $('.bxslider').bxSlider({
			  mode: 'vertical',
			  slideMargin: 5,
			  controls:false,
			  auto:true,
			  pager:false
			});
		});
	</script>


</div>
<div class="totalsh">
	<div class="tab typebrown">
		<ul>
			<li ${empty param.rangeView ? 'class="active"' : ''}><a href="javascript:search('${param.q}')">통합검색(${totalCount})</a></li>
		<c:forEach var="core" items="${solrCores}" varStatus="status">
			<li ${core.value eq param.rangeView ? 'class="active"' : ''}><a href="javascript:searchTab('${param.q}', '${core.value}')">${core.name}(${resultCntMap[core.value]})</a></li>
		</c:forEach>
		</ul>
	</div>
	<div class="totalCount">검색어 “<span class="mark">${param.q}</span>”에 대한 전체 “<strong>${totalCount}</strong>”개의 검색 결과를 찾았습니다.</div>

<c:forEach var="core" items="${solrCores}" varStatus="status">

	<c:if test="${empty param.rangeView or param.rangeView eq core.value}">
		<c:set var="resultList" value="${resultMap[core.value]}" />
		<c:set var="set" value="" />
		<c:choose>
			<c:when test="${core.value eq 'recruitment'}"><c:set var="set" value="recruitment" /></c:when>
			<c:when test="${core.value eq 'cluster'}"><c:set var="set" value="cluster" /></c:when>
			<c:otherwise><c:set var="set" value="${core.value}" /></c:otherwise>
		</c:choose>

	<form id="${core.value}Frm" name="${core.value}Frm" method="post" action="/kopost/search/search.do">
		<input type="hidden" id="${core.value}Q" name="q" value="${param.q}" />
		<input type="hidden" name="prevQ" value="${param.q}" />
		<input type="hidden" id="${core.value}PageIndex" name="pageIndex" value="${param.pageIndex}" />
		<input type="hidden" name="rangeView" value="${core.value}" />
<c:choose>
	<c:when test="${core.value eq FILE.value}">
	<h2>${core.name} (검색결과 ${resultCntMap[core.value]}건)</h2>
	<c:if test="${empty param.rangeView and fn:length(resultList) > 0}">
	<button type="button" class="tmore" onclick="detailView('${core.value}')">더보기 <i></i></button>
	</c:if>
	<c:if test="${param.rangeView eq FILE.value}">
	<div class="tDetailsh">
		<dl>
			<dt class="p">조회기간</dt>
			<dd>
				<input id="sdate" name="sdate" class="sdate" title="조회기간 시작일" value="${param.sdate}" type="text">
				~
				<input id="edate" name="edate" class="edate" title="조회기간 종료일" value="${param.edate}" type="text">
				<button class="b-sh">상세검색</button>
			</dd>
		</dl>
	</div>
	</c:if>
<c:if test="${fn:length(resultList) eq 0}">
	<div class="nodata">검색 결과가 없습니다.</div>
</c:if>
	<div class="doclist">
		<ul>
		<c:forEach var="result" items="${resultList}" varStatus="sts">
			<c:set var="viewYn" value="${empty param.rangeView and sts.count > 10 ? 'N' : 'Y'}"/>
			<c:if test="${viewYn eq 'Y'}">
			<li>
				<a href="${result.url}" target="_blank">${result.orignlFileNm}    
				<span class="date"><fmt:formatDate value="${result.frstRegistPnttm}" pattern="yyyy-MM-dd"/></span></a>
				<p>
					<c:if test="${empty result.hl}">
						<c:set var="text">${result.text}</c:set>
						<c:out value="${text}" escapeXml="true" />
					</c:if>
					<c:if test="${not empty result.hl}">${result.hl}</c:if>
				</p>
			</li>
			</c:if>
		</c:forEach>
		</ul>
	</div>
	</c:when>
	
	<c:when test="${core.value eq WEBPAGE.value}">
	<h2>${core.name} (검색결과 ${resultCntMap[core.value]}건)</h2>
	<c:if test="${empty param.rangeView and fn:length(resultList) > 0}">
	<button type="button" class="tmore" onclick="detailView('${core.value}')">더보기 <i></i></button>
	</c:if>
	<c:if test="${param.rangeView eq WEBPAGE.value}">
	<div class="tDetailsh">
		<dl>
			<dt class="p">조회기간</dt>
			<dd>
				<input id="sdate" name="sdate" class="sdate" title="조회기간 시작일" value="${param.sdate}" type="text">
				~
				<input id="edate" name="edate" class="edate" title="조회기간 종료일" value="${param.edate}" type="text">
				<button class="b-sh">상세검색</button>
			</dd>
		</dl>
	</div>
	</c:if>
<c:if test="${fn:length(resultList) eq 0}">
	<div class="nodata">검색 결과가 없습니다.</div>
</c:if>
	<div class="doclist">
		<ul>
		<c:forEach var="result" items="${resultList}" varStatus="sts">
			<c:set var="viewYn" value="${empty param.rangeView and sts.count > 10 ? 'N' : 'Y'}"/>
			<c:if test="${viewYn eq 'Y'}">
			<li>
				<a href="${result.url}" target="_blank">${fn:replace(result.relateMenuNmList, '|', ' > ')}    
				<span class="date"><fmt:formatDate value="${result.frstRegistPnttm}" pattern="yyyy-MM-dd"/></span></a>
				<p>
					<c:if test="${empty result.hl}">
						<c:set var="text">${result.text}</c:set>
						<c:out value="${text}" escapeXml="true" />
					</c:if>
					<c:if test="${not empty result.hl}">${result.hl}</c:if>
				</p>
			</li>
			</c:if>
		</c:forEach>
		</ul>
	</div>

	</c:when>
	<c:otherwise>
	<h2>${core.name} (검색결과 ${resultCntMap[core.value]}건)</h2>
	<c:if test="${empty param.rangeView and fn:length(resultList) > 0}">
	<button type="button" class="tmore" onclick="detailView('${core.value}')">더보기 <i></i></button>
	</c:if>
	<c:if test="${param.rangeView eq BOARD.value}">
	<div class="tDetailsh">
		<dl>
			<dt class="p">조회기간</dt>
			<dd>
				<input id="sdate" name="sdate" class="sdate" title="조회기간 시작일" value="${param.sdate}" type="text">
				~
				<input id="edate" name="edate" class="edate" title="조회기간 종료일" value="${param.edate}" type="text">
				<button class="b-sh">상세검색</button>
			</dd>
		</dl>
	</div>
	</c:if>
<c:if test="${fn:length(resultList) eq 0}">
	<div class="nodata">검색 결과가 없습니다.</div>
</c:if>
	<div class="doclist">
		<ul>
		<c:forEach var="result" items="${resultList}" varStatus="sts">
			<c:set var="viewYn" value="${empty param.rangeView and sts.count > 10 ? 'N' : 'Y'}"/>
			<c:if test="${viewYn eq 'Y'}">
			<li>
				<a href="${result.url}" target="_blank"><c:out value="${empty result.nttSjHl ? result.nttSj : result.nttSjHl}" escapeXml="false"/> 
				<span class="date"><fmt:formatDate value="${result.frstRegistPnttm}" pattern="yyyy-MM-dd"/></span></a>
				<p>
					<c:if test="${empty result.hl}">
						<c:set var="text">${result.text}</c:set>
						<c:out value="${text}" escapeXml="true" />
					</c:if>
					<c:if test="${not empty result.hl}">${result.hl}</c:if>
				</p>
			</li>
			</c:if>
		</c:forEach>
		</ul>
	</div>
	</c:otherwise>
</c:choose>
	</form>
</c:if>

</c:forEach>

</div>

<c:if test="${not empty param.rangeView}">
	<c:if test="${fn:length(resultList) > 0}">
		${pageNav}
	</c:if>
</c:if>