(function(n,t){function r(n){n=n!==t?n:!0;var r=i.getSettings();r||(r={});r.isListView=n;i.setSettings(r)}function u(){var u=this;u.isGridEnabled=!1;u.showList=function(n,i){n=n!==t?n:!0;i=i!==t?i:!1;(u.isGridEnabled||i)&&(u.isGridEnabled=!1,$("ul.search-results-listing-container").removeClass("hidden"),$("div.search-results-grid-container").addClass("hidden"),$("div#eligible-list-result-container").removeClass("hidden"),$("#action-list-view").parent().addClass("active"),$("#action-grid-view").parent().removeClass("active"),$(document).trigger("layoutUpdated"),n&&r(!0))};u.showGrid=function(n,i){n=n!==t?n:!0;i=i!==t?i:!1;(!u.isGridEnabled||i)&&(u.isGridEnabled=!0,$("ul.search-results-listing-container").addClass("hidden"),$("div.search-results-grid-container").removeClass("hidden"),$("div#eligible-list-result-container").removeClass("hidden"),$("#action-list-view").parent().removeClass("active"),$("#action-grid-view").parent().addClass("active"),$(document).trigger("layoutUpdated"),n&&r(!1))};u.showCurrentViewRegardingUserSettings=function(i,r){$(n).width()>f?i&&i.isListView!==t&&(i.isListView?u.showList(!1,r):u.showGrid(!1,r)):u.showList(!1,r)};u.updateView=function(n){u.showCurrentViewRegardingUserSettings(i.getSettings(),n)}}var i=namespace("AgencyPages").userSettingsService,f=767;namespace("AgencyPages").listGridViewService=new u})(window),function(n,t){"use strict";function ut(){k&&gJobs.screenReadersService.clearNotification(k);d&&gJobs.screenReadersService.clearNotification(d)}function wt(){at.show()}function bt(){at.hide()}function ft(){$("#class-specs-list-container .search-results-listing-container .list-item .list-entry").each(function(){clamp(this,ki)})}function kt(n){var t=u.$wrapper.find(".next-posting"),i=u.$wrapper.find(".prev-posting");hi(n)?t.removeClass("disable").removeAttr("tabindex aria-disabled"):t.addClass("disable").attr({tabindex:"-1","aria-disabled":"true"});ci(n)?i.removeClass("disable").removeAttr("tabindex aria-disabled"):i.addClass("disable").attr({tabindex:"-1","aria-disabled":"true"})}function et(n){var u,r;ut();g===t&&(g=document.title,nt=!0);rt=n.classSpecsTitle;document.title="Class Specifications | "+rt+" | Class Spec Details";var i=$("#class-specs-flyout-content"),f=$("#class-specs-flyout-content .flyout-footer, .flyout-switch-button"),e=y.getCurrentPageType().type,o=namespace("AgencyPages").router.removePageTypeFromQuery(n.query||location.search),s=o?o+"&pagetype="+e:"?pagetype="+e;gJobs.screenReadersService.setNotification(k,n.classSpecsTitle," flyout is loading",!0);namespace("AgencyPages").router.navigate(n.url+s,!0,!1,null,null);f.addClass("hidden");$(".list-item").removeClass(a);$(document).on("keyup",function(n){if(n.keyCode===$.ui.keyCode.ESCAPE){if($(n.target).hasClass("job-details-salary-icon"))return;namespace("AgencyPages").router.navigate(h,!0,!1,null,null,!0);$(document).off(n)}});u=si(n.id);u.addClass(a);r=$(".class-specs-flyout .details-page .scrollable-container");r.html(vt);$.ajax({url:n.url,cache:!1,dataType:"html",success:function(t){var o,u,e;gJobs.screenReadersService.setNotification(d,n.classSpecsTitle," flyout has been opened",!0);r.html(t);r.find(".popover-trigger").delayedPopover();o=i.find(".summary");u=i.find(".scrollable-container > .container.entity-details-tab").data("accept-jic");u&&u.toLowerCase()==="true"&&f.removeClass("hidden");e=o.attr("data-printing-url");e&&i.find(".print-button").attr("href",e)}});i.find(".details-page").addClass("active").css("visibility","visible");i.find(".job-interest-card-page").removeClass("active").css("visibility","hidden");kt(u);fi(n.id)}function dt(){b.find(".item-details-link").on("click",function(n){n.preventDefault();et({url:$(this).attr("href"),id:$(this).parent().parent().data("class-spec-id"),classSpecsTitle:$(this).text()})});b.find(".pagination li > a").on("click",function(t){var f=$(this),r=f.attr("href"),u;if(r){var e=namespace("AgencyPages").getUrlParams(r),o=e.page,i=url.get(n.location.search.slice(1),{array:!0});i.page=o;u="?"+url.buildget(i);AgencyPages.router.navigate(h+u,!0,null,null,i)}t.preventDefault()});b.find(".search-results-container .search-results-grid-container thead a").on("click",function(n){var i=$(n.currentTarget),t,u=i.find(".sort-el");t=u.hasClass("sort-down")?null:u.hasClass("sort-up")?"|Descending":"|Ascending";r=null;o=t?i.data("sort-type")+t:null;$(document).trigger("FilterFlyout:sortByChanged",o);e()})}function gt(){var n=l.data("page");it=new FilterFlyout(n);$("#filter-options").on("click","a.filter-options-link",function(n){$("body .popover").css("display","none");var t=$(this),i=t.data("panelType");it.showFilterPanel(i,f,!0);n.preventDefault()})}function ni(n){n.find('[data-toggle="popover"]').popover().click(function(){$(this).popover("hide")})}function e(){var n,t,i;if(wt(),n="?",t=y.getCurrentAgencyFolderName(),t){if(n+="agency="+encodeURIComponent(t),i=y.getCurrentDepartmentFolderName(),i&&(n!="?"&&(n+="&"),n+="departmentFolder="+encodeURIComponent(i)),o){var u=o.split("|"),e=u[0],s=u[1];n+="&sort="+encodeURIComponent(e)+"&isDescendingSort="+encodeURIComponent(s==="Descending")}return p&&p.salary!==null&&(n+="&salary="+encodeURIComponent(p.salary)),f&&(n+="&keyword="+encodeURIComponent(f)),r&&(n+="&page="+encodeURIComponent(r)),gJobs.ajax.ajaxGet(di+n).then(function(n){$(c).html(n);ft();ti();dt();v.updateView(!0);bt();ni(b);$(document).trigger(Events.CommonEventsNames.ClassSpecsListLoaded,$("#job-postings-number").text()||0);nt||(g=document.title)})}}function ti(){var n=$("#job-postings-number").text()||0;gJobs.screenReadersService.applyNvdaAriaLiveFix(ir,n+" results found")}function ot(n){return f===decodeURI(n)}function ii(n){if(!ot(n)){f=n;w.val(f);r=null;var t=null;f||(t=yt);$(document).trigger("FilterFlyout:sortByChanged",t);o=t;e()}}function ri(){$(".class-specs-flyout").removeClass("jic-info-flyout");ut()}function st(n){document.title=n.documentTitle;var r=$("#class-specs-flyout-content"),t=r.find(".job-interest-card-page"),i=r.find(".details-page");$(".class-specs-flyout").addClass("jic-info-flyout");t.css("visibility","visible");n.openAdvancedJobInterestCard?i.css("visibility","hidden"):i.css("visibility","visible");r.one("transitionend",function(){gJobs.screenReadersService.setAriaLiveNotification("Job interest card form is opened in flyout window.");nr.tabbing.updateIndices(t);n.openAdvancedJobInterestCard||(t.hasClass("active")?i.css("visibility","hidden"):t.css("visibility","hidden"))});n.openAdvancedJobInterestCard?(t.addClass("active"),i.removeClass("active"),u.open(pt)):(i.toggleClass("active"),t.toggleClass("active"));gJobs.skipToContentService.showOnNextTab()}function ui(){function n(n){n.click();var t=n.attr("href"),i=$('[href="'+t+'"]:visible').first();gJobs.focusService.replaceLastElement(i)}var t=$("#class-specs-flyout-content"),r,f,e,o;u=new AgencyPages.Flyout({showOverlay:!0,disableBodyScroll:!0,container:$("body"),content:t,closeButton:!0,wrapperClass:"class-specs-flyout",closeFlyoutCallback:ri});namespace("AgencyPages").classSpecFlyout=u;vt=u.$wrapper.find(".flyout-spinner").clone();k=u.$wrapper.find(".opened-notification");d=u.$wrapper.find(".details-loaded-notification");t.find(".flyout-switch-button").click(function(n){var t={documentTitle:"Class Specifications | "+rt+" | Job Interest Cards"};st(t);n.preventDefault()});i=new OnlineApp.ViewModels.JobInterestCardViewModel;i.employerFolderName(s);ko.applyBindings(i,$("#job-interest-card").get(0));r=u.$wrapper.find(".next-posting");f=u.$wrapper.find(".prev-posting");r.on("click",function(){var t=$("."+a).next(),i;t.length?(i=t.find(".item-details-link"),n(i)):ei().then(function(){OnlineApp.Services.tabIndexService.disableTabIndex({containerSelector:c});var t=$(".search-results-listing-container").find(".item-details-link").first();n(t)})});f.on("click",function(){var t=$("."+a).prev(),i;t.length?(i=t.find(".item-details-link"),n(i)):oi().then(function(){OnlineApp.Services.tabIndexService.disableTabIndex({containerSelector:c});var t=$(".search-results-listing-container").find(".item-details-link").last();n(t)})});e=u.$closeButton.clone();o=$(".job-interest-card-page",u.$wrapper);e.prependTo(o)}function fi(n){i.init({employerFolderName:s,countyName:document.agencyName,classSpecificationId:n})}function ei(){return r=r?++r:2,e()}function oi(){return--r,e()}function si(n){return $(".search-results-listing-container").find('.list-item[data-class-spec-id="'+n+'"]').first()}function hi(n){var t=r||1,i=$("#job-postings-number").text(),u=bi*t;return n.next().length>0||u<i}function ci(n){var t=r||1;return n.prev().length>0||t>1}function li(){$(document).on("click",".flyout-overlay, .close-button",function(){document.title=g;nt&&(nt=!1);var t=namespace("AgencyPages").router.addQueryString(h);t=namespace("AgencyPages").router.removePageTypeFromQuery(t);h===t&&n.enableAdvancedJobInterestCards&&$(".job-interest-card-page").removeClass("active");i&&i.resetInputFields();namespace("AgencyPages").router.navigate(t,!0,!1,null,null);u&&u.close()});rr.click(function(){v.showList();gJobs.screenReadersService.setAriaLiveNotification("Search results are shown in list view.")});ur.click(function(){v.showGrid();gJobs.screenReadersService.setAriaLiveNotification("Search results are shown in grid view.")});$(document).on("ClassSpecificationsPage:sort",function(n,t){r=null;o=t;e()});$(document).on("ClassSpecificationsPage:filtersChanged",function(n,t){t.isChangeFromFlyout&&(r=null);p=t.newfilters;e().then(function(){OnlineApp.Services.tabIndexService.disableTabIndex({containerSelector:c})})});tt.on("submit",function(n){n.preventDefault();var t=w.val();if(ot(t)){f===""&&AgencyPages.searchPageHelper.showEmptySearchPopover(ct,tt,tr);return}$(document).one(Events.CommonEventsNames.ClassSpecsListLoaded,function(){var n=t?"Search by "+t+" keyword is applied":"Search by keyword is removed";gJobs.screenReadersService.readPageTitle(tt.find("#keyword-search-input"),n)});AgencyPages.router.navigate(h+"?"+url.buildget({keywords:t}),null,null,null,{keywords:t})});pt.click(function(n){ht(n)})}function ht(n){i&&(i.shouldShowAdvancedJobInterestCardFields(!0),i.countyName(document.agencyName),i.autoPopulateUserData({employerFolderName:s}));st({documentTitle:"Class Specifications | Job Interest Cards",openAdvancedJobInterestCard:!0});n&&n.preventDefault()}function ai(){lt.click(function(){lt.closest("li").toggleClass("active");l.toggleClass("search-input-opened")})}function vi(n){var t=$(c+" li[data-class-spec-id]").toArray(),i=$.grep(t,function(t){return $(t).attr("data-class-spec-id")===n});return $(i).find("a").text()}function yi(n){var t="",r={},i="";if(n.specId&&(t=location.pathname+"/"+n.specId,i=n.specId,delete n.specId,delete n.pagetype),t){$.extend(r,n);$(document).one(Events.CommonEventsNames.ClassSpecsListLoaded,function(){et({url:t,id:i,query:"?"+url.buildget(r),classSpecsTitle:vi(i)})})}}function pi(n){yi(n);f=n.keywords||"";f=f.replace("+"," ");w.val(f);n.sort&&(o=n.sort,delete n.sort);n.page&&(r=n.page,delete n.page);n.keywords&&delete n.keywords;Object.keys(n).length!==0?it.applyFilters(n):e()}var wi=0,bi=10,a="active-class-spec",ki=2,di=AgencyPages.routePrefix+"/classspecifications/index",gi=namespace("AgencyPages").userSettingsService,v=namespace("AgencyPages").listGridViewService,y=namespace("AgencyPages").pageInfoService,u,i,o=null,p=null,s=null,f="",r=null,h=y.getCurrentInitialUrl(),nr=OnlineApp.Helpers.layoutHelper,c="#class-specs-list-container",l=$("#manage-bar"),tt=l.find(".search-form"),w=$("input.form-control"),ct=l.find("#keyword-search-input"),tr=$("button.btn.btn-link"),lt=l.find("#open-mobile-search-field-button"),b=$(".jobs-container"),at=$("#job-list-overlay"),ir=$("#number-found-items"),vt,k,d,rr=$("#action-list-view"),ur=$("#action-grid-view"),it=t,yt="ClassTitle|Ascending",fr=767,g=t,rt=t,nt=!1,er="isOjrMaster",or="emailAddress",sr="credential",pt=$(".subscribe-cards-for-multiple-class-specifications-btn");$(function(){var r,t;s=AgencyPages.pageInfoService&&AgencyPages.pageInfoService.getCurrentAgencyFolderName();ui();gt();f=AgencyPages.searchPageHelper.getKeywordsFromUrl();w.val(f);o=yt;li();ai();$(document).one(OnlineApp.Events.CommonEventsNames.OjrMasterJicSubscribe,function(n,t){var r={token:t?t.credential:null,employerFolderName:s};OnlineApp.Services.jobInterestCardService.getJicManageUrlForOjrMaster(r).done(function(n){if(ht(),n&&i){i.emailAddress(t?t.emailAddress:"");i.shouldShowAdvancedJobInterestCardFields(!1);i.shouldDisplaySuccessOjrMasterSubscriptionText(!0);i.displaySuccessSubscribeWindow(n);var r="Job Interest Card flyout has been opened. "+$(".subscribed").text();gJobs.screenReadersService.setAriaLiveNotification(r)}}).fail(function(){toastr.warning("Could not subscribe.")})});n.utils.getUrlParameter(er)&&(r={credential:n.utils.getUrlParameter(sr),emailAddress:decodeURIComponent(n.utils.getUrlParameter(or))},$(document).trigger(OnlineApp.Events.CommonEventsNames.OjrMasterJicSubscribe,r));t=url.get(n.location.search.slice(1),{array:!0});Object.keys(t).length?pi(t):e();$(document).trigger("FilterFlyout:sortByChanged",o);$(".job-search-header-verbiage br").remove();ct.popover("hide");$(n).on("scroll resize",function(){var t=$(".ui-autocomplete.ui-menu.popover.small-autocomplete");t&&t.length>0&&$(n).width()>fr&&t.hide();v.showCurrentViewRegardingUserSettings(gi.getSettings())});$(n).on("resize",function(){ft()});gJobs.pageTabNavigationService.adjustNavigationForFixedHeader($("body"),"*",".list-item, .search-results-grid-container tr")});namespace("AgencyPages").classSpecificationsPage={search:function(n){n=n||"";ii(n)},goToPage:function(n){r!==n&&(r=n,e(),$("html, body").animate({scrollTop:wi},"fast"))}}}(window),function(n){"use strict";function t(n,t,i){var r=$(n||"#keyword-search-input"),u=$(i||"button.btn.btn-link");r.focus();r.popover("show");r.on("blur.emptySearchPopoverShown",function(){r.popover("hide");r.off("blur.emptySearchPopoverShown keydown.emptySearchPopoverShown")});r.on("keydown.emptySearchPopoverShown",function(n){n.keyCode!==$.ui.keyCode.ENTER&&(r.popover("hide"),r.off("blur.emptySearchPopoverShown keydown.emptySearchPopoverShown"))})}function i(){var t=n.location.href,i="";return t&&(i=AgencyPages.getUrlParams(t).keywords||""),i}$(document).ready(function(){var n=document.getElementById("el-keyword-search-input")?$("#el-keyword-search-input"):document.getElementById("el-candidate-keyword-search-input")?$("#el-candidate-keyword-search-input"):$("#keyword-search-input"),t=n.closest(".search-form"),i=t.find(".clear-field-button"),r=t.find(".keyword-search-input-label .ui-helper-hidden-accessible");n.on("change keyup paste",function(r){n.val()===""?(n.removeClass("filled"),i.hide()):(n.addClass("filled"),i.show(),r.keyCode===$.ui.keyCode.ENTER&&t.trigger("submit"))});n.val()!==""&&(i.show(),n.addClass("filled"));i.click(function(){var i=n.val();n.val("");gJobs.screenReadersService.setNotification($("#aria-live-message-container"),i+" keywords are cleared","",!0);r.text("");n.trigger("change");t.submit();n.focus()})});namespace("AgencyPages").searchPageHelper={showEmptySearchPopover:t,getKeywordsFromUrl:i}}(window),function(n){function f(f){function s(){t.hasClass("collapsed")&&(t.get(0).scrollHeight<=a?(u.addClass("hidden"),r.addClass("hidden")):(u.removeClass("hidden"),r.removeClass("hidden")))}var h,c,l,a;r=$(".verbiage-overlay");t=r.parent();u=$(".verbiage-toggle-button-panel");i=u.find(".verbiage-toggle-button");h=$("<div />").append(r.clone()).html();r.replaceWith("");c=t.html()||"";t.html(c+h);r=t.find(".verbiage-overlay");l=parseInt(t.css("line-height"),10);a=l*f;i.ready(function(){var n=$(".verbiage").find("p:first").text();i.attr("aria-label","Show more content")});i.on("click",function(){var n,r;t.hasClass("collapsed")?(n=$(".verbiage").text(),t.css("max-height",t.get(0).scrollHeight),t.removeClass("collapsed"),i.html(o),i.attr("aria-label"," Show less content"),gJobs.screenReadersService.setAriaLiveNotification("Content is expanded.")):(r=$(".verbiage").find("p:first").text(),i.attr("aria-label","Show more content"),t.css("max-height",""),t.addClass("collapsed"),i.html(e),gJobs.screenReadersService.setAriaLiveNotification("Content is colapsed"))});$(n).resize(s);s()}var e='<span class="button-text">SHOW MORE<\/span><i class="icon icon-xs icon-chevron-down"><\/i>',o='<span class="button-text" aria-hidden="true">SHOW LESS<\/span><i class="icon icon-xs icon-chevron-up"><\/i>',s=4,t,r,u,i;$(document).ready(function(){f(s)})}(window)