ipswitch.controller("resourceSideBarController",["$scope","$timeout","urlSvc","httpService","eventHandlerService",function(n,t,i,r,u){function e(n){var t=new RegExp("[?&]"+n+"=([^&#]*)").exec(window.location.href);return t===null?null:decodeURI(t[1])||0}var h;n.resourceCategories=[];n.activeCategoryId=-2;$("#resourcesWrapper").show();n.mobileModel={mobileSelectedCategory:{}};var o=function(){t(function(){u.notifyMasonryReload()},300)},s=r.get("/searchapi/ResourceCategory/GetResourceAssetTypes"),f=parseInt(i.getSearchValue("at"));isNaN(f)?i.clearSearchValue("at"):(n.activeCategoryId=f,h={name:"assettype",value:f});s.then(function(t){t&&(n.resourceCategories=t,angular.forEach(n.resourceCategories,function(t){t.PageUrl===window.location.pathname&&(n.mobileModel.mobileSelectedCategory=t)}))});n.applyFilters=function(){u.notifySearchSubmit();n.toggleFilterModal()};n.handleKeyUp=function(t,i){t.keyCode===13&&n.applySearch(i)};n.applySearch=function(t){var i=e("searchtext"),o,f,s,h,r;i===null&&(i="");i!==""&&(o={name:"Search",shortName:"searchtext",value:i},u.notifyFiltersChanged(o,!1));f=document.getElementById(t).value;s={name:"Search",shortName:"searchtext",value:f};u.notifyFiltersChanged(s,!n.isMobile);i=f;h=/page=([^&]{0,1})+/g;r=1;r!==null&&(window.location.href=window.location.href.indexOf("page")>=0?window.location.href.replace(h,"page="+r):window.location.href.indexOf("?")>=0?window.location.href+"&page="+r:window.location.href+"?page="+r)};n.clearFilters=function(t){var i,f,o,r;window.location.href.indexOf("searchtext")>=0&&(window.location.href=window.location.href.replace(/searchtext=([^&]{0,1})+/g,""));i=e("searchtext");i===null&&(i="");i!==""&&(f={name:"Search",shortName:"searchtext",value:i},u.notifyFiltersChanged(f,!1));i="";o=/page=([^&]{0,1})+/g;r=1;r!==null&&(window.location.href=window.location.href.indexOf("page")>=0?window.location.href.replace(o,"page="+r):window.location.href.indexOf("?")>=0?window.location.href+"&page="+r:window.location.href+"?page="+r);u.notifyFiltersCleared();document.getElementById("txtSearch").value="";document.getElementById("txtMobileSearch").value="";t&&n.toggleFilterModal()};n.RedirectWithQuery=function(n){var i,t,r;n&&n!==""&&(i=/page=([^&]{0,1})+/g,t=1,t!==null&&(window.location.href=window.location.href.indexOf("page")>=0?window.location.href.replace(i,"page="+t):window.location.href.indexOf("?")>=0?window.location.href+"&page="+t:window.location.href+"?page="+t),r=window.location.href.split("?")[1],window.location=n+"#?"+r)};n.selectCategory=function(t,r){n.activeCategoryId=r;var f={name:"assettype",value:r};i.addSearchValue("at",r);u.notifyCategoryChanged(f);t&&t.preventDefault()};n.mobileSelectCategory=function(){n.RedirectWithQuery(n.mobileModel.mobileSelectedCategory.PageUrl)};n.toggleSidebar=function(n){var t=n.currentTarget;ResourceController.toggleSidebar(t,o)};n.toggleFilterModal=function(){ResourceController.toggleFilterModal()}}]);ipswitch.service("PagerService",[function(){function t(n,t,i){var r,u,f;t=t||1;i=i||12;r=Math.ceil(n/i);r<=11?(u=1,f=r):t<=6?(u=1,f=11):t+4>=r?(u=r-10,f=r):(u=t-5,f=t+5);var e=(t-1)*i,o=Math.min(e+i-1,n-1),s=_.range(u,f+1);return{totalItems:n,currentPage:t,pageSize:i,totalPages:r,startPage:u,endPage:f,startIndex:e,endIndex:o,pages:s}}var n={};return n.GetPager=t,n}]);ipswitch.service("MobilePagerService",[function(){function t(n,t,i){var r,u,f;t=t||1;i=i||12;r=Math.ceil(n/i);r<=5?(u=1,f=r):t<=3?(u=1,f=5):t+2>=r?(u=r-4,f=r):(u=t-2,f=t+2);var e=(t-1)*i,o=Math.min(e+i-1,n-1),s=_.range(u,f+1);return{totalItems:n,currentPage:t,pageSize:i,totalPages:r,startPage:u,endPage:f,startIndex:e,endIndex:o,pages:s}}var n={};return n.GetPager=t,n}]);ipswitch.controller("resourceSearchPagerController",["MobilePagerService","PagerService","$scope","$timeout","urlSvc","httpService","eventHandlerService","$attrs",function(n,t,i,r,u,f,e,o){function v(){var n=y("page");n===null&&(n=1);s.setPage(n)}function y(n){var t=new RegExp("[?&]"+n+"=([^&#]*)").exec(window.location.href);return t===null?null:decodeURI(t[1])||0}function p(i){typeof Number.isInteger!="undefined"?Number.isInteger(i)||(i=parseInt(i)||1):i=i===parseInt(i,10)?parseInt(i):1;i<=0&&(i=1);s.currentPage!==i&&$(".masonry-brick").hide();s.currentPage=i;s.pager=t.GetPager(s.itemSource.length,i);i>s.pager.totalPages&&s.pager.totalPages!==0&&(i=s.pager.totalPages,s.pager=t.GetPager(s.itemSource.length,i));s.mobilePager=n.GetPager(s.itemSource.length,i);s.items=s.itemSource.slice(s.pager.startIndex,s.pager.endIndex+1);i!==null&&(window.location.href=window.location.href.indexOf("page")>=0?window.location.href.replace(/page=([^&]{0,1})+/g,"page="+i):window.location.href.indexOf("?")>=0?window.location.href+"&page="+i:window.location.href+"?page="+i)}function c(){s.itemSource=[];i.searchModel.PageIndex=0;r(function(){s.isBusy=!0;var n=f.post("/searchapi/ResourceSearch/Search",i.searchModel);n.then(function(n){s.itemSource=n.results;s.isBusy=!1;v()})},250);setTimeout(w,500)}function w(){$("body").hasClass("ja-jp")&&$("body").find("*").css("font-family","inherit")}var l,s,h,a;ResourceController.init(e.notifyMasonryReload);l=["category","product","solution","industry","language","searchtext"];i.searchModel={AssetType:{name:"assettype",value:-2},SelectedFilters:{},PageIndex:0,ResultsPerPage:99999999,CurrentAlias:window.location.pathname};s=this;s.itemSource=[];s.pager={};s.mobilePager={};s.setPage=p;s.currentPage;u.checkSearchExists()?(h=u.getSearchValue("language"),h===null&&(h=o.documentCulture,u.addSearchValue("language",h)),angular.forEach(l,function(n){var t=u.getSearchValue(n);t!==null&&(typeof t=="string"&&(t=[t]),i.searchModel.SelectedFilters[n]=t)}),c()):(h=o.documentCulture,u.addSearchValue("language",h),s.isBusy=!0,a=f.get("/searchapi/ResourceSearch/Load",{cultureCode:h,currentAlias:window.location.pathname}),a.then(function(n){s.itemSource=n.results;s.isBusy=!1;v()}),i.searchModel.SelectedFilters.language=[h]);i.openVideoModal=function(n,t){if(t.isGated){u.redirect(t.nodeAliasPath);n&&n.preventDefault();return}e.notifyVideoScriptChanged(t.assetScript);ResourceController.toggleVideoOpen();n&&n.preventDefault()};i.$on("categoryChanged",function(n,t){i.searchModel.AssetType.value!==t.value&&(i.searchModel.AssetType=t,c())});i.$on("filtersChanged",function(n,t){var r=t.selectedFilter,e=t.submitSearchOnChange,f;i.searchModel.SelectedFilters[r.shortName]||(i.searchModel.SelectedFilters[r.shortName]=[]);f=i.searchModel.SelectedFilters[r.shortName].indexOf(r.value);f===-1?i.searchModel.SelectedFilters[r.shortName].push(r.value):i.searchModel.SelectedFilters[r.shortName].splice(f,1);i.searchModel.SelectedFilters[r.shortName].length===0&&delete i.searchModel.SelectedFilters[r.shortName];u.addSearchValue(r.shortName,i.searchModel.SelectedFilters[r.shortName]);e&&c()});i.reloadMasonry=function(){r(function(){},350)};i.$on("windowResized",function(){r(function(){e.notifyMasonryReload()},300)});i.$on("filtersCleared",function(){i.searchModel.SelectedFilters={};angular.forEach(l,function(n){var t=u.clearSearchValue(n)});var n=u.getSearchValue("language");n===null&&(n=o.documentCulture,u.addSearchValue("language",n));i.searchModel.SelectedFilters.language=[n];c()});i.$on("searchSubmit",function(){c()})}]);ipswitch.directive("resourceFilters",["httpService","eventHandlerService","urlSvc",function(n,t,i){return{restrict:"AE",scope:{isMobile:"=",currentCulture:"@"},templateUrl:i.resolveUrl("~/library/js/angular/views/ResourceFilters.html"),link:function(r){function c(n){i.checkSearchExists()&&angular.forEach(h,function(t){var r=i.getSearchValue(t),u;r!==null&&(typeof r=="string"&&(r=[r]),u=n[t].Filters,angular.forEach(u,function(i){angular.forEach(r,function(r){i.CodeName===r&&n[t].ShortName===t&&(i.selected=!0)})}))});r.resourceFilters=n}var s=i.resolveUrl("~/library/img/common.svg#minus-sign"),e=i.resolveUrl("~/library/img/common.svg#plus-sign"),o;r.activeFilterOption;var u=null,f=null,h=["category","product","solution","industry","language"];r.filterIconUrl=e;o=n.get("/searchapi/ResourceCategory/GetResourceFilters");o.then(function(n){c(n)});r.toggleFilterOption=function(n,t){var h=r.activeFilterOption,i=angular.element(n.currentTarget).parent(".filter-toggle"),c=i.find(".filter-list"),l=i.find(".filter-icon svg use"),o=u,a=f;u=c;f=l;h!==t?(u.slideDown(),f.attr("xlink:href",s),o&&(o.slideUp(),a.attr("xlink:href",e)),r.activeFilterOption=t):(u.slideUp(),f.attr("xlink:href",e),r.activeFilterOption=-1,u=null,f=null)};r.addRemoveFilter=function(n,i,u){var f=1,e;f!==null&&(window.location.href=window.location.href.indexOf("page")>=0?window.location.href.replace(/page=([^&]{0,1})+/g,"page="+f):window.location.href.indexOf("?")>=0?window.location.href+"&page="+f:window.location.href+"?page="+f);e={name:n,shortName:i,value:u};t.notifyFiltersChanged(e,!r.isMobile)};r.$on("filtersCleared",function(){angular.forEach(r.resourceFilters,function(n){angular.forEach(n.Filters,function(n){n.selected=n.ItemId===r.currentCulture?!0:!1})})})}}}]);ipswitch.directive("resourceVideo",["urlSvc",function(n){return{restrict:"AE",scope:{},templateUrl:n.resolveUrl("~/library/js/angular/views/ResourceVideo.html"),link:function(n){n.$on("videoScriptChanged",function(t,i){n.videoScript=i});n.closeModal=function(){n.videoScript="";ResourceController.toggleVideoOpen()}}}}])