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 1685: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1685: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1690: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1692: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1752: The name 'RenderMobileFilters' does not exist in the current context
Line 1761: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1821: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1836: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1852: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1899: Argument 1: cannot convert from 'void' to 'object'
Line 5032: 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_3c4f9d507b3a4540b1279ad1e8b7a1ea : 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 int mainSiteAreaId = Custom.Navigation.Config.GetMainSiteAreaId();
701
702 var myAccountPage = Dynamicweb.Content.Services.Pages.GetPageByNavigationTag(mainSiteAreaId, "MyAccount");
703
704 WriteLiteral(" <div class=\"header__container container\">\r\n <div class=\"header__logo\">\r\n <a href=\"/\"");
705 BeginWriteAttribute("title", " title=\"", 131562, "\"", 131570, 0);
706 EndWriteAttribute();
707 WriteLiteral(">\r\n <img");
708 BeginWriteAttribute("src", " src=\"", 131598, "\"", 131614, 1);
709 WriteAttributeValue("", 131604, logoUrl, 131604, 10, false);
710 EndWriteAttribute();
711 BeginWriteAttribute("alt", " alt=\"", 131615, "\"", 131621, 0);
712 EndWriteAttribute();
713 WriteLiteral(" />\r\n </a>\r\n </div>\r\n <div class=\"header__title\">\r\n <span>");
714 Write(Translate("Custom:Header.Title", "Realmæglerne"));
715 WriteLiteral("</span> \r\n </div>\r\n");
716 if (myAccountPage is object)
717 {
718 WriteLiteral(@" <div class=""header__navigation d-none d-md-flex"">
719 <div class=""header__navigation"">
720 <div class=""header__Link"">
721 <ul>
722 <li class=""d-flex align-items-center"">
723 <svg xmlns=""http://www.w3.org/2000/svg"" width=""20"" height=""20"" viewBox=""0 0 20 20"" fill=""none"">
724 <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"" />
725 ");
726 WriteLiteral(" </svg>\r\n <a class=\"ml-2\"");
727 BeginWriteAttribute("href", " href=\"", 132992, "\"", 133033, 2);
728 WriteAttributeValue("", 132999, "/Default.aspx?ID=", 132999, 17, true);
729 WriteAttributeValue("", 133016, myAccountPage.ID, 133016, 17, false);
730 EndWriteAttribute();
731 WriteLiteral(" target=\"_blank\">");
732 Write(Translate("Mit RealMæglerne"));
733 WriteLiteral("</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n");
734
735 }
736 WriteLiteral(" <div class=\"header__search flex-column flex-md-row js-mainsearch\">\r\n ");
737 Write(Translate("Søg bolig"));
738 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 ");
739 Write(Translate("Menu"));
740 WriteLiteral("\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n");
741 }
742 WriteLiteral("\r\n <div class=\"search-modal\">\r\n\r\n");
743 if (Converter.ToString(Pageview.Area.Item["Type"]) == "real")
744 {
745 WriteLiteral(@" <div class=""main-search-form"">
746 <i class=""fal fa-times float-right fa-2x js-close-search close-search""></i>
747 <div class=""row mb-3 align-items-center"">
748 <div class=""col-xs-12 col-md-3 border-right"">
749 <h3>");
750 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
751 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\">");
752 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
753 WriteLiteral(@"<span class=""loader js-loader""></span></span>
754
755 </div>
756 </div>
757
758 <form id=""main-search"" class=""searchbar-wrapper"" action=""/Default.aspx"" method=""GET"">
759 <input type=""hidden"" name=""ID""");
760 BeginWriteAttribute("value", " value=\'", 134724, "\'", 134745, 1);
761 WriteAttributeValue("", 134732, searchPageId, 134732, 13, false);
762 EndWriteAttribute();
763 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" />
764 <div class=""row form-wrapper no-gutters"">
765
766 <div class=""col-xs-12 col-md-5 col-searchbar"">
767 <div class=""searchbar"">
768 <input type=""text""");
769 BeginWriteAttribute("name", " name=\"", 135029, "\"", 135056, 1);
770 WriteAttributeValue("", 135036, querySearchNameAttr, 135036, 20, false);
771 EndWriteAttribute();
772 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
773 BeginWriteAttribute("value", " value=\"", 135159, "\"", 135237, 1);
774 WriteAttributeValue("", 135167, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 135167, 70, false);
775 EndWriteAttribute();
776 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
777 BeginWriteAttribute("value", " value=\"", 135331, "\"", 135414, 1);
778 WriteAttributeValue("", 135339, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 135339, 75, false);
779 EndWriteAttribute();
780 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
781 BeginWriteAttribute("value", " value=\"", 135504, "\"", 135585, 1);
782 WriteAttributeValue("", 135512, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 135512, 73, false);
783 EndWriteAttribute();
784 WriteLiteral(@" />
785 </div>
786 </div>
787 <div class=""col-xs-12 col-md-5"">
788 <div class=""row no-gutters"">
789 <div class=""col-xs-12 col-md-6 input-col"">
790 <div class=""dropdown"">
791 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
792 ");
793 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
794 WriteLiteral(@"
795 </button>
796 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
797 <ul class=""bolig-dropdown list-unstyled"">
798 ");
799
800 RenderBoligtypeCheckboxesDropdown();
801 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
802 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
803 WriteLiteral(@"</button>
804 </div>
805
806 </div>
807
808 </div>
809 <div class=""col-xs-12 col-md-6 input-col"">
810 <div class=""dropdown"">
811 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
812 ");
813 Write(Translate("Smartpage:Search.Pris", "Pris"));
814 WriteLiteral(@"
815 </button>
816 <div class=""dropdown-menu box-shadow dropdown-price js-dropdown-price"" aria-labelledby=""Pris"">
817 <input name=""pricemin"" type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
818 BeginWriteAttribute("placeholder", " placeholder=\'", 137836, "\'", 137913, 1);
819 WriteAttributeValue("", 137850, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 137850, 63, false);
820 EndWriteAttribute();
821 BeginWriteAttribute("value", " value=\'", 137914, "\'", 138050, 1);
822 WriteAttributeValue("", 137922, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemin"]) ? Context.Current.Request.QueryString["pricemin"] : "", 137922, 128, false);
823 EndWriteAttribute();
824 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
825 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
826 WriteLiteral("</option>\r\n");
827 for (var i = 0; i <= 10000000; i += 100000)
828 {
829 if (i == 10000000)
830 {
831 WriteLiteral(" <option");
832 BeginWriteAttribute("value", " value=\"", 138687, "\"", 138697, 1);
833 WriteAttributeValue("", 138695, i, 138695, 2, false);
834 EndWriteAttribute();
835 WriteLiteral(" data-value=\'");
836 Write(Converter.ToInt32(i).ToString("N0"));
837 WriteLiteral("+\'>");
838 Write(Convert.ToInt32(i).ToString("N0"));
839 WriteLiteral("+</option>\r\n");
840 }
841 else
842 {
843 WriteLiteral(" <option");
844 BeginWriteAttribute("value", " value=\"", 139027, "\"", 139037, 1);
845 WriteAttributeValue("", 139035, i, 139035, 2, false);
846 EndWriteAttribute();
847 WriteLiteral(" data-value=\'");
848 Write(Converter.ToInt32(i).ToString("N0"));
849 WriteLiteral("\'>");
850 Write(Convert.ToInt32(i).ToString("N0"));
851 WriteLiteral("</option>\r\n");
852 }
853 }
854 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\"");
855 BeginWriteAttribute("placeholder", " placeholder=\'", 139441, "\'", 139518, 1);
856 WriteAttributeValue("", 139455, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 139455, 63, false);
857 EndWriteAttribute();
858 BeginWriteAttribute("value", " value=\'", 139519, "\'", 139655, 1);
859 WriteAttributeValue("", 139527, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemax"]) ? Context.Current.Request.QueryString["pricemax"] : "", 139527, 128, false);
860 EndWriteAttribute();
861 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
862 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
863 WriteLiteral("</option>\r\n");
864 for (var i = 0; i <= 10000000; i += 100000)
865 {
866 if (i == 10000000)
867 {
868 WriteLiteral(" <option");
869 BeginWriteAttribute("value", " value=\"", 140286, "\"", 140296, 1);
870 WriteAttributeValue("", 140294, i, 140294, 2, false);
871 EndWriteAttribute();
872 WriteLiteral(" data-value=\'");
873 Write(Converter.ToInt32(i).ToString("N0"));
874 WriteLiteral("+\'>");
875 Write(Convert.ToInt32(i).ToString("N0"));
876 WriteLiteral("+</option>\r\n");
877 }
878 else
879 {
880 WriteLiteral(" <option");
881 BeginWriteAttribute("value", " value=\"", 140626, "\"", 140636, 1);
882 WriteAttributeValue("", 140634, i, 140634, 2, false);
883 EndWriteAttribute();
884 WriteLiteral(" data-value=\'");
885 Write(Converter.ToInt32(i).ToString("N0"));
886 WriteLiteral("\'>");
887 Write(Convert.ToInt32(i).ToString("N0"));
888 WriteLiteral("</option>\r\n");
889 }
890 }
891 WriteLiteral(@" </select>
892 </div>
893 </div>
894 </div>
895 </div>
896 </div>
897 <div class=""col-xs-12 col-md-2 d-none d-md-block"">
898 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
899 Write(Translate("Smartpage:Search.Søg", "Søg"));
900 WriteLiteral(@"</button>
901 </div>
902 </div>
903
904 <div class=""row moresearch-btn no-gutters"">
905 <div class=""col-sm-12"">
906 <div class=""row align-items-center no-gutters"">
907 <div class=""col-12 col-md-4"">
908 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch"">
909 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open white"">");
910 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
911 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> ");
912 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
913 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\">");
914 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
915 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>");
916 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
917 WriteLiteral(@"</b></h4>
918 <div class=""row align-items-end mb-30"">
919 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
920 <div class=""filter-container row"">
921 <label class=""d-block col-12"">");
922 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
923 WriteLiteral(@"</label>
924 <div class=""col-6 pr-sm-0 pr-2"">
925 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count""");
926 BeginWriteAttribute("placeholder", " placeholder=\'", 143398, "\'", 143471, 1);
927 WriteAttributeValue("", 143412, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 143412, 59, false);
928 EndWriteAttribute();
929 BeginWriteAttribute("value", " value=\'", 143472, "\'", 143618, 1);
930 WriteAttributeValue("", 143480, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmin"]) ? Context.Current.Request.QueryString["boligarealmin"] : "", 143480, 138, false);
931 EndWriteAttribute();
932 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
933 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
934 WriteLiteral("</option>\r\n");
935 for (var i = 0; i <= 300; i += 10)
936 {
937 if (i == 300)
938 {
939 WriteLiteral(" <option>");
940 Write(i);
941 WriteLiteral("+</option>\r\n");
942 }
943 else
944 {
945 WriteLiteral(" <option>");
946 Write(i);
947 WriteLiteral("</option>\r\n");
948 }
949 }
950 WriteLiteral(@" </select>
951
952 </div>
953 <div class=""col-6 pl-sm-0 pl-2"">
954 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count""");
955 BeginWriteAttribute("placeholder", " placeholder=\'", 145003, "\'", 145076, 1);
956 WriteAttributeValue("", 145017, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 145017, 59, false);
957 EndWriteAttribute();
958 BeginWriteAttribute("value", " value=\'", 145077, "\'", 145223, 1);
959 WriteAttributeValue("", 145085, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmax"]) ? Context.Current.Request.QueryString["boligarealmax"] : "", 145085, 138, false);
960 EndWriteAttribute();
961 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
962 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
963 WriteLiteral("</option>\r\n");
964 for (var i = 0; i <= 300; i += 10)
965 {
966 if (i == 300)
967 {
968 WriteLiteral(" <option>");
969 Write(i);
970 WriteLiteral("+</option>\r\n");
971 }
972 else
973 {
974 WriteLiteral(" <option>");
975 Write(i);
976 WriteLiteral("</option>\r\n");
977 }
978 }
979 WriteLiteral(@" </select>
980
981 </div>
982 </div>
983 </div>
984 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
985 <div class=""filter-container row"">
986 <label class=""d-block col-12"">");
987 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
988 WriteLiteral(@"</label>
989 <div class=""col-6 pr-sm-0 pr-2"">
990 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count""");
991 BeginWriteAttribute("placeholder", " placeholder=\'", 147004, "\'", 147077, 1);
992 WriteAttributeValue("", 147018, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 147018, 59, false);
993 EndWriteAttribute();
994 BeginWriteAttribute("value", " value=\'", 147078, "\'", 147225, 1);
995 WriteAttributeValue("", 147086, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmin"]) ? Context.Current.Request.QueryString["grundarealmin"] : "", 147086, 139, false);
996 EndWriteAttribute();
997 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
998 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
999 WriteLiteral("</option>\r\n");
1000 for (var i = 0; i <= 10000; i += 100)
1001 {
1002 if (i == 10000)
1003 {
1004 WriteLiteral(" <option>");
1005 Write(i);
1006 WriteLiteral("+</option>\r\n");
1007 }
1008 else
1009 {
1010 WriteLiteral(" <option>");
1011 Write(i);
1012 WriteLiteral("</option>\r\n");
1013 }
1014 }
1015 WriteLiteral(@" </select>
1016 </div>
1017 <div class=""col-6 pl-sm-0 pl-2"">
1018 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count""");
1019 BeginWriteAttribute("placeholder", " placeholder=\'", 148613, "\'", 148686, 1);
1020 WriteAttributeValue("", 148627, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 148627, 59, false);
1021 EndWriteAttribute();
1022 BeginWriteAttribute("value", " value=\'", 148687, "\'", 148834, 1);
1023 WriteAttributeValue("", 148695, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmax"]) ? Context.Current.Request.QueryString["grundarealmax"] : "", 148695, 139, false);
1024 EndWriteAttribute();
1025 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1026 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1027 WriteLiteral("</option>\r\n");
1028 for (var i = 0; i <= 10000; i += 100)
1029 {
1030 if (i == 10000)
1031 {
1032 WriteLiteral(" <option>");
1033 Write(i);
1034 WriteLiteral("+</option>\r\n");
1035 }
1036 else
1037 {
1038 WriteLiteral(" <option>");
1039 Write(i);
1040 WriteLiteral("</option>\r\n");
1041 }
1042 }
1043 WriteLiteral(@" </select>
1044 </div>
1045 </div>
1046 </div>
1047 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1048 <div class=""filter-container row"">
1049 <label class=""d-block col-12"">Antal rum</label>
1050 <div class=""col-6 pr-sm-0 pr-2"">
1051 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count"">
1052 <option selected=""selected"" disabled=""disabled"">");
1053 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
1054 WriteLiteral("</option>\r\n");
1055
1056 RenderSelectValue("1", "1", "roomsmin");
1057 RenderSelectValue("2", "2", "roomsmin");
1058 RenderSelectValue("3", "3", "roomsmin");
1059 RenderSelectValue("4", "4", "roomsmin");
1060 RenderSelectValue("5+", "5", "roomsmin");
1061 WriteLiteral(@" </select>
1062 </div>
1063 <div class=""col-6 pl-sm-0 pl-2"">
1064 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count"">
1065 <option selected=""selected"" disabled=""disabled"">");
1066 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
1067 WriteLiteral("</option>\r\n");
1068
1069 RenderSelectValue("1", "1", "roomsmax");
1070 RenderSelectValue("2", "2", "roomsmax");
1071 RenderSelectValue("3", "3", "roomsmax");
1072 RenderSelectValue("4", "4", "roomsmax");
1073 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax");
1074 WriteLiteral(@" </select>
1075 </div>
1076 </div>
1077 </div>
1078 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1079 <div class=""row"">
1080 <div class=""col-12 pr-2"">
1081 <div class=""filter-container"">
1082 <label class=""d-block"">Energimærke</label>
1083 <select name=""energylabel"" id=""energylabel"" class=""form-control reverse js-energylabel-select js-count"">
1084 <option selected=""selected"" disabled=""disabled"">");
1085 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
1086 WriteLiteral(@"</option>
1087 <option value=""01"">G</option>
1088 <option value=""02"">F</option>
1089 <option value=""03"">E</option>
1090 <option value=""04"">D</option>
1091 <option value=""05"">C</option>
1092 <option value=""06"">B</option>
1093 <option value=""07"">A</option>
1094 <option value=""08"">A2010</option>
1095 <option value=""09"">A2015</option>
1096 <option value=""10"">A2020+</option>
1097 </select>
1098 </div>
1099 ");
1100 WriteLiteral(@" </div>
1101 </div>
1102 </div>
1103 <div class=""col-12 col-sm-6 col-lg-3 mt-3"">
1104 <h4");
1105 BeginWriteAttribute("class", " class=\"", 154633, "\"", 154641, 0);
1106 EndWriteAttribute();
1107 WriteLiteral("><b>");
1108 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
1109 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
1110 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
1111 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\"");
1112 BeginWriteAttribute("placeholder", " placeholder=\'", 155203, "\'", 155278, 1);
1113 WriteAttributeValue("", 155217, Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"), 155217, 61, false);
1114 EndWriteAttribute();
1115 BeginWriteAttribute("value", " value=\'", 155279, "\'", 155420, 1);
1116 WriteAttributeValue("", 155287, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymin"]) ? Context.Current.Request.QueryString["subsidymin"] : "", 155287, 133, false);
1117 EndWriteAttribute();
1118 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1119 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
1120 WriteLiteral("</option>\r\n");
1121 for (var i = 0; i <= 25000; i += 1250)
1122 {
1123 if (i == 25000)
1124 {
1125 WriteLiteral(" <option");
1126 BeginWriteAttribute("value", " value=\"", 156064, "\"", 156093, 1);
1127 WriteAttributeValue("", 156072, Converter.ToInt32(i), 156072, 21, false);
1128 EndWriteAttribute();
1129 WriteLiteral(">");
1130 Write(Converter.ToInt32(i).ToString("N0"));
1131 WriteLiteral("+</option>\r\n");
1132 }
1133 else
1134 {
1135 WriteLiteral(" <option");
1136 BeginWriteAttribute("value", " value=\"", 156390, "\"", 156419, 1);
1137 WriteAttributeValue("", 156398, Converter.ToInt32(i), 156398, 21, false);
1138 EndWriteAttribute();
1139 WriteLiteral(">");
1140 Write(Converter.ToInt32(i).ToString("N0"));
1141 WriteLiteral("</option>\r\n");
1142 }
1143 }
1144 WriteLiteral(@" </select>
1145 </div>
1146 <div class=""col-6 pl-sm-0 pl-2"">
1147 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count""");
1148 BeginWriteAttribute("placeholder", " placeholder=\'", 156931, "\'", 157006, 1);
1149 WriteAttributeValue("", 156945, Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"), 156945, 61, false);
1150 EndWriteAttribute();
1151 BeginWriteAttribute("value", " value=\'", 157007, "\'", 157148, 1);
1152 WriteAttributeValue("", 157015, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymax"]) ? Context.Current.Request.QueryString["subsidymax"] : "", 157015, 133, false);
1153 EndWriteAttribute();
1154 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1155 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
1156 WriteLiteral("</option>\r\n");
1157 for (var i = 0; i <= 25000; i += 1250)
1158 {
1159 if (i == 25000)
1160 {
1161 WriteLiteral(" <option");
1162 BeginWriteAttribute("value", " value=\"", 157788, "\"", 157817, 1);
1163 WriteAttributeValue("", 157796, Converter.ToInt32(i), 157796, 21, false);
1164 EndWriteAttribute();
1165 WriteLiteral(">");
1166 Write(Convert.ToInt32(i).ToString("N0"));
1167 WriteLiteral("+</option>\r\n");
1168 }
1169 else
1170 {
1171 WriteLiteral(" <option");
1172 BeginWriteAttribute("value", " value=\"", 158112, "\"", 158141, 1);
1173 WriteAttributeValue("", 158120, Converter.ToInt32(i), 158120, 21, false);
1174 EndWriteAttribute();
1175 WriteLiteral(">");
1176 Write(Convert.ToInt32(i).ToString("N0"));
1177 WriteLiteral("</option>\r\n");
1178 }
1179 }
1180 WriteLiteral(@" </select>
1181 </div>
1182 </div>
1183 </div>
1184 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"">
1185 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1186 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
1187 WriteLiteral(@"</button>
1188 </div>
1189 </div>
1190 </div>
1191 </div>
1192 </div>
1193 <div class=""row d-block d-md-none form-wrapper no-gutters"">
1194 <div class=""col-xs-12 col-md-2"">
1195 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1196 Write(Translate("Smartpage:Search.Søg", "Søg"));
1197 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n");
1198 }
1199 else
1200 {
1201 WriteLiteral(@" <div class=""main-search-form center"">
1202 <i class=""fal fa-times float-right fa-2x js-close-search""></i>
1203 <div class=""row mb-3 align-items-center"">
1204 <div class=""col-xs-12 col-md-5 border-right"">
1205 <h3>");
1206 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
1207 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>");
1208 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
1209 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\"");
1210 BeginWriteAttribute("value", " value=\'", 160255, "\'", 160276, 1);
1211 WriteAttributeValue("", 160263, searchPageId, 160263, 13, false);
1212 EndWriteAttribute();
1213 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" />
1214 <div class=""row form-wrapper no-gutters"">
1215
1216 <div class=""col-12 mb-10"">
1217 <div class=""searchbar"">
1218 <input type=""text""");
1219 BeginWriteAttribute("name", " name=\"", 160540, "\"", 160567, 1);
1220 WriteAttributeValue("", 160547, querySearchNameAttr, 160547, 20, false);
1221 EndWriteAttribute();
1222 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
1223 BeginWriteAttribute("value", " value=\'", 160670, "\'", 160690, 1);
1224 WriteAttributeValue("", 160678, querySearch, 160678, 12, false);
1225 EndWriteAttribute();
1226 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
1227 BeginWriteAttribute("value", " value=\'", 160784, "\'", 160809, 1);
1228 WriteAttributeValue("", 160792, queryZipCodeFrom, 160792, 17, false);
1229 EndWriteAttribute();
1230 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
1231 BeginWriteAttribute("value", " value=\'", 160899, "\'", 160922, 1);
1232 WriteAttributeValue("", 160907, queryZipCodeTo, 160907, 15, false);
1233 EndWriteAttribute();
1234 WriteLiteral(@" />
1235 </div>
1236 </div>
1237 <div class=""col-xs-12 col-md-8"">
1238 <div class=""row no-gutters"">
1239 <div class=""col-xs-12 col-md-6 input-col"">
1240 <div class=""dropdown"">
1241 <button class=""btn btn-dropdown dropdown-toggle reverse js-count"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
1242 ");
1243 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
1244 WriteLiteral(@"
1245 </button>
1246 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
1247 <ul class=""bolig-dropdown list-unstyled"">
1248 ");
1249
1250 RenderBoligtypeCheckboxesDropdown();
1251 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
1252 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
1253 WriteLiteral(@"</button>
1254 </div>
1255
1256 </div>
1257
1258 </div>
1259 <div class=""col-xs-12 col-md-6 input-col"">
1260 <div class=""dropdown"">
1261 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
1262 ");
1263 Write(Translate("Smartpage:Search.Pris", "Pris"));
1264 WriteLiteral(@"
1265 </button>
1266 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris"">
1267 <input type=""text"" name=""pricemin"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
1268 BeginWriteAttribute("placeholder", " placeholder=\'", 163164, "\'", 163241, 1);
1269 WriteAttributeValue("", 163178, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 163178, 63, false);
1270 EndWriteAttribute();
1271 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1272 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
1273 WriteLiteral("</option>\r\n");
1274 for (var i = 0; i <= 10000000; i += 100000)
1275 {
1276 if (i == 10000000)
1277 {
1278 WriteLiteral(" <option");
1279 BeginWriteAttribute("value", " value=\"", 163878, "\"", 163888, 1);
1280 WriteAttributeValue("", 163886, i, 163886, 2, false);
1281 EndWriteAttribute();
1282 WriteLiteral(" data-value=\'");
1283 Write(Converter.ToInt32(i).ToString("N0"));
1284 WriteLiteral("+\'>");
1285 Write(Converter.ToInt32(i).ToString("N0"));
1286 WriteLiteral("+</option>\r\n");
1287 }
1288 else
1289 {
1290 WriteLiteral(" <option");
1291 BeginWriteAttribute("value", " value=\"", 164220, "\"", 164230, 1);
1292 WriteAttributeValue("", 164228, i, 164228, 2, false);
1293 EndWriteAttribute();
1294 WriteLiteral(" data-value=\'");
1295 Write(Converter.ToInt32(i).ToString("N0"));
1296 WriteLiteral("\'>");
1297 Write(Converter.ToInt32(i).ToString("N0"));
1298 WriteLiteral("</option>\r\n");
1299 }
1300 }
1301 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\"");
1302 BeginWriteAttribute("placeholder", " placeholder=\'", 164636, "\'", 164713, 1);
1303 WriteAttributeValue("", 164650, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 164650, 63, false);
1304 EndWriteAttribute();
1305 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1306 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
1307 WriteLiteral("</option>\r\n");
1308 for (var i = 0; i <= 10000000; i += 100000)
1309 {
1310 if (i == 10000000)
1311 {
1312 WriteLiteral(" <option");
1313 BeginWriteAttribute("value", " value=\"", 165344, "\"", 165354, 1);
1314 WriteAttributeValue("", 165352, i, 165352, 2, false);
1315 EndWriteAttribute();
1316 WriteLiteral(" data-value=\'");
1317 Write(Converter.ToInt32(i).ToString("N0"));
1318 WriteLiteral("+\'>");
1319 Write(Converter.ToInt32(i).ToString("N0"));
1320 WriteLiteral("+</option>\r\n");
1321 }
1322 else
1323 {
1324 WriteLiteral(" <option");
1325 BeginWriteAttribute("value", " value=\"", 165686, "\"", 165696, 1);
1326 WriteAttributeValue("", 165694, i, 165694, 2, false);
1327 EndWriteAttribute();
1328 WriteLiteral(" data-value=\'");
1329 Write(Converter.ToInt32(i).ToString("N0"));
1330 WriteLiteral("\'>");
1331 Write(Converter.ToInt32(i).ToString("N0"));
1332 WriteLiteral("</option>\r\n");
1333 }
1334 }
1335 WriteLiteral(@" </select>
1336 </div>
1337 </div>
1338 </div>
1339 </div>
1340 </div>
1341 <div class=""col-xs-12 col-md-4 d-none d-md-block"">
1342 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1343 Write(Translate("Smartpage:Search.Søg", "Søg"));
1344 WriteLiteral(@"</button>
1345 </div>
1346 </div>
1347
1348 <div class=""row moresearch-btn no-gutters"">
1349 <div class=""col-sm-12"">
1350 <div class=""row align-items-center no-gutters"">
1351 <div class=""col-12 col-md-5"">
1352 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch-master"">
1353 <span class=""moreSearch-text""><i class=""fas fa-plus open-close white""></i> <span class=""not-open white"">");
1354 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
1355 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> ");
1356 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
1357 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\">");
1358 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
1359 WriteLiteral(@"</a>
1360 </div>
1361 <div class=""col-6 col-md-4 mb-xs-4"">
1362 <div class=""parent-purchases"">
1363 <label class=""checkbox-container white"">
1364 ");
1365 Write(Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet"));
1366 WriteLiteral(@"
1367 <input type=""checkbox"" name=""foraeldrekoebegnet"" value=""true"" class=""js-input-check"">
1368 <span class=""checkmark grey""></span>
1369 </label>
1370 </div>
1371 </div>
1372 </div>
1373
1374 <div class=""collapse"" id=""moreSearch-master"">
1375
1376 <h4 class=""mt-20""><b>");
1377 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
1378 WriteLiteral(@"</b></h4>
1379 <div class=""row align-items-end mb-30"">
1380 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1381 <div class=""filter-container row"">
1382 <label class=""d-block col-12"">");
1383 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
1384 WriteLiteral(@"</label>
1385 <div class=""col-6 pr-sm-0 pr-2"">
1386 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count""");
1387 BeginWriteAttribute("placeholder", " placeholder=\'", 169153, "\'", 169226, 1);
1388 WriteAttributeValue("", 169167, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 169167, 59, false);
1389 EndWriteAttribute();
1390 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1391 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1392 WriteLiteral("</option>\r\n");
1393 for (var i = 0; i <= 300; i += 10)
1394 {
1395 if (i == 300)
1396 {
1397 WriteLiteral(" <option>");
1398 Write(i);
1399 WriteLiteral("+</option>\r\n");
1400 }
1401 else
1402 {
1403 WriteLiteral(" <option>");
1404 Write(i);
1405 WriteLiteral("</option>\r\n");
1406 }
1407 }
1408 WriteLiteral(@" </select>
1409 </div>
1410 <div class=""col-6 pl-sm-0 pl-2"">
1411 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count""");
1412 BeginWriteAttribute("placeholder", " placeholder=\'", 170609, "\'", 170682, 1);
1413 WriteAttributeValue("", 170623, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 170623, 59, false);
1414 EndWriteAttribute();
1415 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1416 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1417 WriteLiteral("</option>\r\n");
1418 for (var i = 0; i <= 300; i += 10)
1419 {
1420 if (i == 300)
1421 {
1422 WriteLiteral(" <option>");
1423 Write(i);
1424 WriteLiteral("+</option>\r\n");
1425 }
1426 else
1427 {
1428 WriteLiteral(" <option>");
1429 Write(i);
1430 WriteLiteral("</option>\r\n");
1431 }
1432 }
1433 WriteLiteral(@" </select>
1434 </div>
1435 </div>
1436 </div>
1437 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1438 <div class=""filter-container row"">
1439 <label class=""d-block col-12"">");
1440 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
1441 WriteLiteral(@"</label>
1442 <div class=""col-6 pr-sm-0 pr-2"">
1443 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count""");
1444 BeginWriteAttribute("placeholder", " placeholder=\'", 172461, "\'", 172534, 1);
1445 WriteAttributeValue("", 172475, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 172475, 59, false);
1446 EndWriteAttribute();
1447 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1448 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1449 WriteLiteral("</option>\r\n");
1450 for (var i = 0; i <= 10000; i += 100)
1451 {
1452 if (i == 10000)
1453 {
1454 WriteLiteral(" <option");
1455 BeginWriteAttribute("value", " value=\"", 173174, "\"", 173203, 1);
1456 WriteAttributeValue("", 173182, Converter.ToInt32(i), 173182, 21, false);
1457 EndWriteAttribute();
1458 WriteLiteral(">");
1459 Write(Converter.ToInt32(i).ToString("N0"));
1460 WriteLiteral("+</option>\r\n");
1461 }
1462 else
1463 {
1464 WriteLiteral(" <option");
1465 BeginWriteAttribute("value", " value=\"", 173500, "\"", 173529, 1);
1466 WriteAttributeValue("", 173508, Converter.ToInt32(i), 173508, 21, false);
1467 EndWriteAttribute();
1468 WriteLiteral(">");
1469 Write(Converter.ToInt32(i).ToString("N0"));
1470 WriteLiteral("</option>\r\n");
1471 }
1472 }
1473 WriteLiteral(@" </select>
1474 </div>
1475 <div class=""col-6 pl-sm-0 pl-2"">
1476 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count""");
1477 BeginWriteAttribute("placeholder", " placeholder=\'", 174050, "\'", 174123, 1);
1478 WriteAttributeValue("", 174064, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 174064, 59, false);
1479 EndWriteAttribute();
1480 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1481 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1482 WriteLiteral("</option>\r\n");
1483 for (var i = 0; i <= 10000; i += 100)
1484 {
1485 if (i == 10000)
1486 {
1487 WriteLiteral(" <option");
1488 BeginWriteAttribute("value", " value=\"", 174754, "\"", 174783, 1);
1489 WriteAttributeValue("", 174762, Converter.ToInt32(i), 174762, 21, false);
1490 EndWriteAttribute();
1491 WriteLiteral(">");
1492 Write(Converter.ToInt32(i).ToString("N0"));
1493 WriteLiteral("+</option>\r\n");
1494 }
1495 else
1496 {
1497 WriteLiteral(" <option");
1498 BeginWriteAttribute("value", " value=\"", 175080, "\"", 175109, 1);
1499 WriteAttributeValue("", 175088, Converter.ToInt32(i), 175088, 21, false);
1500 EndWriteAttribute();
1501 WriteLiteral(">");
1502 Write(Converter.ToInt32(i).ToString("N0"));
1503 WriteLiteral("</option>\r\n");
1504 }
1505 }
1506 WriteLiteral(@" </select>
1507 </div>
1508 </div>
1509 </div>
1510 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1511 <div class=""filter-container row"">
1512 <label class=""d-block col-12"">Antal rum</label>
1513
1514 <div class=""col-6 pr-sm-0 pr-2"">
1515 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count"">
1516 <option selected=""selected"" disabled=""disabled"">");
1517 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
1518 WriteLiteral(@"</option>
1519 <option value=""1"">1</option>
1520 <option value=""2"">2</option>
1521 <option value=""3"">3</option>
1522 <option value=""4"">4</option>
1523 <option value=""5"">5+</option>
1524 </select>
1525 </div>
1526 <div class=""col-6 pl-sm-0 pl-2"">
1527 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count"">
1528 <option selected=""selected"" disabled=""disabled"">");
1529 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
1530 WriteLiteral(@"</option>
1531 <option value=""1"">1</option>
1532 <option value=""2"">2</option>
1533 <option value=""3"">3</option>
1534 <option value=""4"">4</option>
1535 <option value=""5"">5+</option>
1536 </select>
1537 </div>
1538 </div>
1539 </div>
1540 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1541 <div class=""row"">
1542 <div class=""col-12 pr-2"">
1543 <div class=""filter-container"">
1544 <label class=""d-block"">Energimærke</label>
1545 ");
1546 WriteLiteral(" <select name=\"energylabel\" id=\"energylabel\" class=\"form-control reverse js-energylabel-select js-count\">\r\n <option disabled selected=\"selected\">");
1547 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
1548 WriteLiteral(@"</option>
1549 <option value=""01"">G</option>
1550 <option value=""02"">F</option>
1551 <option value=""03"">E</option>
1552 <option value=""04"">D</option>
1553 <option value=""05"">C</option>
1554 <option value=""06"">B</option>
1555 <option value=""07"">A</option>
1556 <option value=""08"">A2010</option>
1557 <option value=""09"">A2015</option>
1558 <option value=""10"">A2020+</option>
1559 </select>
1560 </div>
1561 ");
1562 WriteLiteral(@" </div>
1563 </div>
1564 </div>
1565 <div class=""col-12 col-sm-6 col-lg-6 mt-3"">
1566 <h4");
1567 BeginWriteAttribute("class", " class=\"", 179615, "\"", 179623, 0);
1568 EndWriteAttribute();
1569 WriteLiteral("><b>");
1570 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
1571 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
1572 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
1573 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\"");
1574 BeginWriteAttribute("placeholder", " placeholder=\'", 180185, "\'", 180252, 1);
1575 WriteAttributeValue("", 180199, Translate("Smartpage:Search.Placeholder.Min", "Min"), 180199, 53, false);
1576 EndWriteAttribute();
1577 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1578 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
1579 WriteLiteral("</option>\r\n");
1580 for (var i = 0; i <= 25000; i += 1250)
1581 {
1582 if (i == 25000)
1583 {
1584 WriteLiteral(" <option");
1585 BeginWriteAttribute("value", " value=\"", 180896, "\"", 180925, 1);
1586 WriteAttributeValue("", 180904, Converter.ToInt32(i), 180904, 21, false);
1587 EndWriteAttribute();
1588 WriteLiteral(">");
1589 Write(Converter.ToInt32(i).ToString("N0"));
1590 WriteLiteral("+</option>\r\n");
1591 }
1592 else
1593 {
1594 WriteLiteral(" <option");
1595 BeginWriteAttribute("value", " value=\"", 181222, "\"", 181251, 1);
1596 WriteAttributeValue("", 181230, Converter.ToInt32(i), 181230, 21, false);
1597 EndWriteAttribute();
1598 WriteLiteral(">");
1599 Write(Converter.ToInt32(i).ToString("N0"));
1600 WriteLiteral("</option>\r\n");
1601 }
1602 }
1603 WriteLiteral(@" </select>
1604 </div>
1605 <div class=""col-6 pl-sm-0 pl-2"">
1606 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count""");
1607 BeginWriteAttribute("placeholder", " placeholder=\'", 181763, "\'", 181830, 1);
1608 WriteAttributeValue("", 181777, Translate("Smartpage:Search.Placeholder.Max", "Max"), 181777, 53, false);
1609 EndWriteAttribute();
1610 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1611 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
1612 WriteLiteral("</option>\r\n");
1613 for (var i = 0; i <= 25000; i += 1250)
1614 {
1615 if (i == 25000)
1616 {
1617 WriteLiteral(" <option");
1618 BeginWriteAttribute("value", " value=\"", 182470, "\"", 182499, 1);
1619 WriteAttributeValue("", 182478, Converter.ToInt32(i), 182478, 21, false);
1620 EndWriteAttribute();
1621 WriteLiteral(">");
1622 Write(Converter.ToInt32(i).ToString("N0"));
1623 WriteLiteral("+</option>\r\n");
1624 }
1625 else
1626 {
1627 WriteLiteral(" <option");
1628 BeginWriteAttribute("value", " value=\"", 182796, "\"", 182825, 1);
1629 WriteAttributeValue("", 182804, Converter.ToInt32(i), 182804, 21, false);
1630 EndWriteAttribute();
1631 WriteLiteral(">");
1632 Write(Converter.ToInt32(i).ToString("N0"));
1633 WriteLiteral("</option>\r\n");
1634 }
1635 }
1636 WriteLiteral(@" </select>
1637 </div>
1638 </div>
1639 </div>
1640 <div class=""col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0"">
1641 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1642 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
1643 WriteLiteral(@"</button>
1644 </div>
1645 </div>
1646 </div>
1647 </div>
1648 </div>
1649 <div class=""row d-block d-md-none form-wrapper no-gutters"">
1650 <div class=""col-xs-12 col-md-2"">
1651 <button type=""submit"" class=""btn btn-block btn-search dark-red""><i class=""fa fa-search""></i> ");
1652 Write(Translate("Smartpage:Search.Søg", "Søg"));
1653 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n");
1654 }
1655 WriteLiteral(" </div>\r\n\r\n");
1656
1657 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning));
1658 WriteLiteral("\r\n");
1659 if (isBrokerPage)
1660 {
1661 WriteLiteral(" <section class=\"maegler-navbar\">\r\n ");
1662 Write(RenderNavigation(new
1663 {
1664 id = "navbar-main",
1665 cssclass = "dwnavigation",
1666 template = "ul_li.xslt",
1667 StartLevel = 1,
1668 EndLevel = 1
1669 }));
1670 WriteLiteral("\r\n </section>\r\n");
1671 }
1672 WriteLiteral("\r\n <div class=\"visual-editor\">\r\n");
1673 WriteLiteral("\r\n\r\n");
1674 WriteLiteral("\r\n\r\n");
1675 WriteLiteral("\r\n");
1676
1677 int pageId = Model.ID;
1678 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus");
1679 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles");
1680 bool showTitle = Model.Item.GetBoolean("ShowTitle");
1681 bool showFilters = Model.Item.GetBoolean("ShowFilters");
1682 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter");
1683 bool showSearch = Model.Item.GetBoolean("ShowSearch");
1684 string dynamicListWidth = enablePopular ? "8" : "12";
1685 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle";
1686
1687 Dictionary<string, string> categoriesList = new Dictionary<string, string>();
1688 categoriesList.Add(Translate("All"), "");
1689
1690 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId))
1691 {
1692 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any())
1693 {
1694 categoriesList.Add(page.GetDisplayName(), page.ID.ToString());
1695 }
1696 }
1697
1698 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields;
1699 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : "";
1700 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : "";
1701 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : "";
1702
1703 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null;
1704 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null;
1705 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null;
1706
1707 Block listPageContainer = new Block
1708 {
1709 Id = "ArticleListPageContainer",
1710 SortId = 10,
1711 Design = new Design
1712 {
1713 RenderType = RenderType.Row
1714 },
1715 BlocksList = new List<Block> {
1716 new Block {
1717 Id = "ArticleListPageHeader",
1718 SortId = 20,
1719 Design = new Design
1720 {
1721 RenderType = RenderType.Column,
1722 Size = "12"
1723 },
1724 BlocksList = new List<Block> {
1725 new Block {
1726 Id = "ArticleListPageHeaderRow",
1727 SortId = 10,
1728 Design = new Design
1729 {
1730 RenderType = RenderType.Row
1731 },
1732 BlocksList = new List<Block> {
1733 new Block {
1734 Id = "ArticleListFilters",
1735 SortId = 30,
1736 Design = new Design {
1737 RenderType = RenderType.Column,
1738 Size = "10",
1739 CssClass = "grid__cell"
1740 }
1741 }
1742 }
1743 }
1744 }
1745 }
1746 }
1747 };
1748 articleListPage.Add(listPageContainer);
1749
1750 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") {
1751 Block listFilters = articleListPage.GetBlockById("ArticleListFilters");
1752 listFilters.Template = RenderMobileFilters(listFilters.BlocksList);
1753 listFilters.SkipRenderBlocksList = true;
1754 }
1755
1756 if (showTitle) {
1757 Block titleBlock = new Block
1758 {
1759 Id = "ArticleListTitle",
1760 SortId = 10,
1761 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 },
1762 Design = new Design
1763 {
1764 RenderType = RenderType.Column,
1765 Size = "2"
1766 }
1767 };
1768 articleListPage.Add("ArticleListPageHeaderRow", titleBlock);
1769 }
1770
1771 if (showSearch)
1772 {
1773 Block searchFilter = new Block
1774 {
1775 Id = "ArticleListSearch",
1776 SortId = 10,
1777 Component = new ArticleListSearch { }
1778 };
1779 articleListPage.Add("ArticleListFilters", searchFilter);
1780 }
1781
1782 if (showCategoryFilter)
1783 {
1784 Block categoryFilter = new Block
1785 {
1786 Id = "ArticleListCategoryFilter",
1787 SortId = 20,
1788 Component = new ArticleListCategoryFilter { Categories = categoriesList }
1789 };
1790 articleListPage.Add("ArticleListFilters", categoryFilter);
1791 }
1792
1793 Block listBody = new Block
1794 {
1795 Id = "ArticleListPageBody",
1796 SortId = 30,
1797 Design = new Design
1798 {
1799 RenderType = RenderType.Column,
1800 Size = dynamicListWidth
1801 }
1802 };
1803 articleListPage.Add("ArticleListPageContainer", listBody);
1804
1805 Block listBodyRow = new Block
1806 {
1807 Id = "ArticleListPageBodyRow",
1808 SortId = 10,
1809 Design = new Design
1810 {
1811 RenderType = RenderType.Row
1812 }
1813 };
1814 articleListPage.Add("ArticleListPageBody", listBodyRow);
1815
1816 if (enableArticlesInFocus) {
1817 Block listInFocus = new Block
1818 {
1819 Id = "ArticleListInFocus",
1820 SortId = 10,
1821 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType },
1822 Design = new Design
1823 {
1824 RenderType = RenderType.Column,
1825 Size = "12",
1826 HidePadding = true
1827 }
1828 };
1829 articleListPage.Add("ArticleListPageBodyRow", listInFocus);
1830 }
1831
1832 Block listMain = new Block
1833 {
1834 Id = "ArticleListMain",
1835 SortId = 20,
1836 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType },
1837 Design = new Design
1838 {
1839 RenderType = RenderType.Column,
1840 Size = "12",
1841 HidePadding = true
1842 }
1843 };
1844 articleListPage.Add("ArticleListPageBodyRow", listMain);
1845
1846 if (enablePopular)
1847 {
1848 Block listPopular = new Block
1849 {
1850 Id = "ArticleListPopular",
1851 SortId = 30,
1852 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType },
1853 Design = new Design
1854 {
1855 RenderType = RenderType.Column,
1856 Size = "4",
1857 CssClass = "u-padding--lg"
1858 }
1859 };
1860 articleListPage.Add("ArticleListPageContainer", listPopular);
1861 }
1862
1863 if (showFilters) {
1864 if (filterOneOptions != null)
1865 {
1866 Block filterOne = new Block
1867 {
1868 Id = "ArticleListFilterOne",
1869 SortId = 30,
1870 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" }
1871 };
1872 articleListPage.Add("ArticleListFilters", filterOne);
1873 }
1874
1875 if (filterTwoOptions != null)
1876 {
1877 Block filterTwo = new Block
1878 {
1879 Id = "ArticleListFilterTwo",
1880 SortId = 40,
1881 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" }
1882 };
1883 articleListPage.Add("ArticleListFilters", filterTwo);
1884 }
1885
1886 if (filterThreeOptions != null)
1887 {
1888 Block filterThree = new Block
1889 {
1890 Id = "ArticleListFilterThree",
1891 SortId = 50,
1892 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" }
1893 };
1894 articleListPage.Add("ArticleListFilters", filterThree);
1895 }
1896 }
1897 WriteLiteral("\r\n\r\n");
1898 WriteLiteral("\r\n");
1899 Write(RenderBlockList(articleListPage.BlocksRoot.BlocksList));
1900 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");
1901 if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true)
1902 {
1903 string bName = MyBroker.Broker.Name;
1904 string bClass = "na";
1905 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png";
1906
1907 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName))
1908 {
1909 bName = MyBroker.Broker.CompanyName;
1910 }
1911 try
1912 {
1913 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl");
1914 if (!string.IsNullOrEmpty(imgUrl))
1915 {
1916 bImage = imgUrl;
1917 bClass = "";
1918 }
1919 }
1920 catch
1921 {
1922 // Ignore
1923 }
1924
1925 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId");
1926 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
1927
1928 WriteLiteral(" <section class=\"din-maegler\">\r\n <div");
1929 BeginWriteAttribute("class", " class=\"", 194705, "\"", 194732, 2);
1930 WriteAttributeValue("", 194713, "img-wrapper", 194713, 11, true);
1931 WriteAttributeValue(" ", 194724, bClass, 194725, 7, false);
1932 EndWriteAttribute();
1933 BeginWriteAttribute("style", " style=\"", 194733, "\"", 194772, 3);
1934 WriteAttributeValue("", 194741, "background-image:url(\'", 194741, 22, true);
1935 WriteAttributeValue("", 194763, bImage, 194763, 7, false);
1936 WriteAttributeValue("", 194770, "\')", 194770, 2, true);
1937 EndWriteAttribute();
1938 WriteLiteral(@"></div>
1939 <div class=""container"">
1940 <div class=""col-12 col-sm-12 col-md-6 offset-md-6"">
1941 <h2>Din personlige mægler</h2>
1942 <div class=""row"">
1943 <div class=""col-12 col-sm-6"">
1944 <p>
1945 <b class=""my-broker-name"">");
1946 Write(MyBroker.Employee.Name);
1947 WriteLiteral("</b><br>\r\n");
1948 if (!string.IsNullOrEmpty(MyBroker.Employee.Email))
1949 {
1950 WriteLiteral("Mail: <a");
1951 BeginWriteAttribute("href", " href=\"", 195329, "\"", 195389, 2);
1952 WriteAttributeValue("", 195336, "mailto:", 195336, 7, true);
1953 WriteAttributeValue("", 195343, ExtractMaskedEmail(MyBroker.Employee.Email), 195343, 46, false);
1954 EndWriteAttribute();
1955 WriteLiteral(" class=\"my-broker-email\">");
1956 Write(ExtractMaskedEmail(MyBroker.Employee.Email));
1957 WriteLiteral("</a><br>");
1958
1959 }
1960 if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile))
1961 {
1962 WriteLiteral("Tlf.: <a");
1963 BeginWriteAttribute("href", " href=\"", 195688, "\"", 195731, 2);
1964 WriteAttributeValue("", 195695, "tel:", 195695, 4, true);
1965 WriteAttributeValue("", 195699, MyBroker.Employee.PhoneMobile, 195699, 32, false);
1966 EndWriteAttribute();
1967 WriteLiteral(" class=\"my-broker-phone\">");
1968 Write(FormatPhoneNumber(MyBroker.Employee.PhoneMobile));
1969 WriteLiteral("</a>");
1970
1971 }
1972 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
1973 {
1974 WriteLiteral("Tlf.: <a");
1975 BeginWriteAttribute("href", " href=\"", 196031, "\"", 196070, 2);
1976 WriteAttributeValue("", 196038, "tel:", 196038, 4, true);
1977 WriteAttributeValue("", 196042, MyBroker.Broker.Telephone, 196042, 28, false);
1978 EndWriteAttribute();
1979 WriteLiteral(" class=\"my-broker-phone\">");
1980 Write(FormatPhoneNumber(MyBroker.Broker.Telephone));
1981 WriteLiteral("</a>");
1982
1983 }
1984 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\">");
1985 Write(bName);
1986 WriteLiteral("</b><br>\r\n <span class=\"my-broker-company-address\">");
1987 Write(MyBroker.Broker.Address);
1988 WriteLiteral("</span><br>\r\n <span class=\"my-broker-company-zip\">");
1989 Write(MyBroker.Broker.ZipCode);
1990 WriteLiteral("</span> <span class=\"my-broker-company-city\">");
1991 Write(MyBroker.Broker.City);
1992 WriteLiteral("</span><br>\r\n");
1993 if (!string.IsNullOrEmpty(bEmail))
1994 {
1995 WriteLiteral("Mail: <a");
1996 BeginWriteAttribute("href", " href=\"", 196859, "\"", 196882, 2);
1997 WriteAttributeValue("", 196866, "mailto:", 196866, 7, true);
1998 WriteAttributeValue("", 196873, bEmail, 196873, 9, false);
1999 EndWriteAttribute();
2000 WriteLiteral(" class=\"my-broker-broker-email\">");
2001 Write(bEmail);
2002 WriteLiteral("</a><br>");
2003
2004 }
2005 if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
2006 {
2007 WriteLiteral("Tlf.: <a");
2008 BeginWriteAttribute("href", " href=\"", 197147, "\"", 197186, 2);
2009 WriteAttributeValue("", 197154, "tel:", 197154, 4, true);
2010 WriteAttributeValue("", 197158, MyBroker.Broker.Telephone, 197158, 28, false);
2011 EndWriteAttribute();
2012 WriteLiteral(" class=\"my-broker-broker-phone\">");
2013 Write(FormatPhoneNumber(MyBroker.Broker.Telephone));
2014 WriteLiteral("</a>");
2015
2016 }
2017 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");
2018 BeginWriteAttribute("href", " href=\"", 197562, "\"", 197597, 2);
2019 WriteAttributeValue("", 197569, "/", 197569, 1, true);
2020 WriteAttributeValue("", 197570, medlemsnummer.Substring(1), 197570, 27, false);
2021 EndWriteAttribute();
2022 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");
2023 }
2024 WriteLiteral(" <footer>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n");
2025
2026 var navigationSettings = new NavigationSettings();
2027 navigationSettings.StartLevel = 1;
2028 navigationSettings.StopLevel = 3;
2029 navigationSettings.ExpandMode = ExpandMode.All;
2030 navigationSettings.RootAreaId = 1;
2031 navigationSettings.RootNavigationTag = "footer-nav";
2032
2033 WriteLiteral(" ");
2034 Write(Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings));
2035 WriteLiteral("\r\n </div>\r\n </div>\r\n </footer>\r\n\r\n");
2036 if (Model.CurrentUser?.ID <= 0)
2037 {
2038 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");
2039 if (loginParagraphId > 0)
2040 {
2041 WriteLiteral("\r\n ");
2042 Write(RenderParagraphContent(loginParagraphId));
2043 WriteLiteral("\r\n ");
2044
2045 }
2046 WriteLiteral(" </div>\r\n <div class=\"loginform register js-register-form-wrapper\" style=\"display: none;\">\r\n");
2047 if (createUserParagraphId > 0)
2048 {
2049 WriteLiteral("\r\n ");
2050 Write(RenderParagraphContent(createUserParagraphId));
2051 WriteLiteral("\r\n ");
2052
2053 }
2054 WriteLiteral(" </div>\r\n <div class=\"loginform forgotpw\" style=\"display: none;\">\r\n <h2 class=\"forgotpw-reg\">");
2055 Write(Translate("forgot-pw-reg-title", "Glemt adgangskode"));
2056 WriteLiteral("</h2>\r\n <h2 class=\"forgotpw-broker\">");
2057 Write(Translate("forgot-pw-broker-title", "Tilmeldt via. mægler"));
2058 WriteLiteral("</h2>\r\n <form id=\"forgotPwForm\" class=\"form-body\" method=\"post\"");
2059 BeginWriteAttribute("action", " action=\"", 199660, "\"", 199669, 0);
2060 EndWriteAttribute();
2061 WriteLiteral(">\r\n <input type=\"hidden\" id=\"AccessUserShopID\" name=\"AccessUserShopID\" value=\"SHOP6\" />\r\n <p class=\"forgotpw-reg\">");
2062 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."));
2063 WriteLiteral("</p>\r\n <p class=\"forgotpw-broker\">");
2064 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."));
2065 WriteLiteral(@"</p>
2066 <div class=""form-group"">
2067 <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 />
2068 </div>
2069 <button class=""btn btn-primary btn-block"" type=""submit"">");
2070 Write(Translate("forgot-pw-cta", "Nulstil adgangskode"));
2071 WriteLiteral("</button>\r\n <br />\r\n <div id=\"submitMessage\"></div>\r\n </form>\r\n </div>\r\n </div>\r\n");
2072 }
2073 WriteLiteral("\r\n");
2074 WriteLiteral("\r\n");
2075
2076 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");
2077 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>");
2078 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler"));
2079 WriteLiteral("</h2>\r\n <form id=\"form-koeberraadgivning\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>");
2080 Write(Translate("form-navn", "Navn"));
2081 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\" tabindex=\"1\"");
2082 BeginWriteAttribute("placeholder", " placeholder=\'", 201909, "\'", 201991, 1);
2083 WriteAttributeValue("", 201923, Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn"), 201923, 68, false);
2084 EndWriteAttribute();
2085 BeginWriteAttribute("value", " value=\'", 201992, "\'", 202031, 1);
2086 WriteAttributeValue("", 202000, UserContext.Current.User?.Name, 202000, 31, false);
2087 EndWriteAttribute();
2088 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2089 Write(Translate("form-email", "E-mail"));
2090 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\"");
2091 BeginWriteAttribute("placeholder", " placeholder=\'", 202308, "\'", 202393, 1);
2092 WriteAttributeValue("", 202322, Translate("Smartpage:Kontakt.Placeholder.Email", "Indtast din e-mail"), 202322, 71, false);
2093 EndWriteAttribute();
2094 BeginWriteAttribute("value", " value=\'", 202394, "\'", 202434, 1);
2095 WriteAttributeValue("", 202402, UserContext.Current.User?.Email, 202402, 32, false);
2096 EndWriteAttribute();
2097 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2098 Write(Translate("form-mobile", "Mobil nr."));
2099 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"3\" maxlength=\"20\" name=\"mobile\"");
2100 BeginWriteAttribute("placeholder", " placeholder=\'", 202745, "\'", 202830, 1);
2101 WriteAttributeValue("", 202759, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 202759, 71, false);
2102 EndWriteAttribute();
2103 BeginWriteAttribute("value", " value=\'", 202831, "\'", 202871, 1);
2104 WriteAttributeValue("", 202839, UserContext.Current.User?.Phone, 202839, 32, false);
2105 EndWriteAttribute();
2106 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2107 Write(Translate("form-telephone", "Telefon nr."));
2108 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"4\" maxlength=\"20\" name=\"telefonnummer\"");
2109 BeginWriteAttribute("placeholder", " placeholder=\'", 203154, "\'", 203238, 1);
2110 WriteAttributeValue("", 203168, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 203168, 70, false);
2111 EndWriteAttribute();
2112 BeginWriteAttribute("value", " value=\'", 203239, "\'", 203280, 1);
2113 WriteAttributeValue("", 203247, UserContext.Current?.User?.Phone, 203247, 33, false);
2114 EndWriteAttribute();
2115 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <h3>");
2116 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2117 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2118 Write(Translate("form-zip", "Post nr"));
2119 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\" tabindex=\"5\"");
2120 BeginWriteAttribute("placeholder", " placeholder=\'", 203688, "\'", 203766, 1);
2121 WriteAttributeValue("", 203702, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 203702, 64, false);
2122 EndWriteAttribute();
2123 BeginWriteAttribute("value", " value=\"", 203767, "\"", 203783, 1);
2124 WriteAttributeValue("", 203775, userZip, 203775, 8, false);
2125 EndWriteAttribute();
2126 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2127 Write(Translate("form-city", "By"));
2128 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>");
2129 Write(Translate("form-adresse", "Adresse"));
2130 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\" tabindex=\"6\"");
2131 BeginWriteAttribute("placeholder", " placeholder=\'", 204350, "\'", 204440, 1);
2132 WriteAttributeValue("", 204364, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 204364, 76, false);
2133 EndWriteAttribute();
2134 WriteLiteral(" required />\r\n\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2135 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2136 WriteLiteral(@"</label>
2137 </div>
2138 <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"">
2139 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2140 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2141 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\"");
2142 BeginWriteAttribute("placeholder", " placeholder=\'", 205234, "\'", 205312, 1);
2143 WriteAttributeValue("", 205248, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 205248, 64, false);
2144 EndWriteAttribute();
2145 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\">");
2146 Write(Translate("KontaktMægler", "Kontakt Mægler"));
2147 WriteLiteral(@"</button>
2148 </div>
2149 </div>
2150 </div>
2151 <div class=""form-group mt-3"">
2152 <div class=""checkbox"">
2153 <label>
2154 <input type=""checkbox"" name=""kontaktmigok"" required />
2155
2156 <span>");
2157 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2158 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2159 Write(privacyPolicyText);
2160 WriteLiteral(" <a");
2161 BeginWriteAttribute("href", " href=\"", 206125, "\"", 206149, 2);
2162 WriteAttributeValue("", 206132, "mailto:", 206132, 7, true);
2163 WriteAttributeValue("", 206139, termsMail, 206139, 10, false);
2164 EndWriteAttribute();
2165 WriteLiteral(">");
2166 Write(termsMail);
2167 WriteLiteral("</a>.\r\n Læs mere på <a");
2168 BeginWriteAttribute("href", " href=\"", 206194, "\"", 206228, 1);
2169 WriteAttributeValue("", 206201, settings_Persondatapolitik, 206201, 27, false);
2170 EndWriteAttribute();
2171 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n\r\n <input type=\"hidden\" name=\"fn\" value=\"krk\" />\r\n <input type=\"hidden\" name=\"origin\"");
2172 BeginWriteAttribute("value", " value=\"", 206374, "\"", 206382, 0);
2173 EndWriteAttribute();
2174 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2175 BeginWriteAttribute("value", " value=\"", 206432, "\"", 206440, 0);
2176 EndWriteAttribute();
2177 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2178 BeginWriteAttribute("value", " value=\"", 206488, "\"", 206512, 1);
2179 WriteAttributeValue("", 206496, Pageview.AreaID, 206496, 16, false);
2180 EndWriteAttribute();
2181 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2182 BeginWriteAttribute("value", " value=\"", 206561, "\"", 206577, 1);
2183 WriteAttributeValue("", 206569, butikId, 206569, 8, false);
2184 EndWriteAttribute();
2185 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2186 BeginWriteAttribute("value", " value=\"", 206631, "\"", 206639, 0);
2187 EndWriteAttribute();
2188 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2189 BeginWriteAttribute("value", " value=\"", 206690, "\"", 206698, 0);
2190 EndWriteAttribute();
2191 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2192 BeginWriteAttribute("value", " value=\"", 206748, "\"", 206756, 0);
2193 EndWriteAttribute();
2194 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-advisor\" style=\"display:none;\">\r\n <h2>");
2195 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2196 WriteLiteral("</h2>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2197 BeginWriteAttribute("src", " src=\"", 206989, "\"", 206995, 0);
2198 EndWriteAttribute();
2199 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2200 </div>
2201 <div class=""col-6"">
2202 <p class=""js-maegler-name""></p>
2203 <p class=""js-maegler-address""></p>
2204 <p class=""js-maegler-phone""></p>
2205 <p class=""js-maegler-mail""></p>
2206 </div>
2207 </div>
2208 <p>");
2209 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2210 WriteLiteral(@"</p>
2211 </div>
2212 </div>
2213
2214 <!--ÅBENT HUS-->
2215 <div id=""panel-aabenthus"" class=""panel panel-form"">
2216 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2217 <b></b>
2218 </button>
2219
2220
2221 <form id=""form-aabenthus"" method=""POST"" action=""/InboxHandler"">
2222 <h2>");
2223 Write(Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus"));
2224 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>");
2225 Write(Translate("Smarptage:Adresse", "Adresse:"));
2226 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>");
2227 Write(Translate("Smarptage:Date", "Dato:"));
2228 WriteLiteral("</strong> <label class=\"js-aabenthus-date mb-0\"></label>\r\n </div>\r\n <div class=\"d-block mb-4\">\r\n <strong>");
2229 Write(Translate("Smarptage:Time", "Tidspunkt:"));
2230 WriteLiteral("</strong> <label class=\"js-aabenthus-time mb-0\"></label>\r\n </div>\r\n <h3>");
2231 Write(Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger"));
2232 WriteLiteral("</h3>\r\n <div class=\"form-group\">\r\n <label for=\"aabenthus-name\"><strong>");
2233 Write(Translate("form-navn", "Navn"));
2234 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2235 BeginWriteAttribute("placeholder", " placeholder=\'", 208613, "\'", 208697, 1);
2236 WriteAttributeValue("", 208627, Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn"), 208627, 70, false);
2237 EndWriteAttribute();
2238 BeginWriteAttribute("value", " value=\'", 208698, "\'", 208738, 1);
2239 WriteAttributeValue("", 208706, UserContext.Current?.User?.Name, 208706, 32, false);
2240 EndWriteAttribute();
2241 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2242 Write(Translate("form-email", "E-mail"));
2243 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2244 BeginWriteAttribute("placeholder", " placeholder=\'", 209002, "\'", 209089, 1);
2245 WriteAttributeValue("", 209016, Translate("Smartpage:Aabenthus.Placeholder.Email", "Indtast din e-mail"), 209016, 73, false);
2246 EndWriteAttribute();
2247 BeginWriteAttribute("value", " value=\'", 209090, "\'", 209130, 1);
2248 WriteAttributeValue("", 209098, UserContext.Current.User?.Email, 209098, 32, false);
2249 EndWriteAttribute();
2250 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2251 Write(Translate("form-mobile", "Mobil nr."));
2252 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2253 BeginWriteAttribute("placeholder", " placeholder=\'", 209423, "\'", 209510, 1);
2254 WriteAttributeValue("", 209437, Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr."), 209437, 73, false);
2255 EndWriteAttribute();
2256 BeginWriteAttribute("value", " value=\'", 209511, "\'", 209551, 1);
2257 WriteAttributeValue("", 209519, UserContext.Current.User?.Phone, 209519, 32, false);
2258 EndWriteAttribute();
2259 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2260 Write(Translate("form-telephone", "Telefon nr."));
2261 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2262 BeginWriteAttribute("placeholder", " placeholder=\'", 209821, "\'", 209907, 1);
2263 WriteAttributeValue("", 209835, Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr."), 209835, 72, false);
2264 EndWriteAttribute();
2265 BeginWriteAttribute("value", " value=\'", 209908, "\'", 209948, 1);
2266 WriteAttributeValue("", 209916, UserContext.Current.User?.Phone, 209916, 32, false);
2267 EndWriteAttribute();
2268 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\">");
2269 Write(Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus"));
2270 WriteLiteral(@"</button>
2271 </div>
2272 </div>
2273 </div>
2274 <div class=""form-group"">
2275 <div class=""checkbox"">
2276 <label>
2277 <input type=""checkbox"" name=""kontaktmigok"" required />
2278
2279 <span class=""base-color"">");
2280 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2281 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n ");
2282 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>"));
2283 WriteLiteral("\r\n\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"ah\" />\r\n <input type=\"hidden\" name=\"origin\"");
2284 BeginWriteAttribute("value", " value=\"", 211111, "\"", 211119, 0);
2285 EndWriteAttribute();
2286 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2287 BeginWriteAttribute("value", " value=\"", 211169, "\"", 211184, 1);
2288 WriteAttributeValue("", 211177, userID, 211177, 7, false);
2289 EndWriteAttribute();
2290 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2291 BeginWriteAttribute("value", " value=\"", 211232, "\"", 211256, 1);
2292 WriteAttributeValue("", 211240, Pageview.AreaID, 211240, 16, false);
2293 EndWriteAttribute();
2294 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2295 BeginWriteAttribute("value", " value=\"", 211305, "\"", 211321, 1);
2296 WriteAttributeValue("", 211313, butikId, 211313, 8, false);
2297 EndWriteAttribute();
2298 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsaddresse\"");
2299 BeginWriteAttribute("value", " value=\"", 211375, "\"", 211383, 0);
2300 EndWriteAttribute();
2301 WriteLiteral(" class=\"js-aabenthus-address-input\" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2302 BeginWriteAttribute("value", " value=\"", 211472, "\"", 211480, 0);
2303 EndWriteAttribute();
2304 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2305 BeginWriteAttribute("value", " value=\"", 211531, "\"", 211539, 0);
2306 EndWriteAttribute();
2307 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2308 BeginWriteAttribute("value", " value=\"", 211589, "\"", 211597, 0);
2309 EndWriteAttribute();
2310 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2311 BeginWriteAttribute("value", " value=\"", 211647, "\"", 211655, 0);
2312 EndWriteAttribute();
2313 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsnr\"");
2314 BeginWriteAttribute("value", " value=\"", 211703, "\"", 211711, 0);
2315 EndWriteAttribute();
2316 WriteLiteral(" class=\"js-sagsnr\" />\r\n <input type=\"hidden\" name=\"productId\"");
2317 BeginWriteAttribute("value", " value=\"", 211780, "\"", 211836, 1);
2318 WriteAttributeValue("", 211788, Dynamicweb.Context.Current.Request["ProductId"], 211788, 48, false);
2319 EndWriteAttribute();
2320 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"aftaleid\"");
2321 BeginWriteAttribute("value", " value=\"", 211886, "\"", 211894, 0);
2322 EndWriteAttribute();
2323 WriteLiteral(@" class=""js-aftaleid"" />
2324
2325 <input type=""hidden"" name=""dateMail"" class=""js-aabenthus-date-input"" />
2326 <input type=""hidden"" name=""timeMail"" class=""js-aabenthus-time-input"" />
2327 <input type=""hidden"" name=""brokerImageMail"" class=""property-broker-image-input"" />
2328 <input type=""hidden"" name=""employeeNameMail"" class=""js-maegler-employee-name-input"" />
2329 <input type=""hidden"" name=""employeeTitleMail"" class=""js-maegler-employee-title-input"" />
2330 <input type=""hidden"" name=""employeeMailMail"" class=""js-maegler-mail-input"" />
2331 <input type=""hidden"" name=""employeeMobileMail"" class=""js-maegler-mobile-input"" />
2332 <input type=""hidden"" name=""employeePhoneMail"" class=""js-maegler-phone-input"" />
2333
2334 <input type=""hidden"" name=""brokerNameMail"" class=""js-broker-name-input"" />
2335 <input type=""hidden"" name=""brokerAddressMail"" class=""js-broker-address-input"" />
2336 <input type=""hidden"" name=""brokerPhoneMail"" class=""js-broker-phone-input"" />
2337 </form>
2338 <di");
2339 WriteLiteral("v id=\"tak-aabenthus\" style=\"display:none;\">\r\n <h2>");
2340 Write(Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!"));
2341 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>");
2342 Write(Translate("Smarptage:Adresse", "Adresse:"));
2343 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>");
2344 Write(Translate("Smarptage:Date", "Dato:"));
2345 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>");
2346 Write(Translate("Smarptage:Time", "Tidspunkt:"));
2347 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>");
2348 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>"));
2349 WriteLiteral("</p>\r\n </div>\r\n <div class=\"js-not-employee\">\r\n <p>");
2350 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"));
2351 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\"");
2352 BeginWriteAttribute("style", " style=\"", 214286, "\"", 214294, 0);
2353 EndWriteAttribute();
2354 WriteLiteral(@"></div>
2355
2356 </div>
2357 </div>
2358 <div class=""col-12"">
2359 <div class=""bg-base"">
2360
2361 <div class=""js-employee"">
2362 <h4 class=""js-maegler-employee-name""></h4>
2363 <div class=""icon-container"">
2364 <i class=""fas fa-envelope""></i> <span class=""js-maegler-mail""></span>
2365 </div>
2366 <div class=""icon-container"">
2367 <i class=""fas fa-phone""></i> <span class=""js-maegler-mobile""></span>
2368 </div>
2369 </div>
2370
2371
2372 <h4 class=""js-maegler-name""></h4>
2373 <div class=""icon-container"">
2374 <i class=""fas fa-map-marker-alt""></i> <span class=""js-maegler-address""></span>
2375 </div>
2376 <div class=""icon-container"">
2377 <i class=""fas fa-phone""></i> <span class=""js-maegler-phone""></span>");
2378 WriteLiteral(@"
2379
2380 </div>
2381 <a class=""btn btn-border"" onclick=""panelKontaktmaeglerGuldkoeber()"">KONTAKT MÆGLER</a>
2382 </div>
2383 </div>
2384 </div>
2385 </div>
2386 </div>
2387
2388 <!-- KONTAKT GULDKØBER -->
2389 <div id=""panel-kontakt-guldkoeber"" class=""panel panel-form"">
2390 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2391 <b></b>
2392 </button>
2393 <h2>");
2394 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler"));
2395 WriteLiteral("</h2>\r\n <form id=\"form-kontaktmaegler\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>");
2396 Write(Translate("form-navn", "Navn"));
2397 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2398 BeginWriteAttribute("placeholder", " placeholder=\'", 216079, "\'", 216124, 1);
2399 WriteAttributeValue("", 216093, Translate("form-navn", "Navn"), 216093, 31, false);
2400 EndWriteAttribute();
2401 BeginWriteAttribute("value", " value=\'", 216125, "\'", 216164, 1);
2402 WriteAttributeValue("", 216133, UserContext.Current.User?.Name, 216133, 31, false);
2403 EndWriteAttribute();
2404 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2405 Write(Translate("form-email", "E-mail"));
2406 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2407 BeginWriteAttribute("placeholder", " placeholder=\'", 216428, "\'", 216476, 1);
2408 WriteAttributeValue("", 216442, Translate("form-email", "E-mail"), 216442, 34, false);
2409 EndWriteAttribute();
2410 BeginWriteAttribute("value", " value=\'", 216477, "\'", 216517, 1);
2411 WriteAttributeValue("", 216485, UserContext.Current.User?.Email, 216485, 32, false);
2412 EndWriteAttribute();
2413 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2414 Write(Translate("form-mobile", "Mobil nr."));
2415 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2416 BeginWriteAttribute("placeholder", " placeholder=\'", 216815, "\'", 216900, 1);
2417 WriteAttributeValue("", 216829, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 216829, 71, false);
2418 EndWriteAttribute();
2419 BeginWriteAttribute("value", " value=\'", 216901, "\'", 216941, 1);
2420 WriteAttributeValue("", 216909, UserContext.Current.User?.Phone, 216909, 32, false);
2421 EndWriteAttribute();
2422 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2423 Write(Translate("form-telephone", "Telefon nr."));
2424 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2425 BeginWriteAttribute("placeholder", " placeholder=\'", 217211, "\'", 217295, 1);
2426 WriteAttributeValue("", 217225, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 217225, 70, false);
2427 EndWriteAttribute();
2428 BeginWriteAttribute("value", " value=\'", 217296, "\'", 217336, 1);
2429 WriteAttributeValue("", 217304, UserContext.Current.User?.Phone, 217304, 32, false);
2430 EndWriteAttribute();
2431 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2432 Write(Translate("form-zip", "Post nr"));
2433 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2434 BeginWriteAttribute("placeholder", " placeholder=\'", 217652, "\'", 217730, 1);
2435 WriteAttributeValue("", 217666, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 217666, 64, false);
2436 EndWriteAttribute();
2437 BeginWriteAttribute("value", " value=\"", 217731, "\"", 217747, 1);
2438 WriteAttributeValue("", 217739, userZip, 217739, 8, false);
2439 EndWriteAttribute();
2440 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2441 Write(Translate("form-city", "By"));
2442 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>");
2443 Write(Translate("form-adresse", "Adresse"));
2444 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2445 BeginWriteAttribute("placeholder", " placeholder=\'", 218303, "\'", 218393, 1);
2446 WriteAttributeValue("", 218317, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 218317, 76, false);
2447 EndWriteAttribute();
2448 BeginWriteAttribute("value", " value=\"", 218394, "\"", 218414, 1);
2449 WriteAttributeValue("", 218402, userAddress, 218402, 12, false);
2450 EndWriteAttribute();
2451 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2452 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2453 WriteLiteral("</label>\r\n </div>\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\"");
2454 BeginWriteAttribute("placeholder", " placeholder=\'", 218740, "\'", 218818, 1);
2455 WriteAttributeValue("", 218754, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 218754, 64, false);
2456 EndWriteAttribute();
2457 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>");
2458 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2459 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\">");
2460 Write(Translate("KontaktMægler", "Kontakt Mægler"));
2461 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2462 Write(privacyPolicyText);
2463 WriteLiteral(" <a");
2464 BeginWriteAttribute("href", " href=\"", 219604, "\"", 219628, 2);
2465 WriteAttributeValue("", 219611, "mailto:", 219611, 7, true);
2466 WriteAttributeValue("", 219618, termsMail, 219618, 10, false);
2467 EndWriteAttribute();
2468 WriteLiteral(">");
2469 Write(termsMail);
2470 WriteLiteral("</a>.\r\n Læs mere på <a");
2471 BeginWriteAttribute("href", " href=\"", 219673, "\"", 219707, 1);
2472 WriteAttributeValue("", 219680, settings_Persondatapolitik, 219680, 27, false);
2473 EndWriteAttribute();
2474 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"gk\" />\r\n <input type=\"hidden\" name=\"origin\"");
2475 BeginWriteAttribute("value", " value=\"", 219850, "\"", 219858, 0);
2476 EndWriteAttribute();
2477 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2478 BeginWriteAttribute("value", " value=\"", 219908, "\"", 219923, 1);
2479 WriteAttributeValue("", 219916, userID, 219916, 7, false);
2480 EndWriteAttribute();
2481 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2482 BeginWriteAttribute("value", " value=\"", 219971, "\"", 219995, 1);
2483 WriteAttributeValue("", 219979, Pageview.AreaID, 219979, 16, false);
2484 EndWriteAttribute();
2485 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2486 BeginWriteAttribute("value", " value=\"", 220044, "\"", 220060, 1);
2487 WriteAttributeValue("", 220052, butikId, 220052, 8, false);
2488 EndWriteAttribute();
2489 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2490 BeginWriteAttribute("value", " value=\"", 220114, "\"", 220122, 0);
2491 EndWriteAttribute();
2492 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2493 BeginWriteAttribute("value", " value=\"", 220173, "\"", 220181, 0);
2494 EndWriteAttribute();
2495 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2496 BeginWriteAttribute("value", " value=\"", 220231, "\"", 220239, 0);
2497 EndWriteAttribute();
2498 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2499 BeginWriteAttribute("value", " value=\"", 220289, "\"", 220297, 0);
2500 EndWriteAttribute();
2501 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-maegler-guldkoeber\" style=\"display:none;\">\r\n <h2>");
2502 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2503 WriteLiteral("</h2>\r\n <p>");
2504 Write(Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:"));
2505 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2506 BeginWriteAttribute("src", " src=\"", 220659, "\"", 220665, 0);
2507 EndWriteAttribute();
2508 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2509 </div>
2510 <div class=""col-6"">
2511 <p class=""js-maegler-name""></p>
2512 <p class=""js-maegler-address""></p>
2513 <p class=""js-maegler-phone""></p>
2514 <p class=""js-maegler-mail""></p>
2515 </div>
2516 </div>
2517 <p>");
2518 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2519 WriteLiteral(@"</p>
2520 </div>
2521 </div>
2522
2523 <!-- BESTIL SALGSVURDERING -->
2524 <div id=""panel-salgsvurdering"" class=""panel panel-form"">
2525 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2526 <b></b>
2527 </button>
2528
2529 <form id=""bestil-salgsvurdering"" class=""buyer-advisor-form js-buyer-advisor-form"" method=""POST"" action=""/InboxHandler"">
2530 <h2 class=""js-buyer-advisor-header"">");
2531 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering"));
2532 WriteLiteral("</h2>\r\n <p>");
2533 Write(Translate("form-salgsvurdering-beskrivelse", ""));
2534 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>");
2535 Write(Translate("form-navn", "Navn"));
2536 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2537 BeginWriteAttribute("placeholder", " placeholder=\'", 221822, "\'", 221911, 1);
2538 WriteAttributeValue("", 221836, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 221836, 75, false);
2539 EndWriteAttribute();
2540 BeginWriteAttribute("value", " value=\'", 221912, "\'", 221951, 1);
2541 WriteAttributeValue("", 221920, UserContext.Current.User?.Name, 221920, 31, false);
2542 EndWriteAttribute();
2543 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2544 Write(Translate("form-email", "E-mail"));
2545 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2546 BeginWriteAttribute("placeholder", " placeholder=\'", 222215, "\'", 222307, 1);
2547 WriteAttributeValue("", 222229, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 222229, 78, false);
2548 EndWriteAttribute();
2549 BeginWriteAttribute("value", " value=\'", 222308, "\'", 222348, 1);
2550 WriteAttributeValue("", 222316, UserContext.Current.User?.Email, 222316, 32, false);
2551 EndWriteAttribute();
2552 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2553 Write(Translate("form-mobile", "Mobil nr."));
2554 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2555 BeginWriteAttribute("placeholder", " placeholder=\'", 222646, "\'", 222738, 1);
2556 WriteAttributeValue("", 222660, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 222660, 78, false);
2557 EndWriteAttribute();
2558 BeginWriteAttribute("value", " value=\'", 222739, "\'", 222779, 1);
2559 WriteAttributeValue("", 222747, UserContext.Current.User?.Phone, 222747, 32, false);
2560 EndWriteAttribute();
2561 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2562 Write(Translate("form-telephone", "Telefon nr."));
2563 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2564 BeginWriteAttribute("placeholder", " placeholder=\'", 223049, "\'", 223140, 1);
2565 WriteAttributeValue("", 223063, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 223063, 77, false);
2566 EndWriteAttribute();
2567 BeginWriteAttribute("value", " value=\'", 223141, "\'", 223181, 1);
2568 WriteAttributeValue("", 223149, UserContext.Current.User?.Phone, 223149, 32, false);
2569 EndWriteAttribute();
2570 WriteLiteral(" />\r\n </div>\r\n\r\n </div>\r\n\r\n <h3>");
2571 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2572 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2573 Write(Translate("form-zip", "Post nr"));
2574 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2575 BeginWriteAttribute("placeholder", " placeholder=\'", 223601, "\'", 223679, 1);
2576 WriteAttributeValue("", 223615, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 223615, 64, false);
2577 EndWriteAttribute();
2578 BeginWriteAttribute("value", " value=\"", 223680, "\"", 223696, 1);
2579 WriteAttributeValue("", 223688, userZip, 223688, 8, false);
2580 EndWriteAttribute();
2581 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2582 Write(Translate("form-city", "By"));
2583 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>");
2584 Write(Translate("form-adresse", "Adresse"));
2585 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2586 BeginWriteAttribute("placeholder", " placeholder=\'", 224250, "\'", 224340, 1);
2587 WriteAttributeValue("", 224264, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 224264, 76, false);
2588 EndWriteAttribute();
2589 BeginWriteAttribute("value", " value=\"", 224341, "\"", 224361, 1);
2590 WriteAttributeValue("", 224349, userAddress, 224349, 12, false);
2591 EndWriteAttribute();
2592 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2593 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2594 WriteLiteral(@"</label>
2595 </div>
2596
2597 <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"">
2598 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2599 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2600 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\"");
2601 BeginWriteAttribute("placeholder", " placeholder=\'", 225131, "\'", 225209, 1);
2602 WriteAttributeValue("", 225145, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 225145, 64, false);
2603 EndWriteAttribute();
2604 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>");
2605 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:"));
2606 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\"");
2607 BeginWriteAttribute("id", " id=\"", 225655, "\"", 225660, 0);
2608 EndWriteAttribute();
2609 WriteLiteral(" name=\"choose-broker\"");
2610 BeginWriteAttribute("value", " value=\"", 225682, "\"", 225690, 0);
2611 EndWriteAttribute();
2612 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2613 BeginWriteAttribute("for", " for=\"", 225756, "\"", 225762, 0);
2614 EndWriteAttribute();
2615 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");
2616 BeginWriteAttribute("src", " src=\"", 226008, "\"", 226014, 0);
2617 EndWriteAttribute();
2618 WriteLiteral(@" class=""img-fluid js-broker-image"">
2619 </div>
2620 <div class=""col-6"">
2621 <span class=""d-block"">
2622 <strong class=""js-choose-broker-name""></strong>
2623 </span>
2624 <span class=""js-choose-broker-address""></span>
2625 <input type=""hidden"" class=""js-choose-broker-phone""");
2626 BeginWriteAttribute("value", " value=\"", 226426, "\"", 226434, 0);
2627 EndWriteAttribute();
2628 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2629 BeginWriteAttribute("value", " value=\"", 226515, "\"", 226523, 0);
2630 EndWriteAttribute();
2631 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\">");
2632 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler"));
2633 WriteLiteral(@"</h3>
2634 <div class=""js-choose-broker col-12"">
2635 </div>
2636
2637 </div>
2638
2639 <div class=""form-group mt-4"">
2640 <div class=""checkbox"">
2641 <label>
2642 <input type=""checkbox"" name=""kontaktmigok"" required />
2643
2644 <span class=""consent-checkbox"">");
2645 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2646 WriteLiteral(@"</span>
2647
2648 </label>
2649 </div>
2650 </div>
2651 <div class=""form-group"">
2652 <div class=""row"">
2653 <div class=""col-12"">
2654 <button type=""submit"" class=""btn btn-green btn-block js-buyer-advisor-button"">");
2655 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering"));
2656 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2657 Write(privacyPolicyText);
2658 WriteLiteral(" <a");
2659 BeginWriteAttribute("href", " href=\"", 227683, "\"", 227707, 2);
2660 WriteAttributeValue("", 227690, "mailto:", 227690, 7, true);
2661 WriteAttributeValue("", 227697, termsMail, 227697, 10, false);
2662 EndWriteAttribute();
2663 WriteLiteral(">");
2664 Write(termsMail);
2665 WriteLiteral("</a>.\r\n Læs mere på <a");
2666 BeginWriteAttribute("href", " href=\"", 227752, "\"", 227786, 1);
2667 WriteAttributeValue("", 227759, settings_Persondatapolitik, 227759, 27, false);
2668 EndWriteAttribute();
2669 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\"");
2670 BeginWriteAttribute("value", " value=\"", 227963, "\"", 227971, 0);
2671 EndWriteAttribute();
2672 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2673 BeginWriteAttribute("value", " value=\"", 228021, "\"", 228036, 1);
2674 WriteAttributeValue("", 228029, userID, 228029, 7, false);
2675 EndWriteAttribute();
2676 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2677 BeginWriteAttribute("value", " value=\"", 228084, "\"", 228108, 1);
2678 WriteAttributeValue("", 228092, Pageview.AreaID, 228092, 16, false);
2679 EndWriteAttribute();
2680 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning\" name=\"boligvisning\"");
2681 BeginWriteAttribute("value", " value=\"", 228180, "\"", 228188, 0);
2682 EndWriteAttribute();
2683 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-butikid\" name=\"butikId\"");
2684 BeginWriteAttribute("value", " value=\"", 228271, "\"", 228279, 0);
2685 EndWriteAttribute();
2686 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-sagsnr\" name=\"sagsnr\"");
2687 BeginWriteAttribute("value", " value=\"", 228360, "\"", 228368, 0);
2688 EndWriteAttribute();
2689 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2690 BeginWriteAttribute("value", " value=\"", 228419, "\"", 228475, 1);
2691 WriteAttributeValue("", 228427, Dynamicweb.Context.Current.Request["ProductId"], 228427, 48, false);
2692 EndWriteAttribute();
2693 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2694 BeginWriteAttribute("value", " value=\"", 228529, "\"", 228537, 0);
2695 EndWriteAttribute();
2696 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2697 BeginWriteAttribute("value", " value=\"", 228588, "\"", 228596, 0);
2698 EndWriteAttribute();
2699 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2700 BeginWriteAttribute("value", " value=\"", 228646, "\"", 228654, 0);
2701 EndWriteAttribute();
2702 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2703 BeginWriteAttribute("value", " value=\"", 228704, "\"", 228712, 0);
2704 EndWriteAttribute();
2705 WriteLiteral(" />\r\n <input class=\"js-value-check\" type=\"hidden\" name=\"valueCheck\"");
2706 BeginWriteAttribute("value", " value=\"", 228787, "\"", 228795, 0);
2707 EndWriteAttribute();
2708 WriteLiteral(" />\r\n <input class=\"js-green-appraisal\" type=\"hidden\" name=\"greenAppraisal\"");
2709 BeginWriteAttribute("value", " value=\"", 228878, "\"", 228886, 0);
2710 EndWriteAttribute();
2711 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>");
2712 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2713 WriteLiteral("</h2>\r\n <p>");
2714 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:"));
2715 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2716 BeginWriteAttribute("src", " src=\"", 229248, "\"", 229254, 0);
2717 EndWriteAttribute();
2718 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2719 </div>
2720 <div class=""col-6"">
2721 <p class=""js-maegler-name""></p>
2722 <p class=""js-maegler-address""></p>
2723 <p class=""js-maegler-phone""></p>
2724 <p class=""js-maegler-mail""></p>
2725 </div>
2726 </div>
2727 <p>");
2728 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2729 WriteLiteral(@"</p>
2730 </div>
2731 </div>
2732
2733 <!-- BESTIL SALGSVURDERING GULDKØBER -->
2734 <div id=""panel-salgsvurdering-guldkoeber"" class=""panel panel-form"">
2735 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2736 <b></b>
2737 </button>
2738
2739 <form id=""bestil-salgsvurdering-guldkoeber"" method=""POST"" action=""/InboxHandler"">
2740 <h2>");
2741 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering"));
2742 WriteLiteral("</h2>\r\n <p>");
2743 Write(Translate("form-salgsvurdering-beskrivelse", ""));
2744 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>");
2745 Write(Translate("form-navn", "Navn"));
2746 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2747 BeginWriteAttribute("placeholder", " placeholder=\'", 230362, "\'", 230451, 1);
2748 WriteAttributeValue("", 230376, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 230376, 75, false);
2749 EndWriteAttribute();
2750 BeginWriteAttribute("value", " value=\'", 230452, "\'", 230491, 1);
2751 WriteAttributeValue("", 230460, UserContext.Current.User?.Name, 230460, 31, false);
2752 EndWriteAttribute();
2753 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2754 Write(Translate("form-email", "E-mail"));
2755 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2756 BeginWriteAttribute("placeholder", " placeholder=\'", 230755, "\'", 230847, 1);
2757 WriteAttributeValue("", 230769, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 230769, 78, false);
2758 EndWriteAttribute();
2759 BeginWriteAttribute("value", " value=\'", 230848, "\'", 230888, 1);
2760 WriteAttributeValue("", 230856, UserContext.Current.User?.Email, 230856, 32, false);
2761 EndWriteAttribute();
2762 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2763 Write(Translate("form-telephone", "Telefon nr."));
2764 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2765 BeginWriteAttribute("placeholder", " placeholder=\'", 231197, "\'", 231288, 1);
2766 WriteAttributeValue("", 231211, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 231211, 77, false);
2767 EndWriteAttribute();
2768 BeginWriteAttribute("value", " value=\'", 231289, "\'", 231329, 1);
2769 WriteAttributeValue("", 231297, UserContext.Current.User?.Phone, 231297, 32, false);
2770 EndWriteAttribute();
2771 WriteLiteral(" />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2772 Write(Translate("form-mobile", "Mobil nr."));
2773 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2774 BeginWriteAttribute("placeholder", " placeholder=\'", 231579, "\'", 231671, 1);
2775 WriteAttributeValue("", 231593, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 231593, 78, false);
2776 EndWriteAttribute();
2777 BeginWriteAttribute("value", " value=\'", 231672, "\'", 231712, 1);
2778 WriteAttributeValue("", 231680, UserContext.Current.User?.Phone, 231680, 32, false);
2779 EndWriteAttribute();
2780 WriteLiteral(" required />\r\n </div>\r\n </div>\r\n\r\n <h3>");
2781 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2782 WriteLiteral("</h3>\r\n\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2783 Write(Translate("form-zip", "Post nr"));
2784 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2785 BeginWriteAttribute("placeholder", " placeholder=\'", 232141, "\'", 232219, 1);
2786 WriteAttributeValue("", 232155, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 232155, 64, false);
2787 EndWriteAttribute();
2788 BeginWriteAttribute("value", " value=\"", 232220, "\"", 232236, 1);
2789 WriteAttributeValue("", 232228, userZip, 232228, 8, false);
2790 EndWriteAttribute();
2791 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2792 Write(Translate("form-city", "By"));
2793 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>");
2794 Write(Translate("form-adresse", "Adresse"));
2795 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2796 BeginWriteAttribute("placeholder", " placeholder=\'", 232790, "\'", 232880, 1);
2797 WriteAttributeValue("", 232804, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 232804, 76, false);
2798 EndWriteAttribute();
2799 BeginWriteAttribute("value", " value=\"", 232881, "\"", 232901, 1);
2800 WriteAttributeValue("", 232889, userAddress, 232889, 12, false);
2801 EndWriteAttribute();
2802 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2803 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2804 WriteLiteral(@"</label>
2805 </div>
2806
2807 <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"">
2808 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2809 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2810 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\"");
2811 BeginWriteAttribute("placeholder", " placeholder=\'", 233671, "\'", 233749, 1);
2812 WriteAttributeValue("", 233685, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 233685, 64, false);
2813 EndWriteAttribute();
2814 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>");
2815 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:"));
2816 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\"");
2817 BeginWriteAttribute("id", " id=\"", 234193, "\"", 234198, 0);
2818 EndWriteAttribute();
2819 WriteLiteral(" name=\"choose-broker-gk\"");
2820 BeginWriteAttribute("value", " value=\"", 234223, "\"", 234231, 0);
2821 EndWriteAttribute();
2822 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2823 BeginWriteAttribute("for", " for=\"", 234297, "\"", 234303, 0);
2824 EndWriteAttribute();
2825 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");
2826 BeginWriteAttribute("src", " src=\"", 234549, "\"", 234555, 0);
2827 EndWriteAttribute();
2828 WriteLiteral(@" class=""img-fluid js-broker-image"">
2829 </div>
2830 <div class=""col-6"">
2831 <span class=""d-block"">
2832 <strong class=""js-choose-broker-name""></strong>
2833 </span>
2834 <span class=""js-choose-broker-address""></span>
2835 <input type=""hidden"" class=""js-choose-broker-phone""");
2836 BeginWriteAttribute("value", " value=\"", 234967, "\"", 234975, 0);
2837 EndWriteAttribute();
2838 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2839 BeginWriteAttribute("value", " value=\"", 235056, "\"", 235064, 0);
2840 EndWriteAttribute();
2841 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\">");
2842 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler"));
2843 WriteLiteral(@"</h3>
2844 <div class=""js-choose-broker col-12"">
2845 </div>
2846
2847 </div>
2848
2849
2850 <div class=""form-group"">
2851 <div class=""row"">
2852 <div class=""col-12"">
2853 <button type=""submit"" class=""btn btn-green btn-block"">");
2854 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering"));
2855 WriteLiteral(@"</button>
2856 </div>
2857 </div>
2858 </div>
2859 <div class=""form-group"">
2860 <div class=""checkbox"">
2861 <label>
2862 <input type=""checkbox"" name=""kontaktmigok"" required />
2863
2864 <span>");
2865 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2866 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2867 Write(privacyPolicyText);
2868 WriteLiteral(" <a");
2869 BeginWriteAttribute("href", " href=\"", 236172, "\"", 236196, 2);
2870 WriteAttributeValue("", 236179, "mailto:", 236179, 7, true);
2871 WriteAttributeValue("", 236186, termsMail, 236186, 10, false);
2872 EndWriteAttribute();
2873 WriteLiteral(">");
2874 Write(termsMail);
2875 WriteLiteral("</a>.\r\n Læs mere på <a");
2876 BeginWriteAttribute("href", " href=\"", 236241, "\"", 236275, 1);
2877 WriteAttributeValue("", 236248, settings_Persondatapolitik, 236248, 27, false);
2878 EndWriteAttribute();
2879 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\"");
2880 BeginWriteAttribute("value", " value=\"", 236452, "\"", 236460, 0);
2881 EndWriteAttribute();
2882 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2883 BeginWriteAttribute("value", " value=\"", 236510, "\"", 236525, 1);
2884 WriteAttributeValue("", 236518, userID, 236518, 7, false);
2885 EndWriteAttribute();
2886 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2887 BeginWriteAttribute("value", " value=\"", 236573, "\"", 236597, 1);
2888 WriteAttributeValue("", 236581, Pageview.AreaID, 236581, 16, false);
2889 EndWriteAttribute();
2890 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning-gk\" name=\"boligvisning\"");
2891 BeginWriteAttribute("value", " value=\"", 236672, "\"", 236680, 0);
2892 EndWriteAttribute();
2893 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-butikid\" name=\"butikId\"");
2894 BeginWriteAttribute("value", " value=\"", 236766, "\"", 236774, 0);
2895 EndWriteAttribute();
2896 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-sagsnr\" name=\"sagsnr\"");
2897 BeginWriteAttribute("value", " value=\"", 236858, "\"", 236866, 0);
2898 EndWriteAttribute();
2899 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2900 BeginWriteAttribute("value", " value=\"", 236917, "\"", 236973, 1);
2901 WriteAttributeValue("", 236925, Dynamicweb.Context.Current.Request["ProductId"], 236925, 48, false);
2902 EndWriteAttribute();
2903 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2904 BeginWriteAttribute("value", " value=\"", 237027, "\"", 237035, 0);
2905 EndWriteAttribute();
2906 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2907 BeginWriteAttribute("value", " value=\"", 237086, "\"", 237094, 0);
2908 EndWriteAttribute();
2909 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2910 BeginWriteAttribute("value", " value=\"", 237144, "\"", 237152, 0);
2911 EndWriteAttribute();
2912 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2913 BeginWriteAttribute("value", " value=\"", 237202, "\"", 237210, 0);
2914 EndWriteAttribute();
2915 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>");
2916 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2917 WriteLiteral("</h2>\r\n <p>");
2918 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:"));
2919 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2920 BeginWriteAttribute("src", " src=\"", 237572, "\"", 237578, 0);
2921 EndWriteAttribute();
2922 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2923 </div>
2924 <div class=""col-6"">
2925 <p class=""js-maegler-name""></p>
2926 <p class=""js-maegler-address""></p>
2927 <p class=""js-maegler-phone""></p>
2928 <p class=""js-maegler-mail""></p>
2929 </div>
2930 </div>
2931 <p>");
2932 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2933 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");
2934
2935 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js"));
2936 WriteLiteral(" <script type=\"text/javascript\"");
2937 BeginWriteAttribute("src", " src=\'", 238379, "\'", 238483, 3);
2938 WriteAttributeValue("", 238385, TemplateUrl, 238385, 14, false);
2939 WriteAttributeValue("", 238399, "assets/webpack/js/3rdparty/viamapstrap.js?", 238399, 42, true);
2940 WriteAttributeValue("", 238441, viamapstrapFileInfo.LastWriteTime.Ticks, 238441, 42, false);
2941 EndWriteAttribute();
2942 WriteLiteral(" async></script>\r\n");
2943
2944 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js"));
2945 WriteLiteral(" <script type=\"text/javascript\"");
2946 BeginWriteAttribute("src", " src=\'", 238686, "\'", 238773, 3);
2947 WriteAttributeValue("", 238692, TemplateUrl, 238692, 14, false);
2948 WriteAttributeValue("", 238706, "assets/dist/bundle.app.min.js?", 238706, 30, true);
2949 WriteAttributeValue("", 238736, bundleFileInfo.LastWriteTime.Ticks, 238736, 37, false);
2950 EndWriteAttribute();
2951 WriteLiteral(" async></script>\r\n");
2952 WriteLiteral("\r\n ");
2953 Write(RenderSnippet("JavaScriptBottom"));
2954 WriteLiteral("\r\n\r\n");
2955 if (Context.Current.Request.QueryString["ShowLogin"] == "true")
2956 {
2957 WriteLiteral(" <input class=\"js-showLogin\" value=\"true\" />\r\n");
2958 }
2959 WriteLiteral("\r\n");
2960 if (!string.IsNullOrEmpty(settings_ConduzeId))
2961 {
2962 WriteLiteral(" <script type=\"text/javascript\" id=\"conduze-sdk\"");
2963 BeginWriteAttribute("src", " src=\"", 239097, "\"", 239158, 3);
2964 WriteAttributeValue("", 239103, "https://cdn.conduze.com/", 239103, 24, true);
2965 WriteAttributeValue("", 239127, settings_ConduzeId, 239127, 19, false);
2966 WriteAttributeValue("", 239146, "/tracking.js", 239146, 12, true);
2967 EndWriteAttribute();
2968 WriteLiteral(" async></script>\r\n");
2969 }
2970 WriteLiteral("\r\n");
2971 if (!string.IsNullOrEmpty(settings_Weply))
2972 {
2973 WriteLiteral(" <script");
2974 BeginWriteAttribute("src", " src=\"", 239257, "\"", 239308, 2);
2975 WriteAttributeValue("", 239263, "https://app.weply.chat/widget/", 239263, 30, true);
2976 WriteAttributeValue("", 239293, settings_Weply, 239293, 15, false);
2977 EndWriteAttribute();
2978 WriteLiteral(" async></script>\r\n");
2979 }
2980 WriteLiteral("\r\n</body>\r\n</html>\r\n\r\n");
2981 }
2982 #pragma warning restore 1998
2983
2984 void RenderErhvervsTypeCheckboxes(string productGroupFilter)
2985 {
2986 WriteLiteral(@" <div class=""col-xs-6 col-md-4"">
2987 <div class=""checkbox"">
2988 <label>
2989 <input type=""checkbox"" name=""propertytype"" value=""bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)"" />
2990 <span>Bolig/erhverv</span>
2991 </label>
2992 </div>
2993 <div class=""checkbox"">
2994 <label>
2995 <input type=""checkbox"" name=""propertytype"" value=""erhvervsgrund"" />
2996 <span>Erhvervsgrund</span>
2997 </label>
2998 </div>
2999 <div class=""checkbox"">
3000 <label>
3001 <input type=""checkbox"" name=""propertytype"" value=""boligudlejning"" />
3002 <span>Boligudlejningsejendom</span>
3003 </label>
3004 </div>
3005 <div class=""checkbox"">
3006 <label>
3007 <input type=""checkbox"" name=""propertytype"" value=""kontor, klinik, kontorhotel, showroom, under");
3008 WriteLiteral(@"visningslokaler"" />
3009 <span>Kontor</span>
3010 </label>
3011 </div>
3012 </div>
3013 <div class=""col-xs-6 col-md-4"">
3014 <div class=""checkbox"">
3015 <label>
3016 <input type=""checkbox"" name=""propertytype"" value=""butik / detail, butik / detailhandel"" />
3017 <span>Butik/detailhandel</span>
3018 </label>
3019 </div>
3020 <div class=""checkbox"">
3021 <label>
3022 <input type=""checkbox"" name=""propertytype"" value=""industri / logistik, håndværk, industri, kontor / lager, logistik"" />
3023 <span>Produktion/lager</span>
3024 </label>
3025 </div>
3026 <div class=""checkbox"">
3027 <label>
3028 <input type=""checkbox"" name=""propertytype"" value=""hotel - kursusejendom, restaurant"" />
3029 <span>Hotel og restaurant</span>
3030 </label>
3031 </div>
3032 <div c");
3033 WriteLiteral(@"lass=""checkbox"">
3034 <label>
3035 <input type=""checkbox"" name=""propertytype"" value=""projekt ejendom"" />
3036 <span>Projektejendom</span>
3037 </label>
3038 </div>
3039 </div>
3040 <div class=""col-xs-6 col-md-4"">
3041 <div class=""checkbox"">
3042 <label>
3043 <input type=""checkbox"" name=""propertytype"" value=""andet"" />
3044 <span>Andet</span>
3045 </label>
3046 </div>
3047 </div>
3048 ");
3049 WriteLiteral(" <input type=\"hidden\" name=\"propertycategory\" value=\"erhverv, udlejning\" />\r\n <input type=\"hidden\" name=\"filtrering\"");
3050 BeginWriteAttribute("value", " value=\"", 3445, "\"", 3472, 1);
3051 WriteAttributeValue("", 3453, productGroupFilter, 3453, 19, false);
3052 EndWriteAttribute();
3053 WriteLiteral(" />\r\n");
3054 }
3055 void RenderBoligtypeCheckboxes()
3056 {
3057 WriteLiteral(@" <div class=""col-6 col-md-4"">
3058 <div class=""checkbox"">
3059 <label>
3060 <input type=""checkbox"" name=""propertytype"" value=""villa"" />
3061 <span>Villa</span>
3062 </label>
3063 </div>
3064 <div class=""checkbox"">
3065 <label>
3066 <input type=""checkbox"" name=""propertytype"" value=""rækkehus"" />
3067 <span>Rækkehus</span>
3068 </label>
3069 </div>
3070 <div class=""checkbox"">
3071 <label>
3072 <input type=""checkbox"" name=""propertytype"" value=""villalejlighed"" />
3073 <span>Villalejlighed</span>
3074 </label>
3075 </div>
3076 <div class=""checkbox"">
3077 <label>
3078 <input type=""checkbox"" name=""propertytype"" value=""andelsbolig"" />
3079 <span>Andelsbolig</span>
3080 </label>
3081 </div>
3082 </div>
3083 <div class=""co");
3084 WriteLiteral(@"l-6 col-md-4"">
3085 <div class=""checkbox"">
3086 <label>
3087 <input type=""checkbox"" name=""propertytype"" value=""fritidshus, fritidsbolig"" />
3088 <span>Fritidsbolig</span>
3089 </label>
3090 </div>
3091 <div class=""checkbox"">
3092 <label>
3093 <input type=""checkbox"" name=""propertytype"" value=""ejerlejlighed"" class=""specialOption"" data-disable-slider=""#grundareal"" data-disable-slider-ranges=""#grundarealmin,#grundarealmax"" />
3094 <span>Ejerlejlighed</span>
3095 </label>
3096 </div>
3097 <div class=""checkbox"">
3098 <label>
3099 <input type=""checkbox"" name=""propertytype"" value=""helårsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" />
3100 <span>Helårsgrund</span>
3101 </label>
3102 </div>
3103 <div ");
3104 WriteLiteral(@"class=""checkbox"">
3105 <label>
3106 <input type=""checkbox"" name=""propertytype"" value=""fritidsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" />
3107 <span>Fritidsgrund</span>
3108 </label>
3109 </div>
3110 </div>
3111 <div class=""col-6 col-md-4"">
3112 <div class=""checkbox"">
3113 <label>
3114 <input type=""checkbox"" name=""propertytype"" value=""landejendom, lystejendom"" class=""specialOption"" data-disable-checkbox=""true"" />
3115 <span>Landejendom</span>
3116 </label>
3117 </div>
3118 <div class=""checkbox"">
3119 <label>
3120 <input type=""checkbox"" name=""propertytype"" value=""erhverv"" class=""specialOption"" data-disable-checkbox=""true"" data-disable-slider=""#roomsslider"" data-disable-slider-ranges=""#roomsmin"" />
3121 <span>Erhverv<");
3122 WriteLiteral("/span>\r\n </label>\r\n </div>\r\n </div>\r\n");
3123 }
3124
3125 void RenderChecked(string queryString)
3126 {
3127 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString)
3128 {
3129 Write("checked");
3130
3131 }
3132 }
3133
3134 void RenderBoligtypeCheckboxesDropdown()
3135 {
3136 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){
3137 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" },
3138 { "Andelsbolig", "andelsbolig" }
3139 };
3140 foreach (KeyValuePair<string, string> type in propertyTypes)
3141 {
3142 bool ischecked = false;
3143 string[] propertytypeSplit = new string[0];
3144 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3145 {
3146 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3147 }
3148 foreach (var propertytypeParams in propertytypeSplit)
3149 {
3150 if (propertytypeParams == type.Value)
3151 {
3152 ischecked = true;
3153 }
3154 }
3155 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3156 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3157 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertytype\"");
3158 BeginWriteAttribute("value", " value=\"", 8068, "\"", 8087, 1);
3159 WriteAttributeValue("", 8076, type.Value, 8076, 11, false);
3160 EndWriteAttribute();
3161 WriteLiteral(" class=\"js-input-check datavalue js-datavalue js-count\" data-val=\"");
3162 Write(type.Key);
3163 WriteLiteral("\" onchange=\"submitFilter()\"");
3164 BeginWriteAttribute("checked", " checked=\"", 8190, "\"", 8210, 1);
3165 WriteAttributeValue("", 8200, ischecked, 8200, 10, false);
3166 EndWriteAttribute();
3167 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3168 }
3169
3170 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3171 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv"));
3172 WriteLiteral("\r\n");
3173
3174 bool blboligcheck = false;
3175 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
3176 {
3177 blboligcheck = true;
3178 }
3179 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\"");
3180 BeginWriteAttribute("checked", " checked=\"", 9043, "\"", 9066, 1);
3181 WriteAttributeValue("", 9053, blboligcheck, 9053, 13, false);
3182 EndWriteAttribute();
3183 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3184
3185 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){
3186 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" },
3187 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" }
3188 };
3189 foreach (KeyValuePair<string, string> type in propertyTypes2)
3190 {
3191 bool ischecked = false;
3192 string[] propertytypeSplit2 = new string[0];
3193 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3194 {
3195 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3196 }
3197 foreach (var propertytypeParams in propertytypeSplit2)
3198 {
3199 if (propertytypeParams == type.Value)
3200 {
3201 ischecked = true;
3202 }
3203 }
3204 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3205 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3206 WriteLiteral("\r\n");
3207 if (type.Value == "ejerlejlighed")
3208 {
3209 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3210 BeginWriteAttribute("value", " value=\"", 10467, "\"", 10486, 1);
3211 WriteAttributeValue("", 10475, type.Value, 10475, 11, false);
3212 EndWriteAttribute();
3213 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#grundareal\" data-disable-slider-ranges=\"#grundarealmin,#grundarealmax\" data-val=\"");
3214 Write(type.Key);
3215 WriteLiteral("\" onchange=\"submitFilter()\"");
3216 BeginWriteAttribute("checked", " checked=\"", 10660, "\"", 10680, 1);
3217 WriteAttributeValue("", 10670, ischecked, 10670, 10, false);
3218 EndWriteAttribute();
3219 WriteLiteral(" />\r\n");
3220 }
3221 else if (type.Value == "helårsgrund")
3222 {
3223 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3224 BeginWriteAttribute("value", " value=\"", 10857, "\"", 10876, 1);
3225 WriteAttributeValue("", 10865, type.Value, 10865, 11, false);
3226 EndWriteAttribute();
3227 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3228 Write(type.Key);
3229 WriteLiteral("\" onchange=\"submitFilter()\"");
3230 BeginWriteAttribute("checked", " checked=\"", 11073, "\"", 11093, 1);
3231 WriteAttributeValue("", 11083, ischecked, 11083, 10, false);
3232 EndWriteAttribute();
3233 WriteLiteral(" />\r\n");
3234 }
3235 else if (type.Value == "fritidsgrund")
3236 {
3237 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3238 BeginWriteAttribute("value", " value=\"", 11271, "\"", 11290, 1);
3239 WriteAttributeValue("", 11279, type.Value, 11279, 11, false);
3240 EndWriteAttribute();
3241 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3242 Write(type.Key);
3243 WriteLiteral("\" onchange=\"submitFilter()\"");
3244 BeginWriteAttribute("checked", " checked=\"", 11487, "\"", 11507, 1);
3245 WriteAttributeValue("", 11497, ischecked, 11497, 10, false);
3246 EndWriteAttribute();
3247 WriteLiteral(" />\r\n");
3248 }
3249 else
3250 {
3251 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3252 BeginWriteAttribute("value", " value=\"", 11651, "\"", 11670, 1);
3253 WriteAttributeValue("", 11659, type.Value, 11659, 11, false);
3254 EndWriteAttribute();
3255 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3256 Write(type.Key);
3257 WriteLiteral("\" onchange=\"submitFilter()\"");
3258 BeginWriteAttribute("checked", " checked=\"", 11751, "\"", 11771, 1);
3259 WriteAttributeValue("", 11761, ischecked, 11761, 10, false);
3260 EndWriteAttribute();
3261 WriteLiteral(" />\r\n");
3262 }
3263 WriteLiteral(" <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3264 }
3265 }
3266
3267 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false)
3268 {
3269 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3270 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" },
3271 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" }
3272 };
3273 var submitonchange = "";
3274 if (submitOnChange)
3275 {
3276 submitonchange = "onchange='submitFilter()'";
3277 }
3278
3279 foreach (KeyValuePair<string, string> type in erhverType)
3280 {
3281 string ischecked = "";
3282 string[] olineParamsSplit = new string[0];
3283 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3284 {
3285 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3286 }
3287 foreach (var olineParams in olineParamsSplit)
3288 {
3289 if (olineParams == type.Value)
3290 {
3291 ischecked = "checked";
3292 }
3293 }
3294
3295 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3296 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3297 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3298 BeginWriteAttribute("value", " value=\"", 13415, "\"", 13434, 1);
3299 WriteAttributeValue("", 13423, type.Value, 13423, 11, false);
3300 EndWriteAttribute();
3301 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3302 Write(type.Key);
3303 WriteLiteral("\" ");
3304 Write(submitonchange);
3305 WriteLiteral(" ");
3306 Write(ischecked);
3307 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3308 }
3309
3310
3311 bool ischeckedpropertycat = false;
3312 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"]))
3313 {
3314 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
3315 {
3316 ischeckedpropertycat = true;
3317 }
3318 }
3319 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n ");
3320 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv"));
3321 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertycategory\" value=\"Blandet Bolig/Erhverv\" class=\"js-input-check datavalue\" data-val=\"Blandet Bolig/Erhverv\" onchange=\"submitFilter()\"");
3322 BeginWriteAttribute("checked", " checked=\"", 14347, "\"", 14378, 1);
3323 WriteAttributeValue("", 14357, ischeckedpropertycat, 14357, 21, false);
3324 EndWriteAttribute();
3325 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3326 }
3327
3328 void RenderBoligTypeErhvervInvest(bool submitOnChange = false)
3329 {
3330 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3331 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" },
3332 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" }
3333 };
3334
3335 foreach (KeyValuePair<string, string> type in erhverType)
3336 {
3337 bool ischecked = false;
3338 string[] olineParamsSplit = new string[0];
3339 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3340 {
3341 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3342 }
3343 foreach (var olineParams in olineParamsSplit)
3344 {
3345 if (olineParams == type.Value)
3346 {
3347 ischecked = true;
3348 }
3349 }
3350
3351 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n ");
3352 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3353 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3354 BeginWriteAttribute("value", " value=\"", 15865, "\"", 15884, 1);
3355 WriteAttributeValue("", 15873, type.Value, 15873, 11, false);
3356 EndWriteAttribute();
3357 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3358 Write(type.Key);
3359 WriteLiteral("\" onchange=\"submitFilter()\"");
3360 BeginWriteAttribute("checked", " checked=\"", 15965, "\"", 15985, 1);
3361 WriteAttributeValue("", 15975, ischecked, 15975, 10, false);
3362 EndWriteAttribute();
3363 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3364 }
3365 }
3366 int GetWebsiteSettingsPageId(string pageSysName)
3367 {
3368 int sideId = 0;
3369
3370 var pw = Dynamicweb.Frontend.PageView.Current();
3371
3372 string settingsItemId = "1";
3373
3374 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true")
3375 {
3376 settingsItemId = "2";
3377 }
3378
3379 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId);
3380
3381 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName))
3382 {
3383 return sideId;
3384 }
3385
3386 string boligsideLink = settingsItem[pageSysName] as String;
3387 string linkPrefix = "Default.aspx?ID=";
3388
3389 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3390 {
3391 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3392 }
3393
3394 return sideId;
3395 }
3396
3397 int GetPageSettingsPageId(string pageSysName)
3398 {
3399 int sideId = 0;
3400
3401 var pw = Dynamicweb.Frontend.PageView.Current();
3402
3403 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName))
3404 {
3405 return sideId;
3406 }
3407
3408 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String;
3409 string linkPrefix = "Default.aspx?ID=";
3410
3411 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3412 {
3413 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3414 }
3415
3416 return sideId;
3417 }
3418 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname)
3419 {
3420 WriteLiteral(" <select");
3421 BeginWriteAttribute("class", " class=\"", 17928, "\"", 17983, 5);
3422 WriteAttributeValue("", 17936, "form-control", 17936, 12, true);
3423 WriteAttributeValue(" ", 17948, "d-block", 17949, 8, true);
3424 WriteAttributeValue(" ", 17956, "d-lg-none", 17957, 10, true);
3425 WriteAttributeValue(" ", 17966, "mb-10", 17967, 6, true);
3426 WriteAttributeValue(" ", 17972, className, 17973, 10, false);
3427 EndWriteAttribute();
3428 WriteLiteral(" onchange=\"submitFilter()\"");
3429 BeginWriteAttribute("name", " name=\"", 18010, "\"", 18027, 1);
3430 WriteAttributeValue("", 18017, inputname, 18017, 10, false);
3431 EndWriteAttribute();
3432 WriteLiteral(">\r\n <option selected=\"true\" disabled=\"disabled\">");
3433 Write(Translate("Smartpage:Search.Placeholder." + name + "", "" + name + ""));
3434 WriteLiteral("</option>\r\n\r\n");
3435 for (var i = 0; i <= max; i += step)
3436 {
3437 var selected = string.Empty;
3438 var current = string.Empty;
3439 if (i == max)
3440 {
3441 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3442 {
3443 WriteLiteral(" <option");
3444 BeginWriteAttribute("value", " value=\"", 18623, "\"", 18633, 1);
3445 WriteAttributeValue("", 18631, i, 18631, 2, false);
3446 EndWriteAttribute();
3447 WriteLiteral(" data-value=\'");
3448 Write(Convert.ToInt32(i).ToString("N0"));
3449 WriteLiteral("\' selected=\"selected\">");
3450 Write(Convert.ToInt32(i).ToString("N0"));
3451 WriteLiteral("+</option>\r\n");
3452 }
3453 else
3454 {
3455 WriteLiteral(" <option");
3456 BeginWriteAttribute("value", " value=\"", 18852, "\"", 18862, 1);
3457 WriteAttributeValue("", 18860, i, 18860, 2, false);
3458 EndWriteAttribute();
3459 WriteLiteral(" data-value=\'");
3460 Write(Convert.ToInt32(i).ToString("N0"));
3461 WriteLiteral("\'>");
3462 Write(Convert.ToInt32(i).ToString("N0"));
3463 WriteLiteral("+</option>\r\n");
3464 }
3465 }
3466 else
3467 {
3468 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3469 {
3470 WriteLiteral(" <option");
3471 BeginWriteAttribute("value", " value=\"", 19286, "\"", 19296, 1);
3472 WriteAttributeValue("", 19294, i, 19294, 2, false);
3473 EndWriteAttribute();
3474 WriteLiteral(" data-value=\'");
3475 Write(Convert.ToInt32(i).ToString("N0"));
3476 WriteLiteral("\' selected=\"selected\">");
3477 Write(Convert.ToInt32(i).ToString("N0"));
3478 WriteLiteral("</option>\r\n");
3479 }
3480 else
3481 {
3482 WriteLiteral(" <option");
3483 BeginWriteAttribute("value", " value=\"", 19514, "\"", 19524, 1);
3484 WriteAttributeValue("", 19522, i, 19522, 2, false);
3485 EndWriteAttribute();
3486 WriteLiteral(" data-value=\'");
3487 Write(Convert.ToInt32(i).ToString("N0"));
3488 WriteLiteral("\'>");
3489 Write(Convert.ToInt32(i).ToString("N0"));
3490 WriteLiteral("</option>\r\n");
3491 }
3492 }
3493 }
3494 WriteLiteral(" </select>\r\n");
3495 }
3496
3497 void RenderTopFilter(string parameter)
3498 {
3499 if (parameter == "pricemin" || parameter == "pricemax")
3500 {
3501 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"]))
3502 {
3503 if (parameter == "pricemin")
3504 {
3505 Write("<div class='search-terms' id='priceFilter'>");
3506 Write("Pris ");
3507 Write(Dynamicweb.Context.Current.Request[parameter]);
3508
3509 }
3510
3511 else
3512 {
3513 Write(" - ");
3514 Write(Dynamicweb.Context.Current.Request[parameter]);
3515 Write(" kr.");
3516 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"pricemin,pricemax\"></i>\r\n");
3517 Write("</div>");
3518
3519 }
3520 }
3521 }
3522
3523 else if (parameter == "subsidymin" || parameter == "subsidymax")
3524 {
3525 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"]))
3526 {
3527 if (parameter == "subsidymin")
3528 {
3529 Write("<div class='search-terms' id='subsidyFilter'>");
3530 Write("Årlig leje ");
3531 Write(Dynamicweb.Context.Current.Request[parameter]);
3532
3533 }
3534
3535 else
3536 {
3537 Write(" - ");
3538 Write(Dynamicweb.Context.Current.Request[parameter]);
3539 Write(" kr.");
3540 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidymin,subsidymax\"></i>\r\n");
3541 Write("</div>");
3542
3543 }
3544 }
3545 }
3546 else if (parameter == "etagearealmin" || parameter == "etagearealmax")
3547 {
3548 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"]))
3549 {
3550 if (parameter == "etagearealmin")
3551 {
3552 Write("<div class='search-terms' id='etagearealFilter'>");
3553 Write("Etageareal ");
3554 Write(Dynamicweb.Context.Current.Request[parameter]);
3555
3556 }
3557
3558 else
3559 {
3560 Write(" - ");
3561 Write(Dynamicweb.Context.Current.Request[parameter]);
3562 Write(" kvm.");
3563 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"etagearealmin,etagearealmax\"></i>\r\n");
3564 Write("</div>");
3565
3566 }
3567 }
3568 }
3569
3570 else if (parameter == "grundarealmin" || parameter == "grundarealmax")
3571 {
3572 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"]))
3573 {
3574 if (parameter == "grundarealmin")
3575 {
3576 Write("<div class='search-terms' id='grundarealFilter'>");
3577 Write("Grundareal ");
3578 Write(Dynamicweb.Context.Current.Request[parameter]);
3579
3580 }
3581
3582 else
3583 {
3584 Write(" - ");
3585 Write(Dynamicweb.Context.Current.Request[parameter]);
3586 Write(" kvm.");
3587 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"grundarealmin,grundarealmax\"></i>\r\n");
3588 Write("</div>");
3589
3590 }
3591 }
3592 }
3593
3594 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax")
3595 {
3596 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"]))
3597 {
3598 if (parameter == "subsidykvmmin")
3599 {
3600 Write("<div class='search-terms' id='subsidykvmFilter'>");
3601 Write("Årlig leje kvm ");
3602 Write(Dynamicweb.Context.Current.Request[parameter]);
3603
3604 }
3605
3606 else
3607 {
3608 Write(" - ");
3609 Write(Dynamicweb.Context.Current.Request[parameter]);
3610 Write(" kr.");
3611 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidykvmmin,subsidykvmmax\"></i>\r\n");
3612 Write("</div>");
3613
3614 }
3615 }
3616 }
3617
3618 else if (parameter == "olinecategory")
3619 {
3620
3621 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"]))
3622 {
3623 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3624 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" },
3625 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"},
3626 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" },
3627 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" }
3628 };
3629
3630
3631 foreach (var er in erhverType)
3632 {
3633 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3634 {
3635 WriteLiteral(" <div class=\"search-terms\"");
3636 BeginWriteAttribute("id", " id=\"", 24694, "\"", 24709, 1);
3637 WriteAttributeValue("", 24699, parameter, 24699, 10, false);
3638 EndWriteAttribute();
3639 WriteLiteral(">\r\n ");
3640 Write(er.Value);
3641 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3642 Write(parameter);
3643 WriteLiteral("\" data-val=\"");
3644 Write(er.Key);
3645 WriteLiteral("\"></i>\r\n </div>\r\n");
3646 }
3647 }
3648 }
3649 }
3650 else if (parameter == "propertycategory")
3651 {
3652
3653 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"]))
3654 {
3655 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3656 { "propertycategory", "Blandet Bolig/Erhverv" }
3657 };
3658
3659 foreach (var er in erhverType)
3660 {
3661 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value)
3662 {
3663 WriteLiteral(" <div class=\"search-terms\"");
3664 BeginWriteAttribute("id", " id=\"", 25615, "\"", 25630, 1);
3665 WriteAttributeValue("", 25620, parameter, 25620, 10, false);
3666 EndWriteAttribute();
3667 WriteLiteral(">\r\n ");
3668 Write(er.Value);
3669 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3670 Write(parameter);
3671 WriteLiteral("\" data-val=\"");
3672 Write(er.Key);
3673 WriteLiteral("\"></i>\r\n </div>\r\n");
3674 }
3675 }
3676 }
3677 }
3678 else if (parameter == "search")
3679 {
3680 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"]))
3681 {
3682 WriteLiteral(" <div class=\"search-terms\"");
3683 BeginWriteAttribute("id", " id=\"", 26078, "\"", 26093, 1);
3684 WriteAttributeValue("", 26083, parameter, 26083, 10, false);
3685 EndWriteAttribute();
3686 WriteLiteral(">\r\n ");
3687 Write(Dynamicweb.Context.Current.Request[parameter]);
3688 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3689 Write(parameter);
3690 WriteLiteral("\"></i>\r\n </div>\r\n");
3691 }
3692 }
3693 else
3694 {
3695 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]))
3696 {
3697 Dictionary<string, string>
3698 ubudsform = new Dictionary<string, string>
3699 (){
3700 {"salg", "Salg" }, { "leje","Leje" }
3701 };
3702
3703 foreach (var er in ubudsform)
3704 {
3705 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3706 {
3707 WriteLiteral(" <div class=\"search-terms\"");
3708 BeginWriteAttribute("id", " id=\"", 27242, "\"", 27257, 1);
3709 WriteAttributeValue("", 27247, parameter, 27247, 10, false);
3710 EndWriteAttribute();
3711 WriteLiteral(">\r\n ");
3712 Write(er.Value);
3713 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3714 Write(parameter);
3715 WriteLiteral("\" data-val=\"");
3716 Write(er.Key);
3717 WriteLiteral("\"></i>\r\n </div>\r\n");
3718 }
3719 }
3720
3721
3722 }
3723 }
3724 }
3725
3726 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString)
3727 {
3728 var selected = "";
3729 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue)
3730 {
3731 selected = "selected";
3732 }
3733
3734 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected);
3735
3736 Write(current);
3737
3738 }
3739
3740 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "")
3741 {
3742 WriteLiteral(" <div");
3743 BeginWriteAttribute("class", " class=\"", 28261, "\"", 28307, 3);
3744 WriteAttributeValue("", 28269, "main-search-form", 28269, 16, true);
3745 WriteAttributeValue(" ", 28285, "frontpage", 28286, 10, true);
3746 WriteAttributeValue(" ", 28295, cssClasses, 28296, 11, false);
3747 EndWriteAttribute();
3748 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>");
3749 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
3750 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>");
3751 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
3752 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\"");
3753 BeginWriteAttribute("value", " value=\'", 29022, "\'", 29043, 1);
3754 WriteAttributeValue("", 29030, searchPageId, 29030, 13, false);
3755 EndWriteAttribute();
3756 WriteLiteral(@" id=""searchPageId-frontpage"" disabled=""disabled"" />
3757 <div class=""row form-wrapper no-gutters"">
3758
3759 <div class=""col-xs-12 col-md-5 col-searchbar"">
3760 <div class=""searchbar"">
3761 <input type=""text""");
3762 BeginWriteAttribute("name", " name=\"", 29321, "\"", 29348, 1);
3763 WriteAttributeValue("", 29328, querySearchNameAttr, 29328, 20, false);
3764 EndWriteAttribute();
3765 WriteLiteral(" id=\"searchfield-frontpage\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
3766 BeginWriteAttribute("value", " value=\"", 29461, "\"", 29539, 1);
3767 WriteAttributeValue("", 29469, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 29469, 70, false);
3768 EndWriteAttribute();
3769 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom-frontpage\" name=\"zipcodefrom\"");
3770 BeginWriteAttribute("value", " value=\"", 29639, "\"", 29722, 1);
3771 WriteAttributeValue("", 29647, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 29647, 75, false);
3772 EndWriteAttribute();
3773 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto-frontpage\" name=\"zipcodeto\"");
3774 BeginWriteAttribute("value", " value=\"", 29818, "\"", 29899, 1);
3775 WriteAttributeValue("", 29826, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 29826, 73, false);
3776 EndWriteAttribute();
3777 WriteLiteral(@" />
3778 </div>
3779 </div>
3780 <div class=""col-xs-12 col-md-5"">
3781 <div class=""row no-gutters"">
3782 <div class=""col-xs-12 col-md-6 input-col"">
3783 <div class=""dropdown w-overlay"">
3784 <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"">
3785 ");
3786 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
3787 WriteLiteral(@"
3788 </button>
3789 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
3790 <ul class=""bolig-dropdown list-unstyled"">
3791 ");
3792
3793 RenderBoligtypeCheckboxesDropdown();
3794 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
3795 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3796 WriteLiteral(@"</button>
3797 </div>
3798
3799 </div>
3800
3801 </div>
3802 <div class=""col-xs-12 col-md-6 input-col"">
3803 <div class=""dropdown w-overlay"">
3804 <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"">
3805 ");
3806 Write(Translate("Smartpage:Search.Pris", "Pris"));
3807 WriteLiteral(@"
3808 </button>
3809 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris"">
3810 <input type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
3811 BeginWriteAttribute("placeholder", " placeholder=\'", 32078, "\'", 32154, 1);
3812 WriteAttributeValue("", 32092, Translate("Smartpage:Search.Placeholder.MinPris","Min. pris"), 32092, 62, false);
3813 EndWriteAttribute();
3814 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3815 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
3816 WriteLiteral("</option>\r\n");
3817 for (var i = 0; i <= 10000000; i += 100000)
3818 {
3819 if (i == 10000000)
3820 {
3821 WriteLiteral(" <option");
3822 BeginWriteAttribute("value", " value=\"", 32763, "\"", 32773, 1);
3823 WriteAttributeValue("", 32771, i, 32771, 2, false);
3824 EndWriteAttribute();
3825 WriteLiteral(" data-value=\'");
3826 Write(Convert.ToInt32(i).ToString("N0"));
3827 WriteLiteral("+\'>");
3828 Write(Convert.ToInt32(i).ToString("N0"));
3829 WriteLiteral("+</option>\r\n");
3830 }
3831 else
3832 {
3833 WriteLiteral(" <option");
3834 BeginWriteAttribute("value", " value=\"", 33085, "\"", 33095, 1);
3835 WriteAttributeValue("", 33093, i, 33093, 2, false);
3836 EndWriteAttribute();
3837 WriteLiteral(" data-value=\'");
3838 Write(Convert.ToInt32(i).ToString("N0"));
3839 WriteLiteral("\'>");
3840 Write(Convert.ToInt32(i).ToString("N0"));
3841 WriteLiteral("</option>\r\n");
3842 }
3843 }
3844 WriteLiteral(@" </select>
3845 <input type=""hidden"" id=""pricemin-frontpage"" name=""pricemin"" />
3846
3847 <input type=""text"" class=""form-control js-auto-thousand js-pricemax-frontpage-input""");
3848 BeginWriteAttribute("placeholder", " placeholder=\'", 33570, "\'", 33646, 1);
3849 WriteAttributeValue("", 33584, Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris"), 33584, 62, false);
3850 EndWriteAttribute();
3851 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3852 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
3853 WriteLiteral("</option>\r\n");
3854 for (var i = 0; i <= 10000000; i += 100000)
3855 {
3856 if (i == 10000000)
3857 {
3858 WriteLiteral(" <option");
3859 BeginWriteAttribute("value", " value=\"", 34249, "\"", 34259, 1);
3860 WriteAttributeValue("", 34257, i, 34257, 2, false);
3861 EndWriteAttribute();
3862 WriteLiteral(" data-value=\'");
3863 Write(Convert.ToInt32(i).ToString("N0"));
3864 WriteLiteral("+\'>");
3865 Write(Convert.ToInt32(i).ToString("N0"));
3866 WriteLiteral("+</option>\r\n");
3867 }
3868 else
3869 {
3870 WriteLiteral(" <option");
3871 BeginWriteAttribute("value", " value=\"", 34571, "\"", 34581, 1);
3872 WriteAttributeValue("", 34579, i, 34579, 2, false);
3873 EndWriteAttribute();
3874 WriteLiteral(" data-value=\'");
3875 Write(Convert.ToInt32(i).ToString("N0"));
3876 WriteLiteral("\'>");
3877 Write(Convert.ToInt32(i).ToString("N0"));
3878 WriteLiteral("</option>\r\n");
3879 }
3880 }
3881 WriteLiteral(" </select>\r\n <input type=\"hidden\" id=\"pricemax-frontpage\" name=\"pricemax\" />\r\n <button class=\"btn btn-primary js-close-dropdown mt-3\">");
3882 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3883 WriteLiteral(@"</button>
3884 </div>
3885 </div>
3886 </div>
3887 </div>
3888 </div>
3889 <div class=""col-xs-12 col-md-2 d-none d-md-block"">
3890 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
3891 Write(Translate("Smartpage:Search.Søg", "Søg"));
3892 WriteLiteral(@"</button>
3893 </div>
3894 </div>
3895
3896 <div class=""row moresearch-btn no-gutters"">
3897 <div class=""col-sm-12"">
3898 <div class=""row align-items-center no-gutters"">
3899 <div class=""col-12 col-md-4"">
3900 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch"" aria-expanded=""false"" aria-controls=""moreSearch"">
3901 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open"">");
3902 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
3903 WriteLiteral("</span> <span class=\"open\"><span class=\"js-filter-count\">0</span> ");
3904 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
3905 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\">");
3906 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
3907 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch\">\r\n <h4 class=\"mt-20\"><b>");
3908 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
3909 WriteLiteral(@"</b></h4>
3910 <div class=""row align-items-end mb-30"">
3911 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
3912 <div class=""filter-container row"">
3913 <label class=""d-block col-12"">");
3914 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
3915 WriteLiteral(@"</label>
3916 <div class=""col-6 pr-sm-0 pr-2"">
3917 <input type=""text"" name=""boligarealmin"" id=""boligarealmin-frontpage"" class=""form-control js-boligarealmin-frontpage-input js-count""");
3918 BeginWriteAttribute("placeholder", " placeholder=\'", 37447, "\'", 37519, 1);
3919 WriteAttributeValue("", 37461, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 37461, 58, false);
3920 EndWriteAttribute();
3921 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3922 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
3923 WriteLiteral("</option>\r\n");
3924 for (var i = 0; i <= 300; i += 10)
3925 {
3926 if (i == 300)
3927 {
3928 WriteLiteral(" <option");
3929 BeginWriteAttribute("value", " value=\"", 38126, "\"", 38136, 1);
3930 WriteAttributeValue("", 38134, i, 38134, 2, false);
3931 EndWriteAttribute();
3932 WriteLiteral(">");
3933 Write(i);
3934 WriteLiteral("+</option>\r\n");
3935 }
3936 else
3937 {
3938 WriteLiteral(" <option");
3939 BeginWriteAttribute("value", " value=\"", 38383, "\"", 38393, 1);
3940 WriteAttributeValue("", 38391, i, 38391, 2, false);
3941 EndWriteAttribute();
3942 WriteLiteral(">");
3943 Write(i);
3944 WriteLiteral("</option>\r\n");
3945 }
3946 }
3947 WriteLiteral(@" </select>
3948 </div>
3949 <div class=""col-6 pl-sm-0 pl-2"">
3950 <input type=""text"" name=""boligarealmax"" id=""boligarealmax-frontpage"" class=""form-control js-boligarealmax-frontpage-input js-count""");
3951 BeginWriteAttribute("placeholder", " placeholder=\'", 38866, "\'", 38938, 1);
3952 WriteAttributeValue("", 38880, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 38880, 58, false);
3953 EndWriteAttribute();
3954 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3955 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
3956 WriteLiteral("</option>\r\n");
3957 for (var i = 0; i <= 300; i += 10)
3958 {
3959 if (i == 300)
3960 {
3961 WriteLiteral(" <option");
3962 BeginWriteAttribute("value", " value=\"", 39545, "\"", 39555, 1);
3963 WriteAttributeValue("", 39553, i, 39553, 2, false);
3964 EndWriteAttribute();
3965 WriteLiteral(">");
3966 Write(i);
3967 WriteLiteral("+</option>\r\n");
3968 }
3969 else
3970 {
3971 WriteLiteral(" <option");
3972 BeginWriteAttribute("value", " value=\"", 39802, "\"", 39812, 1);
3973 WriteAttributeValue("", 39810, i, 39810, 2, false);
3974 EndWriteAttribute();
3975 WriteLiteral(">");
3976 Write(i);
3977 WriteLiteral("</option>\r\n");
3978 }
3979 }
3980 WriteLiteral(@" </select>
3981 </div>
3982 </div>
3983 </div>
3984 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
3985 <div class=""filter-container row"">
3986 <label class=""d-block col-12"">");
3987 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
3988 WriteLiteral(@"</label>
3989 <div class=""col-6 pr-sm-0 pr-2"">
3990 <input type=""text"" name=""grundarealmin"" id=""grundarealmin-frontpage"" class=""form-control js-grundarealmin-frontpage-input js-count""");
3991 BeginWriteAttribute("placeholder", " placeholder=\'", 40661, "\'", 40733, 1);
3992 WriteAttributeValue("", 40675, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 40675, 58, false);
3993 EndWriteAttribute();
3994 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3995 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
3996 WriteLiteral("</option>\r\n");
3997 for (var i = 0; i <= 10000; i += 100)
3998 {
3999 if (i == 10000)
4000 {
4001 WriteLiteral(" <option");
4002 BeginWriteAttribute("value", " value=\"", 41345, "\"", 41355, 1);
4003 WriteAttributeValue("", 41353, i, 41353, 2, false);
4004 EndWriteAttribute();
4005 WriteLiteral(">");
4006 Write(i);
4007 WriteLiteral("+</option>\r\n");
4008 }
4009 else
4010 {
4011 WriteLiteral(" <option");
4012 BeginWriteAttribute("value", " value=\"", 41602, "\"", 41612, 1);
4013 WriteAttributeValue("", 41610, i, 41610, 2, false);
4014 EndWriteAttribute();
4015 WriteLiteral(">");
4016 Write(i);
4017 WriteLiteral("</option>\r\n");
4018 }
4019 }
4020 WriteLiteral(@" </select>
4021 </div>
4022 <div class=""col-6 pl-sm-0 pl-2"">
4023 <input type=""text"" name=""grundarealmax"" id=""grundarealmax-frontpage"" class=""form-control js-grundarealmax-frontpage-input js-count""");
4024 BeginWriteAttribute("placeholder", " placeholder=\'", 42085, "\'", 42157, 1);
4025 WriteAttributeValue("", 42099, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 42099, 58, false);
4026 EndWriteAttribute();
4027 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4028 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
4029 WriteLiteral("</option>\r\n");
4030 for (var i = 0; i <= 10000; i += 100)
4031 {
4032 if (i == 10000)
4033 {
4034 WriteLiteral(" <option");
4035 BeginWriteAttribute("value", " value=\"", 42769, "\"", 42779, 1);
4036 WriteAttributeValue("", 42777, i, 42777, 2, false);
4037 EndWriteAttribute();
4038 WriteLiteral(">");
4039 Write(i);
4040 WriteLiteral("+</option>\r\n");
4041 }
4042 else
4043 {
4044 WriteLiteral(" <option");
4045 BeginWriteAttribute("value", " value=\"", 43026, "\"", 43036, 1);
4046 WriteAttributeValue("", 43034, i, 43034, 2, false);
4047 EndWriteAttribute();
4048 WriteLiteral(">");
4049 Write(i);
4050 WriteLiteral("</option>\r\n");
4051 }
4052 }
4053 WriteLiteral(@" </select>
4054 </div>
4055 </div>
4056 </div>
4057 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4058 <div class=""filter-container row"">
4059 <label class=""d-block col-12"">Antal rum</label>
4060
4061 <div class=""col-6 pr-sm-0 pr-2"">
4062 <select name=""roomsmin"" id=""roomsmin-frontpage"" class=""form-control reverse js-count"">
4063 <option selected=""true"" disabled=""disabled"">");
4064 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
4065 WriteLiteral(@"</option>
4066 <option value=""1"">1</option>
4067 <option value=""2"">2</option>
4068 <option value=""3"">3</option>
4069 <option value=""4"">4</option>
4070 <option value=""5+"">5+</option>
4071 </select>
4072 </div>
4073 <div class=""col-6 pl-sm-0 pl-2"">
4074 <select name=""roomsmax"" id=""roomsmax-frontpage"" class=""form-control reverse js-count"">
4075 <option selected=""true"" disabled=""disabled"">");
4076 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
4077 WriteLiteral(@"</option>
4078 <option value=""1"">1</option>
4079 <option value=""2"">2</option>
4080 <option value=""3"">3</option>
4081 <option value=""4"">4</option>
4082 <option value=""5+"">");
4083 Write(Translate("Smartpage:Rooms.5", "5"));
4084 WriteLiteral(@"</option>
4085 </select>
4086 </div>
4087 </div>
4088 </div>
4089 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4090 <div class=""row"">
4091 <div class=""col-12"">
4092 <div class=""filter-container"">
4093 <label class=""d-block"">Energimærke</label>
4094 <select name=""energylabel"" id=""energylabel-frontpage"" class=""form-control reverse js-count"">
4095 <option disabled selected=""selected"">");
4096 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
4097 WriteLiteral(@"</option>
4098 <option value=""01"">G</option>
4099 <option value=""02"">F</option>
4100 <option value=""03"">E</option>
4101 <option value=""04"">D</option>
4102 <option value=""05"">C</option>
4103 <option value=""06"">B</option>
4104 <option value=""07"">A</option>
4105 <option value=""08"">A2010</option>
4106 <option value=""09"">A2015</option>
4107 <option value=""10"">A2020+</option>
4108 </select>
4109 </div>
4110 </div>
4111 ");
4112 WriteLiteral(" </div>\r\n </div>\r\n <div class=\"col-12 col-sm-6 col-lg-3 mt-3\">\r\n <h4");
4113 BeginWriteAttribute("class", " class=\"", 47281, "\"", 47289, 0);
4114 EndWriteAttribute();
4115 WriteLiteral("><b>");
4116 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
4117 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
4118 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
4119 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\"");
4120 BeginWriteAttribute("placeholder", " placeholder=\'", 47845, "\'", 47919, 1);
4121 WriteAttributeValue("", 47859, Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK"), 47859, 60, false);
4122 EndWriteAttribute();
4123 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4124 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
4125 WriteLiteral("</option>\r\n");
4126 for (var i = 0; i <= 25000; i += 1250)
4127 {
4128 if (i == 25000)
4129 {
4130 WriteLiteral(" <option>");
4131 Write(Convert.ToInt32(i).ToString("N0"));
4132 WriteLiteral("+</option>\r\n");
4133 }
4134 else
4135 {
4136 WriteLiteral(" <option>");
4137 Write(Convert.ToInt32(i).ToString("N0"));
4138 WriteLiteral("</option>\r\n");
4139 }
4140 }
4141 WriteLiteral(@" </select>
4142 </div>
4143 <div class=""col-6 pl-sm-0 pl-2"">
4144 <input type=""text"" name=""subsidymax"" id=""subsidymax-frontpage"" class=""form-control js-subsidymax-frontpage-input js-count""");
4145 BeginWriteAttribute("placeholder", " placeholder=\'", 49304, "\'", 49378, 1);
4146 WriteAttributeValue("", 49318, Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK"), 49318, 60, false);
4147 EndWriteAttribute();
4148 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4149 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
4150 WriteLiteral("</option>\r\n");
4151 for (var i = 0; i <= 25000; i += 1250)
4152 {
4153 if (i == 25000)
4154 {
4155 WriteLiteral(" <option");
4156 BeginWriteAttribute("value", " value=\"", 49990, "\"", 50017, 1);
4157 WriteAttributeValue("", 49998, Convert.ToInt32(i), 49998, 19, false);
4158 EndWriteAttribute();
4159 WriteLiteral(">");
4160 Write(Convert.ToInt32(i).ToString("N0"));
4161 WriteLiteral("+</option>\r\n");
4162 }
4163 else
4164 {
4165 WriteLiteral(" <option");
4166 BeginWriteAttribute("value", " value=\"", 50296, "\"", 50323, 1);
4167 WriteAttributeValue("", 50304, Convert.ToInt32(i), 50304, 19, false);
4168 EndWriteAttribute();
4169 WriteLiteral(">");
4170 Write(Convert.ToInt32(i).ToString("N0"));
4171 WriteLiteral("</option>\r\n");
4172 }
4173 }
4174 WriteLiteral(@" </select>
4175 </div>
4176 </div>
4177 </div>
4178 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"">
4179 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
4180 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
4181 WriteLiteral(@"</button>
4182 </div>
4183 </div>
4184 </div>
4185 </div>
4186 </div>
4187
4188 <div class=""row d-block d-md-none form-wrapper no-gutters"">
4189 <div class=""col-xs-12 col-md-2"">
4190 <button type=""submit"" class=""btn btn-block btn-search btn-mobile-search"">");
4191 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4192 WriteLiteral(@"<i class=""fa fa-search cta-icon""></i></button>
4193 </div>
4194 </div>
4195 </form>
4196 <div class=""front-page-actions d-md-none"">
4197 <div>
4198 <button class=""btn btn-block btn-search btn-mobile-search js-search-mobile"">");
4199 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4200 WriteLiteral("<i class=\"fa fa-search cta-icon\"></i></button>\r\n </div>\r\n <div>\r\n");
4201
4202 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : "";
4203 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER");
4204 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\"");
4205 BeginWriteAttribute("value", " value=\"", 52266, "\"", 52289, 1);
4206 WriteAttributeValue("", 52274, brokerSearchId, 52274, 15, false);
4207 EndWriteAttribute();
4208 WriteLiteral(@" type=""hidden"" />
4209 <div class=""icon-wrapper-wclick"">
4210 <i class=""fas fa-search ta-submit-on-icon-click""></i>
4211 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text""");
4212 BeginWriteAttribute("placeholder", " placeholder=\"", 52593, "\"", 52615, 1);
4213 WriteAttributeValue("", 52607, ctaText, 52607, 8, false);
4214 EndWriteAttribute();
4215 WriteLiteral(" onfocus=\"this.placeholder = \'\'\"");
4216 BeginWriteAttribute("onblur", " onblur=\"", 52648, "\"", 52684, 3);
4217 WriteAttributeValue("", 52657, "this.placeholder=\'", 52657, 18, true);
4218 WriteAttributeValue("", 52675, ctaText, 52675, 8, false);
4219 WriteAttributeValue("", 52683, "\'", 52683, 1, true);
4220 EndWriteAttribute();
4221 WriteLiteral(" />\r\n </div>\r\n </form>\r\n");
4222 WriteLiteral(" </div>\r\n <div>\r\n <a href=\"javascript:panelSalgsvurdering(\'Hovedmenu\')\" class=\"btn btn-orange btn-block\">");
4223 Write(Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING"));
4224 WriteLiteral("<i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n");
4225
4226 }
4227 Custom.Integration.Brokers.Models.BrokerEmployee GetBrokerFromCurrentProduct()
4228 {
4229 string productId = Dynamicweb.Context.Current.Request["ProductId"];
4230
4231 if (string.IsNullOrWhiteSpace(productId))
4232 {
4233 return null;
4234 }
4235
4236 var propertyProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, string.Empty, true);
4237 if (propertyProduct == null)
4238 {
4239 return null;
4240 }
4241
4242 string employee = Dynamicweb.Core.Converter.ToString(
4243 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xAktoererMaeglerKontaktEmail")
4244 );
4245 string storeId = Dynamicweb.Core.Converter.ToString(
4246 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xButikID")
4247 );
4248
4249 if (string.IsNullOrWhiteSpace(employee) || string.IsNullOrWhiteSpace(storeId))
4250 {
4251 return null;
4252 }
4253
4254 return Custom.Integration.Brokers.Search.GetEmployee(storeId, employee);
4255 }
4256
4257 string GetAgentTitleFromCurrentProduct()
4258 {
4259 var propBroker = GetBrokerFromCurrentProduct();
4260
4261 if (propBroker?.Broker == null)
4262 {
4263 return string.Empty;
4264 }
4265
4266 if (!string.IsNullOrEmpty(propBroker.Broker.CompanyName))
4267 {
4268 return propBroker.Broker.CompanyName;
4269 }
4270
4271 return propBroker.Broker.Name ?? string.Empty;
4272 }
4273
4274 string GetMasterBrokerUrlFromCurrentProduct()
4275 {
4276 var propBroker = GetBrokerFromCurrentProduct();
4277
4278 var itemId = propBroker?.Broker?.ItemId;
4279 var itemType = propBroker?.Broker?.ItemType;
4280
4281 if (string.IsNullOrWhiteSpace(itemId) || string.IsNullOrWhiteSpace(itemType))
4282 {
4283 return string.Empty;
4284 }
4285 var brokerItem = Dynamicweb.Content.Items.ItemManager.Storage.GetById(itemType, itemId);
4286
4287 if (brokerItem == null)
4288 {
4289 return string.Empty;
4290 }
4291
4292 var websiteId = Dynamicweb.Core.Converter.ToInt32(brokerItem["WebsiteId"]);
4293 var page = Dynamicweb.Content.Services.Pages.GetFirstPageForArea(websiteId);
4294 return Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("Default.aspx?Id=" + page?.ID);
4295 }
4296
4297 void RenderSlideMenu(bool erhverv, string maeglersoegning)
4298 {
4299 WriteLiteral(" <div id=\"menu\" \r\n class=\"main-menu-slide \"\r\n role=\"navigation\"");
4300 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 55864, "\"", 55980, 1);
4301 WriteAttributeValue("", 55891, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.MainMenu", "Hovedmenu")), 55891, 89, false);
4302 EndWriteAttribute();
4303 WriteLiteral(@"
4304 aria-modal=""true"">
4305 <div class=""container"">
4306 <div class=""row"">
4307 <div class=""col-12"">
4308 <span class=""menu-headline"">MENU</span>
4309 </div>
4310 <div class=""menu-slide""
4311 role=""button""
4312 tabindex=""0""");
4313 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 56345, "\"", 56473, 1);
4314 WriteAttributeValue("", 56384, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.CloseMenu", "Luk menu")), 56384, 89, false);
4315 EndWriteAttribute();
4316 WriteLiteral(">\r\n <b aria-hidden=\"true\"></b>\r\n </div>\r\n <div class=\"col-12 main-slidemenu\" role=\"region\"");
4317 BeginWriteAttribute("aria-label", " aria-label=\"", 56625, "\"", 56741, 1);
4318 WriteAttributeValue("", 56638, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.NavigationLinks", "Navigationslinks")), 56638, 103, false);
4319 EndWriteAttribute();
4320 WriteLiteral(">\r\n");
4321
4322 var navigationSettings = new NavigationSettings();
4323 navigationSettings.StartLevel = 1;
4324 navigationSettings.StopLevel = 2;
4325 navigationSettings.ExpandMode = ExpandMode.All;
4326 navigationSettings.RootAreaId = Pageview.Area.ID;
4327
4328 Write(Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings));
4329 WriteLiteral(" </div>\r\n <div class=\"col-12 bottom-btns\">\r\n\r\n");
4330
4331 string[] maeglerid;
4332 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0";
4333
4334 if (erhverv)
4335 {
4336 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None);
4337 }
4338 else
4339 {
4340 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None);
4341 }
4342
4343 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\" role=\"search\">\r\n <input name=\"id\"");
4344 BeginWriteAttribute("value", " value=\"", 58238, "\"", 58259, 1);
4345 WriteAttributeValue("", 58246, maeglerid[1], 58246, 13, false);
4346 EndWriteAttribute();
4347 WriteLiteral(" type=\"hidden\" />\r\n <div class=\"icon-wrapper-wclick\">\r\n <label for=\"broker-search-menu-vm\" class=\"sr-only\">");
4348 Write(Translate("Custom:Accessibility.FindBroker", "Find mægler"));
4349 WriteLiteral(@"</label>
4350 <i class=""fas fa-search ta-submit-on-icon-click""
4351 aria-hidden=""true""
4352 role=""button""
4353 tabindex=""0""");
4354 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 58754, "\"", 58907, 1);
4355 WriteAttributeValue("", 58807, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.SearchBroker", "Søg efter mægler")), 58807, 100, false);
4356 EndWriteAttribute();
4357 WriteLiteral(@"></i>
4358 <input id=""broker-search-menu-vm""
4359 class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter""
4360 name=""q""
4361 type=""text""");
4362 BeginWriteAttribute("placeholder", " \r\n placeholder=\"", 59215, "\"", 59366, 1);
4363 WriteAttributeValue("", 59274, HtmlEncoder.HtmlAttributeEncode(Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER")), 59274, 92, false);
4364 EndWriteAttribute();
4365 BeginWriteAttribute("aria-label", " \r\n aria-label=\"", 59367, "\"", 59563, 1);
4366 WriteAttributeValue("", 59425, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.BrokerSearchField", "Indtast postnummer eller navn for at finde mægler")), 59425, 138, false);
4367 EndWriteAttribute();
4368 WriteLiteral("\r\n onfocus=\"this.placeholder = \'FIND MÆGLER\'\" />\r\n </div>\r\n </form>\r\n");
4369 WriteLiteral(" <br />\r\n");
4370
4371 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + "";
4372 WriteLiteral(" <a");
4373 BeginWriteAttribute("href", " href=\"", 59973, "\"", 60044, 5);
4374 WriteAttributeValue("", 59980, "javascript:panelSalgsvurdering(\'", 59980, 32, true);
4375 WriteAttributeValue("", 60012, dpmaegler, 60012, 10, false);
4376 WriteAttributeValue("", 60022, "\',\'", 60022, 3, true);
4377 WriteAttributeValue("", 60025, Pageview.AreaID, 60025, 16, false);
4378 WriteAttributeValue("", 60041, "\');", 60041, 3, true);
4379 EndWriteAttribute();
4380 WriteLiteral(" \r\n class=\"btn btn-block btn-default-invert js-close-menu\"");
4381 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 60129, "\"", 60285, 1);
4382 WriteAttributeValue("", 60170, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.FreeSalesAssessment", "Få gratis salgsvurdering")), 60170, 115, false);
4383 EndWriteAttribute();
4384 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");
4385 }
4386
4387 void RenderBlockList(List<Block> blocks)
4388 {
4389 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4390 blocks = blocks.OrderBy(item => item.SortId).ToList();
4391
4392 foreach (Block item in blocks)
4393 {
4394 if (debug) {
4395 WriteLiteral(" <!-- Block START: ");
4396 Write(item.Id);
4397 WriteLiteral(" -->\r\n");
4398 }
4399
4400 if (item.Design == null)
4401 {
4402 RenderBlock(item);
4403 }
4404 else if (item.Design.RenderType == RenderType.None) {
4405 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4406
4407 WriteLiteral(" <div");
4408 BeginWriteAttribute("class", " class=\"", 61540, "\"", 61564, 2);
4409 WriteAttributeValue("", 61548, cssClass, 61548, 9, false);
4410 WriteAttributeValue(" ", 61557, "dw-mod", 61558, 7, true);
4411 EndWriteAttribute();
4412 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4413 }
4414 else if (item.Design.RenderType != RenderType.Hide)
4415 {
4416 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4417
4418 if (!item.SkipRenderBlocksList) {
4419 if (item.Design.RenderType == RenderType.Row)
4420 {
4421 WriteLiteral(" <div");
4422 BeginWriteAttribute("class", " class=\"", 61991, "\"", 62046, 4);
4423 WriteAttributeValue("", 61999, "grid", 61999, 4, true);
4424 WriteAttributeValue(" ", 62003, "grid--align-content-start", 62004, 26, true);
4425 WriteAttributeValue(" ", 62029, cssClass, 62030, 9, false);
4426 WriteAttributeValue(" ", 62039, "dw-mod", 62040, 7, true);
4427 EndWriteAttribute();
4428 BeginWriteAttribute("id", " id=\"", 62047, "\"", 62067, 2);
4429 WriteAttributeValue("", 62052, "Block__", 62052, 7, true);
4430 WriteAttributeValue("", 62059, item.Id, 62059, 8, false);
4431 EndWriteAttribute();
4432 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4433 }
4434
4435 if (item.Design.RenderType == RenderType.Column)
4436 {
4437 string hidePadding = item.Design.HidePadding ? "u-no-padding" : "";
4438 string size = item.Design.Size ?? "12";
4439 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size;
4440
4441 WriteLiteral(" <div");
4442 BeginWriteAttribute("class", " class=\"", 62563, "\"", 62694, 9);
4443 WriteAttributeValue("", 62571, "grid__col-lg-", 62571, 13, true);
4444 WriteAttributeValue("", 62584, item.Design.Size, 62584, 17, false);
4445 WriteAttributeValue(" ", 62601, "grid__col-md-", 62602, 14, true);
4446 WriteAttributeValue("", 62615, item.Design.Size, 62615, 17, false);
4447 WriteAttributeValue(" ", 62632, "grid__col-sm-12", 62633, 16, true);
4448 WriteAttributeValue(" ", 62648, "grid__col-xs-12", 62649, 16, true);
4449 WriteAttributeValue(" ", 62664, hidePadding, 62665, 12, false);
4450 WriteAttributeValue(" ", 62677, cssClass, 62678, 9, false);
4451 WriteAttributeValue(" ", 62687, "dw-mod", 62688, 7, true);
4452 EndWriteAttribute();
4453 BeginWriteAttribute("id", " id=\"", 62695, "\"", 62715, 2);
4454 WriteAttributeValue("", 62700, "Block__", 62700, 7, true);
4455 WriteAttributeValue("", 62707, item.Id, 62707, 8, false);
4456 EndWriteAttribute();
4457 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4458 }
4459
4460 if (item.Design.RenderType == RenderType.Table)
4461 {
4462 WriteLiteral(" <table");
4463 BeginWriteAttribute("class", " class=\"", 62946, "\"", 62976, 3);
4464 WriteAttributeValue("", 62954, "table", 62954, 5, true);
4465 WriteAttributeValue(" ", 62959, cssClass, 62960, 9, false);
4466 WriteAttributeValue(" ", 62969, "dw-mod", 62970, 7, true);
4467 EndWriteAttribute();
4468 BeginWriteAttribute("id", " id=\"", 62977, "\"", 62997, 2);
4469 WriteAttributeValue("", 62982, "Block__", 62982, 7, true);
4470 WriteAttributeValue("", 62989, item.Id, 62989, 8, false);
4471 EndWriteAttribute();
4472 WriteLiteral(">\r\n RenderBlock(item);\r\n </table>\r\n");
4473 }
4474
4475 if (item.Design.RenderType == RenderType.TableRow)
4476 {
4477 WriteLiteral(" <tr");
4478 BeginWriteAttribute("class", " class=\"", 63230, "\"", 63254, 2);
4479 WriteAttributeValue("", 63238, cssClass, 63238, 9, false);
4480 WriteAttributeValue(" ", 63247, "dw-mod", 63248, 7, true);
4481 EndWriteAttribute();
4482 BeginWriteAttribute("id", " id=\"", 63255, "\"", 63275, 2);
4483 WriteAttributeValue("", 63260, "Block__", 63260, 7, true);
4484 WriteAttributeValue("", 63267, item.Id, 63267, 8, false);
4485 EndWriteAttribute();
4486 WriteLiteral(">\r\n RenderBlock(item);\r\n </tr>\r\n");
4487 }
4488
4489 if (item.Design.RenderType == RenderType.TableColumn)
4490 {
4491 WriteLiteral(" <td");
4492 BeginWriteAttribute("class", " class=\"", 63508, "\"", 63532, 2);
4493 WriteAttributeValue("", 63516, cssClass, 63516, 9, false);
4494 WriteAttributeValue(" ", 63525, "dw-mod", 63526, 7, true);
4495 EndWriteAttribute();
4496 BeginWriteAttribute("id", " id=\"", 63533, "\"", 63553, 2);
4497 WriteAttributeValue("", 63538, "Block__", 63538, 7, true);
4498 WriteAttributeValue("", 63545, item.Id, 63545, 8, false);
4499 EndWriteAttribute();
4500 WriteLiteral(">\r\n RenderBlock(item);\r\n </td>\r\n");
4501 }
4502
4503 if (item.Design.RenderType == RenderType.CardHeader)
4504 {
4505 WriteLiteral(" <div");
4506 BeginWriteAttribute("class", " class=\"", 63786, "\"", 63822, 3);
4507 WriteAttributeValue("", 63794, "card-header", 63794, 11, true);
4508 WriteAttributeValue(" ", 63805, cssClass, 63806, 9, false);
4509 WriteAttributeValue(" ", 63815, "dw-mod", 63816, 7, true);
4510 EndWriteAttribute();
4511 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4512 }
4513
4514 if (item.Design.RenderType == RenderType.CardBody)
4515 {
4516 WriteLiteral(" <div");
4517 BeginWriteAttribute("class", " class=\"", 64054, "\"", 64083, 3);
4518 WriteAttributeValue("", 64062, "card", 64062, 4, true);
4519 WriteAttributeValue(" ", 64066, cssClass, 64067, 9, false);
4520 WriteAttributeValue(" ", 64076, "dw-mod", 64077, 7, true);
4521 EndWriteAttribute();
4522 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4523 }
4524
4525 if (item.Design.RenderType == RenderType.CardFooter)
4526 {
4527 WriteLiteral(" <div");
4528 BeginWriteAttribute("class", " class=\"", 64317, "\"", 64353, 3);
4529 WriteAttributeValue("", 64325, "card-footer", 64325, 11, true);
4530 WriteAttributeValue(" ", 64336, cssClass, 64337, 9, false);
4531 WriteAttributeValue(" ", 64346, "dw-mod", 64347, 7, true);
4532 EndWriteAttribute();
4533 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4534 }
4535 }
4536 else
4537 {
4538 RenderBlock(item);
4539 }
4540 }
4541
4542 if (debug) {
4543 WriteLiteral(" <!-- Block END: ");
4544 Write(item.Id);
4545 WriteLiteral(" -->\r\n");
4546 }
4547 }
4548 }
4549
4550 void RenderBlock(Block item)
4551 {
4552 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4553
4554 if (item.Template != null)
4555 {
4556 Write(BlocksPage.RenderTemplate(item.Template));
4557
4558 }
4559
4560 if (item.Component != null)
4561 {
4562 string customSufix = "Custom";
4563 string methodName = item.Component.HelperName;
4564
4565 ComponentBase[] methodParameters = new ComponentBase[1];
4566 methodParameters[0] = item.Component;
4567 Type methodType = this.GetType();
4568
4569 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix);
4570 MethodInfo generalMethod = methodType.GetMethod(methodName);
4571
4572 try {
4573 if (debug) {
4574 WriteLiteral(" <!-- Component: ");
4575 Write(methodName.Replace("Render", ""));
4576 WriteLiteral(" -->\r\n");
4577 }
4578 Write(customMethod.Invoke(this, methodParameters).ToString());
4579 ;
4580 } catch {
4581 try {
4582 Write(generalMethod.Invoke(this, methodParameters).ToString());
4583
4584 ;
4585 } catch(Exception ex) {
4586 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex);
4587 }
4588 }
4589 }
4590
4591 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList)
4592 {
4593 RenderBlockList(item.BlocksList);
4594 }
4595 }
4596
4597 void Render(ComponentBase component)
4598 {
4599 if (component != null)
4600 {
4601 Write(component.Render(this));
4602
4603 }
4604 }
4605
4606 void RenderIcon(Icon settings)
4607 {
4608 if (settings != null)
4609 {
4610 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4611
4612 if (settings.Name != null)
4613 {
4614 if (string.IsNullOrEmpty(settings.Label))
4615 {
4616 WriteLiteral(" <i");
4617 BeginWriteAttribute("class", " class=\"", 67249, "\"", 67307, 3);
4618 WriteAttributeValue("", 67257, settings.Prefix, 67257, 16, false);
4619 WriteAttributeValue(" ", 67273, settings.Name, 67274, 14, false);
4620 WriteAttributeValue(" ", 67288, settings.CssClass, 67289, 18, false);
4621 EndWriteAttribute();
4622 WriteLiteral(" ");
4623 Write(color);
4624 WriteLiteral("></i>\r\n");
4625 }
4626 else
4627 {
4628 if (settings.LabelPosition == IconLabelPosition.Before)
4629 {
4630 WriteLiteral(" <div");
4631 BeginWriteAttribute("class", " class=\"", 67510, "\"", 67570, 3);
4632 WriteAttributeValue("", 67518, "u-flex", 67518, 6, true);
4633 WriteAttributeValue(" ", 67524, "u-flex--align-items-center", 67525, 27, true);
4634 WriteAttributeValue(" ", 67551, settings.CssClass, 67552, 18, false);
4635 EndWriteAttribute();
4636 WriteLiteral(">");
4637 Write(settings.Label);
4638 WriteLiteral(" <i");
4639 BeginWriteAttribute("class", " class=\"", 67590, "\"", 67643, 3);
4640 WriteAttributeValue("", 67598, settings.Prefix, 67598, 16, false);
4641 WriteAttributeValue(" ", 67614, settings.Name, 67615, 14, false);
4642 WriteAttributeValue(" ", 67629, "u-margin-left", 67630, 14, true);
4643 EndWriteAttribute();
4644 WriteLiteral(" ");
4645 Write(color);
4646 WriteLiteral("></i></div>\r\n");
4647 }
4648 else
4649 {
4650 WriteLiteral(" <div");
4651 BeginWriteAttribute("class", " class=\"", 67764, "\"", 67824, 3);
4652 WriteAttributeValue("", 67772, "u-flex", 67772, 6, true);
4653 WriteAttributeValue(" ", 67778, "u-flex--align-items-center", 67779, 27, true);
4654 WriteAttributeValue(" ", 67805, settings.CssClass, 67806, 18, false);
4655 EndWriteAttribute();
4656 WriteLiteral("><i");
4657 BeginWriteAttribute("class", " class=\"", 67828, "\"", 67894, 4);
4658 WriteAttributeValue("", 67836, settings.Prefix, 67836, 16, false);
4659 WriteAttributeValue(" ", 67852, settings.Name, 67853, 14, false);
4660 WriteAttributeValue(" ", 67867, "u-margin-right--lg", 67868, 19, true);
4661 WriteAttributeValue(" ", 67886, "u-w20px", 67887, 8, true);
4662 EndWriteAttribute();
4663 WriteLiteral(" ");
4664 Write(color);
4665 WriteLiteral("></i>");
4666 Write(settings.Label);
4667 WriteLiteral("</div>\r\n");
4668 }
4669 }
4670 }
4671 else if (!string.IsNullOrEmpty(settings.Label))
4672 {
4673 Write(settings.Label);
4674
4675 }
4676 }
4677 }
4678
4679 void RenderButton(Button settings)
4680 {
4681 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4682 {
4683 Dictionary<string, string> attributes = new Dictionary<string, string>();
4684 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4685 if (settings.Disabled) {
4686 attributes.Add("disabled", "true");
4687 classList.Add("disabled");
4688 }
4689
4690 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle))
4691 {
4692 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
4693 RenderConfirmDialog(settings);
4694 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true";
4695 }
4696
4697 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4698 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4699 if (!string.IsNullOrEmpty(settings.AltText))
4700 {
4701 attributes.Add("title", settings.AltText);
4702 }
4703 else if (!string.IsNullOrEmpty(settings.Title))
4704 {
4705 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty);
4706 cleanTitle = cleanTitle.Replace(" ", " ");
4707 attributes.Add("title", cleanTitle);
4708 }
4709
4710 var onClickEvents = new List<string>();
4711 if (!string.IsNullOrEmpty(settings.OnClick))
4712 {
4713 onClickEvents.Add(settings.OnClick);
4714 }
4715 if (!string.IsNullOrEmpty(settings.Href))
4716 {
4717 if (settings.Href.Contains("javascript"))
4718 {
4719 settings.Href = settings.Href.Replace("http://", "");
4720 }
4721 onClickEvents.Add("location.href='" + settings.Href + "'");
4722 }
4723 if (onClickEvents.Count > 0)
4724 {
4725 attributes.Add("onClick", string.Join(";", onClickEvents));
4726 }
4727
4728 if (settings.ButtonLayout != ButtonLayout.None)
4729 {
4730 classList.Add("btn");
4731 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4732 if (btnLayout == "linkclean")
4733 {
4734 btnLayout = "link-clean"; //fix
4735 }
4736 classList.Add("btn--" + btnLayout);
4737 }
4738
4739 if (settings.Icon == null)
4740 {
4741 settings.Icon = new Icon();
4742 }
4743
4744 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : "";
4745 settings.Icon.Label = settings.Title;
4746
4747 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower());
4748
4749 WriteLiteral(" <button");
4750 BeginWriteAttribute("class", " class=\"", 71487, "\"", 71530, 2);
4751 WriteAttributeValue("", 71495, string.Join(" ", classList), 71495, 28, false);
4752 WriteAttributeValue(" ", 71523, "dw-mod", 71524, 7, true);
4753 EndWriteAttribute();
4754 WriteLiteral(" ");
4755 Write(ComponentMethods.AddAttributes(attributes));
4756 WriteLiteral(" ");
4757 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4758 WriteLiteral(">");
4759 RenderIcon(settings.Icon);WriteLiteral("</button>\r\n");
4760 }
4761 }
4762
4763 void RenderConfirmDialog(Button settings)
4764 {
4765 Modal confirmDialog = new Modal {
4766 Id = settings.Id,
4767 Width = ModalWidth.Sm,
4768 Heading = new Heading
4769 {
4770 Level = 2,
4771 Title = settings.ConfirmTitle
4772 },
4773 BodyText = settings.ConfirmText
4774 };
4775
4776 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"});
4777 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick });
4778
4779 RenderModal(confirmDialog);
4780 }
4781
4782 void RenderLink(Link settings)
4783 {
4784 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4785 {
4786 Dictionary<string, string> attributes = new Dictionary<string, string>();
4787 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4788 if (settings.Disabled)
4789 {
4790 attributes.Add("disabled", "true");
4791 classList.Add("disabled");
4792 }
4793
4794 if (!string.IsNullOrEmpty(settings.AltText))
4795 {
4796 attributes.Add("title", settings.AltText);
4797 }
4798 else if (!string.IsNullOrEmpty(settings.Title))
4799 {
4800 attributes.Add("title", settings.Title);
4801 }
4802
4803 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4804 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4805 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); }
4806 attributes.Add("href", settings.Href);
4807
4808 if (settings.ButtonLayout != ButtonLayout.None)
4809 {
4810 classList.Add("btn");
4811 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4812 if (btnLayout == "linkclean")
4813 {
4814 btnLayout = "link-clean"; //fix
4815 }
4816 classList.Add("btn--" + btnLayout);
4817 }
4818
4819 if (settings.Icon == null)
4820 {
4821 settings.Icon = new Icon();
4822 }
4823 settings.Icon.Label = settings.Title;
4824
4825 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None)
4826 {
4827 settings.Rel = LinkRelType.Noopener;
4828 }
4829 if (settings.Target != LinkTargetType.None)
4830 {
4831 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower());
4832 }
4833 if (settings.Download)
4834 {
4835 attributes.Add("download", "true");
4836 }
4837 if (settings.Rel != LinkRelType.None)
4838 {
4839 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower());
4840 }
4841
4842 WriteLiteral(" <a");
4843 BeginWriteAttribute("class", " class=\"", 75262, "\"", 75305, 2);
4844 WriteAttributeValue("", 75270, string.Join(" ", classList), 75270, 28, false);
4845 WriteAttributeValue(" ", 75298, "dw-mod", 75299, 7, true);
4846 EndWriteAttribute();
4847 WriteLiteral(" ");
4848 Write(ComponentMethods.AddAttributes(attributes));
4849 WriteLiteral(" ");
4850 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4851 WriteLiteral(">Render(settings.Icon);</a>\r\n");
4852 }
4853 }
4854
4855 void RenderRating(Rating settings)
4856 {
4857 if (settings.Score > 0)
4858 {
4859 int rating = settings.Score;
4860 string iconType = "fa-star";
4861
4862 switch (settings.Type.ToString()) {
4863 case "Stars":
4864 iconType = "fa-star";
4865 break;
4866 case "Hearts":
4867 iconType = "fa-heart";
4868 break;
4869 case "Lemons":
4870 iconType = "fa-lemon";
4871 break;
4872 case "Bombs":
4873 iconType = "fa-bomb";
4874 break;
4875 }
4876
4877 WriteLiteral(" <div class=\"u-ta-right\">\r\n");
4878 for (int i = 0; i < settings.OutOf; i++)
4879 {
4880 WriteLiteral(" <i");
4881 BeginWriteAttribute("class", " class=\"", 76439, "\"", 76486, 2);
4882 WriteAttributeValue("", 76447, rating > i ? "fas" : "far", 76447, 29, false);
4883 WriteAttributeValue(" ", 76476, iconType, 76477, 9, false);
4884 EndWriteAttribute();
4885 WriteLiteral("></i>\r\n");
4886 }
4887 WriteLiteral(" </div>\r\n");
4888 }
4889 }
4890
4891 void RenderNavigation(Navigation settings) {
4892 RenderNavigation(new
4893 {
4894 id = settings.Id,
4895 cssclass = settings.CssClass,
4896 startLevel = settings.StartLevel,
4897 endlevel = settings.EndLevel,
4898 expandmode = settings.Expandmode,
4899 sitemapmode = settings.SitemapMode,
4900 template = settings.Template
4901 });
4902 }
4903
4904 void RenderLeftNavigation(LeftNavigation settings) {
4905 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id;
4906 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template;
4907 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel;
4908 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel;
4909 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode;
4910
4911 WriteLiteral(" <div class=\"grid__cell\">\r\n RenderNavigation(settings);\r\n </div> \r\n");
4912 }
4913
4914 void RenderHeading(Heading settings)
4915 {
4916 if (settings != null && !string.IsNullOrEmpty(settings.Title))
4917 {
4918 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4919 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div";
4920
4921 Write("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">");
4922
4923 if (!string.IsNullOrEmpty(settings.Link))
4924 {
4925 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None });
4926 }
4927 else
4928 {
4929 if (settings.Icon == null)
4930 {
4931 settings.Icon = new Icon();
4932 }
4933 settings.Icon.Label = settings.Title;
4934 RenderIcon(settings.Icon);
4935 }
4936 Write("</" + tagName + ">");
4937 ;
4938 }
4939 }
4940
4941 void RenderImage(Image settings)
4942 {
4943 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None)
4944 {
4945 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
4946 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); }
4947
4948 if (settings.Caption != null)
4949 {
4950 WriteLiteral(" ");
4951 WriteLiteral("<div>\r\n");
4952 }
4953
4954 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower();
4955 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower();
4956
4957 WriteLiteral(" <div");
4958 BeginWriteAttribute("class", " class=\"", 79967, "\"", 80048, 5);
4959 WriteAttributeValue("", 79975, "image-filter", 79975, 12, true);
4960 WriteAttributeValue(" ", 79987, "image-filter--", 79988, 15, true);
4961 WriteAttributeValue("", 80002, primaryFilterClass, 80002, 19, false);
4962 WriteAttributeValue(" ", 80021, "u-position-relative", 80022, 20, true);
4963 WriteAttributeValue(" ", 80041, "dw-mod", 80042, 7, true);
4964 EndWriteAttribute();
4965 WriteLiteral(" ");
4966 Write(ComponentMethods.AddAttributes(optionalAttributes));
4967 WriteLiteral(">\r\n <div");
4968 BeginWriteAttribute("class", " class=\"", 80128, "\"", 80191, 4);
4969 WriteAttributeValue("", 80136, "image-filter", 80136, 12, true);
4970 WriteAttributeValue(" ", 80148, "image-filter--", 80149, 15, true);
4971 WriteAttributeValue("", 80163, secondaryFilterClass, 80163, 21, false);
4972 WriteAttributeValue(" ", 80184, "dw-mod", 80185, 7, true);
4973 EndWriteAttribute();
4974 WriteLiteral(">\r\n");
4975 if (settings.Link != null)
4976 {
4977 WriteLiteral(" <a");
4978 BeginWriteAttribute("href", " href=\"", 80305, "\"", 80326, 1);
4979 WriteAttributeValue("", 80312, settings.Link, 80312, 14, false);
4980 EndWriteAttribute();
4981 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
4982 }
4983 else
4984 {
4985 RenderTheImage(settings);
4986 }
4987 WriteLiteral(" </div>\r\n </div>\r\n");
4988
4989 if (settings.Caption != null)
4990 {
4991 WriteLiteral(" <span class=\"image-caption dw-mod\">");
4992 Write(settings.Caption);
4993 WriteLiteral("</span>\r\n ");
4994 WriteLiteral("</div>\r\n");
4995 }
4996 }
4997 else
4998 {
4999 if (settings.Caption != null)
5000 {
5001 WriteLiteral(" ");
5002 WriteLiteral("<div>\r\n");
5003 }
5004 if (!string.IsNullOrEmpty(settings.Link))
5005 {
5006 WriteLiteral(" <a");
5007 BeginWriteAttribute("href", " href=\"", 81069, "\"", 81090, 1);
5008 WriteAttributeValue("", 81076, settings.Link, 81076, 14, false);
5009 EndWriteAttribute();
5010 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
5011 }
5012 else
5013 {
5014 RenderTheImage(settings);
5015 }
5016
5017 if (settings.Caption != null)
5018 {
5019 WriteLiteral(" <span class=\"image-caption dw-mod\">");
5020 Write(settings.Caption);
5021 WriteLiteral("</span>\r\n ");
5022 WriteLiteral("</div>\r\n");
5023 }
5024 }
5025 }
5026
5027 void RenderTheImage(Image settings)
5028 {
5029 if (settings != null)
5030 {
5031 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg";
5032 string placeholderImage = "/Files/Images/placeholder.gif";
5033 string imageEngine = "/Admin/Public/GetImage.ashx?";
5034
5035 string imageStyle = "";
5036
5037 switch (settings.Style)
5038 {
5039 case ImageStyle.Ball:
5040 imageStyle = "grid__cell-img--ball";
5041 break;
5042
5043 case ImageStyle.Triangle:
5044 imageStyle = "grid__cell-img--triangle";
5045 break;
5046 }
5047
5048 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle)
5049 {
5050 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop;
5051
5052 if (settings.ImageDefault != null)
5053 {
5054 settings.ImageDefault.Height = settings.ImageDefault.Width;
5055 }
5056 if (settings.ImageMedium != null)
5057 {
5058 settings.ImageMedium.Height = settings.ImageMedium.Width;
5059 }
5060 if (settings.ImageSmall != null)
5061 {
5062 settings.ImageSmall.Height = settings.ImageSmall.Width;
5063 }
5064 }
5065
5066 string defaultImage = imageEngine;
5067 string imageSmall = "";
5068 string imageMedium = "";
5069
5070 if (settings.DisableImageEngine)
5071 {
5072 defaultImage = settings.Path;
5073 }
5074 else
5075 {
5076 if (settings.ImageDefault != null)
5077 {
5078 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault);
5079
5080 if (settings.Path.GetType() != typeof(string))
5081 {
5082 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5083 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5084 }
5085 else
5086 {
5087 defaultImage += settings.Path != null ? "Image=" + settings.Path : "";
5088 }
5089
5090 defaultImage += "&AlternativeImage=" + alternativeImage;
5091 }
5092
5093 if (settings.ImageSmall != null)
5094 {
5095 imageSmall = "data-src-small=\"" + imageEngine;
5096 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall);
5097
5098 if (settings.Path.GetType() != typeof(string))
5099 {
5100 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5101 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5102 }
5103 else
5104 {
5105 imageSmall += settings.Path != null ? "Image=" + settings.Path : "";
5106 }
5107
5108 imageSmall += "&alternativeImage=" + alternativeImage;
5109
5110 imageSmall += "\"";
5111 }
5112
5113 if (settings.ImageMedium != null)
5114 {
5115 imageMedium = "data-src-medium=\"" + imageEngine;
5116 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium);
5117
5118 if (settings.Path.GetType() != typeof(string))
5119 {
5120 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5121 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5122 }
5123 else
5124 {
5125 imageMedium += settings.Path != null ? "Image=" + settings.Path : "";
5126 }
5127
5128 imageMedium += "&alternativeImage=" + alternativeImage;
5129
5130 imageMedium += "\"";
5131 }
5132 }
5133
5134 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5135 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); }
5136 if (!string.IsNullOrEmpty(settings.Title))
5137 {
5138 optionalAttributes.Add("alt", settings.Title);
5139 optionalAttributes.Add("title", settings.Title);
5140 }
5141
5142 if (settings.DisableLazyLoad)
5143 {
5144 WriteLiteral(" <img");
5145 BeginWriteAttribute("id", " id=\"", 86569, "\"", 86586, 1);
5146 WriteAttributeValue("", 86574, settings.Id, 86574, 12, false);
5147 EndWriteAttribute();
5148 BeginWriteAttribute("class", " class=\"", 86587, "\"", 86632, 3);
5149 WriteAttributeValue("", 86595, imageStyle, 86595, 11, false);
5150 WriteAttributeValue(" ", 86606, settings.CssClass, 86607, 18, false);
5151 WriteAttributeValue(" ", 86625, "dw-mod", 86626, 7, true);
5152 EndWriteAttribute();
5153 BeginWriteAttribute("src", " src=\"", 86633, "\"", 86652, 1);
5154 WriteAttributeValue("", 86639, defaultImage, 86639, 13, false);
5155 EndWriteAttribute();
5156 WriteLiteral(" ");
5157 Write(ComponentMethods.AddAttributes(optionalAttributes));
5158 WriteLiteral(" ");
5159 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5160 WriteLiteral(" />\r\n");
5161 }
5162 else
5163 {
5164
5165 WriteLiteral(" <img");
5166 BeginWriteAttribute("id", " id=\"", 86850, "\"", 86867, 1);
5167 WriteAttributeValue("", 86855, settings.Id, 86855, 12, false);
5168 EndWriteAttribute();
5169 BeginWriteAttribute("class", " class=\"", 86868, "\"", 86913, 3);
5170 WriteAttributeValue("", 86876, imageStyle, 86876, 11, false);
5171 WriteAttributeValue(" ", 86887, settings.CssClass, 86888, 18, false);
5172 WriteAttributeValue(" ", 86906, "dw-mod", 86907, 7, true);
5173 EndWriteAttribute();
5174 WriteLiteral(" loading=\"lazy\"");
5175 BeginWriteAttribute("src", " src=\"", 86929, "\"", 86948, 1);
5176 WriteAttributeValue("", 86935, defaultImage, 86935, 13, false);
5177 EndWriteAttribute();
5178 WriteLiteral(" ");
5179 Write(ComponentMethods.AddAttributes(optionalAttributes));
5180 WriteLiteral(" ");
5181 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5182 WriteLiteral(" />\r\n");
5183 }
5184 }
5185 }
5186
5187 void RenderHiddenField(HiddenField settings) {
5188 var attributes = new Dictionary<string, string>();
5189 attributes.Add("type", "hidden");
5190 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5191 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5192 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5193
5194 WriteLiteral(" <input ");
5195 Write(ComponentMethods.AddAttributes(attributes));
5196 WriteLiteral(" ");
5197 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5198 WriteLiteral("/>\r\n");
5199 }
5200
5201 void RenderRadioButtonField(RadioButtonField settings)
5202 {
5203 var attributes = new Dictionary<string, string>();
5204 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id))
5205 {
5206 settings.Id = Guid.NewGuid().ToString("N");
5207 }
5208
5209 /*base settings*/
5210 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5211 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); }
5212 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); }
5213 if (settings.Disabled) { attributes.Add("disabled", "true"); }
5214 if (settings.Required) { attributes.Add("required", "true"); }
5215 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5216 /*end*/
5217
5218 attributes.Add("type", "radio");
5219 if (settings.Checked) { attributes.Add("checked", "true"); }
5220 settings.CssClass = "form__control " + settings.CssClass;
5221 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5222
5223 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value);
5224
5225 WriteLiteral(" <div");
5226 BeginWriteAttribute("class", " class=\"", 89268, "\"", 89326, 3);
5227 WriteAttributeValue("", 89276, "form__field-group", 89276, 17, true);
5228 WriteAttributeValue(" ", 89293, settings.WrapperCssClass, 89294, 25, false);
5229 WriteAttributeValue(" ", 89319, "dw-mod", 89320, 7, true);
5230 EndWriteAttribute();
5231 WriteLiteral(">\r\n <input ");
5232 Write(ComponentMethods.AddAttributes(resultAttributes));
5233 WriteLiteral(" class=\"");
5234 Write(settings.CssClass);
5235 WriteLiteral(" dw-mod\" />\r\n");
5236 if (!string.IsNullOrEmpty(settings.Label))
5237 {
5238 WriteLiteral(" <label");
5239 BeginWriteAttribute("for", " for=\"", 89531, "\"", 89549, 1);
5240 WriteAttributeValue("", 89537, settings.Id, 89537, 12, false);
5241 EndWriteAttribute();
5242 WriteLiteral(" class=\"dw-mod\">");
5243 Write(settings.Label);
5244 WriteLiteral("</label>\r\n");
5245 }
5246 if (!string.IsNullOrEmpty(settings.HelpText))
5247 {
5248 WriteLiteral(" <small class=\"form__help-text\">");
5249 Write(settings.HelpText);
5250 WriteLiteral("</small>\r\n");
5251 }
5252 WriteLiteral(" Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5253 }
5254
5255 void RenderRadioButtonListField(RadioButtonListField settings)
5256 {
5257 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; }
5258
5259 WriteLiteral(" <div");
5260 BeginWriteAttribute("class", " class=\"", 90264, "\"", 90338, 4);
5261 WriteAttributeValue("", 90272, "form__field-group", 90272, 17, true);
5262 WriteAttributeValue(" ", 90289, settings.WrapperCssClass, 90290, 25, false);
5263 WriteAttributeValue(" ", 90315, "u-margin-bottom", 90316, 16, true);
5264 WriteAttributeValue(" ", 90331, "dw-mod", 90332, 7, true);
5265 EndWriteAttribute();
5266 WriteLiteral(" ");
5267 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5268 WriteLiteral(">\r\n");
5269 if (!string.IsNullOrEmpty(settings.Label))
5270 {
5271 WriteLiteral(" <label>");
5272 Write(settings.Label);
5273 WriteLiteral("</label>\r\n");
5274 }
5275 if (!string.IsNullOrEmpty(settings.HelpText))
5276 {
5277 WriteLiteral(" <small class=\"form__help-text\">");
5278 Write(settings.HelpText);
5279 WriteLiteral("</small>\r\n");
5280 }
5281 WriteLiteral("\r\n");
5282 foreach (var item in settings.Options)
5283 {
5284 if (settings.Required)
5285 {
5286 item.Required = true;
5287 }
5288 if (settings.Disabled)
5289 {
5290 item.Disabled = true;
5291 }
5292 if (!string.IsNullOrEmpty(settings.Name))
5293 {
5294 item.Name = settings.Name;
5295 }
5296 if (settings.Value != null && settings.Value == item.Value)
5297 {
5298 item.Checked = true;
5299 }
5300 if (!string.IsNullOrEmpty(settings.OnClick))
5301 {
5302 item.OnClick += settings.OnClick;
5303 }
5304 if (!string.IsNullOrEmpty(settings.OnChange))
5305 {
5306 item.OnChange += settings.OnChange;
5307 }
5308 if (!string.IsNullOrEmpty(settings.CssClass))
5309 {
5310 item.CssClass += settings.CssClass;
5311 }
5312 Render(item);
5313 }
5314 WriteLiteral("\r\n Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5315 }
5316
5317 void RenderForm(Form settings) {
5318 if (settings != null)
5319 {
5320 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5321 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); };
5322 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); };
5323 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); };
5324 var enctypes = new Dictionary<string, string>
5325 {
5326 { "multipart", "multipart/form-data" },
5327 { "text", "text/plain" },
5328 { "application", "application/x-www-form-urlencoded" }
5329 };
5330 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); };
5331 optionalAttributes.Add("method", settings.Method.ToString());
5332
5333 if (!string.IsNullOrEmpty(settings.FormStartMarkup))
5334 {
5335 Write(settings.FormStartMarkup);
5336
5337 }
5338 else
5339 {
5340 WriteLiteral(" ");
5341 WriteLiteral("<form class=\"");
5342 Write(settings.CssClass);
5343 WriteLiteral(" u-no-margin dw-mod\" ");
5344 Write(ComponentMethods.AddAttributes(optionalAttributes));
5345 WriteLiteral(" ");
5346 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5347 WriteLiteral(">\r\n");
5348 }
5349
5350 foreach (var field in settings.GetFields())
5351 {
5352 Render(field);
5353 }
5354
5355 WriteLiteral(" ");
5356 WriteLiteral("</form>\r\n");
5357 }
5358 }
5359
5360 void RenderText(Text settings)
5361 {
5362 Write(settings.Content);
5363
5364 }
5365
5366 void RenderContentModule(ContentModule settings) {
5367 if (!string.IsNullOrEmpty(settings.Content))
5368 {
5369 Write(settings.Content);
5370
5371 }
5372 }
5373
5374 void RenderModal(Modal settings) {
5375 if (settings != null)
5376 {
5377 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
5378
5379 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : "";
5380
5381 WriteLiteral(" <input type=\"checkbox\"");
5382 BeginWriteAttribute("id", " id=\"", 94734, "\"", 94761, 2);
5383 WriteAttributeValue("", 94739, modalId, 94739, 10, false);
5384 WriteAttributeValue("", 94749, "ModalTrigger", 94749, 12, true);
5385 EndWriteAttribute();
5386 WriteLiteral(" class=\"modal-trigger\" ");
5387 Write(onchange);
5388 WriteLiteral(" />\r\n");
5389 WriteLiteral(" <div class=\"modal-container\">\r\n");
5390 if (!settings.DisableDarkOverlay)
5391 {
5392 WriteLiteral(" <label");
5393 BeginWriteAttribute("for", " for=\"", 94941, "\"", 94969, 2);
5394 WriteAttributeValue("", 94947, modalId, 94947, 10, false);
5395 WriteAttributeValue("", 94957, "ModalTrigger", 94957, 12, true);
5396 EndWriteAttribute();
5397 BeginWriteAttribute("id", " id=\"", 94970, "\"", 94997, 2);
5398 WriteAttributeValue("", 94975, modalId, 94975, 10, false);
5399 WriteAttributeValue("", 94985, "ModalOverlay", 94985, 12, true);
5400 EndWriteAttribute();
5401 WriteLiteral(" class=\"modal-overlay\"></label>\r\n");
5402 }
5403 WriteLiteral(" <div");
5404 BeginWriteAttribute("class", " class=\"", 95070, "\"", 95179, 5);
5405 WriteAttributeValue("", 95078, "modal", 95078, 5, true);
5406 WriteAttributeValue(" ", 95083, "modal--", 95084, 8, true);
5407 WriteAttributeValue("", 95091, settings.Width.ToString().ToLower(), 95091, 36, false);
5408 WriteAttributeValue(" ", 95127, "modal-height--", 95128, 15, true);
5409 WriteAttributeValue("", 95142, settings.Height.ToString().ToLower(), 95142, 37, false);
5410 EndWriteAttribute();
5411 BeginWriteAttribute("id", " id=\"", 95180, "\"", 95200, 2);
5412 WriteAttributeValue("", 95185, modalId, 95185, 10, false);
5413 WriteAttributeValue("", 95195, "Modal", 95195, 5, true);
5414 EndWriteAttribute();
5415 WriteLiteral(">\r\n");
5416 if (settings.Heading != null)
5417 {
5418 if (!string.IsNullOrEmpty(settings.Heading.Title))
5419 {
5420 WriteLiteral(" <div class=\"modal__header\">\r\n RenderHeading(settings.Heading);\r\n </div>\r\n");
5421 }
5422 }
5423 WriteLiteral(" <div");
5424 BeginWriteAttribute("class", " class=\"", 95615, "\"", 95710, 2);
5425 WriteAttributeValue("", 95623, "modal__body", 95623, 11, true);
5426 WriteAttributeValue(" ", 95634, settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "", 95635, 75, false);
5427 EndWriteAttribute();
5428 WriteLiteral(">\r\n");
5429 if (!string.IsNullOrEmpty(settings.BodyText))
5430 {
5431 Write(settings.BodyText);
5432
5433 }
5434 if (settings.BodyTemplate != null)
5435 {
5436 Write(settings.BodyTemplate);
5437
5438 }
5439
5440 var actions = settings.GetActions();
5441 WriteLiteral(" </div>\r\n");
5442 if (actions.Length > 0)
5443 {
5444 WriteLiteral(" <div class=\"modal__footer\">\r\n");
5445 foreach (var action in actions)
5446 {
5447 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") {
5448 action.CssClass += " u-no-margin";
5449 } else {
5450 action.CssClass += " u-full-width u-margin-bottom";
5451 }
5452
5453 Render(action);
5454 }
5455 WriteLiteral(" </div>\r\n");
5456 }
5457 WriteLiteral(" <label class=\"modal__close-btn\"");
5458 BeginWriteAttribute("for", " for=\"", 96954, "\"", 96982, 2);
5459 WriteAttributeValue("", 96960, modalId, 96960, 10, false);
5460 WriteAttributeValue("", 96970, "ModalTrigger", 96970, 12, true);
5461 EndWriteAttribute();
5462 WriteLiteral("></label>\r\n </div>\r\n </div>\r\n");
5463 }
5464 }
5465
5466 void RenderMediaListItem(MediaListItem settings)
5467 {
5468 WriteLiteral(" <div");
5469 BeginWriteAttribute("class", " class=\"", 97220, "\"", 97269, 3);
5470 WriteAttributeValue("", 97228, "media-list-item", 97228, 15, true);
5471 WriteAttributeValue(" ", 97243, settings.CssClass, 97244, 18, false);
5472 WriteAttributeValue(" ", 97262, "dw-mod", 97263, 7, true);
5473 EndWriteAttribute();
5474 WriteLiteral(" ");
5475 Write(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "");
5476 WriteLiteral(">\r\n");
5477 if (!string.IsNullOrEmpty(settings.Label))
5478 {
5479 if (!string.IsNullOrEmpty(settings.Link))
5480 {
5481 Render(new Link
5482 {
5483 Href = settings.Link,
5484 CssClass = "media-list-item__sticker dw-mod",
5485 ButtonLayout = ButtonLayout.None,
5486 Title = settings.Label,
5487 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5488 });
5489 }
5490 else if (!string.IsNullOrEmpty(settings.OnClick))
5491 {
5492 WriteLiteral(" <span class=\"media-list-item__sticker dw-mod\"");
5493 BeginWriteAttribute("onclick", " onclick=\"", 98077, "\"", 98106, 1);
5494 WriteAttributeValue("", 98087, settings.OnClick, 98087, 19, false);
5495 EndWriteAttribute();
5496 WriteLiteral(">\r\n <span class=\"u-uppercase\">");
5497 Write(settings.Label);
5498 WriteLiteral("</span>\r\n </span>\r\n");
5499 }
5500 else
5501 {
5502 WriteLiteral(" <span class=\"media-list-item__sticker media-list-item__sticker--no-link dw-mod\">\r\n <span class=\"u-uppercase\">");
5503 Write(settings.Label);
5504 WriteLiteral("</span>\r\n </span>\r\n");
5505 }
5506 }
5507 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");
5508 if (!string.IsNullOrEmpty(settings.Title))
5509 {
5510 if (!string.IsNullOrEmpty(settings.Link))
5511 {
5512 Render(new Link
5513 {
5514 Href = settings.Link,
5515 CssClass = "media-list-item__name dw-mod",
5516 ButtonLayout = ButtonLayout.None,
5517 Title = settings.Title,
5518 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5519 });
5520 }
5521 else if (!string.IsNullOrEmpty(settings.OnClick))
5522 {
5523 WriteLiteral(" <span class=\"media-list-item__name dw-mod\"");
5524 BeginWriteAttribute("onclick", " onclick=\"", 99603, "\"", 99632, 1);
5525 WriteAttributeValue("", 99613, settings.OnClick, 99613, 19, false);
5526 EndWriteAttribute();
5527 WriteLiteral(">");
5528 Write(settings.Title);
5529 WriteLiteral("</span>\r\n");
5530 }
5531 else
5532 {
5533 WriteLiteral(" <span class=\"media-list-item__name media-list-item__name--no-link dw-mod\">");
5534 Write(settings.Title);
5535 WriteLiteral("</span>\r\n");
5536 }
5537 }
5538 WriteLiteral("\r\n");
5539 if (!string.IsNullOrEmpty(settings.Status))
5540 {
5541 WriteLiteral(" <div class=\"media-list-item__state dw-mod\">");
5542 Write(settings.Status);
5543 WriteLiteral("</div>\r\n");
5544 }
5545 WriteLiteral(" </div>\r\n");
5546
5547 settings.InfoTable.CssClass += " media-list-item__parameters-table";
5548 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");
5549
5550 var actions = settings.GetActions();
5551
5552 foreach (ButtonBase action in actions)
5553 {
5554 action.ButtonLayout = ButtonLayout.None;
5555 action.CssClass += " media-list-item__action link";
5556
5557 Render(action);
5558 }
5559 WriteLiteral(" </div>\r\n\r\n");
5560 if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title))
5561 {
5562 settings.SelectButton.CssClass += " u-no-margin";
5563
5564 WriteLiteral(" <div class=\"media-list-item__action-button\">\r\n Render(settings.SelectButton);\r\n </div>\r\n");
5565 }
5566 WriteLiteral(" </div>\r\n </div>\r\n </div>\r\n");
5567 }
5568
5569 void RenderTable(Table settings)
5570 {
5571 Dictionary<string, string> attributes = new Dictionary<string, string>();
5572 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5573
5574 var enumToClasses = new Dictionary<TableDesign, string>
5575 {
5576 { TableDesign.Clean, "table--clean" },
5577 { TableDesign.Bordered, "table--bordered" },
5578 { TableDesign.Striped, "table--striped" },
5579 { TableDesign.Hover, "table--hover" },
5580 { TableDesign.Compact, "table--compact" },
5581 { TableDesign.Condensed, "table--condensed" },
5582 { TableDesign.NoTopBorder, "table--no-top-border" }
5583 };
5584 string tableDesignClass = "";
5585 if (settings.Design != TableDesign.None)
5586 {
5587 tableDesignClass = enumToClasses[settings.Design];
5588 }
5589
5590 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); }
5591
5592 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5593
5594 WriteLiteral(" <table ");
5595 Write(ComponentMethods.AddAttributes(resultAttributes));
5596 WriteLiteral(">\r\n");
5597 if (settings.Header != null)
5598 {
5599 WriteLiteral(" <thead>\r\n Render(settings.Header);\r\n </thead>\r\n");
5600 }
5601 WriteLiteral(" <tbody>\r\n");
5602 foreach (var row in settings.Rows)
5603 {
5604 Render(row);
5605 }
5606 WriteLiteral(" </tbody>\r\n");
5607 if (settings.Footer != null)
5608 {
5609 WriteLiteral(" <tfoot>\r\n Render(settings.Footer);\r\n </tfoot>\r\n");
5610 }
5611 WriteLiteral(" </table>\r\n");
5612 }
5613
5614 void RenderTableRow(TableRow settings)
5615 {
5616 Dictionary<string, string> attributes = new Dictionary<string, string>();
5617 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5618
5619 var enumToClasses = new Dictionary<TableRowDesign, string>
5620 {
5621 { TableRowDesign.NoBorder, "table__row--no-border" },
5622 { TableRowDesign.Border, "table__row--border" },
5623 { TableRowDesign.TopBorder, "table__row--top-line" },
5624 { TableRowDesign.BottomBorder, "table__row--bottom-line" },
5625 { TableRowDesign.Solid, "table__row--solid" }
5626 };
5627
5628 string tableRowDesignClass = "";
5629 if (settings.Design != TableRowDesign.None)
5630 {
5631 tableRowDesignClass = enumToClasses[settings.Design];
5632 }
5633
5634 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); }
5635
5636 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5637
5638 WriteLiteral(" <tr ");
5639 Write(ComponentMethods.AddAttributes(resultAttributes));
5640 WriteLiteral(">\r\n");
5641 foreach (var cell in settings.Cells)
5642 {
5643 if (settings.IsHeaderRow)
5644 {
5645 cell.IsHeader = true;
5646 }
5647 Render(cell);
5648 }
5649 WriteLiteral(" </tr>\r\n");
5650 }
5651
5652 void RenderTableCell(TableCell settings)
5653 {
5654 Dictionary<string, string> attributes = new Dictionary<string, string>();
5655 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5656 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); }
5657 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); }
5658 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); }
5659
5660 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5661
5662 string tagName = settings.IsHeader ? "th" : "td";
5663
5664 Write("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">");
5665 Write(settings.Content);
5666 Write("</" + tagName + ">");
5667 ;
5668 }
5669
5670 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage");
5671 }
5672 }
5673 #pragma warning restore 1591
5674
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 int mainSiteAreaId = Custom.Navigation.Config.GetMainSiteAreaId();
2709
2710 var myAccountPage = Dynamicweb.Content.Services.Pages.GetPageByNavigationTag(mainSiteAreaId, "MyAccount");
2711
2712 <div class="header__container container">
2713 <div class="header__logo">
2714 <a href="/" title="">
2715 <img src="@(logoUrl)" alt="" />
2716 </a>
2717 </div>
2718 <div class="header__title">
2719 <span>@Translate("Custom:Header.Title", "Realmæglerne")</span>
2720 </div>
2721 @if (myAccountPage is object)
2722 {
2723 <div class="header__navigation d-none d-md-flex">
2724 <div class="header__navigation">
2725 <div class="header__Link">
2726 <ul>
2727 <li class="d-flex align-items-center">
2728 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2729 <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" />
2730 </svg>
2731 <a class="ml-2" href="/Default.aspx?ID=@myAccountPage.ID" target="_blank">@Translate("Mit RealMæglerne")</a>
2732 </li>
2733 </ul>
2734 </div>
2735 </div>
2736 </div>
2737
2738 }
2739 <div class="header__search flex-column flex-md-row js-mainsearch">
2740 @Translate("Søg bolig")
2741 </div>
2742 <div class="header__navigation">
2743 <div class="header__navigation-icon menu-slide">
2744 <div class="d-none d-md-block">
2745 @Translate("Menu")
2746 </div>
2747 </div>
2748 </div>
2749 </div>
2750 }
2751
2752 <div class="search-modal">
2753
2754 @if (Converter.ToString(Pageview.Area.Item["Type"]) == "real")
2755 {
2756 <div class="main-search-form">
2757 <i class="fal fa-times float-right fa-2x js-close-search close-search"></i>
2758 <div class="row mb-3 align-items-center">
2759 <div class="col-xs-12 col-md-3 border-right">
2760 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
2761 </div>
2762 <div class="col-xs-12 col-md-9 home-count d-none d-md-block">
2763 <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>
2764
2765 </div>
2766 </div>
2767
2768 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
2769 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
2770 <div class="row form-wrapper no-gutters">
2771
2772 <div class="col-xs-12 col-md-5 col-searchbar">
2773 <div class="searchbar">
2774 <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)" />
2775 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" />
2776 <input type="hidden" id="zipcodeto" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" />
2777 </div>
2778 </div>
2779 <div class="col-xs-12 col-md-5">
2780 <div class="row no-gutters">
2781 <div class="col-xs-12 col-md-6 input-col">
2782 <div class="dropdown">
2783 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2784 @Translate("Smartpage:Search.Boligtype", "Boligtype")
2785 </button>
2786 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
2787 <ul class="bolig-dropdown list-unstyled">
2788 @{
2789 RenderBoligtypeCheckboxesDropdown();
2790 }
2791 </ul>
2792 <span class="border-fat"></span>
2793 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2794 </div>
2795
2796 </div>
2797
2798 </div>
2799 <div class="col-xs-12 col-md-6 input-col">
2800 <div class="dropdown">
2801 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2802 @Translate("Smartpage:Search.Pris", "Pris")
2803 </button>
2804 <div class="dropdown-menu box-shadow dropdown-price js-dropdown-price" aria-labelledby="Pris">
2805 <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"] : "")' />
2806 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
2807 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
2808 @for (var i = 0; i <= 10000000; i += 100000)
2809 {
2810 if (i == 10000000)
2811 {
2812 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
2813 }
2814 else
2815 {
2816 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
2817 }
2818 }
2819 </select>
2820
2821 <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"] : "")' />
2822 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
2823 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
2824 @for (var i = 0; i <= 10000000; i += 100000)
2825 {
2826 if (i == 10000000)
2827 {
2828 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
2829 }
2830 else
2831 {
2832 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
2833 }
2834 }
2835 </select>
2836 </div>
2837 </div>
2838 </div>
2839 </div>
2840 </div>
2841 <div class="col-xs-12 col-md-2 d-none d-md-block">
2842 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
2843 </div>
2844 </div>
2845
2846 <div class="row moresearch-btn no-gutters">
2847 <div class="col-sm-12">
2848 <div class="row align-items-center no-gutters">
2849 <div class="col-12 col-md-4">
2850 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch">
2851 <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>
2852 </button>
2853 </div>
2854 <div class="col-6 col-md-2 mb-xs-4">
2855 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
2856 </div>
2857 </div>
2858
2859 <div class="collapse" id="moreSearch-master">
2860
2861 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
2862 <div class="row align-items-end mb-30">
2863 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2864 <div class="filter-container row">
2865 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
2866 <div class="col-6 pr-sm-0 pr-2">
2867 <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"] : "")' />
2868 <select class="form-control js-boligarealmin-frontpage-select js-count">
2869 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
2870 @for (var i = 0; i <= 300; i += 10)
2871 {
2872 if (i == 300)
2873 {
2874 <option>@i+</option>
2875 }
2876 else
2877 {
2878 <option>@i</option>
2879 }
2880 }
2881 </select>
2882
2883 </div>
2884 <div class="col-6 pl-sm-0 pl-2">
2885 <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"] : "")' />
2886 <select class="form-control js-boligarealmax-frontpage-select js-count">
2887 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
2888 @for (var i = 0; i <= 300; i += 10)
2889 {
2890 if (i == 300)
2891 {
2892 <option>@i+</option>
2893 }
2894 else
2895 {
2896 <option>@i</option>
2897 }
2898 }
2899 </select>
2900
2901 </div>
2902 </div>
2903 </div>
2904 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2905 <div class="filter-container row">
2906 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
2907 <div class="col-6 pr-sm-0 pr-2">
2908 <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"] : "")' />
2909 <select class="form-control js-grundarealmin-frontpage-select js-count">
2910 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
2911 @for (var i = 0; i <= 10000; i += 100)
2912 {
2913 if (i == 10000)
2914 {
2915 <option>@i+</option>
2916 }
2917 else
2918 {
2919 <option>@i</option>
2920 }
2921 }
2922 </select>
2923 </div>
2924 <div class="col-6 pl-sm-0 pl-2">
2925 <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"] : "")' />
2926 <select class="form-control js-grundarealmax-frontpage-select js-count">
2927 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
2928 @for (var i = 0; i <= 10000; i += 100)
2929 {
2930 if (i == 10000)
2931 {
2932 <option>@i+</option>
2933 }
2934 else
2935 {
2936 <option>@i</option>
2937 }
2938 }
2939 </select>
2940 </div>
2941 </div>
2942 </div>
2943 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2944 <div class="filter-container row">
2945 <label class="d-block col-12">Antal rum</label>
2946 <div class="col-6 pr-sm-0 pr-2">
2947 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
2948 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
2949 @{
2950 RenderSelectValue("1", "1", "roomsmin");
2951 RenderSelectValue("2", "2", "roomsmin");
2952 RenderSelectValue("3", "3", "roomsmin");
2953 RenderSelectValue("4", "4", "roomsmin");
2954 RenderSelectValue("5+", "5", "roomsmin");
2955 }
2956 </select>
2957 </div>
2958 <div class="col-6 pl-sm-0 pl-2">
2959 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
2960 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
2961 @{
2962 RenderSelectValue("1", "1", "roomsmax");
2963 RenderSelectValue("2", "2", "roomsmax");
2964 RenderSelectValue("3", "3", "roomsmax");
2965 RenderSelectValue("4", "4", "roomsmax");
2966 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax");
2967 }
2968 </select>
2969 </div>
2970 </div>
2971 </div>
2972 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2973 <div class="row">
2974 <div class="col-12 pr-2">
2975 <div class="filter-container">
2976 <label class="d-block">Energimærke</label>
2977 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
2978 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
2979 <option value="01">G</option>
2980 <option value="02">F</option>
2981 <option value="03">E</option>
2982 <option value="04">D</option>
2983 <option value="05">C</option>
2984 <option value="06">B</option>
2985 <option value="07">A</option>
2986 <option value="08">A2010</option>
2987 <option value="09">A2015</option>
2988 <option value="10">A2020+</option>
2989 </select>
2990 </div>
2991 </div>
2992 </div>
2993 </div>
2994 <div class="col-12 col-sm-6 col-lg-3 mt-3">
2995 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
2996 <div class="filter-container row">
2997 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
2998 <div class="col-6 pr-sm-0 pr-2">
2999 <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"] : "")' />
3000 <select class="form-control js-subsidymin-frontpage-select js-count">
3001 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
3002 @for (var i = 0; i <= 25000; i += 1250)
3003 {
3004 if (i == 25000)
3005 {
3006 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3007 }
3008 else
3009 {
3010 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3011 }
3012 }
3013 </select>
3014 </div>
3015 <div class="col-6 pl-sm-0 pl-2">
3016 <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"] : "")' />
3017 <select class="form-control js-subsidymax-frontpage-select js-count">
3018 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
3019 @for (var i = 0; i <= 25000; i += 1250)
3020 {
3021 if (i == 25000)
3022 {
3023 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
3024 }
3025 else
3026 {
3027 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
3028 }
3029 }
3030 </select>
3031 </div>
3032 </div>
3033 </div>
3034 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0">
3035 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
3036 </div>
3037 </div>
3038 </div>
3039 </div>
3040 </div>
3041 <div class="row d-block d-md-none form-wrapper no-gutters">
3042 <div class="col-xs-12 col-md-2">
3043 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
3044 </div>
3045 </div>
3046
3047
3048 </form>
3049 </div>
3050 }
3051 else
3052 {
3053 <div class="main-search-form center">
3054 <i class="fal fa-times float-right fa-2x js-close-search"></i>
3055 <div class="row mb-3 align-items-center">
3056 <div class="col-xs-12 col-md-5 border-right">
3057 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
3058 </div>
3059 <div class="col-xs-12 col-md-7 home-count d-none d-md-block">
3060 <span class="search-count" id="searchCounterMain">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span>
3061 </div>
3062 </div>
3063
3064 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
3065 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
3066 <div class="row form-wrapper no-gutters">
3067
3068 <div class="col-12 mb-10">
3069 <div class="searchbar">
3070 <input type="text" name="@querySearchNameAttr" id="searchfield" class="search-input" placeholder="Postnummer, by, vej eller sagsnummer" tabindex="1" value='@querySearch' />
3071 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value='@queryZipCodeFrom' />
3072 <input type="hidden" id="zipcodeto" name="zipcodeto" value='@queryZipCodeTo' />
3073 </div>
3074 </div>
3075 <div class="col-xs-12 col-md-8">
3076 <div class="row no-gutters">
3077 <div class="col-xs-12 col-md-6 input-col">
3078 <div class="dropdown">
3079 <button class="btn btn-dropdown dropdown-toggle reverse js-count" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3080 @Translate("Smartpage:Search.Boligtype", "Boligtype")
3081 </button>
3082 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
3083 <ul class="bolig-dropdown list-unstyled">
3084 @{
3085 RenderBoligtypeCheckboxesDropdown();
3086 }
3087 </ul>
3088 <span class="border-fat"></span>
3089 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
3090 </div>
3091
3092 </div>
3093
3094 </div>
3095 <div class="col-xs-12 col-md-6 input-col">
3096 <div class="dropdown">
3097 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3098 @Translate("Smartpage:Search.Pris", "Pris")
3099 </button>
3100 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris">
3101 <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")' />
3102 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
3103 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
3104 @for (var i = 0; i <= 10000000; i += 100000)
3105 {
3106 if (i == 10000000)
3107 {
3108 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option>
3109 }
3110 else
3111 {
3112 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option>
3113 }
3114 }
3115 </select>
3116
3117 <input type="text" name="pricemax" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")' />
3118 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
3119 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
3120 @for (var i = 0; i <= 10000000; i += 100000)
3121 {
3122 if (i == 10000000)
3123 {
3124 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option>
3125 }
3126 else
3127 {
3128 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option>
3129 }
3130 }
3131 </select>
3132 </div>
3133 </div>
3134 </div>
3135 </div>
3136 </div>
3137 <div class="col-xs-12 col-md-4 d-none d-md-block">
3138 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
3139 </div>
3140 </div>
3141
3142 <div class="row moresearch-btn no-gutters">
3143 <div class="col-sm-12">
3144 <div class="row align-items-center no-gutters">
3145 <div class="col-12 col-md-5">
3146 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch-master">
3147 <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>
3148 </button>
3149 </div>
3150 <div class="col-6 col-md-3 mb-xs-4">
3151 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
3152 </div>
3153 <div class="col-6 col-md-4 mb-xs-4">
3154 <div class="parent-purchases">
3155 <label class="checkbox-container white">
3156 @Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet")
3157 <input type="checkbox" name="foraeldrekoebegnet" value="true" class="js-input-check">
3158 <span class="checkmark grey"></span>
3159 </label>
3160 </div>
3161 </div>
3162 </div>
3163
3164 <div class="collapse" id="moreSearch-master">
3165
3166 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
3167 <div class="row align-items-end mb-30">
3168 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3169 <div class="filter-container row">
3170 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
3171 <div class="col-6 pr-sm-0 pr-2">
3172 <input type="text" name="boligarealmin" id="boligarealmin" class="form-control js-boligarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
3173 <select class="form-control js-boligarealmin-frontpage-select js-count">
3174 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
3175 @for (var i = 0; i <= 300; i += 10)
3176 {
3177 if (i == 300)
3178 {
3179 <option>@i+</option>
3180 }
3181 else
3182 {
3183 <option>@i</option>
3184 }
3185 }
3186 </select>
3187 </div>
3188 <div class="col-6 pl-sm-0 pl-2">
3189 <input type="text" name="boligarealmax" id="boligarealmax" class="form-control js-boligarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
3190 <select class="form-control js-boligarealmax-frontpage-select js-count">
3191 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
3192 @for (var i = 0; i <= 300; i += 10)
3193 {
3194 if (i == 300)
3195 {
3196 <option>@i+</option>
3197 }
3198 else
3199 {
3200 <option>@i</option>
3201 }
3202 }
3203 </select>
3204 </div>
3205 </div>
3206 </div>
3207 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3208 <div class="filter-container row">
3209 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
3210 <div class="col-6 pr-sm-0 pr-2">
3211 <input type="text" name="grundarealmin" id="grundarealmin" class="form-control js-grundarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
3212 <select class="form-control js-grundarealmin-frontpage-select js-count">
3213 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
3214 @for (var i = 0; i <= 10000; i += 100)
3215 {
3216 if (i == 10000)
3217 {
3218 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3219 }
3220 else
3221 {
3222 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3223 }
3224 }
3225 </select>
3226 </div>
3227 <div class="col-6 pl-sm-0 pl-2">
3228 <input type="text" name="grundarealmax" id="grundarealmax" class="form-control js-grundarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
3229 <select class="form-control js-grundarealmax-frontpage-select">
3230 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
3231 @for (var i = 0; i <= 10000; i += 100)
3232 {
3233 if (i == 10000)
3234 {
3235 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3236 }
3237 else
3238 {
3239 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3240 }
3241 }
3242 </select>
3243 </div>
3244 </div>
3245 </div>
3246 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3247 <div class="filter-container row">
3248 <label class="d-block col-12">Antal rum</label>
3249
3250 <div class="col-6 pr-sm-0 pr-2">
3251 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
3252 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
3253 <option value="1">1</option>
3254 <option value="2">2</option>
3255 <option value="3">3</option>
3256 <option value="4">4</option>
3257 <option value="5">5+</option>
3258 </select>
3259 </div>
3260 <div class="col-6 pl-sm-0 pl-2">
3261 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
3262 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
3263 <option value="1">1</option>
3264 <option value="2">2</option>
3265 <option value="3">3</option>
3266 <option value="4">4</option>
3267 <option value="5">5+</option>
3268 </select>
3269 </div>
3270 </div>
3271 </div>
3272 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3273 <div class="row">
3274 <div class="col-12 pr-2">
3275 <div class="filter-container">
3276 <label class="d-block">Energimærke</label>
3277 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
3278 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
3279 <option value="01">G</option>
3280 <option value="02">F</option>
3281 <option value="03">E</option>
3282 <option value="04">D</option>
3283 <option value="05">C</option>
3284 <option value="06">B</option>
3285 <option value="07">A</option>
3286 <option value="08">A2010</option>
3287 <option value="09">A2015</option>
3288 <option value="10">A2020+</option>
3289 </select>
3290 </div>
3291 </div>
3292 </div>
3293 </div>
3294 <div class="col-12 col-sm-6 col-lg-6 mt-3">
3295 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
3296 <div class="filter-container row">
3297 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
3298 <div class="col-6 pr-sm-0 pr-2">
3299 <input type="text" name="subsidymin" id="subsidymin" class="form-control js-subsidymin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Min", "Min")' />
3300 <select class="form-control js-subsidymin-frontpage-select js-count">
3301 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
3302 @for (var i = 0; i <= 25000; i += 1250)
3303 {
3304 if (i == 25000)
3305 {
3306 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3307 }
3308 else
3309 {
3310 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3311 }
3312 }
3313 </select>
3314 </div>
3315 <div class="col-6 pl-sm-0 pl-2">
3316 <input type="text" name="subsidymax" id="subsidymax" class="form-control js-subsidymax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Max", "Max")' />
3317 <select class="form-control js-subsidymax-frontpage-select js-count">
3318 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
3319 @for (var i = 0; i <= 25000; i += 1250)
3320 {
3321 if (i == 25000)
3322 {
3323 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3324 }
3325 else
3326 {
3327 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3328 }
3329 }
3330 </select>
3331 </div>
3332 </div>
3333 </div>
3334 <div class="col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0">
3335 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
3336 </div>
3337 </div>
3338 </div>
3339 </div>
3340 </div>
3341 <div class="row d-block d-md-none form-wrapper no-gutters">
3342 <div class="col-xs-12 col-md-2">
3343 <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>
3344 </div>
3345 </div>
3346
3347
3348 </form>
3349 </div>
3350 }
3351 </div>
3352
3353 @{
3354 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning));
3355 }
3356
3357 @if (isBrokerPage)
3358 {
3359 <section class="maegler-navbar">
3360 @RenderNavigation(new
3361 {
3362 id = "navbar-main",
3363 cssclass = "dwnavigation",
3364 template = "ul_li.xslt",
3365 StartLevel = 1,
3366 EndLevel = 1
3367 })
3368 </section>
3369 }
3370
3371 <div class="visual-editor">
3372 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
3373
3374
3375 @using Dynamicweb.Content.Items
3376 @using Dynamicweb.Rapido.Blocks.Components
3377 @using Dynamicweb.Rapido.Blocks.Components.Articles
3378 @using Dynamicweb.Rapido.Blocks.Components.General
3379 @using Dynamicweb.Rapido.Blocks
3380
3381
3382 @functions {
3383 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage");
3384 }
3385
3386 @{
3387 int pageId = Model.ID;
3388 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus");
3389 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles");
3390 bool showTitle = Model.Item.GetBoolean("ShowTitle");
3391 bool showFilters = Model.Item.GetBoolean("ShowFilters");
3392 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter");
3393 bool showSearch = Model.Item.GetBoolean("ShowSearch");
3394 string dynamicListWidth = enablePopular ? "8" : "12";
3395 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle";
3396
3397 Dictionary<string, string> categoriesList = new Dictionary<string, string>();
3398 categoriesList.Add(Translate("All"), "");
3399
3400 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId))
3401 {
3402 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any())
3403 {
3404 categoriesList.Add(page.GetDisplayName(), page.ID.ToString());
3405 }
3406 }
3407
3408 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields;
3409 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : "";
3410 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : "";
3411 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : "";
3412
3413 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null;
3414 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null;
3415 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null;
3416
3417 Block listPageContainer = new Block
3418 {
3419 Id = "ArticleListPageContainer",
3420 SortId = 10,
3421 Design = new Design
3422 {
3423 RenderType = RenderType.Row
3424 },
3425 BlocksList = new List<Block> {
3426 new Block {
3427 Id = "ArticleListPageHeader",
3428 SortId = 20,
3429 Design = new Design
3430 {
3431 RenderType = RenderType.Column,
3432 Size = "12"
3433 },
3434 BlocksList = new List<Block> {
3435 new Block {
3436 Id = "ArticleListPageHeaderRow",
3437 SortId = 10,
3438 Design = new Design
3439 {
3440 RenderType = RenderType.Row
3441 },
3442 BlocksList = new List<Block> {
3443 new Block {
3444 Id = "ArticleListFilters",
3445 SortId = 30,
3446 Design = new Design {
3447 RenderType = RenderType.Column,
3448 Size = "10",
3449 CssClass = "grid__cell"
3450 }
3451 }
3452 }
3453 }
3454 }
3455 }
3456 }
3457 };
3458 articleListPage.Add(listPageContainer);
3459
3460 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") {
3461 Block listFilters = articleListPage.GetBlockById("ArticleListFilters");
3462 listFilters.Template = RenderMobileFilters(listFilters.BlocksList);
3463 listFilters.SkipRenderBlocksList = true;
3464 }
3465
3466 if (showTitle) {
3467 Block titleBlock = new Block
3468 {
3469 Id = "ArticleListTitle",
3470 SortId = 10,
3471 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 },
3472 Design = new Design
3473 {
3474 RenderType = RenderType.Column,
3475 Size = "2"
3476 }
3477 };
3478 articleListPage.Add("ArticleListPageHeaderRow", titleBlock);
3479 }
3480
3481 if (showSearch)
3482 {
3483 Block searchFilter = new Block
3484 {
3485 Id = "ArticleListSearch",
3486 SortId = 10,
3487 Component = new ArticleListSearch { }
3488 };
3489 articleListPage.Add("ArticleListFilters", searchFilter);
3490 }
3491
3492 if (showCategoryFilter)
3493 {
3494 Block categoryFilter = new Block
3495 {
3496 Id = "ArticleListCategoryFilter",
3497 SortId = 20,
3498 Component = new ArticleListCategoryFilter { Categories = categoriesList }
3499 };
3500 articleListPage.Add("ArticleListFilters", categoryFilter);
3501 }
3502
3503 Block listBody = new Block
3504 {
3505 Id = "ArticleListPageBody",
3506 SortId = 30,
3507 Design = new Design
3508 {
3509 RenderType = RenderType.Column,
3510 Size = dynamicListWidth
3511 }
3512 };
3513 articleListPage.Add("ArticleListPageContainer", listBody);
3514
3515 Block listBodyRow = new Block
3516 {
3517 Id = "ArticleListPageBodyRow",
3518 SortId = 10,
3519 Design = new Design
3520 {
3521 RenderType = RenderType.Row
3522 }
3523 };
3524 articleListPage.Add("ArticleListPageBody", listBodyRow);
3525
3526 if (enableArticlesInFocus) {
3527 Block listInFocus = new Block
3528 {
3529 Id = "ArticleListInFocus",
3530 SortId = 10,
3531 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType },
3532 Design = new Design
3533 {
3534 RenderType = RenderType.Column,
3535 Size = "12",
3536 HidePadding = true
3537 }
3538 };
3539 articleListPage.Add("ArticleListPageBodyRow", listInFocus);
3540 }
3541
3542 Block listMain = new Block
3543 {
3544 Id = "ArticleListMain",
3545 SortId = 20,
3546 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType },
3547 Design = new Design
3548 {
3549 RenderType = RenderType.Column,
3550 Size = "12",
3551 HidePadding = true
3552 }
3553 };
3554 articleListPage.Add("ArticleListPageBodyRow", listMain);
3555
3556 if (enablePopular)
3557 {
3558 Block listPopular = new Block
3559 {
3560 Id = "ArticleListPopular",
3561 SortId = 30,
3562 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType },
3563 Design = new Design
3564 {
3565 RenderType = RenderType.Column,
3566 Size = "4",
3567 CssClass = "u-padding--lg"
3568 }
3569 };
3570 articleListPage.Add("ArticleListPageContainer", listPopular);
3571 }
3572
3573 if (showFilters) {
3574 if (filterOneOptions != null)
3575 {
3576 Block filterOne = new Block
3577 {
3578 Id = "ArticleListFilterOne",
3579 SortId = 30,
3580 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" }
3581 };
3582 articleListPage.Add("ArticleListFilters", filterOne);
3583 }
3584
3585 if (filterTwoOptions != null)
3586 {
3587 Block filterTwo = new Block
3588 {
3589 Id = "ArticleListFilterTwo",
3590 SortId = 40,
3591 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" }
3592 };
3593 articleListPage.Add("ArticleListFilters", filterTwo);
3594 }
3595
3596 if (filterThreeOptions != null)
3597 {
3598 Block filterThree = new Block
3599 {
3600 Id = "ArticleListFilterThree",
3601 SortId = 50,
3602 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" }
3603 };
3604 articleListPage.Add("ArticleListFilters", filterThree);
3605 }
3606 }
3607 }
3608
3609
3610 @* The @RenderBlockList base helper is included in Components/GridBuilder.cshtml *@
3611
3612 @RenderBlockList(articleListPage.BlocksRoot.BlocksList)
3613
3614
3615 <script>
3616 document.getElementById("Page").classList.add("u-color-light-gray--bg");
3617 </script>
3618 </div>
3619
3620 @if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true)
3621 {
3622 string bName = MyBroker.Broker.Name;
3623 string bClass = "na";
3624 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png";
3625
3626 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName))
3627 {
3628 bName = MyBroker.Broker.CompanyName;
3629 }
3630 try
3631 {
3632 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl");
3633 if (!string.IsNullOrEmpty(imgUrl))
3634 {
3635 bImage = imgUrl;
3636 bClass = "";
3637 }
3638 }
3639 catch
3640 {
3641 // Ignore
3642 }
3643
3644 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId");
3645 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
3646
3647 <section class="din-maegler">
3648 <div class="img-wrapper @bClass" style="background-image:url('@bImage')"></div>
3649 <div class="container">
3650 <div class="col-12 col-sm-12 col-md-6 offset-md-6">
3651 <h2>Din personlige mægler</h2>
3652 <div class="row">
3653 <div class="col-12 col-sm-6">
3654 <p>
3655 <b class="my-broker-name">@MyBroker.Employee.Name</b><br>
3656 @if (!string.IsNullOrEmpty(MyBroker.Employee.Email))
3657 {
3658 <text>Mail: <a href="mailto:@(ExtractMaskedEmail(MyBroker.Employee.Email))" class="my-broker-email">@ExtractMaskedEmail(MyBroker.Employee.Email)</a><br></text>
3659 }
3660 @if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile))
3661 {
3662 <text>Tlf.: <a href="tel:@(MyBroker.Employee.PhoneMobile)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Employee.PhoneMobile)</a></text>
3663 }
3664 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
3665 {
3666 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
3667 }
3668 </p>
3669 </div>
3670 <div class="col-12 col-sm-6">
3671 <p>
3672 <b class="my-broker-company-name">@bName</b><br>
3673 <span class="my-broker-company-address">@MyBroker.Broker.Address</span><br>
3674 <span class="my-broker-company-zip">@MyBroker.Broker.ZipCode</span> <span class="my-broker-company-city">@MyBroker.Broker.City</span><br>
3675 @if (!string.IsNullOrEmpty(bEmail))
3676 {
3677 <text>Mail: <a href="mailto:@(bEmail)" class="my-broker-broker-email">@bEmail</a><br></text>
3678 }
3679 @if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
3680 {
3681 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
3682 }
3683 </p>
3684 </div>
3685 </div>
3686 <div class="row">
3687 <br />
3688 <div class="col-12 col-sm-6">
3689 <a href="/@medlemsnummer.Substring(1)" class="btn btn-primary btn-block my-broker-company-url">Til mæglerens side</a>
3690 </div>
3691
3692 </div>
3693 </div>
3694 </div>
3695 </section>
3696 }
3697 <footer>
3698 <div class="container">
3699 <div class="row">
3700 @{
3701 var navigationSettings = new NavigationSettings();
3702 navigationSettings.StartLevel = 1;
3703 navigationSettings.StopLevel = 3;
3704 navigationSettings.ExpandMode = ExpandMode.All;
3705 navigationSettings.RootAreaId = 1;
3706 navigationSettings.RootNavigationTag = "footer-nav";
3707
3708 }
3709 @Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings)
3710 </div>
3711 </div>
3712 </footer>
3713
3714 @if (Model.CurrentUser?.ID <= 0)
3715 {
3716 <div id="panel-login" class="panel panel-form">
3717 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3718 <b></b>
3719 </button>
3720 <div class="loginform login">
3721 @if (loginParagraphId > 0)
3722 {
3723 <text>
3724 @RenderParagraphContent(loginParagraphId)
3725 </text>
3726 }
3727 </div>
3728 <div class="loginform register js-register-form-wrapper" style="display: none;">
3729 @if (createUserParagraphId > 0)
3730 {
3731 <text>
3732 @RenderParagraphContent(createUserParagraphId)
3733 </text>
3734 }
3735 </div>
3736 <div class="loginform forgotpw" style="display: none;">
3737 <h2 class="forgotpw-reg">@Translate("forgot-pw-reg-title", "Glemt adgangskode")</h2>
3738 <h2 class="forgotpw-broker">@Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")</h2>
3739 <form id="forgotPwForm" class="form-body" method="post" action="">
3740 <input type="hidden" id="AccessUserShopID" name="AccessUserShopID" value="SHOP6" />
3741 <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>
3742 <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>
3743 <div class="form-group">
3744 <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 />
3745 </div>
3746 <button class="btn btn-primary btn-block" type="submit">@Translate("forgot-pw-cta", "Nulstil adgangskode")</button>
3747 <br />
3748 <div id="submitMessage"></div>
3749 </form>
3750 </div>
3751 </div>
3752 }
3753
3754 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel>
3755 @using Dynamicweb.Security.UserManagement
3756
3757 @{
3758 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");
3759 }
3760
3761 <div id="panel-kontakt-koeberraadgivning" class="panel panel-form">
3762 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3763 <b></b>
3764 </button>
3765 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
3766 <form id="form-koeberraadgivning" method="POST" action="/InboxHandler">
3767 <div class="form-group">
3768 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
3769 <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 />
3770 </div>
3771 <div class="form-group">
3772 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
3773 <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 />
3774 </div>
3775 <div class="form-group row mb-4">
3776 <div class="col-6">
3777 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
3778 <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 />
3779 </div>
3780 <div class="col-6">
3781 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
3782 <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' />
3783 </div>
3784 </div>
3785 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
3786 <div class="form-group row">
3787 <div class="col-4">
3788 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
3789 <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 />
3790 <input type="hidden" class="js-postnummer-validation" />
3791 </div>
3792 <div class="col-8">
3793 <label><strong>@Translate("form-city", "By")*</strong></label>
3794 <input class="form-control js-city" type="text" readonly />
3795 </div>
3796 </div>
3797 <div class="form-group overflow-unset">
3798 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
3799 <input class="form-control js-validate-address" type="text" name="adresse" tabindex="6" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' required />
3800
3801 <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>
3802 </div>
3803 <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">
3804 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
3805 </button>
3806 <div class="collapse" id="kontaktkoeberrradgiver-collapse">
3807 <div class="form-group">
3808 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
3809 </div>
3810 </div>
3811
3812 <div class="form-group">
3813 <div class="row">
3814 <div class="col-12">
3815 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
3816 </div>
3817 </div>
3818 </div>
3819 <div class="form-group mt-3">
3820 <div class="checkbox">
3821 <label>
3822 <input type="checkbox" name="kontaktmigok" required />
3823
3824 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
3825
3826 </label>
3827 </div>
3828 </div>
3829 <div class="form-group form-group-terms">
3830 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
3831 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
3832 </div>
3833
3834 <input type="hidden" name="fn" value="krk" />
3835 <input type="hidden" name="origin" value="" />
3836 <input type="hidden" name="brugerId" value="" />
3837 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
3838 <input type="hidden" name="butikId" value="@butikId" />
3839 <input type="hidden" name="ejendomstype" value="" />
3840 <input type="hidden" name="salgspris" value="" />
3841 <input type="hidden" name="modtager" value="" />
3842 </form>
3843 <div id="tak-kontakt-advisor" style="display:none;">
3844 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
3845 <div class="row">
3846 <div class="col-6">
3847 <img src="" class="img-fluid js-maegler-img" />
3848 </div>
3849 <div class="col-6">
3850 <p class="js-maegler-name"></p>
3851 <p class="js-maegler-address"></p>
3852 <p class="js-maegler-phone"></p>
3853 <p class="js-maegler-mail"></p>
3854 </div>
3855 </div>
3856 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
3857 </div>
3858 </div>
3859
3860 <!--ÅBENT HUS-->
3861 <div id="panel-aabenthus" class="panel panel-form">
3862 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3863 <b></b>
3864 </button>
3865
3866
3867 <form id="form-aabenthus" method="POST" action="/InboxHandler">
3868 <h2>@Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")</h2>
3869 <div class="d-block">
3870 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
3871 </div>
3872 <div class="d-block">
3873 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
3874 </div>
3875 <div class="d-block mb-4">
3876 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
3877 </div>
3878 <h3>@Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")</h3>
3879 <div class="form-group">
3880 <label for="aabenthus-name"><strong>@Translate("form-navn", "Navn")*</strong></label>
3881 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current?.User?.Name' required />
3882 </div>
3883 <div class="form-group">
3884 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
3885 <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 />
3886 </div>
3887 <div class="form-group row">
3888 <div class="col-6">
3889 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
3890 <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 />
3891 </div>
3892 <div class="col-6">
3893 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
3894 <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' />
3895 </div>
3896 </div>
3897 <div class="form-group">
3898 <div class="row">
3899 <div class="col-12">
3900 <button type="submit" class="btn btn-block btn-green">@Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")</button>
3901 </div>
3902 </div>
3903 </div>
3904 <div class="form-group">
3905 <div class="checkbox">
3906 <label>
3907 <input type="checkbox" name="kontaktmigok" required />
3908
3909 <span class="base-color">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
3910
3911 </label>
3912 </div>
3913 </div>
3914 <div class="form-group">
3915 @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>")
3916
3917 </div>
3918 <input type="hidden" name="fn" value="ah" />
3919 <input type="hidden" name="origin" value="" />
3920 <input type="hidden" name="brugerId" value="@userID" />
3921 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
3922 <input type="hidden" name="butikId" value="@butikId" />
3923 <input type="hidden" name="sagsaddresse" value="" class="js-aabenthus-address-input" />
3924 <input type="hidden" name="ejendomstype" value="" />
3925 <input type="hidden" name="salgspris" value="" />
3926 <input type="hidden" name="modtager" value="" />
3927 <input type="hidden" name="employee" value="" />
3928 <input type="hidden" name="sagsnr" value="" class="js-sagsnr" />
3929 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
3930 <input type="hidden" name="aftaleid" value="" class="js-aftaleid" />
3931
3932 <input type="hidden" name="dateMail" class="js-aabenthus-date-input" />
3933 <input type="hidden" name="timeMail" class="js-aabenthus-time-input" />
3934 <input type="hidden" name="brokerImageMail" class="property-broker-image-input" />
3935 <input type="hidden" name="employeeNameMail" class="js-maegler-employee-name-input" />
3936 <input type="hidden" name="employeeTitleMail" class="js-maegler-employee-title-input" />
3937 <input type="hidden" name="employeeMailMail" class="js-maegler-mail-input" />
3938 <input type="hidden" name="employeeMobileMail" class="js-maegler-mobile-input" />
3939 <input type="hidden" name="employeePhoneMail" class="js-maegler-phone-input" />
3940
3941 <input type="hidden" name="brokerNameMail" class="js-broker-name-input" />
3942 <input type="hidden" name="brokerAddressMail" class="js-broker-address-input" />
3943 <input type="hidden" name="brokerPhoneMail" class="js-broker-phone-input" />
3944 </form>
3945 <div id="tak-aabenthus" style="display:none;">
3946 <h2>@Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")</h2>
3947 <div class="d-block">
3948 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
3949 </div>
3950 <div class="d-block">
3951 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
3952
3953 </div>
3954 <div class="d-block mb-4">
3955 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
3956
3957 </div>
3958
3959 <div class="js-employee">
3960 <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>
3961 </div>
3962 <div class="js-not-employee">
3963 <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>
3964 </div>
3965
3966 <div class="row">
3967 <div class="js-employee">
3968 <div class="col-12 js-maegler-img aabenthus-image">
3969 <div class="property-broker-image" style=""></div>
3970
3971 </div>
3972 </div>
3973 <div class="col-12">
3974 <div class="bg-base">
3975
3976 <div class="js-employee">
3977 <h4 class="js-maegler-employee-name"></h4>
3978 <div class="icon-container">
3979 <i class="fas fa-envelope"></i> <span class="js-maegler-mail"></span>
3980 </div>
3981 <div class="icon-container">
3982 <i class="fas fa-phone"></i> <span class="js-maegler-mobile"></span>
3983 </div>
3984 </div>
3985
3986
3987 <h4 class="js-maegler-name"></h4>
3988 <div class="icon-container">
3989 <i class="fas fa-map-marker-alt"></i> <span class="js-maegler-address"></span>
3990 </div>
3991 <div class="icon-container">
3992 <i class="fas fa-phone"></i> <span class="js-maegler-phone"></span>
3993
3994 </div>
3995 <a class="btn btn-border" onclick="panelKontaktmaeglerGuldkoeber()">KONTAKT MÆGLER</a>
3996 </div>
3997 </div>
3998 </div>
3999 </div>
4000 </div>
4001
4002 <!-- KONTAKT GULDKØBER -->
4003 <div id="panel-kontakt-guldkoeber" class="panel panel-form">
4004 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4005 <b></b>
4006 </button>
4007 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
4008 <form id="form-kontaktmaegler" method="POST" action="/InboxHandler">
4009 <div class="form-group">
4010 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4011 <input class="form-control" type="text" name="navn" placeholder='@Translate("form-navn", "Navn")' value='@UserContext.Current.User?.Name' required />
4012 </div>
4013 <div class="form-group">
4014 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4015 <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 />
4016 </div>
4017 <div class="form-group row mb-4">
4018 <div class="col-6">
4019 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4020 <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 />
4021 </div>
4022 <div class="col-6">
4023 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4024 <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' />
4025 </div>
4026 </div>
4027 <div class="form-group row">
4028 <div class="col-4">
4029 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4030 <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 />
4031 <input type="hidden" class="js-postnummer-validation" />
4032 </div>
4033 <div class="col-8">
4034 <label><strong>@Translate("form-city", "By")*</strong></label>
4035 <input class="form-control js-city" type="text" readonly />
4036 </div>
4037 </div>
4038
4039 <div class="form-group overflow-unset">
4040 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4041 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4042 <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>
4043 </div>
4044 <div class="form-group">
4045 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4046 </div>
4047 <div class="form-group">
4048 <div class="checkbox">
4049 <label>
4050 <input type="checkbox" name="kontaktmigok" required />
4051
4052 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4053
4054 </label>
4055 </div>
4056 </div>
4057 <div class="form-group">
4058 <div class="row">
4059 <div class="col-12">
4060 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
4061 </div>
4062 </div>
4063 </div>
4064 <div class="form-group form-group-terms">
4065 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4066 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4067 </div>
4068 <input type="hidden" name="fn" value="gk" />
4069 <input type="hidden" name="origin" value="" />
4070 <input type="hidden" name="brugerId" value="@userID" />
4071 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4072 <input type="hidden" name="butikId" value="@butikId" />
4073 <input type="hidden" name="ejendomstype" value="" />
4074 <input type="hidden" name="salgspris" value="" />
4075 <input type="hidden" name="modtager" value="" />
4076 <input type="hidden" name="employee" value="" />
4077 </form>
4078 <div id="tak-kontakt-maegler-guldkoeber" style="display:none;">
4079 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4080 <p>@Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")</p>
4081 <div class="row">
4082 <div class="col-6">
4083 <img src="" class="img-fluid js-maegler-img" />
4084 </div>
4085 <div class="col-6">
4086 <p class="js-maegler-name"></p>
4087 <p class="js-maegler-address"></p>
4088 <p class="js-maegler-phone"></p>
4089 <p class="js-maegler-mail"></p>
4090 </div>
4091 </div>
4092 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4093 </div>
4094 </div>
4095
4096 <!-- BESTIL SALGSVURDERING -->
4097 <div id="panel-salgsvurdering" class="panel panel-form">
4098 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4099 <b></b>
4100 </button>
4101
4102 <form id="bestil-salgsvurdering" class="buyer-advisor-form js-buyer-advisor-form" method="POST" action="/InboxHandler">
4103 <h2 class="js-buyer-advisor-header">@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
4104 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
4105 <div class="form-group">
4106 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4107 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required />
4108 </div>
4109 <div class="form-group">
4110 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4111 <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 />
4112 </div>
4113 <div class="form-group row mb-4">
4114 <div class="col-6">
4115 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4116 <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 />
4117 </div>
4118 <div class="col-6">
4119 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4120 <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' />
4121 </div>
4122
4123 </div>
4124
4125 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
4126 <div class="form-group row">
4127 <div class="col-4">
4128 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4129 <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 />
4130 <input type="hidden" class="js-postnummer-validation" />
4131 </div>
4132 <div class="col-8">
4133 <label><strong>@Translate("form-city", "By")*</strong></label>
4134 <input class="form-control js-city" type="text" readonly />
4135 </div>
4136 </div>
4137 <div class="form-group overflow-unset">
4138 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4139 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4140 <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>
4141 </div>
4142
4143 <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">
4144 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
4145 </button>
4146 <div class="collapse" id="salgsvurdering-collapse">
4147 <div class="form-group">
4148 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4149 </div>
4150 </div>
4151
4152
4153 <div class="salgsvurdering-precheck">
4154 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
4155 <div class="col-12">
4156 <div class="choose-broker row align-items-center active">
4157 <div class="col-2">
4158 <input class="js-broker-radio" type="radio" id="" name="choose-broker" value="" checked>
4159 <label class="js-broker-label" for=""></label><div class="check">
4160 <div class="inside">
4161 </div>
4162 </div>
4163 </div>
4164 <div class="col-4">
4165 <img src="" class="img-fluid js-broker-image">
4166 </div>
4167 <div class="col-6">
4168 <span class="d-block">
4169 <strong class="js-choose-broker-name"></strong>
4170 </span>
4171 <span class="js-choose-broker-address"></span>
4172 <input type="hidden" class="js-choose-broker-phone" value="" />
4173 <input type="hidden" class="js-choose-broker-email" value="" />
4174 </div>
4175 </div>
4176 </div>
4177 </div>
4178 <div class="salgsvurdering-broker">
4179 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
4180 <div class="js-choose-broker col-12">
4181 </div>
4182
4183 </div>
4184
4185 <div class="form-group mt-4">
4186 <div class="checkbox">
4187 <label>
4188 <input type="checkbox" name="kontaktmigok" required />
4189
4190 <span class="consent-checkbox">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4191
4192 </label>
4193 </div>
4194 </div>
4195 <div class="form-group">
4196 <div class="row">
4197 <div class="col-12">
4198 <button type="submit" class="btn btn-green btn-block js-buyer-advisor-button">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
4199 </div>
4200 </div>
4201 </div>
4202 <div class="form-group form-group-terms">
4203 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4204 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4205 </div>
4206 <input type="hidden" name="fn" value="bsv" />
4207 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
4208 <input type="hidden" name="brugerId" value="@userID" />
4209 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4210 <input type="hidden" id="boligvisning" name="boligvisning" value="" />
4211 <input type="hidden" id="panel-salgsvurdering-butikid" name="butikId" value="" />
4212 <input type="hidden" id="panel-salgsvurdering-sagsnr" name="sagsnr" value="" />
4213 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
4214 <input type="hidden" name="ejendomstype" value="" />
4215 <input type="hidden" name="salgspris" value="" />
4216 <input type="hidden" name="employee" value="" />
4217 <input type="hidden" name="modtager" value="" />
4218 <input class="js-value-check" type="hidden" name="valueCheck" value="" />
4219 <input class="js-green-appraisal" type="hidden" name="greenAppraisal" value="" />
4220 </form>
4221 <div id="tak-salgsvurdering" style="display:none;">
4222 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4223 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
4224 <div class="row">
4225 <div class="col-6">
4226 <img src="" class="img-fluid js-maegler-img" />
4227 </div>
4228 <div class="col-6">
4229 <p class="js-maegler-name"></p>
4230 <p class="js-maegler-address"></p>
4231 <p class="js-maegler-phone"></p>
4232 <p class="js-maegler-mail"></p>
4233 </div>
4234 </div>
4235 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4236 </div>
4237 </div>
4238
4239 <!-- BESTIL SALGSVURDERING GULDKØBER -->
4240 <div id="panel-salgsvurdering-guldkoeber" class="panel panel-form">
4241 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4242 <b></b>
4243 </button>
4244
4245 <form id="bestil-salgsvurdering-guldkoeber" method="POST" action="/InboxHandler">
4246 <h2>@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
4247 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
4248 <div class="form-group">
4249 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4250 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required />
4251 </div>
4252 <div class="form-group">
4253 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4254 <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 />
4255 </div>
4256 <div class="form-group row mb-4">
4257 <div class="col-6">
4258 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4259 <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' />
4260 </div>
4261 <div class="col-6">
4262 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4263 <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 />
4264 </div>
4265 </div>
4266
4267 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
4268
4269 <div class="form-group row">
4270 <div class="col-4">
4271 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4272 <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 />
4273 <input type="hidden" class="js-postnummer-validation" />
4274 </div>
4275 <div class="col-8">
4276 <label><strong>@Translate("form-city", "By")*</strong></label>
4277 <input class="form-control js-city" type="text" readonly />
4278 </div>
4279 </div>
4280 <div class="form-group overflow-unset">
4281 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4282 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4283 <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>
4284 </div>
4285
4286 <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">
4287 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
4288 </button>
4289 <div class="collapse" id="salgsvurdering-collapse">
4290 <div class="form-group">
4291 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4292 </div>
4293 </div>
4294
4295 <div class="salgsvurdering-precheck">
4296 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
4297 <div class="col-12">
4298 <div class="choose-broker row align-items-center active">
4299 <div class="col-2">
4300 <input class="js-broker-radio" type="radio" id="" name="choose-broker-gk" value="" checked>
4301 <label class="js-broker-label" for=""></label><div class="check">
4302 <div class="inside">
4303 </div>
4304 </div>
4305 </div>
4306 <div class="col-4">
4307 <img src="" class="img-fluid js-broker-image">
4308 </div>
4309 <div class="col-6">
4310 <span class="d-block">
4311 <strong class="js-choose-broker-name"></strong>
4312 </span>
4313 <span class="js-choose-broker-address"></span>
4314 <input type="hidden" class="js-choose-broker-phone" value="" />
4315 <input type="hidden" class="js-choose-broker-email" value="" />
4316 </div>
4317 </div>
4318 </div>
4319 </div>
4320 <div class="salgsvurdering-broker">
4321 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
4322 <div class="js-choose-broker col-12">
4323 </div>
4324
4325 </div>
4326
4327
4328 <div class="form-group">
4329 <div class="row">
4330 <div class="col-12">
4331 <button type="submit" class="btn btn-green btn-block">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
4332 </div>
4333 </div>
4334 </div>
4335 <div class="form-group">
4336 <div class="checkbox">
4337 <label>
4338 <input type="checkbox" name="kontaktmigok" required />
4339
4340 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4341
4342 </label>
4343 </div>
4344 </div>
4345 <div class="form-group form-group-terms">
4346 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4347 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4348 </div>
4349 <input type="hidden" name="fn" value="bsg" />
4350 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
4351 <input type="hidden" name="brugerId" value="@userID" />
4352 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4353 <input type="hidden" id="boligvisning-gk" name="boligvisning" value="" />
4354 <input type="hidden" id="panel-salgsvurdering-gk-butikid" name="butikId" value="" />
4355 <input type="hidden" id="panel-salgsvurdering-gk-sagsnr" name="sagsnr" value="" />
4356 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
4357 <input type="hidden" name="ejendomstype" value="" />
4358 <input type="hidden" name="salgspris" value="" />
4359 <input type="hidden" name="employee" value="" />
4360 <input type="hidden" name="modtager" value="" />
4361 </form>
4362 <div id="tak-salgsvurdering" style="display:none;">
4363 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4364 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
4365 <div class="row">
4366 <div class="col-6">
4367 <img src="" class="img-fluid js-maegler-img" />
4368 </div>
4369 <div class="col-6">
4370 <p class="js-maegler-name"></p>
4371 <p class="js-maegler-address"></p>
4372 <p class="js-maegler-phone"></p>
4373 <p class="js-maegler-mail"></p>
4374 </div>
4375 </div>
4376 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4377 </div>
4378 </div>
4379
4380
4381 <div class="overlay-wrapper"></div>
4382 <div class="dropdown-overlay"></div>
4383 <div class="loader-inner ball-pulse"></div>
4384
4385 @{
4386 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js"));
4387 <script type="text/javascript" src='@(TemplateUrl)assets/webpack/js/3rdparty/viamapstrap.js?@(viamapstrapFileInfo.LastWriteTime.Ticks)' async></script>
4388
4389 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js"));
4390 <script type="text/javascript" src='@(TemplateUrl)assets/dist/bundle.app.min.js?@(bundleFileInfo.LastWriteTime.Ticks)' async></script>
4391 }
4392
4393 @RenderSnippet("JavaScriptBottom")
4394
4395 @if (Context.Current.Request.QueryString["ShowLogin"] == "true")
4396 {
4397 <input class="js-showLogin" value="true" />
4398 }
4399
4400 @if (!string.IsNullOrEmpty(settings_ConduzeId))
4401 {
4402 <script type="text/javascript" id="conduze-sdk" src="https://cdn.conduze.com/@settings_ConduzeId/tracking.js" async></script>
4403 }
4404
4405 @if (!string.IsNullOrEmpty(settings_Weply))
4406 {
4407 <script src="https://app.weply.chat/widget/@settings_Weply" async></script>
4408 }
4409
4410 </body>
4411 </html>
4412
4413