var __extends,App;(function(){"use strict";function n(n,t,i,r,u,f){u.debugInfoEnabled(!1);r.theme("default").primaryPalette("teal").accentPalette("light-blue");n.html5Mode(!1);n.hashPrefix("!");t.configure({key:i.googleApiKey,v:"3.20"});f.baseUrl=i.apiServiceBaseUri;f.loginOnSignup=!1;f.google({clientId:i.googleClientId});f.facebook({clientId:i.facebookApiId})}angular.module("app",["ngSanitize","ngCookies","ngMessages","LocalStorageModule","ngAnimate","ngMaterial","ui.router","uiGmapgoogle-maps","angularFileUpload","satellizer"]);angular.module("app").run(["$state","App.Services.StateWatcherService","App.Factories.SessionFactory",function(n,t,i){i.checkAuthenticated()&&i.loadProfile()}]);angular.module("app").config(n);n.$inject=["$locationProvider","uiGmapGoogleMapApiProvider","app.settings","$mdThemingProvider","$compileProvider","$authProvider"]})(),function(){"use strict";function n(n){return n.name}function t(n){return n.region}function i(n){return{latitude:n.latitude,longitude:n.longitude,zoom:13}}function r(r,u,f){f.caseInsensitive(!0);f.strictMode(!1);r.state("home",{url:"/",templateUrl:"/app/views/home.html",controller:"App.HomeController",controllerAs:"vm",resolve:{mapViewPoint:function(){return null}}}).state("root",{url:"/Home",templateUrl:"/app/views/home.html",controller:"App.HomeController",controllerAs:"vm",resolve:{mapViewPoint:function(){return null}}}).state("viewpoint",{url:"/viewpoint?latitude&longitude",templateUrl:"/app/views/home.html",controller:"App.HomeController",controllerAs:"vm",resolve:{mapViewPoint:i}}).state("contact",{url:"/info",templateUrl:"/app/views/contact.html",controller:"App.ContactController",controllerAs:"vm"}).state("hut",{url:"/{region}/huts/{name}",templateUrl:"/app/views/hut.html",controller:"App.HutController",controllerAs:"vm",resolve:{region:t,name:n}}).state("campsite",{url:"/{region}/campsites/{name}",templateUrl:"/app/views/campsite.html",controller:"App.CampsiteController",controllerAs:"vm",resolve:{region:t,name:n}}).state("test",{url:"/test",templateUrl:"/app/views/test.html",controller:"app.controllers.testController",controllerAs:"vm"});u.otherwise("/")}n.$inject=["$stateParams"];t.$inject=["$stateParams"];i.$inject=["$stateParams"];angular.module("app").config(r);r.$inject=["$stateProvider","$urlRouterProvider","$urlMatcherFactoryProvider"]}(),function(){"use strict";function n(n){return n.userid}function t(n){return n.code}function i(i){i.state("login",{url:"/login",templateUrl:"/app/views/auth/login.html",controller:"App.AuthController",controllerAs:"vm"}).state("profile",{url:"/profile",templateUrl:"/app/views/auth/userProfile.html",controller:"App.UserProfileController",controllerAs:"vm"}).state("confirm",{url:"/confirm?userid&code",templateUrl:"/app/views/auth/confirm.html",controller:"App.ConfirmController",controllerAs:"vm",resolve:{userid:n,code:t}}).state("resetPassword",{url:"/resetPassword?userid&code",templateUrl:"/app/views/auth/resetPassword.html",controller:"App.ResetPasswordController",controllerAs:"vm",resolve:{userid:n,code:t}}).state("favorites",{url:"/favorites",templateUrl:"/app/views/auth/favorites.html",controller:"App.FavoritesController",controllerAs:"vm",resolve:{userid:n,code:t}})}n.$inject=["$stateParams"];t.$inject=["$stateParams"];angular.module("app").config(i);i.$inject=["$stateProvider"]}(),function(){"use strict";function n(n){return{searchText:n.q,entityType:n.t,region:n.r,showSearch:!0}}function t(n){return{searchText:null,entityType:null,region:n.r,showSearch:!1}}function i(n){return{searchText:null,entityType:n.t,region:n.r,showSearch:!1}}function r(r){r.state("search",{url:"/search/?q&r&t&p",templateUrl:"/app/views/search.html",controller:"App.SearchController",controllerAs:"vm",resolve:{searchOptions:n}}).state("listByRegion",{url:"/list/{r}",templateUrl:"/app/views/search.html",controller:"App.ListController",controllerAs:"vm",resolve:{searchOptions:t}}).state("listByType",{url:"/list/{r}/{t}",templateUrl:"/app/views/search.html",controller:"App.ListController",controllerAs:"vm",resolve:{searchOptions:i}})}n.$inject=["$stateParams"];t.$inject=["$stateParams"];i.$inject=["$stateParams"];angular.module("app").config(r);r.$inject=["$stateProvider"]}(),function(n){"use strict";var t=function(){function n(n,t,i,r,u){var f=this;this.mapFactory=t;this.favoritesFactory=i;this.googleMapApi=r;this.isLoading=!0;n.then(function(n){f.item=n;f.loadPage();f.isLoading=!1;u.isAuthenticated()&&i.isFavorite(n.pointOfInterestId).then(function(n){f.isFavorite=n})});this.reviews=[];this.isFavorite=!1;this.copyrightText=t.getCopyrightText()}return n.prototype.loadMap=function(){},n.prototype.loadPage=function(){var t=this,n;this.googleMapApi.then(function(n){return t.loadMap(n)});this.markerPoint=this.item.geometry===null?{}:{latitude:this.item.geometry.coordinates[1],longitude:this.item.geometry.coordinates[0]};n={zoom:12,maxZoom:20,minZoom:5,mapTypeId:"Linz",mapTypeControlOptions:{mapTypeIds:[]},panControl:!1,streetViewControl:!1,overviewMapControl:!1};this.linzTypeOptions=this.mapFactory.getLinzTypeOptions();this.map={control:{},events:{blacklist:["drag","dragend","dragstart","zoom_changed"]},center:{latitude:this.item.geometry!==null?this.item.geometry.coordinates[1]:0,longitude:this.item.geometry!==null?this.item.geometry.coordinates[0]:0},zoom:13,options:n,bounds:{}}},n.prototype.setFavorites=function(n){var t=this;n?this.favoritesFactory.deleteFavorite(this.item.pointOfInterestId).then(function(){t.isFavorite=!1}):this.favoritesFactory.addFavorite(this.item.pointOfInterestId).then(function(){t.isFavorite=!0})},n.prototype.postFeedback=function(){var n={comment:this.comments,displayName:this.displayName,profileIcon:"",dateOfVisit:new Date(2015,1,1),overallRating:2,reviewDate:new Date(2015,1,1)};this.reviews.push(n)},n.prototype.getIcon=function(){return this.iconHut},n.prototype.processBoolean=function(n){return n===null?"":n?"check":"close"},n}();n.PointOfInterestController=t}(App||(App={})),function(n){var t;(function(){"use strict";function n(n){function t(t,i,r){function e(){if(!r.fbLike||t.fbLike||u)i.html(f),n.FB.XFBML.parse(i.parent()[0]);else{u=!0;var o=t.$watch("fbLike",function(n){n&&(e(),o())});return}}var u=!1,f='<div class="fb-like" data-share="true" data-width="450" data-show-faces="true"><\/div>';n.FB&&n.fbApiInit?e():i.html(f)}return{restrict:"A",scope:{fbLike:"=?"},link:t}}n.$inject=["$window"];angular.module("app").directive("fbLike",n)})(t=n.directives||(n.directives={}))}(App||(App={})),function(n){var t;(function(){"use strict";function n(){return{restrict:"E",scope:{itemId:"@"},controller:t,controllerAs:"vm",templateUrl:"/app/views/templates/ktComments.html"}}var t=function(){function n(n,t,i){var r=this;this.$scope=n;this.reviewsFactory=t;this.sessionFactory=i;this.isAuthenticated=i.checkAuthenticated();n.$watch("itemId",function(n){n!==""&&r.reviewsFactory.getReviews(+n).then(function(n){r.reviews=n.items})})}return n.$inject=["$scope","App.Factories.ReviewsFactory","App.Factories.SessionFactory"],n}();n.$inject=["$window"];angular.module("app").directive("ktComments",n)})(t=n.directives||(n.directives={}))}(App||(App={})),function(n){var t;(function(){"use strict";function t(){return{restrict:"E",scope:{geoPoint:"="},controller:n,controllerAs:"vm",templateUrl:"/app/views/templates/ktGeoPoint.html"}}var n=function(){function n(n){var t=this;this.$scope=n;this.altitude=null;this.latitude=0;this.longitude=0;this.isValid=!1;n.$watch("geoPoint",function(n){if(n!==undefined&&n!==null){t.isValid=!0;var i=n.coordinates;t.latitude=i[1];t.longitude=i[0];i[2]===undefined||i[2]===null||(t.altitude=i[2])}})}return n.$inject=["$scope","App.Factories.ReviewsFactory","App.Factories.SessionFactory"],n}();angular.module("app").directive("ktGeoPoint",t)})(t=n.directives||(n.directives={}))}(App||(App={})),function(n){var t;(function(){"use strict";function t(){return{restrict:"E",scope:{images:"="},controller:n,controllerAs:"vm",templateUrl:"/app/views/templates/ktImageList.html"}}var n=function(){function n(n){var t=this;this.$scope=n;this.images=[];n.$watch("images",function(n){n!==undefined&&n!==null&&(t.images=n)})}return n.$inject=["$scope","App.Factories.ReviewsFactory","App.Factories.SessionFactory"],n}();angular.module("app").directive("ktImageList",t)})(t=n.directives||(n.directives={}))}(App||(App={})),function(n){var t;(function(){"use strict";function n(n,t){function i(i){t.promise(1).then(function(t){t.forEach(function(t){var u=t.map,f=n(angular.element('<div class="mapcopyright"><span ng-bind-html="copyrighttext"><\/span><\/div>'))(i),r=u.controls[google.maps.ControlPosition.BOTTOM_RIGHT];r.getLength()>0&&r.pop();r.push(f[0])})})}return{restrict:"EMA",link:i,transclude:!0,scope:{copyrighttext:"=copyrighttext"}}}angular.module("app").directive("mapCopyright",n);n.$inject=["$compile","uiGmapIsReady"]})(t=n.directives||(n.directives={}))}(App||(App={})),function(n){var t;(function(){"use strict";function n(n){function r(n,i,r){function o(n){var t=new Image;t.onload=s;t.src=n.target.result}function s(){var n=u.width||this.width/this.height*u.height,t=u.height||this.height/this.width*u.width;f.attr({width:n,height:t});f[0].getContext("2d").drawImage(this,0,0,n,t)}var u,f,e;t.support&&(u=n.$eval(r.ngThumb),t.isFile(u.file))&&t.isImage(u.file)&&(f=i.find("canvas"),e=new FileReader,e.onload=o,e.readAsDataURL(u.file))}var i={restrict:"A",template:"<canvas/>",link:r},t={support:!!(n.FileReader&&n.CanvasRenderingContext2D),isFile:function(t){return angular.isObject(t)&&t instanceof n.File},isImage:function(n){var t="|"+n.type.slice(n.type.lastIndexOf("/")+1)+"|";return"|jpg|png|jpeg|bmp|gif|".indexOf(t)!==-1}};return i}angular.module("app").directive("ngThumb",n);n.$inject=["$window"]})(t=n.directives||(n.directives={}))}(App||(App={})),function(n){var t;(function(){"use strict";function n(){function n(n,t,i,r){r.$validators.compareTo=function(t){return t===n.otherModelValue};n.$watch(n.otherModelValue,function(){r.$validate()})}return{require:"ngModel",scope:{otherModelValue:"=passwordMatch"},link:n}}n.$inject=[];angular.module("app").directive("passwordMatch",n)})(t=n.directives||(n.directives={}))}(App||(App={})),function(n){var t;(function(){"use strict";function n(){function n(n,t,i){n.$watch(i.showFocus,function(n){n&&t[0].focus()},!0)}return{restrict:"A",scope:{column:"="},link:n}}angular.module("app").directive("showFocus",n);n.$inject=[]})(t=n.directives||(n.directives={}))}(App||(App={})),function(n){var t;(function(){"use strict";function n(){function n(n){var t=function(){n.stars=[];for(var t=0;t<n.max;t++)n.stars.push({filled:t<n.ratingValue})};n.toggle=function(t){if(!n.readonly||n.readonly!=="true"){n.ratingValue=t+1;n.onRatingSelected({rating:t+1})}};n.$watch("ratingValue",function(n){(n||n===0)&&t()})}return{restrict:"A",template:'<ul class="rating"><li ng-repeat="star in stars" ng-class="star" ng-click="toggle($index)">★<\/li><\/ul>',scope:{ratingValue:"=",max:"=",readonly:"@",onRatingSelected:"&"},link:n}}angular.module("app").directive("starRating",n);n.$inject=[]})(t=n.directives||(n.directives={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n){return new t(n)}var t=function(){function n(n){this.$window=n}return n.prototype.logPageLoad=function(n){angular.isFunction(this.$window.ga)&&this.$window.ga("send","pageview",n)},n}();n.AnalyticsFactory=t;i.$inject=["$window"];angular.module("app").factory("App.Factories.AnalyticsFactory",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n,i,r){return new t(n,i,r)}var t=function(){function n(n,t,i){this.$q=n;this.$http=t;this.settings=i}return n.prototype.getCampsite=function(n,t){var i=this.$q.defer(),r=n.replace(/[^A-Za-z0-9]/g,"").toLowerCase(),u=t.replace(/[^A-Za-z0-9]/g,"").toLowerCase();return this.$http.get(this.settings.apiServiceBaseUri+"api/campsites/"+r+"/"+u).success(function(n){i.resolve(n)}).error(function(n){i.reject(n)}),i.promise},n}();n.CampsiteFactory=t;i.$inject=["$q","$http","app.settings"];angular.module("app").factory("app.factories.campsiteFactory",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n,i,r){return new t(n,i,r)}var t=function(){function n(n,t,i){this.$q=n;this.$http=t;this.settings=i;this.items=[]}return n.prototype.getFavorites=function(n){var t=this.$q.defer();return this.$http.get(this.settings.apiServiceBaseUri+"api/Huts/?p="+n).success(function(n){t.resolve(n)}).error(function(n){t.reject(n)}),t.promise},n.prototype.addFavorite=function(n){var t=this.$q.defer();return this.$http.post(this.settings.apiServiceBaseUri+"api/favorites/"+n,null).success(function(){t.resolve(!0)}).error(function(){t.reject(!1)}),t.promise},n.prototype.deleteFavorite=function(n){var t=this.$q.defer();return this.$http.delete(this.settings.apiServiceBaseUri+"api/favorites/"+n).success(function(){t.resolve(!0)}).error(function(){t.reject(!1)}),t.promise},n.prototype.isFavorite=function(n){var t=this.$q.defer();return this.$http.get(this.settings.apiServiceBaseUri+"api/favorites/"+n).success(function(n){t.resolve(n)}).error(function(){t.reject(!1)}),t.promise},n.prototype.getAll=function(){var t=this,n=this.$q.defer();return this.$http.get(this.settings.apiServiceBaseUri+"api/favorites/").success(function(i){t.items=i.items;n.resolve(i.items)}).error(function(t){n.reject(t)}),n.promise},n}();n.FavoritesFactory=t;i.$inject=["$q","$http","app.settings"];angular.module("app").factory("App.Factories.FavoritesFactory",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n,i,r){return new t(n,i,r)}var t=function(){function n(n,t,i){this.settings=i;this.$http=t;this.$q=n}return n.prototype.getHuts=function(n){var t=this.$q.defer();return this.$http.get(this.settings.apiServiceBaseUri+"api/Huts/?p="+n).success(function(n){t.resolve(n)}).error(function(n){t.reject(n)}),t.promise},n.prototype.getHut=function(n,t){var i=this.$q.defer();return this.$http.get(this.settings.apiServiceBaseUri+"api/Huts/"+n+"/"+t).success(function(n){i.resolve(n)}).error(function(n){i.reject(n)}),i.promise},n.prototype.saveHut=function(n){var t=this.$q.defer();return this.$http.post(this.settings.apiServiceBaseUri+"api/Huts/",n).success(function(){t.resolve("Saved Hut")}).error(function(n){t.reject(n)}),t.promise},n.prototype.updateHut=function(n,t,i){var r=this.$q.defer();return this.$http.put(this.settings.apiServiceBaseUri+"api/Huts/"+n+"/"+t,i).success(function(){r.resolve("Saved Hut")}).error(function(n){r.reject(n)}),r.promise},n}();n.HutFactory=t;i.$inject=["$q","$http","app.settings"];angular.module("app").factory("app.factories.hutFactory",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n,i){return new t(n,i)}var t=function(){function n(n,t){this.$log=n;this.$mdToast=t;this.toastPosition={bottom:!1,top:!0,left:!1,right:!0}}return n.prototype.error=function(n){this.$log.error("Error: "+n)},n.prototype.success=function(n){this.$log.log("Success: "+n)},n.prototype.info=function(n){this.$log.info("Info: "+n)},n.prototype.debug=function(n,t){this.$log.debug("Info: "+n,t)},n.prototype.showToast=function(n){this.$mdToast.show(this.$mdToast.simple().content(n).position(this.getToastPosition()).hideDelay(3e3))},n.prototype.getToastPosition=function(){var n=this;return Object.keys(this.toastPosition).filter(function(t){return n.toastPosition[t]}).join(" ")},n}();n.Logger=t;i.$inject=["$log","$mdToast"];angular.module("app").factory("app.factories.logger",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n,i,r){return new t(n,i,r)}var t=function(){function n(n,t,i){this.settings=i;this.$http=t;this.$q=n;this.regions=[]}return n.prototype.getRegions=function(){var t=this,n=this.$q.defer();return this.regions.length!==0?n.resolve(this.regions):this.$http.get(this.settings.apiServiceBaseUri+"api/lookupData/regions").success(function(i){t.regions=i;n.resolve(i)}),n.promise},n.prototype.getCategories=function(){var n=this.$q.defer();return this.$http.get(this.settings.apiServiceBaseUri+"api/lookupData/categories").success(function(t){return n.resolve(t),t}),n.promise},n.prototype.getParks=function(){var n=this.$q.defer();return this.$http.get(this.settings.apiServiceBaseUri+"api/lookupData/parks").success(function(t){return n.resolve(t),t}),n.promise},n}();n.LookupDataFactory=t;i.$inject=["$q","$http","app.settings"];angular.module("app").factory("App.Factories.LookupDataFactory",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n,i,r,u){return new t(n,i,r,u)}var t=function(){function n(n,t,i,r){this.$q=n;this.$http=t;this.settings=i;this.localStorageService=r;this.linzMapCounter=0}return n.prototype.getLinzTypeOptions=function(){var n=this;return{getTileUrl:function(t,i){var r=["a","b","c","d"];return n.linzMapCounter>3&&(n.linzMapCounter=0),i<=12?"//tiles-"+r[n.linzMapCounter++]+".data-cdn.linz.govt.nz/services;key=6ee2e0ff89c246448377f9166d9dfa93/tiles/v4/layer=2324/EPSG:3857/"+i+"/"+t.x+"/"+t.y+".png":"//tiles-"+r[n.linzMapCounter++]+".data-cdn.linz.govt.nz/services;key=6ee2e0ff89c246448377f9166d9dfa93/tiles/v4/layer=2343/EPSG:3857/"+i+"/"+t.x+"/"+t.y+".png"},tileSize:{height:256,width:256},maxZoom:16,minZoom:6,radius:1738e3,name:"Linz",alt:"LINZ Topo Maps"}},n.prototype.getLinzAerialTypeOptions=function(){var n=this;return{getTileUrl:function(t,i){return n.linzMapCounter>3&&(n.linzMapCounter=0),"//tiles-"+["a","b","c","d"][n.linzMapCounter++]+".data-cdn.linz.govt.nz/services;key=6ee2e0ff89c246448377f9166d9dfa93/tiles/v4/set=2/EPSG:3857/"+i+"/"+t.x+"/"+t.y+".png"},tileSize:{height:256,width:256},maxZoom:20,minZoom:6,radius:1738e3,name:"LinzAerial",alt:"LINZ Aerial Maps"}},n.prototype.getNzms1TypeOptions=function(){var n=this;return{getTileUrl:function(t,i){var r=n.getNormalizedCoord(t,i),u;return r?(u=Math.pow(2,i),"//az712412.vo.msecnd.net/nzms1/"+i+"/"+r.x+"/"+(u-r.y-1)+".png"):null},tileSize:{height:256,width:256},maxZoom:14,minZoom:7,radius:1738e3,name:"NZMS1",alt:"New Zealand Historic Maps"}},n.prototype.getNormalizedCoord=function(n,t){var u=n.y,i=n.x,r=1<<t;return u<0||u>=r?null:((i<0||i>=r)&&(i=(i%r+r)%r),new google.maps.Point(i,u))},n.prototype.getCopyrightText=function(){return'Images sourced from <a target="_blank" href="http://www.linz.govt.nz/">LINZ<\/a>. Crown Copyright Reserved'},n.prototype.getMarkers=function(n){var i=this.$q.defer(),t=this.settings.apiServiceBaseUri+"api/Map?action=Markers";return t+="&NthEstLat="+n.nlat,t+="&NthEstLng="+n.nlng,t+="&SthWstLat="+n.slat,t+="&SthWstLng="+n.slng,this.$http.get(t).success(function(n){i.resolve(n.items)}).error(function(n){i.reject(n)}),i.promise},n.prototype.getMapPoint=function(){return this.localStorageService.get("mapViewPoint")},n.prototype.setMapPoint=function(n){this.localStorageService.set("mapViewPoint",n)},n}();n.MapFactory=t;i.$inject=["$q","$http","app.settings","localStorageService"];angular.module("app").factory("App.Factories.MapFactory",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n,i,r){return new t(n,i,r)}var t=function(){function n(n,t,i){this.$q=n;this.$http=t;this.settings=i}return n.prototype.getReviews=function(n){var t=this.$q.defer();return this.$http.get(this.settings.apiServiceBaseUri+"api/reviews/"+n).success(function(n){t.resolve(n)}).error(function(n){t.reject(n)}),t.promise},n}();n.ReviewsFactory=t;i.$inject=["$q","$http","app.settings"];angular.module("app").factory("App.Factories.ReviewsFactory",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n,i,r){return new t(n,i,r)}var t=function(){function n(n,t,i){this.settings=i;this.$http=t;this.$q=n}return n.prototype.getSearch=function(n,t,i,r){var f=this.$q.defer(),e=this.settings.apiServiceBaseUri+"api/search/",u=[];return n!==undefined&&n!==null&&u.push("q="+n),t!==undefined&&t!==null&&u.push("p="+t),i!==undefined&&i!==null&&u.push("r="+i),r!==undefined&&r!==null&&u.push("t="+r),e+=(e.indexOf("?")===-1?"?":"&")+u.join("&"),this.$http.get(e,{headers:{"Content-Type":"text/plain"}}).success(function(n){f.resolve(n)}).error(function(n){f.reject(n)}),f.promise},n}();n.SearchFactory=t;i.$inject=["$q","$http","app.settings"];angular.module("app").factory("App.Factories.SearchFactory",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";function i(n,i,r,u,f,e){return new t(n,i,r,u,f,e)}var t=function(){function n(n,t,i,r,u,f){this.$q=n;this.$auth=t;this.$http=i;this.settings=r;this.$state=u;this.$rootScope=f;this.clearSession()}return n.prototype.loadProfile=function(){var n=this,t=this.$q.defer();return this.$auth.isAuthenticated()?this.$http.get(this.settings.apiServiceBaseUri+"api/me").then(function(i){var r=i.data;n.isAuthenticated=!0;n.pictureUrl=r.picture;n.displayName=r.displayName;n.coverImage=r.cover;n.$rootScope.$broadcast("sessionChanged");t.resolve(r)}).catch(function(i){i.status===401&&(n.clearSession(),n.$state.go("login"));t.reject(i)}):(this.clearSession(),this.$state.go("login"),t.reject()),t.promise},n.prototype.clearSession=function(){this.isAuthenticated=!1;this.pictureUrl="";this.coverImage="";this.$rootScope.$broadcast("sessionChanged")},n.prototype.checkAuthenticated=function(){return this.$auth.isAuthenticated()},n.prototype.logout=function(){this.$auth.logout();this.clearSession()},n.prototype.updateProfile=function(n){var i=this,t=this.$q.defer();return this.$http.put(this.settings.apiServiceBaseUri+"api/me",n).then(function(){t.resolve()}).catch(function(n){n.status===401&&(i.clearSession(),i.$state.go("login"));t.reject(n)}),t.promise},n.prototype.confirmEmail=function(n,t){var i=this.$q.defer();return this.$http.get(this.settings.apiServiceBaseUri+"auth/confirmEmail?userid="+n+"&code="+encodeURIComponent(t)).then(function(){i.resolve()}).catch(function(n){i.reject(n)}),i.promise},n.prototype.resetPasswordRequest=function(n){var t=this.$q.defer(),i={email:n};return this.$http.post(this.settings.apiServiceBaseUri+"auth/ForgotPassword",i).then(function(){t.resolve()}).catch(function(n){t.reject(n)}),t.promise},n.prototype.resetPasswordResponse=function(n,t,i){var r=this.$q.defer(),u={userId:n,token:t,password:i};return this.$http.post(this.settings.apiServiceBaseUri+"auth/ResetPassword",u).then(function(){r.resolve()}).catch(function(n){r.reject(n)}),r.promise},n}();n.SessionFactory=t;i.$inject=["$q","$auth","$http","app.settings","$state","$rootScope"];angular.module("app").factory("App.Factories.SessionFactory",i)})(t=n.Factories||(n.Factories={}))}(App||(App={})),function(n){var t;(function(n){"use strict";var t=function(){function n(n,t,i,r){function u(n,t,u){var f=i.href(t,u,{absolute:!1});r.logPageLoad(f)}n.$on("$stateChangeSuccess",u)}return n.$inject=["$rootScope","app.factories.logger","$state","App.Factories.AnalyticsFactory"],n}();n.StateWatcherService=t;angular.module("app").service("App.Services.StateWatcherService",t)})(t=n.Services||(n.Services={}))}(App||(App={})),function(){function n(n){return{restrict:"A",replace:!0,templateUrl:"/app/common/google-ad-sense/google-ad-sense.tpl.html",controller:function(){(n.adsbygoogle=n.adsbygoogle||[]).push({})}}}n.$inject=["$window"];angular.module("app").directive("googleAdSense",n)}(),function(){"use strict";var n=function(){function n(n,t,i){this.logger=n;this.$auth=t;this.sessionFactory=i;this.isLoginVisible=!0;this.isSignUpVisible=!1;this.isResetPasswordVisible=!1;this.submissionError=null}return n.prototype.authenticate=function(n){var t=this;this.$auth.authenticate(n).then(function(){t.sessionFactory.loadProfile();t.logger.showToast("Login All Good")}).catch(function(n){var i=n.data?n.data.message:n;i||(i="Remote provider returned unknown error");t.logger.showToast(i)})},n.prototype.signUp=function(){var n=this;this.$auth.signup({displayName:this.displayName,email:this.email,password:this.password}).then(function(){n.sessionFactory.loadProfile()}).catch(function(t){n.submissionError=t.data.message})},n.prototype.login=function(){var n=this;this.submissionError=null;this.$auth.login({email:this.email,password:this.password}).then(function(){n.sessionFactory.loadProfile()}).catch(function(t){n.submissionError=t.data.message})},n.prototype.resetPassword=function(){var n=this;this.submissionError=null;this.sessionFactory.resetPasswordRequest(this.email).then(function(){n.logger.showToast("Password Reset Request Sent")}).catch(function(t){n.submissionError=t.data.message})},n.prototype.showLogin=function(){this.password="";this.submissionError=null;this.isLoginVisible=!0;this.isSignUpVisible=!1;this.isResetPasswordVisible=!1},n.prototype.showSignUp=function(){this.password="";this.submissionError=null;this.isLoginVisible=!1;this.isSignUpVisible=!0;this.isResetPasswordVisible=!1},n.prototype.showResetPassword=function(){this.password="";this.submissionError=null;this.isLoginVisible=!1;this.isSignUpVisible=!1;this.isResetPasswordVisible=!0},n.$inject=["app.factories.logger","$auth","App.Factories.SessionFactory"],n}();angular.module("app").controller("App.AuthController",n)}(App||(App={})),function(){"use strict";var n=function(){function n(n,t,i,r){var u=this;this.$scope=n;this.$state=t;this.$mdSidenav=i;this.sessionFactory=r;this.pictureUrl="";n.$on("sessionChanged",function(){u.pictureUrl=u.sessionFactory.pictureUrl;u.isAuthenticated=u.sessionFactory.isAuthenticated;u.displayName=u.sessionFactory.displayName;u.sessionFactory.coverImage&&(u.cover={"background-image":"url("+u.sessionFactory.coverImage+")","background-size":"cover"})})}return n.prototype.toggleList=function(){this.$mdSidenav(n.navBarId).toggle()},n.prototype.loadHome=function(){this.$state.go("home");this.$mdSidenav(n.navBarId).isOpen()&&this.$mdSidenav(n.navBarId).toggle()},n.prototype.loadSearch=function(){this.$state.go("search");this.$mdSidenav(n.navBarId).isOpen()&&this.$mdSidenav(n.navBarId).toggle()},n.prototype.loadLogin=function(){this.$state.go("login");this.$mdSidenav(n.navBarId).isOpen()&&this.$mdSidenav(n.navBarId).toggle()},n.prototype.loadProfile=function(){this.$state.go("profile");this.$mdSidenav(n.navBarId).isOpen()&&this.$mdSidenav(n.navBarId).toggle()},n.prototype.loadLogoff=function(){this.sessionFactory.logout();this.$mdSidenav(n.navBarId).isOpen()&&this.$mdSidenav(n.navBarId).toggle()},n.prototype.loadContact=function(){this.$state.go("contact");this.$mdSidenav(n.navBarId).isOpen()&&this.$mdSidenav(n.navBarId).toggle()},n.prototype.loadFavorites=function(){this.$state.go("favorites");this.$mdSidenav(n.navBarId).isOpen()&&this.$mdSidenav(n.navBarId).toggle()},n.navBarId="left",n.$inject=["$scope","$state","$mdSidenav","App.Factories.SessionFactory"],n}();angular.module("app").controller("App.BodyController",n)}(App||(App={}));__extends=this.__extends||function(n,t){function r(){this.constructor=n}for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);r.prototype=t.prototype;n.prototype=new r},function(n){"use strict";var t=function(n){function t(t,i,r,u,f,e,o){n.call(this,r.getCampsite(t,i),f,u,e,o);this.$auth=o;this.iconHut={url:"content/images/pin-darkgray.png",anchor:{x:12.5,y:34}}}return __extends(t,n),t.$inject=["region","name","app.factories.campsiteFactory","App.Factories.FavoritesFactory","App.Factories.MapFactory","uiGmapGoogleMapApi","$auth"],t}(n.PointOfInterestController);angular.module("app").controller("App.CampsiteController",t)}(App||(App={})),function(){"use strict";var n=function(){function n(n,t,i){var r=this;this.isLoading=!0;n.confirmEmail(t,i).then(function(){r.message="Email Confirmed"}).catch(function(n){r.message="Error: "+n.data.message}).finally(function(){r.isLoading=!1})}return n.$inject=["App.Factories.SessionFactory","userid","code"],n}();angular.module("app").controller("App.ConfirmController",n)}(App||(App={})),function(){"use strict";var n=function(){function n(n,t,i){this.$mdToast=n;this.$http=t;this.settings=i;this.messageSent=!1;this.isSending=!1;this.toastPosition={bottom:!1,top:!0,left:!1,right:!0}}return n.prototype.getToastPosition=function(){var n=this;return Object.keys(this.toastPosition).filter(function(t){return n.toastPosition[t]}).join(" ")},n.prototype.sendMail=function(){var n=this,t;this.isSending=!0;t={name:this.contactName,email:this.contactEmail,message:this.contactMessage};this.$http.post(this.settings.apiServiceBaseUri+"api/contacts",t).success(function(){n.messageSent=!0;n.$mdToast.show(n.$mdToast.simple().content("Thanks for your Message "+n.contactName+" I will get back to your soon!").position(n.getToastPosition()).hideDelay(3e3))}).error(function(){n.$mdToast.show(n.$mdToast.simple().content("Error sending message").position(n.getToastPosition()).hideDelay(3e3))}).finally(function(){n.isSending=!1})},n.$inject=["$mdToast","$http","app.settings"],n}();angular.module("app").controller("App.ContactController",n)}(App||(App={})),function(){"use strict";var n=function(){function n(n,t){var i=this;this.favoritesFactory=n;this.$state=t;this.colors=["green","blue","gray","yellow","red","purple"];this.items=[];this.isLoading=!0;this.favoritesFactory.getAll().then(function(n){for(var r,t=0;t<n.length;t++)r=angular.extend({},n[t]),r.color=i.randomColor(),i.items.push(r)}).finally(function(){i.isLoading=!1})}return n.prototype.detail=function(n){n.entityType==="CampSite"?this.$state.go("campsite",{region:n.region,name:n.name}):this.$state.go("hut",{region:n.region,name:n.name})},n.prototype.randomColor=function(){return this.colors[Math.floor(Math.random()*this.colors.length)]},n.$inject=["App.Factories.FavoritesFactory","$state"],n}();angular.module("app").controller("App.FavoritesController",n)}(App||(App={})),function(){"use strict";var n=function(){function n(n,t,i,r,u,f,e){var o=this,s,h;this.$scope=n;this.$state=t;this.logger=r;this.mapFactory=u;this.$mdMedia=f;this.markers=[];this.tracks=[];this.oldMapQuery=null;this.copyrightText=u.getCopyrightText();s=e!==undefined&&e!==null?e:this.mapFactory.getMapPoint();(s===undefined||s===null)&&(s={latitude:-40.748635,longitude:175.437114,zoom:6,mapTypeId:"Linz"});(s.mapTypeId==undefined||s.mapTypeId==null)&&(s.mapTypeId="Linz");this.linzTypeOptions=u.getLinzTypeOptions();this.linzAerialTypeOptions=u.getLinzAerialTypeOptions();h={zoom:12,maxZoom:20,minZoom:5,mapTypeId:s.mapTypeId,mapTypeControlOptions:{mapTypeIds:["Linz","LinzAerial"]},panControl:!1,streetViewControl:!1,overviewMapControl:!0};this.map={control:{},events:{blacklist:["drag","dragend","dragstart","zoom_changed"]},center:{latitude:s.latitude,longitude:s.longitude},zoom:s.zoom,options:h,bounds:{},window:{marker:{},show:!1,closeClick:function(){o.map.window.show=!1},options:{boxClass:"custom-info-window",closeBoxURL:""}},markersEvents:{mousedown:function(n,t,i){o.map.window.model=i;o.map.window.show=!0}}};n.$watch(function(){return o.map.bounds},function(n){var t,i,r;if(n.northeast!==undefined){if(t=o.map.control.getGMap(),i={latitude:t.center.lat(),longitude:t.center.lng(),zoom:t.zoom,mapTypeId:t.mapTypeId},o.mapFactory.setMapPoint(i),t.zoom<11){o.markers=[];return}r={nlat:Math.ceil(n.northeast.latitude*10)/10,slat:Math.floor(n.southwest.latitude*10)/10,nlng:Math.ceil(n.northeast.longitude*10)/10,slng:Math.floor(n.southwest.longitude*10)/10};o.mapFactory.getMarkers(r).then(function(n){for(var t=0;t<n.length;t++)o.markers.indexOf(n[t])===-1&&o.markers.push(n[t])})}},!0);i.then(function(n){return o.loadMap(n)})}return n.prototype.closeClick=function(){this.map.window.show=!1},n.prototype.openItem=function(n){return n.entityType==="CampSite"?this.$state.go("campsite",{region:n.region,name:n.name}):this.$state.go("hut",{region:n.region,name:n.name}),!1},n.prototype.loadMap=function(n){var t=this;this.iconHut={url:"content/images/pin-darkgreen.png",anchor:new google.maps.Point(12.5,34)};google.maps.event.addListener(n,"maptypeid_changed",function(){t.copyrightText=n.getMapTypeId().toString()});window.setTimeout(function(){var n=t.map.control.getGMap().getCenter();google.maps.event.trigger(t.map.control.getGMap(),"resize");t.map.control.getGMap().setCenter(n)},500)},n.prototype.getIcon=function(){return this.iconHut},n.prototype.openSearch=function(){this.$state.go("search")},n.prototype.isDesktop=function(){return this.$mdMedia("gt-md")},n.$inject=["$scope","$state","uiGmapGoogleMapApi","app.factories.logger","App.Factories.MapFactory","$mdMedia","mapViewPoint"],n}();angular.module("app").controller("App.HomeController",n)}(App||(App={}));__extends=this.__extends||function(n,t){function r(){this.constructor=n}for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);r.prototype=t.prototype;n.prototype=new r},function(n){"use strict";var t=function(n){function t(t,i,r,u,f,e,o,s,h,c){var l=this;n.call(this,r.getHut(t,i),s,h,e,c);this.hutFactory=r;this.settings=u;this.fileUploader=f;this.lookupDataFactory=o;this.$auth=c;console.log("inside Search Detail controller");this.uploader=new f({removeAfterUpload:!0,autoUpload:!1,withCredentials:!0,url:this.settings.apiServiceBaseUri+"api/Image/",onCompleteItem:function(n,t,i,r){console.info("onCompleteItem",n,t,i,r);l.imageCaption="";l.item.images.push(t)},onBeforeUploadItem:function(n){var t={caption:l.imageCaption};n.formData.push(t)}});this.imageCaption="";this.regions=[];this.categories=[];this.parks=[];this.iconHut={url:"content/images/pin-darkgreen.png",anchor:{x:12.5,y:34}}}return __extends(t,n),t.prototype.removePark=function(n){var t=this.item.parks.indexOf(n);this.item.parks.splice(t,1)},t.prototype.save=function(){},t.prototype.loadRegions=function(){var n=this;this.lookupDataFactory.getRegions().then(function(t){n.regions=t})},t.prototype.loadCategories=function(){var n=this;this.lookupDataFactory.getCategories().then(function(t){n.categories=t})},t.prototype.loadParks=function(){var n=this;this.lookupDataFactory.getParks().then(function(t){n.parks=t})},t.prototype.selectPark=function(n){this.item.parks.push(n.name);this.selectedPark=""},t.prototype.openLightboxModal=function(){for(var t,i,r=[],n=0;n<this.item.images.length;n++)t=this.item.images[n],i={url:t.imageUrl,caption:t.caption},r.push(i)},t.prototype.removeImage=function(n){var t=this.item.images.indexOf(n);this.item.images.splice(t,1)},t.$inject=["region","name","app.factories.hutFactory","app.settings","FileUploader","uiGmapGoogleMapApi","App.Factories.LookupDataFactory","App.Factories.MapFactory","App.Factories.FavoritesFactory","$auth"],t}(n.PointOfInterestController);angular.module("app").controller("App.HutController",t)}(App||(App={})),function(n){"use strict";var t=function(){function n(n,t,i){this.colors=["green","blue","gray","yellow","red","purple"];this.searchFactory=t;this.$state=n;this.searchText=i.searchText;this.currentPage=null;this.region=i.region;this.entityType=i.entityType;this.searchOptions=i;this.loading=!1;this.searchOptions.showSearch||(this.searchOptions.entityType!==null?this.searchOptions.entityType[0]==="c"||this.searchOptions.entityType[0]==="C"?(this.buildTitle="Campsites in the "+this.searchOptions.region+" Region",this.searchOptions.entityType="Campsites"):(this.buildTitle="Huts in the "+this.searchOptions.region+" Region",this.searchOptions.entityType="Huts"):this.buildTitle=this.searchOptions.region+" Region");this.totalItems=0;this.huts=[];this.pageChanged()}return n.prototype.pageChanged=function(){var n=this;this.loading=!0;this.searchFactory.getSearch(this.searchText,this.currentPage,this.region,this.entityType).then(function(t){for(var r,i=0;i<t.items.length;i++)r=angular.extend({},t.items[i]),r.color=n.randomColor(),n.huts.push(r);n.totalItems=t.totalItems;n.currentPage=t.pageNumber}).finally(function(){n.loading=!1})},n.prototype.detail=function(n){n.entityType==="CampSite"?this.$state.go("campsite",{region:n.region,name:n.name}):this.$state.go("hut",{region:n.region,name:n.name})},n.prototype.randomColor=function(){return this.colors[Math.floor(Math.random()*this.colors.length)]},n.prototype.loadMore=function(){this.currentPage++;this.pageChanged()},n.$inject=["$state","App.Factories.SearchFactory","searchOptions"],n}();n.ListController=t;angular.module("app").controller("App.ListController",t)}(App||(App={})),function(){"use strict";var n=function(){function n(n,t,i){this.sessionFactory=n;this.userid=t;this.code=i;this.isLoading=!1;this.formSubmitted=!1;this.submissionError=null}return n.prototype.sendPasswordReset=function(){var n=this;this.submissionError=null;this.isLoading=!0;this.sessionFactory.resetPasswordResponse(this.userid,this.code,this.password).then(function(){n.formSubmitted=!0}).catch(function(t){n.submissionError=t.data.message}).finally(function(){n.isLoading=!1})},n.$inject=["App.Factories.SessionFactory","userid","code"],n}();angular.module("app").controller("App.ResetPasswordController",n)}(App||(App={}));__extends=this.__extends||function(n,t){function r(){this.constructor=n}for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);r.prototype=t.prototype;n.prototype=new r},function(n){"use strict";var t=function(n){function t(t,i,r,u,f,e){var o=this;n.call(this,r,u,e);this.$q=t;this.lookupDataFactory=f;this.searchChips=[];this.region!=null&&this.searchChips.push({name:"Region",value:this.region});this.entityType!=null&&this.searchChips.push({name:"Type",value:this.entityType});i.$watch("vm.region",function(n,t){n!==undefined&&n!==null&&t!==n&&(o.searchChips.push({name:"Region",value:n}),o.huts=[],o.pageChanged())});i.$watch("vm.entityType",function(n,t){n!==undefined&&n!==null&&t!==n&&(o.searchChips.push({name:"Type",value:n}),o.huts=[],o.pageChanged())});i.$watchCollection("vm.searchChips",function(n,t){n!=undefined&&(n===t||n.length<t.length&&(t.forEach(function(t){n.indexOf(t)===-1&&(t.name==="Region"?o.region=null:t.name==="Type"&&(o.entityType=null))}),o.huts=[],o.pageChanged()))});this.regions=[]}return __extends(t,n),t.prototype.search=function(){this.$state.go("search",{q:this.searchText,p:this.currentPage,r:this.region,t:this.entityType})},t.prototype.keyPress=function(n){n.which===13&&(this.huts=[],this.pageChanged(),n.preventDefault())},t.prototype.loadRegions=function(){var t=this,n=this.$q.defer();return this.lookupDataFactory.getRegions().then(function(i){t.regions=i;n.resolve(i)}).catch(function(){n.reject()}),n.promise},t.$inject=["$q","$scope","$state","App.Factories.SearchFactory","App.Factories.LookupDataFactory","searchOptions"],t}(n.ListController);angular.module("app").controller("App.SearchController",t)}(App||(App={})),function(n){var t;(function(){"use strict";var n=function(){function n(n,t,i){this.$scope=n;this.$state=t;this.$mdSidenav=i}return n.$inject=["$scope","$state","$mdSidenav"],n}();angular.module("app").controller("app.controllers.testController",n)})(t=n.controllers||(n.controllers={}))}(App||(App={})),function(){"use strict";var n=function(){function n(n,t,i){this.$mdToast=n;this.$auth=t;this.sessionFactory=i;this.submissionError=null;this.toastPosition={bottom:!1,top:!0,left:!1,right:!0};this.loadProfile()}return n.prototype.loadProfile=function(){var n=this;this.sessionFactory.loadProfile().then(function(t){n.userPofile=t;n.displayName=t.displayName;n.password=null;n.oldPassword=null})},n.prototype.updateProfile=function(){var n=this;this.submissionError=null;this.sessionFactory.updateProfile({displayName:this.displayName,oldPassword:this.oldPassword,password:this.password}).then(function(){n.loadProfile()}).catch(function(t){n.submissionError=t.data.message})},n.prototype.link=function(n){var t=this;this.$auth.link(n).then(function(){t.loadProfile()})},n.prototype.unlink=function(n){var t=this;this.$auth.unlink(n).then(function(){t.loadProfile()})},n.prototype.getToastPosition=function(){var n=this;return Object.keys(this.toastPosition).filter(function(t){return n.toastPosition[t]}).join(" ")},n.$inject=["$mdToast","$auth","App.Factories.SessionFactory"],n}();angular.module("app").controller("App.UserProfileController",n)}(App||(App={}))