!function(){"use strict";function PropertyContact($scope,service,logger,propertyEnquiryDialog,propertyPriceBox){var vm=this;vm.contact=service,vm.init=function(ownerId){service.init(ownerId)},vm.openEnquiryDialog=function(enquiryUrl){var criteria=propertyPriceBox.criteria;propertyEnquiryDialog.open(enquiryUrl,criteria.dateFrom,criteria.dateTo,criteria.adults,criteria.children,criteria.infants)},vm.showPhoneAndIncrement=function(propertyId){vm.contact.showPhoneAndIncrement(propertyId).then((function(){vm.phoneVisible=!0}),(function(errors){}))},vm.phoneVisible=!1}angular.module("app").controller("PropertyContact",PropertyContact),PropertyContact.$inject=["$scope","propertyContact","logger","propertyEnquiryDialog","propertyPriceBox"]}(),function(){"use strict";function propertyContact(api){var service={ownerId:0,init:function(ownerId){service.ownerId=ownerId},showPhoneAndIncrement:function(propertyId){return api.showPhoneAndIncrement(propertyId).then((function(result){return result}))}};return service}angular.module("app").factory("propertyContact",propertyContact),propertyContact.$inject=["propertyContactApi"]}(),function(){"use strict";function propertyContactApi(api){return{showPhoneAndIncrement:function(propertyId){return api.post("/api/property/phoneclicked/inc",{id:propertyId})}}}angular.module("app").factory("propertyContactApi",propertyContactApi),propertyContactApi.$inject=["cshApi"]}(),function(){"use strict";function propertyReviewApi(api){return{getReviews:function(propertyId){return api.get("/api/propertyreviews/",{propertyId:propertyId})},getReview:function(reviewId){return api.get("/api/propertyreview/",{reviewId:reviewId})},vote:function(reviewId,isUpVote){return api.post("/api/propertyreview/vote",{reviewId:reviewId,isUpVote:isUpVote})},undoVote:function(reviewId){return api.post("/api/propertyreview/undovote",{reviewId:reviewId})},reportAbuse:function(reviewId){return api.post("/api/propertyreview/reportabuse",{reviewId:reviewId})}}}angular.module("app").factory("propertyReviewApi",propertyReviewApi),propertyReviewApi.$inject=["cshApi"]}(),function(){"use strict";function PropertyReview($scope,service,logger){var vm=this;function setVm(){var review=service.get(vm.reviewId);vm.title=review.title,vm.description=review.description,vm.ownerComment=review.ownerComment,vm.textNumberOfVotes=review.textNumberOfVotes,vm.textMyVote=review.textMyVote,vm.reportedAbuse=review.reportedAbuse}vm.init=function(propertyId,reviewId,pageLanguage,reviewLanguage){vm.reviewId=reviewId,vm.textVisible=vm.isNativeLanguage=reviewLanguage==pageLanguage,service.init(propertyId).then(setVm)},vm.vote=function(positive){service.vote(vm.reviewId,positive).then(setVm)},vm.undoVote=function(){service.undoVote(vm.reviewId).then(setVm)},vm.reportAbuse=function(){service.reportAbuse(vm.reviewId).then(setVm)},vm.reviewId=0,vm.textVisible=!0,vm.isNativeLanguage=!0,vm.title="",vm.description="",vm.ownerComment="",vm.textNumberOfVotes="",vm.textMyVote="",vm.reportedAbuse=!1}angular.module("app").controller("PropertyReview",PropertyReview),PropertyReview.$inject=["$scope","propertyReview","logger"]}(),function(){"use strict";function propertyReview($q,api){var deferred,service={reviews:[],init:function(propertyId){return deferred||(deferred=$q.defer(),api.getReviews(propertyId).then((function(data){service.reviews=data,deferred.resolve(data),deferred=!1}))),deferred.promise},get:function(reviewId){for(var i=0;i