Error compiling template "Designs/rm/DynamicArticleListPage.cshtml"
Line 21: The using directive for 'Dynamicweb.Content.Items' appeared previously in this namespace
Line 22: The using directive for 'Dynamicweb.Frontend.Navigation' appeared previously in this namespace
Line 23: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 25: The using directive for 'Dynamicweb' appeared previously in this namespace
Line 26: The using directive for 'System.Text.RegularExpressions' appeared previously in this namespace
Line 33: The using directive for 'Dynamicweb' appeared previously in this namespace
Line 34: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 36: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 38: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 39: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 40: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 41: The using directive for 'System.Reflection' appeared previously in this namespace
Line 42: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 43: The using directive for 'System.Reflection' appeared previously in this namespace
Line 44: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 45: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 46: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 47: The using directive for 'System.Text.RegularExpressions' appeared previously in this namespace
Line 48: The using directive for 'System.Reflection' appeared previously in this namespace
Line 49: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 50: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 51: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 52: The using directive for 'System.Reflection' appeared previously in this namespace
Line 53: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 54: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 55: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 56: The using directive for 'System.Reflection' appeared previously in this namespace
Line 57: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 58: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 59: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 60: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 61: The using directive for 'System.Reflection' appeared previously in this namespace
Line 62: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 63: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 64: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 65: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 66: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 68: The using directive for 'System.Reflection' appeared previously in this namespace
Line 69: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 70: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 71: The using directive for 'System.Reflection' appeared previously in this namespace
Line 72: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 73: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 74: The using directive for 'System.Reflection' appeared previously in this namespace
Line 75: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 76: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 77: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 78: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 79: The using directive for 'System.Reflection' appeared previously in this namespace
Line 80: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 81: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 82: The using directive for 'System.Reflection' appeared previously in this namespace
Line 83: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 84: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 85: The using directive for 'System.Reflection' appeared previously in this namespace
Line 86: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 87: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 88: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 89: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 90: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 91: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 92: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 93: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 94: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 95: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 96: The using directive for 'Dynamicweb.Content.Items' appeared previously in this namespace
Line 97: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 98: The using directive for 'Dynamicweb.Rapido.Blocks.Components.Articles' appeared previously in this namespace
Line 99: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 100: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 1703: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1703: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1708: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1710: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1770: The name 'RenderMobileFilters' does not exist in the current context
Line 1779: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1839: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1854: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1870: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1917: Argument 1: cannot convert from 'void' to 'object'
Line 5050: The variable 'placeholderImage' is assigned but its value is never used
1 // <auto-generated/>
2 #pragma warning disable 1591
3 namespace CompiledRazorTemplates.Dynamic
4 {
5 #line hidden
6 using System.Threading.Tasks;
7 using System.Linq;
8 using System;
9 using System.Globalization;
10 using System.Text.RegularExpressions;
11 using Custom.Integration.Brokers;
12 using RealMaeglerne.Dynamicweb;
13 using Dynamicweb.Content.Items;
14 using Dynamicweb.Environment;
15 using Newtonsoft.Json;
16 using Dynamicweb.Logging;
17 using Dynamicweb.Core;
18 using Dynamicweb.Frontend.Navigation;
19 using Dynamicweb;
20 using static RealMaeglerne.Library.Helper;
21 using Dynamicweb.Content.Items;
22 using Dynamicweb.Frontend.Navigation;
23 using Dynamicweb.Core;
24 using Dynamicweb.Core.Encoders;
25 using Dynamicweb;
26 using System.Text.RegularExpressions;
27 using System.Collections.Generic;
28 using System.Reflection;
29 using Dynamicweb.Rapido.Blocks.Components;
30 using Dynamicweb.Rapido.Blocks.Components.Articles;
31 using Dynamicweb.Rapido.Blocks.Components.Documentation;
32 using Dynamicweb.Rapido.Blocks;
33 using Dynamicweb;
34 using Dynamicweb.Rapido.Blocks.Components;
35 using Dynamicweb.Rapido.Blocks.Components.General;
36 using Dynamicweb.Rapido.Blocks;
37 using System.IO;
38 using Dynamicweb.Rapido.Blocks.Components;
39 using Dynamicweb.Rapido.Blocks.Components.General;
40 using Dynamicweb.Rapido.Blocks;
41 using System.Reflection;
42 using Dynamicweb.Rapido.Blocks.Components.General;
43 using System.Reflection;
44 using Dynamicweb.Rapido.Blocks.Components.General;
45 using Dynamicweb.Rapido.Blocks.Components;
46 using Dynamicweb.Core;
47 using System.Text.RegularExpressions;
48 using System.Reflection;
49 using Dynamicweb.Rapido.Blocks.Components.General;
50 using Dynamicweb.Rapido.Blocks.Components;
51 using Dynamicweb.Core;
52 using System.Reflection;
53 using Dynamicweb.Rapido.Blocks.Components;
54 using Dynamicweb.Rapido.Blocks.Components.General;
55 using Dynamicweb.Rapido.Blocks;
56 using System.Reflection;
57 using Dynamicweb.Rapido.Blocks.Components.General;
58 using Dynamicweb.Rapido.Blocks.Components;
59 using Dynamicweb.Rapido.Blocks.Components.General;
60 using Dynamicweb.Rapido.Blocks.Components;
61 using System.Reflection;
62 using Dynamicweb.Rapido.Blocks.Components.General;
63 using Dynamicweb.Core;
64 using Dynamicweb.Rapido.Blocks.Components;
65 using Dynamicweb.Rapido.Blocks.Components.General;
66 using Dynamicweb.Rapido.Blocks;
67 using Dynamicweb.Frontend;
68 using System.Reflection;
69 using Dynamicweb.Rapido.Blocks.Components.General;
70 using Dynamicweb.Rapido.Blocks.Components;
71 using System.Reflection;
72 using Dynamicweb.Rapido.Blocks.Components.General;
73 using Dynamicweb.Rapido.Blocks.Components;
74 using System.Reflection;
75 using Dynamicweb.Rapido.Blocks.Components.General;
76 using Dynamicweb.Rapido.Blocks.Components;
77 using Dynamicweb.Rapido.Blocks.Components.General;
78 using Dynamicweb.Rapido.Blocks.Components;
79 using System.Reflection;
80 using Dynamicweb.Rapido.Blocks.Components.General;
81 using Dynamicweb.Rapido.Blocks.Components;
82 using System.Reflection;
83 using Dynamicweb.Rapido.Blocks.Components.General;
84 using Dynamicweb.Rapido.Blocks.Components;
85 using System.Reflection;
86 using Dynamicweb.Rapido.Blocks.Components.General;
87 using Dynamicweb.Rapido.Blocks.Components;
88 using Dynamicweb.Rapido.Blocks.Components.General;
89 using Dynamicweb.Rapido.Blocks.Components.General;
90 using Dynamicweb.Rapido.Blocks.Components;
91 using Dynamicweb.Rapido.Blocks.Components.General;
92 using Dynamicweb.Rapido.Blocks.Components;
93 using Dynamicweb.Rapido.Blocks.Components.General;
94 using Dynamicweb.Rapido.Blocks.Components;
95 using Dynamicweb.Core;
96 using Dynamicweb.Content.Items;
97 using Dynamicweb.Rapido.Blocks.Components;
98 using Dynamicweb.Rapido.Blocks.Components.Articles;
99 using Dynamicweb.Rapido.Blocks.Components.General;
100 using Dynamicweb.Rapido.Blocks;
101 using Dynamicweb.Security.UserManagement;
102 internal class RazorEngine_f40b5e4a8079499e89ec51c93baad85e : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
103 {
104 #pragma warning disable 1998
105 public async override global::System.Threading.Tasks.Task ExecuteAsync()
106 {
107 WriteLiteral("\r\n");
108 WriteLiteral("\r\n");
109 WriteLiteral("\r\n");
110 WriteLiteral("\r\n");
111 WriteLiteral("\r\n\r\n\r\n");
112 WriteLiteral("\r\n");
113 WriteLiteral("\r\n");
114 WriteLiteral("\r\n");
115 WriteLiteral("\r\n");
116 WriteLiteral("\r\n");
117 WriteLiteral("\r\n");
118 WriteLiteral("\r\n");
119 WriteLiteral("\r\n");
120 WriteLiteral("\r\n");
121 WriteLiteral("\r\n");
122 WriteLiteral("\r\n");
123 WriteLiteral("\r\n");
124 WriteLiteral("\r\n");
125 WriteLiteral("\r\n\r\n");
126 WriteLiteral("\r\n");
127 WriteLiteral("\r\n");
128 WriteLiteral("\r\n");
129 WriteLiteral("\r\n");
130 WriteLiteral("\r\n");
131 WriteLiteral("\r\n");
132 WriteLiteral("\r\n");
133 WriteLiteral("\r\n");
134 WriteLiteral("\r\n");
135 WriteLiteral("\r\n");
136 WriteLiteral("\r\n");
137 WriteLiteral("\r\n");
138 WriteLiteral("\r\n");
139 WriteLiteral("\r\n");
140 WriteLiteral("\r\n");
141 WriteLiteral("\r\n");
142 WriteLiteral("\r\n");
143 WriteLiteral("\r\n");
144 WriteLiteral("\r\n");
145 WriteLiteral("\r\n");
146 WriteLiteral("\r\n");
147 WriteLiteral("\r\n");
148 WriteLiteral("\r\n");
149 WriteLiteral("\r\n\r\n");
150 WriteLiteral("\r\n");
151 WriteLiteral("\r\n");
152 WriteLiteral("\r\n\r\n");
153 WriteLiteral("\r\n");
154 WriteLiteral("\r\n");
155 WriteLiteral("\r\n");
156 WriteLiteral("\r\n\r\n");
157 WriteLiteral("\r\n");
158 WriteLiteral("\r\n");
159 WriteLiteral("\r\n");
160 WriteLiteral("\r\n");
161
162 Context.Current.Response.AddHeader("access-control-allow-origin", "*");
163
164 string bodyClass = "";
165 string template = "real";
166 string TemplateUrl = "/Files/Templates/Designs/rm/";
167 string MetaTitle = Model.Title;
168 string MetaDescription = Model.Description;
169 string MetaKeywords = Model.Keywords;
170 string searchClass = "";
171
172 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css"));
173 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}";
174
175 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg";
176
177 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2");
178
179 // Indstillinger
180 var settings_Frontpage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : "";
181 var settings_Boligside = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : "";
182 var settings_Maeglersogning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : "";
183 var settings_MinSide = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : "";
184 var settings_Sibling_Site = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : "";
185 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : "";
186 var settings_Product_Group = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : "";
187 var settings_Boligagent = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : "";
188 var settings_Persondatapolitik = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : "";
189
190 // API
191 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : "";
192 var settings_BoligListFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : "";
193 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : "";
194 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : "";
195 var settings_BoligCountFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : "";
196 var settings_BoligMapFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : "";
197 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"];
198
199 // Forside
200 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : "";
201 var settings_FrontpageVideo = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : "";
202 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : "";
203
204 // Tracking
205 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : "";
206 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"])))
207 {
208 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]);
209 }
210 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : "";
211 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : "";
212 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : "";
213 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]);
214 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]);
215 var settings_Google_Optimize_Id = Converter.ToString(SettingsItem["Google_Optimize_Id"]);
216
217 // Indstillinger for brugerfunktioner
218 var settings_ForgotPwPage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : "";
219 var settings_NewsletterSignup = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : "";
220 var settings_CreateUserModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : "";
221 var settings_LoginModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : "";
222
223 int createUserParagraphId = 0;
224 int loginParagraphId = 0;
225 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId);
226 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId);
227
228 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv.
229 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv)
230 int searchPageId = GetPageSettingsPageId("Boligside");
231 if (searchPageId == 0)
232 {
233 searchPageId = GetWebsiteSettingsPageId("Boligside");
234 }
235
236 int boligsideId = GetPageSettingsPageId("Boligside");
237 if (boligsideId == 0)
238 {
239 boligsideId = GetWebsiteSettingsPageId("Boligside");
240 }
241
242 string productGroupFilter = String.Empty;
243 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null)
244 {
245 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString();
246 }
247
248 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"]))
249 {
250 searchClass = "is-frontpage";
251 }
252
253 bool isErhverv = false;
254 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null)
255 {
256 var s = Pageview.Page.PropertyItem["Erhverv"].ToString();
257 Boolean.TryParse(s, out isErhverv);
258 }
259
260 bool isBrokerPage = false;
261 if (!string.IsNullOrEmpty(Model.Area.Item.GetString("M_glerGruppeId")))
262 {
263 isBrokerPage = true;
264 bodyClass = ""; // Get rid of transparent header on brokerPage
265 }
266
267 string callTrackingId = Model.Item.GetString("CallTrackingId");
268
269 RealEstate.User.Model.BrokerEmployee MyBroker = null;
270 try
271 {
272 var MyB = new RealEstate.User.MyBroker();
273 MyBroker = MyB.GetMyBroker();
274 }
275 catch
276 {
277 // Ignore
278 }
279
280 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : "");
281 string querySearchNameAttr = "search";
282
283 // Overwrite search with zipcodeinterval if set
284 if (Context.Current.Request.QueryString["zipcodeinterval"] != null)
285 {
286 querySearch = Context.Current.Request.QueryString["zipcodeinterval"];
287 querySearchNameAttr = "zipcodeinterval";
288 }
289
290 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : "");
291 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : "");
292
293 Dynamicweb.Security.UserManagement.User user = null;
294 int userID = 0;
295 string userName = "";
296 string userEmail = "";
297 string userPhone = "";
298 string userZip = "";
299 string userAddress = "";
300
301 if (Dynamicweb.Security.UserManagement.UserContext.Current.IsLoggedOn)
302 {
303 user = Dynamicweb.Security.UserManagement.UserContext.Current.User;
304 userName = user.Name;
305 userEmail = user.Email;
306 userPhone = user.Phone;
307 userZip = user.Zip;
308 userAddress = user.Address;
309 userID = user.ID;
310 }
311
312 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode");
313 string forgotPwTemplate = "";
314 string forgotPwSender = "";
315 string markerColor = "";
316 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png";
317
318 // Important - e-mail templates for forgotPw must be placed in "UserManagement/Login" folder
319 forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml";
320 forgotPwSender = "noreply@mailreal.dk";
321 markerColor = "#213960";
322
323 var butikId = string.Empty;
324 string bEmail = string.Empty;
325 if (MyBroker != null && MyBroker.Broker != null)
326 {
327 butikId = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
328 bEmail = MyBroker.Broker.Item().GetString("Email");
329 }
330
331 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment"));
332
333 var termsMail = "info@realmaeglerne.dk";
334 WriteLiteral("\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta charset=\"utf-8\">\r\n <title>");
335 Write(MetaTitle);
336 WriteLiteral("</title>\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1\">\r\n <meta name=\"description\"");
337 BeginWriteAttribute("content", " content=\"", 116098, "\"", 116124, 1);
338 WriteAttributeValue("", 116108, MetaDescription, 116108, 16, false);
339 EndWriteAttribute();
340 WriteLiteral(">\r\n <meta name=\"keywords\"");
341 BeginWriteAttribute("content", " content=\"", 116153, "\"", 116176, 1);
342 WriteAttributeValue("", 116163, MetaKeywords, 116163, 13, false);
343 EndWriteAttribute();
344 WriteLiteral(">\r\n <meta name=\"format-detection\" content=\"telephone=no\">\r\n <meta http-equiv=\"Expires\" content=\"60\">\r\n <meta name=\"robots\"");
345 BeginWriteAttribute("content", " content=\"", 116308, "\"", 116414, 3);
346 WriteAttributeValue("", 116318, Pageview.Area.Noindex ? "noindex" : "index", 116318, 46, false);
347 WriteAttributeValue("", 116364, ",", 116364, 1, true);
348 WriteAttributeValue("", 116365, Pageview.Area.Nofollow ? "nofollow" : "follow", 116365, 49, false);
349 EndWriteAttribute();
350 WriteLiteral(">\r\n\r\n");
351 WriteLiteral("\r\n ");
352 Write(RenderSnippet("OpenGraphTags"));
353 WriteLiteral("\r\n");
354 if (!string.IsNullOrEmpty(settings_Google_Optimize_Id))
355 {
356 WriteLiteral(" <!-- Google optimize script-->\r\n <script");
357 BeginWriteAttribute("src", " src=\"", 116606, "\"", 116686, 2);
358 WriteAttributeValue("", 116612, "https://www.googleoptimize.com/optimize.js?id=", 116612, 46, true);
359 WriteAttributeValue("", 116658, settings_Google_Optimize_Id, 116658, 28, false);
360 EndWriteAttribute();
361 WriteLiteral("></script>\r\n");
362 }
363 WriteLiteral(@" <!-- TrustBox script -->
364 <script type=""text/javascript"" src=""//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js"" async></script>
365 <!-- End TrustBox script -->
366
367 <script type=""application/ld+json"">
368 {
369 ""context"": ""https://schema.org/"",
370 """);
371 WriteLiteral(@"@type"": ""WebSite"",
372 ""name"": ""RealMæglerne"",
373 ""url"": ""https://www.realmaeglerne.dk/"",
374 ""potentialAction"": {
375 ""type"": ""SearchAction"",
376 ""target"": ""https://www.realmaeglerne.dk/find-maegler?q={search_term_string}"",
377 ""query-input"": ""required name=search_term_string""
378 }
379 }
380 </script>
381
382 <script type=""application/ld+json"">
383 {
384 ""context"": ""https://schema.org"",
385 """);
386 WriteLiteral(@"@type"": ""Corporation"",
387 ""name"": ""RealMæglerne"",
388 ""alternateName"": ""R&B Mægler A/S"",
389 ""url"": ""https://www.realmaeglerne.dk"",
390 ""logo"": ""https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png"",
391 ""contactPoint"": {
392 ""type"": ""ContactPoint"",
393 ""telephone"": ""+4570237153"",
394 ""contactType"": ""sales"",
395 ""areaServed"": ""DK"",
396 ""availableLanguage"": ""Danish""
397 },
398 ""sameAs"": [
399 ""https://www.facebook.com/realmaeglerne/"",
400 ""https://www.linkedin.com/company/realmæglerne/"",
401 ""https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g"",
402 ""https://www.realmaeglerne.dk/""
403 ]
404 }
405 </script>
406 ");
407 Write(RenderSnippet("StructuredData"));
408 WriteLiteral("\r\n");
409 WriteLiteral("\r\n");
410 WriteLiteral(" <link rel=\"stylesheet\"");
411 BeginWriteAttribute("href", " href=\"", 118308, "\"", 118359, 2);
412 WriteAttributeValue("", 118315, TemplateUrl, 118315, 14, false);
413 WriteAttributeValue("", 118329, "assets/fontawesome/css/all.css", 118329, 30, true);
414 EndWriteAttribute();
415 WriteLiteral(" async />\r\n <link rel=\"stylesheet\"");
416 BeginWriteAttribute("href", " href=\"", 118401, "\"", 118416, 1);
417 WriteAttributeValue("", 118408, mainCSS, 118408, 8, false);
418 EndWriteAttribute();
419 WriteLiteral(" async />\r\n");
420
421 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
422 {
423 var cssErhvervFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/erhverv.min.css"));
424 string erhvervCSS = TemplateUrl + $"assets/dist/css/erhverv.min.css?{cssErhvervFileInfo.LastWriteTime.Ticks}";
425 WriteLiteral(" <link rel=\"stylesheet\"");
426 BeginWriteAttribute("href", " href=\"", 118820, "\"", 118838, 1);
427 WriteAttributeValue("", 118827, erhvervCSS, 118827, 11, false);
428 EndWriteAttribute();
429 WriteLiteral(" async>\r\n");
430 }
431 WriteLiteral("\r\n\r\n <link rel=\"icon\" type=\"image/ico\"");
432 BeginWriteAttribute("href", " href=\"", 118907, "\"", 118971, 2);
433 WriteAttributeValue("", 118914, TemplateUrl, 118914, 14, false);
434 WriteAttributeValue("", 118928, "assets/images/favicons/favicon-real.ico?v=1", 118928, 43, true);
435 EndWriteAttribute();
436 WriteLiteral(">\r\n <link rel=\"icon\" type=\"image/png\"");
437 BeginWriteAttribute("href", " href=\"", 119012, "\"", 119078, 2);
438 WriteAttributeValue("", 119019, TemplateUrl, 119019, 14, false);
439 WriteAttributeValue("", 119033, "assets/images/favicons/favicon-real-16x16.png", 119033, 45, true);
440 EndWriteAttribute();
441 WriteLiteral(" sizes=\"16x16\">\r\n <link rel=\"icon\" type=\"image/png\"");
442 BeginWriteAttribute("href", " href=\"", 119133, "\"", 119199, 2);
443 WriteAttributeValue("", 119140, TemplateUrl, 119140, 14, false);
444 WriteAttributeValue("", 119154, "assets/images/favicons/favicon-real-32x32.png", 119154, 45, true);
445 EndWriteAttribute();
446 WriteLiteral(" sizes=\"32x32\">\r\n <link rel=\"icon\" type=\"image/png\"");
447 BeginWriteAttribute("href", " href=\"", 119254, "\"", 119320, 2);
448 WriteAttributeValue("", 119261, TemplateUrl, 119261, 14, false);
449 WriteAttributeValue("", 119275, "assets/images/favicons/favicon-real-96x96.png", 119275, 45, true);
450 EndWriteAttribute();
451 WriteLiteral(" sizes=\"96x96\">\r\n <meta name=\"google-site-verification\" content=\"hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg\" />\r\n\r\n");
452 if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString()))
453 {
454 WriteLiteral(@" <script>
455 window.dataLayer = window.dataLayer || []; // must be placed above GTM script
456 </script>
457 <!-- Google Tag Manager -->
458 <script>
459 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
460 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
461 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
462 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
463 })(window,document,'script','dataLayer','");
464 Write(settings_Google_Tag_Manager_ID);
465 WriteLiteral("\');</script>\r\n <!-- End Google Tag Manager -->\r\n");
466 }
467 WriteLiteral("\r\n");
468 if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId))
469 {
470 WriteLiteral(" <script type=\"text/javascript\"");
471 BeginWriteAttribute("src", " src=\"", 120302, "\"", 120374, 2);
472 WriteAttributeValue("", 120308, "https://call.call-tracking.dk/getJavascript?custid=", 120308, 51, true);
473 WriteAttributeValue("", 120359, callTrackingId, 120359, 15, false);
474 EndWriteAttribute();
475 WriteLiteral("></script>\r\n");
476 }
477 WriteLiteral("\r\n");
478 if (!String.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString()))
479 {
480 WriteLiteral(@" <!-- Begin Leadhub Pixel Code -->
481 <script>
482 (function(w,d,x,n,u,t,f,s,o){
483 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){
484 (w[f].q=w[f].q||[]).push([n,d])};w[f].l=1*new Date();s=d.createElement(x); s.async=1;s.src=u+'?t='+t;o=d.getElementsByTagName(x)[0];o.parentNode.insertBefore(s,o)
485 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '");
486 Write(settings_Leadhub_Pixel_ID);
487 WriteLiteral("\');\r\n lhi(\'pageview\');\r\n </script>\r\n <!-- End Leadhub Pixel Code -->\r\n");
488 }
489 WriteLiteral("\r\n <script>\r\n // Global namespace used for fetching API feeds from DW\r\n var RMAPI = (RMAPI) ? RMAPI : {};\r\n var ApiPreFix = \"/Default.aspx?ID=\";\r\n RMAPI.BoligCountFeed = ApiPreFix + \"");
490 Write(settings_BoligCountFeed);
491 WriteLiteral("\";\r\n RMAPI.BoligListFeed = ApiPreFix + \"");
492 Write(settings_BoligListFeed);
493 WriteLiteral("\" + \"&refpageid=");
494 Write(Pageview.Page.ID);
495 WriteLiteral("\";\r\n RMAPI.BoligListFeedErhverv = \"");
496 Write(settings_BoligListFeedErhverv);
497 WriteLiteral("\";\r\n RMAPI.BoligListFeedMaegler = ApiPreFix + \"");
498 Write(settings_BoligListFeedMaegler);
499 WriteLiteral("\" + \"&refpageid=");
500 Write(Pageview.Page.ID);
501 WriteLiteral("\";\r\n RMAPI.BoligSearchFeed = ApiPreFix + \"");
502 Write(settings_BoligSearchFeed);
503 WriteLiteral("\";\r\n RMAPI.BoligMapFeed = ApiPreFix + \"");
504 Write(settings_BoligMapFeed);
505 WriteLiteral("\";\r\n RMAPI.Boligagent = \"");
506 Write(settings_Boligagent);
507 WriteLiteral("\";\r\n RMAPI.IsErhverv = ");
508 Write(isErhverv.ToString().ToLower());
509 WriteLiteral(";\r\n RMAPI.ProductGroupFilter = \"");
510 Write(productGroupFilter);
511 WriteLiteral("\";\r\n RMAPI.ButikId = \"");
512 Write(butikId);
513 WriteLiteral("\";\r\n RMAPI.Boligvisning = false;\r\n RMAPI.RefPageId = \"");
514 Write(Pageview.Page.ID);
515 WriteLiteral("\";\r\n RMAPI.Template = \"");
516 Write(template);
517 WriteLiteral("\";\r\n RMAPI.SliderSettings = ");
518 Write(JsonConvert.SerializeObject(Settings.Site));
519 WriteLiteral(";\r\n RMAPI.AdvisorSearchFeed = \"");
520 Write(settings_AdvisorSearchFeed);
521 WriteLiteral("\";\r\n RMAPI.LoadingIcon = \"");
522 Write(loadingIcon);
523 WriteLiteral("\";\r\n RMAPI.MarkerColor = \"");
524 Write(markerColor);
525 WriteLiteral("\";\r\n RMAPI.mapMarkerUrl = \"");
526 Write(mapMarkerUrl);
527 WriteLiteral("\";\r\n RMAPI.settings_ForgotPwPage = \"");
528 Write(settings_ForgotPwPage);
529 WriteLiteral("\";\r\n </script>\r\n\r\n");
530 if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString()))
531 {
532 WriteLiteral(@" <!-- Facebook Pixel Code -->
533 <script>
534 !function (f, b, e, v, n, t, s) {
535 if (f.fbq) return; n = f.fbq = function () {
536 n.callMethod ?
537 n.callMethod.apply(n, arguments) : n.queue.push(arguments)
538 };
539 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';
540 n.queue = []; t = b.createElement(e); t.async = !0;
541 t.src = v; s = b.getElementsByTagName(e)[0];
542 s.parentNode.insertBefore(t, s)
543 }(window, document, 'script',
544 'https://connect.facebook.net/en_US/fbevents.js');
545 fbq('init', '");
546 Write(settings_Facebook_App_ID);
547 WriteLiteral("\');\r\n fbq(\'track\', \'PageView\');\r\n </script>\r\n <noscript>\r\n <img height=\"1\" width=\"1\"");
548 BeginWriteAttribute("src", " src=\"", 123277, "\"", 123362, 3);
549 WriteAttributeValue("", 123283, "https://www.facebook.com/tr?id=", 123283, 31, true);
550 WriteAttributeValue("", 123314, settings_Facebook_App_ID, 123314, 25, false);
551 WriteAttributeValue("", 123339, "&ev=PageView&noscript=1", 123339, 23, true);
552 EndWriteAttribute();
553 WriteLiteral(" />\r\n </noscript>\r\n <!-- End Facebook Pixel Code -->\r\n");
554 }
555 WriteLiteral("\r\n <script type=\'text/javascript\' src=\'https://platform-api.sharethis.com/js/sharethis.js#property=5d68cfaf5fea9f001288d9ac&product=inline-share-buttons\' async=\'async\'></script>\r\n\r\n</head>\r\n\r\n<body");
556 BeginWriteAttribute("class", " class=\"", 123638, "\"", 123665, 2);
557 WriteAttributeValue("", 123646, template, 123646, 9, false);
558 WriteAttributeValue("", 123655, bodyClass, 123655, 10, false);
559 EndWriteAttribute();
560 WriteLiteral(" data-spforgotpwtemplate=\"");
561 Write(forgotPwTemplate);
562 WriteLiteral("\" data-spforgotpwsender=\"");
563 Write(forgotPwSender);
564 WriteLiteral("\" data-spforgotpwsubject=\"");
565 Write(forgotPwSubject);
566 WriteLiteral("\" data-spsalesassesmentid=\"");
567 Write(salesAssessmentPageId);
568 WriteLiteral("\">\r\n");
569
570 string logoUrl = TemplateUrl + (!Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg");
571 WriteLiteral("\r\n");
572 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) && GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
573 {
574 WriteLiteral(" <div class=\"top-search\">\r\n <div class=\"header logo\">\r\n <div class=\"logo\">\r\n <a href=\"/erhverv\">\r\n <img");
575 BeginWriteAttribute("src", " src=\"", 124337, "\"", 124351, 1);
576 WriteAttributeValue("", 124343, logoUrl, 124343, 8, false);
577 EndWriteAttribute();
578 WriteLiteral(" alt=\"RealMæglerne\" />\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"top-form mx-auto\">\r\n <form id=\"main-search-top\" class=\"js-top-search\" action=\"/Default.aspx\" method=\"GET\">\r\n");
579
580
581 var settings_BoligListErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoliglisteErhverv"])) ? Converter.ToString(SettingsItem["BoliglisteErhverv"]).Replace("Default.aspx?Id=", "") : "";
582 WriteLiteral(" <input type=\"hidden\" name=\"ID\"");
583 BeginWriteAttribute("value", " value=\'", 124918, "\'", 124952, 1);
584 WriteAttributeValue("", 124926, settings_BoligListErhverv, 124926, 26, false);
585 EndWriteAttribute();
586 WriteLiteral(" id=\"searchPageId-top\" disabled=\"disabled\" />\r\n\r\n");
587 if (Context.Current.Request["type"] == "egetforbrug")
588 {
589 WriteLiteral(" <input name=\"type\" type=\"hidden\" value=\"egetforbrug\" />\r\n <input name=\"investeringsejendom\" type=\"hidden\" value=\"0\" />\r\n");
590 }
591 WriteLiteral(@" <div class=""row form-wrapper no-gutters"">
592 <div class=""col-xs-12 col-md-4 col-lg-5 col-searchbar"">
593 <div class=""searchbar float-label-container text-left"">
594 <label class=""float-label"">");
595 Write(Translate("Smartpage:Erhver.Postnummer, by, vej eller sagsnummer", "Postnummer, by, vej eller sagsnummer"));
596 WriteLiteral("</label>\r\n <input type=\"text\"");
597 BeginWriteAttribute("name", " name=\"", 125746, "\"", 125773, 1);
598 WriteAttributeValue("", 125753, querySearchNameAttr, 125753, 20, false);
599 EndWriteAttribute();
600 WriteLiteral(" id=\"searchfield-top\" class=\"search-input js-float-label js-getdata\" tabindex=\"1\"");
601 BeginWriteAttribute("value", " value=\"", 125855, "\"", 125933, 1);
602 WriteAttributeValue("", 125863, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 125863, 70, false);
603 EndWriteAttribute();
604 WriteLiteral(@" />
605 </div>
606 </div>
607 <div class=""col-xs-12 col-md-5"">
608 <div class=""row no-gutters"">
609 <div class=""col-xs-12 col-md-6 input-col"">
610 <div class=""dropdown w-overlay float-label-container"">
611 <label class=""float-label"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">");
612 Write(Translate("Smartpage:Search.Erhverv.Lokaletype", "Lokaletype"));
613 WriteLiteral(@"</label>
614 <button class=""btn btn-dropdown dropdown-toggle reverse position-absolute-md"" type=""button"" id=""Boligtype-frontpage"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""></button>
615 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
616 <ul class=""bolig-dropdown list-unstyled"">
617 ");
618
619 RenderBoligTypeErhverv();
620 WriteLiteral(@" </ul>
621 <span class=""border-fat""></span>
622 <div class=""d-none d-md-block"">
623 <button class=""btn btn-primary js-close-dropdown"">");
624 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
625 WriteLiteral(@"</button>
626 </div>
627 <div class=""d-flex row d-md-none"">
628 <div class=""col-6"">
629 <button class=""btn btn-danger js-remove-filter"">");
630 Write(Translate("Smartpage:Search.Annuller", "Annuller"));
631 WriteLiteral("</button>\r\n </div>\r\n <div class=\"col-6\">\r\n <button class=\"btn btn-primary js-close-dropdown\">");
632 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
633 WriteLiteral(@"</button>
634 </div>
635 </div>
636 </div>
637
638 </div>
639 </div>
640 <div class=""col-xs-12 col-md-6 input-col"">
641 <div class=""btn-dropdown p-3 border-top-bottom-right"">
642 <ul class=""two-column list-unstyled"">
643 <li>
644 <label class=""checkbox-container"">
645 ");
646 Write(Translate("Smartpage:Search.Erhverv.Leje", "Leje"));
647 WriteLiteral(@"
648 <input type=""checkbox"" name=""propertytype"" value=""leje"" class=""js-input-check"" />
649 <span class=""checkmark""></span>
650 </label>
651 </li>
652 <li>
653 <label class=""checkbox-container"">
654 ");
655 Write(Translate("Smartpage:Search.Erhverv.Køb", "Køb"));
656 WriteLiteral(@"
657 <input type=""checkbox"" name=""propertytype"" value=""kob"" class=""js-input-check"" />
658 <span class=""checkmark""></span>
659 </label>
660 </li>
661 </ul>
662 </div>
663
664 </div>
665 </div>
666 </div>
667 <div class=""col-xs-12 col-md-3 col-lg-2 d-none d-md-block"">
668 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
669 Write(Translate("Smartpage:Search.Søg", "Søg"));
670 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n");
671 }
672 WriteLiteral("\r\n");
673 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
674 {
675 WriteLiteral(" <div class=\"header shortcuts\">\r\n <div class=\"header-shortcuts float-right\">\r\n");
676 if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
677 {
678 WriteLiteral(" <a");
679 BeginWriteAttribute("href", " href=\'", 130636, "\'", 130643, 0);
680 EndWriteAttribute();
681 BeginWriteAttribute("class", " class=\"", 130644, "\"", 130760, 9);
682 WriteAttributeValue("", 130652, "search-menu", 130652, 11, true);
683 WriteAttributeValue(" ", 130663, "d-none", 130664, 7, true);
684 WriteAttributeValue(" ", 130670, "d-xl-flex", 130671, 10, true);
685 WriteAttributeValue(" ", 130680, "align-items-center", 130681, 19, true);
686 WriteAttributeValue(" ", 130699, "float-left", 130700, 11, true);
687 WriteAttributeValue(" ", 130710, "border-right", 130711, 13, true);
688 WriteAttributeValue(" ", 130723, "js-mainsearch", 130724, 14, true);
689 WriteAttributeValue(" ", 130737, "topsearch", 130738, 10, true);
690 WriteAttributeValue(" ", 130747, searchClass, 130748, 12, false);
691 EndWriteAttribute();
692 WriteLiteral(">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i><span class=\"search-menu-text hidden d-md-block\"> ");
693 Write(Translate("Smartpage:Search.Søg", "Søg"));
694 WriteLiteral("</span>\r\n </a>\r\n");
695 }
696 WriteLiteral(" <div class=\"menu-slide d-flex align-items-center\">\r\n <b></b>\r\n <span class=\"menu-text hidden d-md-block\">Menu</span>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n");
697 }
698 else
699 {
700 WriteLiteral(" <div class=\"header__container container\">\r\n <div class=\"header__logo\">\r\n <a href=\"/\"");
701 BeginWriteAttribute("title", " title=\"", 131360, "\"", 131368, 0);
702 EndWriteAttribute();
703 WriteLiteral(">\r\n <img");
704 BeginWriteAttribute("src", " src=\"", 131396, "\"", 131412, 1);
705 WriteAttributeValue("", 131402, logoUrl, 131402, 10, false);
706 EndWriteAttribute();
707 BeginWriteAttribute("alt", " alt=\"", 131413, "\"", 131419, 0);
708 EndWriteAttribute();
709 WriteLiteral(" />\r\n </a>\r\n </div>\r\n <div class=\"header__title\">\r\n <span>");
710 Write(Translate("Custom:Header.Title", "RealMæglerne"));
711 WriteLiteral("</span> \r\n </div>\r\n");
712 if (userID > 0)
713 {
714 WriteLiteral(@" <div class=""header__navigation d-none d-md-flex"">
715 <div class=""header__navigation"">
716 <div class=""header__Link"">
717 <ul>
718 <li class=""d-flex align-items-center"">
719 <svg xmlns=""http://www.w3.org/2000/svg"" width=""20"" height=""20"" viewBox=""0 0 20 20"" fill=""none"">
720 <path d=""M16.6663 17.5C16.6663 16.337 16.6663 15.7555 16.5228 15.2824C16.1996 14.217 15.366 13.3834 14.3006 13.0602C13.8275 12.9167 13.246 12.9167 12.083 12.9167H7.91634C6.75337 12.9167 6.17189 12.9167 5.69872 13.0602C4.63339 13.3834 3.79971 14.217 3.47654 15.2824C3.33301 15.7555 3.33301 16.337 3.33301 17.5M13.7497 6.25C13.7497 8.32107 12.0707 10 9.99967 10C7.92861 10 6.24967 8.32107 6.24967 6.25C6.24967 4.17893 7.92861 2.5 9.99967 2.5C12.0707 2.5 13.7497 4.17893 13.7497 6.25Z"" stroke=""black"" stroke-width=""2"" stroke-linecap=""round"" stroke-linejoin=""round"" />
721 ");
722 WriteLiteral(" </svg>\r\n <a class=\"ml-2\"");
723 BeginWriteAttribute("href", "\r\n href=\"", 132777, "\"", 132859, 2);
724 WriteAttributeValue("", 132825, "/Default.aspx?ID=", 132825, 17, true);
725 WriteAttributeValue("", 132842, settings_MinSide, 132842, 17, false);
726 EndWriteAttribute();
727 WriteLiteral("\r\n target=\"_blank\"");
728 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 132917, "\"", 133067, 1);
729 WriteAttributeValue("", 132971, Translate("Custom:Accessibility.MyAccountLink", "Gå til Mit RealMæglerne - åbner i nyt vindue"), 132971, 96, false);
730 EndWriteAttribute();
731 WriteLiteral(">\r\n ");
732 Write(Translate("Mit RealMæglerne"));
733 WriteLiteral("\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n");
734
735 }
736 else
737 {
738 WriteLiteral(@" <div class=""header__navigation d-none d-md-flex"">
739 <div class=""header__navigation"">
740 <div class=""header__Link"">
741 <ul>
742 <li class=""d-flex align-items-center"">
743 <svg xmlns=""http://www.w3.org/2000/svg"" width=""20"" height=""20"" viewBox=""0 0 20 20"" fill=""none"">
744 <path d=""M16.6663 17.5C16.6663 16.337 16.6663 15.7555 16.5228 15.2824C16.1996 14.217 15.366 13.3834 14.3006 13.0602C13.8275 12.9167 13.246 12.9167 12.083 12.9167H7.91634C6.75337 12.9167 6.17189 12.9167 5.69872 13.0602C4.63339 13.3834 3.79971 14.217 3.47654 15.2824C3.33301 15.7555 3.33301 16.337 3.33301 17.5M13.7497 6.25C13.7497 8.32107 12.0707 10 9.99967 10C7.92861 10 6.24967 8.32107 6.24967 6.25C6.24967 4.17893 7.92861 2.5 9.99967 2.5C12.0707 2.5 13.7497 4.17893 13.7497 6.25Z"" stroke=""black"" stroke-width=""2"" stroke-linecap=""round"" stroke-linejoin=""round"" />
745 ");
746 WriteLiteral(" </svg>\r\n <a class=\"ml-2\"\r\n href=\"javascript:panelLogin()\"");
747 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 134578, "\"", 134701, 1);
748 WriteAttributeValue("", 134632, Translate("Custom:Accessibility.Login", "Login - åbner i sidepanel"), 134632, 69, false);
749 EndWriteAttribute();
750 WriteLiteral(">\r\n ");
751 Write(Translate("Login"));
752 WriteLiteral("\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n");
753 }
754 WriteLiteral(" <div class=\"header__search flex-column flex-md-row js-mainsearch\">\r\n ");
755 Write(Translate("Søg bolig"));
756 WriteLiteral("\r\n </div>\r\n <div class=\"header__navigation\">\r\n <div class=\"header__navigation-icon menu-slide\">\r\n <div class=\"d-none d-md-block\">\r\n ");
757 Write(Translate("Menu"));
758 WriteLiteral("\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n");
759 }
760 WriteLiteral("\r\n <div class=\"search-modal\">\r\n\r\n");
761 if (Converter.ToString(Pageview.Area.Item["Type"]) == "real")
762 {
763 WriteLiteral(@" <div class=""main-search-form"">
764 <i class=""fal fa-times float-right fa-2x js-close-search close-search""></i>
765 <div class=""row mb-3 align-items-center"">
766 <div class=""col-xs-12 col-md-3 border-right"">
767 <h3>");
768 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
769 WriteLiteral("</h3>\r\n </div>\r\n <div class=\"col-xs-12 col-md-9 home-count d-none d-md-block\">\r\n <span class=\"search-count\" id=\"searchCounterMain\">0</span> <span class=\"position-relative\">");
770 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
771 WriteLiteral(@"<span class=""loader js-loader""></span></span>
772
773 </div>
774 </div>
775
776 <form id=""main-search"" class=""searchbar-wrapper"" action=""/Default.aspx"" method=""GET"">
777 <input type=""hidden"" name=""ID""");
778 BeginWriteAttribute("value", " value=\'", 136443, "\'", 136464, 1);
779 WriteAttributeValue("", 136451, searchPageId, 136451, 13, false);
780 EndWriteAttribute();
781 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" />
782 <div class=""row form-wrapper no-gutters"">
783
784 <div class=""col-xs-12 col-md-5 col-searchbar"">
785 <div class=""searchbar"">
786 <input type=""text""");
787 BeginWriteAttribute("name", " name=\"", 136748, "\"", 136775, 1);
788 WriteAttributeValue("", 136755, querySearchNameAttr, 136755, 20, false);
789 EndWriteAttribute();
790 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
791 BeginWriteAttribute("value", " value=\"", 136878, "\"", 136956, 1);
792 WriteAttributeValue("", 136886, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 136886, 70, false);
793 EndWriteAttribute();
794 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
795 BeginWriteAttribute("value", " value=\"", 137050, "\"", 137133, 1);
796 WriteAttributeValue("", 137058, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 137058, 75, false);
797 EndWriteAttribute();
798 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
799 BeginWriteAttribute("value", " value=\"", 137223, "\"", 137304, 1);
800 WriteAttributeValue("", 137231, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 137231, 73, false);
801 EndWriteAttribute();
802 WriteLiteral(@" />
803 </div>
804 </div>
805 <div class=""col-xs-12 col-md-5"">
806 <div class=""row no-gutters"">
807 <div class=""col-xs-12 col-md-6 input-col"">
808 <div class=""dropdown"">
809 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
810 ");
811 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
812 WriteLiteral(@"
813 </button>
814 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
815 <ul class=""bolig-dropdown list-unstyled"">
816 ");
817
818 RenderBoligtypeCheckboxesDropdown();
819 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
820 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
821 WriteLiteral(@"</button>
822 </div>
823
824 </div>
825
826 </div>
827 <div class=""col-xs-12 col-md-6 input-col"">
828 <div class=""dropdown"">
829 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
830 ");
831 Write(Translate("Smartpage:Search.Pris", "Pris"));
832 WriteLiteral(@"
833 </button>
834 <div class=""dropdown-menu box-shadow dropdown-price js-dropdown-price"" aria-labelledby=""Pris"">
835 <input name=""pricemin"" type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
836 BeginWriteAttribute("placeholder", " placeholder=\'", 139555, "\'", 139632, 1);
837 WriteAttributeValue("", 139569, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 139569, 63, false);
838 EndWriteAttribute();
839 BeginWriteAttribute("value", " value=\'", 139633, "\'", 139769, 1);
840 WriteAttributeValue("", 139641, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemin"]) ? Context.Current.Request.QueryString["pricemin"] : "", 139641, 128, false);
841 EndWriteAttribute();
842 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
843 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
844 WriteLiteral("</option>\r\n");
845 for (var i = 0; i <= 10000000; i += 100000)
846 {
847 if (i == 10000000)
848 {
849 WriteLiteral(" <option");
850 BeginWriteAttribute("value", " value=\"", 140406, "\"", 140416, 1);
851 WriteAttributeValue("", 140414, i, 140414, 2, false);
852 EndWriteAttribute();
853 WriteLiteral(" data-value=\'");
854 Write(Converter.ToInt32(i).ToString("N0"));
855 WriteLiteral("+\'>");
856 Write(Convert.ToInt32(i).ToString("N0"));
857 WriteLiteral("+</option>\r\n");
858 }
859 else
860 {
861 WriteLiteral(" <option");
862 BeginWriteAttribute("value", " value=\"", 140746, "\"", 140756, 1);
863 WriteAttributeValue("", 140754, i, 140754, 2, false);
864 EndWriteAttribute();
865 WriteLiteral(" data-value=\'");
866 Write(Converter.ToInt32(i).ToString("N0"));
867 WriteLiteral("\'>");
868 Write(Convert.ToInt32(i).ToString("N0"));
869 WriteLiteral("</option>\r\n");
870 }
871 }
872 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\"");
873 BeginWriteAttribute("placeholder", " placeholder=\'", 141160, "\'", 141237, 1);
874 WriteAttributeValue("", 141174, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 141174, 63, false);
875 EndWriteAttribute();
876 BeginWriteAttribute("value", " value=\'", 141238, "\'", 141374, 1);
877 WriteAttributeValue("", 141246, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemax"]) ? Context.Current.Request.QueryString["pricemax"] : "", 141246, 128, false);
878 EndWriteAttribute();
879 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
880 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
881 WriteLiteral("</option>\r\n");
882 for (var i = 0; i <= 10000000; i += 100000)
883 {
884 if (i == 10000000)
885 {
886 WriteLiteral(" <option");
887 BeginWriteAttribute("value", " value=\"", 142005, "\"", 142015, 1);
888 WriteAttributeValue("", 142013, i, 142013, 2, false);
889 EndWriteAttribute();
890 WriteLiteral(" data-value=\'");
891 Write(Converter.ToInt32(i).ToString("N0"));
892 WriteLiteral("+\'>");
893 Write(Convert.ToInt32(i).ToString("N0"));
894 WriteLiteral("+</option>\r\n");
895 }
896 else
897 {
898 WriteLiteral(" <option");
899 BeginWriteAttribute("value", " value=\"", 142345, "\"", 142355, 1);
900 WriteAttributeValue("", 142353, i, 142353, 2, false);
901 EndWriteAttribute();
902 WriteLiteral(" data-value=\'");
903 Write(Converter.ToInt32(i).ToString("N0"));
904 WriteLiteral("\'>");
905 Write(Convert.ToInt32(i).ToString("N0"));
906 WriteLiteral("</option>\r\n");
907 }
908 }
909 WriteLiteral(@" </select>
910 </div>
911 </div>
912 </div>
913 </div>
914 </div>
915 <div class=""col-xs-12 col-md-2 d-none d-md-block"">
916 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
917 Write(Translate("Smartpage:Search.Søg", "Søg"));
918 WriteLiteral(@"</button>
919 </div>
920 </div>
921
922 <div class=""row moresearch-btn no-gutters"">
923 <div class=""col-sm-12"">
924 <div class=""row align-items-center no-gutters"">
925 <div class=""col-12 col-md-4"">
926 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch"">
927 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open white"">");
928 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
929 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> ");
930 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
931 WriteLiteral(" </span></span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-md-2 mb-xs-4\">\r\n <a class=\"js-reset reset-btn white\">");
932 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
933 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch-master\">\r\n\r\n <h4 class=\"mt-20\"><b>");
934 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
935 WriteLiteral(@"</b></h4>
936 <div class=""row align-items-end mb-30"">
937 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
938 <div class=""filter-container row"">
939 <label class=""d-block col-12"">");
940 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
941 WriteLiteral(@"</label>
942 <div class=""col-6 pr-sm-0 pr-2"">
943 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count""");
944 BeginWriteAttribute("placeholder", " placeholder=\'", 145117, "\'", 145190, 1);
945 WriteAttributeValue("", 145131, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 145131, 59, false);
946 EndWriteAttribute();
947 BeginWriteAttribute("value", " value=\'", 145191, "\'", 145337, 1);
948 WriteAttributeValue("", 145199, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmin"]) ? Context.Current.Request.QueryString["boligarealmin"] : "", 145199, 138, false);
949 EndWriteAttribute();
950 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
951 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
952 WriteLiteral("</option>\r\n");
953 for (var i = 0; i <= 300; i += 10)
954 {
955 if (i == 300)
956 {
957 WriteLiteral(" <option>");
958 Write(i);
959 WriteLiteral("+</option>\r\n");
960 }
961 else
962 {
963 WriteLiteral(" <option>");
964 Write(i);
965 WriteLiteral("</option>\r\n");
966 }
967 }
968 WriteLiteral(@" </select>
969
970 </div>
971 <div class=""col-6 pl-sm-0 pl-2"">
972 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count""");
973 BeginWriteAttribute("placeholder", " placeholder=\'", 146722, "\'", 146795, 1);
974 WriteAttributeValue("", 146736, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 146736, 59, false);
975 EndWriteAttribute();
976 BeginWriteAttribute("value", " value=\'", 146796, "\'", 146942, 1);
977 WriteAttributeValue("", 146804, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmax"]) ? Context.Current.Request.QueryString["boligarealmax"] : "", 146804, 138, false);
978 EndWriteAttribute();
979 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
980 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
981 WriteLiteral("</option>\r\n");
982 for (var i = 0; i <= 300; i += 10)
983 {
984 if (i == 300)
985 {
986 WriteLiteral(" <option>");
987 Write(i);
988 WriteLiteral("+</option>\r\n");
989 }
990 else
991 {
992 WriteLiteral(" <option>");
993 Write(i);
994 WriteLiteral("</option>\r\n");
995 }
996 }
997 WriteLiteral(@" </select>
998
999 </div>
1000 </div>
1001 </div>
1002 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1003 <div class=""filter-container row"">
1004 <label class=""d-block col-12"">");
1005 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
1006 WriteLiteral(@"</label>
1007 <div class=""col-6 pr-sm-0 pr-2"">
1008 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count""");
1009 BeginWriteAttribute("placeholder", " placeholder=\'", 148723, "\'", 148796, 1);
1010 WriteAttributeValue("", 148737, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 148737, 59, false);
1011 EndWriteAttribute();
1012 BeginWriteAttribute("value", " value=\'", 148797, "\'", 148944, 1);
1013 WriteAttributeValue("", 148805, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmin"]) ? Context.Current.Request.QueryString["grundarealmin"] : "", 148805, 139, false);
1014 EndWriteAttribute();
1015 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1016 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1017 WriteLiteral("</option>\r\n");
1018 for (var i = 0; i <= 10000; i += 100)
1019 {
1020 if (i == 10000)
1021 {
1022 WriteLiteral(" <option>");
1023 Write(i);
1024 WriteLiteral("+</option>\r\n");
1025 }
1026 else
1027 {
1028 WriteLiteral(" <option>");
1029 Write(i);
1030 WriteLiteral("</option>\r\n");
1031 }
1032 }
1033 WriteLiteral(@" </select>
1034 </div>
1035 <div class=""col-6 pl-sm-0 pl-2"">
1036 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count""");
1037 BeginWriteAttribute("placeholder", " placeholder=\'", 150332, "\'", 150405, 1);
1038 WriteAttributeValue("", 150346, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 150346, 59, false);
1039 EndWriteAttribute();
1040 BeginWriteAttribute("value", " value=\'", 150406, "\'", 150553, 1);
1041 WriteAttributeValue("", 150414, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmax"]) ? Context.Current.Request.QueryString["grundarealmax"] : "", 150414, 139, false);
1042 EndWriteAttribute();
1043 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1044 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1045 WriteLiteral("</option>\r\n");
1046 for (var i = 0; i <= 10000; i += 100)
1047 {
1048 if (i == 10000)
1049 {
1050 WriteLiteral(" <option>");
1051 Write(i);
1052 WriteLiteral("+</option>\r\n");
1053 }
1054 else
1055 {
1056 WriteLiteral(" <option>");
1057 Write(i);
1058 WriteLiteral("</option>\r\n");
1059 }
1060 }
1061 WriteLiteral(@" </select>
1062 </div>
1063 </div>
1064 </div>
1065 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1066 <div class=""filter-container row"">
1067 <label class=""d-block col-12"">Antal rum</label>
1068 <div class=""col-6 pr-sm-0 pr-2"">
1069 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count"">
1070 <option selected=""selected"" disabled=""disabled"">");
1071 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
1072 WriteLiteral("</option>\r\n");
1073
1074 RenderSelectValue("1", "1", "roomsmin");
1075 RenderSelectValue("2", "2", "roomsmin");
1076 RenderSelectValue("3", "3", "roomsmin");
1077 RenderSelectValue("4", "4", "roomsmin");
1078 RenderSelectValue("5+", "5", "roomsmin");
1079 WriteLiteral(@" </select>
1080 </div>
1081 <div class=""col-6 pl-sm-0 pl-2"">
1082 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count"">
1083 <option selected=""selected"" disabled=""disabled"">");
1084 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
1085 WriteLiteral("</option>\r\n");
1086
1087 RenderSelectValue("1", "1", "roomsmax");
1088 RenderSelectValue("2", "2", "roomsmax");
1089 RenderSelectValue("3", "3", "roomsmax");
1090 RenderSelectValue("4", "4", "roomsmax");
1091 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax");
1092 WriteLiteral(@" </select>
1093 </div>
1094 </div>
1095 </div>
1096 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1097 <div class=""row"">
1098 <div class=""col-12 pr-2"">
1099 <div class=""filter-container"">
1100 <label class=""d-block"">Energimærke</label>
1101 <select name=""energylabel"" id=""energylabel"" class=""form-control reverse js-energylabel-select js-count"">
1102 <option selected=""selected"" disabled=""disabled"">");
1103 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
1104 WriteLiteral(@"</option>
1105 <option value=""01"">G</option>
1106 <option value=""02"">F</option>
1107 <option value=""03"">E</option>
1108 <option value=""04"">D</option>
1109 <option value=""05"">C</option>
1110 <option value=""06"">B</option>
1111 <option value=""07"">A</option>
1112 <option value=""08"">A2010</option>
1113 <option value=""09"">A2015</option>
1114 <option value=""10"">A2020+</option>
1115 </select>
1116 </div>
1117 ");
1118 WriteLiteral(@" </div>
1119 </div>
1120 </div>
1121 <div class=""col-12 col-sm-6 col-lg-3 mt-3"">
1122 <h4");
1123 BeginWriteAttribute("class", " class=\"", 156352, "\"", 156360, 0);
1124 EndWriteAttribute();
1125 WriteLiteral("><b>");
1126 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
1127 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
1128 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
1129 WriteLiteral("</label>\r\n <div class=\"col-6 pr-sm-0 pr-2\">\r\n <input type=\"text\" name=\"subsidymin\" id=\"subsidymin\" class=\"form-control js-subsidymin-frontpage-input js-count\"");
1130 BeginWriteAttribute("placeholder", " placeholder=\'", 156922, "\'", 156997, 1);
1131 WriteAttributeValue("", 156936, Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"), 156936, 61, false);
1132 EndWriteAttribute();
1133 BeginWriteAttribute("value", " value=\'", 156998, "\'", 157139, 1);
1134 WriteAttributeValue("", 157006, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymin"]) ? Context.Current.Request.QueryString["subsidymin"] : "", 157006, 133, false);
1135 EndWriteAttribute();
1136 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1137 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
1138 WriteLiteral("</option>\r\n");
1139 for (var i = 0; i <= 25000; i += 1250)
1140 {
1141 if (i == 25000)
1142 {
1143 WriteLiteral(" <option");
1144 BeginWriteAttribute("value", " value=\"", 157783, "\"", 157812, 1);
1145 WriteAttributeValue("", 157791, Converter.ToInt32(i), 157791, 21, false);
1146 EndWriteAttribute();
1147 WriteLiteral(">");
1148 Write(Converter.ToInt32(i).ToString("N0"));
1149 WriteLiteral("+</option>\r\n");
1150 }
1151 else
1152 {
1153 WriteLiteral(" <option");
1154 BeginWriteAttribute("value", " value=\"", 158109, "\"", 158138, 1);
1155 WriteAttributeValue("", 158117, Converter.ToInt32(i), 158117, 21, false);
1156 EndWriteAttribute();
1157 WriteLiteral(">");
1158 Write(Converter.ToInt32(i).ToString("N0"));
1159 WriteLiteral("</option>\r\n");
1160 }
1161 }
1162 WriteLiteral(@" </select>
1163 </div>
1164 <div class=""col-6 pl-sm-0 pl-2"">
1165 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count""");
1166 BeginWriteAttribute("placeholder", " placeholder=\'", 158650, "\'", 158725, 1);
1167 WriteAttributeValue("", 158664, Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"), 158664, 61, false);
1168 EndWriteAttribute();
1169 BeginWriteAttribute("value", " value=\'", 158726, "\'", 158867, 1);
1170 WriteAttributeValue("", 158734, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymax"]) ? Context.Current.Request.QueryString["subsidymax"] : "", 158734, 133, false);
1171 EndWriteAttribute();
1172 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1173 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
1174 WriteLiteral("</option>\r\n");
1175 for (var i = 0; i <= 25000; i += 1250)
1176 {
1177 if (i == 25000)
1178 {
1179 WriteLiteral(" <option");
1180 BeginWriteAttribute("value", " value=\"", 159507, "\"", 159536, 1);
1181 WriteAttributeValue("", 159515, Converter.ToInt32(i), 159515, 21, false);
1182 EndWriteAttribute();
1183 WriteLiteral(">");
1184 Write(Convert.ToInt32(i).ToString("N0"));
1185 WriteLiteral("+</option>\r\n");
1186 }
1187 else
1188 {
1189 WriteLiteral(" <option");
1190 BeginWriteAttribute("value", " value=\"", 159831, "\"", 159860, 1);
1191 WriteAttributeValue("", 159839, Converter.ToInt32(i), 159839, 21, false);
1192 EndWriteAttribute();
1193 WriteLiteral(">");
1194 Write(Convert.ToInt32(i).ToString("N0"));
1195 WriteLiteral("</option>\r\n");
1196 }
1197 }
1198 WriteLiteral(@" </select>
1199 </div>
1200 </div>
1201 </div>
1202 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"">
1203 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1204 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
1205 WriteLiteral(@"</button>
1206 </div>
1207 </div>
1208 </div>
1209 </div>
1210 </div>
1211 <div class=""row d-block d-md-none form-wrapper no-gutters"">
1212 <div class=""col-xs-12 col-md-2"">
1213 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1214 Write(Translate("Smartpage:Search.Søg", "Søg"));
1215 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n");
1216 }
1217 else
1218 {
1219 WriteLiteral(@" <div class=""main-search-form center"">
1220 <i class=""fal fa-times float-right fa-2x js-close-search""></i>
1221 <div class=""row mb-3 align-items-center"">
1222 <div class=""col-xs-12 col-md-5 border-right"">
1223 <h3>");
1224 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
1225 WriteLiteral("</h3>\r\n </div>\r\n <div class=\"col-xs-12 col-md-7 home-count d-none d-md-block\">\r\n <span class=\"search-count\" id=\"searchCounterMain\">0</span> <span>");
1226 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
1227 WriteLiteral("</span>\r\n </div>\r\n </div>\r\n\r\n <form id=\"main-search\" class=\"searchbar-wrapper\" action=\"/Default.aspx\" method=\"GET\">\r\n <input type=\"hidden\" name=\"ID\"");
1228 BeginWriteAttribute("value", " value=\'", 161974, "\'", 161995, 1);
1229 WriteAttributeValue("", 161982, searchPageId, 161982, 13, false);
1230 EndWriteAttribute();
1231 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" />
1232 <div class=""row form-wrapper no-gutters"">
1233
1234 <div class=""col-12 mb-10"">
1235 <div class=""searchbar"">
1236 <input type=""text""");
1237 BeginWriteAttribute("name", " name=\"", 162259, "\"", 162286, 1);
1238 WriteAttributeValue("", 162266, querySearchNameAttr, 162266, 20, false);
1239 EndWriteAttribute();
1240 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
1241 BeginWriteAttribute("value", " value=\'", 162389, "\'", 162409, 1);
1242 WriteAttributeValue("", 162397, querySearch, 162397, 12, false);
1243 EndWriteAttribute();
1244 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
1245 BeginWriteAttribute("value", " value=\'", 162503, "\'", 162528, 1);
1246 WriteAttributeValue("", 162511, queryZipCodeFrom, 162511, 17, false);
1247 EndWriteAttribute();
1248 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
1249 BeginWriteAttribute("value", " value=\'", 162618, "\'", 162641, 1);
1250 WriteAttributeValue("", 162626, queryZipCodeTo, 162626, 15, false);
1251 EndWriteAttribute();
1252 WriteLiteral(@" />
1253 </div>
1254 </div>
1255 <div class=""col-xs-12 col-md-8"">
1256 <div class=""row no-gutters"">
1257 <div class=""col-xs-12 col-md-6 input-col"">
1258 <div class=""dropdown"">
1259 <button class=""btn btn-dropdown dropdown-toggle reverse js-count"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
1260 ");
1261 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
1262 WriteLiteral(@"
1263 </button>
1264 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
1265 <ul class=""bolig-dropdown list-unstyled"">
1266 ");
1267
1268 RenderBoligtypeCheckboxesDropdown();
1269 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
1270 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
1271 WriteLiteral(@"</button>
1272 </div>
1273
1274 </div>
1275
1276 </div>
1277 <div class=""col-xs-12 col-md-6 input-col"">
1278 <div class=""dropdown"">
1279 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
1280 ");
1281 Write(Translate("Smartpage:Search.Pris", "Pris"));
1282 WriteLiteral(@"
1283 </button>
1284 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris"">
1285 <input type=""text"" name=""pricemin"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
1286 BeginWriteAttribute("placeholder", " placeholder=\'", 164883, "\'", 164960, 1);
1287 WriteAttributeValue("", 164897, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 164897, 63, false);
1288 EndWriteAttribute();
1289 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1290 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
1291 WriteLiteral("</option>\r\n");
1292 for (var i = 0; i <= 10000000; i += 100000)
1293 {
1294 if (i == 10000000)
1295 {
1296 WriteLiteral(" <option");
1297 BeginWriteAttribute("value", " value=\"", 165597, "\"", 165607, 1);
1298 WriteAttributeValue("", 165605, i, 165605, 2, false);
1299 EndWriteAttribute();
1300 WriteLiteral(" data-value=\'");
1301 Write(Converter.ToInt32(i).ToString("N0"));
1302 WriteLiteral("+\'>");
1303 Write(Converter.ToInt32(i).ToString("N0"));
1304 WriteLiteral("+</option>\r\n");
1305 }
1306 else
1307 {
1308 WriteLiteral(" <option");
1309 BeginWriteAttribute("value", " value=\"", 165939, "\"", 165949, 1);
1310 WriteAttributeValue("", 165947, i, 165947, 2, false);
1311 EndWriteAttribute();
1312 WriteLiteral(" data-value=\'");
1313 Write(Converter.ToInt32(i).ToString("N0"));
1314 WriteLiteral("\'>");
1315 Write(Converter.ToInt32(i).ToString("N0"));
1316 WriteLiteral("</option>\r\n");
1317 }
1318 }
1319 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\"");
1320 BeginWriteAttribute("placeholder", " placeholder=\'", 166355, "\'", 166432, 1);
1321 WriteAttributeValue("", 166369, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 166369, 63, false);
1322 EndWriteAttribute();
1323 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1324 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
1325 WriteLiteral("</option>\r\n");
1326 for (var i = 0; i <= 10000000; i += 100000)
1327 {
1328 if (i == 10000000)
1329 {
1330 WriteLiteral(" <option");
1331 BeginWriteAttribute("value", " value=\"", 167063, "\"", 167073, 1);
1332 WriteAttributeValue("", 167071, i, 167071, 2, false);
1333 EndWriteAttribute();
1334 WriteLiteral(" data-value=\'");
1335 Write(Converter.ToInt32(i).ToString("N0"));
1336 WriteLiteral("+\'>");
1337 Write(Converter.ToInt32(i).ToString("N0"));
1338 WriteLiteral("+</option>\r\n");
1339 }
1340 else
1341 {
1342 WriteLiteral(" <option");
1343 BeginWriteAttribute("value", " value=\"", 167405, "\"", 167415, 1);
1344 WriteAttributeValue("", 167413, i, 167413, 2, false);
1345 EndWriteAttribute();
1346 WriteLiteral(" data-value=\'");
1347 Write(Converter.ToInt32(i).ToString("N0"));
1348 WriteLiteral("\'>");
1349 Write(Converter.ToInt32(i).ToString("N0"));
1350 WriteLiteral("</option>\r\n");
1351 }
1352 }
1353 WriteLiteral(@" </select>
1354 </div>
1355 </div>
1356 </div>
1357 </div>
1358 </div>
1359 <div class=""col-xs-12 col-md-4 d-none d-md-block"">
1360 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1361 Write(Translate("Smartpage:Search.Søg", "Søg"));
1362 WriteLiteral(@"</button>
1363 </div>
1364 </div>
1365
1366 <div class=""row moresearch-btn no-gutters"">
1367 <div class=""col-sm-12"">
1368 <div class=""row align-items-center no-gutters"">
1369 <div class=""col-12 col-md-5"">
1370 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch-master"">
1371 <span class=""moreSearch-text""><i class=""fas fa-plus open-close white""></i> <span class=""not-open white"">");
1372 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
1373 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> ");
1374 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
1375 WriteLiteral(" </span></span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-md-3 mb-xs-4\">\r\n <a class=\"js-reset reset-btn white\">");
1376 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
1377 WriteLiteral(@"</a>
1378 </div>
1379 <div class=""col-6 col-md-4 mb-xs-4"">
1380 <div class=""parent-purchases"">
1381 <label class=""checkbox-container white"">
1382 ");
1383 Write(Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet"));
1384 WriteLiteral(@"
1385 <input type=""checkbox"" name=""foraeldrekoebegnet"" value=""true"" class=""js-input-check"">
1386 <span class=""checkmark grey""></span>
1387 </label>
1388 </div>
1389 </div>
1390 </div>
1391
1392 <div class=""collapse"" id=""moreSearch-master"">
1393
1394 <h4 class=""mt-20""><b>");
1395 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
1396 WriteLiteral(@"</b></h4>
1397 <div class=""row align-items-end mb-30"">
1398 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1399 <div class=""filter-container row"">
1400 <label class=""d-block col-12"">");
1401 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
1402 WriteLiteral(@"</label>
1403 <div class=""col-6 pr-sm-0 pr-2"">
1404 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count""");
1405 BeginWriteAttribute("placeholder", " placeholder=\'", 170872, "\'", 170945, 1);
1406 WriteAttributeValue("", 170886, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 170886, 59, false);
1407 EndWriteAttribute();
1408 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1409 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1410 WriteLiteral("</option>\r\n");
1411 for (var i = 0; i <= 300; i += 10)
1412 {
1413 if (i == 300)
1414 {
1415 WriteLiteral(" <option>");
1416 Write(i);
1417 WriteLiteral("+</option>\r\n");
1418 }
1419 else
1420 {
1421 WriteLiteral(" <option>");
1422 Write(i);
1423 WriteLiteral("</option>\r\n");
1424 }
1425 }
1426 WriteLiteral(@" </select>
1427 </div>
1428 <div class=""col-6 pl-sm-0 pl-2"">
1429 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count""");
1430 BeginWriteAttribute("placeholder", " placeholder=\'", 172328, "\'", 172401, 1);
1431 WriteAttributeValue("", 172342, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 172342, 59, false);
1432 EndWriteAttribute();
1433 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1434 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1435 WriteLiteral("</option>\r\n");
1436 for (var i = 0; i <= 300; i += 10)
1437 {
1438 if (i == 300)
1439 {
1440 WriteLiteral(" <option>");
1441 Write(i);
1442 WriteLiteral("+</option>\r\n");
1443 }
1444 else
1445 {
1446 WriteLiteral(" <option>");
1447 Write(i);
1448 WriteLiteral("</option>\r\n");
1449 }
1450 }
1451 WriteLiteral(@" </select>
1452 </div>
1453 </div>
1454 </div>
1455 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1456 <div class=""filter-container row"">
1457 <label class=""d-block col-12"">");
1458 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
1459 WriteLiteral(@"</label>
1460 <div class=""col-6 pr-sm-0 pr-2"">
1461 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count""");
1462 BeginWriteAttribute("placeholder", " placeholder=\'", 174180, "\'", 174253, 1);
1463 WriteAttributeValue("", 174194, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 174194, 59, false);
1464 EndWriteAttribute();
1465 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1466 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1467 WriteLiteral("</option>\r\n");
1468 for (var i = 0; i <= 10000; i += 100)
1469 {
1470 if (i == 10000)
1471 {
1472 WriteLiteral(" <option");
1473 BeginWriteAttribute("value", " value=\"", 174893, "\"", 174922, 1);
1474 WriteAttributeValue("", 174901, Converter.ToInt32(i), 174901, 21, false);
1475 EndWriteAttribute();
1476 WriteLiteral(">");
1477 Write(Converter.ToInt32(i).ToString("N0"));
1478 WriteLiteral("+</option>\r\n");
1479 }
1480 else
1481 {
1482 WriteLiteral(" <option");
1483 BeginWriteAttribute("value", " value=\"", 175219, "\"", 175248, 1);
1484 WriteAttributeValue("", 175227, Converter.ToInt32(i), 175227, 21, false);
1485 EndWriteAttribute();
1486 WriteLiteral(">");
1487 Write(Converter.ToInt32(i).ToString("N0"));
1488 WriteLiteral("</option>\r\n");
1489 }
1490 }
1491 WriteLiteral(@" </select>
1492 </div>
1493 <div class=""col-6 pl-sm-0 pl-2"">
1494 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count""");
1495 BeginWriteAttribute("placeholder", " placeholder=\'", 175769, "\'", 175842, 1);
1496 WriteAttributeValue("", 175783, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 175783, 59, false);
1497 EndWriteAttribute();
1498 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1499 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1500 WriteLiteral("</option>\r\n");
1501 for (var i = 0; i <= 10000; i += 100)
1502 {
1503 if (i == 10000)
1504 {
1505 WriteLiteral(" <option");
1506 BeginWriteAttribute("value", " value=\"", 176473, "\"", 176502, 1);
1507 WriteAttributeValue("", 176481, Converter.ToInt32(i), 176481, 21, false);
1508 EndWriteAttribute();
1509 WriteLiteral(">");
1510 Write(Converter.ToInt32(i).ToString("N0"));
1511 WriteLiteral("+</option>\r\n");
1512 }
1513 else
1514 {
1515 WriteLiteral(" <option");
1516 BeginWriteAttribute("value", " value=\"", 176799, "\"", 176828, 1);
1517 WriteAttributeValue("", 176807, Converter.ToInt32(i), 176807, 21, false);
1518 EndWriteAttribute();
1519 WriteLiteral(">");
1520 Write(Converter.ToInt32(i).ToString("N0"));
1521 WriteLiteral("</option>\r\n");
1522 }
1523 }
1524 WriteLiteral(@" </select>
1525 </div>
1526 </div>
1527 </div>
1528 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1529 <div class=""filter-container row"">
1530 <label class=""d-block col-12"">Antal rum</label>
1531
1532 <div class=""col-6 pr-sm-0 pr-2"">
1533 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count"">
1534 <option selected=""selected"" disabled=""disabled"">");
1535 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
1536 WriteLiteral(@"</option>
1537 <option value=""1"">1</option>
1538 <option value=""2"">2</option>
1539 <option value=""3"">3</option>
1540 <option value=""4"">4</option>
1541 <option value=""5"">5+</option>
1542 </select>
1543 </div>
1544 <div class=""col-6 pl-sm-0 pl-2"">
1545 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count"">
1546 <option selected=""selected"" disabled=""disabled"">");
1547 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
1548 WriteLiteral(@"</option>
1549 <option value=""1"">1</option>
1550 <option value=""2"">2</option>
1551 <option value=""3"">3</option>
1552 <option value=""4"">4</option>
1553 <option value=""5"">5+</option>
1554 </select>
1555 </div>
1556 </div>
1557 </div>
1558 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1559 <div class=""row"">
1560 <div class=""col-12 pr-2"">
1561 <div class=""filter-container"">
1562 <label class=""d-block"">Energimærke</label>
1563 ");
1564 WriteLiteral(" <select name=\"energylabel\" id=\"energylabel\" class=\"form-control reverse js-energylabel-select js-count\">\r\n <option disabled selected=\"selected\">");
1565 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
1566 WriteLiteral(@"</option>
1567 <option value=""01"">G</option>
1568 <option value=""02"">F</option>
1569 <option value=""03"">E</option>
1570 <option value=""04"">D</option>
1571 <option value=""05"">C</option>
1572 <option value=""06"">B</option>
1573 <option value=""07"">A</option>
1574 <option value=""08"">A2010</option>
1575 <option value=""09"">A2015</option>
1576 <option value=""10"">A2020+</option>
1577 </select>
1578 </div>
1579 ");
1580 WriteLiteral(@" </div>
1581 </div>
1582 </div>
1583 <div class=""col-12 col-sm-6 col-lg-6 mt-3"">
1584 <h4");
1585 BeginWriteAttribute("class", " class=\"", 181334, "\"", 181342, 0);
1586 EndWriteAttribute();
1587 WriteLiteral("><b>");
1588 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
1589 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
1590 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
1591 WriteLiteral("</label>\r\n <div class=\"col-6 pr-sm-0 pr-2\">\r\n <input type=\"text\" name=\"subsidymin\" id=\"subsidymin\" class=\"form-control js-subsidymin-frontpage-input js-count\"");
1592 BeginWriteAttribute("placeholder", " placeholder=\'", 181904, "\'", 181971, 1);
1593 WriteAttributeValue("", 181918, Translate("Smartpage:Search.Placeholder.Min", "Min"), 181918, 53, false);
1594 EndWriteAttribute();
1595 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1596 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
1597 WriteLiteral("</option>\r\n");
1598 for (var i = 0; i <= 25000; i += 1250)
1599 {
1600 if (i == 25000)
1601 {
1602 WriteLiteral(" <option");
1603 BeginWriteAttribute("value", " value=\"", 182615, "\"", 182644, 1);
1604 WriteAttributeValue("", 182623, Converter.ToInt32(i), 182623, 21, false);
1605 EndWriteAttribute();
1606 WriteLiteral(">");
1607 Write(Converter.ToInt32(i).ToString("N0"));
1608 WriteLiteral("+</option>\r\n");
1609 }
1610 else
1611 {
1612 WriteLiteral(" <option");
1613 BeginWriteAttribute("value", " value=\"", 182941, "\"", 182970, 1);
1614 WriteAttributeValue("", 182949, Converter.ToInt32(i), 182949, 21, false);
1615 EndWriteAttribute();
1616 WriteLiteral(">");
1617 Write(Converter.ToInt32(i).ToString("N0"));
1618 WriteLiteral("</option>\r\n");
1619 }
1620 }
1621 WriteLiteral(@" </select>
1622 </div>
1623 <div class=""col-6 pl-sm-0 pl-2"">
1624 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count""");
1625 BeginWriteAttribute("placeholder", " placeholder=\'", 183482, "\'", 183549, 1);
1626 WriteAttributeValue("", 183496, Translate("Smartpage:Search.Placeholder.Max", "Max"), 183496, 53, false);
1627 EndWriteAttribute();
1628 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1629 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
1630 WriteLiteral("</option>\r\n");
1631 for (var i = 0; i <= 25000; i += 1250)
1632 {
1633 if (i == 25000)
1634 {
1635 WriteLiteral(" <option");
1636 BeginWriteAttribute("value", " value=\"", 184189, "\"", 184218, 1);
1637 WriteAttributeValue("", 184197, Converter.ToInt32(i), 184197, 21, false);
1638 EndWriteAttribute();
1639 WriteLiteral(">");
1640 Write(Converter.ToInt32(i).ToString("N0"));
1641 WriteLiteral("+</option>\r\n");
1642 }
1643 else
1644 {
1645 WriteLiteral(" <option");
1646 BeginWriteAttribute("value", " value=\"", 184515, "\"", 184544, 1);
1647 WriteAttributeValue("", 184523, Converter.ToInt32(i), 184523, 21, false);
1648 EndWriteAttribute();
1649 WriteLiteral(">");
1650 Write(Converter.ToInt32(i).ToString("N0"));
1651 WriteLiteral("</option>\r\n");
1652 }
1653 }
1654 WriteLiteral(@" </select>
1655 </div>
1656 </div>
1657 </div>
1658 <div class=""col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0"">
1659 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1660 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
1661 WriteLiteral(@"</button>
1662 </div>
1663 </div>
1664 </div>
1665 </div>
1666 </div>
1667 <div class=""row d-block d-md-none form-wrapper no-gutters"">
1668 <div class=""col-xs-12 col-md-2"">
1669 <button type=""submit"" class=""btn btn-block btn-search dark-red""><i class=""fa fa-search""></i> ");
1670 Write(Translate("Smartpage:Search.Søg", "Søg"));
1671 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n");
1672 }
1673 WriteLiteral(" </div>\r\n\r\n");
1674
1675 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning));
1676 WriteLiteral("\r\n");
1677 if (isBrokerPage)
1678 {
1679 WriteLiteral(" <section class=\"maegler-navbar\">\r\n ");
1680 Write(RenderNavigation(new
1681 {
1682 id = "navbar-main",
1683 cssclass = "dwnavigation",
1684 template = "ul_li.xslt",
1685 StartLevel = 1,
1686 EndLevel = 1
1687 }));
1688 WriteLiteral("\r\n </section>\r\n");
1689 }
1690 WriteLiteral("\r\n <div class=\"visual-editor\">\r\n");
1691 WriteLiteral("\r\n\r\n");
1692 WriteLiteral("\r\n\r\n");
1693 WriteLiteral("\r\n");
1694
1695 int pageId = Model.ID;
1696 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus");
1697 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles");
1698 bool showTitle = Model.Item.GetBoolean("ShowTitle");
1699 bool showFilters = Model.Item.GetBoolean("ShowFilters");
1700 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter");
1701 bool showSearch = Model.Item.GetBoolean("ShowSearch");
1702 string dynamicListWidth = enablePopular ? "8" : "12";
1703 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle";
1704
1705 Dictionary<string, string> categoriesList = new Dictionary<string, string>();
1706 categoriesList.Add(Translate("All"), "");
1707
1708 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId))
1709 {
1710 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any())
1711 {
1712 categoriesList.Add(page.GetDisplayName(), page.ID.ToString());
1713 }
1714 }
1715
1716 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields;
1717 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : "";
1718 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : "";
1719 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : "";
1720
1721 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null;
1722 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null;
1723 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null;
1724
1725 Block listPageContainer = new Block
1726 {
1727 Id = "ArticleListPageContainer",
1728 SortId = 10,
1729 Design = new Design
1730 {
1731 RenderType = RenderType.Row
1732 },
1733 BlocksList = new List<Block> {
1734 new Block {
1735 Id = "ArticleListPageHeader",
1736 SortId = 20,
1737 Design = new Design
1738 {
1739 RenderType = RenderType.Column,
1740 Size = "12"
1741 },
1742 BlocksList = new List<Block> {
1743 new Block {
1744 Id = "ArticleListPageHeaderRow",
1745 SortId = 10,
1746 Design = new Design
1747 {
1748 RenderType = RenderType.Row
1749 },
1750 BlocksList = new List<Block> {
1751 new Block {
1752 Id = "ArticleListFilters",
1753 SortId = 30,
1754 Design = new Design {
1755 RenderType = RenderType.Column,
1756 Size = "10",
1757 CssClass = "grid__cell"
1758 }
1759 }
1760 }
1761 }
1762 }
1763 }
1764 }
1765 };
1766 articleListPage.Add(listPageContainer);
1767
1768 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") {
1769 Block listFilters = articleListPage.GetBlockById("ArticleListFilters");
1770 listFilters.Template = RenderMobileFilters(listFilters.BlocksList);
1771 listFilters.SkipRenderBlocksList = true;
1772 }
1773
1774 if (showTitle) {
1775 Block titleBlock = new Block
1776 {
1777 Id = "ArticleListTitle",
1778 SortId = 10,
1779 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 },
1780 Design = new Design
1781 {
1782 RenderType = RenderType.Column,
1783 Size = "2"
1784 }
1785 };
1786 articleListPage.Add("ArticleListPageHeaderRow", titleBlock);
1787 }
1788
1789 if (showSearch)
1790 {
1791 Block searchFilter = new Block
1792 {
1793 Id = "ArticleListSearch",
1794 SortId = 10,
1795 Component = new ArticleListSearch { }
1796 };
1797 articleListPage.Add("ArticleListFilters", searchFilter);
1798 }
1799
1800 if (showCategoryFilter)
1801 {
1802 Block categoryFilter = new Block
1803 {
1804 Id = "ArticleListCategoryFilter",
1805 SortId = 20,
1806 Component = new ArticleListCategoryFilter { Categories = categoriesList }
1807 };
1808 articleListPage.Add("ArticleListFilters", categoryFilter);
1809 }
1810
1811 Block listBody = new Block
1812 {
1813 Id = "ArticleListPageBody",
1814 SortId = 30,
1815 Design = new Design
1816 {
1817 RenderType = RenderType.Column,
1818 Size = dynamicListWidth
1819 }
1820 };
1821 articleListPage.Add("ArticleListPageContainer", listBody);
1822
1823 Block listBodyRow = new Block
1824 {
1825 Id = "ArticleListPageBodyRow",
1826 SortId = 10,
1827 Design = new Design
1828 {
1829 RenderType = RenderType.Row
1830 }
1831 };
1832 articleListPage.Add("ArticleListPageBody", listBodyRow);
1833
1834 if (enableArticlesInFocus) {
1835 Block listInFocus = new Block
1836 {
1837 Id = "ArticleListInFocus",
1838 SortId = 10,
1839 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType },
1840 Design = new Design
1841 {
1842 RenderType = RenderType.Column,
1843 Size = "12",
1844 HidePadding = true
1845 }
1846 };
1847 articleListPage.Add("ArticleListPageBodyRow", listInFocus);
1848 }
1849
1850 Block listMain = new Block
1851 {
1852 Id = "ArticleListMain",
1853 SortId = 20,
1854 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType },
1855 Design = new Design
1856 {
1857 RenderType = RenderType.Column,
1858 Size = "12",
1859 HidePadding = true
1860 }
1861 };
1862 articleListPage.Add("ArticleListPageBodyRow", listMain);
1863
1864 if (enablePopular)
1865 {
1866 Block listPopular = new Block
1867 {
1868 Id = "ArticleListPopular",
1869 SortId = 30,
1870 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType },
1871 Design = new Design
1872 {
1873 RenderType = RenderType.Column,
1874 Size = "4",
1875 CssClass = "u-padding--lg"
1876 }
1877 };
1878 articleListPage.Add("ArticleListPageContainer", listPopular);
1879 }
1880
1881 if (showFilters) {
1882 if (filterOneOptions != null)
1883 {
1884 Block filterOne = new Block
1885 {
1886 Id = "ArticleListFilterOne",
1887 SortId = 30,
1888 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" }
1889 };
1890 articleListPage.Add("ArticleListFilters", filterOne);
1891 }
1892
1893 if (filterTwoOptions != null)
1894 {
1895 Block filterTwo = new Block
1896 {
1897 Id = "ArticleListFilterTwo",
1898 SortId = 40,
1899 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" }
1900 };
1901 articleListPage.Add("ArticleListFilters", filterTwo);
1902 }
1903
1904 if (filterThreeOptions != null)
1905 {
1906 Block filterThree = new Block
1907 {
1908 Id = "ArticleListFilterThree",
1909 SortId = 50,
1910 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" }
1911 };
1912 articleListPage.Add("ArticleListFilters", filterThree);
1913 }
1914 }
1915 WriteLiteral("\r\n\r\n");
1916 WriteLiteral("\r\n");
1917 Write(RenderBlockList(articleListPage.BlocksRoot.BlocksList));
1918 WriteLiteral("\r\n\r\n\r\n<script>\r\n document.getElementById(\"Page\").classList.add(\"u-color-light-gray--bg\");\r\n</script>\r\n </div>\r\n\r\n");
1919 if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true)
1920 {
1921 string bName = MyBroker.Broker.Name;
1922 string bClass = "na";
1923 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png";
1924
1925 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName))
1926 {
1927 bName = MyBroker.Broker.CompanyName;
1928 }
1929 try
1930 {
1931 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl");
1932 if (!string.IsNullOrEmpty(imgUrl))
1933 {
1934 bImage = imgUrl;
1935 bClass = "";
1936 }
1937 }
1938 catch
1939 {
1940 // Ignore
1941 }
1942
1943 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId");
1944 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
1945
1946 WriteLiteral(" <section class=\"din-maegler\">\r\n <div");
1947 BeginWriteAttribute("class", " class=\"", 196424, "\"", 196451, 2);
1948 WriteAttributeValue("", 196432, "img-wrapper", 196432, 11, true);
1949 WriteAttributeValue(" ", 196443, bClass, 196444, 7, false);
1950 EndWriteAttribute();
1951 BeginWriteAttribute("style", " style=\"", 196452, "\"", 196491, 3);
1952 WriteAttributeValue("", 196460, "background-image:url(\'", 196460, 22, true);
1953 WriteAttributeValue("", 196482, bImage, 196482, 7, false);
1954 WriteAttributeValue("", 196489, "\')", 196489, 2, true);
1955 EndWriteAttribute();
1956 WriteLiteral(@"></div>
1957 <div class=""container"">
1958 <div class=""col-12 col-sm-12 col-md-6 offset-md-6"">
1959 <h2>Din personlige mægler</h2>
1960 <div class=""row"">
1961 <div class=""col-12 col-sm-6"">
1962 <p>
1963 <b class=""my-broker-name"">");
1964 Write(MyBroker.Employee.Name);
1965 WriteLiteral("</b><br>\r\n");
1966 if (!string.IsNullOrEmpty(MyBroker.Employee.Email))
1967 {
1968 WriteLiteral("Mail: <a");
1969 BeginWriteAttribute("href", " href=\"", 197048, "\"", 197108, 2);
1970 WriteAttributeValue("", 197055, "mailto:", 197055, 7, true);
1971 WriteAttributeValue("", 197062, ExtractMaskedEmail(MyBroker.Employee.Email), 197062, 46, false);
1972 EndWriteAttribute();
1973 WriteLiteral(" class=\"my-broker-email\">");
1974 Write(ExtractMaskedEmail(MyBroker.Employee.Email));
1975 WriteLiteral("</a><br>");
1976
1977 }
1978 if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile))
1979 {
1980 WriteLiteral("Tlf.: <a");
1981 BeginWriteAttribute("href", " href=\"", 197407, "\"", 197450, 2);
1982 WriteAttributeValue("", 197414, "tel:", 197414, 4, true);
1983 WriteAttributeValue("", 197418, MyBroker.Employee.PhoneMobile, 197418, 32, false);
1984 EndWriteAttribute();
1985 WriteLiteral(" class=\"my-broker-phone\">");
1986 Write(FormatPhoneNumber(MyBroker.Employee.PhoneMobile));
1987 WriteLiteral("</a>");
1988
1989 }
1990 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
1991 {
1992 WriteLiteral("Tlf.: <a");
1993 BeginWriteAttribute("href", " href=\"", 197750, "\"", 197789, 2);
1994 WriteAttributeValue("", 197757, "tel:", 197757, 4, true);
1995 WriteAttributeValue("", 197761, MyBroker.Broker.Telephone, 197761, 28, false);
1996 EndWriteAttribute();
1997 WriteLiteral(" class=\"my-broker-phone\">");
1998 Write(FormatPhoneNumber(MyBroker.Broker.Telephone));
1999 WriteLiteral("</a>");
2000
2001 }
2002 WriteLiteral(" </p>\r\n </div>\r\n <div class=\"col-12 col-sm-6\">\r\n <p>\r\n <b class=\"my-broker-company-name\">");
2003 Write(bName);
2004 WriteLiteral("</b><br>\r\n <span class=\"my-broker-company-address\">");
2005 Write(MyBroker.Broker.Address);
2006 WriteLiteral("</span><br>\r\n <span class=\"my-broker-company-zip\">");
2007 Write(MyBroker.Broker.ZipCode);
2008 WriteLiteral("</span> <span class=\"my-broker-company-city\">");
2009 Write(MyBroker.Broker.City);
2010 WriteLiteral("</span><br>\r\n");
2011 if (!string.IsNullOrEmpty(bEmail))
2012 {
2013 WriteLiteral("Mail: <a");
2014 BeginWriteAttribute("href", " href=\"", 198578, "\"", 198601, 2);
2015 WriteAttributeValue("", 198585, "mailto:", 198585, 7, true);
2016 WriteAttributeValue("", 198592, bEmail, 198592, 9, false);
2017 EndWriteAttribute();
2018 WriteLiteral(" class=\"my-broker-broker-email\">");
2019 Write(bEmail);
2020 WriteLiteral("</a><br>");
2021
2022 }
2023 if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
2024 {
2025 WriteLiteral("Tlf.: <a");
2026 BeginWriteAttribute("href", " href=\"", 198866, "\"", 198905, 2);
2027 WriteAttributeValue("", 198873, "tel:", 198873, 4, true);
2028 WriteAttributeValue("", 198877, MyBroker.Broker.Telephone, 198877, 28, false);
2029 EndWriteAttribute();
2030 WriteLiteral(" class=\"my-broker-broker-phone\">");
2031 Write(FormatPhoneNumber(MyBroker.Broker.Telephone));
2032 WriteLiteral("</a>");
2033
2034 }
2035 WriteLiteral(" </p>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <br />\r\n <div class=\"col-12 col-sm-6\">\r\n <a");
2036 BeginWriteAttribute("href", " href=\"", 199281, "\"", 199316, 2);
2037 WriteAttributeValue("", 199288, "/", 199288, 1, true);
2038 WriteAttributeValue("", 199289, medlemsnummer.Substring(1), 199289, 27, false);
2039 EndWriteAttribute();
2040 WriteLiteral(" class=\"btn btn-primary btn-block my-broker-company-url\">Til mæglerens side</a>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n");
2041 }
2042 WriteLiteral(" <footer>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n");
2043
2044 var navigationSettings = new NavigationSettings();
2045 navigationSettings.StartLevel = 1;
2046 navigationSettings.StopLevel = 3;
2047 navigationSettings.ExpandMode = ExpandMode.All;
2048 navigationSettings.RootAreaId = 1;
2049 navigationSettings.RootNavigationTag = "footer-nav";
2050
2051 WriteLiteral(" ");
2052 Write(Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings));
2053 WriteLiteral("\r\n </div>\r\n </div>\r\n </footer>\r\n\r\n");
2054 if (Model.CurrentUser?.ID <= 0)
2055 {
2056 WriteLiteral(" <div id=\"panel-login\" class=\"panel panel-form\">\r\n <button type=\"button\" class=\"close\" data-dismiss=\"panel-form\" aria-label=\"Close\">\r\n <b></b>\r\n </button>\r\n <div class=\"loginform login\">\r\n");
2057 if (loginParagraphId > 0)
2058 {
2059 WriteLiteral("\r\n ");
2060 Write(RenderParagraphContent(loginParagraphId));
2061 WriteLiteral("\r\n ");
2062
2063 }
2064 WriteLiteral(" </div>\r\n <div class=\"loginform register js-register-form-wrapper\" style=\"display: none;\">\r\n");
2065 if (createUserParagraphId > 0)
2066 {
2067 WriteLiteral("\r\n ");
2068 Write(RenderParagraphContent(createUserParagraphId));
2069 WriteLiteral("\r\n ");
2070
2071 }
2072 WriteLiteral(" </div>\r\n <div class=\"loginform forgotpw\" style=\"display: none;\">\r\n <h2 class=\"forgotpw-reg\">");
2073 Write(Translate("forgot-pw-reg-title", "Glemt adgangskode"));
2074 WriteLiteral("</h2>\r\n <h2 class=\"forgotpw-broker\">");
2075 Write(Translate("forgot-pw-broker-title", "Tilmeldt via. mægler"));
2076 WriteLiteral("</h2>\r\n <form id=\"forgotPwForm\" class=\"form-body\" method=\"post\"");
2077 BeginWriteAttribute("action", " action=\"", 201379, "\"", 201388, 0);
2078 EndWriteAttribute();
2079 WriteLiteral(">\r\n <input type=\"hidden\" id=\"AccessUserShopID\" name=\"AccessUserShopID\" value=\"SHOP6\" />\r\n <p class=\"forgotpw-reg\">");
2080 Write(Translate("forgot-pw-reg-teaser", "Har du glemt din adgangskode? Udfyld din e-mail herunder og få tilsendt instrukser for nulstillelse/ændring af din adgangskode."));
2081 WriteLiteral("</p>\r\n <p class=\"forgotpw-broker\">");
2082 Write(Translate("forgot-pw-broker-teaser", "Er du blevet tilmeldt via. din mægler, men mangler adgangskode til dit login? Udfyld e-mailen du har oplyst hos mægleren og få tilsendt instrukser for nulstillelse/ændring af din adgangskode."));
2083 WriteLiteral(@"</p>
2084 <div class=""form-group"">
2085 <input id=""AccessUserEmail"" name=""AccessUserEmail"" type=""email"" pattern=""[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$"" placeholder=""E-mail"" class=""form-control"" required />
2086 </div>
2087 <button class=""btn btn-primary btn-block"" type=""submit"">");
2088 Write(Translate("forgot-pw-cta", "Nulstil adgangskode"));
2089 WriteLiteral("</button>\r\n <br />\r\n <div id=\"submitMessage\"></div>\r\n </form>\r\n </div>\r\n </div>\r\n");
2090 }
2091 WriteLiteral("\r\n");
2092 WriteLiteral("\r\n");
2093
2094 string privacyPolicyText = Translate("Smartpage:PrivacyPolicyText", "* Der samles ingen personlige oplysninger uden dit udtrykkelige samtykke. Ved at klikke på denne checkboks giver du dit samtykke til, at dine data samles og behandles af RealMæglerne A/S for at kunne kontakte dig. Du kan til enhver tid tilbagekalde dit samtykke. For at gøre dette skal du blot sende en meddelelse til");
2095 WriteLiteral("\r\n<div id=\"panel-kontakt-koeberraadgivning\" class=\"panel panel-form\">\r\n <button type=\"button\" class=\"close\" data-dismiss=\"panel-form\" aria-label=\"Close\">\r\n <b></b>\r\n </button>\r\n <h2>");
2096 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler"));
2097 WriteLiteral("</h2>\r\n <form id=\"form-koeberraadgivning\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>");
2098 Write(Translate("form-navn", "Navn"));
2099 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\" tabindex=\"1\"");
2100 BeginWriteAttribute("placeholder", " placeholder=\'", 203628, "\'", 203710, 1);
2101 WriteAttributeValue("", 203642, Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn"), 203642, 68, false);
2102 EndWriteAttribute();
2103 BeginWriteAttribute("value", " value=\'", 203711, "\'", 203750, 1);
2104 WriteAttributeValue("", 203719, UserContext.Current.User?.Name, 203719, 31, false);
2105 EndWriteAttribute();
2106 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2107 Write(Translate("form-email", "E-mail"));
2108 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" tabindex=\"2\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2109 BeginWriteAttribute("placeholder", " placeholder=\'", 204027, "\'", 204112, 1);
2110 WriteAttributeValue("", 204041, Translate("Smartpage:Kontakt.Placeholder.Email", "Indtast din e-mail"), 204041, 71, false);
2111 EndWriteAttribute();
2112 BeginWriteAttribute("value", " value=\'", 204113, "\'", 204153, 1);
2113 WriteAttributeValue("", 204121, UserContext.Current.User?.Email, 204121, 32, false);
2114 EndWriteAttribute();
2115 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2116 Write(Translate("form-mobile", "Mobil nr."));
2117 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"3\" maxlength=\"20\" name=\"mobile\"");
2118 BeginWriteAttribute("placeholder", " placeholder=\'", 204464, "\'", 204549, 1);
2119 WriteAttributeValue("", 204478, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 204478, 71, false);
2120 EndWriteAttribute();
2121 BeginWriteAttribute("value", " value=\'", 204550, "\'", 204590, 1);
2122 WriteAttributeValue("", 204558, UserContext.Current.User?.Phone, 204558, 32, false);
2123 EndWriteAttribute();
2124 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2125 Write(Translate("form-telephone", "Telefon nr."));
2126 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"4\" maxlength=\"20\" name=\"telefonnummer\"");
2127 BeginWriteAttribute("placeholder", " placeholder=\'", 204873, "\'", 204957, 1);
2128 WriteAttributeValue("", 204887, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 204887, 70, false);
2129 EndWriteAttribute();
2130 BeginWriteAttribute("value", " value=\'", 204958, "\'", 204999, 1);
2131 WriteAttributeValue("", 204966, UserContext.Current?.User?.Phone, 204966, 33, false);
2132 EndWriteAttribute();
2133 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <h3>");
2134 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2135 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2136 Write(Translate("form-zip", "Post nr"));
2137 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\" tabindex=\"5\"");
2138 BeginWriteAttribute("placeholder", " placeholder=\'", 205407, "\'", 205485, 1);
2139 WriteAttributeValue("", 205421, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 205421, 64, false);
2140 EndWriteAttribute();
2141 BeginWriteAttribute("value", " value=\"", 205486, "\"", 205502, 1);
2142 WriteAttributeValue("", 205494, userZip, 205494, 8, false);
2143 EndWriteAttribute();
2144 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2145 Write(Translate("form-city", "By"));
2146 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-city\" type=\"text\" readonly />\r\n </div>\r\n </div>\r\n <div class=\"form-group overflow-unset\">\r\n <label><strong>");
2147 Write(Translate("form-adresse", "Adresse"));
2148 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\" tabindex=\"6\"");
2149 BeginWriteAttribute("placeholder", " placeholder=\'", 206069, "\'", 206159, 1);
2150 WriteAttributeValue("", 206083, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 206083, 76, false);
2151 EndWriteAttribute();
2152 WriteLiteral(" required />\r\n\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2153 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2154 WriteLiteral(@"</label>
2155 </div>
2156 <button class=""form-control text-left js-collapse-focus"" type=""button"" data-toggle=""collapse"" data-target=""#kontaktkoeberrradgiver-collapse"" aria-expanded=""false"" aria-controls=""kontaktkoeberrradgiver-collapse"">
2157 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2158 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2159 WriteLiteral("</strong>\r\n </button>\r\n <div class=\"collapse\" id=\"kontaktkoeberrradgiver-collapse\">\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\"");
2160 BeginWriteAttribute("placeholder", " placeholder=\'", 206953, "\'", 207031, 1);
2161 WriteAttributeValue("", 206967, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 206967, 64, false);
2162 EndWriteAttribute();
2163 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <button type=\"submit\" class=\"btn btn-green btn-block\">");
2164 Write(Translate("KontaktMægler", "Kontakt Mægler"));
2165 WriteLiteral(@"</button>
2166 </div>
2167 </div>
2168 </div>
2169 <div class=""form-group mt-3"">
2170 <div class=""checkbox"">
2171 <label>
2172 <input type=""checkbox"" name=""kontaktmigok"" required />
2173
2174 <span>");
2175 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2176 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2177 Write(privacyPolicyText);
2178 WriteLiteral(" <a");
2179 BeginWriteAttribute("href", " href=\"", 207844, "\"", 207868, 2);
2180 WriteAttributeValue("", 207851, "mailto:", 207851, 7, true);
2181 WriteAttributeValue("", 207858, termsMail, 207858, 10, false);
2182 EndWriteAttribute();
2183 WriteLiteral(">");
2184 Write(termsMail);
2185 WriteLiteral("</a>.\r\n Læs mere på <a");
2186 BeginWriteAttribute("href", " href=\"", 207913, "\"", 207947, 1);
2187 WriteAttributeValue("", 207920, settings_Persondatapolitik, 207920, 27, false);
2188 EndWriteAttribute();
2189 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n\r\n <input type=\"hidden\" name=\"fn\" value=\"krk\" />\r\n <input type=\"hidden\" name=\"origin\"");
2190 BeginWriteAttribute("value", " value=\"", 208093, "\"", 208101, 0);
2191 EndWriteAttribute();
2192 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2193 BeginWriteAttribute("value", " value=\"", 208151, "\"", 208159, 0);
2194 EndWriteAttribute();
2195 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2196 BeginWriteAttribute("value", " value=\"", 208207, "\"", 208231, 1);
2197 WriteAttributeValue("", 208215, Pageview.AreaID, 208215, 16, false);
2198 EndWriteAttribute();
2199 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2200 BeginWriteAttribute("value", " value=\"", 208280, "\"", 208296, 1);
2201 WriteAttributeValue("", 208288, butikId, 208288, 8, false);
2202 EndWriteAttribute();
2203 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2204 BeginWriteAttribute("value", " value=\"", 208350, "\"", 208358, 0);
2205 EndWriteAttribute();
2206 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2207 BeginWriteAttribute("value", " value=\"", 208409, "\"", 208417, 0);
2208 EndWriteAttribute();
2209 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2210 BeginWriteAttribute("value", " value=\"", 208467, "\"", 208475, 0);
2211 EndWriteAttribute();
2212 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-advisor\" style=\"display:none;\">\r\n <h2>");
2213 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2214 WriteLiteral("</h2>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2215 BeginWriteAttribute("src", " src=\"", 208708, "\"", 208714, 0);
2216 EndWriteAttribute();
2217 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2218 </div>
2219 <div class=""col-6"">
2220 <p class=""js-maegler-name""></p>
2221 <p class=""js-maegler-address""></p>
2222 <p class=""js-maegler-phone""></p>
2223 <p class=""js-maegler-mail""></p>
2224 </div>
2225 </div>
2226 <p>");
2227 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2228 WriteLiteral(@"</p>
2229 </div>
2230 </div>
2231
2232 <!--ÅBENT HUS-->
2233 <div id=""panel-aabenthus"" class=""panel panel-form"">
2234 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2235 <b></b>
2236 </button>
2237
2238
2239 <form id=""form-aabenthus"" method=""POST"" action=""/InboxHandler"">
2240 <h2>");
2241 Write(Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus"));
2242 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>");
2243 Write(Translate("Smarptage:Adresse", "Adresse:"));
2244 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>");
2245 Write(Translate("Smarptage:Date", "Dato:"));
2246 WriteLiteral("</strong> <label class=\"js-aabenthus-date mb-0\"></label>\r\n </div>\r\n <div class=\"d-block mb-4\">\r\n <strong>");
2247 Write(Translate("Smarptage:Time", "Tidspunkt:"));
2248 WriteLiteral("</strong> <label class=\"js-aabenthus-time mb-0\"></label>\r\n </div>\r\n <h3>");
2249 Write(Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger"));
2250 WriteLiteral("</h3>\r\n <div class=\"form-group\">\r\n <label for=\"aabenthus-name\"><strong>");
2251 Write(Translate("form-navn", "Navn"));
2252 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2253 BeginWriteAttribute("placeholder", " placeholder=\'", 210332, "\'", 210416, 1);
2254 WriteAttributeValue("", 210346, Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn"), 210346, 70, false);
2255 EndWriteAttribute();
2256 BeginWriteAttribute("value", " value=\'", 210417, "\'", 210457, 1);
2257 WriteAttributeValue("", 210425, UserContext.Current?.User?.Name, 210425, 32, false);
2258 EndWriteAttribute();
2259 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2260 Write(Translate("form-email", "E-mail"));
2261 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2262 BeginWriteAttribute("placeholder", " placeholder=\'", 210721, "\'", 210808, 1);
2263 WriteAttributeValue("", 210735, Translate("Smartpage:Aabenthus.Placeholder.Email", "Indtast din e-mail"), 210735, 73, false);
2264 EndWriteAttribute();
2265 BeginWriteAttribute("value", " value=\'", 210809, "\'", 210849, 1);
2266 WriteAttributeValue("", 210817, UserContext.Current.User?.Email, 210817, 32, false);
2267 EndWriteAttribute();
2268 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2269 Write(Translate("form-mobile", "Mobil nr."));
2270 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2271 BeginWriteAttribute("placeholder", " placeholder=\'", 211142, "\'", 211229, 1);
2272 WriteAttributeValue("", 211156, Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr."), 211156, 73, false);
2273 EndWriteAttribute();
2274 BeginWriteAttribute("value", " value=\'", 211230, "\'", 211270, 1);
2275 WriteAttributeValue("", 211238, UserContext.Current.User?.Phone, 211238, 32, false);
2276 EndWriteAttribute();
2277 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2278 Write(Translate("form-telephone", "Telefon nr."));
2279 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2280 BeginWriteAttribute("placeholder", " placeholder=\'", 211540, "\'", 211626, 1);
2281 WriteAttributeValue("", 211554, Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr."), 211554, 72, false);
2282 EndWriteAttribute();
2283 BeginWriteAttribute("value", " value=\'", 211627, "\'", 211667, 1);
2284 WriteAttributeValue("", 211635, UserContext.Current.User?.Phone, 211635, 32, false);
2285 EndWriteAttribute();
2286 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <button type=\"submit\" class=\"btn btn-block btn-green\">");
2287 Write(Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus"));
2288 WriteLiteral(@"</button>
2289 </div>
2290 </div>
2291 </div>
2292 <div class=""form-group"">
2293 <div class=""checkbox"">
2294 <label>
2295 <input type=""checkbox"" name=""kontaktmigok"" required />
2296
2297 <span class=""base-color"">");
2298 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2299 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n ");
2300 Write(string.Format(Translate("Smartpage:Panel.Accept", "Du accepterer samtidig vores {0} og giver samtykke til, at dine data samles og behandles af RealMæglerne A/S for at kunne kontakte dig"), "<a href='" + settings_Persondatapolitik + "'>privatlivspolitikkerne</a>"));
2301 WriteLiteral("\r\n\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"ah\" />\r\n <input type=\"hidden\" name=\"origin\"");
2302 BeginWriteAttribute("value", " value=\"", 212830, "\"", 212838, 0);
2303 EndWriteAttribute();
2304 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2305 BeginWriteAttribute("value", " value=\"", 212888, "\"", 212903, 1);
2306 WriteAttributeValue("", 212896, userID, 212896, 7, false);
2307 EndWriteAttribute();
2308 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2309 BeginWriteAttribute("value", " value=\"", 212951, "\"", 212975, 1);
2310 WriteAttributeValue("", 212959, Pageview.AreaID, 212959, 16, false);
2311 EndWriteAttribute();
2312 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2313 BeginWriteAttribute("value", " value=\"", 213024, "\"", 213040, 1);
2314 WriteAttributeValue("", 213032, butikId, 213032, 8, false);
2315 EndWriteAttribute();
2316 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsaddresse\"");
2317 BeginWriteAttribute("value", " value=\"", 213094, "\"", 213102, 0);
2318 EndWriteAttribute();
2319 WriteLiteral(" class=\"js-aabenthus-address-input\" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2320 BeginWriteAttribute("value", " value=\"", 213191, "\"", 213199, 0);
2321 EndWriteAttribute();
2322 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2323 BeginWriteAttribute("value", " value=\"", 213250, "\"", 213258, 0);
2324 EndWriteAttribute();
2325 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2326 BeginWriteAttribute("value", " value=\"", 213308, "\"", 213316, 0);
2327 EndWriteAttribute();
2328 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2329 BeginWriteAttribute("value", " value=\"", 213366, "\"", 213374, 0);
2330 EndWriteAttribute();
2331 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsnr\"");
2332 BeginWriteAttribute("value", " value=\"", 213422, "\"", 213430, 0);
2333 EndWriteAttribute();
2334 WriteLiteral(" class=\"js-sagsnr\" />\r\n <input type=\"hidden\" name=\"productId\"");
2335 BeginWriteAttribute("value", " value=\"", 213499, "\"", 213555, 1);
2336 WriteAttributeValue("", 213507, Dynamicweb.Context.Current.Request["ProductId"], 213507, 48, false);
2337 EndWriteAttribute();
2338 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"aftaleid\"");
2339 BeginWriteAttribute("value", " value=\"", 213605, "\"", 213613, 0);
2340 EndWriteAttribute();
2341 WriteLiteral(@" class=""js-aftaleid"" />
2342
2343 <input type=""hidden"" name=""dateMail"" class=""js-aabenthus-date-input"" />
2344 <input type=""hidden"" name=""timeMail"" class=""js-aabenthus-time-input"" />
2345 <input type=""hidden"" name=""brokerImageMail"" class=""property-broker-image-input"" />
2346 <input type=""hidden"" name=""employeeNameMail"" class=""js-maegler-employee-name-input"" />
2347 <input type=""hidden"" name=""employeeTitleMail"" class=""js-maegler-employee-title-input"" />
2348 <input type=""hidden"" name=""employeeMailMail"" class=""js-maegler-mail-input"" />
2349 <input type=""hidden"" name=""employeeMobileMail"" class=""js-maegler-mobile-input"" />
2350 <input type=""hidden"" name=""employeePhoneMail"" class=""js-maegler-phone-input"" />
2351
2352 <input type=""hidden"" name=""brokerNameMail"" class=""js-broker-name-input"" />
2353 <input type=""hidden"" name=""brokerAddressMail"" class=""js-broker-address-input"" />
2354 <input type=""hidden"" name=""brokerPhoneMail"" class=""js-broker-phone-input"" />
2355 </form>
2356 <di");
2357 WriteLiteral("v id=\"tak-aabenthus\" style=\"display:none;\">\r\n <h2>");
2358 Write(Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!"));
2359 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>");
2360 Write(Translate("Smarptage:Adresse", "Adresse:"));
2361 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>");
2362 Write(Translate("Smarptage:Date", "Dato:"));
2363 WriteLiteral("</strong> <label class=\"js-aabenthus-date mb-0\"></label>\r\n\r\n </div>\r\n <div class=\"d-block mb-4\">\r\n <strong>");
2364 Write(Translate("Smarptage:Time", "Tidspunkt:"));
2365 WriteLiteral("</strong> <label class=\"js-aabenthus-time mb-0\"></label>\r\n\r\n </div>\r\n\r\n <div class=\"js-employee\">\r\n <p>");
2366 Write(String.Format(Translate("Smartpage:Aabenthus.Tak", "Vi glæder os til at vise dig boligen. Har du spørgsmål inden vi ses, kan du kontakte {0} fra RealMæglerne"), "<b class='js-aabenthus-employee-name'></b>"));
2367 WriteLiteral("</p>\r\n </div>\r\n <div class=\"js-not-employee\">\r\n <p>");
2368 Write(Translate("Smartpage:Aabenthus.Tak.NoEmployee", "Vi glæder os til at vise dig boligen. Har du spørgsmål inden vi ses, er du velkommen til at kontakte os"));
2369 WriteLiteral("</p>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"js-employee\">\r\n <div class=\"col-12 js-maegler-img aabenthus-image\">\r\n <div class=\"property-broker-image\"");
2370 BeginWriteAttribute("style", " style=\"", 216005, "\"", 216013, 0);
2371 EndWriteAttribute();
2372 WriteLiteral(@"></div>
2373
2374 </div>
2375 </div>
2376 <div class=""col-12"">
2377 <div class=""bg-base"">
2378
2379 <div class=""js-employee"">
2380 <h4 class=""js-maegler-employee-name""></h4>
2381 <div class=""icon-container"">
2382 <i class=""fas fa-envelope""></i> <span class=""js-maegler-mail""></span>
2383 </div>
2384 <div class=""icon-container"">
2385 <i class=""fas fa-phone""></i> <span class=""js-maegler-mobile""></span>
2386 </div>
2387 </div>
2388
2389
2390 <h4 class=""js-maegler-name""></h4>
2391 <div class=""icon-container"">
2392 <i class=""fas fa-map-marker-alt""></i> <span class=""js-maegler-address""></span>
2393 </div>
2394 <div class=""icon-container"">
2395 <i class=""fas fa-phone""></i> <span class=""js-maegler-phone""></span>");
2396 WriteLiteral(@"
2397
2398 </div>
2399 <a class=""btn btn-border"" onclick=""panelKontaktmaeglerGuldkoeber()"">KONTAKT MÆGLER</a>
2400 </div>
2401 </div>
2402 </div>
2403 </div>
2404 </div>
2405
2406 <!-- KONTAKT GULDKØBER -->
2407 <div id=""panel-kontakt-guldkoeber"" class=""panel panel-form"">
2408 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2409 <b></b>
2410 </button>
2411 <h2>");
2412 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler"));
2413 WriteLiteral("</h2>\r\n <form id=\"form-kontaktmaegler\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>");
2414 Write(Translate("form-navn", "Navn"));
2415 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2416 BeginWriteAttribute("placeholder", " placeholder=\'", 217798, "\'", 217843, 1);
2417 WriteAttributeValue("", 217812, Translate("form-navn", "Navn"), 217812, 31, false);
2418 EndWriteAttribute();
2419 BeginWriteAttribute("value", " value=\'", 217844, "\'", 217883, 1);
2420 WriteAttributeValue("", 217852, UserContext.Current.User?.Name, 217852, 31, false);
2421 EndWriteAttribute();
2422 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2423 Write(Translate("form-email", "E-mail"));
2424 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2425 BeginWriteAttribute("placeholder", " placeholder=\'", 218147, "\'", 218195, 1);
2426 WriteAttributeValue("", 218161, Translate("form-email", "E-mail"), 218161, 34, false);
2427 EndWriteAttribute();
2428 BeginWriteAttribute("value", " value=\'", 218196, "\'", 218236, 1);
2429 WriteAttributeValue("", 218204, UserContext.Current.User?.Email, 218204, 32, false);
2430 EndWriteAttribute();
2431 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2432 Write(Translate("form-mobile", "Mobil nr."));
2433 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2434 BeginWriteAttribute("placeholder", " placeholder=\'", 218534, "\'", 218619, 1);
2435 WriteAttributeValue("", 218548, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 218548, 71, false);
2436 EndWriteAttribute();
2437 BeginWriteAttribute("value", " value=\'", 218620, "\'", 218660, 1);
2438 WriteAttributeValue("", 218628, UserContext.Current.User?.Phone, 218628, 32, false);
2439 EndWriteAttribute();
2440 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2441 Write(Translate("form-telephone", "Telefon nr."));
2442 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2443 BeginWriteAttribute("placeholder", " placeholder=\'", 218930, "\'", 219014, 1);
2444 WriteAttributeValue("", 218944, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 218944, 70, false);
2445 EndWriteAttribute();
2446 BeginWriteAttribute("value", " value=\'", 219015, "\'", 219055, 1);
2447 WriteAttributeValue("", 219023, UserContext.Current.User?.Phone, 219023, 32, false);
2448 EndWriteAttribute();
2449 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2450 Write(Translate("form-zip", "Post nr"));
2451 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2452 BeginWriteAttribute("placeholder", " placeholder=\'", 219371, "\'", 219449, 1);
2453 WriteAttributeValue("", 219385, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 219385, 64, false);
2454 EndWriteAttribute();
2455 BeginWriteAttribute("value", " value=\"", 219450, "\"", 219466, 1);
2456 WriteAttributeValue("", 219458, userZip, 219458, 8, false);
2457 EndWriteAttribute();
2458 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2459 Write(Translate("form-city", "By"));
2460 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-city\" type=\"text\" readonly />\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group overflow-unset\">\r\n <label><strong>");
2461 Write(Translate("form-adresse", "Adresse"));
2462 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2463 BeginWriteAttribute("placeholder", " placeholder=\'", 220022, "\'", 220112, 1);
2464 WriteAttributeValue("", 220036, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 220036, 76, false);
2465 EndWriteAttribute();
2466 BeginWriteAttribute("value", " value=\"", 220113, "\"", 220133, 1);
2467 WriteAttributeValue("", 220121, userAddress, 220121, 12, false);
2468 EndWriteAttribute();
2469 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2470 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2471 WriteLiteral("</label>\r\n </div>\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\"");
2472 BeginWriteAttribute("placeholder", " placeholder=\'", 220459, "\'", 220537, 1);
2473 WriteAttributeValue("", 220473, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 220473, 64, false);
2474 EndWriteAttribute();
2475 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n <div class=\"form-group\">\r\n <div class=\"checkbox\">\r\n <label>\r\n <input type=\"checkbox\" name=\"kontaktmigok\" required />\r\n\r\n <span>");
2476 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2477 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <button type=\"submit\" class=\"btn btn-green btn-block\">");
2478 Write(Translate("KontaktMægler", "Kontakt Mægler"));
2479 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2480 Write(privacyPolicyText);
2481 WriteLiteral(" <a");
2482 BeginWriteAttribute("href", " href=\"", 221323, "\"", 221347, 2);
2483 WriteAttributeValue("", 221330, "mailto:", 221330, 7, true);
2484 WriteAttributeValue("", 221337, termsMail, 221337, 10, false);
2485 EndWriteAttribute();
2486 WriteLiteral(">");
2487 Write(termsMail);
2488 WriteLiteral("</a>.\r\n Læs mere på <a");
2489 BeginWriteAttribute("href", " href=\"", 221392, "\"", 221426, 1);
2490 WriteAttributeValue("", 221399, settings_Persondatapolitik, 221399, 27, false);
2491 EndWriteAttribute();
2492 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"gk\" />\r\n <input type=\"hidden\" name=\"origin\"");
2493 BeginWriteAttribute("value", " value=\"", 221569, "\"", 221577, 0);
2494 EndWriteAttribute();
2495 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2496 BeginWriteAttribute("value", " value=\"", 221627, "\"", 221642, 1);
2497 WriteAttributeValue("", 221635, userID, 221635, 7, false);
2498 EndWriteAttribute();
2499 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2500 BeginWriteAttribute("value", " value=\"", 221690, "\"", 221714, 1);
2501 WriteAttributeValue("", 221698, Pageview.AreaID, 221698, 16, false);
2502 EndWriteAttribute();
2503 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2504 BeginWriteAttribute("value", " value=\"", 221763, "\"", 221779, 1);
2505 WriteAttributeValue("", 221771, butikId, 221771, 8, false);
2506 EndWriteAttribute();
2507 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2508 BeginWriteAttribute("value", " value=\"", 221833, "\"", 221841, 0);
2509 EndWriteAttribute();
2510 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2511 BeginWriteAttribute("value", " value=\"", 221892, "\"", 221900, 0);
2512 EndWriteAttribute();
2513 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2514 BeginWriteAttribute("value", " value=\"", 221950, "\"", 221958, 0);
2515 EndWriteAttribute();
2516 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2517 BeginWriteAttribute("value", " value=\"", 222008, "\"", 222016, 0);
2518 EndWriteAttribute();
2519 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-maegler-guldkoeber\" style=\"display:none;\">\r\n <h2>");
2520 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2521 WriteLiteral("</h2>\r\n <p>");
2522 Write(Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:"));
2523 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2524 BeginWriteAttribute("src", " src=\"", 222378, "\"", 222384, 0);
2525 EndWriteAttribute();
2526 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2527 </div>
2528 <div class=""col-6"">
2529 <p class=""js-maegler-name""></p>
2530 <p class=""js-maegler-address""></p>
2531 <p class=""js-maegler-phone""></p>
2532 <p class=""js-maegler-mail""></p>
2533 </div>
2534 </div>
2535 <p>");
2536 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2537 WriteLiteral(@"</p>
2538 </div>
2539 </div>
2540
2541 <!-- BESTIL SALGSVURDERING -->
2542 <div id=""panel-salgsvurdering"" class=""panel panel-form"">
2543 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2544 <b></b>
2545 </button>
2546
2547 <form id=""bestil-salgsvurdering"" class=""buyer-advisor-form js-buyer-advisor-form"" method=""POST"" action=""/InboxHandler"">
2548 <h2 class=""js-buyer-advisor-header"">");
2549 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering"));
2550 WriteLiteral("</h2>\r\n <p>");
2551 Write(Translate("form-salgsvurdering-beskrivelse", ""));
2552 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>");
2553 Write(Translate("form-navn", "Navn"));
2554 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2555 BeginWriteAttribute("placeholder", " placeholder=\'", 223541, "\'", 223630, 1);
2556 WriteAttributeValue("", 223555, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 223555, 75, false);
2557 EndWriteAttribute();
2558 BeginWriteAttribute("value", " value=\'", 223631, "\'", 223670, 1);
2559 WriteAttributeValue("", 223639, UserContext.Current.User?.Name, 223639, 31, false);
2560 EndWriteAttribute();
2561 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2562 Write(Translate("form-email", "E-mail"));
2563 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2564 BeginWriteAttribute("placeholder", " placeholder=\'", 223934, "\'", 224026, 1);
2565 WriteAttributeValue("", 223948, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 223948, 78, false);
2566 EndWriteAttribute();
2567 BeginWriteAttribute("value", " value=\'", 224027, "\'", 224067, 1);
2568 WriteAttributeValue("", 224035, UserContext.Current.User?.Email, 224035, 32, false);
2569 EndWriteAttribute();
2570 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2571 Write(Translate("form-mobile", "Mobil nr."));
2572 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2573 BeginWriteAttribute("placeholder", " placeholder=\'", 224365, "\'", 224457, 1);
2574 WriteAttributeValue("", 224379, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 224379, 78, false);
2575 EndWriteAttribute();
2576 BeginWriteAttribute("value", " value=\'", 224458, "\'", 224498, 1);
2577 WriteAttributeValue("", 224466, UserContext.Current.User?.Phone, 224466, 32, false);
2578 EndWriteAttribute();
2579 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2580 Write(Translate("form-telephone", "Telefon nr."));
2581 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2582 BeginWriteAttribute("placeholder", " placeholder=\'", 224768, "\'", 224859, 1);
2583 WriteAttributeValue("", 224782, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 224782, 77, false);
2584 EndWriteAttribute();
2585 BeginWriteAttribute("value", " value=\'", 224860, "\'", 224900, 1);
2586 WriteAttributeValue("", 224868, UserContext.Current.User?.Phone, 224868, 32, false);
2587 EndWriteAttribute();
2588 WriteLiteral(" />\r\n </div>\r\n\r\n </div>\r\n\r\n <h3>");
2589 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2590 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2591 Write(Translate("form-zip", "Post nr"));
2592 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2593 BeginWriteAttribute("placeholder", " placeholder=\'", 225320, "\'", 225398, 1);
2594 WriteAttributeValue("", 225334, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 225334, 64, false);
2595 EndWriteAttribute();
2596 BeginWriteAttribute("value", " value=\"", 225399, "\"", 225415, 1);
2597 WriteAttributeValue("", 225407, userZip, 225407, 8, false);
2598 EndWriteAttribute();
2599 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2600 Write(Translate("form-city", "By"));
2601 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-city\" type=\"text\" readonly />\r\n </div>\r\n </div>\r\n <div class=\"form-group overflow-unset\">\r\n <label><strong>");
2602 Write(Translate("form-adresse", "Adresse"));
2603 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2604 BeginWriteAttribute("placeholder", " placeholder=\'", 225969, "\'", 226059, 1);
2605 WriteAttributeValue("", 225983, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 225983, 76, false);
2606 EndWriteAttribute();
2607 BeginWriteAttribute("value", " value=\"", 226060, "\"", 226080, 1);
2608 WriteAttributeValue("", 226068, userAddress, 226068, 12, false);
2609 EndWriteAttribute();
2610 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2611 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2612 WriteLiteral(@"</label>
2613 </div>
2614
2615 <button class=""form-control text-left js-collapse-focus"" type=""button"" data-toggle=""collapse"" data-target=""#salgsvurdering-collapse"" aria-expanded=""false"" aria-controls=""salgsvurdering-collapse"">
2616 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2617 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2618 WriteLiteral("</strong>\r\n </button>\r\n <div class=\"collapse\" id=\"salgsvurdering-collapse\">\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\"");
2619 BeginWriteAttribute("placeholder", " placeholder=\'", 226850, "\'", 226928, 1);
2620 WriteAttributeValue("", 226864, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 226864, 64, false);
2621 EndWriteAttribute();
2622 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>");
2623 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:"));
2624 WriteLiteral("</h3>\r\n <div class=\"col-12\">\r\n <div class=\"choose-broker row align-items-center active\">\r\n <div class=\"col-2\">\r\n <input class=\"js-broker-radio\" type=\"radio\"");
2625 BeginWriteAttribute("id", " id=\"", 227374, "\"", 227379, 0);
2626 EndWriteAttribute();
2627 WriteLiteral(" name=\"choose-broker\"");
2628 BeginWriteAttribute("value", " value=\"", 227401, "\"", 227409, 0);
2629 EndWriteAttribute();
2630 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2631 BeginWriteAttribute("for", " for=\"", 227475, "\"", 227481, 0);
2632 EndWriteAttribute();
2633 WriteLiteral("></label><div class=\"check\">\r\n <div class=\"inside\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4\">\r\n <img");
2634 BeginWriteAttribute("src", " src=\"", 227727, "\"", 227733, 0);
2635 EndWriteAttribute();
2636 WriteLiteral(@" class=""img-fluid js-broker-image"">
2637 </div>
2638 <div class=""col-6"">
2639 <span class=""d-block"">
2640 <strong class=""js-choose-broker-name""></strong>
2641 </span>
2642 <span class=""js-choose-broker-address""></span>
2643 <input type=""hidden"" class=""js-choose-broker-phone""");
2644 BeginWriteAttribute("value", " value=\"", 228145, "\"", 228153, 0);
2645 EndWriteAttribute();
2646 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2647 BeginWriteAttribute("value", " value=\"", 228234, "\"", 228242, 0);
2648 EndWriteAttribute();
2649 WriteLiteral(" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"salgsvurdering-broker\">\r\n <h3 class=\"js-brokerh3\">");
2650 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler"));
2651 WriteLiteral(@"</h3>
2652 <div class=""js-choose-broker col-12"">
2653 </div>
2654
2655 </div>
2656
2657 <div class=""form-group mt-4"">
2658 <div class=""checkbox"">
2659 <label>
2660 <input type=""checkbox"" name=""kontaktmigok"" required />
2661
2662 <span class=""consent-checkbox"">");
2663 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2664 WriteLiteral(@"</span>
2665
2666 </label>
2667 </div>
2668 </div>
2669 <div class=""form-group"">
2670 <div class=""row"">
2671 <div class=""col-12"">
2672 <button type=""submit"" class=""btn btn-green btn-block js-buyer-advisor-button"">");
2673 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering"));
2674 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2675 Write(privacyPolicyText);
2676 WriteLiteral(" <a");
2677 BeginWriteAttribute("href", " href=\"", 229402, "\"", 229426, 2);
2678 WriteAttributeValue("", 229409, "mailto:", 229409, 7, true);
2679 WriteAttributeValue("", 229416, termsMail, 229416, 10, false);
2680 EndWriteAttribute();
2681 WriteLiteral(">");
2682 Write(termsMail);
2683 WriteLiteral("</a>.\r\n Læs mere på <a");
2684 BeginWriteAttribute("href", " href=\"", 229471, "\"", 229505, 1);
2685 WriteAttributeValue("", 229478, settings_Persondatapolitik, 229478, 27, false);
2686 EndWriteAttribute();
2687 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"bsv\" />\r\n <input type=\"hidden\" name=\"origin\" class=\"js-salgsvurdering-origin\"");
2688 BeginWriteAttribute("value", " value=\"", 229682, "\"", 229690, 0);
2689 EndWriteAttribute();
2690 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2691 BeginWriteAttribute("value", " value=\"", 229740, "\"", 229755, 1);
2692 WriteAttributeValue("", 229748, userID, 229748, 7, false);
2693 EndWriteAttribute();
2694 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2695 BeginWriteAttribute("value", " value=\"", 229803, "\"", 229827, 1);
2696 WriteAttributeValue("", 229811, Pageview.AreaID, 229811, 16, false);
2697 EndWriteAttribute();
2698 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning\" name=\"boligvisning\"");
2699 BeginWriteAttribute("value", " value=\"", 229899, "\"", 229907, 0);
2700 EndWriteAttribute();
2701 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-butikid\" name=\"butikId\"");
2702 BeginWriteAttribute("value", " value=\"", 229990, "\"", 229998, 0);
2703 EndWriteAttribute();
2704 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-sagsnr\" name=\"sagsnr\"");
2705 BeginWriteAttribute("value", " value=\"", 230079, "\"", 230087, 0);
2706 EndWriteAttribute();
2707 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2708 BeginWriteAttribute("value", " value=\"", 230138, "\"", 230194, 1);
2709 WriteAttributeValue("", 230146, Dynamicweb.Context.Current.Request["ProductId"], 230146, 48, false);
2710 EndWriteAttribute();
2711 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2712 BeginWriteAttribute("value", " value=\"", 230248, "\"", 230256, 0);
2713 EndWriteAttribute();
2714 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2715 BeginWriteAttribute("value", " value=\"", 230307, "\"", 230315, 0);
2716 EndWriteAttribute();
2717 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2718 BeginWriteAttribute("value", " value=\"", 230365, "\"", 230373, 0);
2719 EndWriteAttribute();
2720 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2721 BeginWriteAttribute("value", " value=\"", 230423, "\"", 230431, 0);
2722 EndWriteAttribute();
2723 WriteLiteral(" />\r\n <input class=\"js-value-check\" type=\"hidden\" name=\"valueCheck\"");
2724 BeginWriteAttribute("value", " value=\"", 230506, "\"", 230514, 0);
2725 EndWriteAttribute();
2726 WriteLiteral(" />\r\n <input class=\"js-green-appraisal\" type=\"hidden\" name=\"greenAppraisal\"");
2727 BeginWriteAttribute("value", " value=\"", 230597, "\"", 230605, 0);
2728 EndWriteAttribute();
2729 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>");
2730 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2731 WriteLiteral("</h2>\r\n <p>");
2732 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:"));
2733 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2734 BeginWriteAttribute("src", " src=\"", 230967, "\"", 230973, 0);
2735 EndWriteAttribute();
2736 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2737 </div>
2738 <div class=""col-6"">
2739 <p class=""js-maegler-name""></p>
2740 <p class=""js-maegler-address""></p>
2741 <p class=""js-maegler-phone""></p>
2742 <p class=""js-maegler-mail""></p>
2743 </div>
2744 </div>
2745 <p>");
2746 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2747 WriteLiteral(@"</p>
2748 </div>
2749 </div>
2750
2751 <!-- BESTIL SALGSVURDERING GULDKØBER -->
2752 <div id=""panel-salgsvurdering-guldkoeber"" class=""panel panel-form"">
2753 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2754 <b></b>
2755 </button>
2756
2757 <form id=""bestil-salgsvurdering-guldkoeber"" method=""POST"" action=""/InboxHandler"">
2758 <h2>");
2759 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering"));
2760 WriteLiteral("</h2>\r\n <p>");
2761 Write(Translate("form-salgsvurdering-beskrivelse", ""));
2762 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>");
2763 Write(Translate("form-navn", "Navn"));
2764 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2765 BeginWriteAttribute("placeholder", " placeholder=\'", 232081, "\'", 232170, 1);
2766 WriteAttributeValue("", 232095, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 232095, 75, false);
2767 EndWriteAttribute();
2768 BeginWriteAttribute("value", " value=\'", 232171, "\'", 232210, 1);
2769 WriteAttributeValue("", 232179, UserContext.Current.User?.Name, 232179, 31, false);
2770 EndWriteAttribute();
2771 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2772 Write(Translate("form-email", "E-mail"));
2773 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2774 BeginWriteAttribute("placeholder", " placeholder=\'", 232474, "\'", 232566, 1);
2775 WriteAttributeValue("", 232488, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 232488, 78, false);
2776 EndWriteAttribute();
2777 BeginWriteAttribute("value", " value=\'", 232567, "\'", 232607, 1);
2778 WriteAttributeValue("", 232575, UserContext.Current.User?.Email, 232575, 32, false);
2779 EndWriteAttribute();
2780 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2781 Write(Translate("form-telephone", "Telefon nr."));
2782 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2783 BeginWriteAttribute("placeholder", " placeholder=\'", 232916, "\'", 233007, 1);
2784 WriteAttributeValue("", 232930, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 232930, 77, false);
2785 EndWriteAttribute();
2786 BeginWriteAttribute("value", " value=\'", 233008, "\'", 233048, 1);
2787 WriteAttributeValue("", 233016, UserContext.Current.User?.Phone, 233016, 32, false);
2788 EndWriteAttribute();
2789 WriteLiteral(" />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2790 Write(Translate("form-mobile", "Mobil nr."));
2791 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2792 BeginWriteAttribute("placeholder", " placeholder=\'", 233298, "\'", 233390, 1);
2793 WriteAttributeValue("", 233312, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 233312, 78, false);
2794 EndWriteAttribute();
2795 BeginWriteAttribute("value", " value=\'", 233391, "\'", 233431, 1);
2796 WriteAttributeValue("", 233399, UserContext.Current.User?.Phone, 233399, 32, false);
2797 EndWriteAttribute();
2798 WriteLiteral(" required />\r\n </div>\r\n </div>\r\n\r\n <h3>");
2799 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2800 WriteLiteral("</h3>\r\n\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2801 Write(Translate("form-zip", "Post nr"));
2802 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2803 BeginWriteAttribute("placeholder", " placeholder=\'", 233860, "\'", 233938, 1);
2804 WriteAttributeValue("", 233874, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 233874, 64, false);
2805 EndWriteAttribute();
2806 BeginWriteAttribute("value", " value=\"", 233939, "\"", 233955, 1);
2807 WriteAttributeValue("", 233947, userZip, 233947, 8, false);
2808 EndWriteAttribute();
2809 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2810 Write(Translate("form-city", "By"));
2811 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-city\" type=\"text\" readonly />\r\n </div>\r\n </div>\r\n <div class=\"form-group overflow-unset\">\r\n <label><strong>");
2812 Write(Translate("form-adresse", "Adresse"));
2813 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2814 BeginWriteAttribute("placeholder", " placeholder=\'", 234509, "\'", 234599, 1);
2815 WriteAttributeValue("", 234523, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 234523, 76, false);
2816 EndWriteAttribute();
2817 BeginWriteAttribute("value", " value=\"", 234600, "\"", 234620, 1);
2818 WriteAttributeValue("", 234608, userAddress, 234608, 12, false);
2819 EndWriteAttribute();
2820 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2821 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2822 WriteLiteral(@"</label>
2823 </div>
2824
2825 <button class=""form-control text-left js-collapse-focus"" type=""button"" data-toggle=""collapse"" data-target=""#salgsvurdering-collapse"" aria-expanded=""false"" aria-controls=""salgsvurdering-collapse"">
2826 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2827 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2828 WriteLiteral("</strong>\r\n </button>\r\n <div class=\"collapse\" id=\"salgsvurdering-collapse\">\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\"");
2829 BeginWriteAttribute("placeholder", " placeholder=\'", 235390, "\'", 235468, 1);
2830 WriteAttributeValue("", 235404, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 235404, 64, false);
2831 EndWriteAttribute();
2832 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>");
2833 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:"));
2834 WriteLiteral("</h3>\r\n <div class=\"col-12\">\r\n <div class=\"choose-broker row align-items-center active\">\r\n <div class=\"col-2\">\r\n <input class=\"js-broker-radio\" type=\"radio\"");
2835 BeginWriteAttribute("id", " id=\"", 235912, "\"", 235917, 0);
2836 EndWriteAttribute();
2837 WriteLiteral(" name=\"choose-broker-gk\"");
2838 BeginWriteAttribute("value", " value=\"", 235942, "\"", 235950, 0);
2839 EndWriteAttribute();
2840 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2841 BeginWriteAttribute("for", " for=\"", 236016, "\"", 236022, 0);
2842 EndWriteAttribute();
2843 WriteLiteral("></label><div class=\"check\">\r\n <div class=\"inside\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4\">\r\n <img");
2844 BeginWriteAttribute("src", " src=\"", 236268, "\"", 236274, 0);
2845 EndWriteAttribute();
2846 WriteLiteral(@" class=""img-fluid js-broker-image"">
2847 </div>
2848 <div class=""col-6"">
2849 <span class=""d-block"">
2850 <strong class=""js-choose-broker-name""></strong>
2851 </span>
2852 <span class=""js-choose-broker-address""></span>
2853 <input type=""hidden"" class=""js-choose-broker-phone""");
2854 BeginWriteAttribute("value", " value=\"", 236686, "\"", 236694, 0);
2855 EndWriteAttribute();
2856 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2857 BeginWriteAttribute("value", " value=\"", 236775, "\"", 236783, 0);
2858 EndWriteAttribute();
2859 WriteLiteral(" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"salgsvurdering-broker\">\r\n <h3 class=\"js-brokerh3\">");
2860 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler"));
2861 WriteLiteral(@"</h3>
2862 <div class=""js-choose-broker col-12"">
2863 </div>
2864
2865 </div>
2866
2867
2868 <div class=""form-group"">
2869 <div class=""row"">
2870 <div class=""col-12"">
2871 <button type=""submit"" class=""btn btn-green btn-block"">");
2872 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering"));
2873 WriteLiteral(@"</button>
2874 </div>
2875 </div>
2876 </div>
2877 <div class=""form-group"">
2878 <div class=""checkbox"">
2879 <label>
2880 <input type=""checkbox"" name=""kontaktmigok"" required />
2881
2882 <span>");
2883 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2884 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2885 Write(privacyPolicyText);
2886 WriteLiteral(" <a");
2887 BeginWriteAttribute("href", " href=\"", 237891, "\"", 237915, 2);
2888 WriteAttributeValue("", 237898, "mailto:", 237898, 7, true);
2889 WriteAttributeValue("", 237905, termsMail, 237905, 10, false);
2890 EndWriteAttribute();
2891 WriteLiteral(">");
2892 Write(termsMail);
2893 WriteLiteral("</a>.\r\n Læs mere på <a");
2894 BeginWriteAttribute("href", " href=\"", 237960, "\"", 237994, 1);
2895 WriteAttributeValue("", 237967, settings_Persondatapolitik, 237967, 27, false);
2896 EndWriteAttribute();
2897 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"bsg\" />\r\n <input type=\"hidden\" name=\"origin\" class=\"js-salgsvurdering-origin\"");
2898 BeginWriteAttribute("value", " value=\"", 238171, "\"", 238179, 0);
2899 EndWriteAttribute();
2900 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2901 BeginWriteAttribute("value", " value=\"", 238229, "\"", 238244, 1);
2902 WriteAttributeValue("", 238237, userID, 238237, 7, false);
2903 EndWriteAttribute();
2904 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2905 BeginWriteAttribute("value", " value=\"", 238292, "\"", 238316, 1);
2906 WriteAttributeValue("", 238300, Pageview.AreaID, 238300, 16, false);
2907 EndWriteAttribute();
2908 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning-gk\" name=\"boligvisning\"");
2909 BeginWriteAttribute("value", " value=\"", 238391, "\"", 238399, 0);
2910 EndWriteAttribute();
2911 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-butikid\" name=\"butikId\"");
2912 BeginWriteAttribute("value", " value=\"", 238485, "\"", 238493, 0);
2913 EndWriteAttribute();
2914 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-sagsnr\" name=\"sagsnr\"");
2915 BeginWriteAttribute("value", " value=\"", 238577, "\"", 238585, 0);
2916 EndWriteAttribute();
2917 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2918 BeginWriteAttribute("value", " value=\"", 238636, "\"", 238692, 1);
2919 WriteAttributeValue("", 238644, Dynamicweb.Context.Current.Request["ProductId"], 238644, 48, false);
2920 EndWriteAttribute();
2921 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2922 BeginWriteAttribute("value", " value=\"", 238746, "\"", 238754, 0);
2923 EndWriteAttribute();
2924 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2925 BeginWriteAttribute("value", " value=\"", 238805, "\"", 238813, 0);
2926 EndWriteAttribute();
2927 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2928 BeginWriteAttribute("value", " value=\"", 238863, "\"", 238871, 0);
2929 EndWriteAttribute();
2930 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2931 BeginWriteAttribute("value", " value=\"", 238921, "\"", 238929, 0);
2932 EndWriteAttribute();
2933 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>");
2934 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2935 WriteLiteral("</h2>\r\n <p>");
2936 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:"));
2937 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2938 BeginWriteAttribute("src", " src=\"", 239291, "\"", 239297, 0);
2939 EndWriteAttribute();
2940 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2941 </div>
2942 <div class=""col-6"">
2943 <p class=""js-maegler-name""></p>
2944 <p class=""js-maegler-address""></p>
2945 <p class=""js-maegler-phone""></p>
2946 <p class=""js-maegler-mail""></p>
2947 </div>
2948 </div>
2949 <p>");
2950 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2951 WriteLiteral("</p>\r\n </div>\r\n</div>\r\n\r\n\r\n <div class=\"overlay-wrapper\"></div>\r\n <div class=\"dropdown-overlay\"></div>\r\n <div class=\"loader-inner ball-pulse\"></div>\r\n\r\n");
2952
2953 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js"));
2954 WriteLiteral(" <script type=\"text/javascript\"");
2955 BeginWriteAttribute("src", " src=\'", 240098, "\'", 240202, 3);
2956 WriteAttributeValue("", 240104, TemplateUrl, 240104, 14, false);
2957 WriteAttributeValue("", 240118, "assets/webpack/js/3rdparty/viamapstrap.js?", 240118, 42, true);
2958 WriteAttributeValue("", 240160, viamapstrapFileInfo.LastWriteTime.Ticks, 240160, 42, false);
2959 EndWriteAttribute();
2960 WriteLiteral(" async></script>\r\n");
2961
2962 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js"));
2963 WriteLiteral(" <script type=\"text/javascript\"");
2964 BeginWriteAttribute("src", " src=\'", 240405, "\'", 240492, 3);
2965 WriteAttributeValue("", 240411, TemplateUrl, 240411, 14, false);
2966 WriteAttributeValue("", 240425, "assets/dist/bundle.app.min.js?", 240425, 30, true);
2967 WriteAttributeValue("", 240455, bundleFileInfo.LastWriteTime.Ticks, 240455, 37, false);
2968 EndWriteAttribute();
2969 WriteLiteral(" async></script>\r\n");
2970 WriteLiteral("\r\n ");
2971 Write(RenderSnippet("JavaScriptBottom"));
2972 WriteLiteral("\r\n\r\n");
2973 if (Context.Current.Request.QueryString["ShowLogin"] == "true")
2974 {
2975 WriteLiteral(" <input class=\"js-showLogin\" value=\"true\" />\r\n");
2976 }
2977 WriteLiteral("\r\n");
2978 if (!string.IsNullOrEmpty(settings_ConduzeId))
2979 {
2980 WriteLiteral(" <script type=\"text/javascript\" id=\"conduze-sdk\"");
2981 BeginWriteAttribute("src", " src=\"", 240816, "\"", 240877, 3);
2982 WriteAttributeValue("", 240822, "https://cdn.conduze.com/", 240822, 24, true);
2983 WriteAttributeValue("", 240846, settings_ConduzeId, 240846, 19, false);
2984 WriteAttributeValue("", 240865, "/tracking.js", 240865, 12, true);
2985 EndWriteAttribute();
2986 WriteLiteral(" async></script>\r\n");
2987 }
2988 WriteLiteral("\r\n");
2989 if (!string.IsNullOrEmpty(settings_Weply))
2990 {
2991 WriteLiteral(" <script");
2992 BeginWriteAttribute("src", " src=\"", 240976, "\"", 241027, 2);
2993 WriteAttributeValue("", 240982, "https://app.weply.chat/widget/", 240982, 30, true);
2994 WriteAttributeValue("", 241012, settings_Weply, 241012, 15, false);
2995 EndWriteAttribute();
2996 WriteLiteral(" async></script>\r\n");
2997 }
2998 WriteLiteral("\r\n</body>\r\n</html>\r\n\r\n");
2999 }
3000 #pragma warning restore 1998
3001
3002 void RenderErhvervsTypeCheckboxes(string productGroupFilter)
3003 {
3004 WriteLiteral(@" <div class=""col-xs-6 col-md-4"">
3005 <div class=""checkbox"">
3006 <label>
3007 <input type=""checkbox"" name=""propertytype"" value=""bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)"" />
3008 <span>Bolig/erhverv</span>
3009 </label>
3010 </div>
3011 <div class=""checkbox"">
3012 <label>
3013 <input type=""checkbox"" name=""propertytype"" value=""erhvervsgrund"" />
3014 <span>Erhvervsgrund</span>
3015 </label>
3016 </div>
3017 <div class=""checkbox"">
3018 <label>
3019 <input type=""checkbox"" name=""propertytype"" value=""boligudlejning"" />
3020 <span>Boligudlejningsejendom</span>
3021 </label>
3022 </div>
3023 <div class=""checkbox"">
3024 <label>
3025 <input type=""checkbox"" name=""propertytype"" value=""kontor, klinik, kontorhotel, showroom, under");
3026 WriteLiteral(@"visningslokaler"" />
3027 <span>Kontor</span>
3028 </label>
3029 </div>
3030 </div>
3031 <div class=""col-xs-6 col-md-4"">
3032 <div class=""checkbox"">
3033 <label>
3034 <input type=""checkbox"" name=""propertytype"" value=""butik / detail, butik / detailhandel"" />
3035 <span>Butik/detailhandel</span>
3036 </label>
3037 </div>
3038 <div class=""checkbox"">
3039 <label>
3040 <input type=""checkbox"" name=""propertytype"" value=""industri / logistik, håndværk, industri, kontor / lager, logistik"" />
3041 <span>Produktion/lager</span>
3042 </label>
3043 </div>
3044 <div class=""checkbox"">
3045 <label>
3046 <input type=""checkbox"" name=""propertytype"" value=""hotel - kursusejendom, restaurant"" />
3047 <span>Hotel og restaurant</span>
3048 </label>
3049 </div>
3050 <div c");
3051 WriteLiteral(@"lass=""checkbox"">
3052 <label>
3053 <input type=""checkbox"" name=""propertytype"" value=""projekt ejendom"" />
3054 <span>Projektejendom</span>
3055 </label>
3056 </div>
3057 </div>
3058 <div class=""col-xs-6 col-md-4"">
3059 <div class=""checkbox"">
3060 <label>
3061 <input type=""checkbox"" name=""propertytype"" value=""andet"" />
3062 <span>Andet</span>
3063 </label>
3064 </div>
3065 </div>
3066 ");
3067 WriteLiteral(" <input type=\"hidden\" name=\"propertycategory\" value=\"erhverv, udlejning\" />\r\n <input type=\"hidden\" name=\"filtrering\"");
3068 BeginWriteAttribute("value", " value=\"", 3445, "\"", 3472, 1);
3069 WriteAttributeValue("", 3453, productGroupFilter, 3453, 19, false);
3070 EndWriteAttribute();
3071 WriteLiteral(" />\r\n");
3072 }
3073 void RenderBoligtypeCheckboxes()
3074 {
3075 WriteLiteral(@" <div class=""col-6 col-md-4"">
3076 <div class=""checkbox"">
3077 <label>
3078 <input type=""checkbox"" name=""propertytype"" value=""villa"" />
3079 <span>Villa</span>
3080 </label>
3081 </div>
3082 <div class=""checkbox"">
3083 <label>
3084 <input type=""checkbox"" name=""propertytype"" value=""rækkehus"" />
3085 <span>Rækkehus</span>
3086 </label>
3087 </div>
3088 <div class=""checkbox"">
3089 <label>
3090 <input type=""checkbox"" name=""propertytype"" value=""villalejlighed"" />
3091 <span>Villalejlighed</span>
3092 </label>
3093 </div>
3094 <div class=""checkbox"">
3095 <label>
3096 <input type=""checkbox"" name=""propertytype"" value=""andelsbolig"" />
3097 <span>Andelsbolig</span>
3098 </label>
3099 </div>
3100 </div>
3101 <div class=""co");
3102 WriteLiteral(@"l-6 col-md-4"">
3103 <div class=""checkbox"">
3104 <label>
3105 <input type=""checkbox"" name=""propertytype"" value=""fritidshus, fritidsbolig"" />
3106 <span>Fritidsbolig</span>
3107 </label>
3108 </div>
3109 <div class=""checkbox"">
3110 <label>
3111 <input type=""checkbox"" name=""propertytype"" value=""ejerlejlighed"" class=""specialOption"" data-disable-slider=""#grundareal"" data-disable-slider-ranges=""#grundarealmin,#grundarealmax"" />
3112 <span>Ejerlejlighed</span>
3113 </label>
3114 </div>
3115 <div class=""checkbox"">
3116 <label>
3117 <input type=""checkbox"" name=""propertytype"" value=""helårsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" />
3118 <span>Helårsgrund</span>
3119 </label>
3120 </div>
3121 <div ");
3122 WriteLiteral(@"class=""checkbox"">
3123 <label>
3124 <input type=""checkbox"" name=""propertytype"" value=""fritidsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" />
3125 <span>Fritidsgrund</span>
3126 </label>
3127 </div>
3128 </div>
3129 <div class=""col-6 col-md-4"">
3130 <div class=""checkbox"">
3131 <label>
3132 <input type=""checkbox"" name=""propertytype"" value=""landejendom, lystejendom"" class=""specialOption"" data-disable-checkbox=""true"" />
3133 <span>Landejendom</span>
3134 </label>
3135 </div>
3136 <div class=""checkbox"">
3137 <label>
3138 <input type=""checkbox"" name=""propertytype"" value=""erhverv"" class=""specialOption"" data-disable-checkbox=""true"" data-disable-slider=""#roomsslider"" data-disable-slider-ranges=""#roomsmin"" />
3139 <span>Erhverv<");
3140 WriteLiteral("/span>\r\n </label>\r\n </div>\r\n </div>\r\n");
3141 }
3142
3143 void RenderChecked(string queryString)
3144 {
3145 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString)
3146 {
3147 Write("checked");
3148
3149 }
3150 }
3151
3152 void RenderBoligtypeCheckboxesDropdown()
3153 {
3154 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){
3155 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" },
3156 { "Andelsbolig", "andelsbolig" }
3157 };
3158 foreach (KeyValuePair<string, string> type in propertyTypes)
3159 {
3160 bool ischecked = false;
3161 string[] propertytypeSplit = new string[0];
3162 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3163 {
3164 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3165 }
3166 foreach (var propertytypeParams in propertytypeSplit)
3167 {
3168 if (propertytypeParams == type.Value)
3169 {
3170 ischecked = true;
3171 }
3172 }
3173 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3174 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3175 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertytype\"");
3176 BeginWriteAttribute("value", " value=\"", 8068, "\"", 8087, 1);
3177 WriteAttributeValue("", 8076, type.Value, 8076, 11, false);
3178 EndWriteAttribute();
3179 WriteLiteral(" class=\"js-input-check datavalue js-datavalue js-count\" data-val=\"");
3180 Write(type.Key);
3181 WriteLiteral("\" onchange=\"submitFilter()\"");
3182 BeginWriteAttribute("checked", " checked=\"", 8190, "\"", 8210, 1);
3183 WriteAttributeValue("", 8200, ischecked, 8200, 10, false);
3184 EndWriteAttribute();
3185 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3186 }
3187
3188 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3189 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv"));
3190 WriteLiteral("\r\n");
3191
3192 bool blboligcheck = false;
3193 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
3194 {
3195 blboligcheck = true;
3196 }
3197 WriteLiteral(" <input type=\"checkbox\" name=\"propertycategory\" value=\"Blandet Bolig/Erhverv\" class=\"specialOption js-input-check js-datavalue js-count\" data-disable-checkbox=\"true\" data-disable-slider=\"#roomsslider\" data-disable-slider-ranges=\"#roomsmin\"");
3198 BeginWriteAttribute("checked", " checked=\"", 9043, "\"", 9066, 1);
3199 WriteAttributeValue("", 9053, blboligcheck, 9053, 13, false);
3200 EndWriteAttribute();
3201 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3202
3203 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){
3204 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" },
3205 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" }
3206 };
3207 foreach (KeyValuePair<string, string> type in propertyTypes2)
3208 {
3209 bool ischecked = false;
3210 string[] propertytypeSplit2 = new string[0];
3211 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3212 {
3213 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3214 }
3215 foreach (var propertytypeParams in propertytypeSplit2)
3216 {
3217 if (propertytypeParams == type.Value)
3218 {
3219 ischecked = true;
3220 }
3221 }
3222 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3223 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3224 WriteLiteral("\r\n");
3225 if (type.Value == "ejerlejlighed")
3226 {
3227 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3228 BeginWriteAttribute("value", " value=\"", 10467, "\"", 10486, 1);
3229 WriteAttributeValue("", 10475, type.Value, 10475, 11, false);
3230 EndWriteAttribute();
3231 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#grundareal\" data-disable-slider-ranges=\"#grundarealmin,#grundarealmax\" data-val=\"");
3232 Write(type.Key);
3233 WriteLiteral("\" onchange=\"submitFilter()\"");
3234 BeginWriteAttribute("checked", " checked=\"", 10660, "\"", 10680, 1);
3235 WriteAttributeValue("", 10670, ischecked, 10670, 10, false);
3236 EndWriteAttribute();
3237 WriteLiteral(" />\r\n");
3238 }
3239 else if (type.Value == "helårsgrund")
3240 {
3241 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3242 BeginWriteAttribute("value", " value=\"", 10857, "\"", 10876, 1);
3243 WriteAttributeValue("", 10865, type.Value, 10865, 11, false);
3244 EndWriteAttribute();
3245 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3246 Write(type.Key);
3247 WriteLiteral("\" onchange=\"submitFilter()\"");
3248 BeginWriteAttribute("checked", " checked=\"", 11073, "\"", 11093, 1);
3249 WriteAttributeValue("", 11083, ischecked, 11083, 10, false);
3250 EndWriteAttribute();
3251 WriteLiteral(" />\r\n");
3252 }
3253 else if (type.Value == "fritidsgrund")
3254 {
3255 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3256 BeginWriteAttribute("value", " value=\"", 11271, "\"", 11290, 1);
3257 WriteAttributeValue("", 11279, type.Value, 11279, 11, false);
3258 EndWriteAttribute();
3259 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3260 Write(type.Key);
3261 WriteLiteral("\" onchange=\"submitFilter()\"");
3262 BeginWriteAttribute("checked", " checked=\"", 11487, "\"", 11507, 1);
3263 WriteAttributeValue("", 11497, ischecked, 11497, 10, false);
3264 EndWriteAttribute();
3265 WriteLiteral(" />\r\n");
3266 }
3267 else
3268 {
3269 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3270 BeginWriteAttribute("value", " value=\"", 11651, "\"", 11670, 1);
3271 WriteAttributeValue("", 11659, type.Value, 11659, 11, false);
3272 EndWriteAttribute();
3273 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3274 Write(type.Key);
3275 WriteLiteral("\" onchange=\"submitFilter()\"");
3276 BeginWriteAttribute("checked", " checked=\"", 11751, "\"", 11771, 1);
3277 WriteAttributeValue("", 11761, ischecked, 11761, 10, false);
3278 EndWriteAttribute();
3279 WriteLiteral(" />\r\n");
3280 }
3281 WriteLiteral(" <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3282 }
3283 }
3284
3285 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false)
3286 {
3287 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3288 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" },
3289 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" }
3290 };
3291 var submitonchange = "";
3292 if (submitOnChange)
3293 {
3294 submitonchange = "onchange='submitFilter()'";
3295 }
3296
3297 foreach (KeyValuePair<string, string> type in erhverType)
3298 {
3299 string ischecked = "";
3300 string[] olineParamsSplit = new string[0];
3301 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3302 {
3303 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3304 }
3305 foreach (var olineParams in olineParamsSplit)
3306 {
3307 if (olineParams == type.Value)
3308 {
3309 ischecked = "checked";
3310 }
3311 }
3312
3313 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3314 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3315 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3316 BeginWriteAttribute("value", " value=\"", 13415, "\"", 13434, 1);
3317 WriteAttributeValue("", 13423, type.Value, 13423, 11, false);
3318 EndWriteAttribute();
3319 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3320 Write(type.Key);
3321 WriteLiteral("\" ");
3322 Write(submitonchange);
3323 WriteLiteral(" ");
3324 Write(ischecked);
3325 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3326 }
3327
3328
3329 bool ischeckedpropertycat = false;
3330 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"]))
3331 {
3332 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
3333 {
3334 ischeckedpropertycat = true;
3335 }
3336 }
3337 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n ");
3338 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv"));
3339 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertycategory\" value=\"Blandet Bolig/Erhverv\" class=\"js-input-check datavalue\" data-val=\"Blandet Bolig/Erhverv\" onchange=\"submitFilter()\"");
3340 BeginWriteAttribute("checked", " checked=\"", 14347, "\"", 14378, 1);
3341 WriteAttributeValue("", 14357, ischeckedpropertycat, 14357, 21, false);
3342 EndWriteAttribute();
3343 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3344 }
3345
3346 void RenderBoligTypeErhvervInvest(bool submitOnChange = false)
3347 {
3348 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3349 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" },
3350 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" }
3351 };
3352
3353 foreach (KeyValuePair<string, string> type in erhverType)
3354 {
3355 bool ischecked = false;
3356 string[] olineParamsSplit = new string[0];
3357 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3358 {
3359 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3360 }
3361 foreach (var olineParams in olineParamsSplit)
3362 {
3363 if (olineParams == type.Value)
3364 {
3365 ischecked = true;
3366 }
3367 }
3368
3369 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n ");
3370 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3371 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3372 BeginWriteAttribute("value", " value=\"", 15865, "\"", 15884, 1);
3373 WriteAttributeValue("", 15873, type.Value, 15873, 11, false);
3374 EndWriteAttribute();
3375 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3376 Write(type.Key);
3377 WriteLiteral("\" onchange=\"submitFilter()\"");
3378 BeginWriteAttribute("checked", " checked=\"", 15965, "\"", 15985, 1);
3379 WriteAttributeValue("", 15975, ischecked, 15975, 10, false);
3380 EndWriteAttribute();
3381 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3382 }
3383 }
3384 int GetWebsiteSettingsPageId(string pageSysName)
3385 {
3386 int sideId = 0;
3387
3388 var pw = Dynamicweb.Frontend.PageView.Current();
3389
3390 string settingsItemId = "1";
3391
3392 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true")
3393 {
3394 settingsItemId = "2";
3395 }
3396
3397 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId);
3398
3399 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName))
3400 {
3401 return sideId;
3402 }
3403
3404 string boligsideLink = settingsItem[pageSysName] as String;
3405 string linkPrefix = "Default.aspx?ID=";
3406
3407 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3408 {
3409 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3410 }
3411
3412 return sideId;
3413 }
3414
3415 int GetPageSettingsPageId(string pageSysName)
3416 {
3417 int sideId = 0;
3418
3419 var pw = Dynamicweb.Frontend.PageView.Current();
3420
3421 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName))
3422 {
3423 return sideId;
3424 }
3425
3426 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String;
3427 string linkPrefix = "Default.aspx?ID=";
3428
3429 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3430 {
3431 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3432 }
3433
3434 return sideId;
3435 }
3436 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname)
3437 {
3438 WriteLiteral(" <select");
3439 BeginWriteAttribute("class", " class=\"", 17928, "\"", 17983, 5);
3440 WriteAttributeValue("", 17936, "form-control", 17936, 12, true);
3441 WriteAttributeValue(" ", 17948, "d-block", 17949, 8, true);
3442 WriteAttributeValue(" ", 17956, "d-lg-none", 17957, 10, true);
3443 WriteAttributeValue(" ", 17966, "mb-10", 17967, 6, true);
3444 WriteAttributeValue(" ", 17972, className, 17973, 10, false);
3445 EndWriteAttribute();
3446 WriteLiteral(" onchange=\"submitFilter()\"");
3447 BeginWriteAttribute("name", " name=\"", 18010, "\"", 18027, 1);
3448 WriteAttributeValue("", 18017, inputname, 18017, 10, false);
3449 EndWriteAttribute();
3450 WriteLiteral(">\r\n <option selected=\"true\" disabled=\"disabled\">");
3451 Write(Translate("Smartpage:Search.Placeholder." + name + "", "" + name + ""));
3452 WriteLiteral("</option>\r\n\r\n");
3453 for (var i = 0; i <= max; i += step)
3454 {
3455 var selected = string.Empty;
3456 var current = string.Empty;
3457 if (i == max)
3458 {
3459 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3460 {
3461 WriteLiteral(" <option");
3462 BeginWriteAttribute("value", " value=\"", 18623, "\"", 18633, 1);
3463 WriteAttributeValue("", 18631, i, 18631, 2, false);
3464 EndWriteAttribute();
3465 WriteLiteral(" data-value=\'");
3466 Write(Convert.ToInt32(i).ToString("N0"));
3467 WriteLiteral("\' selected=\"selected\">");
3468 Write(Convert.ToInt32(i).ToString("N0"));
3469 WriteLiteral("+</option>\r\n");
3470 }
3471 else
3472 {
3473 WriteLiteral(" <option");
3474 BeginWriteAttribute("value", " value=\"", 18852, "\"", 18862, 1);
3475 WriteAttributeValue("", 18860, i, 18860, 2, false);
3476 EndWriteAttribute();
3477 WriteLiteral(" data-value=\'");
3478 Write(Convert.ToInt32(i).ToString("N0"));
3479 WriteLiteral("\'>");
3480 Write(Convert.ToInt32(i).ToString("N0"));
3481 WriteLiteral("+</option>\r\n");
3482 }
3483 }
3484 else
3485 {
3486 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3487 {
3488 WriteLiteral(" <option");
3489 BeginWriteAttribute("value", " value=\"", 19286, "\"", 19296, 1);
3490 WriteAttributeValue("", 19294, i, 19294, 2, false);
3491 EndWriteAttribute();
3492 WriteLiteral(" data-value=\'");
3493 Write(Convert.ToInt32(i).ToString("N0"));
3494 WriteLiteral("\' selected=\"selected\">");
3495 Write(Convert.ToInt32(i).ToString("N0"));
3496 WriteLiteral("</option>\r\n");
3497 }
3498 else
3499 {
3500 WriteLiteral(" <option");
3501 BeginWriteAttribute("value", " value=\"", 19514, "\"", 19524, 1);
3502 WriteAttributeValue("", 19522, i, 19522, 2, false);
3503 EndWriteAttribute();
3504 WriteLiteral(" data-value=\'");
3505 Write(Convert.ToInt32(i).ToString("N0"));
3506 WriteLiteral("\'>");
3507 Write(Convert.ToInt32(i).ToString("N0"));
3508 WriteLiteral("</option>\r\n");
3509 }
3510 }
3511 }
3512 WriteLiteral(" </select>\r\n");
3513 }
3514
3515 void RenderTopFilter(string parameter)
3516 {
3517 if (parameter == "pricemin" || parameter == "pricemax")
3518 {
3519 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"]))
3520 {
3521 if (parameter == "pricemin")
3522 {
3523 Write("<div class='search-terms' id='priceFilter'>");
3524 Write("Pris ");
3525 Write(Dynamicweb.Context.Current.Request[parameter]);
3526
3527 }
3528
3529 else
3530 {
3531 Write(" - ");
3532 Write(Dynamicweb.Context.Current.Request[parameter]);
3533 Write(" kr.");
3534 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"pricemin,pricemax\"></i>\r\n");
3535 Write("</div>");
3536
3537 }
3538 }
3539 }
3540
3541 else if (parameter == "subsidymin" || parameter == "subsidymax")
3542 {
3543 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"]))
3544 {
3545 if (parameter == "subsidymin")
3546 {
3547 Write("<div class='search-terms' id='subsidyFilter'>");
3548 Write("Årlig leje ");
3549 Write(Dynamicweb.Context.Current.Request[parameter]);
3550
3551 }
3552
3553 else
3554 {
3555 Write(" - ");
3556 Write(Dynamicweb.Context.Current.Request[parameter]);
3557 Write(" kr.");
3558 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidymin,subsidymax\"></i>\r\n");
3559 Write("</div>");
3560
3561 }
3562 }
3563 }
3564 else if (parameter == "etagearealmin" || parameter == "etagearealmax")
3565 {
3566 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"]))
3567 {
3568 if (parameter == "etagearealmin")
3569 {
3570 Write("<div class='search-terms' id='etagearealFilter'>");
3571 Write("Etageareal ");
3572 Write(Dynamicweb.Context.Current.Request[parameter]);
3573
3574 }
3575
3576 else
3577 {
3578 Write(" - ");
3579 Write(Dynamicweb.Context.Current.Request[parameter]);
3580 Write(" kvm.");
3581 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"etagearealmin,etagearealmax\"></i>\r\n");
3582 Write("</div>");
3583
3584 }
3585 }
3586 }
3587
3588 else if (parameter == "grundarealmin" || parameter == "grundarealmax")
3589 {
3590 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"]))
3591 {
3592 if (parameter == "grundarealmin")
3593 {
3594 Write("<div class='search-terms' id='grundarealFilter'>");
3595 Write("Grundareal ");
3596 Write(Dynamicweb.Context.Current.Request[parameter]);
3597
3598 }
3599
3600 else
3601 {
3602 Write(" - ");
3603 Write(Dynamicweb.Context.Current.Request[parameter]);
3604 Write(" kvm.");
3605 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"grundarealmin,grundarealmax\"></i>\r\n");
3606 Write("</div>");
3607
3608 }
3609 }
3610 }
3611
3612 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax")
3613 {
3614 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"]))
3615 {
3616 if (parameter == "subsidykvmmin")
3617 {
3618 Write("<div class='search-terms' id='subsidykvmFilter'>");
3619 Write("Årlig leje kvm ");
3620 Write(Dynamicweb.Context.Current.Request[parameter]);
3621
3622 }
3623
3624 else
3625 {
3626 Write(" - ");
3627 Write(Dynamicweb.Context.Current.Request[parameter]);
3628 Write(" kr.");
3629 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidykvmmin,subsidykvmmax\"></i>\r\n");
3630 Write("</div>");
3631
3632 }
3633 }
3634 }
3635
3636 else if (parameter == "olinecategory")
3637 {
3638
3639 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"]))
3640 {
3641 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3642 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" },
3643 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"},
3644 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" },
3645 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" }
3646 };
3647
3648
3649 foreach (var er in erhverType)
3650 {
3651 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3652 {
3653 WriteLiteral(" <div class=\"search-terms\"");
3654 BeginWriteAttribute("id", " id=\"", 24694, "\"", 24709, 1);
3655 WriteAttributeValue("", 24699, parameter, 24699, 10, false);
3656 EndWriteAttribute();
3657 WriteLiteral(">\r\n ");
3658 Write(er.Value);
3659 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3660 Write(parameter);
3661 WriteLiteral("\" data-val=\"");
3662 Write(er.Key);
3663 WriteLiteral("\"></i>\r\n </div>\r\n");
3664 }
3665 }
3666 }
3667 }
3668 else if (parameter == "propertycategory")
3669 {
3670
3671 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"]))
3672 {
3673 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3674 { "propertycategory", "Blandet Bolig/Erhverv" }
3675 };
3676
3677 foreach (var er in erhverType)
3678 {
3679 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value)
3680 {
3681 WriteLiteral(" <div class=\"search-terms\"");
3682 BeginWriteAttribute("id", " id=\"", 25615, "\"", 25630, 1);
3683 WriteAttributeValue("", 25620, parameter, 25620, 10, false);
3684 EndWriteAttribute();
3685 WriteLiteral(">\r\n ");
3686 Write(er.Value);
3687 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3688 Write(parameter);
3689 WriteLiteral("\" data-val=\"");
3690 Write(er.Key);
3691 WriteLiteral("\"></i>\r\n </div>\r\n");
3692 }
3693 }
3694 }
3695 }
3696 else if (parameter == "search")
3697 {
3698 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"]))
3699 {
3700 WriteLiteral(" <div class=\"search-terms\"");
3701 BeginWriteAttribute("id", " id=\"", 26078, "\"", 26093, 1);
3702 WriteAttributeValue("", 26083, parameter, 26083, 10, false);
3703 EndWriteAttribute();
3704 WriteLiteral(">\r\n ");
3705 Write(Dynamicweb.Context.Current.Request[parameter]);
3706 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3707 Write(parameter);
3708 WriteLiteral("\"></i>\r\n </div>\r\n");
3709 }
3710 }
3711 else
3712 {
3713 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]))
3714 {
3715 Dictionary<string, string>
3716 ubudsform = new Dictionary<string, string>
3717 (){
3718 {"salg", "Salg" }, { "leje","Leje" }
3719 };
3720
3721 foreach (var er in ubudsform)
3722 {
3723 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3724 {
3725 WriteLiteral(" <div class=\"search-terms\"");
3726 BeginWriteAttribute("id", " id=\"", 27242, "\"", 27257, 1);
3727 WriteAttributeValue("", 27247, parameter, 27247, 10, false);
3728 EndWriteAttribute();
3729 WriteLiteral(">\r\n ");
3730 Write(er.Value);
3731 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3732 Write(parameter);
3733 WriteLiteral("\" data-val=\"");
3734 Write(er.Key);
3735 WriteLiteral("\"></i>\r\n </div>\r\n");
3736 }
3737 }
3738
3739
3740 }
3741 }
3742 }
3743
3744 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString)
3745 {
3746 var selected = "";
3747 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue)
3748 {
3749 selected = "selected";
3750 }
3751
3752 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected);
3753
3754 Write(current);
3755
3756 }
3757
3758 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "")
3759 {
3760 WriteLiteral(" <div");
3761 BeginWriteAttribute("class", " class=\"", 28261, "\"", 28307, 3);
3762 WriteAttributeValue("", 28269, "main-search-form", 28269, 16, true);
3763 WriteAttributeValue(" ", 28285, "frontpage", 28286, 10, true);
3764 WriteAttributeValue(" ", 28295, cssClasses, 28296, 11, false);
3765 EndWriteAttribute();
3766 WriteLiteral(">\r\n <div class=\"dropdown-overlay\"></div>\r\n <div class=\"row mb-3 align-items-center\">\r\n <div class=\"col-xs-12 col-md-3 border-right\">\r\n <h3>");
3767 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
3768 WriteLiteral("</h3>\r\n </div>\r\n <div class=\"col-xs-12 col-md-9 home-count d-none d-md-block\">\r\n <span class=\"search-count\" id=\"searchCounter\">0</span> <span>");
3769 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
3770 WriteLiteral("</span>\r\n </div>\r\n </div>\r\n\r\n <form id=\"main-search-frontpage\" class=\"searchbar-wrapper\" action=\"/Default.aspx\" method=\"GET\">\r\n <input type=\"hidden\" name=\"ID\"");
3771 BeginWriteAttribute("value", " value=\'", 29022, "\'", 29043, 1);
3772 WriteAttributeValue("", 29030, searchPageId, 29030, 13, false);
3773 EndWriteAttribute();
3774 WriteLiteral(@" id=""searchPageId-frontpage"" disabled=""disabled"" />
3775 <div class=""row form-wrapper no-gutters"">
3776
3777 <div class=""col-xs-12 col-md-5 col-searchbar"">
3778 <div class=""searchbar"">
3779 <input type=""text""");
3780 BeginWriteAttribute("name", " name=\"", 29321, "\"", 29348, 1);
3781 WriteAttributeValue("", 29328, querySearchNameAttr, 29328, 20, false);
3782 EndWriteAttribute();
3783 WriteLiteral(" id=\"searchfield-frontpage\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
3784 BeginWriteAttribute("value", " value=\"", 29461, "\"", 29539, 1);
3785 WriteAttributeValue("", 29469, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 29469, 70, false);
3786 EndWriteAttribute();
3787 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom-frontpage\" name=\"zipcodefrom\"");
3788 BeginWriteAttribute("value", " value=\"", 29639, "\"", 29722, 1);
3789 WriteAttributeValue("", 29647, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 29647, 75, false);
3790 EndWriteAttribute();
3791 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto-frontpage\" name=\"zipcodeto\"");
3792 BeginWriteAttribute("value", " value=\"", 29818, "\"", 29899, 1);
3793 WriteAttributeValue("", 29826, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 29826, 73, false);
3794 EndWriteAttribute();
3795 WriteLiteral(@" />
3796 </div>
3797 </div>
3798 <div class=""col-xs-12 col-md-5"">
3799 <div class=""row no-gutters"">
3800 <div class=""col-xs-12 col-md-6 input-col"">
3801 <div class=""dropdown w-overlay"">
3802 <button class=""btn btn-dropdown dropdown-toggle reverse position-absolute-md"" type=""button"" id=""Boligtype-frontpage"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
3803 ");
3804 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
3805 WriteLiteral(@"
3806 </button>
3807 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
3808 <ul class=""bolig-dropdown list-unstyled"">
3809 ");
3810
3811 RenderBoligtypeCheckboxesDropdown();
3812 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
3813 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3814 WriteLiteral(@"</button>
3815 </div>
3816
3817 </div>
3818
3819 </div>
3820 <div class=""col-xs-12 col-md-6 input-col"">
3821 <div class=""dropdown w-overlay"">
3822 <button class=""btn btn-dropdown dropdown-toggle reverse position-absolute-md"" type=""button"" id=""Pris-frontpage"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
3823 ");
3824 Write(Translate("Smartpage:Search.Pris", "Pris"));
3825 WriteLiteral(@"
3826 </button>
3827 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris"">
3828 <input type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
3829 BeginWriteAttribute("placeholder", " placeholder=\'", 32078, "\'", 32154, 1);
3830 WriteAttributeValue("", 32092, Translate("Smartpage:Search.Placeholder.MinPris","Min. pris"), 32092, 62, false);
3831 EndWriteAttribute();
3832 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3833 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
3834 WriteLiteral("</option>\r\n");
3835 for (var i = 0; i <= 10000000; i += 100000)
3836 {
3837 if (i == 10000000)
3838 {
3839 WriteLiteral(" <option");
3840 BeginWriteAttribute("value", " value=\"", 32763, "\"", 32773, 1);
3841 WriteAttributeValue("", 32771, i, 32771, 2, false);
3842 EndWriteAttribute();
3843 WriteLiteral(" data-value=\'");
3844 Write(Convert.ToInt32(i).ToString("N0"));
3845 WriteLiteral("+\'>");
3846 Write(Convert.ToInt32(i).ToString("N0"));
3847 WriteLiteral("+</option>\r\n");
3848 }
3849 else
3850 {
3851 WriteLiteral(" <option");
3852 BeginWriteAttribute("value", " value=\"", 33085, "\"", 33095, 1);
3853 WriteAttributeValue("", 33093, i, 33093, 2, false);
3854 EndWriteAttribute();
3855 WriteLiteral(" data-value=\'");
3856 Write(Convert.ToInt32(i).ToString("N0"));
3857 WriteLiteral("\'>");
3858 Write(Convert.ToInt32(i).ToString("N0"));
3859 WriteLiteral("</option>\r\n");
3860 }
3861 }
3862 WriteLiteral(@" </select>
3863 <input type=""hidden"" id=""pricemin-frontpage"" name=""pricemin"" />
3864
3865 <input type=""text"" class=""form-control js-auto-thousand js-pricemax-frontpage-input""");
3866 BeginWriteAttribute("placeholder", " placeholder=\'", 33570, "\'", 33646, 1);
3867 WriteAttributeValue("", 33584, Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris"), 33584, 62, false);
3868 EndWriteAttribute();
3869 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3870 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
3871 WriteLiteral("</option>\r\n");
3872 for (var i = 0; i <= 10000000; i += 100000)
3873 {
3874 if (i == 10000000)
3875 {
3876 WriteLiteral(" <option");
3877 BeginWriteAttribute("value", " value=\"", 34249, "\"", 34259, 1);
3878 WriteAttributeValue("", 34257, i, 34257, 2, false);
3879 EndWriteAttribute();
3880 WriteLiteral(" data-value=\'");
3881 Write(Convert.ToInt32(i).ToString("N0"));
3882 WriteLiteral("+\'>");
3883 Write(Convert.ToInt32(i).ToString("N0"));
3884 WriteLiteral("+</option>\r\n");
3885 }
3886 else
3887 {
3888 WriteLiteral(" <option");
3889 BeginWriteAttribute("value", " value=\"", 34571, "\"", 34581, 1);
3890 WriteAttributeValue("", 34579, i, 34579, 2, false);
3891 EndWriteAttribute();
3892 WriteLiteral(" data-value=\'");
3893 Write(Convert.ToInt32(i).ToString("N0"));
3894 WriteLiteral("\'>");
3895 Write(Convert.ToInt32(i).ToString("N0"));
3896 WriteLiteral("</option>\r\n");
3897 }
3898 }
3899 WriteLiteral(" </select>\r\n <input type=\"hidden\" id=\"pricemax-frontpage\" name=\"pricemax\" />\r\n <button class=\"btn btn-primary js-close-dropdown mt-3\">");
3900 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3901 WriteLiteral(@"</button>
3902 </div>
3903 </div>
3904 </div>
3905 </div>
3906 </div>
3907 <div class=""col-xs-12 col-md-2 d-none d-md-block"">
3908 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
3909 Write(Translate("Smartpage:Search.Søg", "Søg"));
3910 WriteLiteral(@"</button>
3911 </div>
3912 </div>
3913
3914 <div class=""row moresearch-btn no-gutters"">
3915 <div class=""col-sm-12"">
3916 <div class=""row align-items-center no-gutters"">
3917 <div class=""col-12 col-md-4"">
3918 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch"" aria-expanded=""false"" aria-controls=""moreSearch"">
3919 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open"">");
3920 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
3921 WriteLiteral("</span> <span class=\"open\"><span class=\"js-filter-count\">0</span> ");
3922 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
3923 WriteLiteral(" </span></span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-md-2 mb-xs-4\">\r\n <a class=\"js-reset reset-btn\">");
3924 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
3925 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch\">\r\n <h4 class=\"mt-20\"><b>");
3926 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
3927 WriteLiteral(@"</b></h4>
3928 <div class=""row align-items-end mb-30"">
3929 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
3930 <div class=""filter-container row"">
3931 <label class=""d-block col-12"">");
3932 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
3933 WriteLiteral(@"</label>
3934 <div class=""col-6 pr-sm-0 pr-2"">
3935 <input type=""text"" name=""boligarealmin"" id=""boligarealmin-frontpage"" class=""form-control js-boligarealmin-frontpage-input js-count""");
3936 BeginWriteAttribute("placeholder", " placeholder=\'", 37447, "\'", 37519, 1);
3937 WriteAttributeValue("", 37461, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 37461, 58, false);
3938 EndWriteAttribute();
3939 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3940 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
3941 WriteLiteral("</option>\r\n");
3942 for (var i = 0; i <= 300; i += 10)
3943 {
3944 if (i == 300)
3945 {
3946 WriteLiteral(" <option");
3947 BeginWriteAttribute("value", " value=\"", 38126, "\"", 38136, 1);
3948 WriteAttributeValue("", 38134, i, 38134, 2, false);
3949 EndWriteAttribute();
3950 WriteLiteral(">");
3951 Write(i);
3952 WriteLiteral("+</option>\r\n");
3953 }
3954 else
3955 {
3956 WriteLiteral(" <option");
3957 BeginWriteAttribute("value", " value=\"", 38383, "\"", 38393, 1);
3958 WriteAttributeValue("", 38391, i, 38391, 2, false);
3959 EndWriteAttribute();
3960 WriteLiteral(">");
3961 Write(i);
3962 WriteLiteral("</option>\r\n");
3963 }
3964 }
3965 WriteLiteral(@" </select>
3966 </div>
3967 <div class=""col-6 pl-sm-0 pl-2"">
3968 <input type=""text"" name=""boligarealmax"" id=""boligarealmax-frontpage"" class=""form-control js-boligarealmax-frontpage-input js-count""");
3969 BeginWriteAttribute("placeholder", " placeholder=\'", 38866, "\'", 38938, 1);
3970 WriteAttributeValue("", 38880, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 38880, 58, false);
3971 EndWriteAttribute();
3972 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3973 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
3974 WriteLiteral("</option>\r\n");
3975 for (var i = 0; i <= 300; i += 10)
3976 {
3977 if (i == 300)
3978 {
3979 WriteLiteral(" <option");
3980 BeginWriteAttribute("value", " value=\"", 39545, "\"", 39555, 1);
3981 WriteAttributeValue("", 39553, i, 39553, 2, false);
3982 EndWriteAttribute();
3983 WriteLiteral(">");
3984 Write(i);
3985 WriteLiteral("+</option>\r\n");
3986 }
3987 else
3988 {
3989 WriteLiteral(" <option");
3990 BeginWriteAttribute("value", " value=\"", 39802, "\"", 39812, 1);
3991 WriteAttributeValue("", 39810, i, 39810, 2, false);
3992 EndWriteAttribute();
3993 WriteLiteral(">");
3994 Write(i);
3995 WriteLiteral("</option>\r\n");
3996 }
3997 }
3998 WriteLiteral(@" </select>
3999 </div>
4000 </div>
4001 </div>
4002 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4003 <div class=""filter-container row"">
4004 <label class=""d-block col-12"">");
4005 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
4006 WriteLiteral(@"</label>
4007 <div class=""col-6 pr-sm-0 pr-2"">
4008 <input type=""text"" name=""grundarealmin"" id=""grundarealmin-frontpage"" class=""form-control js-grundarealmin-frontpage-input js-count""");
4009 BeginWriteAttribute("placeholder", " placeholder=\'", 40661, "\'", 40733, 1);
4010 WriteAttributeValue("", 40675, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 40675, 58, false);
4011 EndWriteAttribute();
4012 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4013 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
4014 WriteLiteral("</option>\r\n");
4015 for (var i = 0; i <= 10000; i += 100)
4016 {
4017 if (i == 10000)
4018 {
4019 WriteLiteral(" <option");
4020 BeginWriteAttribute("value", " value=\"", 41345, "\"", 41355, 1);
4021 WriteAttributeValue("", 41353, i, 41353, 2, false);
4022 EndWriteAttribute();
4023 WriteLiteral(">");
4024 Write(i);
4025 WriteLiteral("+</option>\r\n");
4026 }
4027 else
4028 {
4029 WriteLiteral(" <option");
4030 BeginWriteAttribute("value", " value=\"", 41602, "\"", 41612, 1);
4031 WriteAttributeValue("", 41610, i, 41610, 2, false);
4032 EndWriteAttribute();
4033 WriteLiteral(">");
4034 Write(i);
4035 WriteLiteral("</option>\r\n");
4036 }
4037 }
4038 WriteLiteral(@" </select>
4039 </div>
4040 <div class=""col-6 pl-sm-0 pl-2"">
4041 <input type=""text"" name=""grundarealmax"" id=""grundarealmax-frontpage"" class=""form-control js-grundarealmax-frontpage-input js-count""");
4042 BeginWriteAttribute("placeholder", " placeholder=\'", 42085, "\'", 42157, 1);
4043 WriteAttributeValue("", 42099, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 42099, 58, false);
4044 EndWriteAttribute();
4045 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4046 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
4047 WriteLiteral("</option>\r\n");
4048 for (var i = 0; i <= 10000; i += 100)
4049 {
4050 if (i == 10000)
4051 {
4052 WriteLiteral(" <option");
4053 BeginWriteAttribute("value", " value=\"", 42769, "\"", 42779, 1);
4054 WriteAttributeValue("", 42777, i, 42777, 2, false);
4055 EndWriteAttribute();
4056 WriteLiteral(">");
4057 Write(i);
4058 WriteLiteral("+</option>\r\n");
4059 }
4060 else
4061 {
4062 WriteLiteral(" <option");
4063 BeginWriteAttribute("value", " value=\"", 43026, "\"", 43036, 1);
4064 WriteAttributeValue("", 43034, i, 43034, 2, false);
4065 EndWriteAttribute();
4066 WriteLiteral(">");
4067 Write(i);
4068 WriteLiteral("</option>\r\n");
4069 }
4070 }
4071 WriteLiteral(@" </select>
4072 </div>
4073 </div>
4074 </div>
4075 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4076 <div class=""filter-container row"">
4077 <label class=""d-block col-12"">Antal rum</label>
4078
4079 <div class=""col-6 pr-sm-0 pr-2"">
4080 <select name=""roomsmin"" id=""roomsmin-frontpage"" class=""form-control reverse js-count"">
4081 <option selected=""true"" disabled=""disabled"">");
4082 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
4083 WriteLiteral(@"</option>
4084 <option value=""1"">1</option>
4085 <option value=""2"">2</option>
4086 <option value=""3"">3</option>
4087 <option value=""4"">4</option>
4088 <option value=""5+"">5+</option>
4089 </select>
4090 </div>
4091 <div class=""col-6 pl-sm-0 pl-2"">
4092 <select name=""roomsmax"" id=""roomsmax-frontpage"" class=""form-control reverse js-count"">
4093 <option selected=""true"" disabled=""disabled"">");
4094 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
4095 WriteLiteral(@"</option>
4096 <option value=""1"">1</option>
4097 <option value=""2"">2</option>
4098 <option value=""3"">3</option>
4099 <option value=""4"">4</option>
4100 <option value=""5+"">");
4101 Write(Translate("Smartpage:Rooms.5", "5"));
4102 WriteLiteral(@"</option>
4103 </select>
4104 </div>
4105 </div>
4106 </div>
4107 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4108 <div class=""row"">
4109 <div class=""col-12"">
4110 <div class=""filter-container"">
4111 <label class=""d-block"">Energimærke</label>
4112 <select name=""energylabel"" id=""energylabel-frontpage"" class=""form-control reverse js-count"">
4113 <option disabled selected=""selected"">");
4114 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
4115 WriteLiteral(@"</option>
4116 <option value=""01"">G</option>
4117 <option value=""02"">F</option>
4118 <option value=""03"">E</option>
4119 <option value=""04"">D</option>
4120 <option value=""05"">C</option>
4121 <option value=""06"">B</option>
4122 <option value=""07"">A</option>
4123 <option value=""08"">A2010</option>
4124 <option value=""09"">A2015</option>
4125 <option value=""10"">A2020+</option>
4126 </select>
4127 </div>
4128 </div>
4129 ");
4130 WriteLiteral(" </div>\r\n </div>\r\n <div class=\"col-12 col-sm-6 col-lg-3 mt-3\">\r\n <h4");
4131 BeginWriteAttribute("class", " class=\"", 47281, "\"", 47289, 0);
4132 EndWriteAttribute();
4133 WriteLiteral("><b>");
4134 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
4135 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
4136 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
4137 WriteLiteral("</label>\r\n <div class=\"col-6 pr-sm-0 pr-2\">\r\n <input type=\"text\" name=\"subsidymin\" id=\"subsidymin-frontpage\" class=\"form-control js-subsidymin-frontpage-input js-count\"");
4138 BeginWriteAttribute("placeholder", " placeholder=\'", 47845, "\'", 47919, 1);
4139 WriteAttributeValue("", 47859, Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK"), 47859, 60, false);
4140 EndWriteAttribute();
4141 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4142 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
4143 WriteLiteral("</option>\r\n");
4144 for (var i = 0; i <= 25000; i += 1250)
4145 {
4146 if (i == 25000)
4147 {
4148 WriteLiteral(" <option>");
4149 Write(Convert.ToInt32(i).ToString("N0"));
4150 WriteLiteral("+</option>\r\n");
4151 }
4152 else
4153 {
4154 WriteLiteral(" <option>");
4155 Write(Convert.ToInt32(i).ToString("N0"));
4156 WriteLiteral("</option>\r\n");
4157 }
4158 }
4159 WriteLiteral(@" </select>
4160 </div>
4161 <div class=""col-6 pl-sm-0 pl-2"">
4162 <input type=""text"" name=""subsidymax"" id=""subsidymax-frontpage"" class=""form-control js-subsidymax-frontpage-input js-count""");
4163 BeginWriteAttribute("placeholder", " placeholder=\'", 49304, "\'", 49378, 1);
4164 WriteAttributeValue("", 49318, Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK"), 49318, 60, false);
4165 EndWriteAttribute();
4166 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4167 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
4168 WriteLiteral("</option>\r\n");
4169 for (var i = 0; i <= 25000; i += 1250)
4170 {
4171 if (i == 25000)
4172 {
4173 WriteLiteral(" <option");
4174 BeginWriteAttribute("value", " value=\"", 49990, "\"", 50017, 1);
4175 WriteAttributeValue("", 49998, Convert.ToInt32(i), 49998, 19, false);
4176 EndWriteAttribute();
4177 WriteLiteral(">");
4178 Write(Convert.ToInt32(i).ToString("N0"));
4179 WriteLiteral("+</option>\r\n");
4180 }
4181 else
4182 {
4183 WriteLiteral(" <option");
4184 BeginWriteAttribute("value", " value=\"", 50296, "\"", 50323, 1);
4185 WriteAttributeValue("", 50304, Convert.ToInt32(i), 50304, 19, false);
4186 EndWriteAttribute();
4187 WriteLiteral(">");
4188 Write(Convert.ToInt32(i).ToString("N0"));
4189 WriteLiteral("</option>\r\n");
4190 }
4191 }
4192 WriteLiteral(@" </select>
4193 </div>
4194 </div>
4195 </div>
4196 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"">
4197 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
4198 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
4199 WriteLiteral(@"</button>
4200 </div>
4201 </div>
4202 </div>
4203 </div>
4204 </div>
4205
4206 <div class=""row d-block d-md-none form-wrapper no-gutters"">
4207 <div class=""col-xs-12 col-md-2"">
4208 <button type=""submit"" class=""btn btn-block btn-search btn-mobile-search"">");
4209 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4210 WriteLiteral(@"<i class=""fa fa-search cta-icon""></i></button>
4211 </div>
4212 </div>
4213 </form>
4214 <div class=""front-page-actions d-md-none"">
4215 <div>
4216 <button class=""btn btn-block btn-search btn-mobile-search js-search-mobile"">");
4217 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4218 WriteLiteral("<i class=\"fa fa-search cta-icon\"></i></button>\r\n </div>\r\n <div>\r\n");
4219
4220 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : "";
4221 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER");
4222 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\"");
4223 BeginWriteAttribute("value", " value=\"", 52266, "\"", 52289, 1);
4224 WriteAttributeValue("", 52274, brokerSearchId, 52274, 15, false);
4225 EndWriteAttribute();
4226 WriteLiteral(@" type=""hidden"" />
4227 <div class=""icon-wrapper-wclick"">
4228 <i class=""fas fa-search ta-submit-on-icon-click""></i>
4229 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text""");
4230 BeginWriteAttribute("placeholder", " placeholder=\"", 52593, "\"", 52615, 1);
4231 WriteAttributeValue("", 52607, ctaText, 52607, 8, false);
4232 EndWriteAttribute();
4233 WriteLiteral(" onfocus=\"this.placeholder = \'\'\"");
4234 BeginWriteAttribute("onblur", " onblur=\"", 52648, "\"", 52684, 3);
4235 WriteAttributeValue("", 52657, "this.placeholder=\'", 52657, 18, true);
4236 WriteAttributeValue("", 52675, ctaText, 52675, 8, false);
4237 WriteAttributeValue("", 52683, "\'", 52683, 1, true);
4238 EndWriteAttribute();
4239 WriteLiteral(" />\r\n </div>\r\n </form>\r\n");
4240 WriteLiteral(" </div>\r\n <div>\r\n <a href=\"javascript:panelSalgsvurdering(\'Hovedmenu\')\" class=\"btn btn-orange btn-block\">");
4241 Write(Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING"));
4242 WriteLiteral("<i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n");
4243
4244 }
4245 Custom.Integration.Brokers.Models.BrokerEmployee GetBrokerFromCurrentProduct()
4246 {
4247 string productId = Dynamicweb.Context.Current.Request["ProductId"];
4248
4249 if (string.IsNullOrWhiteSpace(productId))
4250 {
4251 return null;
4252 }
4253
4254 var propertyProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, string.Empty, true);
4255 if (propertyProduct == null)
4256 {
4257 return null;
4258 }
4259
4260 string employee = Dynamicweb.Core.Converter.ToString(
4261 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xAktoererMaeglerKontaktEmail")
4262 );
4263 string storeId = Dynamicweb.Core.Converter.ToString(
4264 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xButikID")
4265 );
4266
4267 if (string.IsNullOrWhiteSpace(employee) || string.IsNullOrWhiteSpace(storeId))
4268 {
4269 return null;
4270 }
4271
4272 return Custom.Integration.Brokers.Search.GetEmployee(storeId, employee);
4273 }
4274
4275 string GetAgentTitleFromCurrentProduct()
4276 {
4277 var propBroker = GetBrokerFromCurrentProduct();
4278
4279 if (propBroker?.Broker == null)
4280 {
4281 return string.Empty;
4282 }
4283
4284 if (!string.IsNullOrEmpty(propBroker.Broker.CompanyName))
4285 {
4286 return propBroker.Broker.CompanyName;
4287 }
4288
4289 return propBroker.Broker.Name ?? string.Empty;
4290 }
4291
4292 string GetMasterBrokerUrlFromCurrentProduct()
4293 {
4294 var propBroker = GetBrokerFromCurrentProduct();
4295
4296 var itemId = propBroker?.Broker?.ItemId;
4297 var itemType = propBroker?.Broker?.ItemType;
4298
4299 if (string.IsNullOrWhiteSpace(itemId) || string.IsNullOrWhiteSpace(itemType))
4300 {
4301 return string.Empty;
4302 }
4303 var brokerItem = Dynamicweb.Content.Items.ItemManager.Storage.GetById(itemType, itemId);
4304
4305 if (brokerItem == null)
4306 {
4307 return string.Empty;
4308 }
4309
4310 var websiteId = Dynamicweb.Core.Converter.ToInt32(brokerItem["WebsiteId"]);
4311 var page = Dynamicweb.Content.Services.Pages.GetFirstPageForArea(websiteId);
4312 return Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("Default.aspx?Id=" + page?.ID);
4313 }
4314
4315 void RenderSlideMenu(bool erhverv, string maeglersoegning)
4316 {
4317 WriteLiteral(" <div id=\"menu\" \r\n class=\"main-menu-slide \"\r\n role=\"navigation\"");
4318 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 55864, "\"", 55980, 1);
4319 WriteAttributeValue("", 55891, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.MainMenu", "Hovedmenu")), 55891, 89, false);
4320 EndWriteAttribute();
4321 WriteLiteral(@"
4322 aria-modal=""true"">
4323 <div class=""container"">
4324 <div class=""row"">
4325 <div class=""col-12"">
4326 <span class=""menu-headline"">MENU</span>
4327 </div>
4328 <div class=""menu-slide""
4329 role=""button""
4330 tabindex=""0""");
4331 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 56345, "\"", 56473, 1);
4332 WriteAttributeValue("", 56384, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.CloseMenu", "Luk menu")), 56384, 89, false);
4333 EndWriteAttribute();
4334 WriteLiteral(">\r\n <b aria-hidden=\"true\"></b>\r\n </div>\r\n <div class=\"col-12 main-slidemenu\" role=\"region\"");
4335 BeginWriteAttribute("aria-label", " aria-label=\"", 56625, "\"", 56741, 1);
4336 WriteAttributeValue("", 56638, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.NavigationLinks", "Navigationslinks")), 56638, 103, false);
4337 EndWriteAttribute();
4338 WriteLiteral(">\r\n");
4339
4340 var navigationSettings = new NavigationSettings();
4341 navigationSettings.StartLevel = 1;
4342 navigationSettings.StopLevel = 2;
4343 navigationSettings.ExpandMode = ExpandMode.All;
4344 navigationSettings.RootAreaId = Pageview.Area.ID;
4345
4346 Write(Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings));
4347 WriteLiteral(" </div>\r\n <div class=\"col-12 bottom-btns\">\r\n\r\n");
4348
4349 string[] maeglerid;
4350 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0";
4351
4352 if (erhverv)
4353 {
4354 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None);
4355 }
4356 else
4357 {
4358 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None);
4359 }
4360
4361 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\" role=\"search\">\r\n <input name=\"id\"");
4362 BeginWriteAttribute("value", " value=\"", 58238, "\"", 58259, 1);
4363 WriteAttributeValue("", 58246, maeglerid[1], 58246, 13, false);
4364 EndWriteAttribute();
4365 WriteLiteral(" type=\"hidden\" />\r\n <div class=\"icon-wrapper-wclick\">\r\n <label for=\"broker-search-menu-vm\" class=\"sr-only\">");
4366 Write(Translate("Custom:Accessibility.FindBroker", "Find mægler"));
4367 WriteLiteral(@"</label>
4368 <i class=""fas fa-search ta-submit-on-icon-click""
4369 aria-hidden=""true""
4370 role=""button""
4371 tabindex=""0""");
4372 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 58754, "\"", 58907, 1);
4373 WriteAttributeValue("", 58807, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.SearchBroker", "Søg efter mægler")), 58807, 100, false);
4374 EndWriteAttribute();
4375 WriteLiteral(@"></i>
4376 <input id=""broker-search-menu-vm""
4377 class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter""
4378 name=""q""
4379 type=""text""");
4380 BeginWriteAttribute("placeholder", " \r\n placeholder=\"", 59215, "\"", 59366, 1);
4381 WriteAttributeValue("", 59274, HtmlEncoder.HtmlAttributeEncode(Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER")), 59274, 92, false);
4382 EndWriteAttribute();
4383 BeginWriteAttribute("aria-label", " \r\n aria-label=\"", 59367, "\"", 59563, 1);
4384 WriteAttributeValue("", 59425, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.BrokerSearchField", "Indtast postnummer eller navn for at finde mægler")), 59425, 138, false);
4385 EndWriteAttribute();
4386 WriteLiteral("\r\n onfocus=\"this.placeholder = \'FIND MÆGLER\'\" />\r\n </div>\r\n </form>\r\n");
4387 WriteLiteral(" <br />\r\n");
4388
4389 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + "";
4390 WriteLiteral(" <a");
4391 BeginWriteAttribute("href", " href=\"", 59973, "\"", 60044, 5);
4392 WriteAttributeValue("", 59980, "javascript:panelSalgsvurdering(\'", 59980, 32, true);
4393 WriteAttributeValue("", 60012, dpmaegler, 60012, 10, false);
4394 WriteAttributeValue("", 60022, "\',\'", 60022, 3, true);
4395 WriteAttributeValue("", 60025, Pageview.AreaID, 60025, 16, false);
4396 WriteAttributeValue("", 60041, "\');", 60041, 3, true);
4397 EndWriteAttribute();
4398 WriteLiteral(" \r\n class=\"btn btn-block btn-default-invert js-close-menu\"");
4399 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 60129, "\"", 60285, 1);
4400 WriteAttributeValue("", 60170, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.FreeSalesAssessment", "Få gratis salgsvurdering")), 60170, 115, false);
4401 EndWriteAttribute();
4402 WriteLiteral(">Gratis salgsvurdering <i class=\"cta-icon fa fa-angle-right\" aria-hidden=\"true\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n");
4403 }
4404
4405 void RenderBlockList(List<Block> blocks)
4406 {
4407 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4408 blocks = blocks.OrderBy(item => item.SortId).ToList();
4409
4410 foreach (Block item in blocks)
4411 {
4412 if (debug) {
4413 WriteLiteral(" <!-- Block START: ");
4414 Write(item.Id);
4415 WriteLiteral(" -->\r\n");
4416 }
4417
4418 if (item.Design == null)
4419 {
4420 RenderBlock(item);
4421 }
4422 else if (item.Design.RenderType == RenderType.None) {
4423 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4424
4425 WriteLiteral(" <div");
4426 BeginWriteAttribute("class", " class=\"", 61540, "\"", 61564, 2);
4427 WriteAttributeValue("", 61548, cssClass, 61548, 9, false);
4428 WriteAttributeValue(" ", 61557, "dw-mod", 61558, 7, true);
4429 EndWriteAttribute();
4430 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4431 }
4432 else if (item.Design.RenderType != RenderType.Hide)
4433 {
4434 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4435
4436 if (!item.SkipRenderBlocksList) {
4437 if (item.Design.RenderType == RenderType.Row)
4438 {
4439 WriteLiteral(" <div");
4440 BeginWriteAttribute("class", " class=\"", 61991, "\"", 62046, 4);
4441 WriteAttributeValue("", 61999, "grid", 61999, 4, true);
4442 WriteAttributeValue(" ", 62003, "grid--align-content-start", 62004, 26, true);
4443 WriteAttributeValue(" ", 62029, cssClass, 62030, 9, false);
4444 WriteAttributeValue(" ", 62039, "dw-mod", 62040, 7, true);
4445 EndWriteAttribute();
4446 BeginWriteAttribute("id", " id=\"", 62047, "\"", 62067, 2);
4447 WriteAttributeValue("", 62052, "Block__", 62052, 7, true);
4448 WriteAttributeValue("", 62059, item.Id, 62059, 8, false);
4449 EndWriteAttribute();
4450 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4451 }
4452
4453 if (item.Design.RenderType == RenderType.Column)
4454 {
4455 string hidePadding = item.Design.HidePadding ? "u-no-padding" : "";
4456 string size = item.Design.Size ?? "12";
4457 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size;
4458
4459 WriteLiteral(" <div");
4460 BeginWriteAttribute("class", " class=\"", 62563, "\"", 62694, 9);
4461 WriteAttributeValue("", 62571, "grid__col-lg-", 62571, 13, true);
4462 WriteAttributeValue("", 62584, item.Design.Size, 62584, 17, false);
4463 WriteAttributeValue(" ", 62601, "grid__col-md-", 62602, 14, true);
4464 WriteAttributeValue("", 62615, item.Design.Size, 62615, 17, false);
4465 WriteAttributeValue(" ", 62632, "grid__col-sm-12", 62633, 16, true);
4466 WriteAttributeValue(" ", 62648, "grid__col-xs-12", 62649, 16, true);
4467 WriteAttributeValue(" ", 62664, hidePadding, 62665, 12, false);
4468 WriteAttributeValue(" ", 62677, cssClass, 62678, 9, false);
4469 WriteAttributeValue(" ", 62687, "dw-mod", 62688, 7, true);
4470 EndWriteAttribute();
4471 BeginWriteAttribute("id", " id=\"", 62695, "\"", 62715, 2);
4472 WriteAttributeValue("", 62700, "Block__", 62700, 7, true);
4473 WriteAttributeValue("", 62707, item.Id, 62707, 8, false);
4474 EndWriteAttribute();
4475 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4476 }
4477
4478 if (item.Design.RenderType == RenderType.Table)
4479 {
4480 WriteLiteral(" <table");
4481 BeginWriteAttribute("class", " class=\"", 62946, "\"", 62976, 3);
4482 WriteAttributeValue("", 62954, "table", 62954, 5, true);
4483 WriteAttributeValue(" ", 62959, cssClass, 62960, 9, false);
4484 WriteAttributeValue(" ", 62969, "dw-mod", 62970, 7, true);
4485 EndWriteAttribute();
4486 BeginWriteAttribute("id", " id=\"", 62977, "\"", 62997, 2);
4487 WriteAttributeValue("", 62982, "Block__", 62982, 7, true);
4488 WriteAttributeValue("", 62989, item.Id, 62989, 8, false);
4489 EndWriteAttribute();
4490 WriteLiteral(">\r\n RenderBlock(item);\r\n </table>\r\n");
4491 }
4492
4493 if (item.Design.RenderType == RenderType.TableRow)
4494 {
4495 WriteLiteral(" <tr");
4496 BeginWriteAttribute("class", " class=\"", 63230, "\"", 63254, 2);
4497 WriteAttributeValue("", 63238, cssClass, 63238, 9, false);
4498 WriteAttributeValue(" ", 63247, "dw-mod", 63248, 7, true);
4499 EndWriteAttribute();
4500 BeginWriteAttribute("id", " id=\"", 63255, "\"", 63275, 2);
4501 WriteAttributeValue("", 63260, "Block__", 63260, 7, true);
4502 WriteAttributeValue("", 63267, item.Id, 63267, 8, false);
4503 EndWriteAttribute();
4504 WriteLiteral(">\r\n RenderBlock(item);\r\n </tr>\r\n");
4505 }
4506
4507 if (item.Design.RenderType == RenderType.TableColumn)
4508 {
4509 WriteLiteral(" <td");
4510 BeginWriteAttribute("class", " class=\"", 63508, "\"", 63532, 2);
4511 WriteAttributeValue("", 63516, cssClass, 63516, 9, false);
4512 WriteAttributeValue(" ", 63525, "dw-mod", 63526, 7, true);
4513 EndWriteAttribute();
4514 BeginWriteAttribute("id", " id=\"", 63533, "\"", 63553, 2);
4515 WriteAttributeValue("", 63538, "Block__", 63538, 7, true);
4516 WriteAttributeValue("", 63545, item.Id, 63545, 8, false);
4517 EndWriteAttribute();
4518 WriteLiteral(">\r\n RenderBlock(item);\r\n </td>\r\n");
4519 }
4520
4521 if (item.Design.RenderType == RenderType.CardHeader)
4522 {
4523 WriteLiteral(" <div");
4524 BeginWriteAttribute("class", " class=\"", 63786, "\"", 63822, 3);
4525 WriteAttributeValue("", 63794, "card-header", 63794, 11, true);
4526 WriteAttributeValue(" ", 63805, cssClass, 63806, 9, false);
4527 WriteAttributeValue(" ", 63815, "dw-mod", 63816, 7, true);
4528 EndWriteAttribute();
4529 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4530 }
4531
4532 if (item.Design.RenderType == RenderType.CardBody)
4533 {
4534 WriteLiteral(" <div");
4535 BeginWriteAttribute("class", " class=\"", 64054, "\"", 64083, 3);
4536 WriteAttributeValue("", 64062, "card", 64062, 4, true);
4537 WriteAttributeValue(" ", 64066, cssClass, 64067, 9, false);
4538 WriteAttributeValue(" ", 64076, "dw-mod", 64077, 7, true);
4539 EndWriteAttribute();
4540 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4541 }
4542
4543 if (item.Design.RenderType == RenderType.CardFooter)
4544 {
4545 WriteLiteral(" <div");
4546 BeginWriteAttribute("class", " class=\"", 64317, "\"", 64353, 3);
4547 WriteAttributeValue("", 64325, "card-footer", 64325, 11, true);
4548 WriteAttributeValue(" ", 64336, cssClass, 64337, 9, false);
4549 WriteAttributeValue(" ", 64346, "dw-mod", 64347, 7, true);
4550 EndWriteAttribute();
4551 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4552 }
4553 }
4554 else
4555 {
4556 RenderBlock(item);
4557 }
4558 }
4559
4560 if (debug) {
4561 WriteLiteral(" <!-- Block END: ");
4562 Write(item.Id);
4563 WriteLiteral(" -->\r\n");
4564 }
4565 }
4566 }
4567
4568 void RenderBlock(Block item)
4569 {
4570 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4571
4572 if (item.Template != null)
4573 {
4574 Write(BlocksPage.RenderTemplate(item.Template));
4575
4576 }
4577
4578 if (item.Component != null)
4579 {
4580 string customSufix = "Custom";
4581 string methodName = item.Component.HelperName;
4582
4583 ComponentBase[] methodParameters = new ComponentBase[1];
4584 methodParameters[0] = item.Component;
4585 Type methodType = this.GetType();
4586
4587 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix);
4588 MethodInfo generalMethod = methodType.GetMethod(methodName);
4589
4590 try {
4591 if (debug) {
4592 WriteLiteral(" <!-- Component: ");
4593 Write(methodName.Replace("Render", ""));
4594 WriteLiteral(" -->\r\n");
4595 }
4596 Write(customMethod.Invoke(this, methodParameters).ToString());
4597 ;
4598 } catch {
4599 try {
4600 Write(generalMethod.Invoke(this, methodParameters).ToString());
4601
4602 ;
4603 } catch(Exception ex) {
4604 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex);
4605 }
4606 }
4607 }
4608
4609 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList)
4610 {
4611 RenderBlockList(item.BlocksList);
4612 }
4613 }
4614
4615 void Render(ComponentBase component)
4616 {
4617 if (component != null)
4618 {
4619 Write(component.Render(this));
4620
4621 }
4622 }
4623
4624 void RenderIcon(Icon settings)
4625 {
4626 if (settings != null)
4627 {
4628 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4629
4630 if (settings.Name != null)
4631 {
4632 if (string.IsNullOrEmpty(settings.Label))
4633 {
4634 WriteLiteral(" <i");
4635 BeginWriteAttribute("class", " class=\"", 67249, "\"", 67307, 3);
4636 WriteAttributeValue("", 67257, settings.Prefix, 67257, 16, false);
4637 WriteAttributeValue(" ", 67273, settings.Name, 67274, 14, false);
4638 WriteAttributeValue(" ", 67288, settings.CssClass, 67289, 18, false);
4639 EndWriteAttribute();
4640 WriteLiteral(" ");
4641 Write(color);
4642 WriteLiteral("></i>\r\n");
4643 }
4644 else
4645 {
4646 if (settings.LabelPosition == IconLabelPosition.Before)
4647 {
4648 WriteLiteral(" <div");
4649 BeginWriteAttribute("class", " class=\"", 67510, "\"", 67570, 3);
4650 WriteAttributeValue("", 67518, "u-flex", 67518, 6, true);
4651 WriteAttributeValue(" ", 67524, "u-flex--align-items-center", 67525, 27, true);
4652 WriteAttributeValue(" ", 67551, settings.CssClass, 67552, 18, false);
4653 EndWriteAttribute();
4654 WriteLiteral(">");
4655 Write(settings.Label);
4656 WriteLiteral(" <i");
4657 BeginWriteAttribute("class", " class=\"", 67590, "\"", 67643, 3);
4658 WriteAttributeValue("", 67598, settings.Prefix, 67598, 16, false);
4659 WriteAttributeValue(" ", 67614, settings.Name, 67615, 14, false);
4660 WriteAttributeValue(" ", 67629, "u-margin-left", 67630, 14, true);
4661 EndWriteAttribute();
4662 WriteLiteral(" ");
4663 Write(color);
4664 WriteLiteral("></i></div>\r\n");
4665 }
4666 else
4667 {
4668 WriteLiteral(" <div");
4669 BeginWriteAttribute("class", " class=\"", 67764, "\"", 67824, 3);
4670 WriteAttributeValue("", 67772, "u-flex", 67772, 6, true);
4671 WriteAttributeValue(" ", 67778, "u-flex--align-items-center", 67779, 27, true);
4672 WriteAttributeValue(" ", 67805, settings.CssClass, 67806, 18, false);
4673 EndWriteAttribute();
4674 WriteLiteral("><i");
4675 BeginWriteAttribute("class", " class=\"", 67828, "\"", 67894, 4);
4676 WriteAttributeValue("", 67836, settings.Prefix, 67836, 16, false);
4677 WriteAttributeValue(" ", 67852, settings.Name, 67853, 14, false);
4678 WriteAttributeValue(" ", 67867, "u-margin-right--lg", 67868, 19, true);
4679 WriteAttributeValue(" ", 67886, "u-w20px", 67887, 8, true);
4680 EndWriteAttribute();
4681 WriteLiteral(" ");
4682 Write(color);
4683 WriteLiteral("></i>");
4684 Write(settings.Label);
4685 WriteLiteral("</div>\r\n");
4686 }
4687 }
4688 }
4689 else if (!string.IsNullOrEmpty(settings.Label))
4690 {
4691 Write(settings.Label);
4692
4693 }
4694 }
4695 }
4696
4697 void RenderButton(Button settings)
4698 {
4699 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4700 {
4701 Dictionary<string, string> attributes = new Dictionary<string, string>();
4702 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4703 if (settings.Disabled) {
4704 attributes.Add("disabled", "true");
4705 classList.Add("disabled");
4706 }
4707
4708 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle))
4709 {
4710 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
4711 RenderConfirmDialog(settings);
4712 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true";
4713 }
4714
4715 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4716 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4717 if (!string.IsNullOrEmpty(settings.AltText))
4718 {
4719 attributes.Add("title", settings.AltText);
4720 }
4721 else if (!string.IsNullOrEmpty(settings.Title))
4722 {
4723 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty);
4724 cleanTitle = cleanTitle.Replace(" ", " ");
4725 attributes.Add("title", cleanTitle);
4726 }
4727
4728 var onClickEvents = new List<string>();
4729 if (!string.IsNullOrEmpty(settings.OnClick))
4730 {
4731 onClickEvents.Add(settings.OnClick);
4732 }
4733 if (!string.IsNullOrEmpty(settings.Href))
4734 {
4735 if (settings.Href.Contains("javascript"))
4736 {
4737 settings.Href = settings.Href.Replace("http://", "");
4738 }
4739 onClickEvents.Add("location.href='" + settings.Href + "'");
4740 }
4741 if (onClickEvents.Count > 0)
4742 {
4743 attributes.Add("onClick", string.Join(";", onClickEvents));
4744 }
4745
4746 if (settings.ButtonLayout != ButtonLayout.None)
4747 {
4748 classList.Add("btn");
4749 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4750 if (btnLayout == "linkclean")
4751 {
4752 btnLayout = "link-clean"; //fix
4753 }
4754 classList.Add("btn--" + btnLayout);
4755 }
4756
4757 if (settings.Icon == null)
4758 {
4759 settings.Icon = new Icon();
4760 }
4761
4762 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : "";
4763 settings.Icon.Label = settings.Title;
4764
4765 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower());
4766
4767 WriteLiteral(" <button");
4768 BeginWriteAttribute("class", " class=\"", 71487, "\"", 71530, 2);
4769 WriteAttributeValue("", 71495, string.Join(" ", classList), 71495, 28, false);
4770 WriteAttributeValue(" ", 71523, "dw-mod", 71524, 7, true);
4771 EndWriteAttribute();
4772 WriteLiteral(" ");
4773 Write(ComponentMethods.AddAttributes(attributes));
4774 WriteLiteral(" ");
4775 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4776 WriteLiteral(">");
4777 RenderIcon(settings.Icon);WriteLiteral("</button>\r\n");
4778 }
4779 }
4780
4781 void RenderConfirmDialog(Button settings)
4782 {
4783 Modal confirmDialog = new Modal {
4784 Id = settings.Id,
4785 Width = ModalWidth.Sm,
4786 Heading = new Heading
4787 {
4788 Level = 2,
4789 Title = settings.ConfirmTitle
4790 },
4791 BodyText = settings.ConfirmText
4792 };
4793
4794 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"});
4795 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick });
4796
4797 RenderModal(confirmDialog);
4798 }
4799
4800 void RenderLink(Link settings)
4801 {
4802 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4803 {
4804 Dictionary<string, string> attributes = new Dictionary<string, string>();
4805 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4806 if (settings.Disabled)
4807 {
4808 attributes.Add("disabled", "true");
4809 classList.Add("disabled");
4810 }
4811
4812 if (!string.IsNullOrEmpty(settings.AltText))
4813 {
4814 attributes.Add("title", settings.AltText);
4815 }
4816 else if (!string.IsNullOrEmpty(settings.Title))
4817 {
4818 attributes.Add("title", settings.Title);
4819 }
4820
4821 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4822 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4823 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); }
4824 attributes.Add("href", settings.Href);
4825
4826 if (settings.ButtonLayout != ButtonLayout.None)
4827 {
4828 classList.Add("btn");
4829 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4830 if (btnLayout == "linkclean")
4831 {
4832 btnLayout = "link-clean"; //fix
4833 }
4834 classList.Add("btn--" + btnLayout);
4835 }
4836
4837 if (settings.Icon == null)
4838 {
4839 settings.Icon = new Icon();
4840 }
4841 settings.Icon.Label = settings.Title;
4842
4843 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None)
4844 {
4845 settings.Rel = LinkRelType.Noopener;
4846 }
4847 if (settings.Target != LinkTargetType.None)
4848 {
4849 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower());
4850 }
4851 if (settings.Download)
4852 {
4853 attributes.Add("download", "true");
4854 }
4855 if (settings.Rel != LinkRelType.None)
4856 {
4857 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower());
4858 }
4859
4860 WriteLiteral(" <a");
4861 BeginWriteAttribute("class", " class=\"", 75262, "\"", 75305, 2);
4862 WriteAttributeValue("", 75270, string.Join(" ", classList), 75270, 28, false);
4863 WriteAttributeValue(" ", 75298, "dw-mod", 75299, 7, true);
4864 EndWriteAttribute();
4865 WriteLiteral(" ");
4866 Write(ComponentMethods.AddAttributes(attributes));
4867 WriteLiteral(" ");
4868 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4869 WriteLiteral(">Render(settings.Icon);</a>\r\n");
4870 }
4871 }
4872
4873 void RenderRating(Rating settings)
4874 {
4875 if (settings.Score > 0)
4876 {
4877 int rating = settings.Score;
4878 string iconType = "fa-star";
4879
4880 switch (settings.Type.ToString()) {
4881 case "Stars":
4882 iconType = "fa-star";
4883 break;
4884 case "Hearts":
4885 iconType = "fa-heart";
4886 break;
4887 case "Lemons":
4888 iconType = "fa-lemon";
4889 break;
4890 case "Bombs":
4891 iconType = "fa-bomb";
4892 break;
4893 }
4894
4895 WriteLiteral(" <div class=\"u-ta-right\">\r\n");
4896 for (int i = 0; i < settings.OutOf; i++)
4897 {
4898 WriteLiteral(" <i");
4899 BeginWriteAttribute("class", " class=\"", 76439, "\"", 76486, 2);
4900 WriteAttributeValue("", 76447, rating > i ? "fas" : "far", 76447, 29, false);
4901 WriteAttributeValue(" ", 76476, iconType, 76477, 9, false);
4902 EndWriteAttribute();
4903 WriteLiteral("></i>\r\n");
4904 }
4905 WriteLiteral(" </div>\r\n");
4906 }
4907 }
4908
4909 void RenderNavigation(Navigation settings) {
4910 RenderNavigation(new
4911 {
4912 id = settings.Id,
4913 cssclass = settings.CssClass,
4914 startLevel = settings.StartLevel,
4915 endlevel = settings.EndLevel,
4916 expandmode = settings.Expandmode,
4917 sitemapmode = settings.SitemapMode,
4918 template = settings.Template
4919 });
4920 }
4921
4922 void RenderLeftNavigation(LeftNavigation settings) {
4923 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id;
4924 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template;
4925 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel;
4926 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel;
4927 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode;
4928
4929 WriteLiteral(" <div class=\"grid__cell\">\r\n RenderNavigation(settings);\r\n </div> \r\n");
4930 }
4931
4932 void RenderHeading(Heading settings)
4933 {
4934 if (settings != null && !string.IsNullOrEmpty(settings.Title))
4935 {
4936 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4937 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div";
4938
4939 Write("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">");
4940
4941 if (!string.IsNullOrEmpty(settings.Link))
4942 {
4943 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None });
4944 }
4945 else
4946 {
4947 if (settings.Icon == null)
4948 {
4949 settings.Icon = new Icon();
4950 }
4951 settings.Icon.Label = settings.Title;
4952 RenderIcon(settings.Icon);
4953 }
4954 Write("</" + tagName + ">");
4955 ;
4956 }
4957 }
4958
4959 void RenderImage(Image settings)
4960 {
4961 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None)
4962 {
4963 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
4964 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); }
4965
4966 if (settings.Caption != null)
4967 {
4968 WriteLiteral(" ");
4969 WriteLiteral("<div>\r\n");
4970 }
4971
4972 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower();
4973 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower();
4974
4975 WriteLiteral(" <div");
4976 BeginWriteAttribute("class", " class=\"", 79967, "\"", 80048, 5);
4977 WriteAttributeValue("", 79975, "image-filter", 79975, 12, true);
4978 WriteAttributeValue(" ", 79987, "image-filter--", 79988, 15, true);
4979 WriteAttributeValue("", 80002, primaryFilterClass, 80002, 19, false);
4980 WriteAttributeValue(" ", 80021, "u-position-relative", 80022, 20, true);
4981 WriteAttributeValue(" ", 80041, "dw-mod", 80042, 7, true);
4982 EndWriteAttribute();
4983 WriteLiteral(" ");
4984 Write(ComponentMethods.AddAttributes(optionalAttributes));
4985 WriteLiteral(">\r\n <div");
4986 BeginWriteAttribute("class", " class=\"", 80128, "\"", 80191, 4);
4987 WriteAttributeValue("", 80136, "image-filter", 80136, 12, true);
4988 WriteAttributeValue(" ", 80148, "image-filter--", 80149, 15, true);
4989 WriteAttributeValue("", 80163, secondaryFilterClass, 80163, 21, false);
4990 WriteAttributeValue(" ", 80184, "dw-mod", 80185, 7, true);
4991 EndWriteAttribute();
4992 WriteLiteral(">\r\n");
4993 if (settings.Link != null)
4994 {
4995 WriteLiteral(" <a");
4996 BeginWriteAttribute("href", " href=\"", 80305, "\"", 80326, 1);
4997 WriteAttributeValue("", 80312, settings.Link, 80312, 14, false);
4998 EndWriteAttribute();
4999 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
5000 }
5001 else
5002 {
5003 RenderTheImage(settings);
5004 }
5005 WriteLiteral(" </div>\r\n </div>\r\n");
5006
5007 if (settings.Caption != null)
5008 {
5009 WriteLiteral(" <span class=\"image-caption dw-mod\">");
5010 Write(settings.Caption);
5011 WriteLiteral("</span>\r\n ");
5012 WriteLiteral("</div>\r\n");
5013 }
5014 }
5015 else
5016 {
5017 if (settings.Caption != null)
5018 {
5019 WriteLiteral(" ");
5020 WriteLiteral("<div>\r\n");
5021 }
5022 if (!string.IsNullOrEmpty(settings.Link))
5023 {
5024 WriteLiteral(" <a");
5025 BeginWriteAttribute("href", " href=\"", 81069, "\"", 81090, 1);
5026 WriteAttributeValue("", 81076, settings.Link, 81076, 14, false);
5027 EndWriteAttribute();
5028 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
5029 }
5030 else
5031 {
5032 RenderTheImage(settings);
5033 }
5034
5035 if (settings.Caption != null)
5036 {
5037 WriteLiteral(" <span class=\"image-caption dw-mod\">");
5038 Write(settings.Caption);
5039 WriteLiteral("</span>\r\n ");
5040 WriteLiteral("</div>\r\n");
5041 }
5042 }
5043 }
5044
5045 void RenderTheImage(Image settings)
5046 {
5047 if (settings != null)
5048 {
5049 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg";
5050 string placeholderImage = "/Files/Images/placeholder.gif";
5051 string imageEngine = "/Admin/Public/GetImage.ashx?";
5052
5053 string imageStyle = "";
5054
5055 switch (settings.Style)
5056 {
5057 case ImageStyle.Ball:
5058 imageStyle = "grid__cell-img--ball";
5059 break;
5060
5061 case ImageStyle.Triangle:
5062 imageStyle = "grid__cell-img--triangle";
5063 break;
5064 }
5065
5066 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle)
5067 {
5068 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop;
5069
5070 if (settings.ImageDefault != null)
5071 {
5072 settings.ImageDefault.Height = settings.ImageDefault.Width;
5073 }
5074 if (settings.ImageMedium != null)
5075 {
5076 settings.ImageMedium.Height = settings.ImageMedium.Width;
5077 }
5078 if (settings.ImageSmall != null)
5079 {
5080 settings.ImageSmall.Height = settings.ImageSmall.Width;
5081 }
5082 }
5083
5084 string defaultImage = imageEngine;
5085 string imageSmall = "";
5086 string imageMedium = "";
5087
5088 if (settings.DisableImageEngine)
5089 {
5090 defaultImage = settings.Path;
5091 }
5092 else
5093 {
5094 if (settings.ImageDefault != null)
5095 {
5096 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault);
5097
5098 if (settings.Path.GetType() != typeof(string))
5099 {
5100 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5101 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5102 }
5103 else
5104 {
5105 defaultImage += settings.Path != null ? "Image=" + settings.Path : "";
5106 }
5107
5108 defaultImage += "&AlternativeImage=" + alternativeImage;
5109 }
5110
5111 if (settings.ImageSmall != null)
5112 {
5113 imageSmall = "data-src-small=\"" + imageEngine;
5114 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall);
5115
5116 if (settings.Path.GetType() != typeof(string))
5117 {
5118 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5119 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5120 }
5121 else
5122 {
5123 imageSmall += settings.Path != null ? "Image=" + settings.Path : "";
5124 }
5125
5126 imageSmall += "&alternativeImage=" + alternativeImage;
5127
5128 imageSmall += "\"";
5129 }
5130
5131 if (settings.ImageMedium != null)
5132 {
5133 imageMedium = "data-src-medium=\"" + imageEngine;
5134 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium);
5135
5136 if (settings.Path.GetType() != typeof(string))
5137 {
5138 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5139 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5140 }
5141 else
5142 {
5143 imageMedium += settings.Path != null ? "Image=" + settings.Path : "";
5144 }
5145
5146 imageMedium += "&alternativeImage=" + alternativeImage;
5147
5148 imageMedium += "\"";
5149 }
5150 }
5151
5152 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5153 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); }
5154 if (!string.IsNullOrEmpty(settings.Title))
5155 {
5156 optionalAttributes.Add("alt", settings.Title);
5157 optionalAttributes.Add("title", settings.Title);
5158 }
5159
5160 if (settings.DisableLazyLoad)
5161 {
5162 WriteLiteral(" <img");
5163 BeginWriteAttribute("id", " id=\"", 86569, "\"", 86586, 1);
5164 WriteAttributeValue("", 86574, settings.Id, 86574, 12, false);
5165 EndWriteAttribute();
5166 BeginWriteAttribute("class", " class=\"", 86587, "\"", 86632, 3);
5167 WriteAttributeValue("", 86595, imageStyle, 86595, 11, false);
5168 WriteAttributeValue(" ", 86606, settings.CssClass, 86607, 18, false);
5169 WriteAttributeValue(" ", 86625, "dw-mod", 86626, 7, true);
5170 EndWriteAttribute();
5171 BeginWriteAttribute("src", " src=\"", 86633, "\"", 86652, 1);
5172 WriteAttributeValue("", 86639, defaultImage, 86639, 13, false);
5173 EndWriteAttribute();
5174 WriteLiteral(" ");
5175 Write(ComponentMethods.AddAttributes(optionalAttributes));
5176 WriteLiteral(" ");
5177 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5178 WriteLiteral(" />\r\n");
5179 }
5180 else
5181 {
5182
5183 WriteLiteral(" <img");
5184 BeginWriteAttribute("id", " id=\"", 86850, "\"", 86867, 1);
5185 WriteAttributeValue("", 86855, settings.Id, 86855, 12, false);
5186 EndWriteAttribute();
5187 BeginWriteAttribute("class", " class=\"", 86868, "\"", 86913, 3);
5188 WriteAttributeValue("", 86876, imageStyle, 86876, 11, false);
5189 WriteAttributeValue(" ", 86887, settings.CssClass, 86888, 18, false);
5190 WriteAttributeValue(" ", 86906, "dw-mod", 86907, 7, true);
5191 EndWriteAttribute();
5192 WriteLiteral(" loading=\"lazy\"");
5193 BeginWriteAttribute("src", " src=\"", 86929, "\"", 86948, 1);
5194 WriteAttributeValue("", 86935, defaultImage, 86935, 13, false);
5195 EndWriteAttribute();
5196 WriteLiteral(" ");
5197 Write(ComponentMethods.AddAttributes(optionalAttributes));
5198 WriteLiteral(" ");
5199 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5200 WriteLiteral(" />\r\n");
5201 }
5202 }
5203 }
5204
5205 void RenderHiddenField(HiddenField settings) {
5206 var attributes = new Dictionary<string, string>();
5207 attributes.Add("type", "hidden");
5208 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5209 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5210 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5211
5212 WriteLiteral(" <input ");
5213 Write(ComponentMethods.AddAttributes(attributes));
5214 WriteLiteral(" ");
5215 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5216 WriteLiteral("/>\r\n");
5217 }
5218
5219 void RenderRadioButtonField(RadioButtonField settings)
5220 {
5221 var attributes = new Dictionary<string, string>();
5222 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id))
5223 {
5224 settings.Id = Guid.NewGuid().ToString("N");
5225 }
5226
5227 /*base settings*/
5228 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5229 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); }
5230 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); }
5231 if (settings.Disabled) { attributes.Add("disabled", "true"); }
5232 if (settings.Required) { attributes.Add("required", "true"); }
5233 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5234 /*end*/
5235
5236 attributes.Add("type", "radio");
5237 if (settings.Checked) { attributes.Add("checked", "true"); }
5238 settings.CssClass = "form__control " + settings.CssClass;
5239 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5240
5241 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value);
5242
5243 WriteLiteral(" <div");
5244 BeginWriteAttribute("class", " class=\"", 89268, "\"", 89326, 3);
5245 WriteAttributeValue("", 89276, "form__field-group", 89276, 17, true);
5246 WriteAttributeValue(" ", 89293, settings.WrapperCssClass, 89294, 25, false);
5247 WriteAttributeValue(" ", 89319, "dw-mod", 89320, 7, true);
5248 EndWriteAttribute();
5249 WriteLiteral(">\r\n <input ");
5250 Write(ComponentMethods.AddAttributes(resultAttributes));
5251 WriteLiteral(" class=\"");
5252 Write(settings.CssClass);
5253 WriteLiteral(" dw-mod\" />\r\n");
5254 if (!string.IsNullOrEmpty(settings.Label))
5255 {
5256 WriteLiteral(" <label");
5257 BeginWriteAttribute("for", " for=\"", 89531, "\"", 89549, 1);
5258 WriteAttributeValue("", 89537, settings.Id, 89537, 12, false);
5259 EndWriteAttribute();
5260 WriteLiteral(" class=\"dw-mod\">");
5261 Write(settings.Label);
5262 WriteLiteral("</label>\r\n");
5263 }
5264 if (!string.IsNullOrEmpty(settings.HelpText))
5265 {
5266 WriteLiteral(" <small class=\"form__help-text\">");
5267 Write(settings.HelpText);
5268 WriteLiteral("</small>\r\n");
5269 }
5270 WriteLiteral(" Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5271 }
5272
5273 void RenderRadioButtonListField(RadioButtonListField settings)
5274 {
5275 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; }
5276
5277 WriteLiteral(" <div");
5278 BeginWriteAttribute("class", " class=\"", 90264, "\"", 90338, 4);
5279 WriteAttributeValue("", 90272, "form__field-group", 90272, 17, true);
5280 WriteAttributeValue(" ", 90289, settings.WrapperCssClass, 90290, 25, false);
5281 WriteAttributeValue(" ", 90315, "u-margin-bottom", 90316, 16, true);
5282 WriteAttributeValue(" ", 90331, "dw-mod", 90332, 7, true);
5283 EndWriteAttribute();
5284 WriteLiteral(" ");
5285 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5286 WriteLiteral(">\r\n");
5287 if (!string.IsNullOrEmpty(settings.Label))
5288 {
5289 WriteLiteral(" <label>");
5290 Write(settings.Label);
5291 WriteLiteral("</label>\r\n");
5292 }
5293 if (!string.IsNullOrEmpty(settings.HelpText))
5294 {
5295 WriteLiteral(" <small class=\"form__help-text\">");
5296 Write(settings.HelpText);
5297 WriteLiteral("</small>\r\n");
5298 }
5299 WriteLiteral("\r\n");
5300 foreach (var item in settings.Options)
5301 {
5302 if (settings.Required)
5303 {
5304 item.Required = true;
5305 }
5306 if (settings.Disabled)
5307 {
5308 item.Disabled = true;
5309 }
5310 if (!string.IsNullOrEmpty(settings.Name))
5311 {
5312 item.Name = settings.Name;
5313 }
5314 if (settings.Value != null && settings.Value == item.Value)
5315 {
5316 item.Checked = true;
5317 }
5318 if (!string.IsNullOrEmpty(settings.OnClick))
5319 {
5320 item.OnClick += settings.OnClick;
5321 }
5322 if (!string.IsNullOrEmpty(settings.OnChange))
5323 {
5324 item.OnChange += settings.OnChange;
5325 }
5326 if (!string.IsNullOrEmpty(settings.CssClass))
5327 {
5328 item.CssClass += settings.CssClass;
5329 }
5330 Render(item);
5331 }
5332 WriteLiteral("\r\n Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5333 }
5334
5335 void RenderForm(Form settings) {
5336 if (settings != null)
5337 {
5338 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5339 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); };
5340 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); };
5341 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); };
5342 var enctypes = new Dictionary<string, string>
5343 {
5344 { "multipart", "multipart/form-data" },
5345 { "text", "text/plain" },
5346 { "application", "application/x-www-form-urlencoded" }
5347 };
5348 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); };
5349 optionalAttributes.Add("method", settings.Method.ToString());
5350
5351 if (!string.IsNullOrEmpty(settings.FormStartMarkup))
5352 {
5353 Write(settings.FormStartMarkup);
5354
5355 }
5356 else
5357 {
5358 WriteLiteral(" ");
5359 WriteLiteral("<form class=\"");
5360 Write(settings.CssClass);
5361 WriteLiteral(" u-no-margin dw-mod\" ");
5362 Write(ComponentMethods.AddAttributes(optionalAttributes));
5363 WriteLiteral(" ");
5364 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5365 WriteLiteral(">\r\n");
5366 }
5367
5368 foreach (var field in settings.GetFields())
5369 {
5370 Render(field);
5371 }
5372
5373 WriteLiteral(" ");
5374 WriteLiteral("</form>\r\n");
5375 }
5376 }
5377
5378 void RenderText(Text settings)
5379 {
5380 Write(settings.Content);
5381
5382 }
5383
5384 void RenderContentModule(ContentModule settings) {
5385 if (!string.IsNullOrEmpty(settings.Content))
5386 {
5387 Write(settings.Content);
5388
5389 }
5390 }
5391
5392 void RenderModal(Modal settings) {
5393 if (settings != null)
5394 {
5395 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
5396
5397 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : "";
5398
5399 WriteLiteral(" <input type=\"checkbox\"");
5400 BeginWriteAttribute("id", " id=\"", 94734, "\"", 94761, 2);
5401 WriteAttributeValue("", 94739, modalId, 94739, 10, false);
5402 WriteAttributeValue("", 94749, "ModalTrigger", 94749, 12, true);
5403 EndWriteAttribute();
5404 WriteLiteral(" class=\"modal-trigger\" ");
5405 Write(onchange);
5406 WriteLiteral(" />\r\n");
5407 WriteLiteral(" <div class=\"modal-container\">\r\n");
5408 if (!settings.DisableDarkOverlay)
5409 {
5410 WriteLiteral(" <label");
5411 BeginWriteAttribute("for", " for=\"", 94941, "\"", 94969, 2);
5412 WriteAttributeValue("", 94947, modalId, 94947, 10, false);
5413 WriteAttributeValue("", 94957, "ModalTrigger", 94957, 12, true);
5414 EndWriteAttribute();
5415 BeginWriteAttribute("id", " id=\"", 94970, "\"", 94997, 2);
5416 WriteAttributeValue("", 94975, modalId, 94975, 10, false);
5417 WriteAttributeValue("", 94985, "ModalOverlay", 94985, 12, true);
5418 EndWriteAttribute();
5419 WriteLiteral(" class=\"modal-overlay\"></label>\r\n");
5420 }
5421 WriteLiteral(" <div");
5422 BeginWriteAttribute("class", " class=\"", 95070, "\"", 95179, 5);
5423 WriteAttributeValue("", 95078, "modal", 95078, 5, true);
5424 WriteAttributeValue(" ", 95083, "modal--", 95084, 8, true);
5425 WriteAttributeValue("", 95091, settings.Width.ToString().ToLower(), 95091, 36, false);
5426 WriteAttributeValue(" ", 95127, "modal-height--", 95128, 15, true);
5427 WriteAttributeValue("", 95142, settings.Height.ToString().ToLower(), 95142, 37, false);
5428 EndWriteAttribute();
5429 BeginWriteAttribute("id", " id=\"", 95180, "\"", 95200, 2);
5430 WriteAttributeValue("", 95185, modalId, 95185, 10, false);
5431 WriteAttributeValue("", 95195, "Modal", 95195, 5, true);
5432 EndWriteAttribute();
5433 WriteLiteral(">\r\n");
5434 if (settings.Heading != null)
5435 {
5436 if (!string.IsNullOrEmpty(settings.Heading.Title))
5437 {
5438 WriteLiteral(" <div class=\"modal__header\">\r\n RenderHeading(settings.Heading);\r\n </div>\r\n");
5439 }
5440 }
5441 WriteLiteral(" <div");
5442 BeginWriteAttribute("class", " class=\"", 95615, "\"", 95710, 2);
5443 WriteAttributeValue("", 95623, "modal__body", 95623, 11, true);
5444 WriteAttributeValue(" ", 95634, settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "", 95635, 75, false);
5445 EndWriteAttribute();
5446 WriteLiteral(">\r\n");
5447 if (!string.IsNullOrEmpty(settings.BodyText))
5448 {
5449 Write(settings.BodyText);
5450
5451 }
5452 if (settings.BodyTemplate != null)
5453 {
5454 Write(settings.BodyTemplate);
5455
5456 }
5457
5458 var actions = settings.GetActions();
5459 WriteLiteral(" </div>\r\n");
5460 if (actions.Length > 0)
5461 {
5462 WriteLiteral(" <div class=\"modal__footer\">\r\n");
5463 foreach (var action in actions)
5464 {
5465 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") {
5466 action.CssClass += " u-no-margin";
5467 } else {
5468 action.CssClass += " u-full-width u-margin-bottom";
5469 }
5470
5471 Render(action);
5472 }
5473 WriteLiteral(" </div>\r\n");
5474 }
5475 WriteLiteral(" <label class=\"modal__close-btn\"");
5476 BeginWriteAttribute("for", " for=\"", 96954, "\"", 96982, 2);
5477 WriteAttributeValue("", 96960, modalId, 96960, 10, false);
5478 WriteAttributeValue("", 96970, "ModalTrigger", 96970, 12, true);
5479 EndWriteAttribute();
5480 WriteLiteral("></label>\r\n </div>\r\n </div>\r\n");
5481 }
5482 }
5483
5484 void RenderMediaListItem(MediaListItem settings)
5485 {
5486 WriteLiteral(" <div");
5487 BeginWriteAttribute("class", " class=\"", 97220, "\"", 97269, 3);
5488 WriteAttributeValue("", 97228, "media-list-item", 97228, 15, true);
5489 WriteAttributeValue(" ", 97243, settings.CssClass, 97244, 18, false);
5490 WriteAttributeValue(" ", 97262, "dw-mod", 97263, 7, true);
5491 EndWriteAttribute();
5492 WriteLiteral(" ");
5493 Write(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "");
5494 WriteLiteral(">\r\n");
5495 if (!string.IsNullOrEmpty(settings.Label))
5496 {
5497 if (!string.IsNullOrEmpty(settings.Link))
5498 {
5499 Render(new Link
5500 {
5501 Href = settings.Link,
5502 CssClass = "media-list-item__sticker dw-mod",
5503 ButtonLayout = ButtonLayout.None,
5504 Title = settings.Label,
5505 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5506 });
5507 }
5508 else if (!string.IsNullOrEmpty(settings.OnClick))
5509 {
5510 WriteLiteral(" <span class=\"media-list-item__sticker dw-mod\"");
5511 BeginWriteAttribute("onclick", " onclick=\"", 98077, "\"", 98106, 1);
5512 WriteAttributeValue("", 98087, settings.OnClick, 98087, 19, false);
5513 EndWriteAttribute();
5514 WriteLiteral(">\r\n <span class=\"u-uppercase\">");
5515 Write(settings.Label);
5516 WriteLiteral("</span>\r\n </span>\r\n");
5517 }
5518 else
5519 {
5520 WriteLiteral(" <span class=\"media-list-item__sticker media-list-item__sticker--no-link dw-mod\">\r\n <span class=\"u-uppercase\">");
5521 Write(settings.Label);
5522 WriteLiteral("</span>\r\n </span>\r\n");
5523 }
5524 }
5525 WriteLiteral(" <div class=\"media-list-item__wrap\">\r\n <div class=\"media-list-item__info dw-mod\">\r\n <div class=\"media-list-item__header dw-mod\">\r\n");
5526 if (!string.IsNullOrEmpty(settings.Title))
5527 {
5528 if (!string.IsNullOrEmpty(settings.Link))
5529 {
5530 Render(new Link
5531 {
5532 Href = settings.Link,
5533 CssClass = "media-list-item__name dw-mod",
5534 ButtonLayout = ButtonLayout.None,
5535 Title = settings.Title,
5536 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5537 });
5538 }
5539 else if (!string.IsNullOrEmpty(settings.OnClick))
5540 {
5541 WriteLiteral(" <span class=\"media-list-item__name dw-mod\"");
5542 BeginWriteAttribute("onclick", " onclick=\"", 99603, "\"", 99632, 1);
5543 WriteAttributeValue("", 99613, settings.OnClick, 99613, 19, false);
5544 EndWriteAttribute();
5545 WriteLiteral(">");
5546 Write(settings.Title);
5547 WriteLiteral("</span>\r\n");
5548 }
5549 else
5550 {
5551 WriteLiteral(" <span class=\"media-list-item__name media-list-item__name--no-link dw-mod\">");
5552 Write(settings.Title);
5553 WriteLiteral("</span>\r\n");
5554 }
5555 }
5556 WriteLiteral("\r\n");
5557 if (!string.IsNullOrEmpty(settings.Status))
5558 {
5559 WriteLiteral(" <div class=\"media-list-item__state dw-mod\">");
5560 Write(settings.Status);
5561 WriteLiteral("</div>\r\n");
5562 }
5563 WriteLiteral(" </div>\r\n");
5564
5565 settings.InfoTable.CssClass += " media-list-item__parameters-table";
5566 WriteLiteral("\r\n Render(settings.InfoTable);\r\n </div>\r\n <div class=\"media-list-item__actions dw-mod\">\r\n <div class=\"media-list-item__actions-list dw-mod\">\r\n");
5567
5568 var actions = settings.GetActions();
5569
5570 foreach (ButtonBase action in actions)
5571 {
5572 action.ButtonLayout = ButtonLayout.None;
5573 action.CssClass += " media-list-item__action link";
5574
5575 Render(action);
5576 }
5577 WriteLiteral(" </div>\r\n\r\n");
5578 if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title))
5579 {
5580 settings.SelectButton.CssClass += " u-no-margin";
5581
5582 WriteLiteral(" <div class=\"media-list-item__action-button\">\r\n Render(settings.SelectButton);\r\n </div>\r\n");
5583 }
5584 WriteLiteral(" </div>\r\n </div>\r\n </div>\r\n");
5585 }
5586
5587 void RenderTable(Table settings)
5588 {
5589 Dictionary<string, string> attributes = new Dictionary<string, string>();
5590 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5591
5592 var enumToClasses = new Dictionary<TableDesign, string>
5593 {
5594 { TableDesign.Clean, "table--clean" },
5595 { TableDesign.Bordered, "table--bordered" },
5596 { TableDesign.Striped, "table--striped" },
5597 { TableDesign.Hover, "table--hover" },
5598 { TableDesign.Compact, "table--compact" },
5599 { TableDesign.Condensed, "table--condensed" },
5600 { TableDesign.NoTopBorder, "table--no-top-border" }
5601 };
5602 string tableDesignClass = "";
5603 if (settings.Design != TableDesign.None)
5604 {
5605 tableDesignClass = enumToClasses[settings.Design];
5606 }
5607
5608 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); }
5609
5610 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5611
5612 WriteLiteral(" <table ");
5613 Write(ComponentMethods.AddAttributes(resultAttributes));
5614 WriteLiteral(">\r\n");
5615 if (settings.Header != null)
5616 {
5617 WriteLiteral(" <thead>\r\n Render(settings.Header);\r\n </thead>\r\n");
5618 }
5619 WriteLiteral(" <tbody>\r\n");
5620 foreach (var row in settings.Rows)
5621 {
5622 Render(row);
5623 }
5624 WriteLiteral(" </tbody>\r\n");
5625 if (settings.Footer != null)
5626 {
5627 WriteLiteral(" <tfoot>\r\n Render(settings.Footer);\r\n </tfoot>\r\n");
5628 }
5629 WriteLiteral(" </table>\r\n");
5630 }
5631
5632 void RenderTableRow(TableRow settings)
5633 {
5634 Dictionary<string, string> attributes = new Dictionary<string, string>();
5635 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5636
5637 var enumToClasses = new Dictionary<TableRowDesign, string>
5638 {
5639 { TableRowDesign.NoBorder, "table__row--no-border" },
5640 { TableRowDesign.Border, "table__row--border" },
5641 { TableRowDesign.TopBorder, "table__row--top-line" },
5642 { TableRowDesign.BottomBorder, "table__row--bottom-line" },
5643 { TableRowDesign.Solid, "table__row--solid" }
5644 };
5645
5646 string tableRowDesignClass = "";
5647 if (settings.Design != TableRowDesign.None)
5648 {
5649 tableRowDesignClass = enumToClasses[settings.Design];
5650 }
5651
5652 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); }
5653
5654 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5655
5656 WriteLiteral(" <tr ");
5657 Write(ComponentMethods.AddAttributes(resultAttributes));
5658 WriteLiteral(">\r\n");
5659 foreach (var cell in settings.Cells)
5660 {
5661 if (settings.IsHeaderRow)
5662 {
5663 cell.IsHeader = true;
5664 }
5665 Render(cell);
5666 }
5667 WriteLiteral(" </tr>\r\n");
5668 }
5669
5670 void RenderTableCell(TableCell settings)
5671 {
5672 Dictionary<string, string> attributes = new Dictionary<string, string>();
5673 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5674 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); }
5675 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); }
5676 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); }
5677
5678 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5679
5680 string tagName = settings.IsHeader ? "th" : "td";
5681
5682 Write("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">");
5683 Write(settings.Content);
5684 Write("</" + tagName + ">");
5685 ;
5686 }
5687
5688 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage");
5689 }
5690 }
5691 #pragma warning restore 1591
5692
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
2 @using System
3 @using System.Globalization;
4 @using System.Text.RegularExpressions;
5 @using Custom.Integration.Brokers;
6 @using RealMaeglerne.Dynamicweb;
7 @using Dynamicweb.Content.Items;
8 @using Dynamicweb.Environment;
9 @using Newtonsoft.Json;
10 @using Dynamicweb.Logging;
11 @using Dynamicweb.Core;
12 @using Dynamicweb.Frontend.Navigation;
13 @using Dynamicweb;
14 @using static RealMaeglerne.Library.Helper;
15
16 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
17 @using Dynamicweb.Content.Items;
18
19 @functions{
20 void RenderErhvervsTypeCheckboxes(string productGroupFilter)
21 {
22 <div class="col-xs-6 col-md-4">
23 <div class="checkbox">
24 <label>
25 <input type="checkbox" name="propertytype" value="bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)" />
26 <span>Bolig/erhverv</span>
27 </label>
28 </div>
29 <div class="checkbox">
30 <label>
31 <input type="checkbox" name="propertytype" value="erhvervsgrund" />
32 <span>Erhvervsgrund</span>
33 </label>
34 </div>
35 <div class="checkbox">
36 <label>
37 <input type="checkbox" name="propertytype" value="boligudlejning" />
38 <span>Boligudlejningsejendom</span>
39 </label>
40 </div>
41 <div class="checkbox">
42 <label>
43 <input type="checkbox" name="propertytype" value="kontor, klinik, kontorhotel, showroom, undervisningslokaler" />
44 <span>Kontor</span>
45 </label>
46 </div>
47 </div>
48 <div class="col-xs-6 col-md-4">
49 <div class="checkbox">
50 <label>
51 <input type="checkbox" name="propertytype" value="butik / detail, butik / detailhandel" />
52 <span>Butik/detailhandel</span>
53 </label>
54 </div>
55 <div class="checkbox">
56 <label>
57 <input type="checkbox" name="propertytype" value="industri / logistik, håndværk, industri, kontor / lager, logistik" />
58 <span>Produktion/lager</span>
59 </label>
60 </div>
61 <div class="checkbox">
62 <label>
63 <input type="checkbox" name="propertytype" value="hotel - kursusejendom, restaurant" />
64 <span>Hotel og restaurant</span>
65 </label>
66 </div>
67 <div class="checkbox">
68 <label>
69 <input type="checkbox" name="propertytype" value="projekt ejendom" />
70 <span>Projektejendom</span>
71 </label>
72 </div>
73 </div>
74 <div class="col-xs-6 col-md-4">
75 <div class="checkbox">
76 <label>
77 <input type="checkbox" name="propertytype" value="andet" />
78 <span>Andet</span>
79 </label>
80 </div>
81 </div>
82
83 <input type="hidden" name="propertycategory" value="erhverv, udlejning" />
84 <input type="hidden" name="filtrering" value="@productGroupFilter" />
85 }
86 void RenderBoligtypeCheckboxes()
87 {
88 <div class="col-6 col-md-4">
89 <div class="checkbox">
90 <label>
91 <input type="checkbox" name="propertytype" value="villa" />
92 <span>Villa</span>
93 </label>
94 </div>
95 <div class="checkbox">
96 <label>
97 <input type="checkbox" name="propertytype" value="rækkehus" />
98 <span>Rækkehus</span>
99 </label>
100 </div>
101 <div class="checkbox">
102 <label>
103 <input type="checkbox" name="propertytype" value="villalejlighed" />
104 <span>Villalejlighed</span>
105 </label>
106 </div>
107 <div class="checkbox">
108 <label>
109 <input type="checkbox" name="propertytype" value="andelsbolig" />
110 <span>Andelsbolig</span>
111 </label>
112 </div>
113 </div>
114 <div class="col-6 col-md-4">
115 <div class="checkbox">
116 <label>
117 <input type="checkbox" name="propertytype" value="fritidshus, fritidsbolig" />
118 <span>Fritidsbolig</span>
119 </label>
120 </div>
121 <div class="checkbox">
122 <label>
123 <input type="checkbox" name="propertytype" value="ejerlejlighed" class="specialOption" data-disable-slider="#grundareal" data-disable-slider-ranges="#grundarealmin,#grundarealmax" />
124 <span>Ejerlejlighed</span>
125 </label>
126 </div>
127 <div class="checkbox">
128 <label>
129 <input type="checkbox" name="propertytype" value="helårsgrund" class="specialOption" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" />
130 <span>Helårsgrund</span>
131 </label>
132 </div>
133 <div class="checkbox">
134 <label>
135 <input type="checkbox" name="propertytype" value="fritidsgrund" class="specialOption" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" />
136 <span>Fritidsgrund</span>
137 </label>
138 </div>
139 </div>
140 <div class="col-6 col-md-4">
141 <div class="checkbox">
142 <label>
143 <input type="checkbox" name="propertytype" value="landejendom, lystejendom" class="specialOption" data-disable-checkbox="true" />
144 <span>Landejendom</span>
145 </label>
146 </div>
147 <div class="checkbox">
148 <label>
149 <input type="checkbox" name="propertytype" value="erhverv" class="specialOption" data-disable-checkbox="true" data-disable-slider="#roomsslider" data-disable-slider-ranges="#roomsmin" />
150 <span>Erhverv</span>
151 </label>
152 </div>
153 </div>
154 }
155
156 void RenderChecked(string queryString)
157 {
158 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString)
159 {
160 @("checked")
161 }
162 }
163
164 void RenderBoligtypeCheckboxesDropdown()
165 {
166 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){
167 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" },
168 { "Andelsbolig", "andelsbolig" }
169 };
170 foreach (KeyValuePair<string, string> type in propertyTypes)
171 {
172 bool ischecked = false;
173 string[] propertytypeSplit = new string[0];
174 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
175 {
176 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
177 }
178 foreach (var propertytypeParams in propertytypeSplit)
179 {
180 if (propertytypeParams == type.Value)
181 {
182 ischecked = true;
183 }
184 }
185 <li>
186 <label class="checkbox-container d-flex">
187 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
188 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue js-datavalue js-count" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
189 <span class="checkmark grey"></span>
190 </label>
191 </li>
192 }
193
194 <li>
195 <label class="checkbox-container d-flex">
196 @Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")
197 @{
198 bool blboligcheck = false;
199 }
200 @if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
201 {
202 blboligcheck = true;
203 }
204 <input type="checkbox" name="propertycategory" value="Blandet Bolig/Erhverv" class="specialOption js-input-check js-datavalue js-count" data-disable-checkbox="true" data-disable-slider="#roomsslider" data-disable-slider-ranges="#roomsmin" checked="@blboligcheck" />
205 <span class="checkmark grey"></span>
206 </label>
207 </li>
208
209 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){
210 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" },
211 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" }
212 };
213 foreach (KeyValuePair<string, string> type in propertyTypes2)
214 {
215 bool ischecked = false;
216 string[] propertytypeSplit2 = new string[0];
217 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
218 {
219 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
220 }
221 foreach (var propertytypeParams in propertytypeSplit2)
222 {
223 if (propertytypeParams == type.Value)
224 {
225 ischecked = true;
226 }
227 }
228 <li>
229 <label class="checkbox-container d-flex">
230 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
231 @if (type.Value == "ejerlejlighed")
232 {
233 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-disable-slider="#grundareal" data-disable-slider-ranges="#grundarealmin,#grundarealmax" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
234 }
235 else if (type.Value == "helårsgrund")
236 {
237 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
238 }
239 else if (type.Value == "fritidsgrund")
240 {
241 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
242 }
243 else
244 {
245 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
246 }
247 <span class="checkmark grey"></span>
248 </label>
249 </li>
250 }
251 }
252
253 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false)
254 {
255 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
256 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" },
257 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" }
258 };
259 var submitonchange = "";
260 if (submitOnChange)
261 {
262 submitonchange = "onchange='submitFilter()'";
263 }
264
265 foreach (KeyValuePair<string, string> type in erhverType)
266 {
267 string ischecked = "";
268 string[] olineParamsSplit = new string[0];
269 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
270 {
271 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
272 }
273 foreach (var olineParams in olineParamsSplit)
274 {
275 if (olineParams == type.Value)
276 {
277 ischecked = "checked";
278 }
279 }
280
281 <li>
282 <label class="checkbox-container d-flex">
283 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
284 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" @submitonchange @ischecked />
285 <span class="checkmark grey"></span>
286 </label>
287 </li>
288 }
289
290
291 bool ischeckedpropertycat = false;
292 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"]))
293 {
294 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
295 {
296 ischeckedpropertycat = true;
297 }
298 }
299 <li>
300 <label class="checkbox-container">
301 @Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")
302 <input type="checkbox" name="propertycategory" value="Blandet Bolig/Erhverv" class="js-input-check datavalue" data-val="Blandet Bolig/Erhverv" onchange="submitFilter()" checked="@ischeckedpropertycat" />
303 <span class="checkmark grey"></span>
304 </label>
305 </li>
306 }
307
308 void RenderBoligTypeErhvervInvest(bool submitOnChange = false)
309 {
310 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
311 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" },
312 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" }
313 };
314
315 foreach (KeyValuePair<string, string> type in erhverType)
316 {
317 bool ischecked = false;
318 string[] olineParamsSplit = new string[0];
319 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
320 {
321 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
322 }
323 foreach (var olineParams in olineParamsSplit)
324 {
325 if (olineParams == type.Value)
326 {
327 ischecked = true;
328 }
329 }
330
331 <li>
332 <label class="checkbox-container">
333 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
334 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
335 <span class="checkmark grey"></span>
336 </label>
337 </li>
338 }
339 }
340 int GetWebsiteSettingsPageId(string pageSysName)
341 {
342 int sideId = 0;
343
344 var pw = Dynamicweb.Frontend.PageView.Current();
345
346 string settingsItemId = "1";
347
348 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true")
349 {
350 settingsItemId = "2";
351 }
352
353 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId);
354
355 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName))
356 {
357 return sideId;
358 }
359
360 string boligsideLink = settingsItem[pageSysName] as String;
361 string linkPrefix = "Default.aspx?ID=";
362
363 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
364 {
365 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
366 }
367
368 return sideId;
369 }
370
371 int GetPageSettingsPageId(string pageSysName)
372 {
373 int sideId = 0;
374
375 var pw = Dynamicweb.Frontend.PageView.Current();
376
377 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName))
378 {
379 return sideId;
380 }
381
382 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String;
383 string linkPrefix = "Default.aspx?ID=";
384
385 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
386 {
387 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
388 }
389
390 return sideId;
391 }
392 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname)
393 {
394 <select class="form-control d-block d-lg-none mb-10 @className" onchange="submitFilter()" name="@inputname">
395 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder." + name + "", "" + name + "")</option>
396
397 @for (var i = 0; i <= max; i += step)
398 {
399 var selected = string.Empty;
400 var current = string.Empty;
401 if (i == max)
402 {
403 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
404 {
405 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")+</option>
406 }
407 else
408 {
409 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")+</option>
410 }
411 }
412 else
413 {
414 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
415 {
416 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")</option>
417 }
418 else
419 {
420 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
421 }
422 }
423 }
424 </select>
425 }
426
427 void RenderTopFilter(string parameter)
428 {
429 if (parameter == "pricemin" || parameter == "pricemax")
430 {
431 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"]))
432 {
433 if (parameter == "pricemin")
434 {
435 @("<div class='search-terms' id='priceFilter'>")
436 @("Pris ") @Dynamicweb.Context.Current.Request[parameter]
437 }
438
439 else
440 {
441 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="pricemin,pricemax"></i>
442 @("</div>")
443 }
444 }
445 }
446
447 else if (parameter == "subsidymin" || parameter == "subsidymax")
448 {
449 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"]))
450 {
451 if (parameter == "subsidymin")
452 {
453 @("<div class='search-terms' id='subsidyFilter'>")
454 @("Årlig leje ") @Dynamicweb.Context.Current.Request[parameter]
455 }
456
457 else
458 {
459 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidymin,subsidymax"></i>
460 @("</div>")
461 }
462 }
463 }
464 else if (parameter == "etagearealmin" || parameter == "etagearealmax")
465 {
466 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"]))
467 {
468 if (parameter == "etagearealmin")
469 {
470 @("<div class='search-terms' id='etagearealFilter'>")
471 @("Etageareal ") @Dynamicweb.Context.Current.Request[parameter]
472 }
473
474 else
475 {
476 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="etagearealmin,etagearealmax"></i>
477 @("</div>")
478 }
479 }
480 }
481
482 else if (parameter == "grundarealmin" || parameter == "grundarealmax")
483 {
484 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"]))
485 {
486 if (parameter == "grundarealmin")
487 {
488 @("<div class='search-terms' id='grundarealFilter'>")
489 @("Grundareal ") @Dynamicweb.Context.Current.Request[parameter]
490 }
491
492 else
493 {
494 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="grundarealmin,grundarealmax"></i>
495 @("</div>")
496 }
497 }
498 }
499
500 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax")
501 {
502 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"]))
503 {
504 if (parameter == "subsidykvmmin")
505 {
506 @("<div class='search-terms' id='subsidykvmFilter'>")
507 @("Årlig leje kvm ") @Dynamicweb.Context.Current.Request[parameter]
508 }
509
510 else
511 {
512 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidykvmmin,subsidykvmmax"></i>
513 @("</div>")
514 }
515 }
516 }
517
518 else if (parameter == "olinecategory")
519 {
520
521 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"]))
522 {
523 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
524 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" },
525 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"},
526 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" },
527 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" }
528 };
529
530
531 foreach (var er in erhverType)
532 {
533 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
534 {
535 <div class="search-terms" id="@parameter">
536 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
537 </div>
538 }
539 }
540 }
541 }
542 else if (parameter == "propertycategory")
543 {
544
545 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"]))
546 {
547 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
548 { "propertycategory", "Blandet Bolig/Erhverv" }
549 };
550
551 foreach (var er in erhverType)
552 {
553 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value)
554 {
555 <div class="search-terms" id="@parameter">
556 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
557 </div>
558 }
559 }
560 }
561 }
562 else if (parameter == "search")
563 {
564 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"]))
565 {
566 <div class="search-terms" id="@parameter">
567 @Dynamicweb.Context.Current.Request[parameter] <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter"></i>
568 </div>
569 }
570 }
571 else
572 {
573 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]))
574 {
575 Dictionary<string, string>
576 ubudsform = new Dictionary<string, string>
577 (){
578 {"salg", "Salg" }, { "leje","Leje" }
579 };
580
581 foreach (var er in ubudsform)
582 {
583 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
584 {
585 <div class="search-terms" id="@parameter">
586 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
587 </div>
588 }
589 }
590
591
592 }
593 }
594 }
595
596 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString)
597 {
598 var selected = "";
599 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue)
600 {
601 selected = "selected";
602 }
603
604 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected);
605
606 @current
607 }
608
609 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "")
610 {
611 <div class="main-search-form frontpage @cssClasses">
612 <div class="dropdown-overlay"></div>
613 <div class="row mb-3 align-items-center">
614 <div class="col-xs-12 col-md-3 border-right">
615 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
616 </div>
617 <div class="col-xs-12 col-md-9 home-count d-none d-md-block">
618 <span class="search-count" id="searchCounter">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span>
619 </div>
620 </div>
621
622 <form id="main-search-frontpage" class="searchbar-wrapper" action="/Default.aspx" method="GET">
623 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId-frontpage" disabled="disabled" />
624 <div class="row form-wrapper no-gutters">
625
626 <div class="col-xs-12 col-md-5 col-searchbar">
627 <div class="searchbar">
628 <input type="text" name="@querySearchNameAttr" id="searchfield-frontpage" class="search-input" placeholder="Postnummer, by, vej eller sagsnummer" tabindex="1" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch)" />
629 <input type="hidden" id="zipcodefrom-frontpage" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" />
630 <input type="hidden" id="zipcodeto-frontpage" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" />
631 </div>
632 </div>
633 <div class="col-xs-12 col-md-5">
634 <div class="row no-gutters">
635 <div class="col-xs-12 col-md-6 input-col">
636 <div class="dropdown w-overlay">
637 <button class="btn btn-dropdown dropdown-toggle reverse position-absolute-md" type="button" id="Boligtype-frontpage" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
638 @Translate("Smartpage:Search.Boligtype", "Boligtype")
639 </button>
640 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
641 <ul class="bolig-dropdown list-unstyled">
642 @{
643 RenderBoligtypeCheckboxesDropdown();
644 }
645 </ul>
646 <span class="border-fat"></span>
647 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
648 </div>
649
650 </div>
651
652 </div>
653 <div class="col-xs-12 col-md-6 input-col">
654 <div class="dropdown w-overlay">
655 <button class="btn btn-dropdown dropdown-toggle reverse position-absolute-md" type="button" id="Pris-frontpage" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
656 @Translate("Smartpage:Search.Pris", "Pris")
657 </button>
658 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris">
659 <input type="text" class="form-control mb-10 js-auto-thousand js-pricemin-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MinPris","Min. pris")' />
660 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
661 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
662 @for (var i = 0; i <= 10000000; i += 100000)
663 {
664 if (i == 10000000)
665 {
666 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
667 }
668 else
669 {
670 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
671 }
672 }
673 </select>
674 <input type="hidden" id="pricemin-frontpage" name="pricemin" />
675
676 <input type="text" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris")' />
677 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
678 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
679 @for (var i = 0; i <= 10000000; i += 100000)
680 {
681 if (i == 10000000)
682 {
683 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
684 }
685 else
686 {
687 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
688 }
689 }
690 </select>
691 <input type="hidden" id="pricemax-frontpage" name="pricemax" />
692 <button class="btn btn-primary js-close-dropdown mt-3">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
693 </div>
694 </div>
695 </div>
696 </div>
697 </div>
698 <div class="col-xs-12 col-md-2 d-none d-md-block">
699 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
700 </div>
701 </div>
702
703 <div class="row moresearch-btn no-gutters">
704 <div class="col-sm-12">
705 <div class="row align-items-center no-gutters">
706 <div class="col-12 col-md-4">
707 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch" aria-expanded="false" aria-controls="moreSearch">
708 <span class="moreSearch-text"><i class="fas fa-plus open-close"></i> <span class="not-open">@Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")</span> <span class="open"><span class="js-filter-count">0</span> @Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt") </span></span>
709 </button>
710 </div>
711 <div class="col-6 col-md-2 mb-xs-4">
712 <a class="js-reset reset-btn">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
713 </div>
714 </div>
715
716 <div class="collapse" id="moreSearch">
717 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
718 <div class="row align-items-end mb-30">
719 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
720 <div class="filter-container row">
721 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
722 <div class="col-6 pr-sm-0 pr-2">
723 <input type="text" name="boligarealmin" id="boligarealmin-frontpage" class="form-control js-boligarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2","Min. m2")' />
724 <select class="form-control js-boligarealmin-frontpage-select js-count">
725 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
726 @for (var i = 0; i <= 300; i += 10)
727 {
728 if (i == 300)
729 {
730 <option value="@i">@i+</option>
731 }
732 else
733 {
734 <option value="@i">@i</option>
735 }
736 }
737 </select>
738 </div>
739 <div class="col-6 pl-sm-0 pl-2">
740 <input type="text" name="boligarealmax" id="boligarealmax-frontpage" class="form-control js-boligarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2")' />
741 <select class="form-control js-boligarealmax-frontpage-select js-count">
742 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
743 @for (var i = 0; i <= 300; i += 10)
744 {
745 if (i == 300)
746 {
747 <option value="@i">@i+</option>
748 }
749 else
750 {
751 <option value="@i">@i</option>
752 }
753 }
754 </select>
755 </div>
756 </div>
757 </div>
758 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
759 <div class="filter-container row">
760 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
761 <div class="col-6 pr-sm-0 pr-2">
762 <input type="text" name="grundarealmin" id="grundarealmin-frontpage" class="form-control js-grundarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2","Min. m2")' />
763 <select class="form-control js-grundarealmin-frontpage-select js-count">
764 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
765 @for (var i = 0; i <= 10000; i += 100)
766 {
767 if (i == 10000)
768 {
769 <option value="@i">@i+</option>
770 }
771 else
772 {
773 <option value="@i">@i</option>
774 }
775 }
776 </select>
777 </div>
778 <div class="col-6 pl-sm-0 pl-2">
779 <input type="text" name="grundarealmax" id="grundarealmax-frontpage" class="form-control js-grundarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2")' />
780 <select class="form-control js-grundarealmax-frontpage-select js-count">
781 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
782 @for (var i = 0; i <= 10000; i += 100)
783 {
784 if (i == 10000)
785 {
786 <option value="@i">@i+</option>
787 }
788 else
789 {
790 <option value="@i">@i</option>
791 }
792 }
793 </select>
794 </div>
795 </div>
796 </div>
797 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
798 <div class="filter-container row">
799 <label class="d-block col-12">Antal rum</label>
800
801 <div class="col-6 pr-sm-0 pr-2">
802 <select name="roomsmin" id="roomsmin-frontpage" class="form-control reverse js-count">
803 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
804 <option value="1">1</option>
805 <option value="2">2</option>
806 <option value="3">3</option>
807 <option value="4">4</option>
808 <option value="5+">5+</option>
809 </select>
810 </div>
811 <div class="col-6 pl-sm-0 pl-2">
812 <select name="roomsmax" id="roomsmax-frontpage" class="form-control reverse js-count">
813 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
814 <option value="1">1</option>
815 <option value="2">2</option>
816 <option value="3">3</option>
817 <option value="4">4</option>
818 <option value="5+">@Translate("Smartpage:Rooms.5", "5")</option>
819 </select>
820 </div>
821 </div>
822 </div>
823 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
824 <div class="row">
825 <div class="col-12">
826 <div class="filter-container">
827 <label class="d-block">Energimærke</label>
828 <select name="energylabel" id="energylabel-frontpage" class="form-control reverse js-count">
829 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
830 <option value="01">G</option>
831 <option value="02">F</option>
832 <option value="03">E</option>
833 <option value="04">D</option>
834 <option value="05">C</option>
835 <option value="06">B</option>
836 <option value="07">A</option>
837 <option value="08">A2010</option>
838 <option value="09">A2015</option>
839 <option value="10">A2020+</option>
840 </select>
841 </div>
842 </div>
843 </div>
844 </div>
845 <div class="col-12 col-sm-6 col-lg-3 mt-3">
846 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
847 <div class="filter-container row">
848 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
849 <div class="col-6 pr-sm-0 pr-2">
850 <input type="text" name="subsidymin" id="subsidymin-frontpage" class="form-control js-subsidymin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK")' />
851 <select class="form-control js-subsidymin-frontpage-select js-count">
852 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
853 @for (var i = 0; i <= 25000; i += 1250)
854 {
855 if (i == 25000)
856 {
857 <option>@Convert.ToInt32(i).ToString("N0")+</option>
858 }
859 else
860 {
861 <option>@Convert.ToInt32(i).ToString("N0")</option>
862 }
863 }
864 </select>
865 </div>
866 <div class="col-6 pl-sm-0 pl-2">
867 <input type="text" name="subsidymax" id="subsidymax-frontpage" class="form-control js-subsidymax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK")' />
868 <select class="form-control js-subsidymax-frontpage-select js-count">
869 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
870 @for (var i = 0; i <= 25000; i += 1250)
871 {
872 if (i == 25000)
873 {
874 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
875 }
876 else
877 {
878 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
879 }
880 }
881 </select>
882 </div>
883 </div>
884 </div>
885 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0">
886 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
887 </div>
888 </div>
889 </div>
890 </div>
891 </div>
892
893 <div class="row d-block d-md-none form-wrapper no-gutters">
894 <div class="col-xs-12 col-md-2">
895 <button type="submit" class="btn btn-block btn-search btn-mobile-search">@Translate("Smartpage:Search.SøgBolig", "Søg Bolig")<i class="fa fa-search cta-icon"></i></button>
896 </div>
897 </div>
898 </form>
899 <div class="front-page-actions d-md-none">
900 <div>
901 <button class="btn btn-block btn-search btn-mobile-search js-search-mobile">@Translate("Smartpage:Search.SøgBolig", "Søg Bolig")<i class="fa fa-search cta-icon"></i></button>
902 </div>
903 <div>
904 @{
905 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : "";
906 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER");
907 <form method="GET" action="/Default.aspx">
908 <input name="id" value="@brokerSearchId" type="hidden" />
909 <div class="icon-wrapper-wclick">
910 <i class="fas fa-search ta-submit-on-icon-click"></i>
911 <input class="box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter" name="q" type="text" placeholder="@ctaText" onfocus="this.placeholder = ''" onblur="this.placeholder='@ctaText'" />
912 </div>
913 </form>
914 }
915 </div>
916 <div>
917 <a href="javascript:panelSalgsvurdering('Hovedmenu')" class="btn btn-orange btn-block">@Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING")<i class="cta-icon fa fa-angle-right"></i></a>
918 </div>
919 </div>
920 </div>
921
922 }
923 Custom.Integration.Brokers.Models.BrokerEmployee GetBrokerFromCurrentProduct()
924 {
925 string productId = Dynamicweb.Context.Current.Request["ProductId"];
926
927 if (string.IsNullOrWhiteSpace(productId))
928 {
929 return null;
930 }
931
932 var propertyProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, string.Empty, true);
933 if (propertyProduct == null)
934 {
935 return null;
936 }
937
938 string employee = Dynamicweb.Core.Converter.ToString(
939 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xAktoererMaeglerKontaktEmail")
940 );
941 string storeId = Dynamicweb.Core.Converter.ToString(
942 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xButikID")
943 );
944
945 if (string.IsNullOrWhiteSpace(employee) || string.IsNullOrWhiteSpace(storeId))
946 {
947 return null;
948 }
949
950 return Custom.Integration.Brokers.Search.GetEmployee(storeId, employee);
951 }
952
953 string GetAgentTitleFromCurrentProduct()
954 {
955 var propBroker = GetBrokerFromCurrentProduct();
956
957 if (propBroker?.Broker == null)
958 {
959 return string.Empty;
960 }
961
962 if (!string.IsNullOrEmpty(propBroker.Broker.CompanyName))
963 {
964 return propBroker.Broker.CompanyName;
965 }
966
967 return propBroker.Broker.Name ?? string.Empty;
968 }
969
970 string GetMasterBrokerUrlFromCurrentProduct()
971 {
972 var propBroker = GetBrokerFromCurrentProduct();
973
974 var itemId = propBroker?.Broker?.ItemId;
975 var itemType = propBroker?.Broker?.ItemType;
976
977 if (string.IsNullOrWhiteSpace(itemId) || string.IsNullOrWhiteSpace(itemType))
978 {
979 return string.Empty;
980 }
981 var brokerItem = Dynamicweb.Content.Items.ItemManager.Storage.GetById(itemType, itemId);
982
983 if (brokerItem == null)
984 {
985 return string.Empty;
986 }
987
988 var websiteId = Dynamicweb.Core.Converter.ToInt32(brokerItem["WebsiteId"]);
989 var page = Dynamicweb.Content.Services.Pages.GetFirstPageForArea(websiteId);
990 return Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("Default.aspx?Id=" + page?.ID);
991 }
992 }
993 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel>
994 @using Dynamicweb.Frontend.Navigation
995 @using Dynamicweb.Core
996 @using Dynamicweb.Core.Encoders
997 @using Dynamicweb
998
999 @functions {
1000 void RenderSlideMenu(bool erhverv, string maeglersoegning)
1001 {
1002 <div id="menu"
1003 class="main-menu-slide "
1004 role="navigation"
1005 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.MainMenu", "Hovedmenu"))"
1006 aria-modal="true">
1007 <div class="container">
1008 <div class="row">
1009 <div class="col-12">
1010 <span class="menu-headline">MENU</span>
1011 </div>
1012 <div class="menu-slide"
1013 role="button"
1014 tabindex="0"
1015 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.CloseMenu", "Luk menu"))">
1016 <b aria-hidden="true"></b>
1017 </div>
1018 <div class="col-12 main-slidemenu" role="region" aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.NavigationLinks", "Navigationslinks"))">
1019 @{
1020 var navigationSettings = new NavigationSettings();
1021 navigationSettings.StartLevel = 1;
1022 navigationSettings.StopLevel = 2;
1023 navigationSettings.ExpandMode = ExpandMode.All;
1024 navigationSettings.RootAreaId = Pageview.Area.ID;
1025
1026 @Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings)
1027 }
1028 </div>
1029 <div class="col-12 bottom-btns">
1030
1031 @{
1032 string[] maeglerid;
1033 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0";
1034
1035 if (erhverv)
1036 {
1037 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None);
1038 }
1039 else
1040 {
1041 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None);
1042 }
1043
1044 <form method="GET" action="/Default.aspx" role="search">
1045 <input name="id" value="@maeglerid[1]" type="hidden" />
1046 <div class="icon-wrapper-wclick">
1047 <label for="broker-search-menu-vm" class="sr-only">@Translate("Custom:Accessibility.FindBroker", "Find mægler")</label>
1048 <i class="fas fa-search ta-submit-on-icon-click"
1049 aria-hidden="true"
1050 role="button"
1051 tabindex="0"
1052 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.SearchBroker", "Søg efter mægler"))"></i>
1053 <input id="broker-search-menu-vm"
1054 class="box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"
1055 name="q"
1056 type="text"
1057 placeholder="@HtmlEncoder.HtmlAttributeEncode(Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER"))"
1058 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.BrokerSearchField", "Indtast postnummer eller navn for at finde mægler"))"
1059 onfocus="this.placeholder = 'FIND MÆGLER'" />
1060 </div>
1061 </form>
1062 }
1063 <br />
1064 @{
1065 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + "";
1066 }
1067 <a href="javascript:panelSalgsvurdering('@dpmaegler','@Pageview.AreaID');"
1068 class="btn btn-block btn-default-invert js-close-menu"
1069 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.FreeSalesAssessment", "Få gratis salgsvurdering"))">Gratis salgsvurdering <i class="cta-icon fa fa-angle-right" aria-hidden="true"></i></a>
1070 </div>
1071 </div>
1072 </div>
1073 </div>
1074 }
1075 }
1076 @using System.Text.RegularExpressions
1077 @using System.Collections.Generic
1078 @using System.Reflection
1079 @using Dynamicweb.Rapido.Blocks.Components
1080 @using Dynamicweb.Rapido.Blocks.Components.Articles
1081 @using Dynamicweb.Rapido.Blocks.Components.Documentation
1082 @using Dynamicweb.Rapido.Blocks
1083 @using Dynamicweb;
1084
1085 @functions {
1086 void RenderBlockList(List<Block> blocks)
1087 {
1088 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
1089 blocks = blocks.OrderBy(item => item.SortId).ToList();
1090
1091 foreach (Block item in blocks)
1092 {
1093 if (debug) {
1094 <!-- Block START: @item.Id -->
1095 }
1096
1097 if (item.Design == null)
1098 {
1099 RenderBlock(item);
1100 }
1101 else if (item.Design.RenderType == RenderType.None) {
1102 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
1103
1104 <div class="@cssClass dw-mod">
1105 RenderBlock(item);
1106 </div>
1107 }
1108 else if (item.Design.RenderType != RenderType.Hide)
1109 {
1110 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
1111
1112 if (!item.SkipRenderBlocksList) {
1113 if (item.Design.RenderType == RenderType.Row)
1114 {
1115 <div class="grid grid--align-content-start @cssClass dw-mod" id="Block__@item.Id">
1116 RenderBlock(item);
1117 </div>
1118 }
1119
1120 if (item.Design.RenderType == RenderType.Column)
1121 {
1122 string hidePadding = item.Design.HidePadding ? "u-no-padding" : "";
1123 string size = item.Design.Size ?? "12";
1124 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size;
1125
1126 <div class="grid__col-lg-@item.Design.Size grid__col-md-@item.Design.Size grid__col-sm-12 grid__col-xs-12 @hidePadding @cssClass dw-mod" id="Block__@item.Id">
1127 RenderBlock(item);
1128 </div>
1129 }
1130
1131 if (item.Design.RenderType == RenderType.Table)
1132 {
1133 <table class="table @cssClass dw-mod" id="Block__@item.Id">
1134 RenderBlock(item);
1135 </table>
1136 }
1137
1138 if (item.Design.RenderType == RenderType.TableRow)
1139 {
1140 <tr class="@cssClass dw-mod" id="Block__@item.Id">
1141 RenderBlock(item);
1142 </tr>
1143 }
1144
1145 if (item.Design.RenderType == RenderType.TableColumn)
1146 {
1147 <td class="@cssClass dw-mod" id="Block__@item.Id">
1148 RenderBlock(item);
1149 </td>
1150 }
1151
1152 if (item.Design.RenderType == RenderType.CardHeader)
1153 {
1154 <div class="card-header @cssClass dw-mod">
1155 RenderBlock(item);
1156 </div>
1157 }
1158
1159 if (item.Design.RenderType == RenderType.CardBody)
1160 {
1161 <div class="card @cssClass dw-mod">
1162 RenderBlock(item);
1163 </div>
1164 }
1165
1166 if (item.Design.RenderType == RenderType.CardFooter)
1167 {
1168 <div class="card-footer @cssClass dw-mod">
1169 RenderBlock(item);
1170 </div>
1171 }
1172 }
1173 else
1174 {
1175 RenderBlock(item);
1176 }
1177 }
1178
1179 if (debug) {
1180 <!-- Block END: @item.Id -->
1181 }
1182 }
1183 }
1184
1185 void RenderBlock(Block item)
1186 {
1187 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
1188
1189 if (item.Template != null)
1190 {
1191 @BlocksPage.RenderTemplate(item.Template)
1192 }
1193
1194 if (item.Component != null)
1195 {
1196 string customSufix = "Custom";
1197 string methodName = item.Component.HelperName;
1198
1199 ComponentBase[] methodParameters = new ComponentBase[1];
1200 methodParameters[0] = item.Component;
1201 Type methodType = this.GetType();
1202
1203 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix);
1204 MethodInfo generalMethod = methodType.GetMethod(methodName);
1205
1206 try {
1207 if (debug) {
1208 <!-- Component: @methodName.Replace("Render", "") -->
1209 }
1210 @customMethod.Invoke(this, methodParameters).ToString();
1211 } catch {
1212 try {
1213 @generalMethod.Invoke(this, methodParameters).ToString()
1214 ;
1215 } catch(Exception ex) {
1216 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex);
1217 }
1218 }
1219 }
1220
1221 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList)
1222 {
1223 RenderBlockList(item.BlocksList);
1224 }
1225 }
1226 }
1227
1228
1229
1230 @* Include the components *@
1231 @using Dynamicweb.Rapido.Blocks.Components
1232 @using Dynamicweb.Rapido.Blocks.Components.General
1233 @using Dynamicweb.Rapido.Blocks
1234 @using System.IO
1235
1236 @* Required *@
1237 @using Dynamicweb.Rapido.Blocks.Components
1238 @using Dynamicweb.Rapido.Blocks.Components.General
1239 @using Dynamicweb.Rapido.Blocks
1240
1241 @functions {
1242 void Render(ComponentBase component)
1243 {
1244 if (component != null)
1245 {
1246 @component.Render(this)
1247 }
1248 }
1249 }
1250
1251 @* Components *@
1252 @using System.Reflection
1253 @using Dynamicweb.Rapido.Blocks.Components.General
1254
1255 @* Component *@
1256
1257 @functions {
1258 void RenderIcon(Icon settings)
1259 {
1260 if (settings != null)
1261 {
1262 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
1263
1264 if (settings.Name != null)
1265 {
1266 if (string.IsNullOrEmpty(settings.Label))
1267 {
1268 <i class="@settings.Prefix @settings.Name @settings.CssClass" @color></i>
1269 }
1270 else
1271 {
1272 if (settings.LabelPosition == IconLabelPosition.Before)
1273 {
1274 <div class="u-flex u-flex--align-items-center @settings.CssClass">@settings.Label <i class="@settings.Prefix @settings.Name u-margin-left" @color></i></div>
1275 }
1276 else
1277 {
1278 <div class="u-flex u-flex--align-items-center @settings.CssClass"><i class="@settings.Prefix @settings.Name u-margin-right--lg u-w20px" @color></i>@settings.Label</div>
1279 }
1280 }
1281 }
1282 else if (!string.IsNullOrEmpty(settings.Label))
1283 {
1284 @settings.Label
1285 }
1286 }
1287 }
1288 }
1289
1290 @using System.Reflection
1291 @using Dynamicweb.Rapido.Blocks.Components.General
1292 @using Dynamicweb.Rapido.Blocks.Components
1293 @using Dynamicweb.Core
1294 @using System.Text.RegularExpressions
1295
1296 @* Component *@
1297
1298 @functions {
1299 void RenderButton(Button settings)
1300 {
1301 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
1302 {
1303 Dictionary<string, string> attributes = new Dictionary<string, string>();
1304 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
1305 if (settings.Disabled) {
1306 attributes.Add("disabled", "true");
1307 classList.Add("disabled");
1308 }
1309
1310 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle))
1311 {
1312 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
1313 RenderConfirmDialog(settings);
1314 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true";
1315 }
1316
1317 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1318 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1319 if (!string.IsNullOrEmpty(settings.AltText))
1320 {
1321 attributes.Add("title", settings.AltText);
1322 }
1323 else if (!string.IsNullOrEmpty(settings.Title))
1324 {
1325 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty);
1326 cleanTitle = cleanTitle.Replace(" ", " ");
1327 attributes.Add("title", cleanTitle);
1328 }
1329
1330 var onClickEvents = new List<string>();
1331 if (!string.IsNullOrEmpty(settings.OnClick))
1332 {
1333 onClickEvents.Add(settings.OnClick);
1334 }
1335 if (!string.IsNullOrEmpty(settings.Href))
1336 {
1337 if (settings.Href.Contains("javascript"))
1338 {
1339 settings.Href = settings.Href.Replace("http://", "");
1340 }
1341 onClickEvents.Add("location.href='" + settings.Href + "'");
1342 }
1343 if (onClickEvents.Count > 0)
1344 {
1345 attributes.Add("onClick", string.Join(";", onClickEvents));
1346 }
1347
1348 if (settings.ButtonLayout != ButtonLayout.None)
1349 {
1350 classList.Add("btn");
1351 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
1352 if (btnLayout == "linkclean")
1353 {
1354 btnLayout = "link-clean"; //fix
1355 }
1356 classList.Add("btn--" + btnLayout);
1357 }
1358
1359 if (settings.Icon == null)
1360 {
1361 settings.Icon = new Icon();
1362 }
1363
1364 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : "";
1365 settings.Icon.Label = settings.Title;
1366
1367 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower());
1368
1369 <button class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>@{RenderIcon(settings.Icon);}</button>
1370 }
1371 }
1372
1373 void RenderConfirmDialog(Button settings)
1374 {
1375 Modal confirmDialog = new Modal {
1376 Id = settings.Id,
1377 Width = ModalWidth.Sm,
1378 Heading = new Heading
1379 {
1380 Level = 2,
1381 Title = settings.ConfirmTitle
1382 },
1383 BodyText = settings.ConfirmText
1384 };
1385
1386 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"});
1387 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick });
1388
1389 RenderModal(confirmDialog);
1390 }
1391 }
1392 @using System.Reflection
1393 @using Dynamicweb.Rapido.Blocks.Components.General
1394 @using Dynamicweb.Rapido.Blocks.Components
1395 @using Dynamicweb.Core
1396
1397 @* Component *@
1398
1399 @functions{
1400 void RenderLink(Link settings)
1401 {
1402 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
1403 {
1404 Dictionary<string, string> attributes = new Dictionary<string, string>();
1405 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
1406 if (settings.Disabled)
1407 {
1408 attributes.Add("disabled", "true");
1409 classList.Add("disabled");
1410 }
1411
1412 if (!string.IsNullOrEmpty(settings.AltText))
1413 {
1414 attributes.Add("title", settings.AltText);
1415 }
1416 else if (!string.IsNullOrEmpty(settings.Title))
1417 {
1418 attributes.Add("title", settings.Title);
1419 }
1420
1421 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1422 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1423 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); }
1424 attributes.Add("href", settings.Href);
1425
1426 if (settings.ButtonLayout != ButtonLayout.None)
1427 {
1428 classList.Add("btn");
1429 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
1430 if (btnLayout == "linkclean")
1431 {
1432 btnLayout = "link-clean"; //fix
1433 }
1434 classList.Add("btn--" + btnLayout);
1435 }
1436
1437 if (settings.Icon == null)
1438 {
1439 settings.Icon = new Icon();
1440 }
1441 settings.Icon.Label = settings.Title;
1442
1443 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None)
1444 {
1445 settings.Rel = LinkRelType.Noopener;
1446 }
1447 if (settings.Target != LinkTargetType.None)
1448 {
1449 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower());
1450 }
1451 if (settings.Download)
1452 {
1453 attributes.Add("download", "true");
1454 }
1455 if (settings.Rel != LinkRelType.None)
1456 {
1457 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower());
1458 }
1459
1460 <a class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>Render(settings.Icon);</a>
1461 }
1462 }
1463 }
1464
1465 @using System.Reflection
1466 @using Dynamicweb.Rapido.Blocks.Components
1467 @using Dynamicweb.Rapido.Blocks.Components.General
1468 @using Dynamicweb.Rapido.Blocks
1469
1470 @* Component *@
1471
1472 @functions{
1473 void RenderRating(Rating settings)
1474 {
1475 if (settings.Score > 0)
1476 {
1477 int rating = settings.Score;
1478 string iconType = "fa-star";
1479
1480 switch (settings.Type.ToString()) {
1481 case "Stars":
1482 iconType = "fa-star";
1483 break;
1484 case "Hearts":
1485 iconType = "fa-heart";
1486 break;
1487 case "Lemons":
1488 iconType = "fa-lemon";
1489 break;
1490 case "Bombs":
1491 iconType = "fa-bomb";
1492 break;
1493 }
1494
1495 <div class="u-ta-right">
1496 @for (int i = 0; i < settings.OutOf; i++)
1497 {
1498 <i class="@(rating > i ? "fas" : "far") @iconType"></i>
1499 }
1500 </div>
1501 }
1502 }
1503 }
1504 @using System.Reflection
1505 @using Dynamicweb.Rapido.Blocks.Components.General
1506 @using Dynamicweb.Rapido.Blocks.Components
1507
1508
1509 @* Component *@
1510
1511 @functions{
1512 void RenderNavigation(Navigation settings) {
1513 RenderNavigation(new
1514 {
1515 id = settings.Id,
1516 cssclass = settings.CssClass,
1517 startLevel = settings.StartLevel,
1518 endlevel = settings.EndLevel,
1519 expandmode = settings.Expandmode,
1520 sitemapmode = settings.SitemapMode,
1521 template = settings.Template
1522 });
1523 }
1524 }
1525
1526 @using Dynamicweb.Rapido.Blocks.Components.General
1527 @using Dynamicweb.Rapido.Blocks.Components
1528
1529 @* Component *@
1530
1531 @functions {
1532 void RenderLeftNavigation(LeftNavigation settings) {
1533 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id;
1534 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template;
1535 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel;
1536 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel;
1537 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode;
1538
1539 <div class="grid__cell">
1540 RenderNavigation(settings);
1541 </div>
1542 }
1543 }
1544
1545 @using System.Reflection
1546 @using Dynamicweb.Rapido.Blocks.Components.General
1547 @using Dynamicweb.Core
1548
1549 @* Component *@
1550
1551 @functions {
1552 void RenderHeading(Heading settings)
1553 {
1554 if (settings != null && !string.IsNullOrEmpty(settings.Title))
1555 {
1556 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
1557 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div";
1558
1559 @("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">")
1560 if (!string.IsNullOrEmpty(settings.Link))
1561 {
1562 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None });
1563 }
1564 else
1565 {
1566 if (settings.Icon == null)
1567 {
1568 settings.Icon = new Icon();
1569 }
1570 settings.Icon.Label = settings.Title;
1571 RenderIcon(settings.Icon);
1572 }
1573 @("</" + tagName + ">");
1574 }
1575 }
1576 }
1577
1578 @using Dynamicweb.Rapido.Blocks.Components
1579 @using Dynamicweb.Rapido.Blocks.Components.General
1580 @using Dynamicweb.Rapido.Blocks
1581 @using Dynamicweb.Frontend
1582
1583 @* Component *@
1584
1585 @functions {
1586 void RenderImage(Image settings)
1587 {
1588 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None)
1589 {
1590 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
1591 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); }
1592
1593 if (settings.Caption != null)
1594 {
1595 @:<div>
1596 }
1597
1598 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower();
1599 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower();
1600
1601 <div class="image-filter image-filter--@primaryFilterClass u-position-relative dw-mod" @ComponentMethods.AddAttributes(optionalAttributes)>
1602 <div class="image-filter image-filter--@secondaryFilterClass dw-mod">
1603 @if (settings.Link != null)
1604 {
1605 <a href="@settings.Link">
1606 RenderTheImage(settings);
1607 </a>
1608 }
1609 else
1610 {
1611 RenderTheImage(settings);
1612 }
1613 </div>
1614 </div>
1615
1616 if (settings.Caption != null)
1617 {
1618 <span class="image-caption dw-mod">@settings.Caption</span>
1619 @:</div>
1620 }
1621 }
1622 else
1623 {
1624 if (settings.Caption != null)
1625 {
1626 @:<div>
1627 }
1628 if (!string.IsNullOrEmpty(settings.Link))
1629 {
1630 <a href="@settings.Link">
1631 RenderTheImage(settings);
1632 </a>
1633 }
1634 else
1635 {
1636 RenderTheImage(settings);
1637 }
1638
1639 if (settings.Caption != null)
1640 {
1641 <span class="image-caption dw-mod">@settings.Caption</span>
1642 @:</div>
1643 }
1644 }
1645 }
1646
1647 void RenderTheImage(Image settings)
1648 {
1649 if (settings != null)
1650 {
1651 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg";
1652 string placeholderImage = "/Files/Images/placeholder.gif";
1653 string imageEngine = "/Admin/Public/GetImage.ashx?";
1654
1655 string imageStyle = "";
1656
1657 switch (settings.Style)
1658 {
1659 case ImageStyle.Ball:
1660 imageStyle = "grid__cell-img--ball";
1661 break;
1662
1663 case ImageStyle.Triangle:
1664 imageStyle = "grid__cell-img--triangle";
1665 break;
1666 }
1667
1668 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle)
1669 {
1670 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop;
1671
1672 if (settings.ImageDefault != null)
1673 {
1674 settings.ImageDefault.Height = settings.ImageDefault.Width;
1675 }
1676 if (settings.ImageMedium != null)
1677 {
1678 settings.ImageMedium.Height = settings.ImageMedium.Width;
1679 }
1680 if (settings.ImageSmall != null)
1681 {
1682 settings.ImageSmall.Height = settings.ImageSmall.Width;
1683 }
1684 }
1685
1686 string defaultImage = imageEngine;
1687 string imageSmall = "";
1688 string imageMedium = "";
1689
1690 if (settings.DisableImageEngine)
1691 {
1692 defaultImage = settings.Path;
1693 }
1694 else
1695 {
1696 if (settings.ImageDefault != null)
1697 {
1698 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault);
1699
1700 if (settings.Path.GetType() != typeof(string))
1701 {
1702 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
1703 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
1704 }
1705 else
1706 {
1707 defaultImage += settings.Path != null ? "Image=" + settings.Path : "";
1708 }
1709
1710 defaultImage += "&AlternativeImage=" + alternativeImage;
1711 }
1712
1713 if (settings.ImageSmall != null)
1714 {
1715 imageSmall = "data-src-small=\"" + imageEngine;
1716 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall);
1717
1718 if (settings.Path.GetType() != typeof(string))
1719 {
1720 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
1721 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
1722 }
1723 else
1724 {
1725 imageSmall += settings.Path != null ? "Image=" + settings.Path : "";
1726 }
1727
1728 imageSmall += "&alternativeImage=" + alternativeImage;
1729
1730 imageSmall += "\"";
1731 }
1732
1733 if (settings.ImageMedium != null)
1734 {
1735 imageMedium = "data-src-medium=\"" + imageEngine;
1736 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium);
1737
1738 if (settings.Path.GetType() != typeof(string))
1739 {
1740 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
1741 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
1742 }
1743 else
1744 {
1745 imageMedium += settings.Path != null ? "Image=" + settings.Path : "";
1746 }
1747
1748 imageMedium += "&alternativeImage=" + alternativeImage;
1749
1750 imageMedium += "\"";
1751 }
1752 }
1753
1754 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
1755 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); }
1756 if (!string.IsNullOrEmpty(settings.Title))
1757 {
1758 optionalAttributes.Add("alt", settings.Title);
1759 optionalAttributes.Add("title", settings.Title);
1760 }
1761
1762 if (settings.DisableLazyLoad)
1763 {
1764 <img id="@settings.Id" class="@imageStyle @settings.CssClass dw-mod" src="@defaultImage" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) />
1765 }
1766 else
1767 {
1768
1769 <img id="@settings.Id" class="@imageStyle @settings.CssClass dw-mod" loading="lazy" src="@defaultImage" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) />
1770 }
1771 }
1772 }
1773 }
1774 @using System.Reflection
1775 @using Dynamicweb.Rapido.Blocks.Components.General
1776 @using Dynamicweb.Rapido.Blocks.Components
1777
1778 @* Component *@
1779
1780 @functions {
1781 void RenderHiddenField(HiddenField settings) {
1782 var attributes = new Dictionary<string, string>();
1783 attributes.Add("type", "hidden");
1784 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1785 if (settings.Value != null) { attributes.Add("value", settings.Value); }
1786 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1787
1788 <input @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)/>
1789 }
1790 }
1791
1792 @using System.Reflection
1793 @using Dynamicweb.Rapido.Blocks.Components.General
1794 @using Dynamicweb.Rapido.Blocks.Components
1795
1796 @* Component *@
1797
1798 @functions {
1799 void RenderRadioButtonField(RadioButtonField settings)
1800 {
1801 var attributes = new Dictionary<string, string>();
1802 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id))
1803 {
1804 settings.Id = Guid.NewGuid().ToString("N");
1805 }
1806
1807 /*base settings*/
1808 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1809 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); }
1810 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); }
1811 if (settings.Disabled) { attributes.Add("disabled", "true"); }
1812 if (settings.Required) { attributes.Add("required", "true"); }
1813 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1814 /*end*/
1815
1816 attributes.Add("type", "radio");
1817 if (settings.Checked) { attributes.Add("checked", "true"); }
1818 settings.CssClass = "form__control " + settings.CssClass;
1819 if (settings.Value != null) { attributes.Add("value", settings.Value); }
1820
1821 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value);
1822
1823 <div class="form__field-group @settings.WrapperCssClass dw-mod">
1824 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" />
1825 @if (!string.IsNullOrEmpty(settings.Label))
1826 {
1827 <label for="@settings.Id" class="dw-mod">@settings.Label</label>
1828 }
1829 @if (!string.IsNullOrEmpty(settings.HelpText))
1830 {
1831 <small class="form__help-text">@settings.HelpText</small>
1832 }
1833 Render(new NotificationMessage { Message = settings.ErrorMessage });
1834 </div>
1835 }
1836 }
1837 @using System.Reflection
1838 @using Dynamicweb.Rapido.Blocks.Components.General
1839 @using Dynamicweb.Rapido.Blocks.Components
1840
1841 @* Component *@
1842
1843 @functions{
1844 void RenderRadioButtonListField(RadioButtonListField settings)
1845 {
1846 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; }
1847
1848 <div class="form__field-group @settings.WrapperCssClass u-margin-bottom dw-mod" @ComponentMethods.AddAttributes(settings.ExtraAttributes)>
1849 @if (!string.IsNullOrEmpty(settings.Label))
1850 {
1851 <label>@settings.Label</label>
1852 }
1853 @if (!string.IsNullOrEmpty(settings.HelpText))
1854 {
1855 <small class="form__help-text">@settings.HelpText</small>
1856 }
1857
1858 @foreach (var item in settings.Options)
1859 {
1860 if (settings.Required)
1861 {
1862 item.Required = true;
1863 }
1864 if (settings.Disabled)
1865 {
1866 item.Disabled = true;
1867 }
1868 if (!string.IsNullOrEmpty(settings.Name))
1869 {
1870 item.Name = settings.Name;
1871 }
1872 if (settings.Value != null && settings.Value == item.Value)
1873 {
1874 item.Checked = true;
1875 }
1876 if (!string.IsNullOrEmpty(settings.OnClick))
1877 {
1878 item.OnClick += settings.OnClick;
1879 }
1880 if (!string.IsNullOrEmpty(settings.OnChange))
1881 {
1882 item.OnChange += settings.OnChange;
1883 }
1884 if (!string.IsNullOrEmpty(settings.CssClass))
1885 {
1886 item.CssClass += settings.CssClass;
1887 }
1888 Render(item);
1889 }
1890
1891 Render(new NotificationMessage { Message = settings.ErrorMessage });
1892 </div>
1893 }
1894 }
1895 @using Dynamicweb.Rapido.Blocks.Components.General
1896 @using Dynamicweb.Rapido.Blocks.Components
1897
1898 @* Component *@
1899
1900 @functions {
1901 void RenderForm(Form settings) {
1902 if (settings != null)
1903 {
1904 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
1905 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); };
1906 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); };
1907 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); };
1908 var enctypes = new Dictionary<string, string>
1909 {
1910 { "multipart", "multipart/form-data" },
1911 { "text", "text/plain" },
1912 { "application", "application/x-www-form-urlencoded" }
1913 };
1914 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); };
1915 optionalAttributes.Add("method", settings.Method.ToString());
1916
1917 if (!string.IsNullOrEmpty(settings.FormStartMarkup))
1918 {
1919 @settings.FormStartMarkup
1920 }
1921 else
1922 {
1923 @:<form class="@settings.CssClass u-no-margin dw-mod" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>
1924 }
1925
1926 foreach (var field in settings.GetFields())
1927 {
1928 Render(field);
1929 }
1930
1931 @:</form>
1932 }
1933 }
1934 }
1935
1936 @using System.Reflection
1937 @using Dynamicweb.Rapido.Blocks.Components.General
1938 @using Dynamicweb.Rapido.Blocks.Components
1939
1940 @* Component *@
1941
1942 @functions {
1943 void RenderText(Text settings)
1944 {
1945 @settings.Content
1946 }
1947 }
1948
1949 @using System.Reflection
1950 @using Dynamicweb.Rapido.Blocks.Components.General
1951 @using Dynamicweb.Rapido.Blocks.Components
1952
1953
1954 @* Component *@
1955
1956 @functions {
1957 void RenderContentModule(ContentModule settings) {
1958 if (!string.IsNullOrEmpty(settings.Content))
1959 {
1960 @settings.Content
1961 }
1962 }
1963 }
1964
1965 @using System.Reflection
1966 @using Dynamicweb.Rapido.Blocks.Components.General
1967 @using Dynamicweb.Rapido.Blocks.Components
1968
1969
1970 @* Component *@
1971
1972 @functions {
1973 void RenderModal(Modal settings) {
1974 if (settings != null)
1975 {
1976 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
1977
1978 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : "";
1979
1980 <input type="checkbox" id="@(modalId)ModalTrigger" class="modal-trigger" @onchange />
1981
1982 <div class="modal-container">
1983 @if (!settings.DisableDarkOverlay)
1984 {
1985 <label for="@(modalId)ModalTrigger" id="@(modalId)ModalOverlay" class="modal-overlay"></label>
1986 }
1987 <div class="modal modal--@settings.Width.ToString().ToLower() modal-height--@settings.Height.ToString().ToLower()" id="@(modalId)Modal">
1988 @if (settings.Heading != null)
1989 {
1990 if (!string.IsNullOrEmpty(settings.Heading.Title))
1991 {
1992 <div class="modal__header">
1993 RenderHeading(settings.Heading);
1994 </div>
1995 }
1996 }
1997 <div class="modal__body @(settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "")">
1998 @if (!string.IsNullOrEmpty(settings.BodyText))
1999 {
2000 @settings.BodyText
2001 }
2002 @if (settings.BodyTemplate != null)
2003 {
2004 @settings.BodyTemplate
2005 }
2006 @{
2007 var actions = settings.GetActions();
2008 }
2009 </div>
2010 @if (actions.Length > 0)
2011 {
2012 <div class="modal__footer">
2013 @foreach (var action in actions)
2014 {
2015 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") {
2016 action.CssClass += " u-no-margin";
2017 } else {
2018 action.CssClass += " u-full-width u-margin-bottom";
2019 }
2020
2021 Render(action);
2022 }
2023 </div>
2024 }
2025 <label class="modal__close-btn" for="@(modalId)ModalTrigger"></label>
2026 </div>
2027 </div>
2028 }
2029 }
2030 }
2031 @using Dynamicweb.Rapido.Blocks.Components.General
2032
2033 @* Component *@
2034
2035 @functions {
2036 void RenderMediaListItem(MediaListItem settings)
2037 {
2038 <div class="media-list-item @settings.CssClass dw-mod" @(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "")>
2039 @if (!string.IsNullOrEmpty(settings.Label))
2040 {
2041 if (!string.IsNullOrEmpty(settings.Link))
2042 {
2043 Render(new Link
2044 {
2045 Href = settings.Link,
2046 CssClass = "media-list-item__sticker dw-mod",
2047 ButtonLayout = ButtonLayout.None,
2048 Title = settings.Label,
2049 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
2050 });
2051 }
2052 else if (!string.IsNullOrEmpty(settings.OnClick))
2053 {
2054 <span class="media-list-item__sticker dw-mod" onclick="@(settings.OnClick)">
2055 <span class="u-uppercase">@settings.Label</span>
2056 </span>
2057 }
2058 else
2059 {
2060 <span class="media-list-item__sticker media-list-item__sticker--no-link dw-mod">
2061 <span class="u-uppercase">@settings.Label</span>
2062 </span>
2063 }
2064 }
2065 <div class="media-list-item__wrap">
2066 <div class="media-list-item__info dw-mod">
2067 <div class="media-list-item__header dw-mod">
2068 @if (!string.IsNullOrEmpty(settings.Title))
2069 {
2070 if (!string.IsNullOrEmpty(settings.Link))
2071 {
2072 Render(new Link
2073 {
2074 Href = settings.Link,
2075 CssClass = "media-list-item__name dw-mod",
2076 ButtonLayout = ButtonLayout.None,
2077 Title = settings.Title,
2078 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
2079 });
2080 }
2081 else if (!string.IsNullOrEmpty(settings.OnClick))
2082 {
2083 <span class="media-list-item__name dw-mod" onclick="@(settings.OnClick)">@settings.Title</span>
2084 }
2085 else
2086 {
2087 <span class="media-list-item__name media-list-item__name--no-link dw-mod">@settings.Title</span>
2088 }
2089 }
2090
2091 @if (!string.IsNullOrEmpty(settings.Status))
2092 {
2093 <div class="media-list-item__state dw-mod">@settings.Status</div>
2094 }
2095 </div>
2096 @{
2097 settings.InfoTable.CssClass += " media-list-item__parameters-table";
2098 }
2099
2100 Render(settings.InfoTable);
2101 </div>
2102 <div class="media-list-item__actions dw-mod">
2103 <div class="media-list-item__actions-list dw-mod">
2104 @{
2105 var actions = settings.GetActions();
2106
2107 foreach (ButtonBase action in actions)
2108 {
2109 action.ButtonLayout = ButtonLayout.None;
2110 action.CssClass += " media-list-item__action link";
2111
2112 Render(action);
2113 }
2114 }
2115 </div>
2116
2117 @if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title))
2118 {
2119 settings.SelectButton.CssClass += " u-no-margin";
2120
2121 <div class="media-list-item__action-button">
2122 Render(settings.SelectButton);
2123 </div>
2124 }
2125 </div>
2126 </div>
2127 </div>
2128 }
2129 }
2130
2131
2132 @using Dynamicweb.Rapido.Blocks.Components.General
2133 @using Dynamicweb.Rapido.Blocks.Components
2134
2135 @functions {
2136 void RenderTable(Table settings)
2137 {
2138 Dictionary<string, string> attributes = new Dictionary<string, string>();
2139 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
2140
2141 var enumToClasses = new Dictionary<TableDesign, string>
2142 {
2143 { TableDesign.Clean, "table--clean" },
2144 { TableDesign.Bordered, "table--bordered" },
2145 { TableDesign.Striped, "table--striped" },
2146 { TableDesign.Hover, "table--hover" },
2147 { TableDesign.Compact, "table--compact" },
2148 { TableDesign.Condensed, "table--condensed" },
2149 { TableDesign.NoTopBorder, "table--no-top-border" }
2150 };
2151 string tableDesignClass = "";
2152 if (settings.Design != TableDesign.None)
2153 {
2154 tableDesignClass = enumToClasses[settings.Design];
2155 }
2156
2157 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); }
2158
2159 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
2160
2161 <table @ComponentMethods.AddAttributes(resultAttributes)>
2162 @if (settings.Header != null)
2163 {
2164 <thead>
2165 Render(settings.Header);
2166 </thead>
2167 }
2168 <tbody>
2169 @foreach (var row in settings.Rows)
2170 {
2171 Render(row);
2172 }
2173 </tbody>
2174 @if (settings.Footer != null)
2175 {
2176 <tfoot>
2177 Render(settings.Footer);
2178 </tfoot>
2179 }
2180 </table>
2181 }
2182 }
2183 @using Dynamicweb.Rapido.Blocks.Components.General
2184 @using Dynamicweb.Rapido.Blocks.Components
2185
2186 @functions {
2187 void RenderTableRow(TableRow settings)
2188 {
2189 Dictionary<string, string> attributes = new Dictionary<string, string>();
2190 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
2191
2192 var enumToClasses = new Dictionary<TableRowDesign, string>
2193 {
2194 { TableRowDesign.NoBorder, "table__row--no-border" },
2195 { TableRowDesign.Border, "table__row--border" },
2196 { TableRowDesign.TopBorder, "table__row--top-line" },
2197 { TableRowDesign.BottomBorder, "table__row--bottom-line" },
2198 { TableRowDesign.Solid, "table__row--solid" }
2199 };
2200
2201 string tableRowDesignClass = "";
2202 if (settings.Design != TableRowDesign.None)
2203 {
2204 tableRowDesignClass = enumToClasses[settings.Design];
2205 }
2206
2207 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); }
2208
2209 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
2210
2211 <tr @ComponentMethods.AddAttributes(resultAttributes)>
2212 @foreach (var cell in settings.Cells)
2213 {
2214 if (settings.IsHeaderRow)
2215 {
2216 cell.IsHeader = true;
2217 }
2218 Render(cell);
2219 }
2220 </tr>
2221 }
2222 }
2223 @using Dynamicweb.Rapido.Blocks.Components.General
2224 @using Dynamicweb.Rapido.Blocks.Components
2225 @using Dynamicweb.Core
2226
2227 @functions {
2228 void RenderTableCell(TableCell settings)
2229 {
2230 Dictionary<string, string> attributes = new Dictionary<string, string>();
2231 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
2232 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); }
2233 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); }
2234 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); }
2235
2236 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
2237
2238 string tagName = settings.IsHeader ? "th" : "td";
2239
2240 @("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">")
2241 @settings.Content
2242 @("</" + tagName + ">");
2243 }
2244 }
2245 @* <h1>ArticleComponents.cshtml</h1> *@
2246
2247 @{
2248 Context.Current.Response.AddHeader("access-control-allow-origin", "*");
2249
2250 string bodyClass = "";
2251 string template = "real";
2252 string TemplateUrl = "/Files/Templates/Designs/rm/";
2253 string MetaTitle = Model.Title;
2254 string MetaDescription = Model.Description;
2255 string MetaKeywords = Model.Keywords;
2256 string searchClass = "";
2257
2258 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css"));
2259 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}";
2260
2261 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg";
2262
2263 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2");
2264
2265 // Indstillinger
2266 var settings_Frontpage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : "";
2267 var settings_Boligside = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : "";
2268 var settings_Maeglersogning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : "";
2269 var settings_MinSide = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : "";
2270 var settings_Sibling_Site = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : "";
2271 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : "";
2272 var settings_Product_Group = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : "";
2273 var settings_Boligagent = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : "";
2274 var settings_Persondatapolitik = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : "";
2275
2276 // API
2277 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : "";
2278 var settings_BoligListFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : "";
2279 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : "";
2280 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : "";
2281 var settings_BoligCountFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : "";
2282 var settings_BoligMapFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : "";
2283 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"];
2284
2285 // Forside
2286 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : "";
2287 var settings_FrontpageVideo = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : "";
2288 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : "";
2289
2290 // Tracking
2291 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : "";
2292 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"])))
2293 {
2294 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]);
2295 }
2296 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : "";
2297 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : "";
2298 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : "";
2299 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]);
2300 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]);
2301 var settings_Google_Optimize_Id = Converter.ToString(SettingsItem["Google_Optimize_Id"]);
2302
2303 // Indstillinger for brugerfunktioner
2304 var settings_ForgotPwPage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : "";
2305 var settings_NewsletterSignup = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : "";
2306 var settings_CreateUserModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : "";
2307 var settings_LoginModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : "";
2308
2309 int createUserParagraphId = 0;
2310 int loginParagraphId = 0;
2311 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId);
2312 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId);
2313
2314 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv.
2315 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv)
2316 int searchPageId = GetPageSettingsPageId("Boligside");
2317 if (searchPageId == 0)
2318 {
2319 searchPageId = GetWebsiteSettingsPageId("Boligside");
2320 }
2321
2322 int boligsideId = GetPageSettingsPageId("Boligside");
2323 if (boligsideId == 0)
2324 {
2325 boligsideId = GetWebsiteSettingsPageId("Boligside");
2326 }
2327
2328 string productGroupFilter = String.Empty;
2329 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null)
2330 {
2331 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString();
2332 }
2333
2334 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"]))
2335 {
2336 searchClass = "is-frontpage";
2337 }
2338
2339 bool isErhverv = false;
2340 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null)
2341 {
2342 var s = Pageview.Page.PropertyItem["Erhverv"].ToString();
2343 Boolean.TryParse(s, out isErhverv);
2344 }
2345
2346 bool isBrokerPage = false;
2347 if (!string.IsNullOrEmpty(Model.Area.Item.GetString("M_glerGruppeId")))
2348 {
2349 isBrokerPage = true;
2350 bodyClass = ""; // Get rid of transparent header on brokerPage
2351 }
2352
2353 string callTrackingId = Model.Item.GetString("CallTrackingId");
2354
2355 RealEstate.User.Model.BrokerEmployee MyBroker = null;
2356 try
2357 {
2358 var MyB = new RealEstate.User.MyBroker();
2359 MyBroker = MyB.GetMyBroker();
2360 }
2361 catch
2362 {
2363 // Ignore
2364 }
2365
2366 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : "");
2367 string querySearchNameAttr = "search";
2368
2369 // Overwrite search with zipcodeinterval if set
2370 if (Context.Current.Request.QueryString["zipcodeinterval"] != null)
2371 {
2372 querySearch = Context.Current.Request.QueryString["zipcodeinterval"];
2373 querySearchNameAttr = "zipcodeinterval";
2374 }
2375
2376 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : "");
2377 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : "");
2378
2379 Dynamicweb.Security.UserManagement.User user = null;
2380 int userID = 0;
2381 string userName = "";
2382 string userEmail = "";
2383 string userPhone = "";
2384 string userZip = "";
2385 string userAddress = "";
2386
2387 if (Dynamicweb.Security.UserManagement.UserContext.Current.IsLoggedOn)
2388 {
2389 user = Dynamicweb.Security.UserManagement.UserContext.Current.User;
2390 userName = user.Name;
2391 userEmail = user.Email;
2392 userPhone = user.Phone;
2393 userZip = user.Zip;
2394 userAddress = user.Address;
2395 userID = user.ID;
2396 }
2397
2398 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode");
2399 string forgotPwTemplate = "";
2400 string forgotPwSender = "";
2401 string markerColor = "";
2402 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png";
2403
2404 // Important - e-mail templates for forgotPw must be placed in "UserManagement/Login" folder
2405 forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml";
2406 forgotPwSender = "noreply@mailreal.dk";
2407 markerColor = "#213960";
2408
2409 var butikId = string.Empty;
2410 string bEmail = string.Empty;
2411 if (MyBroker != null && MyBroker.Broker != null)
2412 {
2413 butikId = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
2414 bEmail = MyBroker.Broker.Item().GetString("Email");
2415 }
2416
2417 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment"));
2418
2419 var termsMail = "info@realmaeglerne.dk";
2420 }
2421
2422 <!DOCTYPE html>
2423 <html>
2424 <head>
2425 <meta charset="utf-8">
2426 <title>@MetaTitle</title>
2427 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
2428 <meta name="description" content="@MetaDescription">
2429 <meta name="keywords" content="@MetaKeywords">
2430 <meta name="format-detection" content="telephone=no">
2431 <meta http-equiv="Expires" content="60">
2432 <meta name="robots" content="@(Pageview.Area.Noindex ? "noindex" : "index"),@(Pageview.Area.Nofollow ? "nofollow" : "follow")">
2433
2434 @*RICH SNIPPETS*@
2435
2436 @RenderSnippet("OpenGraphTags")
2437 @if (!string.IsNullOrEmpty(settings_Google_Optimize_Id))
2438 {
2439 <!-- Google optimize script-->
2440 <script src="https://www.googleoptimize.com/optimize.js?id=@settings_Google_Optimize_Id"></script>
2441 }
2442 <!-- TrustBox script -->
2443 <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script>
2444 <!-- End TrustBox script -->
2445
2446 <script type="application/ld+json">
2447 {
2448 "context": "https://schema.org/",
2449 "@@type": "WebSite",
2450 "name": "RealMæglerne",
2451 "url": "https://www.realmaeglerne.dk/",
2452 "potentialAction": {
2453 "type": "SearchAction",
2454 "target": "https://www.realmaeglerne.dk/find-maegler?q={search_term_string}",
2455 "query-input": "required name=search_term_string"
2456 }
2457 }
2458 </script>
2459
2460 <script type="application/ld+json">
2461 {
2462 "context": "https://schema.org",
2463 "@@type": "Corporation",
2464 "name": "RealMæglerne",
2465 "alternateName": "R&B Mægler A/S",
2466 "url": "https://www.realmaeglerne.dk",
2467 "logo": "https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png",
2468 "contactPoint": {
2469 "type": "ContactPoint",
2470 "telephone": "+4570237153",
2471 "contactType": "sales",
2472 "areaServed": "DK",
2473 "availableLanguage": "Danish"
2474 },
2475 "sameAs": [
2476 "https://www.facebook.com/realmaeglerne/",
2477 "https://www.linkedin.com/company/realmæglerne/",
2478 "https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g",
2479 "https://www.realmaeglerne.dk/"
2480 ]
2481 }
2482 </script>
2483 @RenderSnippet("StructuredData")
2484 @*RICH SNIPPETS END*@
2485
2486 @*FONT AWESOME*@
2487 @{
2488 <link rel="stylesheet" href="@(TemplateUrl)assets/fontawesome/css/all.css" async />
2489 <link rel="stylesheet" href="@mainCSS" async />
2490
2491 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
2492 {
2493 var cssErhvervFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/erhverv.min.css"));
2494 string erhvervCSS = TemplateUrl + $"assets/dist/css/erhverv.min.css?{cssErhvervFileInfo.LastWriteTime.Ticks}";
2495 <link rel="stylesheet" href="@erhvervCSS" async>
2496 }
2497 }
2498
2499
2500 <link rel="icon" type="image/ico" href="@(TemplateUrl)assets/images/favicons/favicon-real.ico?v=1">
2501 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-16x16.png" sizes="16x16">
2502 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-32x32.png" sizes="32x32">
2503 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-96x96.png" sizes="96x96">
2504 <meta name="google-site-verification" content="hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg" />
2505
2506 @if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString()))
2507 {
2508 <script>
2509 window.dataLayer = window.dataLayer || []; // must be placed above GTM script
2510 </script>
2511 <!-- Google Tag Manager -->
2512 <script>
2513 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
2514 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
2515 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
2516 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
2517 })(window,document,'script','dataLayer','@settings_Google_Tag_Manager_ID');</script>
2518 <!-- End Google Tag Manager -->
2519 }
2520
2521 @if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId))
2522 {
2523 <script type="text/javascript" src="https://call.call-tracking.dk/getJavascript?custid=@callTrackingId"></script>
2524 }
2525
2526 @if (!String.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString()))
2527 {
2528 <!-- Begin Leadhub Pixel Code -->
2529 <script>
2530 (function(w,d,x,n,u,t,f,s,o){
2531 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){
2532 (w[f].q=w[f].q||[]).push([n,d])};w[f].l=1*new Date();s=d.createElement(x); s.async=1;s.src=u+'?t='+t;o=d.getElementsByTagName(x)[0];o.parentNode.insertBefore(s,o)
2533 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '@settings_Leadhub_Pixel_ID');
2534 lhi('pageview');
2535 </script>
2536 <!-- End Leadhub Pixel Code -->
2537 }
2538
2539 <script>
2540 // Global namespace used for fetching API feeds from DW
2541 var RMAPI = (RMAPI) ? RMAPI : {};
2542 var ApiPreFix = "/Default.aspx?ID=";
2543 RMAPI.BoligCountFeed = ApiPreFix + "@settings_BoligCountFeed";
2544 RMAPI.BoligListFeed = ApiPreFix + "@settings_BoligListFeed" + "&refpageid=@Pageview.Page.ID";
2545 RMAPI.BoligListFeedErhverv = "@settings_BoligListFeedErhverv";
2546 RMAPI.BoligListFeedMaegler = ApiPreFix + "@settings_BoligListFeedMaegler" + "&refpageid=@Pageview.Page.ID";
2547 RMAPI.BoligSearchFeed = ApiPreFix + "@settings_BoligSearchFeed";
2548 RMAPI.BoligMapFeed = ApiPreFix + "@settings_BoligMapFeed";
2549 RMAPI.Boligagent = "@settings_Boligagent";
2550 RMAPI.IsErhverv = @isErhverv.ToString().ToLower();
2551 RMAPI.ProductGroupFilter = "@productGroupFilter";
2552 RMAPI.ButikId = "@butikId";
2553 RMAPI.Boligvisning = false;
2554 RMAPI.RefPageId = "@Pageview.Page.ID";
2555 RMAPI.Template = "@template";
2556 RMAPI.SliderSettings = @JsonConvert.SerializeObject(Settings.Site);
2557 RMAPI.AdvisorSearchFeed = "@settings_AdvisorSearchFeed";
2558 RMAPI.LoadingIcon = "@loadingIcon";
2559 RMAPI.MarkerColor = "@markerColor";
2560 RMAPI.mapMarkerUrl = "@mapMarkerUrl";
2561 RMAPI.settings_ForgotPwPage = "@settings_ForgotPwPage";
2562 </script>
2563
2564 @if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString()))
2565 {
2566 <!-- Facebook Pixel Code -->
2567 <script>
2568 !function (f, b, e, v, n, t, s) {
2569 if (f.fbq) return; n = f.fbq = function () {
2570 n.callMethod ?
2571 n.callMethod.apply(n, arguments) : n.queue.push(arguments)
2572 };
2573 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';
2574 n.queue = []; t = b.createElement(e); t.async = !0;
2575 t.src = v; s = b.getElementsByTagName(e)[0];
2576 s.parentNode.insertBefore(t, s)
2577 }(window, document, 'script',
2578 'https://connect.facebook.net/en_US/fbevents.js');
2579 fbq('init', '@settings_Facebook_App_ID');
2580 fbq('track', 'PageView');
2581 </script>
2582 <noscript>
2583 <img height="1" width="1" src="https://www.facebook.com/tr?id=@settings_Facebook_App_ID&ev=PageView&noscript=1" />
2584 </noscript>
2585 <!-- End Facebook Pixel Code -->
2586 }
2587
2588 <script type='text/javascript' src='https://platform-api.sharethis.com/js/sharethis.js#property=5d68cfaf5fea9f001288d9ac&product=inline-share-buttons' async='async'></script>
2589
2590 </head>
2591
2592 <body class="@template@bodyClass" data-spforgotpwtemplate="@forgotPwTemplate" data-spforgotpwsender="@forgotPwSender" data-spforgotpwsubject="@forgotPwSubject" data-spsalesassesmentid="@salesAssessmentPageId">
2593 @{
2594 string logoUrl = TemplateUrl + (!Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg");
2595 }
2596
2597 @if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) && GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
2598 {
2599 <div class="top-search">
2600 <div class="header logo">
2601 <div class="logo">
2602 <a href="/erhverv">
2603 <img src="@logoUrl" alt="RealMæglerne" />
2604 </a>
2605 </div>
2606 </div>
2607 <div class="top-form mx-auto">
2608 <form id="main-search-top" class="js-top-search" action="/Default.aspx" method="GET">
2609 @{
2610
2611 var settings_BoligListErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoliglisteErhverv"])) ? Converter.ToString(SettingsItem["BoliglisteErhverv"]).Replace("Default.aspx?Id=", "") : "";
2612 }
2613 <input type="hidden" name="ID" value='@settings_BoligListErhverv' id="searchPageId-top" disabled="disabled" />
2614
2615 @if (Context.Current.Request["type"] == "egetforbrug")
2616 {
2617 <input name="type" type="hidden" value="egetforbrug" />
2618 <input name="investeringsejendom" type="hidden" value="0" />
2619 }
2620 <div class="row form-wrapper no-gutters">
2621 <div class="col-xs-12 col-md-4 col-lg-5 col-searchbar">
2622 <div class="searchbar float-label-container text-left">
2623 <label class="float-label">@Translate("Smartpage:Erhver.Postnummer, by, vej eller sagsnummer", "Postnummer, by, vej eller sagsnummer")</label>
2624 <input type="text" name="@querySearchNameAttr" id="searchfield-top" class="search-input js-float-label js-getdata" tabindex="1" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch)" />
2625 </div>
2626 </div>
2627 <div class="col-xs-12 col-md-5">
2628 <div class="row no-gutters">
2629 <div class="col-xs-12 col-md-6 input-col">
2630 <div class="dropdown w-overlay float-label-container">
2631 <label class="float-label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">@Translate("Smartpage:Search.Erhverv.Lokaletype", "Lokaletype")</label>
2632 <button class="btn btn-dropdown dropdown-toggle reverse position-absolute-md" type="button" id="Boligtype-frontpage" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button>
2633 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
2634 <ul class="bolig-dropdown list-unstyled">
2635 @{
2636 RenderBoligTypeErhverv();
2637 }
2638 </ul>
2639 <span class="border-fat"></span>
2640 <div class="d-none d-md-block">
2641 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2642 </div>
2643 <div class="d-flex row d-md-none">
2644 <div class="col-6">
2645 <button class="btn btn-danger js-remove-filter">@Translate("Smartpage:Search.Annuller", "Annuller")</button>
2646 </div>
2647 <div class="col-6">
2648 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2649 </div>
2650 </div>
2651 </div>
2652
2653 </div>
2654 </div>
2655 <div class="col-xs-12 col-md-6 input-col">
2656 <div class="btn-dropdown p-3 border-top-bottom-right">
2657 <ul class="two-column list-unstyled">
2658 <li>
2659 <label class="checkbox-container">
2660 @Translate("Smartpage:Search.Erhverv.Leje", "Leje")
2661 <input type="checkbox" name="propertytype" value="leje" class="js-input-check" />
2662 <span class="checkmark"></span>
2663 </label>
2664 </li>
2665 <li>
2666 <label class="checkbox-container">
2667 @Translate("Smartpage:Search.Erhverv.Køb", "Køb")
2668 <input type="checkbox" name="propertytype" value="kob" class="js-input-check" />
2669 <span class="checkmark"></span>
2670 </label>
2671 </li>
2672 </ul>
2673 </div>
2674
2675 </div>
2676 </div>
2677 </div>
2678 <div class="col-xs-12 col-md-3 col-lg-2 d-none d-md-block">
2679 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
2680 </div>
2681 </div>
2682 </form>
2683 </div>
2684 </div>
2685 }
2686
2687 @if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
2688 {
2689 <div class="header shortcuts">
2690 <div class="header-shortcuts float-right">
2691 @if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
2692 {
2693 <a href='' class="search-menu d-none d-xl-flex align-items-center float-left border-right js-mainsearch topsearch @searchClass">
2694 <i class="fa fa-search" aria-hidden="true"></i><span class="search-menu-text hidden d-md-block"> @Translate("Smartpage:Search.Søg", "Søg")</span>
2695 </a>
2696 }
2697 <div class="menu-slide d-flex align-items-center">
2698 <b></b>
2699 <span class="menu-text hidden d-md-block">Menu</span>
2700 </div>
2701 </div>
2702
2703
2704 </div>
2705 }
2706 else
2707 {
2708 <div class="header__container container">
2709 <div class="header__logo">
2710 <a href="/" title="">
2711 <img src="@(logoUrl)" alt="" />
2712 </a>
2713 </div>
2714 <div class="header__title">
2715 <span>@Translate("Custom:Header.Title", "RealMæglerne")</span>
2716 </div>
2717 @if (userID > 0)
2718 {
2719 <div class="header__navigation d-none d-md-flex">
2720 <div class="header__navigation">
2721 <div class="header__Link">
2722 <ul>
2723 <li class="d-flex align-items-center">
2724 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2725 <path d="M16.6663 17.5C16.6663 16.337 16.6663 15.7555 16.5228 15.2824C16.1996 14.217 15.366 13.3834 14.3006 13.0602C13.8275 12.9167 13.246 12.9167 12.083 12.9167H7.91634C6.75337 12.9167 6.17189 12.9167 5.69872 13.0602C4.63339 13.3834 3.79971 14.217 3.47654 15.2824C3.33301 15.7555 3.33301 16.337 3.33301 17.5M13.7497 6.25C13.7497 8.32107 12.0707 10 9.99967 10C7.92861 10 6.24967 8.32107 6.24967 6.25C6.24967 4.17893 7.92861 2.5 9.99967 2.5C12.0707 2.5 13.7497 4.17893 13.7497 6.25Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
2726 </svg>
2727 <a class="ml-2"
2728 href="/Default.aspx?ID=@settings_MinSide"
2729 target="_blank"
2730 aria-label="@Translate("Custom:Accessibility.MyAccountLink", "Gå til Mit RealMæglerne - åbner i nyt vindue")">
2731 @Translate("Mit RealMæglerne")
2732 </a>
2733 </li>
2734 </ul>
2735 </div>
2736 </div>
2737 </div>
2738
2739 }
2740 else
2741 {
2742 <div class="header__navigation d-none d-md-flex">
2743 <div class="header__navigation">
2744 <div class="header__Link">
2745 <ul>
2746 <li class="d-flex align-items-center">
2747 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2748 <path d="M16.6663 17.5C16.6663 16.337 16.6663 15.7555 16.5228 15.2824C16.1996 14.217 15.366 13.3834 14.3006 13.0602C13.8275 12.9167 13.246 12.9167 12.083 12.9167H7.91634C6.75337 12.9167 6.17189 12.9167 5.69872 13.0602C4.63339 13.3834 3.79971 14.217 3.47654 15.2824C3.33301 15.7555 3.33301 16.337 3.33301 17.5M13.7497 6.25C13.7497 8.32107 12.0707 10 9.99967 10C7.92861 10 6.24967 8.32107 6.24967 6.25C6.24967 4.17893 7.92861 2.5 9.99967 2.5C12.0707 2.5 13.7497 4.17893 13.7497 6.25Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
2749 </svg>
2750 <a class="ml-2"
2751 href="javascript:panelLogin()"
2752 aria-label="@Translate("Custom:Accessibility.Login", "Login - åbner i sidepanel")">
2753 @Translate("Login")
2754 </a>
2755 </li>
2756 </ul>
2757 </div>
2758 </div>
2759 </div>
2760 }
2761 <div class="header__search flex-column flex-md-row js-mainsearch">
2762 @Translate("Søg bolig")
2763 </div>
2764 <div class="header__navigation">
2765 <div class="header__navigation-icon menu-slide">
2766 <div class="d-none d-md-block">
2767 @Translate("Menu")
2768 </div>
2769 </div>
2770 </div>
2771 </div>
2772 }
2773
2774 <div class="search-modal">
2775
2776 @if (Converter.ToString(Pageview.Area.Item["Type"]) == "real")
2777 {
2778 <div class="main-search-form">
2779 <i class="fal fa-times float-right fa-2x js-close-search close-search"></i>
2780 <div class="row mb-3 align-items-center">
2781 <div class="col-xs-12 col-md-3 border-right">
2782 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
2783 </div>
2784 <div class="col-xs-12 col-md-9 home-count d-none d-md-block">
2785 <span class="search-count" id="searchCounterMain">0</span> <span class="position-relative">@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")<span class="loader js-loader"></span></span>
2786
2787 </div>
2788 </div>
2789
2790 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
2791 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
2792 <div class="row form-wrapper no-gutters">
2793
2794 <div class="col-xs-12 col-md-5 col-searchbar">
2795 <div class="searchbar">
2796 <input type="text" name="@querySearchNameAttr" id="searchfield" class="search-input" placeholder="Postnummer, by, vej eller sagsnummer" tabindex="1" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch)" />
2797 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" />
2798 <input type="hidden" id="zipcodeto" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" />
2799 </div>
2800 </div>
2801 <div class="col-xs-12 col-md-5">
2802 <div class="row no-gutters">
2803 <div class="col-xs-12 col-md-6 input-col">
2804 <div class="dropdown">
2805 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2806 @Translate("Smartpage:Search.Boligtype", "Boligtype")
2807 </button>
2808 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
2809 <ul class="bolig-dropdown list-unstyled">
2810 @{
2811 RenderBoligtypeCheckboxesDropdown();
2812 }
2813 </ul>
2814 <span class="border-fat"></span>
2815 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2816 </div>
2817
2818 </div>
2819
2820 </div>
2821 <div class="col-xs-12 col-md-6 input-col">
2822 <div class="dropdown">
2823 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2824 @Translate("Smartpage:Search.Pris", "Pris")
2825 </button>
2826 <div class="dropdown-menu box-shadow dropdown-price js-dropdown-price" aria-labelledby="Pris">
2827 <input name="pricemin" type="text" class="form-control mb-10 js-auto-thousand js-pricemin-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")' value='@(!string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemin"]) ? Context.Current.Request.QueryString["pricemin"] : "")' />
2828 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
2829 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
2830 @for (var i = 0; i <= 10000000; i += 100000)
2831 {
2832 if (i == 10000000)
2833 {
2834 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
2835 }
2836 else
2837 {
2838 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
2839 }
2840 }
2841 </select>
2842
2843 <input type="text" name="pricemax" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")' value='@(!string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemax"]) ? Context.Current.Request.QueryString["pricemax"] : "")' />
2844 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
2845 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
2846 @for (var i = 0; i <= 10000000; i += 100000)
2847 {
2848 if (i == 10000000)
2849 {
2850 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
2851 }
2852 else
2853 {
2854 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
2855 }
2856 }
2857 </select>
2858 </div>
2859 </div>
2860 </div>
2861 </div>
2862 </div>
2863 <div class="col-xs-12 col-md-2 d-none d-md-block">
2864 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
2865 </div>
2866 </div>
2867
2868 <div class="row moresearch-btn no-gutters">
2869 <div class="col-sm-12">
2870 <div class="row align-items-center no-gutters">
2871 <div class="col-12 col-md-4">
2872 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch">
2873 <span class="moreSearch-text"><i class="fas fa-plus open-close"></i> <span class="not-open white">@Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")</span> <span class="open white"><span class="js-filter-count">0</span> @Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt") </span></span>
2874 </button>
2875 </div>
2876 <div class="col-6 col-md-2 mb-xs-4">
2877 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
2878 </div>
2879 </div>
2880
2881 <div class="collapse" id="moreSearch-master">
2882
2883 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
2884 <div class="row align-items-end mb-30">
2885 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2886 <div class="filter-container row">
2887 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
2888 <div class="col-6 pr-sm-0 pr-2">
2889 <input type="text" name="boligarealmin" id="boligarealmin" class="form-control js-boligarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' value='@(!string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmin"]) ? Context.Current.Request.QueryString["boligarealmin"] : "")' />
2890 <select class="form-control js-boligarealmin-frontpage-select js-count">
2891 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
2892 @for (var i = 0; i <= 300; i += 10)
2893 {
2894 if (i == 300)
2895 {
2896 <option>@i+</option>
2897 }
2898 else
2899 {
2900 <option>@i</option>
2901 }
2902 }
2903 </select>
2904
2905 </div>
2906 <div class="col-6 pl-sm-0 pl-2">
2907 <input type="text" name="boligarealmax" id="boligarealmax" class="form-control js-boligarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' value='@(!string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmax"]) ? Context.Current.Request.QueryString["boligarealmax"] : "")' />
2908 <select class="form-control js-boligarealmax-frontpage-select js-count">
2909 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
2910 @for (var i = 0; i <= 300; i += 10)
2911 {
2912 if (i == 300)
2913 {
2914 <option>@i+</option>
2915 }
2916 else
2917 {
2918 <option>@i</option>
2919 }
2920 }
2921 </select>
2922
2923 </div>
2924 </div>
2925 </div>
2926 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2927 <div class="filter-container row">
2928 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
2929 <div class="col-6 pr-sm-0 pr-2">
2930 <input type="text" name="grundarealmin" id="grundarealmin" class="form-control js-grundarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' value='@(!string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmin"]) ? Context.Current.Request.QueryString["grundarealmin"] : "")' />
2931 <select class="form-control js-grundarealmin-frontpage-select js-count">
2932 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
2933 @for (var i = 0; i <= 10000; i += 100)
2934 {
2935 if (i == 10000)
2936 {
2937 <option>@i+</option>
2938 }
2939 else
2940 {
2941 <option>@i</option>
2942 }
2943 }
2944 </select>
2945 </div>
2946 <div class="col-6 pl-sm-0 pl-2">
2947 <input type="text" name="grundarealmax" id="grundarealmax" class="form-control js-grundarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' value='@(!string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmax"]) ? Context.Current.Request.QueryString["grundarealmax"] : "")' />
2948 <select class="form-control js-grundarealmax-frontpage-select js-count">
2949 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
2950 @for (var i = 0; i <= 10000; i += 100)
2951 {
2952 if (i == 10000)
2953 {
2954 <option>@i+</option>
2955 }
2956 else
2957 {
2958 <option>@i</option>
2959 }
2960 }
2961 </select>
2962 </div>
2963 </div>
2964 </div>
2965 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2966 <div class="filter-container row">
2967 <label class="d-block col-12">Antal rum</label>
2968 <div class="col-6 pr-sm-0 pr-2">
2969 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
2970 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
2971 @{
2972 RenderSelectValue("1", "1", "roomsmin");
2973 RenderSelectValue("2", "2", "roomsmin");
2974 RenderSelectValue("3", "3", "roomsmin");
2975 RenderSelectValue("4", "4", "roomsmin");
2976 RenderSelectValue("5+", "5", "roomsmin");
2977 }
2978 </select>
2979 </div>
2980 <div class="col-6 pl-sm-0 pl-2">
2981 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
2982 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
2983 @{
2984 RenderSelectValue("1", "1", "roomsmax");
2985 RenderSelectValue("2", "2", "roomsmax");
2986 RenderSelectValue("3", "3", "roomsmax");
2987 RenderSelectValue("4", "4", "roomsmax");
2988 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax");
2989 }
2990 </select>
2991 </div>
2992 </div>
2993 </div>
2994 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2995 <div class="row">
2996 <div class="col-12 pr-2">
2997 <div class="filter-container">
2998 <label class="d-block">Energimærke</label>
2999 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
3000 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
3001 <option value="01">G</option>
3002 <option value="02">F</option>
3003 <option value="03">E</option>
3004 <option value="04">D</option>
3005 <option value="05">C</option>
3006 <option value="06">B</option>
3007 <option value="07">A</option>
3008 <option value="08">A2010</option>
3009 <option value="09">A2015</option>
3010 <option value="10">A2020+</option>
3011 </select>
3012 </div>
3013 </div>
3014 </div>
3015 </div>
3016 <div class="col-12 col-sm-6 col-lg-3 mt-3">
3017 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
3018 <div class="filter-container row">
3019 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
3020 <div class="col-6 pr-sm-0 pr-2">
3021 <input type="text" name="subsidymin" id="subsidymin" class="form-control js-subsidymin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")' value='@(!string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymin"]) ? Context.Current.Request.QueryString["subsidymin"] : "")' />
3022 <select class="form-control js-subsidymin-frontpage-select js-count">
3023 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
3024 @for (var i = 0; i <= 25000; i += 1250)
3025 {
3026 if (i == 25000)
3027 {
3028 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3029 }
3030 else
3031 {
3032 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3033 }
3034 }
3035 </select>
3036 </div>
3037 <div class="col-6 pl-sm-0 pl-2">
3038 <input type="text" name="subsidymax" id="subsidymax" class="form-control js-subsidymax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")' value='@(!string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymax"]) ? Context.Current.Request.QueryString["subsidymax"] : "")' />
3039 <select class="form-control js-subsidymax-frontpage-select js-count">
3040 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
3041 @for (var i = 0; i <= 25000; i += 1250)
3042 {
3043 if (i == 25000)
3044 {
3045 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
3046 }
3047 else
3048 {
3049 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
3050 }
3051 }
3052 </select>
3053 </div>
3054 </div>
3055 </div>
3056 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0">
3057 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
3058 </div>
3059 </div>
3060 </div>
3061 </div>
3062 </div>
3063 <div class="row d-block d-md-none form-wrapper no-gutters">
3064 <div class="col-xs-12 col-md-2">
3065 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
3066 </div>
3067 </div>
3068
3069
3070 </form>
3071 </div>
3072 }
3073 else
3074 {
3075 <div class="main-search-form center">
3076 <i class="fal fa-times float-right fa-2x js-close-search"></i>
3077 <div class="row mb-3 align-items-center">
3078 <div class="col-xs-12 col-md-5 border-right">
3079 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
3080 </div>
3081 <div class="col-xs-12 col-md-7 home-count d-none d-md-block">
3082 <span class="search-count" id="searchCounterMain">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span>
3083 </div>
3084 </div>
3085
3086 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
3087 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
3088 <div class="row form-wrapper no-gutters">
3089
3090 <div class="col-12 mb-10">
3091 <div class="searchbar">
3092 <input type="text" name="@querySearchNameAttr" id="searchfield" class="search-input" placeholder="Postnummer, by, vej eller sagsnummer" tabindex="1" value='@querySearch' />
3093 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value='@queryZipCodeFrom' />
3094 <input type="hidden" id="zipcodeto" name="zipcodeto" value='@queryZipCodeTo' />
3095 </div>
3096 </div>
3097 <div class="col-xs-12 col-md-8">
3098 <div class="row no-gutters">
3099 <div class="col-xs-12 col-md-6 input-col">
3100 <div class="dropdown">
3101 <button class="btn btn-dropdown dropdown-toggle reverse js-count" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3102 @Translate("Smartpage:Search.Boligtype", "Boligtype")
3103 </button>
3104 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
3105 <ul class="bolig-dropdown list-unstyled">
3106 @{
3107 RenderBoligtypeCheckboxesDropdown();
3108 }
3109 </ul>
3110 <span class="border-fat"></span>
3111 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
3112 </div>
3113
3114 </div>
3115
3116 </div>
3117 <div class="col-xs-12 col-md-6 input-col">
3118 <div class="dropdown">
3119 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3120 @Translate("Smartpage:Search.Pris", "Pris")
3121 </button>
3122 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris">
3123 <input type="text" name="pricemin" class="form-control mb-10 js-auto-thousand js-pricemin-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")' />
3124 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
3125 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
3126 @for (var i = 0; i <= 10000000; i += 100000)
3127 {
3128 if (i == 10000000)
3129 {
3130 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option>
3131 }
3132 else
3133 {
3134 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option>
3135 }
3136 }
3137 </select>
3138
3139 <input type="text" name="pricemax" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")' />
3140 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
3141 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
3142 @for (var i = 0; i <= 10000000; i += 100000)
3143 {
3144 if (i == 10000000)
3145 {
3146 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option>
3147 }
3148 else
3149 {
3150 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option>
3151 }
3152 }
3153 </select>
3154 </div>
3155 </div>
3156 </div>
3157 </div>
3158 </div>
3159 <div class="col-xs-12 col-md-4 d-none d-md-block">
3160 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
3161 </div>
3162 </div>
3163
3164 <div class="row moresearch-btn no-gutters">
3165 <div class="col-sm-12">
3166 <div class="row align-items-center no-gutters">
3167 <div class="col-12 col-md-5">
3168 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch-master">
3169 <span class="moreSearch-text"><i class="fas fa-plus open-close white"></i> <span class="not-open white">@Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")</span> <span class="open white"><span class="js-filter-count">0</span> @Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt") </span></span>
3170 </button>
3171 </div>
3172 <div class="col-6 col-md-3 mb-xs-4">
3173 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
3174 </div>
3175 <div class="col-6 col-md-4 mb-xs-4">
3176 <div class="parent-purchases">
3177 <label class="checkbox-container white">
3178 @Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet")
3179 <input type="checkbox" name="foraeldrekoebegnet" value="true" class="js-input-check">
3180 <span class="checkmark grey"></span>
3181 </label>
3182 </div>
3183 </div>
3184 </div>
3185
3186 <div class="collapse" id="moreSearch-master">
3187
3188 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
3189 <div class="row align-items-end mb-30">
3190 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3191 <div class="filter-container row">
3192 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
3193 <div class="col-6 pr-sm-0 pr-2">
3194 <input type="text" name="boligarealmin" id="boligarealmin" class="form-control js-boligarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
3195 <select class="form-control js-boligarealmin-frontpage-select js-count">
3196 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
3197 @for (var i = 0; i <= 300; i += 10)
3198 {
3199 if (i == 300)
3200 {
3201 <option>@i+</option>
3202 }
3203 else
3204 {
3205 <option>@i</option>
3206 }
3207 }
3208 </select>
3209 </div>
3210 <div class="col-6 pl-sm-0 pl-2">
3211 <input type="text" name="boligarealmax" id="boligarealmax" class="form-control js-boligarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
3212 <select class="form-control js-boligarealmax-frontpage-select js-count">
3213 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
3214 @for (var i = 0; i <= 300; i += 10)
3215 {
3216 if (i == 300)
3217 {
3218 <option>@i+</option>
3219 }
3220 else
3221 {
3222 <option>@i</option>
3223 }
3224 }
3225 </select>
3226 </div>
3227 </div>
3228 </div>
3229 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3230 <div class="filter-container row">
3231 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
3232 <div class="col-6 pr-sm-0 pr-2">
3233 <input type="text" name="grundarealmin" id="grundarealmin" class="form-control js-grundarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
3234 <select class="form-control js-grundarealmin-frontpage-select js-count">
3235 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
3236 @for (var i = 0; i <= 10000; i += 100)
3237 {
3238 if (i == 10000)
3239 {
3240 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3241 }
3242 else
3243 {
3244 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3245 }
3246 }
3247 </select>
3248 </div>
3249 <div class="col-6 pl-sm-0 pl-2">
3250 <input type="text" name="grundarealmax" id="grundarealmax" class="form-control js-grundarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
3251 <select class="form-control js-grundarealmax-frontpage-select">
3252 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
3253 @for (var i = 0; i <= 10000; i += 100)
3254 {
3255 if (i == 10000)
3256 {
3257 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3258 }
3259 else
3260 {
3261 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3262 }
3263 }
3264 </select>
3265 </div>
3266 </div>
3267 </div>
3268 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3269 <div class="filter-container row">
3270 <label class="d-block col-12">Antal rum</label>
3271
3272 <div class="col-6 pr-sm-0 pr-2">
3273 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
3274 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
3275 <option value="1">1</option>
3276 <option value="2">2</option>
3277 <option value="3">3</option>
3278 <option value="4">4</option>
3279 <option value="5">5+</option>
3280 </select>
3281 </div>
3282 <div class="col-6 pl-sm-0 pl-2">
3283 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
3284 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
3285 <option value="1">1</option>
3286 <option value="2">2</option>
3287 <option value="3">3</option>
3288 <option value="4">4</option>
3289 <option value="5">5+</option>
3290 </select>
3291 </div>
3292 </div>
3293 </div>
3294 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3295 <div class="row">
3296 <div class="col-12 pr-2">
3297 <div class="filter-container">
3298 <label class="d-block">Energimærke</label>
3299 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
3300 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
3301 <option value="01">G</option>
3302 <option value="02">F</option>
3303 <option value="03">E</option>
3304 <option value="04">D</option>
3305 <option value="05">C</option>
3306 <option value="06">B</option>
3307 <option value="07">A</option>
3308 <option value="08">A2010</option>
3309 <option value="09">A2015</option>
3310 <option value="10">A2020+</option>
3311 </select>
3312 </div>
3313 </div>
3314 </div>
3315 </div>
3316 <div class="col-12 col-sm-6 col-lg-6 mt-3">
3317 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
3318 <div class="filter-container row">
3319 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
3320 <div class="col-6 pr-sm-0 pr-2">
3321 <input type="text" name="subsidymin" id="subsidymin" class="form-control js-subsidymin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Min", "Min")' />
3322 <select class="form-control js-subsidymin-frontpage-select js-count">
3323 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
3324 @for (var i = 0; i <= 25000; i += 1250)
3325 {
3326 if (i == 25000)
3327 {
3328 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3329 }
3330 else
3331 {
3332 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3333 }
3334 }
3335 </select>
3336 </div>
3337 <div class="col-6 pl-sm-0 pl-2">
3338 <input type="text" name="subsidymax" id="subsidymax" class="form-control js-subsidymax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Max", "Max")' />
3339 <select class="form-control js-subsidymax-frontpage-select js-count">
3340 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
3341 @for (var i = 0; i <= 25000; i += 1250)
3342 {
3343 if (i == 25000)
3344 {
3345 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3346 }
3347 else
3348 {
3349 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3350 }
3351 }
3352 </select>
3353 </div>
3354 </div>
3355 </div>
3356 <div class="col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0">
3357 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
3358 </div>
3359 </div>
3360 </div>
3361 </div>
3362 </div>
3363 <div class="row d-block d-md-none form-wrapper no-gutters">
3364 <div class="col-xs-12 col-md-2">
3365 <button type="submit" class="btn btn-block btn-search dark-red"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
3366 </div>
3367 </div>
3368
3369
3370 </form>
3371 </div>
3372 }
3373 </div>
3374
3375 @{
3376 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning));
3377 }
3378
3379 @if (isBrokerPage)
3380 {
3381 <section class="maegler-navbar">
3382 @RenderNavigation(new
3383 {
3384 id = "navbar-main",
3385 cssclass = "dwnavigation",
3386 template = "ul_li.xslt",
3387 StartLevel = 1,
3388 EndLevel = 1
3389 })
3390 </section>
3391 }
3392
3393 <div class="visual-editor">
3394 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
3395
3396
3397 @using Dynamicweb.Content.Items
3398 @using Dynamicweb.Rapido.Blocks.Components
3399 @using Dynamicweb.Rapido.Blocks.Components.Articles
3400 @using Dynamicweb.Rapido.Blocks.Components.General
3401 @using Dynamicweb.Rapido.Blocks
3402
3403
3404 @functions {
3405 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage");
3406 }
3407
3408 @{
3409 int pageId = Model.ID;
3410 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus");
3411 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles");
3412 bool showTitle = Model.Item.GetBoolean("ShowTitle");
3413 bool showFilters = Model.Item.GetBoolean("ShowFilters");
3414 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter");
3415 bool showSearch = Model.Item.GetBoolean("ShowSearch");
3416 string dynamicListWidth = enablePopular ? "8" : "12";
3417 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle";
3418
3419 Dictionary<string, string> categoriesList = new Dictionary<string, string>();
3420 categoriesList.Add(Translate("All"), "");
3421
3422 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId))
3423 {
3424 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any())
3425 {
3426 categoriesList.Add(page.GetDisplayName(), page.ID.ToString());
3427 }
3428 }
3429
3430 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields;
3431 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : "";
3432 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : "";
3433 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : "";
3434
3435 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null;
3436 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null;
3437 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null;
3438
3439 Block listPageContainer = new Block
3440 {
3441 Id = "ArticleListPageContainer",
3442 SortId = 10,
3443 Design = new Design
3444 {
3445 RenderType = RenderType.Row
3446 },
3447 BlocksList = new List<Block> {
3448 new Block {
3449 Id = "ArticleListPageHeader",
3450 SortId = 20,
3451 Design = new Design
3452 {
3453 RenderType = RenderType.Column,
3454 Size = "12"
3455 },
3456 BlocksList = new List<Block> {
3457 new Block {
3458 Id = "ArticleListPageHeaderRow",
3459 SortId = 10,
3460 Design = new Design
3461 {
3462 RenderType = RenderType.Row
3463 },
3464 BlocksList = new List<Block> {
3465 new Block {
3466 Id = "ArticleListFilters",
3467 SortId = 30,
3468 Design = new Design {
3469 RenderType = RenderType.Column,
3470 Size = "10",
3471 CssClass = "grid__cell"
3472 }
3473 }
3474 }
3475 }
3476 }
3477 }
3478 }
3479 };
3480 articleListPage.Add(listPageContainer);
3481
3482 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") {
3483 Block listFilters = articleListPage.GetBlockById("ArticleListFilters");
3484 listFilters.Template = RenderMobileFilters(listFilters.BlocksList);
3485 listFilters.SkipRenderBlocksList = true;
3486 }
3487
3488 if (showTitle) {
3489 Block titleBlock = new Block
3490 {
3491 Id = "ArticleListTitle",
3492 SortId = 10,
3493 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 },
3494 Design = new Design
3495 {
3496 RenderType = RenderType.Column,
3497 Size = "2"
3498 }
3499 };
3500 articleListPage.Add("ArticleListPageHeaderRow", titleBlock);
3501 }
3502
3503 if (showSearch)
3504 {
3505 Block searchFilter = new Block
3506 {
3507 Id = "ArticleListSearch",
3508 SortId = 10,
3509 Component = new ArticleListSearch { }
3510 };
3511 articleListPage.Add("ArticleListFilters", searchFilter);
3512 }
3513
3514 if (showCategoryFilter)
3515 {
3516 Block categoryFilter = new Block
3517 {
3518 Id = "ArticleListCategoryFilter",
3519 SortId = 20,
3520 Component = new ArticleListCategoryFilter { Categories = categoriesList }
3521 };
3522 articleListPage.Add("ArticleListFilters", categoryFilter);
3523 }
3524
3525 Block listBody = new Block
3526 {
3527 Id = "ArticleListPageBody",
3528 SortId = 30,
3529 Design = new Design
3530 {
3531 RenderType = RenderType.Column,
3532 Size = dynamicListWidth
3533 }
3534 };
3535 articleListPage.Add("ArticleListPageContainer", listBody);
3536
3537 Block listBodyRow = new Block
3538 {
3539 Id = "ArticleListPageBodyRow",
3540 SortId = 10,
3541 Design = new Design
3542 {
3543 RenderType = RenderType.Row
3544 }
3545 };
3546 articleListPage.Add("ArticleListPageBody", listBodyRow);
3547
3548 if (enableArticlesInFocus) {
3549 Block listInFocus = new Block
3550 {
3551 Id = "ArticleListInFocus",
3552 SortId = 10,
3553 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType },
3554 Design = new Design
3555 {
3556 RenderType = RenderType.Column,
3557 Size = "12",
3558 HidePadding = true
3559 }
3560 };
3561 articleListPage.Add("ArticleListPageBodyRow", listInFocus);
3562 }
3563
3564 Block listMain = new Block
3565 {
3566 Id = "ArticleListMain",
3567 SortId = 20,
3568 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType },
3569 Design = new Design
3570 {
3571 RenderType = RenderType.Column,
3572 Size = "12",
3573 HidePadding = true
3574 }
3575 };
3576 articleListPage.Add("ArticleListPageBodyRow", listMain);
3577
3578 if (enablePopular)
3579 {
3580 Block listPopular = new Block
3581 {
3582 Id = "ArticleListPopular",
3583 SortId = 30,
3584 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType },
3585 Design = new Design
3586 {
3587 RenderType = RenderType.Column,
3588 Size = "4",
3589 CssClass = "u-padding--lg"
3590 }
3591 };
3592 articleListPage.Add("ArticleListPageContainer", listPopular);
3593 }
3594
3595 if (showFilters) {
3596 if (filterOneOptions != null)
3597 {
3598 Block filterOne = new Block
3599 {
3600 Id = "ArticleListFilterOne",
3601 SortId = 30,
3602 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" }
3603 };
3604 articleListPage.Add("ArticleListFilters", filterOne);
3605 }
3606
3607 if (filterTwoOptions != null)
3608 {
3609 Block filterTwo = new Block
3610 {
3611 Id = "ArticleListFilterTwo",
3612 SortId = 40,
3613 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" }
3614 };
3615 articleListPage.Add("ArticleListFilters", filterTwo);
3616 }
3617
3618 if (filterThreeOptions != null)
3619 {
3620 Block filterThree = new Block
3621 {
3622 Id = "ArticleListFilterThree",
3623 SortId = 50,
3624 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" }
3625 };
3626 articleListPage.Add("ArticleListFilters", filterThree);
3627 }
3628 }
3629 }
3630
3631
3632 @* The @RenderBlockList base helper is included in Components/GridBuilder.cshtml *@
3633
3634 @RenderBlockList(articleListPage.BlocksRoot.BlocksList)
3635
3636
3637 <script>
3638 document.getElementById("Page").classList.add("u-color-light-gray--bg");
3639 </script>
3640 </div>
3641
3642 @if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true)
3643 {
3644 string bName = MyBroker.Broker.Name;
3645 string bClass = "na";
3646 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png";
3647
3648 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName))
3649 {
3650 bName = MyBroker.Broker.CompanyName;
3651 }
3652 try
3653 {
3654 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl");
3655 if (!string.IsNullOrEmpty(imgUrl))
3656 {
3657 bImage = imgUrl;
3658 bClass = "";
3659 }
3660 }
3661 catch
3662 {
3663 // Ignore
3664 }
3665
3666 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId");
3667 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
3668
3669 <section class="din-maegler">
3670 <div class="img-wrapper @bClass" style="background-image:url('@bImage')"></div>
3671 <div class="container">
3672 <div class="col-12 col-sm-12 col-md-6 offset-md-6">
3673 <h2>Din personlige mægler</h2>
3674 <div class="row">
3675 <div class="col-12 col-sm-6">
3676 <p>
3677 <b class="my-broker-name">@MyBroker.Employee.Name</b><br>
3678 @if (!string.IsNullOrEmpty(MyBroker.Employee.Email))
3679 {
3680 <text>Mail: <a href="mailto:@(ExtractMaskedEmail(MyBroker.Employee.Email))" class="my-broker-email">@ExtractMaskedEmail(MyBroker.Employee.Email)</a><br></text>
3681 }
3682 @if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile))
3683 {
3684 <text>Tlf.: <a href="tel:@(MyBroker.Employee.PhoneMobile)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Employee.PhoneMobile)</a></text>
3685 }
3686 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
3687 {
3688 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
3689 }
3690 </p>
3691 </div>
3692 <div class="col-12 col-sm-6">
3693 <p>
3694 <b class="my-broker-company-name">@bName</b><br>
3695 <span class="my-broker-company-address">@MyBroker.Broker.Address</span><br>
3696 <span class="my-broker-company-zip">@MyBroker.Broker.ZipCode</span> <span class="my-broker-company-city">@MyBroker.Broker.City</span><br>
3697 @if (!string.IsNullOrEmpty(bEmail))
3698 {
3699 <text>Mail: <a href="mailto:@(bEmail)" class="my-broker-broker-email">@bEmail</a><br></text>
3700 }
3701 @if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
3702 {
3703 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
3704 }
3705 </p>
3706 </div>
3707 </div>
3708 <div class="row">
3709 <br />
3710 <div class="col-12 col-sm-6">
3711 <a href="/@medlemsnummer.Substring(1)" class="btn btn-primary btn-block my-broker-company-url">Til mæglerens side</a>
3712 </div>
3713
3714 </div>
3715 </div>
3716 </div>
3717 </section>
3718 }
3719 <footer>
3720 <div class="container">
3721 <div class="row">
3722 @{
3723 var navigationSettings = new NavigationSettings();
3724 navigationSettings.StartLevel = 1;
3725 navigationSettings.StopLevel = 3;
3726 navigationSettings.ExpandMode = ExpandMode.All;
3727 navigationSettings.RootAreaId = 1;
3728 navigationSettings.RootNavigationTag = "footer-nav";
3729
3730 }
3731 @Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings)
3732 </div>
3733 </div>
3734 </footer>
3735
3736 @if (Model.CurrentUser?.ID <= 0)
3737 {
3738 <div id="panel-login" class="panel panel-form">
3739 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3740 <b></b>
3741 </button>
3742 <div class="loginform login">
3743 @if (loginParagraphId > 0)
3744 {
3745 <text>
3746 @RenderParagraphContent(loginParagraphId)
3747 </text>
3748 }
3749 </div>
3750 <div class="loginform register js-register-form-wrapper" style="display: none;">
3751 @if (createUserParagraphId > 0)
3752 {
3753 <text>
3754 @RenderParagraphContent(createUserParagraphId)
3755 </text>
3756 }
3757 </div>
3758 <div class="loginform forgotpw" style="display: none;">
3759 <h2 class="forgotpw-reg">@Translate("forgot-pw-reg-title", "Glemt adgangskode")</h2>
3760 <h2 class="forgotpw-broker">@Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")</h2>
3761 <form id="forgotPwForm" class="form-body" method="post" action="">
3762 <input type="hidden" id="AccessUserShopID" name="AccessUserShopID" value="SHOP6" />
3763 <p class="forgotpw-reg">@Translate("forgot-pw-reg-teaser", "Har du glemt din adgangskode? Udfyld din e-mail herunder og få tilsendt instrukser for nulstillelse/ændring af din adgangskode.")</p>
3764 <p class="forgotpw-broker">@Translate("forgot-pw-broker-teaser", "Er du blevet tilmeldt via. din mægler, men mangler adgangskode til dit login? Udfyld e-mailen du har oplyst hos mægleren og få tilsendt instrukser for nulstillelse/ændring af din adgangskode.")</p>
3765 <div class="form-group">
3766 <input id="AccessUserEmail" name="AccessUserEmail" type="email" pattern="[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$" placeholder="E-mail" class="form-control" required />
3767 </div>
3768 <button class="btn btn-primary btn-block" type="submit">@Translate("forgot-pw-cta", "Nulstil adgangskode")</button>
3769 <br />
3770 <div id="submitMessage"></div>
3771 </form>
3772 </div>
3773 </div>
3774 }
3775
3776 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel>
3777 @using Dynamicweb.Security.UserManagement
3778
3779 @{
3780 string privacyPolicyText = Translate("Smartpage:PrivacyPolicyText", "* Der samles ingen personlige oplysninger uden dit udtrykkelige samtykke. Ved at klikke på denne checkboks giver du dit samtykke til, at dine data samles og behandles af RealMæglerne A/S for at kunne kontakte dig. Du kan til enhver tid tilbagekalde dit samtykke. For at gøre dette skal du blot sende en meddelelse til");
3781 }
3782
3783 <div id="panel-kontakt-koeberraadgivning" class="panel panel-form">
3784 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3785 <b></b>
3786 </button>
3787 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
3788 <form id="form-koeberraadgivning" method="POST" action="/InboxHandler">
3789 <div class="form-group">
3790 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
3791 <input class="form-control" type="text" name="navn" tabindex="1" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required />
3792 </div>
3793 <div class="form-group">
3794 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
3795 <input class="form-control" type="email" tabindex="2" pattern="[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$" name="email" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Email", "Indtast din e-mail")' value='@UserContext.Current.User?.Email' required />
3796 </div>
3797 <div class="form-group row mb-4">
3798 <div class="col-6">
3799 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
3800 <input class="form-control" type="tel" pattern="^[0-9]*$" tabindex="3" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr.")' value='@UserContext.Current.User?.Phone' required />
3801 </div>
3802 <div class="col-6">
3803 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
3804 <input class="form-control" type="tel" pattern="^[0-9]*$" tabindex="4" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr.")' value='@UserContext.Current?.User?.Phone' />
3805 </div>
3806 </div>
3807 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
3808 <div class="form-group row">
3809 <div class="col-4">
3810 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
3811 <input class="form-control js-postnummer" type="tel" pattern="^[0-9]*$" maxlength="4" name="postnummer" tabindex="5" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr")' value="@userZip" required />
3812 <input type="hidden" class="js-postnummer-validation" />
3813 </div>
3814 <div class="col-8">
3815 <label><strong>@Translate("form-city", "By")*</strong></label>
3816 <input class="form-control js-city" type="text" readonly />
3817 </div>
3818 </div>
3819 <div class="form-group overflow-unset">
3820 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
3821 <input class="form-control js-validate-address" type="text" name="adresse" tabindex="6" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' required />
3822
3823 <label class="form-validate-error js-address-error d-none" for="adresse">@Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")</label>
3824 </div>
3825 <button class="form-control text-left js-collapse-focus" type="button" data-toggle="collapse" data-target="#kontaktkoeberrradgiver-collapse" aria-expanded="false" aria-controls="kontaktkoeberrradgiver-collapse">
3826 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
3827 </button>
3828 <div class="collapse" id="kontaktkoeberrradgiver-collapse">
3829 <div class="form-group">
3830 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
3831 </div>
3832 </div>
3833
3834 <div class="form-group">
3835 <div class="row">
3836 <div class="col-12">
3837 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
3838 </div>
3839 </div>
3840 </div>
3841 <div class="form-group mt-3">
3842 <div class="checkbox">
3843 <label>
3844 <input type="checkbox" name="kontaktmigok" required />
3845
3846 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
3847
3848 </label>
3849 </div>
3850 </div>
3851 <div class="form-group form-group-terms">
3852 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
3853 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
3854 </div>
3855
3856 <input type="hidden" name="fn" value="krk" />
3857 <input type="hidden" name="origin" value="" />
3858 <input type="hidden" name="brugerId" value="" />
3859 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
3860 <input type="hidden" name="butikId" value="@butikId" />
3861 <input type="hidden" name="ejendomstype" value="" />
3862 <input type="hidden" name="salgspris" value="" />
3863 <input type="hidden" name="modtager" value="" />
3864 </form>
3865 <div id="tak-kontakt-advisor" style="display:none;">
3866 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
3867 <div class="row">
3868 <div class="col-6">
3869 <img src="" class="img-fluid js-maegler-img" />
3870 </div>
3871 <div class="col-6">
3872 <p class="js-maegler-name"></p>
3873 <p class="js-maegler-address"></p>
3874 <p class="js-maegler-phone"></p>
3875 <p class="js-maegler-mail"></p>
3876 </div>
3877 </div>
3878 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
3879 </div>
3880 </div>
3881
3882 <!--ÅBENT HUS-->
3883 <div id="panel-aabenthus" class="panel panel-form">
3884 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3885 <b></b>
3886 </button>
3887
3888
3889 <form id="form-aabenthus" method="POST" action="/InboxHandler">
3890 <h2>@Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")</h2>
3891 <div class="d-block">
3892 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
3893 </div>
3894 <div class="d-block">
3895 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
3896 </div>
3897 <div class="d-block mb-4">
3898 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
3899 </div>
3900 <h3>@Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")</h3>
3901 <div class="form-group">
3902 <label for="aabenthus-name"><strong>@Translate("form-navn", "Navn")*</strong></label>
3903 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current?.User?.Name' required />
3904 </div>
3905 <div class="form-group">
3906 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
3907 <input class="form-control" type="email" pattern="[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$" name="email" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Email", "Indtast din e-mail")' value='@UserContext.Current.User?.Email' required />
3908 </div>
3909 <div class="form-group row">
3910 <div class="col-6">
3911 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
3912 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr.")' value='@UserContext.Current.User?.Phone' required />
3913 </div>
3914 <div class="col-6">
3915 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
3916 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr.")' value='@UserContext.Current.User?.Phone' />
3917 </div>
3918 </div>
3919 <div class="form-group">
3920 <div class="row">
3921 <div class="col-12">
3922 <button type="submit" class="btn btn-block btn-green">@Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")</button>
3923 </div>
3924 </div>
3925 </div>
3926 <div class="form-group">
3927 <div class="checkbox">
3928 <label>
3929 <input type="checkbox" name="kontaktmigok" required />
3930
3931 <span class="base-color">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
3932
3933 </label>
3934 </div>
3935 </div>
3936 <div class="form-group">
3937 @string.Format(Translate("Smartpage:Panel.Accept", "Du accepterer samtidig vores {0} og giver samtykke til, at dine data samles og behandles af RealMæglerne A/S for at kunne kontakte dig"), "<a href='" + settings_Persondatapolitik + "'>privatlivspolitikkerne</a>")
3938
3939 </div>
3940 <input type="hidden" name="fn" value="ah" />
3941 <input type="hidden" name="origin" value="" />
3942 <input type="hidden" name="brugerId" value="@userID" />
3943 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
3944 <input type="hidden" name="butikId" value="@butikId" />
3945 <input type="hidden" name="sagsaddresse" value="" class="js-aabenthus-address-input" />
3946 <input type="hidden" name="ejendomstype" value="" />
3947 <input type="hidden" name="salgspris" value="" />
3948 <input type="hidden" name="modtager" value="" />
3949 <input type="hidden" name="employee" value="" />
3950 <input type="hidden" name="sagsnr" value="" class="js-sagsnr" />
3951 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
3952 <input type="hidden" name="aftaleid" value="" class="js-aftaleid" />
3953
3954 <input type="hidden" name="dateMail" class="js-aabenthus-date-input" />
3955 <input type="hidden" name="timeMail" class="js-aabenthus-time-input" />
3956 <input type="hidden" name="brokerImageMail" class="property-broker-image-input" />
3957 <input type="hidden" name="employeeNameMail" class="js-maegler-employee-name-input" />
3958 <input type="hidden" name="employeeTitleMail" class="js-maegler-employee-title-input" />
3959 <input type="hidden" name="employeeMailMail" class="js-maegler-mail-input" />
3960 <input type="hidden" name="employeeMobileMail" class="js-maegler-mobile-input" />
3961 <input type="hidden" name="employeePhoneMail" class="js-maegler-phone-input" />
3962
3963 <input type="hidden" name="brokerNameMail" class="js-broker-name-input" />
3964 <input type="hidden" name="brokerAddressMail" class="js-broker-address-input" />
3965 <input type="hidden" name="brokerPhoneMail" class="js-broker-phone-input" />
3966 </form>
3967 <div id="tak-aabenthus" style="display:none;">
3968 <h2>@Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")</h2>
3969 <div class="d-block">
3970 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
3971 </div>
3972 <div class="d-block">
3973 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
3974
3975 </div>
3976 <div class="d-block mb-4">
3977 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
3978
3979 </div>
3980
3981 <div class="js-employee">
3982 <p>@String.Format(Translate("Smartpage:Aabenthus.Tak", "Vi glæder os til at vise dig boligen. Har du spørgsmål inden vi ses, kan du kontakte {0} fra RealMæglerne"), "<b class='js-aabenthus-employee-name'></b>")</p>
3983 </div>
3984 <div class="js-not-employee">
3985 <p>@Translate("Smartpage:Aabenthus.Tak.NoEmployee", "Vi glæder os til at vise dig boligen. Har du spørgsmål inden vi ses, er du velkommen til at kontakte os")</p>
3986 </div>
3987
3988 <div class="row">
3989 <div class="js-employee">
3990 <div class="col-12 js-maegler-img aabenthus-image">
3991 <div class="property-broker-image" style=""></div>
3992
3993 </div>
3994 </div>
3995 <div class="col-12">
3996 <div class="bg-base">
3997
3998 <div class="js-employee">
3999 <h4 class="js-maegler-employee-name"></h4>
4000 <div class="icon-container">
4001 <i class="fas fa-envelope"></i> <span class="js-maegler-mail"></span>
4002 </div>
4003 <div class="icon-container">
4004 <i class="fas fa-phone"></i> <span class="js-maegler-mobile"></span>
4005 </div>
4006 </div>
4007
4008
4009 <h4 class="js-maegler-name"></h4>
4010 <div class="icon-container">
4011 <i class="fas fa-map-marker-alt"></i> <span class="js-maegler-address"></span>
4012 </div>
4013 <div class="icon-container">
4014 <i class="fas fa-phone"></i> <span class="js-maegler-phone"></span>
4015
4016 </div>
4017 <a class="btn btn-border" onclick="panelKontaktmaeglerGuldkoeber()">KONTAKT MÆGLER</a>
4018 </div>
4019 </div>
4020 </div>
4021 </div>
4022 </div>
4023
4024 <!-- KONTAKT GULDKØBER -->
4025 <div id="panel-kontakt-guldkoeber" class="panel panel-form">
4026 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4027 <b></b>
4028 </button>
4029 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
4030 <form id="form-kontaktmaegler" method="POST" action="/InboxHandler">
4031 <div class="form-group">
4032 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4033 <input class="form-control" type="text" name="navn" placeholder='@Translate("form-navn", "Navn")' value='@UserContext.Current.User?.Name' required />
4034 </div>
4035 <div class="form-group">
4036 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4037 <input class="form-control" type="email" pattern="[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$" name="email" placeholder='@Translate("form-email", "E-mail")' value='@UserContext.Current.User?.Email' required />
4038 </div>
4039 <div class="form-group row mb-4">
4040 <div class="col-6">
4041 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4042 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr.")' value='@UserContext.Current.User?.Phone' required />
4043 </div>
4044 <div class="col-6">
4045 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4046 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr.")' value='@UserContext.Current.User?.Phone' />
4047 </div>
4048 </div>
4049 <div class="form-group row">
4050 <div class="col-4">
4051 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4052 <input class="form-control js-postnummer" type="tel" pattern="^[0-9]*$" maxlength="4" name="postnummer" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr")' value="@userZip" required />
4053 <input type="hidden" class="js-postnummer-validation" />
4054 </div>
4055 <div class="col-8">
4056 <label><strong>@Translate("form-city", "By")*</strong></label>
4057 <input class="form-control js-city" type="text" readonly />
4058 </div>
4059 </div>
4060
4061 <div class="form-group overflow-unset">
4062 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4063 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4064 <label class="form-validate-error js-address-error d-none" for="adresse">@Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")</label>
4065 </div>
4066 <div class="form-group">
4067 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4068 </div>
4069 <div class="form-group">
4070 <div class="checkbox">
4071 <label>
4072 <input type="checkbox" name="kontaktmigok" required />
4073
4074 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4075
4076 </label>
4077 </div>
4078 </div>
4079 <div class="form-group">
4080 <div class="row">
4081 <div class="col-12">
4082 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
4083 </div>
4084 </div>
4085 </div>
4086 <div class="form-group form-group-terms">
4087 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4088 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4089 </div>
4090 <input type="hidden" name="fn" value="gk" />
4091 <input type="hidden" name="origin" value="" />
4092 <input type="hidden" name="brugerId" value="@userID" />
4093 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4094 <input type="hidden" name="butikId" value="@butikId" />
4095 <input type="hidden" name="ejendomstype" value="" />
4096 <input type="hidden" name="salgspris" value="" />
4097 <input type="hidden" name="modtager" value="" />
4098 <input type="hidden" name="employee" value="" />
4099 </form>
4100 <div id="tak-kontakt-maegler-guldkoeber" style="display:none;">
4101 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4102 <p>@Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")</p>
4103 <div class="row">
4104 <div class="col-6">
4105 <img src="" class="img-fluid js-maegler-img" />
4106 </div>
4107 <div class="col-6">
4108 <p class="js-maegler-name"></p>
4109 <p class="js-maegler-address"></p>
4110 <p class="js-maegler-phone"></p>
4111 <p class="js-maegler-mail"></p>
4112 </div>
4113 </div>
4114 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4115 </div>
4116 </div>
4117
4118 <!-- BESTIL SALGSVURDERING -->
4119 <div id="panel-salgsvurdering" class="panel panel-form">
4120 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4121 <b></b>
4122 </button>
4123
4124 <form id="bestil-salgsvurdering" class="buyer-advisor-form js-buyer-advisor-form" method="POST" action="/InboxHandler">
4125 <h2 class="js-buyer-advisor-header">@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
4126 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
4127 <div class="form-group">
4128 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4129 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required />
4130 </div>
4131 <div class="form-group">
4132 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4133 <input class="form-control" type="email" pattern="[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$" name="email" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail")' value='@UserContext.Current.User?.Email' required />
4134 </div>
4135 <div class="form-group row mb-4">
4136 <div class="col-6">
4137 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4138 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr.")' value='@UserContext.Current.User?.Phone' required />
4139 </div>
4140 <div class="col-6">
4141 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4142 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr.")' value='@UserContext.Current.User?.Phone' />
4143 </div>
4144
4145 </div>
4146
4147 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
4148 <div class="form-group row">
4149 <div class="col-4">
4150 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4151 <input class="form-control js-postnummer js-updatebroker-list" type="tel" pattern="^[0-9]*$" maxlength="4" name="postnummer" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr")' value="@userZip" required />
4152 <input type="hidden" class="js-postnummer-validation" />
4153 </div>
4154 <div class="col-8">
4155 <label><strong>@Translate("form-city", "By")*</strong></label>
4156 <input class="form-control js-city" type="text" readonly />
4157 </div>
4158 </div>
4159 <div class="form-group overflow-unset">
4160 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4161 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4162 <label class="form-validate-error js-address-error d-none" for="adresse">@Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")</label>
4163 </div>
4164
4165 <button class="form-control text-left js-collapse-focus" type="button" data-toggle="collapse" data-target="#salgsvurdering-collapse" aria-expanded="false" aria-controls="salgsvurdering-collapse">
4166 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
4167 </button>
4168 <div class="collapse" id="salgsvurdering-collapse">
4169 <div class="form-group">
4170 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4171 </div>
4172 </div>
4173
4174
4175 <div class="salgsvurdering-precheck">
4176 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
4177 <div class="col-12">
4178 <div class="choose-broker row align-items-center active">
4179 <div class="col-2">
4180 <input class="js-broker-radio" type="radio" id="" name="choose-broker" value="" checked>
4181 <label class="js-broker-label" for=""></label><div class="check">
4182 <div class="inside">
4183 </div>
4184 </div>
4185 </div>
4186 <div class="col-4">
4187 <img src="" class="img-fluid js-broker-image">
4188 </div>
4189 <div class="col-6">
4190 <span class="d-block">
4191 <strong class="js-choose-broker-name"></strong>
4192 </span>
4193 <span class="js-choose-broker-address"></span>
4194 <input type="hidden" class="js-choose-broker-phone" value="" />
4195 <input type="hidden" class="js-choose-broker-email" value="" />
4196 </div>
4197 </div>
4198 </div>
4199 </div>
4200 <div class="salgsvurdering-broker">
4201 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
4202 <div class="js-choose-broker col-12">
4203 </div>
4204
4205 </div>
4206
4207 <div class="form-group mt-4">
4208 <div class="checkbox">
4209 <label>
4210 <input type="checkbox" name="kontaktmigok" required />
4211
4212 <span class="consent-checkbox">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4213
4214 </label>
4215 </div>
4216 </div>
4217 <div class="form-group">
4218 <div class="row">
4219 <div class="col-12">
4220 <button type="submit" class="btn btn-green btn-block js-buyer-advisor-button">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
4221 </div>
4222 </div>
4223 </div>
4224 <div class="form-group form-group-terms">
4225 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4226 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4227 </div>
4228 <input type="hidden" name="fn" value="bsv" />
4229 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
4230 <input type="hidden" name="brugerId" value="@userID" />
4231 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4232 <input type="hidden" id="boligvisning" name="boligvisning" value="" />
4233 <input type="hidden" id="panel-salgsvurdering-butikid" name="butikId" value="" />
4234 <input type="hidden" id="panel-salgsvurdering-sagsnr" name="sagsnr" value="" />
4235 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
4236 <input type="hidden" name="ejendomstype" value="" />
4237 <input type="hidden" name="salgspris" value="" />
4238 <input type="hidden" name="employee" value="" />
4239 <input type="hidden" name="modtager" value="" />
4240 <input class="js-value-check" type="hidden" name="valueCheck" value="" />
4241 <input class="js-green-appraisal" type="hidden" name="greenAppraisal" value="" />
4242 </form>
4243 <div id="tak-salgsvurdering" style="display:none;">
4244 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4245 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
4246 <div class="row">
4247 <div class="col-6">
4248 <img src="" class="img-fluid js-maegler-img" />
4249 </div>
4250 <div class="col-6">
4251 <p class="js-maegler-name"></p>
4252 <p class="js-maegler-address"></p>
4253 <p class="js-maegler-phone"></p>
4254 <p class="js-maegler-mail"></p>
4255 </div>
4256 </div>
4257 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4258 </div>
4259 </div>
4260
4261 <!-- BESTIL SALGSVURDERING GULDKØBER -->
4262 <div id="panel-salgsvurdering-guldkoeber" class="panel panel-form">
4263 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4264 <b></b>
4265 </button>
4266
4267 <form id="bestil-salgsvurdering-guldkoeber" method="POST" action="/InboxHandler">
4268 <h2>@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
4269 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
4270 <div class="form-group">
4271 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4272 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required />
4273 </div>
4274 <div class="form-group">
4275 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4276 <input class="form-control" type="email" pattern="[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$" name="email" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail")' value='@UserContext.Current.User?.Email' required />
4277 </div>
4278 <div class="form-group row mb-4">
4279 <div class="col-6">
4280 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4281 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr.")' value='@UserContext.Current.User?.Phone' />
4282 </div>
4283 <div class="col-6">
4284 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4285 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr.")' value='@UserContext.Current.User?.Phone' required />
4286 </div>
4287 </div>
4288
4289 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
4290
4291 <div class="form-group row">
4292 <div class="col-4">
4293 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4294 <input class="form-control js-postnummer js-updatebroker-list" type="tel" pattern="^[0-9]*$" maxlength="4" name="postnummer" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr")' value="@userZip" required />
4295 <input type="hidden" class="js-postnummer-validation" />
4296 </div>
4297 <div class="col-8">
4298 <label><strong>@Translate("form-city", "By")*</strong></label>
4299 <input class="form-control js-city" type="text" readonly />
4300 </div>
4301 </div>
4302 <div class="form-group overflow-unset">
4303 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4304 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4305 <label class="form-validate-error js-address-error d-none" for="adresse">@Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")</label>
4306 </div>
4307
4308 <button class="form-control text-left js-collapse-focus" type="button" data-toggle="collapse" data-target="#salgsvurdering-collapse" aria-expanded="false" aria-controls="salgsvurdering-collapse">
4309 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
4310 </button>
4311 <div class="collapse" id="salgsvurdering-collapse">
4312 <div class="form-group">
4313 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4314 </div>
4315 </div>
4316
4317 <div class="salgsvurdering-precheck">
4318 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
4319 <div class="col-12">
4320 <div class="choose-broker row align-items-center active">
4321 <div class="col-2">
4322 <input class="js-broker-radio" type="radio" id="" name="choose-broker-gk" value="" checked>
4323 <label class="js-broker-label" for=""></label><div class="check">
4324 <div class="inside">
4325 </div>
4326 </div>
4327 </div>
4328 <div class="col-4">
4329 <img src="" class="img-fluid js-broker-image">
4330 </div>
4331 <div class="col-6">
4332 <span class="d-block">
4333 <strong class="js-choose-broker-name"></strong>
4334 </span>
4335 <span class="js-choose-broker-address"></span>
4336 <input type="hidden" class="js-choose-broker-phone" value="" />
4337 <input type="hidden" class="js-choose-broker-email" value="" />
4338 </div>
4339 </div>
4340 </div>
4341 </div>
4342 <div class="salgsvurdering-broker">
4343 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
4344 <div class="js-choose-broker col-12">
4345 </div>
4346
4347 </div>
4348
4349
4350 <div class="form-group">
4351 <div class="row">
4352 <div class="col-12">
4353 <button type="submit" class="btn btn-green btn-block">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
4354 </div>
4355 </div>
4356 </div>
4357 <div class="form-group">
4358 <div class="checkbox">
4359 <label>
4360 <input type="checkbox" name="kontaktmigok" required />
4361
4362 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4363
4364 </label>
4365 </div>
4366 </div>
4367 <div class="form-group form-group-terms">
4368 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4369 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4370 </div>
4371 <input type="hidden" name="fn" value="bsg" />
4372 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
4373 <input type="hidden" name="brugerId" value="@userID" />
4374 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4375 <input type="hidden" id="boligvisning-gk" name="boligvisning" value="" />
4376 <input type="hidden" id="panel-salgsvurdering-gk-butikid" name="butikId" value="" />
4377 <input type="hidden" id="panel-salgsvurdering-gk-sagsnr" name="sagsnr" value="" />
4378 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
4379 <input type="hidden" name="ejendomstype" value="" />
4380 <input type="hidden" name="salgspris" value="" />
4381 <input type="hidden" name="employee" value="" />
4382 <input type="hidden" name="modtager" value="" />
4383 </form>
4384 <div id="tak-salgsvurdering" style="display:none;">
4385 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4386 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
4387 <div class="row">
4388 <div class="col-6">
4389 <img src="" class="img-fluid js-maegler-img" />
4390 </div>
4391 <div class="col-6">
4392 <p class="js-maegler-name"></p>
4393 <p class="js-maegler-address"></p>
4394 <p class="js-maegler-phone"></p>
4395 <p class="js-maegler-mail"></p>
4396 </div>
4397 </div>
4398 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4399 </div>
4400 </div>
4401
4402
4403 <div class="overlay-wrapper"></div>
4404 <div class="dropdown-overlay"></div>
4405 <div class="loader-inner ball-pulse"></div>
4406
4407 @{
4408 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js"));
4409 <script type="text/javascript" src='@(TemplateUrl)assets/webpack/js/3rdparty/viamapstrap.js?@(viamapstrapFileInfo.LastWriteTime.Ticks)' async></script>
4410
4411 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js"));
4412 <script type="text/javascript" src='@(TemplateUrl)assets/dist/bundle.app.min.js?@(bundleFileInfo.LastWriteTime.Ticks)' async></script>
4413 }
4414
4415 @RenderSnippet("JavaScriptBottom")
4416
4417 @if (Context.Current.Request.QueryString["ShowLogin"] == "true")
4418 {
4419 <input class="js-showLogin" value="true" />
4420 }
4421
4422 @if (!string.IsNullOrEmpty(settings_ConduzeId))
4423 {
4424 <script type="text/javascript" id="conduze-sdk" src="https://cdn.conduze.com/@settings_ConduzeId/tracking.js" async></script>
4425 }
4426
4427 @if (!string.IsNullOrEmpty(settings_Weply))
4428 {
4429 <script src="https://app.weply.chat/widget/@settings_Weply" async></script>
4430 }
4431
4432 </body>
4433 </html>
4434
4435