<%@ page extends="oneit.servlets.jsp.JSPInclude" %>

<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<%@page import="oneit.utils.text.FormatUtils"%>

<oneit:dynIncluded>
<%
    Job     job         = (Job) process.getAttribute("Job");

    if(job==null && request.getParameter("JobID")!=null)
    {
       job  =  Job.getJobByID(transaction, Long.parseLong(request.getParameter("JobID")));
       
       process.setAttribute("Job", job);
    }

    Debug.assertion(job != null, "Job is null in admin portal view applicants");

    String          applicationPage =   WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICATION);
    String          currentPage     =   WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS_GRID);
    AppSortOption   appSortOpt      =   (AppSortOption) process.getAttribute("AppSortOption");

    if(request.getParameter("AppSortOption") != null)
    {
        appSortOpt  =   AppSortOption.forName((String) request.getParameter("AppSortOption"));
    }
    
    if(appSortOpt == null)
    {
        appSortOpt  =   AppSortOption.RANK;
    }
    
    JobApplication[]    applications =   (JobApplication[]) process.getAttribute("JobApplications");
            
    if(applications==null)
    {
        applications =  JobApplication.SearchByAll()
                                    .andJob(new EqualsFilter<>(job))
                                    .andApplicationStatus(new NotEqualsFilter<>(ApplicationStatus.DRAFT))
                                    .search(transaction);
        
        process.setAttribute("JobApplications", applications);
    }
    
    List<JobApplication>    sortedApplications  =   applications!=null ? Utils.getApplicationsSorted(applications, appSortOpt) : new ArrayList<JobApplication>();

    process.setAttribute("AppSortOption", appSortOpt);
%>

    <script type="text/javascript">
        $(document).ready(function()
        {
            $('.grid-box-view').slick({
                dots: false,
                infinite: false,
                speed: 300,
                slidesToShow: 5,    
                nextArrow: "<div class='sl_width slider-next'><span><img src='images/slider-arrow.png' /></span></div>",
                prevArrow: "<div class='sl_width slider-prev'><span><img src='images/slider-arrow-left.png' /></span></div>",
                responsive: [
                {
                  breakpoint: 1280,
                  settings: {
                    slidesToShow: 4
                  }
                },
                {
                  breakpoint: 1024,
                  settings: {
                    slidesToShow: 3
                  }
                },
                {
                  breakpoint: 600,
                  settings: {
                    slidesToShow: 2
                  }
                },
                {
                  breakpoint: 480,
                  settings: {
                    slidesToShow: 1
                  }
                }
              ]
            });
            
            recalcFunction = setupRecalc ($("form"), {'recalcOnError':true});
        });
    </script>
    
    <oneit:form name="viewApplicants" method="post"    enctype="multipart/form-data">

        <div class="dashboard-content-area">
            
            <oneit:dynInclude   page="/extensions/adminportal/inc/applicant_view_tabs.jsp"  TabNumber="1"   data="<%= CollectionUtils.EMPTY_MAP%>"/>

            <div class="second-part view-app-area">            

                <oneit:dynInclude   page="/extensions/adminportal/inc/application_sorting_bar.jsp"  
                                    sortOption="<%= appSortOpt %>"
                                    currentPage="<%= currentPage %>"
                                    tabNumber="2"
                                    showOrderBy="<%= sortedApplications.size() > 0 %>"
                                    data="<%= CollectionUtils.EMPTY_MAP%>"/>


                <div class="five-boxs">
                    <%
                        int index   = 0;

                        for(JobApplication jobApplication : sortedApplications)
                        {
                            String  appID   =   "app-id-" + jobApplication.getID().toString();
                    %>
                            <div class="appl-c-box application-row">
                                <!--TODO: need to work on the logic. just added to demonstrate that there are 3 different colors for this-->
                                <div class="<%= "cb-title " + (index == 0 ? "green-back" : (index < 3 ? "blue-back" : "dark-back" ))%> ">
                                    <div class="checkbox-list grid-checkbox">
                                        <div class="checkbox-list">
                                            <input type="checkbox"  name="IsSelected" value="<%= jobApplication.getObjectID().toString() %>"  id="<%= appID %>" class="applicant" >
                                            <label for="<%= appID %>">
                                                <oneit:toString value="<%= jobApplication.getCandidate() %>"    mode="EscapeHTML" />
                                            </label>
                                        </div>
                                    </div>  
                                </div>
                                <oneit:button   value=" "    name="gotoPage" cssClass="<%= jobApplication.getID() + ""%>" skin="link"
                                                requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
                                                                                .mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
                                                                                .toMap() %>">
                                    <div class="overall-suitablity">
                                        <div class="<%= "overall " + (index == 0 ? "f-60" : "")%>">overall rank</div>
                                        <div class="<%= "over-all " + (index == 0 ? "f-60 green" : (index < 3 ? "blue"  : "gray"))%> ">
                                            <oneit:toString value="<%= jobApplication.getOverallRank() %>"   mode="Integer" />
                                        </div>
                                    </div>
                                    <div class="jcc-box">
                                        <div class="job-match jcc">
                                            <img src="images/app-job-match-icon.svg"> role fit 
                                            <span>
                                                <oneit:button   value=" "   name="gotoPage" skin="link"
                                                                requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
                                                                                                .mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
                                                                                                .toMap() %>">
                                                    <oneit:toString value="<%= jobApplication.getRoleFitScore() %>" mode="TwoDPDouble" />
                                                </oneit:button>
                                            </span>
                                        </div>
                                        <div class="culture jcc">
                                            <img src="images/culture-icon.svg"> culture fit
                                            <span>
                                                <oneit:button   value=" "   name="gotoPage" skin="link"
                                                                requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
                                                                                                .mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
                                                                                                .toMap() %>">
                                                    <oneit:toString value="<%= jobApplication.getCultureFitScore() %>"  mode="WholeNumber" />
                                                </oneit:button>
                                            </span>
                                        </div>
                                        <%
                                            if(job.getIncludeAssessmentCriteria()==Boolean.TRUE)
                                            {
                                        %>
                                                <div class="criteria jcc">
                                                    <img src="images/criteria-icon.svg"> requirements
                                                    <span>
                                                        <oneit:button   value=" "   name="gotoPage" skin="link"
                                                                        requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
                                                                                                        .mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
                                                                                                        .toMap() %>">
                                                            <oneit:toString value="<%= jobApplication.getRequirementFitScore() %>"  mode="WholeNumber" />
                                                        </oneit:button>
                                                    </span>
                                                </div>
                                        <%
                                            }
                                        %>
                                    </div>
                                </oneit:button>
                            </div>
                    <%
                            index++;
                        }
                    %>
                </div>
            </div>
        </div>
    </oneit:form>
</oneit:dynIncluded>