var corpServices=angular.module("diversus.feature.commfinder.services",["ngResource"]),navigationModule,communityFinderModule;(function(){var t="/api/",i="/sessionapi/",n=function(n,r,u,f,e){var o=t;return e&&(o=i),["$resource",function(t){return f?t(jsWebApi.ensureSitecoreContext(o+n),r,jsWebApi.antiForgeryRequest(u)):t(jsWebApi.ensureSitecoreContext(o+n),r,jsWebApi.anonymousRequest(u))}]};corpServices.factory("FinderDetailService",n("CommunityFinderDetail/:id",{id:"@id"},!0,!1,!1));corpServices.factory("FinderSearchService",n("CommunityFinderSearch/:id",{id:"@id"},!0,!1,!1));corpServices.factory("FinderCategoryListService",n("FinderCategoryList/:id",{id:"@id"},!0,!1,!1));corpServices.factory("FinderUpdateService",n("CommunityFinderUpdate/:id",{id:"@id"},!1,!1,!1));corpServices.factory("FinderLocationService",n("locationcollection/:id",{id:"@id"},!1,!1,!1))})();navigationModule=angular.module("diversus.feature.commfinder.detailModule",["ngRoute","ngSanitize","uiGmapgoogle-maps"]);navigationModule.controller("CommunityFinderDetailCtrl",["$scope","FinderDetailService","$controller","uiGmapGoogleMapApi","uiGmapIsReady",function(n,t,i){n.populateFinderDetailControlData=function(){n.callWebApiService(t,{id:n.DataSource}).then(function(t){return n.HandleResponseErrors(t),n.Data=t,!0},function(){n.onSubmitFail()})};n.init=function(t){angular.extend(this,i("BaseCtrl",{$scope:n}));angular.extend(this,i("BaseGoogleMapsCtrl",{$scope:n}));n.DataSource=t;n.populateFinderDetailControlData()}}]);navigationModule=angular.module("diversus.feature.commfinder.searchModule",["ngRoute","ngSanitize","uiGmapgoogle-maps"]);navigationModule.controller("CommunityFinderSearchCtrl",["$scope","FinderSearchService","$controller","uiGmapGoogleMapApi","uiGmapIsReady","FinderCategoryListService","$window",function(n,t,i,r,u,f){n.setHistoryUrl=function(n){var i=window.location.href,t="?keywords="+n.keywords+"&category="+n.categories+",";t=location.protocol+"//"+location.host+location.pathname+t;i!=t&&history.replaceState({},null,t)};n.DownloadExport=function(){window.open("/api/FinderExport/?searchTerm="+n.data.search.keywords+"&category="+n.data.search.categories,"_blank","")};n.$watch("data.search.keywords",function(){if(n.data.search.keywords.length==0){n.resetPager();n.loadDefaultFacets();return}},!0);n.PerformSearch=function(i){n.pageErrors={};n.HasResults=!1;i.keywords.length==0&&(n.LastKeywords!=i.keywords&&n.resetPager(),n.loadDefaultFacets());n.LastKeywords!=i.keywords&&n.resetPager();n.setHistoryUrl(i);n.callWebApiService(t,{SearchTerm:i.keywords,PageNumber:0,PageSize:n.pager.currentPage*n.pager.pageSize,Categories:i.categories,ParentPath:i.ParentPath}).then(function(t){var u,r;if(n.HandleResponseErrors(t),n.pager.totalItems=t.TotalItems,n.data.Categories=t.CategoryFacets,n.data.totalResults=t.TotalItems,n.LastKeywords=i.keywords,t.SearchResultsItems.length>=1){for(n.HasResults=!0,n.Items=t.SearchResultsItems,n.totalItems=t.TotalItems,n.ShowMoreButton=n.totalItems<n.pager.currentPage*n.pager.pageSize?!1:!0,u=[],r=0;r<t.SearchResultsItems.length;r++)t.SearchResultsItems[r].Locations[0]!=undefined?(t.SearchResultsItems[r].Locations[0].Title=t.SearchResultsItems[r].Title,t.SearchResultsItems[r].Locations[0].Link=t.SearchResultsItems[r].ItemLink,u.push(t.SearchResultsItems[r].Locations[0])):u.push({});n.initMap(u,t.Longitude,t.Latitude,t.Zoom,!1,!1)}else n.initMap([],t.Longitude,t.Latitude,t.Zoom,!1,!1);return!0},function(){n.onSubmitFail()})};n.ShowMore=function(){n.pager.currentPage=n.pager.currentPage+1;n.ShowMoreButton=!1;n.PerformSearch(n.data.search)};n.SearchSubmit=function(){n.pager.currentPage=1;n.ShowMoreButton=!1;n.populatePageData(n.data.search)};n.loadDefaultFacets=function(){n.callWebApiService(f,{id:"{7E39271A-C08D-410D-8F01-D176EE64B77C}"}).then(function(t){return n.HandleResponseErrors(t),n.data.Categories=t.CategoryFacets,!0},function(){n.onSubmitFail()})};n.WhichClass=function(t){return t==n.Category?"active":""};n.populatePageData=function(){n.PerformSearch(n.data.search)};n.init=function(t){angular.extend(this,i("BaseCtrl",{$scope:n}));angular.extend(this,i("BaseGoogleMapsCtrl",{$scope:n}));n.data.search={};n.data.search.ParentPath=t;n.data.search.keywords="";n.data.search.categories=[];n.LastKeywords="";n.data.Categories=[];n.loadDefaultFacets();n.HasResults=!1;n.initPager();n.pager.pageSize=6;n.pager.maxSize>3&&(n.pager.maxSize=4);var r=window.jsCommon.getUrlParameter("keywords"),u=window.jsCommon.getUrlParameter("category");(r||u)&&(r&&(n.data.search.keywords=r),u&&(n.data.search.categories=u));n.PerformSearch(n.data.search)}}]);communityFinderModule=angular.module("diversus.feature.commfinder.updatectrlModule",["ngRoute","ngSanitize"]);communityFinderModule.directive("fileread",[function(){return{scope:{fileread:"="},link:function(n,t){t.bind("change",function(t){var i=new FileReader;i.onload=function(i){n.$apply(function(){n.fileread={data:i.target.result,name:t.target.value}})};i.readAsDataURL(t.target.files[0])})}}}]);communityFinderModule.controller("CommunityFinderUpdateCtrl",["$scope","$controller","$q","FinderUpdateService","FinderCategoryListService","FinderLocationService",function(n,t,i,r,u,f){n.dto={GoogleMapsLocationUrl:""};n.state={success:!1,loading:!0};n.test=function(){console.log(n.dto);console.log(n.dto.attachment)};n.valid={map:!0};n.$watch("dto.GoogleMapsLocationUrl",function(){var t=n.dto.GoogleMapsLocationUrl,i,r,u,f;if(t!=null){if(!t.match(/^https:\/\/www\.google\.com\.au\/maps\//g)){n.valid.map=!1;return}if(n.valid.map=!0,i=t.match(/(\-)?\d+\.\d+\!4d(\-)?\d+\.\d+/),i)r=i[0].split(","),n.dto.Latitude=r[0],n.dto.Longitude=r[1];else{n.valid.map=!1;return}if(t.match(/^https:\/\/www\.google\.com\.au\/maps\/place\//g)){if(u=t.match(/\/place\/[^@]+\/@/),!u){n.valid.map=!1;return}f=decodeURIComponent(u[0].split("/")[2].replace(/\+/g,"%20"));n.dto.LocationName=f}}});var e=function(n){return Object.keys(n).forEach(function(t){n[t]&&typeof n[t]=="object"||(n[t]===""||n[t]===null)&&delete n[t]}),n},o=function(n,t){var r=i.defer(),u=function(n){r.resolve(n)},f=function(n){r.reject(n)};return e(t),n.post(t,u,f),r.promise};n.submit=function(){if(n.dto.Recaptcha=grecaptcha.getResponse(),!n.dto.Recaptcha){n.ModelState={"cfi.Captcha":["Fill in the CAPTCHA to submit the form"]};return}n.ModelState=null;n.state.loading=!0;o(r,n.dto).then(function(){return n.state.loading=!1,n.state.success=!0,!0},function(t){n.onSubmitFail();t.status===400&&(n.ModelState=typeof t.data.ModelState!="undefined"?t.data.ModelState:{"cfi.Email":[t.data.Message]});grecaptcha.reset();n.state.loading=!1})};n.init=function(i){angular.extend(this,t("BaseCtrl",{$scope:n}));n.callWebApiService(u,{id:"{30E95B60-E2A4-49A2-9AA1-500B0ED7337F}"}).then(function(t){return n.categories=t.CategoryFacets,!0},function(){n.onSubmitFail()});n.callWebApiService(f,{id:"{E950CE1A-423F-41F5-8BC3-1A33CF18D86B}"}).then(function(t){return n.locations=t.Locations,!0},function(){n.onSubmitFail()});n.callWebApiService(r,{id:i}).then(function(t){return n.dto=t,n.state.loading=!1,!0},function(){n.onSubmitFail();n.state.loading=!1})}}])