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 1704: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1704: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1709: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1711: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1771: The name 'RenderMobileFilters' does not exist in the current context
Line 1780: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1840: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1855: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1871: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1918: Argument 1: cannot convert from 'void' to 'object'
Line 4991: 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_6b2e4f6da09f44d3afcce03db6d80bc6 : 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");
112 WriteLiteral("\r\n\r\n\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");
126 WriteLiteral("\r\n\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");
150 WriteLiteral("\r\n\r\n");
151 WriteLiteral("\r\n");
152 WriteLiteral("\r\n");
153 WriteLiteral("\r\n\r\n");
154 WriteLiteral("\r\n");
155 WriteLiteral("\r\n");
156 WriteLiteral("\r\n");
157 WriteLiteral("\r\n\r\n");
158 WriteLiteral("\r\n");
159 WriteLiteral("\r\n");
160 WriteLiteral("\r\n");
161 WriteLiteral("\r\n");
162
163 Context.Current.Response.AddHeader("access-control-allow-origin", "*");
164
165 string bodyClass = "";
166 string template = "real";
167 string TemplateUrl = "/Files/Templates/Designs/rm/";
168 string MetaTitle = Model.Title;
169 string MetaDescription = Model.Description;
170 string MetaKeywords = Model.Keywords;
171 string searchClass = "";
172
173 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css"));
174 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}";
175
176 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg";
177
178 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2");
179
180 // Indstillinger
181 var settings_Frontpage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : "";
182 var settings_Boligside = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : "";
183 var settings_Maeglersogning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : "";
184 var settings_MinSide = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : "";
185 var settings_Sibling_Site = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : "";
186 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : "";
187 var settings_Product_Group = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : "";
188 var settings_Boligagent = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : "";
189 var settings_Persondatapolitik = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : "";
190
191 // API
192 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : "";
193 var settings_BoligListFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : "";
194 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : "";
195 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : "";
196 var settings_BoligCountFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : "";
197 var settings_BoligMapFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : "";
198 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"];
199
200 // Forside
201 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : "";
202 var settings_FrontpageVideo = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : "";
203 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : "";
204
205 // Tracking
206 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : "";
207 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"])))
208 {
209 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]);
210 }
211 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : "";
212 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : "";
213 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : "";
214 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]);
215 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]);
216 var settings_Google_Optimize_Id = Converter.ToString(SettingsItem["Google_Optimize_Id"]);
217
218 // Indstillinger for brugerfunktioner
219 var settings_ForgotPwPage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : "";
220 var settings_NewsletterSignup = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : "";
221 var settings_CreateUserModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : "";
222 var settings_LoginModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : "";
223
224 int createUserParagraphId = 0;
225 int loginParagraphId = 0;
226 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId);
227 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId);
228
229 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv.
230 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv)
231 int searchPageId = GetPageSettingsPageId("Boligside");
232 if (searchPageId == 0)
233 {
234 searchPageId = GetWebsiteSettingsPageId("Boligside");
235 }
236
237 int boligsideId = GetPageSettingsPageId("Boligside");
238 if (boligsideId == 0)
239 {
240 boligsideId = GetWebsiteSettingsPageId("Boligside");
241 }
242
243 string productGroupFilter = String.Empty;
244 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null)
245 {
246 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString();
247 }
248
249 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"]))
250 {
251 searchClass = "is-frontpage";
252 }
253
254 bool isErhverv = false;
255 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null)
256 {
257 var s = Pageview.Page.PropertyItem["Erhverv"].ToString();
258 Boolean.TryParse(s, out isErhverv);
259 }
260
261 bool isBrokerPage = false;
262 if (!string.IsNullOrEmpty(Model.Area.Item.GetString("M_glerGruppeId")))
263 {
264 isBrokerPage = true;
265 bodyClass = ""; // Get rid of transparent header on brokerPage
266 }
267
268 string callTrackingId = Model.Item.GetString("CallTrackingId");
269
270 RealEstate.User.Model.BrokerEmployee MyBroker = null;
271 try
272 {
273 var MyB = new RealEstate.User.MyBroker();
274 MyBroker = MyB.GetMyBroker();
275 }
276 catch
277 {
278 // Ignore
279 }
280
281 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : "");
282 string querySearchNameAttr = "search";
283
284 // Overwrite search with zipcodeinterval if set
285 if (Context.Current.Request.QueryString["zipcodeinterval"] != null)
286 {
287 querySearch = Context.Current.Request.QueryString["zipcodeinterval"];
288 querySearchNameAttr = "zipcodeinterval";
289 }
290
291 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : "");
292 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : "");
293
294 Dynamicweb.Security.UserManagement.User user = null;
295 int userID = 0;
296 string userName = "";
297 string userEmail = "";
298 string userPhone = "";
299 string userZip = "";
300 string userAddress = "";
301
302 if (Dynamicweb.Security.UserManagement.UserContext.Current.IsLoggedOn)
303 {
304 user = Dynamicweb.Security.UserManagement.UserContext.Current.User;
305 userName = user.Name;
306 userEmail = user.Email;
307 userPhone = user.Phone;
308 userZip = user.Zip;
309 userAddress = user.Address;
310 userID = user.ID;
311 }
312
313 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode");
314 string forgotPwTemplate = "";
315 string forgotPwSender = "";
316 string markerColor = "";
317 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png";
318
319 // Important - e-mail templates for forgotPw must be placed in "UserManagement/Login" folder
320 forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml";
321 forgotPwSender = "noreply@mailreal.dk";
322 markerColor = "#213960";
323
324 var butikId = string.Empty;
325 string bEmail = string.Empty;
326 if (MyBroker != null && MyBroker.Broker != null)
327 {
328 butikId = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
329 bEmail = MyBroker.Broker.Item().GetString("Email");
330 }
331
332 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment"));
333
334 var termsMail = "info@realmaeglerne.dk";
335 WriteLiteral("\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta charset=\"utf-8\">\r\n <title>");
336 Write(MetaTitle);
337 WriteLiteral("</title>\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n <meta name=\"description\"");
338 BeginWriteAttribute("content", " content=\"", 113489, "\"", 113515, 1);
339 WriteAttributeValue("", 113499, MetaDescription, 113499, 16, false);
340 EndWriteAttribute();
341 WriteLiteral(">\r\n <meta name=\"keywords\"");
342 BeginWriteAttribute("content", " content=\"", 113544, "\"", 113567, 1);
343 WriteAttributeValue("", 113554, MetaKeywords, 113554, 13, false);
344 EndWriteAttribute();
345 WriteLiteral(">\r\n <meta name=\"format-detection\" content=\"telephone=no\">\r\n <meta http-equiv=\"Expires\" content=\"60\">\r\n <meta name=\"robots\"");
346 BeginWriteAttribute("content", " content=\"", 113699, "\"", 113805, 3);
347 WriteAttributeValue("", 113709, Pageview.Area.Noindex ? "noindex" : "index", 113709, 46, false);
348 WriteAttributeValue("", 113755, ",", 113755, 1, true);
349 WriteAttributeValue("", 113756, Pageview.Area.Nofollow ? "nofollow" : "follow", 113756, 49, false);
350 EndWriteAttribute();
351 WriteLiteral(">\r\n\r\n");
352 WriteLiteral("\r\n ");
353 Write(RenderSnippet("OpenGraphTags"));
354 WriteLiteral("\r\n");
355 if (!string.IsNullOrEmpty(settings_Google_Optimize_Id))
356 {
357 WriteLiteral(" <!-- Google optimize script-->\r\n <script");
358 BeginWriteAttribute("src", " src=\"", 113997, "\"", 114077, 2);
359 WriteAttributeValue("", 114003, "https://www.googleoptimize.com/optimize.js?id=", 114003, 46, true);
360 WriteAttributeValue("", 114049, settings_Google_Optimize_Id, 114049, 28, false);
361 EndWriteAttribute();
362 WriteLiteral("></script>\r\n");
363 }
364 WriteLiteral(@" <!-- TrustBox script -->
365 <script type=""text/javascript"" src=""//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js"" async></script>
366 <!-- End TrustBox script -->
367
368 <script type=""application/ld+json"">
369 {
370 ""context"": ""https://schema.org/"",
371 """);
372 WriteLiteral(@"@type"": ""WebSite"",
373 ""name"": ""RealMæglerne"",
374 ""url"": ""https://www.realmaeglerne.dk/"",
375 ""potentialAction"": {
376 ""type"": ""SearchAction"",
377 ""target"": ""https://www.realmaeglerne.dk/find-maegler?q={search_term_string}"",
378 ""query-input"": ""required name=search_term_string""
379 }
380 }
381 </script>
382
383 <script type=""application/ld+json"">
384 {
385 ""context"": ""https://schema.org"",
386 """);
387 WriteLiteral(@"@type"": ""Corporation"",
388 ""name"": ""RealMæglerne"",
389 ""alternateName"": ""R&B Mægler A/S"",
390 ""url"": ""https://www.realmaeglerne.dk"",
391 ""logo"": ""https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png"",
392 ""contactPoint"": {
393 ""type"": ""ContactPoint"",
394 ""telephone"": ""+4570237153"",
395 ""contactType"": ""sales"",
396 ""areaServed"": ""DK"",
397 ""availableLanguage"": ""Danish""
398 },
399 ""sameAs"": [
400 ""https://www.facebook.com/realmaeglerne/"",
401 ""https://www.linkedin.com/company/realmæglerne/"",
402 ""https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g"",
403 ""https://www.realmaeglerne.dk/""
404 ]
405 }
406 </script>
407 ");
408 Write(RenderSnippet("StructuredData"));
409 WriteLiteral("\r\n");
410 WriteLiteral("\r\n");
411 WriteLiteral(" <link rel=\"stylesheet\"");
412 BeginWriteAttribute("href", " href=\"", 115699, "\"", 115750, 2);
413 WriteAttributeValue("", 115706, TemplateUrl, 115706, 14, false);
414 WriteAttributeValue("", 115720, "assets/fontawesome/css/all.css", 115720, 30, true);
415 EndWriteAttribute();
416 WriteLiteral(" async />\r\n <link rel=\"stylesheet\"");
417 BeginWriteAttribute("href", " href=\"", 115792, "\"", 115807, 1);
418 WriteAttributeValue("", 115799, mainCSS, 115799, 8, false);
419 EndWriteAttribute();
420 WriteLiteral(" async />\r\n");
421
422 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
423 {
424 var cssErhvervFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/erhverv.min.css"));
425 string erhvervCSS = TemplateUrl + $"assets/dist/css/erhverv.min.css?{cssErhvervFileInfo.LastWriteTime.Ticks}";
426 WriteLiteral(" <link rel=\"stylesheet\"");
427 BeginWriteAttribute("href", " href=\"", 116211, "\"", 116229, 1);
428 WriteAttributeValue("", 116218, erhvervCSS, 116218, 11, false);
429 EndWriteAttribute();
430 WriteLiteral(" async>\r\n");
431 }
432 WriteLiteral("\r\n\r\n <link rel=\"icon\" type=\"image/ico\"");
433 BeginWriteAttribute("href", " href=\"", 116298, "\"", 116362, 2);
434 WriteAttributeValue("", 116305, TemplateUrl, 116305, 14, false);
435 WriteAttributeValue("", 116319, "assets/images/favicons/favicon-real.ico?v=1", 116319, 43, true);
436 EndWriteAttribute();
437 WriteLiteral(">\r\n <link rel=\"icon\" type=\"image/png\"");
438 BeginWriteAttribute("href", " href=\"", 116403, "\"", 116469, 2);
439 WriteAttributeValue("", 116410, TemplateUrl, 116410, 14, false);
440 WriteAttributeValue("", 116424, "assets/images/favicons/favicon-real-16x16.png", 116424, 45, true);
441 EndWriteAttribute();
442 WriteLiteral(" sizes=\"16x16\">\r\n <link rel=\"icon\" type=\"image/png\"");
443 BeginWriteAttribute("href", " href=\"", 116524, "\"", 116590, 2);
444 WriteAttributeValue("", 116531, TemplateUrl, 116531, 14, false);
445 WriteAttributeValue("", 116545, "assets/images/favicons/favicon-real-32x32.png", 116545, 45, true);
446 EndWriteAttribute();
447 WriteLiteral(" sizes=\"32x32\">\r\n <link rel=\"icon\" type=\"image/png\"");
448 BeginWriteAttribute("href", " href=\"", 116645, "\"", 116711, 2);
449 WriteAttributeValue("", 116652, TemplateUrl, 116652, 14, false);
450 WriteAttributeValue("", 116666, "assets/images/favicons/favicon-real-96x96.png", 116666, 45, true);
451 EndWriteAttribute();
452 WriteLiteral(" sizes=\"96x96\">\r\n <meta name=\"google-site-verification\" content=\"hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg\" />\r\n\r\n");
453 if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString()))
454 {
455 WriteLiteral(@" <script>
456 window.dataLayer = window.dataLayer || []; // must be placed above GTM script
457 </script>
458 <!-- Google Tag Manager -->
459 <script>
460 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
461 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
462 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
463 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
464 })(window,document,'script','dataLayer','");
465 Write(settings_Google_Tag_Manager_ID);
466 WriteLiteral("\');</script>\r\n <!-- End Google Tag Manager -->\r\n");
467 }
468 WriteLiteral("\r\n");
469 if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId))
470 {
471 WriteLiteral(" <script type=\"text/javascript\"");
472 BeginWriteAttribute("src", " src=\"", 117693, "\"", 117765, 2);
473 WriteAttributeValue("", 117699, "https://call.call-tracking.dk/getJavascript?custid=", 117699, 51, true);
474 WriteAttributeValue("", 117750, callTrackingId, 117750, 15, false);
475 EndWriteAttribute();
476 WriteLiteral("></script>\r\n");
477 }
478 WriteLiteral("\r\n");
479 if (!String.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString()))
480 {
481 WriteLiteral(@" <!-- Begin Leadhub Pixel Code -->
482 <script>
483 (function(w,d,x,n,u,t,f,s,o){
484 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){
485 (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)
486 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '");
487 Write(settings_Leadhub_Pixel_ID);
488 WriteLiteral("\');\r\n lhi(\'pageview\');\r\n </script>\r\n <!-- End Leadhub Pixel Code -->\r\n");
489 }
490 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 + \"");
491 Write(settings_BoligCountFeed);
492 WriteLiteral("\";\r\n RMAPI.BoligListFeed = ApiPreFix + \"");
493 Write(settings_BoligListFeed);
494 WriteLiteral("\" + \"&refpageid=");
495 Write(Pageview.Page.ID);
496 WriteLiteral("\";\r\n RMAPI.BoligListFeedErhverv = \"");
497 Write(settings_BoligListFeedErhverv);
498 WriteLiteral("\";\r\n RMAPI.BoligListFeedMaegler = ApiPreFix + \"");
499 Write(settings_BoligListFeedMaegler);
500 WriteLiteral("\" + \"&refpageid=");
501 Write(Pageview.Page.ID);
502 WriteLiteral("\";\r\n RMAPI.BoligSearchFeed = ApiPreFix + \"");
503 Write(settings_BoligSearchFeed);
504 WriteLiteral("\";\r\n RMAPI.BoligMapFeed = ApiPreFix + \"");
505 Write(settings_BoligMapFeed);
506 WriteLiteral("\";\r\n RMAPI.Boligagent = \"");
507 Write(settings_Boligagent);
508 WriteLiteral("\";\r\n RMAPI.IsErhverv = ");
509 Write(isErhverv.ToString().ToLower());
510 WriteLiteral(";\r\n RMAPI.ProductGroupFilter = \"");
511 Write(productGroupFilter);
512 WriteLiteral("\";\r\n RMAPI.ButikId = \"");
513 Write(butikId);
514 WriteLiteral("\";\r\n RMAPI.Boligvisning = false;\r\n RMAPI.RefPageId = \"");
515 Write(Pageview.Page.ID);
516 WriteLiteral("\";\r\n RMAPI.Template = \"");
517 Write(template);
518 WriteLiteral("\";\r\n RMAPI.SliderSettings = ");
519 Write(JsonConvert.SerializeObject(Settings.Site));
520 WriteLiteral(";\r\n RMAPI.AdvisorSearchFeed = \"");
521 Write(settings_AdvisorSearchFeed);
522 WriteLiteral("\";\r\n RMAPI.LoadingIcon = \"");
523 Write(loadingIcon);
524 WriteLiteral("\";\r\n RMAPI.MarkerColor = \"");
525 Write(markerColor);
526 WriteLiteral("\";\r\n RMAPI.mapMarkerUrl = \"");
527 Write(mapMarkerUrl);
528 WriteLiteral("\";\r\n RMAPI.settings_ForgotPwPage = \"");
529 Write(settings_ForgotPwPage);
530 WriteLiteral("\";\r\n </script>\r\n\r\n");
531 if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString()))
532 {
533 WriteLiteral(@" <!-- Facebook Pixel Code -->
534 <script>
535 !function (f, b, e, v, n, t, s) {
536 if (f.fbq) return; n = f.fbq = function () {
537 n.callMethod ?
538 n.callMethod.apply(n, arguments) : n.queue.push(arguments)
539 };
540 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';
541 n.queue = []; t = b.createElement(e); t.async = !0;
542 t.src = v; s = b.getElementsByTagName(e)[0];
543 s.parentNode.insertBefore(t, s)
544 }(window, document, 'script',
545 'https://connect.facebook.net/en_US/fbevents.js');
546 fbq('init', '");
547 Write(settings_Facebook_App_ID);
548 WriteLiteral("\');\r\n fbq(\'track\', \'PageView\');\r\n </script>\r\n <noscript>\r\n <img height=\"1\" width=\"1\"");
549 BeginWriteAttribute("src", " src=\"", 120668, "\"", 120753, 3);
550 WriteAttributeValue("", 120674, "https://www.facebook.com/tr?id=", 120674, 31, true);
551 WriteAttributeValue("", 120705, settings_Facebook_App_ID, 120705, 25, false);
552 WriteAttributeValue("", 120730, "&ev=PageView&noscript=1", 120730, 23, true);
553 EndWriteAttribute();
554 WriteLiteral(" />\r\n </noscript>\r\n <!-- End Facebook Pixel Code -->\r\n");
555 }
556 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");
557 BeginWriteAttribute("class", " class=\"", 121029, "\"", 121056, 2);
558 WriteAttributeValue("", 121037, template, 121037, 9, false);
559 WriteAttributeValue("", 121046, bodyClass, 121046, 10, false);
560 EndWriteAttribute();
561 WriteLiteral(" data-spforgotpwtemplate=\"");
562 Write(forgotPwTemplate);
563 WriteLiteral("\" data-spforgotpwsender=\"");
564 Write(forgotPwSender);
565 WriteLiteral("\" data-spforgotpwsubject=\"");
566 Write(forgotPwSubject);
567 WriteLiteral("\" data-spsalesassesmentid=\"");
568 Write(salesAssessmentPageId);
569 WriteLiteral("\">\r\n");
570
571 string logoUrl = TemplateUrl + (!Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg");
572 WriteLiteral("\r\n");
573 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) && GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
574 {
575 WriteLiteral(" <div class=\"top-search\">\r\n <div class=\"header logo\">\r\n <div class=\"logo\">\r\n <a href=\"/erhverv\">\r\n <img");
576 BeginWriteAttribute("src", " src=\"", 121728, "\"", 121742, 1);
577 WriteAttributeValue("", 121734, logoUrl, 121734, 8, false);
578 EndWriteAttribute();
579 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");
580
581
582 var settings_BoligListErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoliglisteErhverv"])) ? Converter.ToString(SettingsItem["BoliglisteErhverv"]).Replace("Default.aspx?Id=", "") : "";
583 WriteLiteral(" <input type=\"hidden\" name=\"ID\"");
584 BeginWriteAttribute("value", " value=\'", 122309, "\'", 122343, 1);
585 WriteAttributeValue("", 122317, settings_BoligListErhverv, 122317, 26, false);
586 EndWriteAttribute();
587 WriteLiteral(" id=\"searchPageId-top\" disabled=\"disabled\" />\r\n\r\n");
588 if (Context.Current.Request["type"] == "egetforbrug")
589 {
590 WriteLiteral(" <input name=\"type\" type=\"hidden\" value=\"egetforbrug\" />\r\n <input name=\"investeringsejendom\" type=\"hidden\" value=\"0\" />\r\n");
591 }
592 WriteLiteral(@" <div class=""row form-wrapper no-gutters"">
593 <div class=""col-xs-12 col-md-4 col-lg-5 col-searchbar"">
594 <div class=""searchbar float-label-container text-left"">
595 <label class=""float-label"">");
596 Write(Translate("Smartpage:Erhver.Postnummer, by, vej eller sagsnummer", "Postnummer, by, vej eller sagsnummer"));
597 WriteLiteral("</label>\r\n <input type=\"text\"");
598 BeginWriteAttribute("name", " name=\"", 123137, "\"", 123164, 1);
599 WriteAttributeValue("", 123144, querySearchNameAttr, 123144, 20, false);
600 EndWriteAttribute();
601 WriteLiteral(" id=\"searchfield-top\" class=\"search-input js-float-label js-getdata\" tabindex=\"1\"");
602 BeginWriteAttribute("value", " value=\"", 123246, "\"", 123324, 1);
603 WriteAttributeValue("", 123254, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 123254, 70, false);
604 EndWriteAttribute();
605 WriteLiteral(@" />
606 </div>
607 </div>
608 <div class=""col-xs-12 col-md-5"">
609 <div class=""row no-gutters"">
610 <div class=""col-xs-12 col-md-6 input-col"">
611 <div class=""dropdown w-overlay float-label-container"">
612 <label class=""float-label"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">");
613 Write(Translate("Smartpage:Search.Erhverv.Lokaletype", "Lokaletype"));
614 WriteLiteral(@"</label>
615 <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>
616 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
617 <ul class=""bolig-dropdown list-unstyled"">
618 ");
619
620 RenderBoligTypeErhverv();
621 WriteLiteral(@" </ul>
622 <span class=""border-fat""></span>
623 <div class=""d-none d-md-block"">
624 <button class=""btn btn-primary js-close-dropdown"">");
625 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
626 WriteLiteral(@"</button>
627 </div>
628 <div class=""d-flex row d-md-none"">
629 <div class=""col-6"">
630 <button class=""btn btn-danger js-remove-filter"">");
631 Write(Translate("Smartpage:Search.Annuller", "Annuller"));
632 WriteLiteral("</button>\r\n </div>\r\n <div class=\"col-6\">\r\n <button class=\"btn btn-primary js-close-dropdown\">");
633 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
634 WriteLiteral(@"</button>
635 </div>
636 </div>
637 </div>
638
639 </div>
640 </div>
641 <div class=""col-xs-12 col-md-6 input-col"">
642 <div class=""btn-dropdown p-3 border-top-bottom-right"">
643 <ul class=""two-column list-unstyled"">
644 <li>
645 <label class=""checkbox-container"">
646 ");
647 Write(Translate("Smartpage:Search.Erhverv.Leje", "Leje"));
648 WriteLiteral(@"
649 <input type=""checkbox"" name=""propertytype"" value=""leje"" class=""js-input-check"" />
650 <span class=""checkmark""></span>
651 </label>
652 </li>
653 <li>
654 <label class=""checkbox-container"">
655 ");
656 Write(Translate("Smartpage:Search.Erhverv.Køb", "Køb"));
657 WriteLiteral(@"
658 <input type=""checkbox"" name=""propertytype"" value=""kob"" class=""js-input-check"" />
659 <span class=""checkmark""></span>
660 </label>
661 </li>
662 </ul>
663 </div>
664
665 </div>
666 </div>
667 </div>
668 <div class=""col-xs-12 col-md-3 col-lg-2 d-none d-md-block"">
669 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
670 Write(Translate("Smartpage:Search.Søg", "Søg"));
671 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n");
672 }
673 WriteLiteral("\r\n");
674 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
675 {
676 WriteLiteral(" <div class=\"header shortcuts\">\r\n <div class=\"header-shortcuts float-right\">\r\n");
677 if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
678 {
679 WriteLiteral(" <a");
680 BeginWriteAttribute("href", " href=\'", 128027, "\'", 128034, 0);
681 EndWriteAttribute();
682 BeginWriteAttribute("class", " class=\"", 128035, "\"", 128151, 9);
683 WriteAttributeValue("", 128043, "search-menu", 128043, 11, true);
684 WriteAttributeValue(" ", 128054, "d-none", 128055, 7, true);
685 WriteAttributeValue(" ", 128061, "d-xl-flex", 128062, 10, true);
686 WriteAttributeValue(" ", 128071, "align-items-center", 128072, 19, true);
687 WriteAttributeValue(" ", 128090, "float-left", 128091, 11, true);
688 WriteAttributeValue(" ", 128101, "border-right", 128102, 13, true);
689 WriteAttributeValue(" ", 128114, "js-mainsearch", 128115, 14, true);
690 WriteAttributeValue(" ", 128128, "topsearch", 128129, 10, true);
691 WriteAttributeValue(" ", 128138, searchClass, 128139, 12, false);
692 EndWriteAttribute();
693 WriteLiteral(">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i><span class=\"search-menu-text hidden d-md-block\"> ");
694 Write(Translate("Smartpage:Search.Søg", "Søg"));
695 WriteLiteral("</span>\r\n </a>\r\n");
696 }
697 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");
698 }
699 else
700 {
701 WriteLiteral(" <div class=\"header__container container\">\r\n <div class=\"header__logo\">\r\n <a href=\"/\"");
702 BeginWriteAttribute("title", " title=\"", 128751, "\"", 128759, 0);
703 EndWriteAttribute();
704 WriteLiteral(">\r\n <img");
705 BeginWriteAttribute("src", " src=\"", 128787, "\"", 128803, 1);
706 WriteAttributeValue("", 128793, logoUrl, 128793, 10, false);
707 EndWriteAttribute();
708 BeginWriteAttribute("alt", " alt=\"", 128804, "\"", 128810, 0);
709 EndWriteAttribute();
710 WriteLiteral(" />\r\n </a>\r\n </div>\r\n <div class=\"header__title\">\r\n <span>");
711 Write(Translate("Custom:Header.Title", "RealMæglerne"));
712 WriteLiteral("</span> \r\n </div>\r\n");
713 if (userID > 0)
714 {
715 WriteLiteral(@" <div class=""header__navigation d-none d-md-flex"">
716 <div class=""header__navigation"">
717 <div class=""header__Link"">
718 <ul>
719 <li class=""d-flex align-items-center"">
720 <svg xmlns=""http://www.w3.org/2000/svg"" width=""20"" height=""20"" viewBox=""0 0 20 20"" fill=""none"">
721 <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"" />
722 ");
723 WriteLiteral(" </svg>\r\n <a class=\"ml-2\"");
724 BeginWriteAttribute("href", "\r\n href=\"", 130168, "\"", 130250, 2);
725 WriteAttributeValue("", 130216, "/Default.aspx?ID=", 130216, 17, true);
726 WriteAttributeValue("", 130233, settings_MinSide, 130233, 17, false);
727 EndWriteAttribute();
728 WriteLiteral("\r\n target=\"_blank\"");
729 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 130308, "\"", 130458, 1);
730 WriteAttributeValue("", 130362, Translate("Custom:Accessibility.MyAccountLink", "Gå til Mit RealMæglerne - åbner i nyt vindue"), 130362, 96, false);
731 EndWriteAttribute();
732 WriteLiteral(">\r\n ");
733 Write(Translate("Mit RealMæglerne"));
734 WriteLiteral("\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n");
735
736 }
737 else
738 {
739 WriteLiteral(@" <div class=""header__navigation d-none d-md-flex"">
740 <div class=""header__navigation"">
741 <div class=""header__Link"">
742 <ul>
743 <li class=""d-flex align-items-center"">
744 <svg xmlns=""http://www.w3.org/2000/svg"" width=""20"" height=""20"" viewBox=""0 0 20 20"" fill=""none"">
745 <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"" />
746 ");
747 WriteLiteral(" </svg>\r\n <a class=\"ml-2\"\r\n href=\"javascript:panelLogin()\"");
748 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 131969, "\"", 132092, 1);
749 WriteAttributeValue("", 132023, Translate("Custom:Accessibility.Login", "Login - åbner i sidepanel"), 132023, 69, false);
750 EndWriteAttribute();
751 WriteLiteral(">\r\n ");
752 Write(Translate("Login"));
753 WriteLiteral("\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n");
754 }
755 WriteLiteral(" <div class=\"header__search flex-column flex-md-row js-mainsearch\">\r\n ");
756 Write(Translate("Søg bolig"));
757 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 ");
758 Write(Translate("Menu"));
759 WriteLiteral("\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n");
760 }
761 WriteLiteral("\r\n <div class=\"search-modal\">\r\n\r\n");
762 if (Converter.ToString(Pageview.Area.Item["Type"]) == "real")
763 {
764 WriteLiteral(@" <div class=""main-search-form"">
765 <i class=""fal fa-times float-right fa-2x js-close-search close-search""></i>
766 <div class=""row mb-3 align-items-center"">
767 <div class=""col-xs-12 col-md-3 border-right"">
768 <h3>");
769 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
770 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\">");
771 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
772 WriteLiteral(@"<span class=""loader js-loader""></span></span>
773
774 </div>
775 </div>
776
777 <form id=""main-search"" class=""searchbar-wrapper"" action=""/Default.aspx"" method=""GET"">
778 <input type=""hidden"" name=""ID""");
779 BeginWriteAttribute("value", " value=\'", 133834, "\'", 133855, 1);
780 WriteAttributeValue("", 133842, searchPageId, 133842, 13, false);
781 EndWriteAttribute();
782 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" />
783 <div class=""row form-wrapper no-gutters"">
784
785 <div class=""col-xs-12 col-md-5 col-searchbar"">
786 <div class=""searchbar"">
787 <input type=""text""");
788 BeginWriteAttribute("name", " name=\"", 134139, "\"", 134166, 1);
789 WriteAttributeValue("", 134146, querySearchNameAttr, 134146, 20, false);
790 EndWriteAttribute();
791 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
792 BeginWriteAttribute("value", " value=\"", 134269, "\"", 134347, 1);
793 WriteAttributeValue("", 134277, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 134277, 70, false);
794 EndWriteAttribute();
795 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
796 BeginWriteAttribute("value", " value=\"", 134441, "\"", 134524, 1);
797 WriteAttributeValue("", 134449, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 134449, 75, false);
798 EndWriteAttribute();
799 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
800 BeginWriteAttribute("value", " value=\"", 134614, "\"", 134695, 1);
801 WriteAttributeValue("", 134622, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 134622, 73, false);
802 EndWriteAttribute();
803 WriteLiteral(@" />
804 </div>
805 </div>
806 <div class=""col-xs-12 col-md-5"">
807 <div class=""row no-gutters"">
808 <div class=""col-xs-12 col-md-6 input-col"">
809 <div class=""dropdown"">
810 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
811 ");
812 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
813 WriteLiteral(@"
814 </button>
815 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
816 <ul class=""bolig-dropdown list-unstyled"">
817 ");
818
819 RenderBoligtypeCheckboxesDropdown();
820 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
821 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
822 WriteLiteral(@"</button>
823 </div>
824
825 </div>
826
827 </div>
828 <div class=""col-xs-12 col-md-6 input-col"">
829 <div class=""dropdown"">
830 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
831 ");
832 Write(Translate("Smartpage:Search.Pris", "Pris"));
833 WriteLiteral(@"
834 </button>
835 <div class=""dropdown-menu box-shadow dropdown-price js-dropdown-price"" aria-labelledby=""Pris"">
836 <input name=""pricemin"" type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
837 BeginWriteAttribute("placeholder", " placeholder=\'", 136946, "\'", 137023, 1);
838 WriteAttributeValue("", 136960, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 136960, 63, false);
839 EndWriteAttribute();
840 BeginWriteAttribute("value", " value=\'", 137024, "\'", 137160, 1);
841 WriteAttributeValue("", 137032, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemin"]) ? Context.Current.Request.QueryString["pricemin"] : "", 137032, 128, false);
842 EndWriteAttribute();
843 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
844 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
845 WriteLiteral("</option>\r\n");
846 for (var i = 0; i <= 10000000; i += 100000)
847 {
848 if (i == 10000000)
849 {
850 WriteLiteral(" <option");
851 BeginWriteAttribute("value", " value=\"", 137797, "\"", 137807, 1);
852 WriteAttributeValue("", 137805, i, 137805, 2, false);
853 EndWriteAttribute();
854 WriteLiteral(" data-value=\'");
855 Write(Converter.ToInt32(i).ToString("N0"));
856 WriteLiteral("+\'>");
857 Write(Convert.ToInt32(i).ToString("N0"));
858 WriteLiteral("+</option>\r\n");
859 }
860 else
861 {
862 WriteLiteral(" <option");
863 BeginWriteAttribute("value", " value=\"", 138137, "\"", 138147, 1);
864 WriteAttributeValue("", 138145, i, 138145, 2, false);
865 EndWriteAttribute();
866 WriteLiteral(" data-value=\'");
867 Write(Converter.ToInt32(i).ToString("N0"));
868 WriteLiteral("\'>");
869 Write(Convert.ToInt32(i).ToString("N0"));
870 WriteLiteral("</option>\r\n");
871 }
872 }
873 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\"");
874 BeginWriteAttribute("placeholder", " placeholder=\'", 138551, "\'", 138628, 1);
875 WriteAttributeValue("", 138565, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 138565, 63, false);
876 EndWriteAttribute();
877 BeginWriteAttribute("value", " value=\'", 138629, "\'", 138765, 1);
878 WriteAttributeValue("", 138637, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemax"]) ? Context.Current.Request.QueryString["pricemax"] : "", 138637, 128, false);
879 EndWriteAttribute();
880 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
881 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
882 WriteLiteral("</option>\r\n");
883 for (var i = 0; i <= 10000000; i += 100000)
884 {
885 if (i == 10000000)
886 {
887 WriteLiteral(" <option");
888 BeginWriteAttribute("value", " value=\"", 139396, "\"", 139406, 1);
889 WriteAttributeValue("", 139404, i, 139404, 2, false);
890 EndWriteAttribute();
891 WriteLiteral(" data-value=\'");
892 Write(Converter.ToInt32(i).ToString("N0"));
893 WriteLiteral("+\'>");
894 Write(Convert.ToInt32(i).ToString("N0"));
895 WriteLiteral("+</option>\r\n");
896 }
897 else
898 {
899 WriteLiteral(" <option");
900 BeginWriteAttribute("value", " value=\"", 139736, "\"", 139746, 1);
901 WriteAttributeValue("", 139744, i, 139744, 2, false);
902 EndWriteAttribute();
903 WriteLiteral(" data-value=\'");
904 Write(Converter.ToInt32(i).ToString("N0"));
905 WriteLiteral("\'>");
906 Write(Convert.ToInt32(i).ToString("N0"));
907 WriteLiteral("</option>\r\n");
908 }
909 }
910 WriteLiteral(@" </select>
911 </div>
912 </div>
913 </div>
914 </div>
915 </div>
916 <div class=""col-xs-12 col-md-2 d-none d-md-block"">
917 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
918 Write(Translate("Smartpage:Search.Søg", "Søg"));
919 WriteLiteral(@"</button>
920 </div>
921 </div>
922
923 <div class=""row moresearch-btn no-gutters"">
924 <div class=""col-sm-12"">
925 <div class=""row align-items-center no-gutters"">
926 <div class=""col-12 col-md-4"">
927 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch"">
928 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open white"">");
929 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
930 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> ");
931 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
932 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\">");
933 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
934 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>");
935 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
936 WriteLiteral(@"</b></h4>
937 <div class=""row align-items-end mb-30"">
938 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
939 <div class=""filter-container row"">
940 <label class=""d-block col-12"">");
941 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
942 WriteLiteral(@"</label>
943 <div class=""col-6 pr-sm-0 pr-2"">
944 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count""");
945 BeginWriteAttribute("placeholder", " placeholder=\'", 142508, "\'", 142581, 1);
946 WriteAttributeValue("", 142522, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 142522, 59, false);
947 EndWriteAttribute();
948 BeginWriteAttribute("value", " value=\'", 142582, "\'", 142728, 1);
949 WriteAttributeValue("", 142590, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmin"]) ? Context.Current.Request.QueryString["boligarealmin"] : "", 142590, 138, false);
950 EndWriteAttribute();
951 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
952 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
953 WriteLiteral("</option>\r\n");
954 for (var i = 0; i <= 300; i += 10)
955 {
956 if (i == 300)
957 {
958 WriteLiteral(" <option>");
959 Write(i);
960 WriteLiteral("+</option>\r\n");
961 }
962 else
963 {
964 WriteLiteral(" <option>");
965 Write(i);
966 WriteLiteral("</option>\r\n");
967 }
968 }
969 WriteLiteral(@" </select>
970
971 </div>
972 <div class=""col-6 pl-sm-0 pl-2"">
973 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count""");
974 BeginWriteAttribute("placeholder", " placeholder=\'", 144113, "\'", 144186, 1);
975 WriteAttributeValue("", 144127, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 144127, 59, false);
976 EndWriteAttribute();
977 BeginWriteAttribute("value", " value=\'", 144187, "\'", 144333, 1);
978 WriteAttributeValue("", 144195, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmax"]) ? Context.Current.Request.QueryString["boligarealmax"] : "", 144195, 138, false);
979 EndWriteAttribute();
980 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
981 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
982 WriteLiteral("</option>\r\n");
983 for (var i = 0; i <= 300; i += 10)
984 {
985 if (i == 300)
986 {
987 WriteLiteral(" <option>");
988 Write(i);
989 WriteLiteral("+</option>\r\n");
990 }
991 else
992 {
993 WriteLiteral(" <option>");
994 Write(i);
995 WriteLiteral("</option>\r\n");
996 }
997 }
998 WriteLiteral(@" </select>
999
1000 </div>
1001 </div>
1002 </div>
1003 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1004 <div class=""filter-container row"">
1005 <label class=""d-block col-12"">");
1006 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
1007 WriteLiteral(@"</label>
1008 <div class=""col-6 pr-sm-0 pr-2"">
1009 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count""");
1010 BeginWriteAttribute("placeholder", " placeholder=\'", 146114, "\'", 146187, 1);
1011 WriteAttributeValue("", 146128, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 146128, 59, false);
1012 EndWriteAttribute();
1013 BeginWriteAttribute("value", " value=\'", 146188, "\'", 146335, 1);
1014 WriteAttributeValue("", 146196, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmin"]) ? Context.Current.Request.QueryString["grundarealmin"] : "", 146196, 139, false);
1015 EndWriteAttribute();
1016 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1017 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1018 WriteLiteral("</option>\r\n");
1019 for (var i = 0; i <= 10000; i += 100)
1020 {
1021 if (i == 10000)
1022 {
1023 WriteLiteral(" <option>");
1024 Write(i);
1025 WriteLiteral("+</option>\r\n");
1026 }
1027 else
1028 {
1029 WriteLiteral(" <option>");
1030 Write(i);
1031 WriteLiteral("</option>\r\n");
1032 }
1033 }
1034 WriteLiteral(@" </select>
1035 </div>
1036 <div class=""col-6 pl-sm-0 pl-2"">
1037 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count""");
1038 BeginWriteAttribute("placeholder", " placeholder=\'", 147723, "\'", 147796, 1);
1039 WriteAttributeValue("", 147737, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 147737, 59, false);
1040 EndWriteAttribute();
1041 BeginWriteAttribute("value", " value=\'", 147797, "\'", 147944, 1);
1042 WriteAttributeValue("", 147805, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmax"]) ? Context.Current.Request.QueryString["grundarealmax"] : "", 147805, 139, false);
1043 EndWriteAttribute();
1044 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1045 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1046 WriteLiteral("</option>\r\n");
1047 for (var i = 0; i <= 10000; i += 100)
1048 {
1049 if (i == 10000)
1050 {
1051 WriteLiteral(" <option>");
1052 Write(i);
1053 WriteLiteral("+</option>\r\n");
1054 }
1055 else
1056 {
1057 WriteLiteral(" <option>");
1058 Write(i);
1059 WriteLiteral("</option>\r\n");
1060 }
1061 }
1062 WriteLiteral(@" </select>
1063 </div>
1064 </div>
1065 </div>
1066 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1067 <div class=""filter-container row"">
1068 <label class=""d-block col-12"">Antal rum</label>
1069 <div class=""col-6 pr-sm-0 pr-2"">
1070 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count"">
1071 <option selected=""selected"" disabled=""disabled"">");
1072 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
1073 WriteLiteral("</option>\r\n");
1074
1075 RenderSelectValue("1", "1", "roomsmin");
1076 RenderSelectValue("2", "2", "roomsmin");
1077 RenderSelectValue("3", "3", "roomsmin");
1078 RenderSelectValue("4", "4", "roomsmin");
1079 RenderSelectValue("5+", "5", "roomsmin");
1080 WriteLiteral(@" </select>
1081 </div>
1082 <div class=""col-6 pl-sm-0 pl-2"">
1083 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count"">
1084 <option selected=""selected"" disabled=""disabled"">");
1085 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
1086 WriteLiteral("</option>\r\n");
1087
1088 RenderSelectValue("1", "1", "roomsmax");
1089 RenderSelectValue("2", "2", "roomsmax");
1090 RenderSelectValue("3", "3", "roomsmax");
1091 RenderSelectValue("4", "4", "roomsmax");
1092 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax");
1093 WriteLiteral(@" </select>
1094 </div>
1095 </div>
1096 </div>
1097 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1098 <div class=""row"">
1099 <div class=""col-12 pr-2"">
1100 <div class=""filter-container"">
1101 <label class=""d-block"">Energimærke</label>
1102 <select name=""energylabel"" id=""energylabel"" class=""form-control reverse js-energylabel-select js-count"">
1103 <option selected=""selected"" disabled=""disabled"">");
1104 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
1105 WriteLiteral(@"</option>
1106 <option value=""01"">G</option>
1107 <option value=""02"">F</option>
1108 <option value=""03"">E</option>
1109 <option value=""04"">D</option>
1110 <option value=""05"">C</option>
1111 <option value=""06"">B</option>
1112 <option value=""07"">A</option>
1113 <option value=""08"">A2010</option>
1114 <option value=""09"">A2015</option>
1115 <option value=""10"">A2020+</option>
1116 </select>
1117 </div>
1118 ");
1119 WriteLiteral(@" </div>
1120 </div>
1121 </div>
1122 <div class=""col-12 col-sm-6 col-lg-3 mt-3"">
1123 <h4");
1124 BeginWriteAttribute("class", " class=\"", 153743, "\"", 153751, 0);
1125 EndWriteAttribute();
1126 WriteLiteral("><b>");
1127 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
1128 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
1129 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
1130 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\"");
1131 BeginWriteAttribute("placeholder", " placeholder=\'", 154313, "\'", 154388, 1);
1132 WriteAttributeValue("", 154327, Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"), 154327, 61, false);
1133 EndWriteAttribute();
1134 BeginWriteAttribute("value", " value=\'", 154389, "\'", 154530, 1);
1135 WriteAttributeValue("", 154397, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymin"]) ? Context.Current.Request.QueryString["subsidymin"] : "", 154397, 133, false);
1136 EndWriteAttribute();
1137 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1138 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
1139 WriteLiteral("</option>\r\n");
1140 for (var i = 0; i <= 25000; i += 1250)
1141 {
1142 if (i == 25000)
1143 {
1144 WriteLiteral(" <option");
1145 BeginWriteAttribute("value", " value=\"", 155174, "\"", 155203, 1);
1146 WriteAttributeValue("", 155182, Converter.ToInt32(i), 155182, 21, false);
1147 EndWriteAttribute();
1148 WriteLiteral(">");
1149 Write(Converter.ToInt32(i).ToString("N0"));
1150 WriteLiteral("+</option>\r\n");
1151 }
1152 else
1153 {
1154 WriteLiteral(" <option");
1155 BeginWriteAttribute("value", " value=\"", 155500, "\"", 155529, 1);
1156 WriteAttributeValue("", 155508, Converter.ToInt32(i), 155508, 21, false);
1157 EndWriteAttribute();
1158 WriteLiteral(">");
1159 Write(Converter.ToInt32(i).ToString("N0"));
1160 WriteLiteral("</option>\r\n");
1161 }
1162 }
1163 WriteLiteral(@" </select>
1164 </div>
1165 <div class=""col-6 pl-sm-0 pl-2"">
1166 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count""");
1167 BeginWriteAttribute("placeholder", " placeholder=\'", 156041, "\'", 156116, 1);
1168 WriteAttributeValue("", 156055, Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"), 156055, 61, false);
1169 EndWriteAttribute();
1170 BeginWriteAttribute("value", " value=\'", 156117, "\'", 156258, 1);
1171 WriteAttributeValue("", 156125, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymax"]) ? Context.Current.Request.QueryString["subsidymax"] : "", 156125, 133, false);
1172 EndWriteAttribute();
1173 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1174 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
1175 WriteLiteral("</option>\r\n");
1176 for (var i = 0; i <= 25000; i += 1250)
1177 {
1178 if (i == 25000)
1179 {
1180 WriteLiteral(" <option");
1181 BeginWriteAttribute("value", " value=\"", 156898, "\"", 156927, 1);
1182 WriteAttributeValue("", 156906, Converter.ToInt32(i), 156906, 21, false);
1183 EndWriteAttribute();
1184 WriteLiteral(">");
1185 Write(Convert.ToInt32(i).ToString("N0"));
1186 WriteLiteral("+</option>\r\n");
1187 }
1188 else
1189 {
1190 WriteLiteral(" <option");
1191 BeginWriteAttribute("value", " value=\"", 157222, "\"", 157251, 1);
1192 WriteAttributeValue("", 157230, Converter.ToInt32(i), 157230, 21, false);
1193 EndWriteAttribute();
1194 WriteLiteral(">");
1195 Write(Convert.ToInt32(i).ToString("N0"));
1196 WriteLiteral("</option>\r\n");
1197 }
1198 }
1199 WriteLiteral(@" </select>
1200 </div>
1201 </div>
1202 </div>
1203 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"">
1204 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1205 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
1206 WriteLiteral(@"</button>
1207 </div>
1208 </div>
1209 </div>
1210 </div>
1211 </div>
1212 <div class=""row d-block d-md-none form-wrapper no-gutters"">
1213 <div class=""col-xs-12 col-md-2"">
1214 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1215 Write(Translate("Smartpage:Search.Søg", "Søg"));
1216 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n");
1217 }
1218 else
1219 {
1220 WriteLiteral(@" <div class=""main-search-form center"">
1221 <i class=""fal fa-times float-right fa-2x js-close-search""></i>
1222 <div class=""row mb-3 align-items-center"">
1223 <div class=""col-xs-12 col-md-5 border-right"">
1224 <h3>");
1225 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
1226 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>");
1227 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
1228 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\"");
1229 BeginWriteAttribute("value", " value=\'", 159365, "\'", 159386, 1);
1230 WriteAttributeValue("", 159373, searchPageId, 159373, 13, false);
1231 EndWriteAttribute();
1232 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" />
1233 <div class=""row form-wrapper no-gutters"">
1234
1235 <div class=""col-12 mb-10"">
1236 <div class=""searchbar"">
1237 <input type=""text""");
1238 BeginWriteAttribute("name", " name=\"", 159650, "\"", 159677, 1);
1239 WriteAttributeValue("", 159657, querySearchNameAttr, 159657, 20, false);
1240 EndWriteAttribute();
1241 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
1242 BeginWriteAttribute("value", " value=\'", 159780, "\'", 159800, 1);
1243 WriteAttributeValue("", 159788, querySearch, 159788, 12, false);
1244 EndWriteAttribute();
1245 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
1246 BeginWriteAttribute("value", " value=\'", 159894, "\'", 159919, 1);
1247 WriteAttributeValue("", 159902, queryZipCodeFrom, 159902, 17, false);
1248 EndWriteAttribute();
1249 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
1250 BeginWriteAttribute("value", " value=\'", 160009, "\'", 160032, 1);
1251 WriteAttributeValue("", 160017, queryZipCodeTo, 160017, 15, false);
1252 EndWriteAttribute();
1253 WriteLiteral(@" />
1254 </div>
1255 </div>
1256 <div class=""col-xs-12 col-md-8"">
1257 <div class=""row no-gutters"">
1258 <div class=""col-xs-12 col-md-6 input-col"">
1259 <div class=""dropdown"">
1260 <button class=""btn btn-dropdown dropdown-toggle reverse js-count"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
1261 ");
1262 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
1263 WriteLiteral(@"
1264 </button>
1265 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
1266 <ul class=""bolig-dropdown list-unstyled"">
1267 ");
1268
1269 RenderBoligtypeCheckboxesDropdown();
1270 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
1271 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
1272 WriteLiteral(@"</button>
1273 </div>
1274
1275 </div>
1276
1277 </div>
1278 <div class=""col-xs-12 col-md-6 input-col"">
1279 <div class=""dropdown"">
1280 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
1281 ");
1282 Write(Translate("Smartpage:Search.Pris", "Pris"));
1283 WriteLiteral(@"
1284 </button>
1285 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris"">
1286 <input type=""text"" name=""pricemin"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
1287 BeginWriteAttribute("placeholder", " placeholder=\'", 162274, "\'", 162351, 1);
1288 WriteAttributeValue("", 162288, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 162288, 63, false);
1289 EndWriteAttribute();
1290 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1291 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
1292 WriteLiteral("</option>\r\n");
1293 for (var i = 0; i <= 10000000; i += 100000)
1294 {
1295 if (i == 10000000)
1296 {
1297 WriteLiteral(" <option");
1298 BeginWriteAttribute("value", " value=\"", 162988, "\"", 162998, 1);
1299 WriteAttributeValue("", 162996, i, 162996, 2, false);
1300 EndWriteAttribute();
1301 WriteLiteral(" data-value=\'");
1302 Write(Converter.ToInt32(i).ToString("N0"));
1303 WriteLiteral("+\'>");
1304 Write(Converter.ToInt32(i).ToString("N0"));
1305 WriteLiteral("+</option>\r\n");
1306 }
1307 else
1308 {
1309 WriteLiteral(" <option");
1310 BeginWriteAttribute("value", " value=\"", 163330, "\"", 163340, 1);
1311 WriteAttributeValue("", 163338, i, 163338, 2, false);
1312 EndWriteAttribute();
1313 WriteLiteral(" data-value=\'");
1314 Write(Converter.ToInt32(i).ToString("N0"));
1315 WriteLiteral("\'>");
1316 Write(Converter.ToInt32(i).ToString("N0"));
1317 WriteLiteral("</option>\r\n");
1318 }
1319 }
1320 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\"");
1321 BeginWriteAttribute("placeholder", " placeholder=\'", 163746, "\'", 163823, 1);
1322 WriteAttributeValue("", 163760, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 163760, 63, false);
1323 EndWriteAttribute();
1324 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1325 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
1326 WriteLiteral("</option>\r\n");
1327 for (var i = 0; i <= 10000000; i += 100000)
1328 {
1329 if (i == 10000000)
1330 {
1331 WriteLiteral(" <option");
1332 BeginWriteAttribute("value", " value=\"", 164454, "\"", 164464, 1);
1333 WriteAttributeValue("", 164462, i, 164462, 2, false);
1334 EndWriteAttribute();
1335 WriteLiteral(" data-value=\'");
1336 Write(Converter.ToInt32(i).ToString("N0"));
1337 WriteLiteral("+\'>");
1338 Write(Converter.ToInt32(i).ToString("N0"));
1339 WriteLiteral("+</option>\r\n");
1340 }
1341 else
1342 {
1343 WriteLiteral(" <option");
1344 BeginWriteAttribute("value", " value=\"", 164796, "\"", 164806, 1);
1345 WriteAttributeValue("", 164804, i, 164804, 2, false);
1346 EndWriteAttribute();
1347 WriteLiteral(" data-value=\'");
1348 Write(Converter.ToInt32(i).ToString("N0"));
1349 WriteLiteral("\'>");
1350 Write(Converter.ToInt32(i).ToString("N0"));
1351 WriteLiteral("</option>\r\n");
1352 }
1353 }
1354 WriteLiteral(@" </select>
1355 </div>
1356 </div>
1357 </div>
1358 </div>
1359 </div>
1360 <div class=""col-xs-12 col-md-4 d-none d-md-block"">
1361 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1362 Write(Translate("Smartpage:Search.Søg", "Søg"));
1363 WriteLiteral(@"</button>
1364 </div>
1365 </div>
1366
1367 <div class=""row moresearch-btn no-gutters"">
1368 <div class=""col-sm-12"">
1369 <div class=""row align-items-center no-gutters"">
1370 <div class=""col-12 col-md-5"">
1371 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch-master"">
1372 <span class=""moreSearch-text""><i class=""fas fa-plus open-close white""></i> <span class=""not-open white"">");
1373 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
1374 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> ");
1375 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
1376 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\">");
1377 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
1378 WriteLiteral(@"</a>
1379 </div>
1380 <div class=""col-6 col-md-4 mb-xs-4"">
1381 <div class=""parent-purchases"">
1382 <label class=""checkbox-container white"">
1383 ");
1384 Write(Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet"));
1385 WriteLiteral(@"
1386 <input type=""checkbox"" name=""foraeldrekoebegnet"" value=""true"" class=""js-input-check"">
1387 <span class=""checkmark grey""></span>
1388 </label>
1389 </div>
1390 </div>
1391 </div>
1392
1393 <div class=""collapse"" id=""moreSearch-master"">
1394
1395 <h4 class=""mt-20""><b>");
1396 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
1397 WriteLiteral(@"</b></h4>
1398 <div class=""row align-items-end mb-30"">
1399 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1400 <div class=""filter-container row"">
1401 <label class=""d-block col-12"">");
1402 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
1403 WriteLiteral(@"</label>
1404 <div class=""col-6 pr-sm-0 pr-2"">
1405 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count""");
1406 BeginWriteAttribute("placeholder", " placeholder=\'", 168263, "\'", 168336, 1);
1407 WriteAttributeValue("", 168277, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 168277, 59, false);
1408 EndWriteAttribute();
1409 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1410 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1411 WriteLiteral("</option>\r\n");
1412 for (var i = 0; i <= 300; i += 10)
1413 {
1414 if (i == 300)
1415 {
1416 WriteLiteral(" <option>");
1417 Write(i);
1418 WriteLiteral("+</option>\r\n");
1419 }
1420 else
1421 {
1422 WriteLiteral(" <option>");
1423 Write(i);
1424 WriteLiteral("</option>\r\n");
1425 }
1426 }
1427 WriteLiteral(@" </select>
1428 </div>
1429 <div class=""col-6 pl-sm-0 pl-2"">
1430 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count""");
1431 BeginWriteAttribute("placeholder", " placeholder=\'", 169719, "\'", 169792, 1);
1432 WriteAttributeValue("", 169733, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 169733, 59, false);
1433 EndWriteAttribute();
1434 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1435 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1436 WriteLiteral("</option>\r\n");
1437 for (var i = 0; i <= 300; i += 10)
1438 {
1439 if (i == 300)
1440 {
1441 WriteLiteral(" <option>");
1442 Write(i);
1443 WriteLiteral("+</option>\r\n");
1444 }
1445 else
1446 {
1447 WriteLiteral(" <option>");
1448 Write(i);
1449 WriteLiteral("</option>\r\n");
1450 }
1451 }
1452 WriteLiteral(@" </select>
1453 </div>
1454 </div>
1455 </div>
1456 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1457 <div class=""filter-container row"">
1458 <label class=""d-block col-12"">");
1459 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
1460 WriteLiteral(@"</label>
1461 <div class=""col-6 pr-sm-0 pr-2"">
1462 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count""");
1463 BeginWriteAttribute("placeholder", " placeholder=\'", 171571, "\'", 171644, 1);
1464 WriteAttributeValue("", 171585, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 171585, 59, false);
1465 EndWriteAttribute();
1466 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1467 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1468 WriteLiteral("</option>\r\n");
1469 for (var i = 0; i <= 10000; i += 100)
1470 {
1471 if (i == 10000)
1472 {
1473 WriteLiteral(" <option");
1474 BeginWriteAttribute("value", " value=\"", 172284, "\"", 172313, 1);
1475 WriteAttributeValue("", 172292, Converter.ToInt32(i), 172292, 21, false);
1476 EndWriteAttribute();
1477 WriteLiteral(">");
1478 Write(Converter.ToInt32(i).ToString("N0"));
1479 WriteLiteral("+</option>\r\n");
1480 }
1481 else
1482 {
1483 WriteLiteral(" <option");
1484 BeginWriteAttribute("value", " value=\"", 172610, "\"", 172639, 1);
1485 WriteAttributeValue("", 172618, Converter.ToInt32(i), 172618, 21, false);
1486 EndWriteAttribute();
1487 WriteLiteral(">");
1488 Write(Converter.ToInt32(i).ToString("N0"));
1489 WriteLiteral("</option>\r\n");
1490 }
1491 }
1492 WriteLiteral(@" </select>
1493 </div>
1494 <div class=""col-6 pl-sm-0 pl-2"">
1495 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count""");
1496 BeginWriteAttribute("placeholder", " placeholder=\'", 173160, "\'", 173233, 1);
1497 WriteAttributeValue("", 173174, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 173174, 59, false);
1498 EndWriteAttribute();
1499 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1500 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1501 WriteLiteral("</option>\r\n");
1502 for (var i = 0; i <= 10000; i += 100)
1503 {
1504 if (i == 10000)
1505 {
1506 WriteLiteral(" <option");
1507 BeginWriteAttribute("value", " value=\"", 173864, "\"", 173893, 1);
1508 WriteAttributeValue("", 173872, Converter.ToInt32(i), 173872, 21, false);
1509 EndWriteAttribute();
1510 WriteLiteral(">");
1511 Write(Converter.ToInt32(i).ToString("N0"));
1512 WriteLiteral("+</option>\r\n");
1513 }
1514 else
1515 {
1516 WriteLiteral(" <option");
1517 BeginWriteAttribute("value", " value=\"", 174190, "\"", 174219, 1);
1518 WriteAttributeValue("", 174198, Converter.ToInt32(i), 174198, 21, false);
1519 EndWriteAttribute();
1520 WriteLiteral(">");
1521 Write(Converter.ToInt32(i).ToString("N0"));
1522 WriteLiteral("</option>\r\n");
1523 }
1524 }
1525 WriteLiteral(@" </select>
1526 </div>
1527 </div>
1528 </div>
1529 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1530 <div class=""filter-container row"">
1531 <label class=""d-block col-12"">Antal rum</label>
1532
1533 <div class=""col-6 pr-sm-0 pr-2"">
1534 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count"">
1535 <option selected=""selected"" disabled=""disabled"">");
1536 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
1537 WriteLiteral(@"</option>
1538 <option value=""1"">1</option>
1539 <option value=""2"">2</option>
1540 <option value=""3"">3</option>
1541 <option value=""4"">4</option>
1542 <option value=""5"">5+</option>
1543 </select>
1544 </div>
1545 <div class=""col-6 pl-sm-0 pl-2"">
1546 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count"">
1547 <option selected=""selected"" disabled=""disabled"">");
1548 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
1549 WriteLiteral(@"</option>
1550 <option value=""1"">1</option>
1551 <option value=""2"">2</option>
1552 <option value=""3"">3</option>
1553 <option value=""4"">4</option>
1554 <option value=""5"">5+</option>
1555 </select>
1556 </div>
1557 </div>
1558 </div>
1559 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1560 <div class=""row"">
1561 <div class=""col-12 pr-2"">
1562 <div class=""filter-container"">
1563 <label class=""d-block"">Energimærke</label>
1564 ");
1565 WriteLiteral(" <select name=\"energylabel\" id=\"energylabel\" class=\"form-control reverse js-energylabel-select js-count\">\r\n <option disabled selected=\"selected\">");
1566 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
1567 WriteLiteral(@"</option>
1568 <option value=""01"">G</option>
1569 <option value=""02"">F</option>
1570 <option value=""03"">E</option>
1571 <option value=""04"">D</option>
1572 <option value=""05"">C</option>
1573 <option value=""06"">B</option>
1574 <option value=""07"">A</option>
1575 <option value=""08"">A2010</option>
1576 <option value=""09"">A2015</option>
1577 <option value=""10"">A2020+</option>
1578 </select>
1579 </div>
1580 ");
1581 WriteLiteral(@" </div>
1582 </div>
1583 </div>
1584 <div class=""col-12 col-sm-6 col-lg-6 mt-3"">
1585 <h4");
1586 BeginWriteAttribute("class", " class=\"", 178725, "\"", 178733, 0);
1587 EndWriteAttribute();
1588 WriteLiteral("><b>");
1589 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
1590 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
1591 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
1592 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\"");
1593 BeginWriteAttribute("placeholder", " placeholder=\'", 179295, "\'", 179362, 1);
1594 WriteAttributeValue("", 179309, Translate("Smartpage:Search.Placeholder.Min", "Min"), 179309, 53, false);
1595 EndWriteAttribute();
1596 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1597 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
1598 WriteLiteral("</option>\r\n");
1599 for (var i = 0; i <= 25000; i += 1250)
1600 {
1601 if (i == 25000)
1602 {
1603 WriteLiteral(" <option");
1604 BeginWriteAttribute("value", " value=\"", 180006, "\"", 180035, 1);
1605 WriteAttributeValue("", 180014, Converter.ToInt32(i), 180014, 21, false);
1606 EndWriteAttribute();
1607 WriteLiteral(">");
1608 Write(Converter.ToInt32(i).ToString("N0"));
1609 WriteLiteral("+</option>\r\n");
1610 }
1611 else
1612 {
1613 WriteLiteral(" <option");
1614 BeginWriteAttribute("value", " value=\"", 180332, "\"", 180361, 1);
1615 WriteAttributeValue("", 180340, Converter.ToInt32(i), 180340, 21, false);
1616 EndWriteAttribute();
1617 WriteLiteral(">");
1618 Write(Converter.ToInt32(i).ToString("N0"));
1619 WriteLiteral("</option>\r\n");
1620 }
1621 }
1622 WriteLiteral(@" </select>
1623 </div>
1624 <div class=""col-6 pl-sm-0 pl-2"">
1625 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count""");
1626 BeginWriteAttribute("placeholder", " placeholder=\'", 180873, "\'", 180940, 1);
1627 WriteAttributeValue("", 180887, Translate("Smartpage:Search.Placeholder.Max", "Max"), 180887, 53, false);
1628 EndWriteAttribute();
1629 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1630 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
1631 WriteLiteral("</option>\r\n");
1632 for (var i = 0; i <= 25000; i += 1250)
1633 {
1634 if (i == 25000)
1635 {
1636 WriteLiteral(" <option");
1637 BeginWriteAttribute("value", " value=\"", 181580, "\"", 181609, 1);
1638 WriteAttributeValue("", 181588, Converter.ToInt32(i), 181588, 21, false);
1639 EndWriteAttribute();
1640 WriteLiteral(">");
1641 Write(Converter.ToInt32(i).ToString("N0"));
1642 WriteLiteral("+</option>\r\n");
1643 }
1644 else
1645 {
1646 WriteLiteral(" <option");
1647 BeginWriteAttribute("value", " value=\"", 181906, "\"", 181935, 1);
1648 WriteAttributeValue("", 181914, Converter.ToInt32(i), 181914, 21, false);
1649 EndWriteAttribute();
1650 WriteLiteral(">");
1651 Write(Converter.ToInt32(i).ToString("N0"));
1652 WriteLiteral("</option>\r\n");
1653 }
1654 }
1655 WriteLiteral(@" </select>
1656 </div>
1657 </div>
1658 </div>
1659 <div class=""col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0"">
1660 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1661 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
1662 WriteLiteral(@"</button>
1663 </div>
1664 </div>
1665 </div>
1666 </div>
1667 </div>
1668 <div class=""row d-block d-md-none form-wrapper no-gutters"">
1669 <div class=""col-xs-12 col-md-2"">
1670 <button type=""submit"" class=""btn btn-block btn-search dark-red""><i class=""fa fa-search""></i> ");
1671 Write(Translate("Smartpage:Search.Søg", "Søg"));
1672 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n");
1673 }
1674 WriteLiteral(" </div>\r\n\r\n");
1675
1676 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning));
1677 WriteLiteral("\r\n");
1678 if (isBrokerPage)
1679 {
1680 WriteLiteral(" <section class=\"maegler-navbar\">\r\n ");
1681 Write(RenderNavigation(new
1682 {
1683 id = "navbar-main",
1684 cssclass = "dwnavigation",
1685 template = "ul_li.xslt",
1686 StartLevel = 1,
1687 EndLevel = 1
1688 }));
1689 WriteLiteral("\r\n </section>\r\n");
1690 }
1691 WriteLiteral("\r\n <div class=\"visual-editor\">\r\n");
1692 WriteLiteral("\r\n\r\n");
1693 WriteLiteral("\r\n\r\n");
1694 WriteLiteral("\r\n");
1695
1696 int pageId = Model.ID;
1697 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus");
1698 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles");
1699 bool showTitle = Model.Item.GetBoolean("ShowTitle");
1700 bool showFilters = Model.Item.GetBoolean("ShowFilters");
1701 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter");
1702 bool showSearch = Model.Item.GetBoolean("ShowSearch");
1703 string dynamicListWidth = enablePopular ? "8" : "12";
1704 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle";
1705
1706 Dictionary<string, string> categoriesList = new Dictionary<string, string>();
1707 categoriesList.Add(Translate("All"), "");
1708
1709 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId))
1710 {
1711 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any())
1712 {
1713 categoriesList.Add(page.GetDisplayName(), page.ID.ToString());
1714 }
1715 }
1716
1717 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields;
1718 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : "";
1719 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : "";
1720 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : "";
1721
1722 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null;
1723 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null;
1724 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null;
1725
1726 Block listPageContainer = new Block
1727 {
1728 Id = "ArticleListPageContainer",
1729 SortId = 10,
1730 Design = new Design
1731 {
1732 RenderType = RenderType.Row
1733 },
1734 BlocksList = new List<Block> {
1735 new Block {
1736 Id = "ArticleListPageHeader",
1737 SortId = 20,
1738 Design = new Design
1739 {
1740 RenderType = RenderType.Column,
1741 Size = "12"
1742 },
1743 BlocksList = new List<Block> {
1744 new Block {
1745 Id = "ArticleListPageHeaderRow",
1746 SortId = 10,
1747 Design = new Design
1748 {
1749 RenderType = RenderType.Row
1750 },
1751 BlocksList = new List<Block> {
1752 new Block {
1753 Id = "ArticleListFilters",
1754 SortId = 30,
1755 Design = new Design {
1756 RenderType = RenderType.Column,
1757 Size = "10",
1758 CssClass = "grid__cell"
1759 }
1760 }
1761 }
1762 }
1763 }
1764 }
1765 }
1766 };
1767 articleListPage.Add(listPageContainer);
1768
1769 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") {
1770 Block listFilters = articleListPage.GetBlockById("ArticleListFilters");
1771 listFilters.Template = RenderMobileFilters(listFilters.BlocksList);
1772 listFilters.SkipRenderBlocksList = true;
1773 }
1774
1775 if (showTitle) {
1776 Block titleBlock = new Block
1777 {
1778 Id = "ArticleListTitle",
1779 SortId = 10,
1780 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 },
1781 Design = new Design
1782 {
1783 RenderType = RenderType.Column,
1784 Size = "2"
1785 }
1786 };
1787 articleListPage.Add("ArticleListPageHeaderRow", titleBlock);
1788 }
1789
1790 if (showSearch)
1791 {
1792 Block searchFilter = new Block
1793 {
1794 Id = "ArticleListSearch",
1795 SortId = 10,
1796 Component = new ArticleListSearch { }
1797 };
1798 articleListPage.Add("ArticleListFilters", searchFilter);
1799 }
1800
1801 if (showCategoryFilter)
1802 {
1803 Block categoryFilter = new Block
1804 {
1805 Id = "ArticleListCategoryFilter",
1806 SortId = 20,
1807 Component = new ArticleListCategoryFilter { Categories = categoriesList }
1808 };
1809 articleListPage.Add("ArticleListFilters", categoryFilter);
1810 }
1811
1812 Block listBody = new Block
1813 {
1814 Id = "ArticleListPageBody",
1815 SortId = 30,
1816 Design = new Design
1817 {
1818 RenderType = RenderType.Column,
1819 Size = dynamicListWidth
1820 }
1821 };
1822 articleListPage.Add("ArticleListPageContainer", listBody);
1823
1824 Block listBodyRow = new Block
1825 {
1826 Id = "ArticleListPageBodyRow",
1827 SortId = 10,
1828 Design = new Design
1829 {
1830 RenderType = RenderType.Row
1831 }
1832 };
1833 articleListPage.Add("ArticleListPageBody", listBodyRow);
1834
1835 if (enableArticlesInFocus) {
1836 Block listInFocus = new Block
1837 {
1838 Id = "ArticleListInFocus",
1839 SortId = 10,
1840 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType },
1841 Design = new Design
1842 {
1843 RenderType = RenderType.Column,
1844 Size = "12",
1845 HidePadding = true
1846 }
1847 };
1848 articleListPage.Add("ArticleListPageBodyRow", listInFocus);
1849 }
1850
1851 Block listMain = new Block
1852 {
1853 Id = "ArticleListMain",
1854 SortId = 20,
1855 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType },
1856 Design = new Design
1857 {
1858 RenderType = RenderType.Column,
1859 Size = "12",
1860 HidePadding = true
1861 }
1862 };
1863 articleListPage.Add("ArticleListPageBodyRow", listMain);
1864
1865 if (enablePopular)
1866 {
1867 Block listPopular = new Block
1868 {
1869 Id = "ArticleListPopular",
1870 SortId = 30,
1871 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType },
1872 Design = new Design
1873 {
1874 RenderType = RenderType.Column,
1875 Size = "4",
1876 CssClass = "u-padding--lg"
1877 }
1878 };
1879 articleListPage.Add("ArticleListPageContainer", listPopular);
1880 }
1881
1882 if (showFilters) {
1883 if (filterOneOptions != null)
1884 {
1885 Block filterOne = new Block
1886 {
1887 Id = "ArticleListFilterOne",
1888 SortId = 30,
1889 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" }
1890 };
1891 articleListPage.Add("ArticleListFilters", filterOne);
1892 }
1893
1894 if (filterTwoOptions != null)
1895 {
1896 Block filterTwo = new Block
1897 {
1898 Id = "ArticleListFilterTwo",
1899 SortId = 40,
1900 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" }
1901 };
1902 articleListPage.Add("ArticleListFilters", filterTwo);
1903 }
1904
1905 if (filterThreeOptions != null)
1906 {
1907 Block filterThree = new Block
1908 {
1909 Id = "ArticleListFilterThree",
1910 SortId = 50,
1911 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" }
1912 };
1913 articleListPage.Add("ArticleListFilters", filterThree);
1914 }
1915 }
1916 WriteLiteral("\r\n\r\n");
1917 WriteLiteral("\r\n");
1918 Write(RenderBlockList(articleListPage.BlocksRoot.BlocksList));
1919 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");
1920 if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true)
1921 {
1922 string bName = MyBroker.Broker.Name;
1923 string bClass = "na";
1924 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png";
1925
1926 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName))
1927 {
1928 bName = MyBroker.Broker.CompanyName;
1929 }
1930 try
1931 {
1932 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl");
1933 if (!string.IsNullOrEmpty(imgUrl))
1934 {
1935 bImage = imgUrl;
1936 bClass = "";
1937 }
1938 }
1939 catch
1940 {
1941 // Ignore
1942 }
1943
1944 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId");
1945 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
1946
1947 WriteLiteral(" <section class=\"din-maegler\">\r\n <div");
1948 BeginWriteAttribute("class", " class=\"", 193815, "\"", 193842, 2);
1949 WriteAttributeValue("", 193823, "img-wrapper", 193823, 11, true);
1950 WriteAttributeValue(" ", 193834, bClass, 193835, 7, false);
1951 EndWriteAttribute();
1952 BeginWriteAttribute("style", " style=\"", 193843, "\"", 193882, 3);
1953 WriteAttributeValue("", 193851, "background-image:url(\'", 193851, 22, true);
1954 WriteAttributeValue("", 193873, bImage, 193873, 7, false);
1955 WriteAttributeValue("", 193880, "\')", 193880, 2, true);
1956 EndWriteAttribute();
1957 WriteLiteral(@"></div>
1958 <div class=""container"">
1959 <div class=""col-12 col-sm-12 col-md-6 offset-md-6"">
1960 <h2>Din personlige mægler</h2>
1961 <div class=""row"">
1962 <div class=""col-12 col-sm-6"">
1963 <p>
1964 <b class=""my-broker-name"">");
1965 Write(MyBroker.Employee.Name);
1966 WriteLiteral("</b><br>\r\n");
1967 if (!string.IsNullOrEmpty(MyBroker.Employee.Email))
1968 {
1969 WriteLiteral("Mail: <a");
1970 BeginWriteAttribute("href", " href=\"", 194439, "\"", 194499, 2);
1971 WriteAttributeValue("", 194446, "mailto:", 194446, 7, true);
1972 WriteAttributeValue("", 194453, ExtractMaskedEmail(MyBroker.Employee.Email), 194453, 46, false);
1973 EndWriteAttribute();
1974 WriteLiteral(" class=\"my-broker-email\">");
1975 Write(ExtractMaskedEmail(MyBroker.Employee.Email));
1976 WriteLiteral("</a><br>");
1977
1978 }
1979 if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile))
1980 {
1981 WriteLiteral("Tlf.: <a");
1982 BeginWriteAttribute("href", " href=\"", 194798, "\"", 194841, 2);
1983 WriteAttributeValue("", 194805, "tel:", 194805, 4, true);
1984 WriteAttributeValue("", 194809, MyBroker.Employee.PhoneMobile, 194809, 32, false);
1985 EndWriteAttribute();
1986 WriteLiteral(" class=\"my-broker-phone\">");
1987 Write(FormatPhoneNumber(MyBroker.Employee.PhoneMobile));
1988 WriteLiteral("</a>");
1989
1990 }
1991 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
1992 {
1993 WriteLiteral("Tlf.: <a");
1994 BeginWriteAttribute("href", " href=\"", 195141, "\"", 195180, 2);
1995 WriteAttributeValue("", 195148, "tel:", 195148, 4, true);
1996 WriteAttributeValue("", 195152, MyBroker.Broker.Telephone, 195152, 28, false);
1997 EndWriteAttribute();
1998 WriteLiteral(" class=\"my-broker-phone\">");
1999 Write(FormatPhoneNumber(MyBroker.Broker.Telephone));
2000 WriteLiteral("</a>");
2001
2002 }
2003 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\">");
2004 Write(bName);
2005 WriteLiteral("</b><br>\r\n <span class=\"my-broker-company-address\">");
2006 Write(MyBroker.Broker.Address);
2007 WriteLiteral("</span><br>\r\n <span class=\"my-broker-company-zip\">");
2008 Write(MyBroker.Broker.ZipCode);
2009 WriteLiteral("</span> <span class=\"my-broker-company-city\">");
2010 Write(MyBroker.Broker.City);
2011 WriteLiteral("</span><br>\r\n");
2012 if (!string.IsNullOrEmpty(bEmail))
2013 {
2014 WriteLiteral("Mail: <a");
2015 BeginWriteAttribute("href", " href=\"", 195969, "\"", 195992, 2);
2016 WriteAttributeValue("", 195976, "mailto:", 195976, 7, true);
2017 WriteAttributeValue("", 195983, bEmail, 195983, 9, false);
2018 EndWriteAttribute();
2019 WriteLiteral(" class=\"my-broker-broker-email\">");
2020 Write(bEmail);
2021 WriteLiteral("</a><br>");
2022
2023 }
2024 if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
2025 {
2026 WriteLiteral("Tlf.: <a");
2027 BeginWriteAttribute("href", " href=\"", 196257, "\"", 196296, 2);
2028 WriteAttributeValue("", 196264, "tel:", 196264, 4, true);
2029 WriteAttributeValue("", 196268, MyBroker.Broker.Telephone, 196268, 28, false);
2030 EndWriteAttribute();
2031 WriteLiteral(" class=\"my-broker-broker-phone\">");
2032 Write(FormatPhoneNumber(MyBroker.Broker.Telephone));
2033 WriteLiteral("</a>");
2034
2035 }
2036 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");
2037 BeginWriteAttribute("href", " href=\"", 196672, "\"", 196707, 2);
2038 WriteAttributeValue("", 196679, "/", 196679, 1, true);
2039 WriteAttributeValue("", 196680, medlemsnummer.Substring(1), 196680, 27, false);
2040 EndWriteAttribute();
2041 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");
2042 }
2043 WriteLiteral(" <footer>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n");
2044
2045 var navigationSettings = new NavigationSettings();
2046 navigationSettings.StartLevel = 1;
2047 navigationSettings.StopLevel = 3;
2048 navigationSettings.ExpandMode = ExpandMode.All;
2049 navigationSettings.RootAreaId = 1;
2050 navigationSettings.RootNavigationTag = "footer-nav";
2051
2052 WriteLiteral(" ");
2053 Write(Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings));
2054 WriteLiteral("\r\n </div>\r\n </div>\r\n </footer>\r\n\r\n");
2055 if (Model.CurrentUser?.ID <= 0)
2056 {
2057 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");
2058 if (loginParagraphId > 0)
2059 {
2060 WriteLiteral("\r\n ");
2061 Write(RenderParagraphContent(loginParagraphId));
2062 WriteLiteral("\r\n ");
2063
2064 }
2065 WriteLiteral(" </div>\r\n <div class=\"loginform register js-register-form-wrapper\" style=\"display: none;\">\r\n");
2066 if (createUserParagraphId > 0)
2067 {
2068 WriteLiteral("\r\n ");
2069 Write(RenderParagraphContent(createUserParagraphId));
2070 WriteLiteral("\r\n ");
2071
2072 }
2073 WriteLiteral(" </div>\r\n <div class=\"loginform forgotpw\" style=\"display: none;\">\r\n <h2 class=\"forgotpw-reg\">");
2074 Write(Translate("forgot-pw-reg-title", "Glemt adgangskode"));
2075 WriteLiteral("</h2>\r\n <h2 class=\"forgotpw-broker\">");
2076 Write(Translate("forgot-pw-broker-title", "Tilmeldt via. mægler"));
2077 WriteLiteral("</h2>\r\n <form id=\"forgotPwForm\" class=\"form-body\" method=\"post\"");
2078 BeginWriteAttribute("action", " action=\"", 198770, "\"", 198779, 0);
2079 EndWriteAttribute();
2080 WriteLiteral(">\r\n <input type=\"hidden\" id=\"AccessUserShopID\" name=\"AccessUserShopID\" value=\"SHOP6\" />\r\n <p class=\"forgotpw-reg\">");
2081 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."));
2082 WriteLiteral("</p>\r\n <p class=\"forgotpw-broker\">");
2083 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."));
2084 WriteLiteral(@"</p>
2085 <div class=""form-group"">
2086 <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 />
2087 </div>
2088 <button class=""btn btn-primary btn-block"" type=""submit"">");
2089 Write(Translate("forgot-pw-cta", "Nulstil adgangskode"));
2090 WriteLiteral("</button>\r\n <br />\r\n <div id=\"submitMessage\"></div>\r\n </form>\r\n </div>\r\n </div>\r\n");
2091 }
2092 WriteLiteral("\r\n");
2093 WriteLiteral("\r\n");
2094
2095 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");
2096 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>");
2097 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler"));
2098 WriteLiteral("</h2>\r\n <form id=\"form-koeberraadgivning\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>");
2099 Write(Translate("form-navn", "Navn"));
2100 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\" tabindex=\"1\"");
2101 BeginWriteAttribute("placeholder", " placeholder=\'", 201019, "\'", 201101, 1);
2102 WriteAttributeValue("", 201033, Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn"), 201033, 68, false);
2103 EndWriteAttribute();
2104 BeginWriteAttribute("value", " value=\'", 201102, "\'", 201141, 1);
2105 WriteAttributeValue("", 201110, UserContext.Current.User?.Name, 201110, 31, false);
2106 EndWriteAttribute();
2107 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2108 Write(Translate("form-email", "E-mail"));
2109 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\"");
2110 BeginWriteAttribute("placeholder", " placeholder=\'", 201418, "\'", 201503, 1);
2111 WriteAttributeValue("", 201432, Translate("Smartpage:Kontakt.Placeholder.Email", "Indtast din e-mail"), 201432, 71, false);
2112 EndWriteAttribute();
2113 BeginWriteAttribute("value", " value=\'", 201504, "\'", 201544, 1);
2114 WriteAttributeValue("", 201512, UserContext.Current.User?.Email, 201512, 32, false);
2115 EndWriteAttribute();
2116 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2117 Write(Translate("form-mobile", "Mobil nr."));
2118 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"3\" maxlength=\"20\" name=\"mobile\"");
2119 BeginWriteAttribute("placeholder", " placeholder=\'", 201855, "\'", 201940, 1);
2120 WriteAttributeValue("", 201869, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 201869, 71, false);
2121 EndWriteAttribute();
2122 BeginWriteAttribute("value", " value=\'", 201941, "\'", 201981, 1);
2123 WriteAttributeValue("", 201949, UserContext.Current.User?.Phone, 201949, 32, false);
2124 EndWriteAttribute();
2125 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2126 Write(Translate("form-telephone", "Telefon nr."));
2127 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"4\" maxlength=\"20\" name=\"telefonnummer\"");
2128 BeginWriteAttribute("placeholder", " placeholder=\'", 202264, "\'", 202348, 1);
2129 WriteAttributeValue("", 202278, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 202278, 70, false);
2130 EndWriteAttribute();
2131 BeginWriteAttribute("value", " value=\'", 202349, "\'", 202390, 1);
2132 WriteAttributeValue("", 202357, UserContext.Current?.User?.Phone, 202357, 33, false);
2133 EndWriteAttribute();
2134 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <h3>");
2135 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2136 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2137 Write(Translate("form-zip", "Post nr"));
2138 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\" tabindex=\"5\"");
2139 BeginWriteAttribute("placeholder", " placeholder=\'", 202798, "\'", 202876, 1);
2140 WriteAttributeValue("", 202812, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 202812, 64, false);
2141 EndWriteAttribute();
2142 BeginWriteAttribute("value", " value=\"", 202877, "\"", 202893, 1);
2143 WriteAttributeValue("", 202885, userZip, 202885, 8, false);
2144 EndWriteAttribute();
2145 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2146 Write(Translate("form-city", "By"));
2147 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>");
2148 Write(Translate("form-adresse", "Adresse"));
2149 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\" tabindex=\"6\"");
2150 BeginWriteAttribute("placeholder", " placeholder=\'", 203460, "\'", 203550, 1);
2151 WriteAttributeValue("", 203474, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 203474, 76, false);
2152 EndWriteAttribute();
2153 WriteLiteral(" required />\r\n\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2154 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2155 WriteLiteral(@"</label>
2156 </div>
2157 <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"">
2158 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2159 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2160 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\"");
2161 BeginWriteAttribute("placeholder", " placeholder=\'", 204344, "\'", 204422, 1);
2162 WriteAttributeValue("", 204358, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 204358, 64, false);
2163 EndWriteAttribute();
2164 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\">");
2165 Write(Translate("KontaktMægler", "Kontakt Mægler"));
2166 WriteLiteral(@"</button>
2167 </div>
2168 </div>
2169 </div>
2170 <div class=""form-group mt-3"">
2171 <div class=""checkbox"">
2172 <label>
2173 <input type=""checkbox"" name=""kontaktmigok"" required />
2174
2175 <span>");
2176 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2177 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2178 Write(privacyPolicyText);
2179 WriteLiteral(" <a");
2180 BeginWriteAttribute("href", " href=\"", 205235, "\"", 205259, 2);
2181 WriteAttributeValue("", 205242, "mailto:", 205242, 7, true);
2182 WriteAttributeValue("", 205249, termsMail, 205249, 10, false);
2183 EndWriteAttribute();
2184 WriteLiteral(">");
2185 Write(termsMail);
2186 WriteLiteral("</a>.\r\n Læs mere på <a");
2187 BeginWriteAttribute("href", " href=\"", 205304, "\"", 205338, 1);
2188 WriteAttributeValue("", 205311, settings_Persondatapolitik, 205311, 27, false);
2189 EndWriteAttribute();
2190 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n\r\n <input type=\"hidden\" name=\"fn\" value=\"krk\" />\r\n <input type=\"hidden\" name=\"origin\"");
2191 BeginWriteAttribute("value", " value=\"", 205484, "\"", 205492, 0);
2192 EndWriteAttribute();
2193 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2194 BeginWriteAttribute("value", " value=\"", 205542, "\"", 205550, 0);
2195 EndWriteAttribute();
2196 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2197 BeginWriteAttribute("value", " value=\"", 205598, "\"", 205622, 1);
2198 WriteAttributeValue("", 205606, Pageview.AreaID, 205606, 16, false);
2199 EndWriteAttribute();
2200 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2201 BeginWriteAttribute("value", " value=\"", 205671, "\"", 205687, 1);
2202 WriteAttributeValue("", 205679, butikId, 205679, 8, false);
2203 EndWriteAttribute();
2204 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2205 BeginWriteAttribute("value", " value=\"", 205741, "\"", 205749, 0);
2206 EndWriteAttribute();
2207 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2208 BeginWriteAttribute("value", " value=\"", 205800, "\"", 205808, 0);
2209 EndWriteAttribute();
2210 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2211 BeginWriteAttribute("value", " value=\"", 205858, "\"", 205866, 0);
2212 EndWriteAttribute();
2213 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-advisor\" style=\"display:none;\">\r\n <h2>");
2214 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2215 WriteLiteral("</h2>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2216 BeginWriteAttribute("src", " src=\"", 206099, "\"", 206105, 0);
2217 EndWriteAttribute();
2218 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2219 </div>
2220 <div class=""col-6"">
2221 <p class=""js-maegler-name""></p>
2222 <p class=""js-maegler-address""></p>
2223 <p class=""js-maegler-phone""></p>
2224 <p class=""js-maegler-mail""></p>
2225 </div>
2226 </div>
2227 <p>");
2228 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2229 WriteLiteral(@"</p>
2230 </div>
2231 </div>
2232
2233 <!--ÅBENT HUS-->
2234 <div id=""panel-aabenthus"" class=""panel panel-form"">
2235 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2236 <b></b>
2237 </button>
2238
2239
2240 <form id=""form-aabenthus"" method=""POST"" action=""/InboxHandler"">
2241 <h2>");
2242 Write(Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus"));
2243 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>");
2244 Write(Translate("Smarptage:Adresse", "Adresse:"));
2245 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>");
2246 Write(Translate("Smarptage:Date", "Dato:"));
2247 WriteLiteral("</strong> <label class=\"js-aabenthus-date mb-0\"></label>\r\n </div>\r\n <div class=\"d-block mb-4\">\r\n <strong>");
2248 Write(Translate("Smarptage:Time", "Tidspunkt:"));
2249 WriteLiteral("</strong> <label class=\"js-aabenthus-time mb-0\"></label>\r\n </div>\r\n <h3>");
2250 Write(Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger"));
2251 WriteLiteral("</h3>\r\n <div class=\"form-group\">\r\n <label for=\"aabenthus-name\"><strong>");
2252 Write(Translate("form-navn", "Navn"));
2253 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2254 BeginWriteAttribute("placeholder", " placeholder=\'", 207723, "\'", 207807, 1);
2255 WriteAttributeValue("", 207737, Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn"), 207737, 70, false);
2256 EndWriteAttribute();
2257 BeginWriteAttribute("value", " value=\'", 207808, "\'", 207848, 1);
2258 WriteAttributeValue("", 207816, UserContext.Current?.User?.Name, 207816, 32, false);
2259 EndWriteAttribute();
2260 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2261 Write(Translate("form-email", "E-mail"));
2262 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2263 BeginWriteAttribute("placeholder", " placeholder=\'", 208112, "\'", 208199, 1);
2264 WriteAttributeValue("", 208126, Translate("Smartpage:Aabenthus.Placeholder.Email", "Indtast din e-mail"), 208126, 73, false);
2265 EndWriteAttribute();
2266 BeginWriteAttribute("value", " value=\'", 208200, "\'", 208240, 1);
2267 WriteAttributeValue("", 208208, UserContext.Current.User?.Email, 208208, 32, false);
2268 EndWriteAttribute();
2269 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2270 Write(Translate("form-mobile", "Mobil nr."));
2271 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2272 BeginWriteAttribute("placeholder", " placeholder=\'", 208533, "\'", 208620, 1);
2273 WriteAttributeValue("", 208547, Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr."), 208547, 73, false);
2274 EndWriteAttribute();
2275 BeginWriteAttribute("value", " value=\'", 208621, "\'", 208661, 1);
2276 WriteAttributeValue("", 208629, UserContext.Current.User?.Phone, 208629, 32, false);
2277 EndWriteAttribute();
2278 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2279 Write(Translate("form-telephone", "Telefon nr."));
2280 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2281 BeginWriteAttribute("placeholder", " placeholder=\'", 208931, "\'", 209017, 1);
2282 WriteAttributeValue("", 208945, Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr."), 208945, 72, false);
2283 EndWriteAttribute();
2284 BeginWriteAttribute("value", " value=\'", 209018, "\'", 209058, 1);
2285 WriteAttributeValue("", 209026, UserContext.Current.User?.Phone, 209026, 32, false);
2286 EndWriteAttribute();
2287 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\">");
2288 Write(Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus"));
2289 WriteLiteral(@"</button>
2290 </div>
2291 </div>
2292 </div>
2293 <div class=""form-group"">
2294 <div class=""checkbox"">
2295 <label>
2296 <input type=""checkbox"" name=""kontaktmigok"" required />
2297
2298 <span class=""base-color"">");
2299 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2300 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n ");
2301 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>"));
2302 WriteLiteral("\r\n\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"ah\" />\r\n <input type=\"hidden\" name=\"origin\"");
2303 BeginWriteAttribute("value", " value=\"", 210221, "\"", 210229, 0);
2304 EndWriteAttribute();
2305 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2306 BeginWriteAttribute("value", " value=\"", 210279, "\"", 210294, 1);
2307 WriteAttributeValue("", 210287, userID, 210287, 7, false);
2308 EndWriteAttribute();
2309 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2310 BeginWriteAttribute("value", " value=\"", 210342, "\"", 210366, 1);
2311 WriteAttributeValue("", 210350, Pageview.AreaID, 210350, 16, false);
2312 EndWriteAttribute();
2313 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2314 BeginWriteAttribute("value", " value=\"", 210415, "\"", 210431, 1);
2315 WriteAttributeValue("", 210423, butikId, 210423, 8, false);
2316 EndWriteAttribute();
2317 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsaddresse\"");
2318 BeginWriteAttribute("value", " value=\"", 210485, "\"", 210493, 0);
2319 EndWriteAttribute();
2320 WriteLiteral(" class=\"js-aabenthus-address-input\" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2321 BeginWriteAttribute("value", " value=\"", 210582, "\"", 210590, 0);
2322 EndWriteAttribute();
2323 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2324 BeginWriteAttribute("value", " value=\"", 210641, "\"", 210649, 0);
2325 EndWriteAttribute();
2326 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2327 BeginWriteAttribute("value", " value=\"", 210699, "\"", 210707, 0);
2328 EndWriteAttribute();
2329 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2330 BeginWriteAttribute("value", " value=\"", 210757, "\"", 210765, 0);
2331 EndWriteAttribute();
2332 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsnr\"");
2333 BeginWriteAttribute("value", " value=\"", 210813, "\"", 210821, 0);
2334 EndWriteAttribute();
2335 WriteLiteral(" class=\"js-sagsnr\" />\r\n <input type=\"hidden\" name=\"productId\"");
2336 BeginWriteAttribute("value", " value=\"", 210890, "\"", 210946, 1);
2337 WriteAttributeValue("", 210898, Dynamicweb.Context.Current.Request["ProductId"], 210898, 48, false);
2338 EndWriteAttribute();
2339 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"aftaleid\"");
2340 BeginWriteAttribute("value", " value=\"", 210996, "\"", 211004, 0);
2341 EndWriteAttribute();
2342 WriteLiteral(@" class=""js-aftaleid"" />
2343
2344 <input type=""hidden"" name=""dateMail"" class=""js-aabenthus-date-input"" />
2345 <input type=""hidden"" name=""timeMail"" class=""js-aabenthus-time-input"" />
2346 <input type=""hidden"" name=""brokerImageMail"" class=""property-broker-image-input"" />
2347 <input type=""hidden"" name=""employeeNameMail"" class=""js-maegler-employee-name-input"" />
2348 <input type=""hidden"" name=""employeeTitleMail"" class=""js-maegler-employee-title-input"" />
2349 <input type=""hidden"" name=""employeeMailMail"" class=""js-maegler-mail-input"" />
2350 <input type=""hidden"" name=""employeeMobileMail"" class=""js-maegler-mobile-input"" />
2351 <input type=""hidden"" name=""employeePhoneMail"" class=""js-maegler-phone-input"" />
2352
2353 <input type=""hidden"" name=""brokerNameMail"" class=""js-broker-name-input"" />
2354 <input type=""hidden"" name=""brokerAddressMail"" class=""js-broker-address-input"" />
2355 <input type=""hidden"" name=""brokerPhoneMail"" class=""js-broker-phone-input"" />
2356 </form>
2357 <di");
2358 WriteLiteral("v id=\"tak-aabenthus\" style=\"display:none;\">\r\n <h2>");
2359 Write(Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!"));
2360 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>");
2361 Write(Translate("Smarptage:Adresse", "Adresse:"));
2362 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>");
2363 Write(Translate("Smarptage:Date", "Dato:"));
2364 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>");
2365 Write(Translate("Smarptage:Time", "Tidspunkt:"));
2366 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>");
2367 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>"));
2368 WriteLiteral("</p>\r\n </div>\r\n <div class=\"js-not-employee\">\r\n <p>");
2369 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"));
2370 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\"");
2371 BeginWriteAttribute("style", " style=\"", 213396, "\"", 213404, 0);
2372 EndWriteAttribute();
2373 WriteLiteral(@"></div>
2374
2375 </div>
2376 </div>
2377 <div class=""col-12"">
2378 <div class=""bg-base"">
2379
2380 <div class=""js-employee"">
2381 <h4 class=""js-maegler-employee-name""></h4>
2382 <div class=""icon-container"">
2383 <i class=""fas fa-envelope""></i> <span class=""js-maegler-mail""></span>
2384 </div>
2385 <div class=""icon-container"">
2386 <i class=""fas fa-phone""></i> <span class=""js-maegler-mobile""></span>
2387 </div>
2388 </div>
2389
2390
2391 <h4 class=""js-maegler-name""></h4>
2392 <div class=""icon-container"">
2393 <i class=""fas fa-map-marker-alt""></i> <span class=""js-maegler-address""></span>
2394 </div>
2395 <div class=""icon-container"">
2396 <i class=""fas fa-phone""></i> <span class=""js-maegler-phone""></span>");
2397 WriteLiteral(@"
2398
2399 </div>
2400 <a class=""btn btn-border"" onclick=""panelKontaktmaeglerGuldkoeber()"">KONTAKT MÆGLER</a>
2401 </div>
2402 </div>
2403 </div>
2404 </div>
2405 </div>
2406
2407 <!-- KONTAKT GULDKØBER -->
2408 <div id=""panel-kontakt-guldkoeber"" class=""panel panel-form"">
2409 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2410 <b></b>
2411 </button>
2412 <h2>");
2413 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler"));
2414 WriteLiteral("</h2>\r\n <form id=\"form-kontaktmaegler\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>");
2415 Write(Translate("form-navn", "Navn"));
2416 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2417 BeginWriteAttribute("placeholder", " placeholder=\'", 215189, "\'", 215234, 1);
2418 WriteAttributeValue("", 215203, Translate("form-navn", "Navn"), 215203, 31, false);
2419 EndWriteAttribute();
2420 BeginWriteAttribute("value", " value=\'", 215235, "\'", 215274, 1);
2421 WriteAttributeValue("", 215243, UserContext.Current.User?.Name, 215243, 31, false);
2422 EndWriteAttribute();
2423 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2424 Write(Translate("form-email", "E-mail"));
2425 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2426 BeginWriteAttribute("placeholder", " placeholder=\'", 215538, "\'", 215586, 1);
2427 WriteAttributeValue("", 215552, Translate("form-email", "E-mail"), 215552, 34, false);
2428 EndWriteAttribute();
2429 BeginWriteAttribute("value", " value=\'", 215587, "\'", 215627, 1);
2430 WriteAttributeValue("", 215595, UserContext.Current.User?.Email, 215595, 32, false);
2431 EndWriteAttribute();
2432 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2433 Write(Translate("form-mobile", "Mobil nr."));
2434 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2435 BeginWriteAttribute("placeholder", " placeholder=\'", 215925, "\'", 216010, 1);
2436 WriteAttributeValue("", 215939, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 215939, 71, false);
2437 EndWriteAttribute();
2438 BeginWriteAttribute("value", " value=\'", 216011, "\'", 216051, 1);
2439 WriteAttributeValue("", 216019, UserContext.Current.User?.Phone, 216019, 32, false);
2440 EndWriteAttribute();
2441 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2442 Write(Translate("form-telephone", "Telefon nr."));
2443 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2444 BeginWriteAttribute("placeholder", " placeholder=\'", 216321, "\'", 216405, 1);
2445 WriteAttributeValue("", 216335, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 216335, 70, false);
2446 EndWriteAttribute();
2447 BeginWriteAttribute("value", " value=\'", 216406, "\'", 216446, 1);
2448 WriteAttributeValue("", 216414, UserContext.Current.User?.Phone, 216414, 32, false);
2449 EndWriteAttribute();
2450 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2451 Write(Translate("form-zip", "Post nr"));
2452 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2453 BeginWriteAttribute("placeholder", " placeholder=\'", 216762, "\'", 216840, 1);
2454 WriteAttributeValue("", 216776, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 216776, 64, false);
2455 EndWriteAttribute();
2456 BeginWriteAttribute("value", " value=\"", 216841, "\"", 216857, 1);
2457 WriteAttributeValue("", 216849, userZip, 216849, 8, false);
2458 EndWriteAttribute();
2459 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2460 Write(Translate("form-city", "By"));
2461 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>");
2462 Write(Translate("form-adresse", "Adresse"));
2463 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2464 BeginWriteAttribute("placeholder", " placeholder=\'", 217413, "\'", 217503, 1);
2465 WriteAttributeValue("", 217427, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 217427, 76, false);
2466 EndWriteAttribute();
2467 BeginWriteAttribute("value", " value=\"", 217504, "\"", 217524, 1);
2468 WriteAttributeValue("", 217512, userAddress, 217512, 12, false);
2469 EndWriteAttribute();
2470 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2471 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2472 WriteLiteral("</label>\r\n </div>\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\"");
2473 BeginWriteAttribute("placeholder", " placeholder=\'", 217850, "\'", 217928, 1);
2474 WriteAttributeValue("", 217864, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 217864, 64, false);
2475 EndWriteAttribute();
2476 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>");
2477 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2478 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\">");
2479 Write(Translate("KontaktMægler", "Kontakt Mægler"));
2480 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2481 Write(privacyPolicyText);
2482 WriteLiteral(" <a");
2483 BeginWriteAttribute("href", " href=\"", 218714, "\"", 218738, 2);
2484 WriteAttributeValue("", 218721, "mailto:", 218721, 7, true);
2485 WriteAttributeValue("", 218728, termsMail, 218728, 10, false);
2486 EndWriteAttribute();
2487 WriteLiteral(">");
2488 Write(termsMail);
2489 WriteLiteral("</a>.\r\n Læs mere på <a");
2490 BeginWriteAttribute("href", " href=\"", 218783, "\"", 218817, 1);
2491 WriteAttributeValue("", 218790, settings_Persondatapolitik, 218790, 27, false);
2492 EndWriteAttribute();
2493 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"gk\" />\r\n <input type=\"hidden\" name=\"origin\"");
2494 BeginWriteAttribute("value", " value=\"", 218960, "\"", 218968, 0);
2495 EndWriteAttribute();
2496 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2497 BeginWriteAttribute("value", " value=\"", 219018, "\"", 219033, 1);
2498 WriteAttributeValue("", 219026, userID, 219026, 7, false);
2499 EndWriteAttribute();
2500 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2501 BeginWriteAttribute("value", " value=\"", 219081, "\"", 219105, 1);
2502 WriteAttributeValue("", 219089, Pageview.AreaID, 219089, 16, false);
2503 EndWriteAttribute();
2504 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2505 BeginWriteAttribute("value", " value=\"", 219154, "\"", 219170, 1);
2506 WriteAttributeValue("", 219162, butikId, 219162, 8, false);
2507 EndWriteAttribute();
2508 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2509 BeginWriteAttribute("value", " value=\"", 219224, "\"", 219232, 0);
2510 EndWriteAttribute();
2511 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2512 BeginWriteAttribute("value", " value=\"", 219283, "\"", 219291, 0);
2513 EndWriteAttribute();
2514 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2515 BeginWriteAttribute("value", " value=\"", 219341, "\"", 219349, 0);
2516 EndWriteAttribute();
2517 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2518 BeginWriteAttribute("value", " value=\"", 219399, "\"", 219407, 0);
2519 EndWriteAttribute();
2520 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-maegler-guldkoeber\" style=\"display:none;\">\r\n <h2>");
2521 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2522 WriteLiteral("</h2>\r\n <p>");
2523 Write(Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:"));
2524 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2525 BeginWriteAttribute("src", " src=\"", 219769, "\"", 219775, 0);
2526 EndWriteAttribute();
2527 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2528 </div>
2529 <div class=""col-6"">
2530 <p class=""js-maegler-name""></p>
2531 <p class=""js-maegler-address""></p>
2532 <p class=""js-maegler-phone""></p>
2533 <p class=""js-maegler-mail""></p>
2534 </div>
2535 </div>
2536 <p>");
2537 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2538 WriteLiteral(@"</p>
2539 </div>
2540 </div>
2541
2542 <!-- BESTIL SALGSVURDERING -->
2543 <div id=""panel-salgsvurdering"" class=""panel panel-form"">
2544 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2545 <b></b>
2546 </button>
2547
2548 <form id=""bestil-salgsvurdering"" class=""buyer-advisor-form js-buyer-advisor-form"" method=""POST"" action=""/InboxHandler"">
2549 <h2 class=""js-buyer-advisor-header"">");
2550 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering"));
2551 WriteLiteral("</h2>\r\n <p>");
2552 Write(Translate("form-salgsvurdering-beskrivelse", ""));
2553 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>");
2554 Write(Translate("form-navn", "Navn"));
2555 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2556 BeginWriteAttribute("placeholder", " placeholder=\'", 220932, "\'", 221021, 1);
2557 WriteAttributeValue("", 220946, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 220946, 75, false);
2558 EndWriteAttribute();
2559 BeginWriteAttribute("value", " value=\'", 221022, "\'", 221061, 1);
2560 WriteAttributeValue("", 221030, UserContext.Current.User?.Name, 221030, 31, false);
2561 EndWriteAttribute();
2562 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2563 Write(Translate("form-email", "E-mail"));
2564 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2565 BeginWriteAttribute("placeholder", " placeholder=\'", 221325, "\'", 221417, 1);
2566 WriteAttributeValue("", 221339, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 221339, 78, false);
2567 EndWriteAttribute();
2568 BeginWriteAttribute("value", " value=\'", 221418, "\'", 221458, 1);
2569 WriteAttributeValue("", 221426, UserContext.Current.User?.Email, 221426, 32, false);
2570 EndWriteAttribute();
2571 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2572 Write(Translate("form-mobile", "Mobil nr."));
2573 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2574 BeginWriteAttribute("placeholder", " placeholder=\'", 221756, "\'", 221848, 1);
2575 WriteAttributeValue("", 221770, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 221770, 78, false);
2576 EndWriteAttribute();
2577 BeginWriteAttribute("value", " value=\'", 221849, "\'", 221889, 1);
2578 WriteAttributeValue("", 221857, UserContext.Current.User?.Phone, 221857, 32, false);
2579 EndWriteAttribute();
2580 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2581 Write(Translate("form-telephone", "Telefon nr."));
2582 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2583 BeginWriteAttribute("placeholder", " placeholder=\'", 222159, "\'", 222250, 1);
2584 WriteAttributeValue("", 222173, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 222173, 77, false);
2585 EndWriteAttribute();
2586 BeginWriteAttribute("value", " value=\'", 222251, "\'", 222291, 1);
2587 WriteAttributeValue("", 222259, UserContext.Current.User?.Phone, 222259, 32, false);
2588 EndWriteAttribute();
2589 WriteLiteral(" />\r\n </div>\r\n\r\n </div>\r\n\r\n <h3>");
2590 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2591 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2592 Write(Translate("form-zip", "Post nr"));
2593 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2594 BeginWriteAttribute("placeholder", " placeholder=\'", 222711, "\'", 222789, 1);
2595 WriteAttributeValue("", 222725, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 222725, 64, false);
2596 EndWriteAttribute();
2597 BeginWriteAttribute("value", " value=\"", 222790, "\"", 222806, 1);
2598 WriteAttributeValue("", 222798, userZip, 222798, 8, false);
2599 EndWriteAttribute();
2600 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2601 Write(Translate("form-city", "By"));
2602 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>");
2603 Write(Translate("form-adresse", "Adresse"));
2604 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2605 BeginWriteAttribute("placeholder", " placeholder=\'", 223360, "\'", 223450, 1);
2606 WriteAttributeValue("", 223374, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 223374, 76, false);
2607 EndWriteAttribute();
2608 BeginWriteAttribute("value", " value=\"", 223451, "\"", 223471, 1);
2609 WriteAttributeValue("", 223459, userAddress, 223459, 12, false);
2610 EndWriteAttribute();
2611 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2612 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2613 WriteLiteral(@"</label>
2614 </div>
2615
2616 <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"">
2617 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2618 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2619 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\"");
2620 BeginWriteAttribute("placeholder", " placeholder=\'", 224241, "\'", 224319, 1);
2621 WriteAttributeValue("", 224255, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 224255, 64, false);
2622 EndWriteAttribute();
2623 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>");
2624 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:"));
2625 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\"");
2626 BeginWriteAttribute("id", " id=\"", 224765, "\"", 224770, 0);
2627 EndWriteAttribute();
2628 WriteLiteral(" name=\"choose-broker\"");
2629 BeginWriteAttribute("value", " value=\"", 224792, "\"", 224800, 0);
2630 EndWriteAttribute();
2631 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2632 BeginWriteAttribute("for", " for=\"", 224866, "\"", 224872, 0);
2633 EndWriteAttribute();
2634 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");
2635 BeginWriteAttribute("src", " src=\"", 225118, "\"", 225124, 0);
2636 EndWriteAttribute();
2637 WriteLiteral(@" class=""img-fluid js-broker-image"">
2638 </div>
2639 <div class=""col-6"">
2640 <span class=""d-block"">
2641 <strong class=""js-choose-broker-name""></strong>
2642 </span>
2643 <span class=""js-choose-broker-address""></span>
2644 <input type=""hidden"" class=""js-choose-broker-phone""");
2645 BeginWriteAttribute("value", " value=\"", 225536, "\"", 225544, 0);
2646 EndWriteAttribute();
2647 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2648 BeginWriteAttribute("value", " value=\"", 225625, "\"", 225633, 0);
2649 EndWriteAttribute();
2650 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\">");
2651 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler"));
2652 WriteLiteral(@"</h3>
2653 <div class=""js-choose-broker col-12"">
2654 </div>
2655
2656 </div>
2657
2658 <div class=""form-group mt-4"">
2659 <div class=""checkbox"">
2660 <label>
2661 <input type=""checkbox"" name=""kontaktmigok"" required />
2662
2663 <span class=""consent-checkbox"">");
2664 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2665 WriteLiteral(@"</span>
2666
2667 </label>
2668 </div>
2669 </div>
2670 <div class=""form-group"">
2671 <div class=""row"">
2672 <div class=""col-12"">
2673 <button type=""submit"" class=""btn btn-green btn-block js-buyer-advisor-button"">");
2674 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering"));
2675 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2676 Write(privacyPolicyText);
2677 WriteLiteral(" <a");
2678 BeginWriteAttribute("href", " href=\"", 226793, "\"", 226817, 2);
2679 WriteAttributeValue("", 226800, "mailto:", 226800, 7, true);
2680 WriteAttributeValue("", 226807, termsMail, 226807, 10, false);
2681 EndWriteAttribute();
2682 WriteLiteral(">");
2683 Write(termsMail);
2684 WriteLiteral("</a>.\r\n Læs mere på <a");
2685 BeginWriteAttribute("href", " href=\"", 226862, "\"", 226896, 1);
2686 WriteAttributeValue("", 226869, settings_Persondatapolitik, 226869, 27, false);
2687 EndWriteAttribute();
2688 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\"");
2689 BeginWriteAttribute("value", " value=\"", 227073, "\"", 227081, 0);
2690 EndWriteAttribute();
2691 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2692 BeginWriteAttribute("value", " value=\"", 227131, "\"", 227146, 1);
2693 WriteAttributeValue("", 227139, userID, 227139, 7, false);
2694 EndWriteAttribute();
2695 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2696 BeginWriteAttribute("value", " value=\"", 227194, "\"", 227218, 1);
2697 WriteAttributeValue("", 227202, Pageview.AreaID, 227202, 16, false);
2698 EndWriteAttribute();
2699 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning\" name=\"boligvisning\"");
2700 BeginWriteAttribute("value", " value=\"", 227290, "\"", 227298, 0);
2701 EndWriteAttribute();
2702 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-butikid\" name=\"butikId\"");
2703 BeginWriteAttribute("value", " value=\"", 227381, "\"", 227389, 0);
2704 EndWriteAttribute();
2705 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-sagsnr\" name=\"sagsnr\"");
2706 BeginWriteAttribute("value", " value=\"", 227470, "\"", 227478, 0);
2707 EndWriteAttribute();
2708 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2709 BeginWriteAttribute("value", " value=\"", 227529, "\"", 227585, 1);
2710 WriteAttributeValue("", 227537, Dynamicweb.Context.Current.Request["ProductId"], 227537, 48, false);
2711 EndWriteAttribute();
2712 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2713 BeginWriteAttribute("value", " value=\"", 227639, "\"", 227647, 0);
2714 EndWriteAttribute();
2715 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2716 BeginWriteAttribute("value", " value=\"", 227698, "\"", 227706, 0);
2717 EndWriteAttribute();
2718 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2719 BeginWriteAttribute("value", " value=\"", 227756, "\"", 227764, 0);
2720 EndWriteAttribute();
2721 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2722 BeginWriteAttribute("value", " value=\"", 227814, "\"", 227822, 0);
2723 EndWriteAttribute();
2724 WriteLiteral(" />\r\n <input class=\"js-value-check\" type=\"hidden\" name=\"valueCheck\"");
2725 BeginWriteAttribute("value", " value=\"", 227897, "\"", 227905, 0);
2726 EndWriteAttribute();
2727 WriteLiteral(" />\r\n <input class=\"js-green-appraisal\" type=\"hidden\" name=\"greenAppraisal\"");
2728 BeginWriteAttribute("value", " value=\"", 227988, "\"", 227996, 0);
2729 EndWriteAttribute();
2730 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>");
2731 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2732 WriteLiteral("</h2>\r\n <p>");
2733 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:"));
2734 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2735 BeginWriteAttribute("src", " src=\"", 228358, "\"", 228364, 0);
2736 EndWriteAttribute();
2737 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2738 </div>
2739 <div class=""col-6"">
2740 <p class=""js-maegler-name""></p>
2741 <p class=""js-maegler-address""></p>
2742 <p class=""js-maegler-phone""></p>
2743 <p class=""js-maegler-mail""></p>
2744 </div>
2745 </div>
2746 <p>");
2747 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2748 WriteLiteral(@"</p>
2749 </div>
2750 </div>
2751
2752 <!-- BESTIL SALGSVURDERING GULDKØBER -->
2753 <div id=""panel-salgsvurdering-guldkoeber"" class=""panel panel-form"">
2754 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2755 <b></b>
2756 </button>
2757
2758 <form id=""bestil-salgsvurdering-guldkoeber"" method=""POST"" action=""/InboxHandler"">
2759 <h2>");
2760 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering"));
2761 WriteLiteral("</h2>\r\n <p>");
2762 Write(Translate("form-salgsvurdering-beskrivelse", ""));
2763 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>");
2764 Write(Translate("form-navn", "Navn"));
2765 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2766 BeginWriteAttribute("placeholder", " placeholder=\'", 229472, "\'", 229561, 1);
2767 WriteAttributeValue("", 229486, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 229486, 75, false);
2768 EndWriteAttribute();
2769 BeginWriteAttribute("value", " value=\'", 229562, "\'", 229601, 1);
2770 WriteAttributeValue("", 229570, UserContext.Current.User?.Name, 229570, 31, false);
2771 EndWriteAttribute();
2772 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2773 Write(Translate("form-email", "E-mail"));
2774 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2775 BeginWriteAttribute("placeholder", " placeholder=\'", 229865, "\'", 229957, 1);
2776 WriteAttributeValue("", 229879, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 229879, 78, false);
2777 EndWriteAttribute();
2778 BeginWriteAttribute("value", " value=\'", 229958, "\'", 229998, 1);
2779 WriteAttributeValue("", 229966, UserContext.Current.User?.Email, 229966, 32, false);
2780 EndWriteAttribute();
2781 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2782 Write(Translate("form-telephone", "Telefon nr."));
2783 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2784 BeginWriteAttribute("placeholder", " placeholder=\'", 230307, "\'", 230398, 1);
2785 WriteAttributeValue("", 230321, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 230321, 77, false);
2786 EndWriteAttribute();
2787 BeginWriteAttribute("value", " value=\'", 230399, "\'", 230439, 1);
2788 WriteAttributeValue("", 230407, UserContext.Current.User?.Phone, 230407, 32, false);
2789 EndWriteAttribute();
2790 WriteLiteral(" />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2791 Write(Translate("form-mobile", "Mobil nr."));
2792 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2793 BeginWriteAttribute("placeholder", " placeholder=\'", 230689, "\'", 230781, 1);
2794 WriteAttributeValue("", 230703, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 230703, 78, false);
2795 EndWriteAttribute();
2796 BeginWriteAttribute("value", " value=\'", 230782, "\'", 230822, 1);
2797 WriteAttributeValue("", 230790, UserContext.Current.User?.Phone, 230790, 32, false);
2798 EndWriteAttribute();
2799 WriteLiteral(" required />\r\n </div>\r\n </div>\r\n\r\n <h3>");
2800 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2801 WriteLiteral("</h3>\r\n\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2802 Write(Translate("form-zip", "Post nr"));
2803 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2804 BeginWriteAttribute("placeholder", " placeholder=\'", 231251, "\'", 231329, 1);
2805 WriteAttributeValue("", 231265, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 231265, 64, false);
2806 EndWriteAttribute();
2807 BeginWriteAttribute("value", " value=\"", 231330, "\"", 231346, 1);
2808 WriteAttributeValue("", 231338, userZip, 231338, 8, false);
2809 EndWriteAttribute();
2810 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2811 Write(Translate("form-city", "By"));
2812 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>");
2813 Write(Translate("form-adresse", "Adresse"));
2814 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2815 BeginWriteAttribute("placeholder", " placeholder=\'", 231900, "\'", 231990, 1);
2816 WriteAttributeValue("", 231914, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 231914, 76, false);
2817 EndWriteAttribute();
2818 BeginWriteAttribute("value", " value=\"", 231991, "\"", 232011, 1);
2819 WriteAttributeValue("", 231999, userAddress, 231999, 12, false);
2820 EndWriteAttribute();
2821 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2822 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2823 WriteLiteral(@"</label>
2824 </div>
2825
2826 <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"">
2827 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2828 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2829 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\"");
2830 BeginWriteAttribute("placeholder", " placeholder=\'", 232781, "\'", 232859, 1);
2831 WriteAttributeValue("", 232795, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 232795, 64, false);
2832 EndWriteAttribute();
2833 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>");
2834 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:"));
2835 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\"");
2836 BeginWriteAttribute("id", " id=\"", 233303, "\"", 233308, 0);
2837 EndWriteAttribute();
2838 WriteLiteral(" name=\"choose-broker-gk\"");
2839 BeginWriteAttribute("value", " value=\"", 233333, "\"", 233341, 0);
2840 EndWriteAttribute();
2841 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2842 BeginWriteAttribute("for", " for=\"", 233407, "\"", 233413, 0);
2843 EndWriteAttribute();
2844 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");
2845 BeginWriteAttribute("src", " src=\"", 233659, "\"", 233665, 0);
2846 EndWriteAttribute();
2847 WriteLiteral(@" class=""img-fluid js-broker-image"">
2848 </div>
2849 <div class=""col-6"">
2850 <span class=""d-block"">
2851 <strong class=""js-choose-broker-name""></strong>
2852 </span>
2853 <span class=""js-choose-broker-address""></span>
2854 <input type=""hidden"" class=""js-choose-broker-phone""");
2855 BeginWriteAttribute("value", " value=\"", 234077, "\"", 234085, 0);
2856 EndWriteAttribute();
2857 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2858 BeginWriteAttribute("value", " value=\"", 234166, "\"", 234174, 0);
2859 EndWriteAttribute();
2860 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\">");
2861 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler"));
2862 WriteLiteral(@"</h3>
2863 <div class=""js-choose-broker col-12"">
2864 </div>
2865
2866 </div>
2867
2868
2869 <div class=""form-group"">
2870 <div class=""row"">
2871 <div class=""col-12"">
2872 <button type=""submit"" class=""btn btn-green btn-block"">");
2873 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering"));
2874 WriteLiteral(@"</button>
2875 </div>
2876 </div>
2877 </div>
2878 <div class=""form-group"">
2879 <div class=""checkbox"">
2880 <label>
2881 <input type=""checkbox"" name=""kontaktmigok"" required />
2882
2883 <span>");
2884 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2885 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2886 Write(privacyPolicyText);
2887 WriteLiteral(" <a");
2888 BeginWriteAttribute("href", " href=\"", 235282, "\"", 235306, 2);
2889 WriteAttributeValue("", 235289, "mailto:", 235289, 7, true);
2890 WriteAttributeValue("", 235296, termsMail, 235296, 10, false);
2891 EndWriteAttribute();
2892 WriteLiteral(">");
2893 Write(termsMail);
2894 WriteLiteral("</a>.\r\n Læs mere på <a");
2895 BeginWriteAttribute("href", " href=\"", 235351, "\"", 235385, 1);
2896 WriteAttributeValue("", 235358, settings_Persondatapolitik, 235358, 27, false);
2897 EndWriteAttribute();
2898 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\"");
2899 BeginWriteAttribute("value", " value=\"", 235562, "\"", 235570, 0);
2900 EndWriteAttribute();
2901 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2902 BeginWriteAttribute("value", " value=\"", 235620, "\"", 235635, 1);
2903 WriteAttributeValue("", 235628, userID, 235628, 7, false);
2904 EndWriteAttribute();
2905 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2906 BeginWriteAttribute("value", " value=\"", 235683, "\"", 235707, 1);
2907 WriteAttributeValue("", 235691, Pageview.AreaID, 235691, 16, false);
2908 EndWriteAttribute();
2909 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning-gk\" name=\"boligvisning\"");
2910 BeginWriteAttribute("value", " value=\"", 235782, "\"", 235790, 0);
2911 EndWriteAttribute();
2912 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-butikid\" name=\"butikId\"");
2913 BeginWriteAttribute("value", " value=\"", 235876, "\"", 235884, 0);
2914 EndWriteAttribute();
2915 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-sagsnr\" name=\"sagsnr\"");
2916 BeginWriteAttribute("value", " value=\"", 235968, "\"", 235976, 0);
2917 EndWriteAttribute();
2918 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2919 BeginWriteAttribute("value", " value=\"", 236027, "\"", 236083, 1);
2920 WriteAttributeValue("", 236035, Dynamicweb.Context.Current.Request["ProductId"], 236035, 48, false);
2921 EndWriteAttribute();
2922 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2923 BeginWriteAttribute("value", " value=\"", 236137, "\"", 236145, 0);
2924 EndWriteAttribute();
2925 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2926 BeginWriteAttribute("value", " value=\"", 236196, "\"", 236204, 0);
2927 EndWriteAttribute();
2928 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2929 BeginWriteAttribute("value", " value=\"", 236254, "\"", 236262, 0);
2930 EndWriteAttribute();
2931 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2932 BeginWriteAttribute("value", " value=\"", 236312, "\"", 236320, 0);
2933 EndWriteAttribute();
2934 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>");
2935 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2936 WriteLiteral("</h2>\r\n <p>");
2937 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:"));
2938 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2939 BeginWriteAttribute("src", " src=\"", 236682, "\"", 236688, 0);
2940 EndWriteAttribute();
2941 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2942 </div>
2943 <div class=""col-6"">
2944 <p class=""js-maegler-name""></p>
2945 <p class=""js-maegler-address""></p>
2946 <p class=""js-maegler-phone""></p>
2947 <p class=""js-maegler-mail""></p>
2948 </div>
2949 </div>
2950 <p>");
2951 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2952 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");
2953
2954 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js"));
2955 WriteLiteral(" <script type=\"text/javascript\"");
2956 BeginWriteAttribute("src", " src=\'", 237489, "\'", 237593, 3);
2957 WriteAttributeValue("", 237495, TemplateUrl, 237495, 14, false);
2958 WriteAttributeValue("", 237509, "assets/webpack/js/3rdparty/viamapstrap.js?", 237509, 42, true);
2959 WriteAttributeValue("", 237551, viamapstrapFileInfo.LastWriteTime.Ticks, 237551, 42, false);
2960 EndWriteAttribute();
2961 WriteLiteral(" async></script>\r\n");
2962
2963 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js"));
2964 WriteLiteral(" <script type=\"text/javascript\"");
2965 BeginWriteAttribute("src", " src=\'", 237796, "\'", 237883, 3);
2966 WriteAttributeValue("", 237802, TemplateUrl, 237802, 14, false);
2967 WriteAttributeValue("", 237816, "assets/dist/bundle.app.min.js?", 237816, 30, true);
2968 WriteAttributeValue("", 237846, bundleFileInfo.LastWriteTime.Ticks, 237846, 37, false);
2969 EndWriteAttribute();
2970 WriteLiteral(" async></script>\r\n");
2971 WriteLiteral("\r\n ");
2972 Write(RenderSnippet("JavaScriptBottom"));
2973 WriteLiteral("\r\n\r\n");
2974 if (Context.Current.Request.QueryString["ShowLogin"] == "true")
2975 {
2976 WriteLiteral(" <input class=\"js-showLogin\" value=\"true\" />\r\n");
2977 }
2978 WriteLiteral("\r\n");
2979 if (!string.IsNullOrEmpty(settings_ConduzeId))
2980 {
2981 WriteLiteral(" <script type=\"text/javascript\" id=\"conduze-sdk\"");
2982 BeginWriteAttribute("src", " src=\"", 238207, "\"", 238268, 3);
2983 WriteAttributeValue("", 238213, "https://cdn.conduze.com/", 238213, 24, true);
2984 WriteAttributeValue("", 238237, settings_ConduzeId, 238237, 19, false);
2985 WriteAttributeValue("", 238256, "/tracking.js", 238256, 12, true);
2986 EndWriteAttribute();
2987 WriteLiteral(" async></script>\r\n");
2988 }
2989 WriteLiteral("\r\n");
2990 if (!string.IsNullOrEmpty(settings_Weply))
2991 {
2992 WriteLiteral(" <script");
2993 BeginWriteAttribute("src", " src=\"", 238367, "\"", 238418, 2);
2994 WriteAttributeValue("", 238373, "https://app.weply.chat/widget/", 238373, 30, true);
2995 WriteAttributeValue("", 238403, settings_Weply, 238403, 15, false);
2996 EndWriteAttribute();
2997 WriteLiteral(" async></script>\r\n");
2998 }
2999 WriteLiteral("\r\n</body>\r\n</html>\r\n\r\n");
3000 }
3001 #pragma warning restore 1998
3002
3003 void RenderErhvervsTypeCheckboxes(string productGroupFilter)
3004 {
3005 WriteLiteral(@" <div class=""col-xs-6 col-md-4"">
3006 <div class=""checkbox"">
3007 <label>
3008 <input type=""checkbox"" name=""propertytype"" value=""bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)"" />
3009 <span>Bolig/erhverv</span>
3010 </label>
3011 </div>
3012 <div class=""checkbox"">
3013 <label>
3014 <input type=""checkbox"" name=""propertytype"" value=""erhvervsgrund"" />
3015 <span>Erhvervsgrund</span>
3016 </label>
3017 </div>
3018 <div class=""checkbox"">
3019 <label>
3020 <input type=""checkbox"" name=""propertytype"" value=""boligudlejning"" />
3021 <span>Boligudlejningsejendom</span>
3022 </label>
3023 </div>
3024 <div class=""checkbox"">
3025 <label>
3026 <input type=""checkbox"" name=""propertytype"" value=""kontor, klinik, kontorhotel, showroom, under");
3027 WriteLiteral(@"visningslokaler"" />
3028 <span>Kontor</span>
3029 </label>
3030 </div>
3031 </div>
3032 <div class=""col-xs-6 col-md-4"">
3033 <div class=""checkbox"">
3034 <label>
3035 <input type=""checkbox"" name=""propertytype"" value=""butik / detail, butik / detailhandel"" />
3036 <span>Butik/detailhandel</span>
3037 </label>
3038 </div>
3039 <div class=""checkbox"">
3040 <label>
3041 <input type=""checkbox"" name=""propertytype"" value=""industri / logistik, håndværk, industri, kontor / lager, logistik"" />
3042 <span>Produktion/lager</span>
3043 </label>
3044 </div>
3045 <div class=""checkbox"">
3046 <label>
3047 <input type=""checkbox"" name=""propertytype"" value=""hotel - kursusejendom, restaurant"" />
3048 <span>Hotel og restaurant</span>
3049 </label>
3050 </div>
3051 <div c");
3052 WriteLiteral(@"lass=""checkbox"">
3053 <label>
3054 <input type=""checkbox"" name=""propertytype"" value=""projekt ejendom"" />
3055 <span>Projektejendom</span>
3056 </label>
3057 </div>
3058 </div>
3059 <div class=""col-xs-6 col-md-4"">
3060 <div class=""checkbox"">
3061 <label>
3062 <input type=""checkbox"" name=""propertytype"" value=""andet"" />
3063 <span>Andet</span>
3064 </label>
3065 </div>
3066 </div>
3067 ");
3068 WriteLiteral(" <input type=\"hidden\" name=\"propertycategory\" value=\"erhverv, udlejning\" />\r\n <input type=\"hidden\" name=\"filtrering\"");
3069 BeginWriteAttribute("value", " value=\"", 3445, "\"", 3472, 1);
3070 WriteAttributeValue("", 3453, productGroupFilter, 3453, 19, false);
3071 EndWriteAttribute();
3072 WriteLiteral(" />\r\n");
3073 }
3074 void RenderBoligtypeCheckboxes()
3075 {
3076 WriteLiteral(@" <div class=""col-6 col-md-4"">
3077 <div class=""checkbox"">
3078 <label>
3079 <input type=""checkbox"" name=""propertytype"" value=""villa"" />
3080 <span>Villa</span>
3081 </label>
3082 </div>
3083 <div class=""checkbox"">
3084 <label>
3085 <input type=""checkbox"" name=""propertytype"" value=""rækkehus"" />
3086 <span>Rækkehus</span>
3087 </label>
3088 </div>
3089 <div class=""checkbox"">
3090 <label>
3091 <input type=""checkbox"" name=""propertytype"" value=""villalejlighed"" />
3092 <span>Villalejlighed</span>
3093 </label>
3094 </div>
3095 <div class=""checkbox"">
3096 <label>
3097 <input type=""checkbox"" name=""propertytype"" value=""andelsbolig"" />
3098 <span>Andelsbolig</span>
3099 </label>
3100 </div>
3101 </div>
3102 <div class=""co");
3103 WriteLiteral(@"l-6 col-md-4"">
3104 <div class=""checkbox"">
3105 <label>
3106 <input type=""checkbox"" name=""propertytype"" value=""fritidshus, fritidsbolig"" />
3107 <span>Fritidsbolig</span>
3108 </label>
3109 </div>
3110 <div class=""checkbox"">
3111 <label>
3112 <input type=""checkbox"" name=""propertytype"" value=""ejerlejlighed"" class=""specialOption"" data-disable-slider=""#grundareal"" data-disable-slider-ranges=""#grundarealmin,#grundarealmax"" />
3113 <span>Ejerlejlighed</span>
3114 </label>
3115 </div>
3116 <div class=""checkbox"">
3117 <label>
3118 <input type=""checkbox"" name=""propertytype"" value=""helårsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" />
3119 <span>Helårsgrund</span>
3120 </label>
3121 </div>
3122 <div ");
3123 WriteLiteral(@"class=""checkbox"">
3124 <label>
3125 <input type=""checkbox"" name=""propertytype"" value=""fritidsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" />
3126 <span>Fritidsgrund</span>
3127 </label>
3128 </div>
3129 </div>
3130 <div class=""col-6 col-md-4"">
3131 <div class=""checkbox"">
3132 <label>
3133 <input type=""checkbox"" name=""propertytype"" value=""landejendom, lystejendom"" class=""specialOption"" data-disable-checkbox=""true"" />
3134 <span>Landejendom</span>
3135 </label>
3136 </div>
3137 <div class=""checkbox"">
3138 <label>
3139 <input type=""checkbox"" name=""propertytype"" value=""erhverv"" class=""specialOption"" data-disable-checkbox=""true"" data-disable-slider=""#roomsslider"" data-disable-slider-ranges=""#roomsmin"" />
3140 <span>Erhverv<");
3141 WriteLiteral("/span>\r\n </label>\r\n </div>\r\n </div>\r\n");
3142 }
3143
3144 void RenderChecked(string queryString)
3145 {
3146 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString)
3147 {
3148 Write("checked");
3149
3150 }
3151 }
3152
3153 void RenderBoligtypeCheckboxesDropdown()
3154 {
3155 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){
3156 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" },
3157 { "Andelsbolig", "andelsbolig" }
3158 };
3159 foreach (KeyValuePair<string, string> type in propertyTypes)
3160 {
3161 bool ischecked = false;
3162 string[] propertytypeSplit = new string[0];
3163 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3164 {
3165 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3166 }
3167 foreach (var propertytypeParams in propertytypeSplit)
3168 {
3169 if (propertytypeParams == type.Value)
3170 {
3171 ischecked = true;
3172 }
3173 }
3174 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3175 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3176 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertytype\"");
3177 BeginWriteAttribute("value", " value=\"", 8068, "\"", 8087, 1);
3178 WriteAttributeValue("", 8076, type.Value, 8076, 11, false);
3179 EndWriteAttribute();
3180 WriteLiteral(" class=\"js-input-check datavalue js-datavalue js-count\" data-val=\"");
3181 Write(type.Key);
3182 WriteLiteral("\" onchange=\"submitFilter()\"");
3183 BeginWriteAttribute("checked", " checked=\"", 8190, "\"", 8210, 1);
3184 WriteAttributeValue("", 8200, ischecked, 8200, 10, false);
3185 EndWriteAttribute();
3186 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3187 }
3188
3189 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){
3190 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" },
3191 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" }
3192 };
3193 foreach (KeyValuePair<string, string> type in propertyTypes2)
3194 {
3195 bool ischecked = false;
3196 string[] propertytypeSplit2 = new string[0];
3197 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3198 {
3199 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3200 }
3201 foreach (var propertytypeParams in propertytypeSplit2)
3202 {
3203 if (propertytypeParams == type.Value)
3204 {
3205 ischecked = true;
3206 }
3207 }
3208 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3209 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3210 WriteLiteral("\r\n");
3211 if (type.Value == "ejerlejlighed")
3212 {
3213 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3214 BeginWriteAttribute("value", " value=\"", 9634, "\"", 9653, 1);
3215 WriteAttributeValue("", 9642, type.Value, 9642, 11, false);
3216 EndWriteAttribute();
3217 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#grundareal\" data-disable-slider-ranges=\"#grundarealmin,#grundarealmax\" data-val=\"");
3218 Write(type.Key);
3219 WriteLiteral("\" onchange=\"submitFilter()\"");
3220 BeginWriteAttribute("checked", " checked=\"", 9827, "\"", 9847, 1);
3221 WriteAttributeValue("", 9837, ischecked, 9837, 10, false);
3222 EndWriteAttribute();
3223 WriteLiteral(" />\r\n");
3224 }
3225 else if (type.Value == "helårsgrund")
3226 {
3227 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3228 BeginWriteAttribute("value", " value=\"", 10024, "\"", 10043, 1);
3229 WriteAttributeValue("", 10032, type.Value, 10032, 11, false);
3230 EndWriteAttribute();
3231 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3232 Write(type.Key);
3233 WriteLiteral("\" onchange=\"submitFilter()\"");
3234 BeginWriteAttribute("checked", " checked=\"", 10240, "\"", 10260, 1);
3235 WriteAttributeValue("", 10250, ischecked, 10250, 10, false);
3236 EndWriteAttribute();
3237 WriteLiteral(" />\r\n");
3238 }
3239 else if (type.Value == "fritidsgrund")
3240 {
3241 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3242 BeginWriteAttribute("value", " value=\"", 10438, "\"", 10457, 1);
3243 WriteAttributeValue("", 10446, type.Value, 10446, 11, false);
3244 EndWriteAttribute();
3245 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3246 Write(type.Key);
3247 WriteLiteral("\" onchange=\"submitFilter()\"");
3248 BeginWriteAttribute("checked", " checked=\"", 10654, "\"", 10674, 1);
3249 WriteAttributeValue("", 10664, ischecked, 10664, 10, false);
3250 EndWriteAttribute();
3251 WriteLiteral(" />\r\n");
3252 }
3253 else
3254 {
3255 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3256 BeginWriteAttribute("value", " value=\"", 10818, "\"", 10837, 1);
3257 WriteAttributeValue("", 10826, type.Value, 10826, 11, false);
3258 EndWriteAttribute();
3259 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3260 Write(type.Key);
3261 WriteLiteral("\" onchange=\"submitFilter()\"");
3262 BeginWriteAttribute("checked", " checked=\"", 10918, "\"", 10938, 1);
3263 WriteAttributeValue("", 10928, ischecked, 10928, 10, false);
3264 EndWriteAttribute();
3265 WriteLiteral(" />\r\n");
3266 }
3267 WriteLiteral(" <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3268 }
3269 }
3270
3271 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false)
3272 {
3273 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3274 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" },
3275 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" }
3276 };
3277 var submitonchange = "";
3278 if (submitOnChange)
3279 {
3280 submitonchange = "onchange='submitFilter()'";
3281 }
3282
3283 foreach (KeyValuePair<string, string> type in erhverType)
3284 {
3285 string ischecked = "";
3286 string[] olineParamsSplit = new string[0];
3287 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3288 {
3289 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3290 }
3291 foreach (var olineParams in olineParamsSplit)
3292 {
3293 if (olineParams == type.Value)
3294 {
3295 ischecked = "checked";
3296 }
3297 }
3298
3299 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3300 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3301 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3302 BeginWriteAttribute("value", " value=\"", 12582, "\"", 12601, 1);
3303 WriteAttributeValue("", 12590, type.Value, 12590, 11, false);
3304 EndWriteAttribute();
3305 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3306 Write(type.Key);
3307 WriteLiteral("\" ");
3308 Write(submitonchange);
3309 WriteLiteral(" ");
3310 Write(ischecked);
3311 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3312 }
3313 }
3314
3315 void RenderBoligTypeErhvervInvest(bool submitOnChange = false)
3316 {
3317 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3318 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" },
3319 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" }
3320 };
3321
3322 foreach (KeyValuePair<string, string> type in erhverType)
3323 {
3324 bool ischecked = false;
3325 string[] olineParamsSplit = new string[0];
3326 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3327 {
3328 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3329 }
3330 foreach (var olineParams in olineParamsSplit)
3331 {
3332 if (olineParams == type.Value)
3333 {
3334 ischecked = true;
3335 }
3336 }
3337
3338 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n ");
3339 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3340 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3341 BeginWriteAttribute("value", " value=\"", 14192, "\"", 14211, 1);
3342 WriteAttributeValue("", 14200, type.Value, 14200, 11, false);
3343 EndWriteAttribute();
3344 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3345 Write(type.Key);
3346 WriteLiteral("\" onchange=\"submitFilter()\"");
3347 BeginWriteAttribute("checked", " checked=\"", 14292, "\"", 14312, 1);
3348 WriteAttributeValue("", 14302, ischecked, 14302, 10, false);
3349 EndWriteAttribute();
3350 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3351 }
3352 }
3353 int GetWebsiteSettingsPageId(string pageSysName)
3354 {
3355 int sideId = 0;
3356
3357 var pw = Dynamicweb.Frontend.PageView.Current();
3358
3359 string settingsItemId = "1";
3360
3361 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true")
3362 {
3363 settingsItemId = "2";
3364 }
3365
3366 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId);
3367
3368 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName))
3369 {
3370 return sideId;
3371 }
3372
3373 string boligsideLink = settingsItem[pageSysName] as String;
3374 string linkPrefix = "Default.aspx?ID=";
3375
3376 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3377 {
3378 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3379 }
3380
3381 return sideId;
3382 }
3383
3384 int GetPageSettingsPageId(string pageSysName)
3385 {
3386 int sideId = 0;
3387
3388 var pw = Dynamicweb.Frontend.PageView.Current();
3389
3390 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName))
3391 {
3392 return sideId;
3393 }
3394
3395 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String;
3396 string linkPrefix = "Default.aspx?ID=";
3397
3398 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3399 {
3400 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3401 }
3402
3403 return sideId;
3404 }
3405 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname)
3406 {
3407 WriteLiteral(" <select");
3408 BeginWriteAttribute("class", " class=\"", 16255, "\"", 16310, 5);
3409 WriteAttributeValue("", 16263, "form-control", 16263, 12, true);
3410 WriteAttributeValue(" ", 16275, "d-block", 16276, 8, true);
3411 WriteAttributeValue(" ", 16283, "d-lg-none", 16284, 10, true);
3412 WriteAttributeValue(" ", 16293, "mb-10", 16294, 6, true);
3413 WriteAttributeValue(" ", 16299, className, 16300, 10, false);
3414 EndWriteAttribute();
3415 WriteLiteral(" onchange=\"submitFilter()\"");
3416 BeginWriteAttribute("name", " name=\"", 16337, "\"", 16354, 1);
3417 WriteAttributeValue("", 16344, inputname, 16344, 10, false);
3418 EndWriteAttribute();
3419 WriteLiteral(">\r\n <option selected=\"true\" disabled=\"disabled\">");
3420 Write(Translate("Smartpage:Search.Placeholder." + name + "", "" + name + ""));
3421 WriteLiteral("</option>\r\n\r\n");
3422 for (var i = 0; i <= max; i += step)
3423 {
3424 var selected = string.Empty;
3425 var current = string.Empty;
3426 if (i == max)
3427 {
3428 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3429 {
3430 WriteLiteral(" <option");
3431 BeginWriteAttribute("value", " value=\"", 16950, "\"", 16960, 1);
3432 WriteAttributeValue("", 16958, i, 16958, 2, false);
3433 EndWriteAttribute();
3434 WriteLiteral(" data-value=\'");
3435 Write(Convert.ToInt32(i).ToString("N0"));
3436 WriteLiteral("\' selected=\"selected\">");
3437 Write(Convert.ToInt32(i).ToString("N0"));
3438 WriteLiteral("+</option>\r\n");
3439 }
3440 else
3441 {
3442 WriteLiteral(" <option");
3443 BeginWriteAttribute("value", " value=\"", 17179, "\"", 17189, 1);
3444 WriteAttributeValue("", 17187, i, 17187, 2, false);
3445 EndWriteAttribute();
3446 WriteLiteral(" data-value=\'");
3447 Write(Convert.ToInt32(i).ToString("N0"));
3448 WriteLiteral("\'>");
3449 Write(Convert.ToInt32(i).ToString("N0"));
3450 WriteLiteral("+</option>\r\n");
3451 }
3452 }
3453 else
3454 {
3455 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3456 {
3457 WriteLiteral(" <option");
3458 BeginWriteAttribute("value", " value=\"", 17613, "\"", 17623, 1);
3459 WriteAttributeValue("", 17621, i, 17621, 2, false);
3460 EndWriteAttribute();
3461 WriteLiteral(" data-value=\'");
3462 Write(Convert.ToInt32(i).ToString("N0"));
3463 WriteLiteral("\' selected=\"selected\">");
3464 Write(Convert.ToInt32(i).ToString("N0"));
3465 WriteLiteral("</option>\r\n");
3466 }
3467 else
3468 {
3469 WriteLiteral(" <option");
3470 BeginWriteAttribute("value", " value=\"", 17841, "\"", 17851, 1);
3471 WriteAttributeValue("", 17849, i, 17849, 2, false);
3472 EndWriteAttribute();
3473 WriteLiteral(" data-value=\'");
3474 Write(Convert.ToInt32(i).ToString("N0"));
3475 WriteLiteral("\'>");
3476 Write(Convert.ToInt32(i).ToString("N0"));
3477 WriteLiteral("</option>\r\n");
3478 }
3479 }
3480 }
3481 WriteLiteral(" </select>\r\n");
3482 }
3483
3484 void RenderTopFilter(string parameter)
3485 {
3486 if (parameter == "pricemin" || parameter == "pricemax")
3487 {
3488 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"]))
3489 {
3490 if (parameter == "pricemin")
3491 {
3492 Write("<div class='search-terms' id='priceFilter'>");
3493 Write("Pris ");
3494 Write(Dynamicweb.Context.Current.Request[parameter]);
3495
3496 }
3497
3498 else
3499 {
3500 Write(" - ");
3501 Write(Dynamicweb.Context.Current.Request[parameter]);
3502 Write(" kr.");
3503 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"pricemin,pricemax\"></i>\r\n");
3504 Write("</div>");
3505
3506 }
3507 }
3508 }
3509
3510 else if (parameter == "subsidymin" || parameter == "subsidymax")
3511 {
3512 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"]))
3513 {
3514 if (parameter == "subsidymin")
3515 {
3516 Write("<div class='search-terms' id='subsidyFilter'>");
3517 Write("Årlig leje ");
3518 Write(Dynamicweb.Context.Current.Request[parameter]);
3519
3520 }
3521
3522 else
3523 {
3524 Write(" - ");
3525 Write(Dynamicweb.Context.Current.Request[parameter]);
3526 Write(" kr.");
3527 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidymin,subsidymax\"></i>\r\n");
3528 Write("</div>");
3529
3530 }
3531 }
3532 }
3533 else if (parameter == "etagearealmin" || parameter == "etagearealmax")
3534 {
3535 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"]))
3536 {
3537 if (parameter == "etagearealmin")
3538 {
3539 Write("<div class='search-terms' id='etagearealFilter'>");
3540 Write("Etageareal ");
3541 Write(Dynamicweb.Context.Current.Request[parameter]);
3542
3543 }
3544
3545 else
3546 {
3547 Write(" - ");
3548 Write(Dynamicweb.Context.Current.Request[parameter]);
3549 Write(" kvm.");
3550 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"etagearealmin,etagearealmax\"></i>\r\n");
3551 Write("</div>");
3552
3553 }
3554 }
3555 }
3556
3557 else if (parameter == "grundarealmin" || parameter == "grundarealmax")
3558 {
3559 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"]))
3560 {
3561 if (parameter == "grundarealmin")
3562 {
3563 Write("<div class='search-terms' id='grundarealFilter'>");
3564 Write("Grundareal ");
3565 Write(Dynamicweb.Context.Current.Request[parameter]);
3566
3567 }
3568
3569 else
3570 {
3571 Write(" - ");
3572 Write(Dynamicweb.Context.Current.Request[parameter]);
3573 Write(" kvm.");
3574 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"grundarealmin,grundarealmax\"></i>\r\n");
3575 Write("</div>");
3576
3577 }
3578 }
3579 }
3580
3581 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax")
3582 {
3583 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"]))
3584 {
3585 if (parameter == "subsidykvmmin")
3586 {
3587 Write("<div class='search-terms' id='subsidykvmFilter'>");
3588 Write("Årlig leje kvm ");
3589 Write(Dynamicweb.Context.Current.Request[parameter]);
3590
3591 }
3592
3593 else
3594 {
3595 Write(" - ");
3596 Write(Dynamicweb.Context.Current.Request[parameter]);
3597 Write(" kr.");
3598 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidykvmmin,subsidykvmmax\"></i>\r\n");
3599 Write("</div>");
3600
3601 }
3602 }
3603 }
3604
3605 else if (parameter == "olinecategory")
3606 {
3607
3608 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"]))
3609 {
3610 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3611 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" },
3612 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"},
3613 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" },
3614 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" }
3615 };
3616
3617
3618 foreach (var er in erhverType)
3619 {
3620 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3621 {
3622 WriteLiteral(" <div class=\"search-terms\"");
3623 BeginWriteAttribute("id", " id=\"", 23021, "\"", 23036, 1);
3624 WriteAttributeValue("", 23026, parameter, 23026, 10, false);
3625 EndWriteAttribute();
3626 WriteLiteral(">\r\n ");
3627 Write(er.Value);
3628 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3629 Write(parameter);
3630 WriteLiteral("\" data-val=\"");
3631 Write(er.Key);
3632 WriteLiteral("\"></i>\r\n </div>\r\n");
3633 }
3634 }
3635 }
3636 }
3637 else if (parameter == "search")
3638 {
3639 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"]))
3640 {
3641 WriteLiteral(" <div class=\"search-terms\"");
3642 BeginWriteAttribute("id", " id=\"", 23484, "\"", 23499, 1);
3643 WriteAttributeValue("", 23489, parameter, 23489, 10, false);
3644 EndWriteAttribute();
3645 WriteLiteral(">\r\n ");
3646 Write(Dynamicweb.Context.Current.Request[parameter]);
3647 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3648 Write(parameter);
3649 WriteLiteral("\"></i>\r\n </div>\r\n");
3650 }
3651 }
3652 else
3653 {
3654 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]))
3655 {
3656 Dictionary<string, string>
3657 ubudsform = new Dictionary<string, string>
3658 (){
3659 {"salg", "Salg" }, { "leje","Leje" }
3660 };
3661
3662 foreach (var er in ubudsform)
3663 {
3664 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3665 {
3666 WriteLiteral(" <div class=\"search-terms\"");
3667 BeginWriteAttribute("id", " id=\"", 24648, "\"", 24663, 1);
3668 WriteAttributeValue("", 24653, parameter, 24653, 10, false);
3669 EndWriteAttribute();
3670 WriteLiteral(">\r\n ");
3671 Write(er.Value);
3672 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3673 Write(parameter);
3674 WriteLiteral("\" data-val=\"");
3675 Write(er.Key);
3676 WriteLiteral("\"></i>\r\n </div>\r\n");
3677 }
3678 }
3679
3680
3681 }
3682 }
3683 }
3684
3685 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString)
3686 {
3687 var selected = "";
3688 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue)
3689 {
3690 selected = "selected";
3691 }
3692
3693 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected);
3694
3695 Write(current);
3696
3697 }
3698
3699 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "")
3700 {
3701 WriteLiteral(" <div");
3702 BeginWriteAttribute("class", " class=\"", 25667, "\"", 25713, 3);
3703 WriteAttributeValue("", 25675, "main-search-form", 25675, 16, true);
3704 WriteAttributeValue(" ", 25691, "frontpage", 25692, 10, true);
3705 WriteAttributeValue(" ", 25701, cssClasses, 25702, 11, false);
3706 EndWriteAttribute();
3707 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>");
3708 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
3709 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>");
3710 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
3711 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\"");
3712 BeginWriteAttribute("value", " value=\'", 26428, "\'", 26449, 1);
3713 WriteAttributeValue("", 26436, searchPageId, 26436, 13, false);
3714 EndWriteAttribute();
3715 WriteLiteral(@" id=""searchPageId-frontpage"" disabled=""disabled"" />
3716 <div class=""row form-wrapper no-gutters"">
3717
3718 <div class=""col-xs-12 col-md-5 col-searchbar"">
3719 <div class=""searchbar"">
3720 <input type=""text""");
3721 BeginWriteAttribute("name", " name=\"", 26727, "\"", 26754, 1);
3722 WriteAttributeValue("", 26734, querySearchNameAttr, 26734, 20, false);
3723 EndWriteAttribute();
3724 WriteLiteral(" id=\"searchfield-frontpage\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
3725 BeginWriteAttribute("value", " value=\"", 26867, "\"", 26945, 1);
3726 WriteAttributeValue("", 26875, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 26875, 70, false);
3727 EndWriteAttribute();
3728 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom-frontpage\" name=\"zipcodefrom\"");
3729 BeginWriteAttribute("value", " value=\"", 27045, "\"", 27128, 1);
3730 WriteAttributeValue("", 27053, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 27053, 75, false);
3731 EndWriteAttribute();
3732 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto-frontpage\" name=\"zipcodeto\"");
3733 BeginWriteAttribute("value", " value=\"", 27224, "\"", 27305, 1);
3734 WriteAttributeValue("", 27232, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 27232, 73, false);
3735 EndWriteAttribute();
3736 WriteLiteral(@" />
3737 </div>
3738 </div>
3739 <div class=""col-xs-12 col-md-5"">
3740 <div class=""row no-gutters"">
3741 <div class=""col-xs-12 col-md-6 input-col"">
3742 <div class=""dropdown w-overlay"">
3743 <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"">
3744 ");
3745 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
3746 WriteLiteral(@"
3747 </button>
3748 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
3749 <ul class=""bolig-dropdown list-unstyled"">
3750 ");
3751
3752 RenderBoligtypeCheckboxesDropdown();
3753 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
3754 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3755 WriteLiteral(@"</button>
3756 </div>
3757
3758 </div>
3759
3760 </div>
3761 <div class=""col-xs-12 col-md-6 input-col"">
3762 <div class=""dropdown w-overlay"">
3763 <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"">
3764 ");
3765 Write(Translate("Smartpage:Search.Pris", "Pris"));
3766 WriteLiteral(@"
3767 </button>
3768 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris"">
3769 <input type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
3770 BeginWriteAttribute("placeholder", " placeholder=\'", 29484, "\'", 29560, 1);
3771 WriteAttributeValue("", 29498, Translate("Smartpage:Search.Placeholder.MinPris","Min. pris"), 29498, 62, false);
3772 EndWriteAttribute();
3773 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3774 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
3775 WriteLiteral("</option>\r\n");
3776 for (var i = 0; i <= 10000000; i += 100000)
3777 {
3778 if (i == 10000000)
3779 {
3780 WriteLiteral(" <option");
3781 BeginWriteAttribute("value", " value=\"", 30169, "\"", 30179, 1);
3782 WriteAttributeValue("", 30177, i, 30177, 2, false);
3783 EndWriteAttribute();
3784 WriteLiteral(" data-value=\'");
3785 Write(Convert.ToInt32(i).ToString("N0"));
3786 WriteLiteral("+\'>");
3787 Write(Convert.ToInt32(i).ToString("N0"));
3788 WriteLiteral("+</option>\r\n");
3789 }
3790 else
3791 {
3792 WriteLiteral(" <option");
3793 BeginWriteAttribute("value", " value=\"", 30491, "\"", 30501, 1);
3794 WriteAttributeValue("", 30499, i, 30499, 2, false);
3795 EndWriteAttribute();
3796 WriteLiteral(" data-value=\'");
3797 Write(Convert.ToInt32(i).ToString("N0"));
3798 WriteLiteral("\'>");
3799 Write(Convert.ToInt32(i).ToString("N0"));
3800 WriteLiteral("</option>\r\n");
3801 }
3802 }
3803 WriteLiteral(@" </select>
3804 <input type=""hidden"" id=""pricemin-frontpage"" name=""pricemin"" />
3805
3806 <input type=""text"" class=""form-control js-auto-thousand js-pricemax-frontpage-input""");
3807 BeginWriteAttribute("placeholder", " placeholder=\'", 30976, "\'", 31052, 1);
3808 WriteAttributeValue("", 30990, Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris"), 30990, 62, false);
3809 EndWriteAttribute();
3810 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3811 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
3812 WriteLiteral("</option>\r\n");
3813 for (var i = 0; i <= 10000000; i += 100000)
3814 {
3815 if (i == 10000000)
3816 {
3817 WriteLiteral(" <option");
3818 BeginWriteAttribute("value", " value=\"", 31655, "\"", 31665, 1);
3819 WriteAttributeValue("", 31663, i, 31663, 2, false);
3820 EndWriteAttribute();
3821 WriteLiteral(" data-value=\'");
3822 Write(Convert.ToInt32(i).ToString("N0"));
3823 WriteLiteral("+\'>");
3824 Write(Convert.ToInt32(i).ToString("N0"));
3825 WriteLiteral("+</option>\r\n");
3826 }
3827 else
3828 {
3829 WriteLiteral(" <option");
3830 BeginWriteAttribute("value", " value=\"", 31977, "\"", 31987, 1);
3831 WriteAttributeValue("", 31985, i, 31985, 2, false);
3832 EndWriteAttribute();
3833 WriteLiteral(" data-value=\'");
3834 Write(Convert.ToInt32(i).ToString("N0"));
3835 WriteLiteral("\'>");
3836 Write(Convert.ToInt32(i).ToString("N0"));
3837 WriteLiteral("</option>\r\n");
3838 }
3839 }
3840 WriteLiteral(" </select>\r\n <input type=\"hidden\" id=\"pricemax-frontpage\" name=\"pricemax\" />\r\n <button class=\"btn btn-primary js-close-dropdown mt-3\">");
3841 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3842 WriteLiteral(@"</button>
3843 </div>
3844 </div>
3845 </div>
3846 </div>
3847 </div>
3848 <div class=""col-xs-12 col-md-2 d-none d-md-block"">
3849 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
3850 Write(Translate("Smartpage:Search.Søg", "Søg"));
3851 WriteLiteral(@"</button>
3852 </div>
3853 </div>
3854
3855 <div class=""row moresearch-btn no-gutters"">
3856 <div class=""col-sm-12"">
3857 <div class=""row align-items-center no-gutters"">
3858 <div class=""col-12 col-md-4"">
3859 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch"" aria-expanded=""false"" aria-controls=""moreSearch"">
3860 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open"">");
3861 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
3862 WriteLiteral("</span> <span class=\"open\"><span class=\"js-filter-count\">0</span> ");
3863 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
3864 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\">");
3865 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
3866 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch\">\r\n <h4 class=\"mt-20\"><b>");
3867 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
3868 WriteLiteral(@"</b></h4>
3869 <div class=""row align-items-end mb-30"">
3870 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
3871 <div class=""filter-container row"">
3872 <label class=""d-block col-12"">");
3873 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
3874 WriteLiteral(@"</label>
3875 <div class=""col-6 pr-sm-0 pr-2"">
3876 <input type=""text"" name=""boligarealmin"" id=""boligarealmin-frontpage"" class=""form-control js-boligarealmin-frontpage-input js-count""");
3877 BeginWriteAttribute("placeholder", " placeholder=\'", 34853, "\'", 34925, 1);
3878 WriteAttributeValue("", 34867, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 34867, 58, false);
3879 EndWriteAttribute();
3880 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3881 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
3882 WriteLiteral("</option>\r\n");
3883 for (var i = 0; i <= 300; i += 10)
3884 {
3885 if (i == 300)
3886 {
3887 WriteLiteral(" <option");
3888 BeginWriteAttribute("value", " value=\"", 35532, "\"", 35542, 1);
3889 WriteAttributeValue("", 35540, i, 35540, 2, false);
3890 EndWriteAttribute();
3891 WriteLiteral(">");
3892 Write(i);
3893 WriteLiteral("+</option>\r\n");
3894 }
3895 else
3896 {
3897 WriteLiteral(" <option");
3898 BeginWriteAttribute("value", " value=\"", 35789, "\"", 35799, 1);
3899 WriteAttributeValue("", 35797, i, 35797, 2, false);
3900 EndWriteAttribute();
3901 WriteLiteral(">");
3902 Write(i);
3903 WriteLiteral("</option>\r\n");
3904 }
3905 }
3906 WriteLiteral(@" </select>
3907 </div>
3908 <div class=""col-6 pl-sm-0 pl-2"">
3909 <input type=""text"" name=""boligarealmax"" id=""boligarealmax-frontpage"" class=""form-control js-boligarealmax-frontpage-input js-count""");
3910 BeginWriteAttribute("placeholder", " placeholder=\'", 36272, "\'", 36344, 1);
3911 WriteAttributeValue("", 36286, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 36286, 58, false);
3912 EndWriteAttribute();
3913 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3914 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
3915 WriteLiteral("</option>\r\n");
3916 for (var i = 0; i <= 300; i += 10)
3917 {
3918 if (i == 300)
3919 {
3920 WriteLiteral(" <option");
3921 BeginWriteAttribute("value", " value=\"", 36951, "\"", 36961, 1);
3922 WriteAttributeValue("", 36959, i, 36959, 2, false);
3923 EndWriteAttribute();
3924 WriteLiteral(">");
3925 Write(i);
3926 WriteLiteral("+</option>\r\n");
3927 }
3928 else
3929 {
3930 WriteLiteral(" <option");
3931 BeginWriteAttribute("value", " value=\"", 37208, "\"", 37218, 1);
3932 WriteAttributeValue("", 37216, i, 37216, 2, false);
3933 EndWriteAttribute();
3934 WriteLiteral(">");
3935 Write(i);
3936 WriteLiteral("</option>\r\n");
3937 }
3938 }
3939 WriteLiteral(@" </select>
3940 </div>
3941 </div>
3942 </div>
3943 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
3944 <div class=""filter-container row"">
3945 <label class=""d-block col-12"">");
3946 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
3947 WriteLiteral(@"</label>
3948 <div class=""col-6 pr-sm-0 pr-2"">
3949 <input type=""text"" name=""grundarealmin"" id=""grundarealmin-frontpage"" class=""form-control js-grundarealmin-frontpage-input js-count""");
3950 BeginWriteAttribute("placeholder", " placeholder=\'", 38067, "\'", 38139, 1);
3951 WriteAttributeValue("", 38081, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 38081, 58, false);
3952 EndWriteAttribute();
3953 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3954 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
3955 WriteLiteral("</option>\r\n");
3956 for (var i = 0; i <= 10000; i += 100)
3957 {
3958 if (i == 10000)
3959 {
3960 WriteLiteral(" <option");
3961 BeginWriteAttribute("value", " value=\"", 38751, "\"", 38761, 1);
3962 WriteAttributeValue("", 38759, i, 38759, 2, false);
3963 EndWriteAttribute();
3964 WriteLiteral(">");
3965 Write(i);
3966 WriteLiteral("+</option>\r\n");
3967 }
3968 else
3969 {
3970 WriteLiteral(" <option");
3971 BeginWriteAttribute("value", " value=\"", 39008, "\"", 39018, 1);
3972 WriteAttributeValue("", 39016, i, 39016, 2, false);
3973 EndWriteAttribute();
3974 WriteLiteral(">");
3975 Write(i);
3976 WriteLiteral("</option>\r\n");
3977 }
3978 }
3979 WriteLiteral(@" </select>
3980 </div>
3981 <div class=""col-6 pl-sm-0 pl-2"">
3982 <input type=""text"" name=""grundarealmax"" id=""grundarealmax-frontpage"" class=""form-control js-grundarealmax-frontpage-input js-count""");
3983 BeginWriteAttribute("placeholder", " placeholder=\'", 39491, "\'", 39563, 1);
3984 WriteAttributeValue("", 39505, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 39505, 58, false);
3985 EndWriteAttribute();
3986 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3987 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
3988 WriteLiteral("</option>\r\n");
3989 for (var i = 0; i <= 10000; i += 100)
3990 {
3991 if (i == 10000)
3992 {
3993 WriteLiteral(" <option");
3994 BeginWriteAttribute("value", " value=\"", 40175, "\"", 40185, 1);
3995 WriteAttributeValue("", 40183, i, 40183, 2, false);
3996 EndWriteAttribute();
3997 WriteLiteral(">");
3998 Write(i);
3999 WriteLiteral("+</option>\r\n");
4000 }
4001 else
4002 {
4003 WriteLiteral(" <option");
4004 BeginWriteAttribute("value", " value=\"", 40432, "\"", 40442, 1);
4005 WriteAttributeValue("", 40440, i, 40440, 2, false);
4006 EndWriteAttribute();
4007 WriteLiteral(">");
4008 Write(i);
4009 WriteLiteral("</option>\r\n");
4010 }
4011 }
4012 WriteLiteral(@" </select>
4013 </div>
4014 </div>
4015 </div>
4016 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4017 <div class=""filter-container row"">
4018 <label class=""d-block col-12"">Antal rum</label>
4019
4020 <div class=""col-6 pr-sm-0 pr-2"">
4021 <select name=""roomsmin"" id=""roomsmin-frontpage"" class=""form-control reverse js-count"">
4022 <option selected=""true"" disabled=""disabled"">");
4023 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
4024 WriteLiteral(@"</option>
4025 <option value=""1"">1</option>
4026 <option value=""2"">2</option>
4027 <option value=""3"">3</option>
4028 <option value=""4"">4</option>
4029 <option value=""5+"">5+</option>
4030 </select>
4031 </div>
4032 <div class=""col-6 pl-sm-0 pl-2"">
4033 <select name=""roomsmax"" id=""roomsmax-frontpage"" class=""form-control reverse js-count"">
4034 <option selected=""true"" disabled=""disabled"">");
4035 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
4036 WriteLiteral(@"</option>
4037 <option value=""1"">1</option>
4038 <option value=""2"">2</option>
4039 <option value=""3"">3</option>
4040 <option value=""4"">4</option>
4041 <option value=""5+"">");
4042 Write(Translate("Smartpage:Rooms.5", "5"));
4043 WriteLiteral(@"</option>
4044 </select>
4045 </div>
4046 </div>
4047 </div>
4048 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4049 <div class=""row"">
4050 <div class=""col-12"">
4051 <div class=""filter-container"">
4052 <label class=""d-block"">Energimærke</label>
4053 <select name=""energylabel"" id=""energylabel-frontpage"" class=""form-control reverse js-count"">
4054 <option disabled selected=""selected"">");
4055 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
4056 WriteLiteral(@"</option>
4057 <option value=""01"">G</option>
4058 <option value=""02"">F</option>
4059 <option value=""03"">E</option>
4060 <option value=""04"">D</option>
4061 <option value=""05"">C</option>
4062 <option value=""06"">B</option>
4063 <option value=""07"">A</option>
4064 <option value=""08"">A2010</option>
4065 <option value=""09"">A2015</option>
4066 <option value=""10"">A2020+</option>
4067 </select>
4068 </div>
4069 </div>
4070 ");
4071 WriteLiteral(" </div>\r\n </div>\r\n <div class=\"col-12 col-sm-6 col-lg-3 mt-3\">\r\n <h4");
4072 BeginWriteAttribute("class", " class=\"", 44687, "\"", 44695, 0);
4073 EndWriteAttribute();
4074 WriteLiteral("><b>");
4075 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
4076 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
4077 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
4078 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\"");
4079 BeginWriteAttribute("placeholder", " placeholder=\'", 45251, "\'", 45325, 1);
4080 WriteAttributeValue("", 45265, Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK"), 45265, 60, false);
4081 EndWriteAttribute();
4082 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4083 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
4084 WriteLiteral("</option>\r\n");
4085 for (var i = 0; i <= 25000; i += 1250)
4086 {
4087 if (i == 25000)
4088 {
4089 WriteLiteral(" <option>");
4090 Write(Convert.ToInt32(i).ToString("N0"));
4091 WriteLiteral("+</option>\r\n");
4092 }
4093 else
4094 {
4095 WriteLiteral(" <option>");
4096 Write(Convert.ToInt32(i).ToString("N0"));
4097 WriteLiteral("</option>\r\n");
4098 }
4099 }
4100 WriteLiteral(@" </select>
4101 </div>
4102 <div class=""col-6 pl-sm-0 pl-2"">
4103 <input type=""text"" name=""subsidymax"" id=""subsidymax-frontpage"" class=""form-control js-subsidymax-frontpage-input js-count""");
4104 BeginWriteAttribute("placeholder", " placeholder=\'", 46710, "\'", 46784, 1);
4105 WriteAttributeValue("", 46724, Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK"), 46724, 60, false);
4106 EndWriteAttribute();
4107 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4108 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
4109 WriteLiteral("</option>\r\n");
4110 for (var i = 0; i <= 25000; i += 1250)
4111 {
4112 if (i == 25000)
4113 {
4114 WriteLiteral(" <option");
4115 BeginWriteAttribute("value", " value=\"", 47396, "\"", 47423, 1);
4116 WriteAttributeValue("", 47404, Convert.ToInt32(i), 47404, 19, false);
4117 EndWriteAttribute();
4118 WriteLiteral(">");
4119 Write(Convert.ToInt32(i).ToString("N0"));
4120 WriteLiteral("+</option>\r\n");
4121 }
4122 else
4123 {
4124 WriteLiteral(" <option");
4125 BeginWriteAttribute("value", " value=\"", 47702, "\"", 47729, 1);
4126 WriteAttributeValue("", 47710, Convert.ToInt32(i), 47710, 19, false);
4127 EndWriteAttribute();
4128 WriteLiteral(">");
4129 Write(Convert.ToInt32(i).ToString("N0"));
4130 WriteLiteral("</option>\r\n");
4131 }
4132 }
4133 WriteLiteral(@" </select>
4134 </div>
4135 </div>
4136 </div>
4137 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"">
4138 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
4139 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
4140 WriteLiteral(@"</button>
4141 </div>
4142 </div>
4143 </div>
4144 </div>
4145 </div>
4146
4147 <div class=""row d-block d-md-none form-wrapper no-gutters"">
4148 <div class=""col-xs-12 col-md-2"">
4149 <button type=""submit"" class=""btn btn-block btn-search btn-mobile-search"">");
4150 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4151 WriteLiteral(@"<i class=""fa fa-search cta-icon""></i></button>
4152 </div>
4153 </div>
4154 </form>
4155 <div class=""front-page-actions d-md-none"">
4156 <div>
4157 <button class=""btn btn-block btn-search btn-mobile-search js-search-mobile"">");
4158 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4159 WriteLiteral("<i class=\"fa fa-search cta-icon\"></i></button>\r\n </div>\r\n <div>\r\n");
4160
4161 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : "";
4162 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER");
4163 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\"");
4164 BeginWriteAttribute("value", " value=\"", 49672, "\"", 49695, 1);
4165 WriteAttributeValue("", 49680, brokerSearchId, 49680, 15, false);
4166 EndWriteAttribute();
4167 WriteLiteral(@" type=""hidden"" />
4168 <div class=""icon-wrapper-wclick"">
4169 <i class=""fas fa-search ta-submit-on-icon-click""></i>
4170 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text""");
4171 BeginWriteAttribute("placeholder", " placeholder=\"", 49999, "\"", 50021, 1);
4172 WriteAttributeValue("", 50013, ctaText, 50013, 8, false);
4173 EndWriteAttribute();
4174 WriteLiteral(" onfocus=\"this.placeholder = \'\'\"");
4175 BeginWriteAttribute("onblur", " onblur=\"", 50054, "\"", 50090, 3);
4176 WriteAttributeValue("", 50063, "this.placeholder=\'", 50063, 18, true);
4177 WriteAttributeValue("", 50081, ctaText, 50081, 8, false);
4178 WriteAttributeValue("", 50089, "\'", 50089, 1, true);
4179 EndWriteAttribute();
4180 WriteLiteral(" />\r\n </div>\r\n </form>\r\n");
4181 WriteLiteral(" </div>\r\n <div>\r\n <a href=\"javascript:panelSalgsvurdering(\'Hovedmenu\')\" class=\"btn btn-orange btn-block\">");
4182 Write(Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING"));
4183 WriteLiteral("<i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n");
4184
4185 }
4186 Custom.Integration.Brokers.Models.BrokerEmployee GetBrokerFromCurrentProduct()
4187 {
4188 string productId = Dynamicweb.Context.Current.Request["ProductId"];
4189
4190 if (string.IsNullOrWhiteSpace(productId))
4191 {
4192 return null;
4193 }
4194
4195 var propertyProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, string.Empty, true);
4196 if (propertyProduct == null)
4197 {
4198 return null;
4199 }
4200
4201 string employee = Dynamicweb.Core.Converter.ToString(
4202 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xAktoererMaeglerKontaktEmail")
4203 );
4204 string storeId = Dynamicweb.Core.Converter.ToString(
4205 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xButikID")
4206 );
4207
4208 if (string.IsNullOrWhiteSpace(employee) || string.IsNullOrWhiteSpace(storeId))
4209 {
4210 return null;
4211 }
4212
4213 return Custom.Integration.Brokers.Search.GetEmployee(storeId, employee);
4214 }
4215
4216 string GetAgentTitleFromCurrentProduct()
4217 {
4218 var propBroker = GetBrokerFromCurrentProduct();
4219
4220 if (propBroker?.Broker == null)
4221 {
4222 return string.Empty;
4223 }
4224
4225 if (!string.IsNullOrEmpty(propBroker.Broker.CompanyName))
4226 {
4227 return propBroker.Broker.CompanyName;
4228 }
4229
4230 return propBroker.Broker.Name ?? string.Empty;
4231 }
4232
4233 string GetMasterBrokerUrlFromCurrentProduct()
4234 {
4235 var propBroker = GetBrokerFromCurrentProduct();
4236
4237 var itemId = propBroker?.Broker?.ItemId;
4238 var itemType = propBroker?.Broker?.ItemType;
4239
4240 if (string.IsNullOrWhiteSpace(itemId) || string.IsNullOrWhiteSpace(itemType))
4241 {
4242 return string.Empty;
4243 }
4244 var brokerItem = Dynamicweb.Content.Items.ItemManager.Storage.GetById(itemType, itemId);
4245
4246 if (brokerItem == null)
4247 {
4248 return string.Empty;
4249 }
4250
4251 var websiteId = Dynamicweb.Core.Converter.ToInt32(brokerItem["WebsiteId"]);
4252 var page = Dynamicweb.Content.Services.Pages.GetFirstPageForArea(websiteId);
4253 return Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("Default.aspx?Id=" + page?.ID);
4254 }
4255
4256 void RenderSlideMenu(bool erhverv, string maeglersoegning)
4257 {
4258 WriteLiteral(" <div id=\"menu\" \r\n class=\"main-menu-slide \"\r\n role=\"navigation\"");
4259 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 53272, "\"", 53388, 1);
4260 WriteAttributeValue("", 53299, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.MainMenu", "Hovedmenu")), 53299, 89, false);
4261 EndWriteAttribute();
4262 WriteLiteral(@"
4263 aria-modal=""true"">
4264 <div class=""container"">
4265 <div class=""row"">
4266 <div class=""col-12"">
4267 <span class=""menu-headline"">MENU</span>
4268 </div>
4269 <div class=""menu-slide""
4270 role=""button""
4271 tabindex=""0""");
4272 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 53753, "\"", 53881, 1);
4273 WriteAttributeValue("", 53792, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.CloseMenu", "Luk menu")), 53792, 89, false);
4274 EndWriteAttribute();
4275 WriteLiteral(">\r\n <b aria-hidden=\"true\"></b>\r\n </div>\r\n <div class=\"col-12 main-slidemenu\" role=\"region\"");
4276 BeginWriteAttribute("aria-label", " aria-label=\"", 54033, "\"", 54149, 1);
4277 WriteAttributeValue("", 54046, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.NavigationLinks", "Navigationslinks")), 54046, 103, false);
4278 EndWriteAttribute();
4279 WriteLiteral(">\r\n");
4280
4281 var navigationSettings = new NavigationSettings();
4282 navigationSettings.StartLevel = 1;
4283 navigationSettings.StopLevel = 2;
4284 navigationSettings.ExpandMode = ExpandMode.All;
4285 navigationSettings.RootAreaId = Pageview.Area.ID;
4286
4287 Write(Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings));
4288 WriteLiteral(" </div>\r\n <div class=\"col-12 bottom-btns\">\r\n\r\n");
4289
4290 string[] maeglerid;
4291 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0";
4292
4293 if (erhverv)
4294 {
4295 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None);
4296 }
4297 else
4298 {
4299 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None);
4300 }
4301
4302 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\" role=\"search\">\r\n <input name=\"id\"");
4303 BeginWriteAttribute("value", " value=\"", 55646, "\"", 55667, 1);
4304 WriteAttributeValue("", 55654, maeglerid[1], 55654, 13, false);
4305 EndWriteAttribute();
4306 WriteLiteral(" type=\"hidden\" />\r\n <div class=\"icon-wrapper-wclick\">\r\n <label for=\"broker-search-menu-vm\" class=\"sr-only\">");
4307 Write(Translate("Custom:Accessibility.FindBroker", "Find mægler"));
4308 WriteLiteral(@"</label>
4309 <i class=""fas fa-search ta-submit-on-icon-click""
4310 aria-hidden=""true""
4311 role=""button""
4312 tabindex=""0""");
4313 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 56162, "\"", 56315, 1);
4314 WriteAttributeValue("", 56215, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.SearchBroker", "Søg efter mægler")), 56215, 100, false);
4315 EndWriteAttribute();
4316 WriteLiteral(@"></i>
4317 <input id=""broker-search-menu-vm""
4318 class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter""
4319 name=""q""
4320 type=""text""");
4321 BeginWriteAttribute("placeholder", " \r\n placeholder=\"", 56623, "\"", 56774, 1);
4322 WriteAttributeValue("", 56682, HtmlEncoder.HtmlAttributeEncode(Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER")), 56682, 92, false);
4323 EndWriteAttribute();
4324 BeginWriteAttribute("aria-label", " \r\n aria-label=\"", 56775, "\"", 56971, 1);
4325 WriteAttributeValue("", 56833, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.BrokerSearchField", "Indtast postnummer eller navn for at finde mægler")), 56833, 138, false);
4326 EndWriteAttribute();
4327 WriteLiteral("\r\n onfocus=\"this.placeholder = \'FIND MÆGLER\'\" />\r\n </div>\r\n </form>\r\n");
4328 WriteLiteral(" <br />\r\n");
4329
4330 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + "";
4331 WriteLiteral(" <a");
4332 BeginWriteAttribute("href", " href=\"", 57381, "\"", 57452, 5);
4333 WriteAttributeValue("", 57388, "javascript:panelSalgsvurdering(\'", 57388, 32, true);
4334 WriteAttributeValue("", 57420, dpmaegler, 57420, 10, false);
4335 WriteAttributeValue("", 57430, "\',\'", 57430, 3, true);
4336 WriteAttributeValue("", 57433, Pageview.AreaID, 57433, 16, false);
4337 WriteAttributeValue("", 57449, "\');", 57449, 3, true);
4338 EndWriteAttribute();
4339 WriteLiteral(" \r\n class=\"btn btn-block btn-default-invert js-close-menu\"");
4340 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 57537, "\"", 57693, 1);
4341 WriteAttributeValue("", 57578, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.FreeSalesAssessment", "Få gratis salgsvurdering")), 57578, 115, false);
4342 EndWriteAttribute();
4343 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");
4344 }
4345
4346 void RenderBlockList(List<Block> blocks)
4347 {
4348 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4349 blocks = blocks.OrderBy(item => item.SortId).ToList();
4350
4351 foreach (Block item in blocks)
4352 {
4353 if (debug) {
4354 WriteLiteral(" <!-- Block START: ");
4355 Write(item.Id);
4356 WriteLiteral(" -->\r\n");
4357 }
4358
4359 if (item.Design == null)
4360 {
4361 RenderBlock(item);
4362 }
4363 else if (item.Design.RenderType == RenderType.None) {
4364 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4365
4366 WriteLiteral(" <div");
4367 BeginWriteAttribute("class", " class=\"", 58948, "\"", 58972, 2);
4368 WriteAttributeValue("", 58956, cssClass, 58956, 9, false);
4369 WriteAttributeValue(" ", 58965, "dw-mod", 58966, 7, true);
4370 EndWriteAttribute();
4371 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4372 }
4373 else if (item.Design.RenderType != RenderType.Hide)
4374 {
4375 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4376
4377 if (!item.SkipRenderBlocksList) {
4378 if (item.Design.RenderType == RenderType.Row)
4379 {
4380 WriteLiteral(" <div");
4381 BeginWriteAttribute("class", " class=\"", 59399, "\"", 59454, 4);
4382 WriteAttributeValue("", 59407, "grid", 59407, 4, true);
4383 WriteAttributeValue(" ", 59411, "grid--align-content-start", 59412, 26, true);
4384 WriteAttributeValue(" ", 59437, cssClass, 59438, 9, false);
4385 WriteAttributeValue(" ", 59447, "dw-mod", 59448, 7, true);
4386 EndWriteAttribute();
4387 BeginWriteAttribute("id", " id=\"", 59455, "\"", 59475, 2);
4388 WriteAttributeValue("", 59460, "Block__", 59460, 7, true);
4389 WriteAttributeValue("", 59467, item.Id, 59467, 8, false);
4390 EndWriteAttribute();
4391 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4392 }
4393
4394 if (item.Design.RenderType == RenderType.Column)
4395 {
4396 string hidePadding = item.Design.HidePadding ? "u-no-padding" : "";
4397 string size = item.Design.Size ?? "12";
4398 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size;
4399
4400 WriteLiteral(" <div");
4401 BeginWriteAttribute("class", " class=\"", 59971, "\"", 60102, 9);
4402 WriteAttributeValue("", 59979, "grid__col-lg-", 59979, 13, true);
4403 WriteAttributeValue("", 59992, item.Design.Size, 59992, 17, false);
4404 WriteAttributeValue(" ", 60009, "grid__col-md-", 60010, 14, true);
4405 WriteAttributeValue("", 60023, item.Design.Size, 60023, 17, false);
4406 WriteAttributeValue(" ", 60040, "grid__col-sm-12", 60041, 16, true);
4407 WriteAttributeValue(" ", 60056, "grid__col-xs-12", 60057, 16, true);
4408 WriteAttributeValue(" ", 60072, hidePadding, 60073, 12, false);
4409 WriteAttributeValue(" ", 60085, cssClass, 60086, 9, false);
4410 WriteAttributeValue(" ", 60095, "dw-mod", 60096, 7, true);
4411 EndWriteAttribute();
4412 BeginWriteAttribute("id", " id=\"", 60103, "\"", 60123, 2);
4413 WriteAttributeValue("", 60108, "Block__", 60108, 7, true);
4414 WriteAttributeValue("", 60115, item.Id, 60115, 8, false);
4415 EndWriteAttribute();
4416 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4417 }
4418
4419 if (item.Design.RenderType == RenderType.Table)
4420 {
4421 WriteLiteral(" <table");
4422 BeginWriteAttribute("class", " class=\"", 60354, "\"", 60384, 3);
4423 WriteAttributeValue("", 60362, "table", 60362, 5, true);
4424 WriteAttributeValue(" ", 60367, cssClass, 60368, 9, false);
4425 WriteAttributeValue(" ", 60377, "dw-mod", 60378, 7, true);
4426 EndWriteAttribute();
4427 BeginWriteAttribute("id", " id=\"", 60385, "\"", 60405, 2);
4428 WriteAttributeValue("", 60390, "Block__", 60390, 7, true);
4429 WriteAttributeValue("", 60397, item.Id, 60397, 8, false);
4430 EndWriteAttribute();
4431 WriteLiteral(">\r\n RenderBlock(item);\r\n </table>\r\n");
4432 }
4433
4434 if (item.Design.RenderType == RenderType.TableRow)
4435 {
4436 WriteLiteral(" <tr");
4437 BeginWriteAttribute("class", " class=\"", 60638, "\"", 60662, 2);
4438 WriteAttributeValue("", 60646, cssClass, 60646, 9, false);
4439 WriteAttributeValue(" ", 60655, "dw-mod", 60656, 7, true);
4440 EndWriteAttribute();
4441 BeginWriteAttribute("id", " id=\"", 60663, "\"", 60683, 2);
4442 WriteAttributeValue("", 60668, "Block__", 60668, 7, true);
4443 WriteAttributeValue("", 60675, item.Id, 60675, 8, false);
4444 EndWriteAttribute();
4445 WriteLiteral(">\r\n RenderBlock(item);\r\n </tr>\r\n");
4446 }
4447
4448 if (item.Design.RenderType == RenderType.TableColumn)
4449 {
4450 WriteLiteral(" <td");
4451 BeginWriteAttribute("class", " class=\"", 60916, "\"", 60940, 2);
4452 WriteAttributeValue("", 60924, cssClass, 60924, 9, false);
4453 WriteAttributeValue(" ", 60933, "dw-mod", 60934, 7, true);
4454 EndWriteAttribute();
4455 BeginWriteAttribute("id", " id=\"", 60941, "\"", 60961, 2);
4456 WriteAttributeValue("", 60946, "Block__", 60946, 7, true);
4457 WriteAttributeValue("", 60953, item.Id, 60953, 8, false);
4458 EndWriteAttribute();
4459 WriteLiteral(">\r\n RenderBlock(item);\r\n </td>\r\n");
4460 }
4461
4462 if (item.Design.RenderType == RenderType.CardHeader)
4463 {
4464 WriteLiteral(" <div");
4465 BeginWriteAttribute("class", " class=\"", 61194, "\"", 61230, 3);
4466 WriteAttributeValue("", 61202, "card-header", 61202, 11, true);
4467 WriteAttributeValue(" ", 61213, cssClass, 61214, 9, false);
4468 WriteAttributeValue(" ", 61223, "dw-mod", 61224, 7, true);
4469 EndWriteAttribute();
4470 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4471 }
4472
4473 if (item.Design.RenderType == RenderType.CardBody)
4474 {
4475 WriteLiteral(" <div");
4476 BeginWriteAttribute("class", " class=\"", 61462, "\"", 61491, 3);
4477 WriteAttributeValue("", 61470, "card", 61470, 4, true);
4478 WriteAttributeValue(" ", 61474, cssClass, 61475, 9, false);
4479 WriteAttributeValue(" ", 61484, "dw-mod", 61485, 7, true);
4480 EndWriteAttribute();
4481 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4482 }
4483
4484 if (item.Design.RenderType == RenderType.CardFooter)
4485 {
4486 WriteLiteral(" <div");
4487 BeginWriteAttribute("class", " class=\"", 61725, "\"", 61761, 3);
4488 WriteAttributeValue("", 61733, "card-footer", 61733, 11, true);
4489 WriteAttributeValue(" ", 61744, cssClass, 61745, 9, false);
4490 WriteAttributeValue(" ", 61754, "dw-mod", 61755, 7, true);
4491 EndWriteAttribute();
4492 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4493 }
4494 }
4495 else
4496 {
4497 RenderBlock(item);
4498 }
4499 }
4500
4501 if (debug) {
4502 WriteLiteral(" <!-- Block END: ");
4503 Write(item.Id);
4504 WriteLiteral(" -->\r\n");
4505 }
4506 }
4507 }
4508
4509 void RenderBlock(Block item)
4510 {
4511 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4512
4513 if (item.Template != null)
4514 {
4515 Write(BlocksPage.RenderTemplate(item.Template));
4516
4517 }
4518
4519 if (item.Component != null)
4520 {
4521 string customSufix = "Custom";
4522 string methodName = item.Component.HelperName;
4523
4524 ComponentBase[] methodParameters = new ComponentBase[1];
4525 methodParameters[0] = item.Component;
4526 Type methodType = this.GetType();
4527
4528 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix);
4529 MethodInfo generalMethod = methodType.GetMethod(methodName);
4530
4531 try {
4532 if (debug) {
4533 WriteLiteral(" <!-- Component: ");
4534 Write(methodName.Replace("Render", ""));
4535 WriteLiteral(" -->\r\n");
4536 }
4537 Write(customMethod.Invoke(this, methodParameters).ToString());
4538 ;
4539 } catch {
4540 try {
4541 Write(generalMethod.Invoke(this, methodParameters).ToString());
4542
4543 ;
4544 } catch(Exception ex) {
4545 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex);
4546 }
4547 }
4548 }
4549
4550 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList)
4551 {
4552 RenderBlockList(item.BlocksList);
4553 }
4554 }
4555
4556 void Render(ComponentBase component)
4557 {
4558 if (component != null)
4559 {
4560 Write(component.Render(this));
4561
4562 }
4563 }
4564
4565 void RenderIcon(Icon settings)
4566 {
4567 if (settings != null)
4568 {
4569 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4570
4571 if (settings.Name != null)
4572 {
4573 if (string.IsNullOrEmpty(settings.Label))
4574 {
4575 WriteLiteral(" <i");
4576 BeginWriteAttribute("class", " class=\"", 64657, "\"", 64715, 3);
4577 WriteAttributeValue("", 64665, settings.Prefix, 64665, 16, false);
4578 WriteAttributeValue(" ", 64681, settings.Name, 64682, 14, false);
4579 WriteAttributeValue(" ", 64696, settings.CssClass, 64697, 18, false);
4580 EndWriteAttribute();
4581 WriteLiteral(" ");
4582 Write(color);
4583 WriteLiteral("></i>\r\n");
4584 }
4585 else
4586 {
4587 if (settings.LabelPosition == IconLabelPosition.Before)
4588 {
4589 WriteLiteral(" <div");
4590 BeginWriteAttribute("class", " class=\"", 64918, "\"", 64978, 3);
4591 WriteAttributeValue("", 64926, "u-flex", 64926, 6, true);
4592 WriteAttributeValue(" ", 64932, "u-flex--align-items-center", 64933, 27, true);
4593 WriteAttributeValue(" ", 64959, settings.CssClass, 64960, 18, false);
4594 EndWriteAttribute();
4595 WriteLiteral(">");
4596 Write(settings.Label);
4597 WriteLiteral(" <i");
4598 BeginWriteAttribute("class", " class=\"", 64998, "\"", 65051, 3);
4599 WriteAttributeValue("", 65006, settings.Prefix, 65006, 16, false);
4600 WriteAttributeValue(" ", 65022, settings.Name, 65023, 14, false);
4601 WriteAttributeValue(" ", 65037, "u-margin-left", 65038, 14, true);
4602 EndWriteAttribute();
4603 WriteLiteral(" ");
4604 Write(color);
4605 WriteLiteral("></i></div>\r\n");
4606 }
4607 else
4608 {
4609 WriteLiteral(" <div");
4610 BeginWriteAttribute("class", " class=\"", 65172, "\"", 65232, 3);
4611 WriteAttributeValue("", 65180, "u-flex", 65180, 6, true);
4612 WriteAttributeValue(" ", 65186, "u-flex--align-items-center", 65187, 27, true);
4613 WriteAttributeValue(" ", 65213, settings.CssClass, 65214, 18, false);
4614 EndWriteAttribute();
4615 WriteLiteral("><i");
4616 BeginWriteAttribute("class", " class=\"", 65236, "\"", 65302, 4);
4617 WriteAttributeValue("", 65244, settings.Prefix, 65244, 16, false);
4618 WriteAttributeValue(" ", 65260, settings.Name, 65261, 14, false);
4619 WriteAttributeValue(" ", 65275, "u-margin-right--lg", 65276, 19, true);
4620 WriteAttributeValue(" ", 65294, "u-w20px", 65295, 8, true);
4621 EndWriteAttribute();
4622 WriteLiteral(" ");
4623 Write(color);
4624 WriteLiteral("></i>");
4625 Write(settings.Label);
4626 WriteLiteral("</div>\r\n");
4627 }
4628 }
4629 }
4630 else if (!string.IsNullOrEmpty(settings.Label))
4631 {
4632 Write(settings.Label);
4633
4634 }
4635 }
4636 }
4637
4638 void RenderButton(Button settings)
4639 {
4640 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4641 {
4642 Dictionary<string, string> attributes = new Dictionary<string, string>();
4643 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4644 if (settings.Disabled) {
4645 attributes.Add("disabled", "true");
4646 classList.Add("disabled");
4647 }
4648
4649 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle))
4650 {
4651 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
4652 RenderConfirmDialog(settings);
4653 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true";
4654 }
4655
4656 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4657 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4658 if (!string.IsNullOrEmpty(settings.AltText))
4659 {
4660 attributes.Add("title", settings.AltText);
4661 }
4662 else if (!string.IsNullOrEmpty(settings.Title))
4663 {
4664 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty);
4665 cleanTitle = cleanTitle.Replace(" ", " ");
4666 attributes.Add("title", cleanTitle);
4667 }
4668
4669 var onClickEvents = new List<string>();
4670 if (!string.IsNullOrEmpty(settings.OnClick))
4671 {
4672 onClickEvents.Add(settings.OnClick);
4673 }
4674 if (!string.IsNullOrEmpty(settings.Href))
4675 {
4676 if (settings.Href.Contains("javascript"))
4677 {
4678 settings.Href = settings.Href.Replace("http://", "");
4679 }
4680 onClickEvents.Add("location.href='" + settings.Href + "'");
4681 }
4682 if (onClickEvents.Count > 0)
4683 {
4684 attributes.Add("onClick", string.Join(";", onClickEvents));
4685 }
4686
4687 if (settings.ButtonLayout != ButtonLayout.None)
4688 {
4689 classList.Add("btn");
4690 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4691 if (btnLayout == "linkclean")
4692 {
4693 btnLayout = "link-clean"; //fix
4694 }
4695 classList.Add("btn--" + btnLayout);
4696 }
4697
4698 if (settings.Icon == null)
4699 {
4700 settings.Icon = new Icon();
4701 }
4702
4703 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : "";
4704 settings.Icon.Label = settings.Title;
4705
4706 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower());
4707
4708 WriteLiteral(" <button");
4709 BeginWriteAttribute("class", " class=\"", 68895, "\"", 68938, 2);
4710 WriteAttributeValue("", 68903, string.Join(" ", classList), 68903, 28, false);
4711 WriteAttributeValue(" ", 68931, "dw-mod", 68932, 7, true);
4712 EndWriteAttribute();
4713 WriteLiteral(" ");
4714 Write(ComponentMethods.AddAttributes(attributes));
4715 WriteLiteral(" ");
4716 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4717 WriteLiteral(">");
4718 RenderIcon(settings.Icon);WriteLiteral("</button>\r\n");
4719 }
4720 }
4721
4722 void RenderConfirmDialog(Button settings)
4723 {
4724 Modal confirmDialog = new Modal {
4725 Id = settings.Id,
4726 Width = ModalWidth.Sm,
4727 Heading = new Heading
4728 {
4729 Level = 2,
4730 Title = settings.ConfirmTitle
4731 },
4732 BodyText = settings.ConfirmText
4733 };
4734
4735 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"});
4736 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick });
4737
4738 RenderModal(confirmDialog);
4739 }
4740
4741 void RenderLink(Link settings)
4742 {
4743 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4744 {
4745 Dictionary<string, string> attributes = new Dictionary<string, string>();
4746 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4747 if (settings.Disabled)
4748 {
4749 attributes.Add("disabled", "true");
4750 classList.Add("disabled");
4751 }
4752
4753 if (!string.IsNullOrEmpty(settings.AltText))
4754 {
4755 attributes.Add("title", settings.AltText);
4756 }
4757 else if (!string.IsNullOrEmpty(settings.Title))
4758 {
4759 attributes.Add("title", settings.Title);
4760 }
4761
4762 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4763 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4764 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); }
4765 attributes.Add("href", settings.Href);
4766
4767 if (settings.ButtonLayout != ButtonLayout.None)
4768 {
4769 classList.Add("btn");
4770 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4771 if (btnLayout == "linkclean")
4772 {
4773 btnLayout = "link-clean"; //fix
4774 }
4775 classList.Add("btn--" + btnLayout);
4776 }
4777
4778 if (settings.Icon == null)
4779 {
4780 settings.Icon = new Icon();
4781 }
4782 settings.Icon.Label = settings.Title;
4783
4784 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None)
4785 {
4786 settings.Rel = LinkRelType.Noopener;
4787 }
4788 if (settings.Target != LinkTargetType.None)
4789 {
4790 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower());
4791 }
4792 if (settings.Download)
4793 {
4794 attributes.Add("download", "true");
4795 }
4796 if (settings.Rel != LinkRelType.None)
4797 {
4798 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower());
4799 }
4800
4801 WriteLiteral(" <a");
4802 BeginWriteAttribute("class", " class=\"", 72670, "\"", 72713, 2);
4803 WriteAttributeValue("", 72678, string.Join(" ", classList), 72678, 28, false);
4804 WriteAttributeValue(" ", 72706, "dw-mod", 72707, 7, true);
4805 EndWriteAttribute();
4806 WriteLiteral(" ");
4807 Write(ComponentMethods.AddAttributes(attributes));
4808 WriteLiteral(" ");
4809 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4810 WriteLiteral(">Render(settings.Icon);</a>\r\n");
4811 }
4812 }
4813
4814 void RenderRating(Rating settings)
4815 {
4816 if (settings.Score > 0)
4817 {
4818 int rating = settings.Score;
4819 string iconType = "fa-star";
4820
4821 switch (settings.Type.ToString()) {
4822 case "Stars":
4823 iconType = "fa-star";
4824 break;
4825 case "Hearts":
4826 iconType = "fa-heart";
4827 break;
4828 case "Lemons":
4829 iconType = "fa-lemon";
4830 break;
4831 case "Bombs":
4832 iconType = "fa-bomb";
4833 break;
4834 }
4835
4836 WriteLiteral(" <div class=\"u-ta-right\">\r\n");
4837 for (int i = 0; i < settings.OutOf; i++)
4838 {
4839 WriteLiteral(" <i");
4840 BeginWriteAttribute("class", " class=\"", 73847, "\"", 73894, 2);
4841 WriteAttributeValue("", 73855, rating > i ? "fas" : "far", 73855, 29, false);
4842 WriteAttributeValue(" ", 73884, iconType, 73885, 9, false);
4843 EndWriteAttribute();
4844 WriteLiteral("></i>\r\n");
4845 }
4846 WriteLiteral(" </div>\r\n");
4847 }
4848 }
4849
4850 void RenderNavigation(Navigation settings) {
4851 RenderNavigation(new
4852 {
4853 id = settings.Id,
4854 cssclass = settings.CssClass,
4855 startLevel = settings.StartLevel,
4856 endlevel = settings.EndLevel,
4857 expandmode = settings.Expandmode,
4858 sitemapmode = settings.SitemapMode,
4859 template = settings.Template
4860 });
4861 }
4862
4863 void RenderLeftNavigation(LeftNavigation settings) {
4864 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id;
4865 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template;
4866 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel;
4867 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel;
4868 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode;
4869
4870 WriteLiteral(" <div class=\"grid__cell\">\r\n RenderNavigation(settings);\r\n </div> \r\n");
4871 }
4872
4873 void RenderHeading(Heading settings)
4874 {
4875 if (settings != null && !string.IsNullOrEmpty(settings.Title))
4876 {
4877 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4878 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div";
4879
4880 Write("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">");
4881
4882 if (!string.IsNullOrEmpty(settings.Link))
4883 {
4884 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None });
4885 }
4886 else
4887 {
4888 if (settings.Icon == null)
4889 {
4890 settings.Icon = new Icon();
4891 }
4892 settings.Icon.Label = settings.Title;
4893 RenderIcon(settings.Icon);
4894 }
4895 Write("</" + tagName + ">");
4896 ;
4897 }
4898 }
4899
4900 void RenderImage(Image settings)
4901 {
4902 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None)
4903 {
4904 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
4905 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); }
4906
4907 if (settings.Caption != null)
4908 {
4909 WriteLiteral(" ");
4910 WriteLiteral("<div>\r\n");
4911 }
4912
4913 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower();
4914 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower();
4915
4916 WriteLiteral(" <div");
4917 BeginWriteAttribute("class", " class=\"", 77375, "\"", 77456, 5);
4918 WriteAttributeValue("", 77383, "image-filter", 77383, 12, true);
4919 WriteAttributeValue(" ", 77395, "image-filter--", 77396, 15, true);
4920 WriteAttributeValue("", 77410, primaryFilterClass, 77410, 19, false);
4921 WriteAttributeValue(" ", 77429, "u-position-relative", 77430, 20, true);
4922 WriteAttributeValue(" ", 77449, "dw-mod", 77450, 7, true);
4923 EndWriteAttribute();
4924 WriteLiteral(" ");
4925 Write(ComponentMethods.AddAttributes(optionalAttributes));
4926 WriteLiteral(">\r\n <div");
4927 BeginWriteAttribute("class", " class=\"", 77536, "\"", 77599, 4);
4928 WriteAttributeValue("", 77544, "image-filter", 77544, 12, true);
4929 WriteAttributeValue(" ", 77556, "image-filter--", 77557, 15, true);
4930 WriteAttributeValue("", 77571, secondaryFilterClass, 77571, 21, false);
4931 WriteAttributeValue(" ", 77592, "dw-mod", 77593, 7, true);
4932 EndWriteAttribute();
4933 WriteLiteral(">\r\n");
4934 if (settings.Link != null)
4935 {
4936 WriteLiteral(" <a");
4937 BeginWriteAttribute("href", " href=\"", 77713, "\"", 77734, 1);
4938 WriteAttributeValue("", 77720, settings.Link, 77720, 14, false);
4939 EndWriteAttribute();
4940 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
4941 }
4942 else
4943 {
4944 RenderTheImage(settings);
4945 }
4946 WriteLiteral(" </div>\r\n </div>\r\n");
4947
4948 if (settings.Caption != null)
4949 {
4950 WriteLiteral(" <span class=\"image-caption dw-mod\">");
4951 Write(settings.Caption);
4952 WriteLiteral("</span>\r\n ");
4953 WriteLiteral("</div>\r\n");
4954 }
4955 }
4956 else
4957 {
4958 if (settings.Caption != null)
4959 {
4960 WriteLiteral(" ");
4961 WriteLiteral("<div>\r\n");
4962 }
4963 if (!string.IsNullOrEmpty(settings.Link))
4964 {
4965 WriteLiteral(" <a");
4966 BeginWriteAttribute("href", " href=\"", 78477, "\"", 78498, 1);
4967 WriteAttributeValue("", 78484, settings.Link, 78484, 14, false);
4968 EndWriteAttribute();
4969 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
4970 }
4971 else
4972 {
4973 RenderTheImage(settings);
4974 }
4975
4976 if (settings.Caption != null)
4977 {
4978 WriteLiteral(" <span class=\"image-caption dw-mod\">");
4979 Write(settings.Caption);
4980 WriteLiteral("</span>\r\n ");
4981 WriteLiteral("</div>\r\n");
4982 }
4983 }
4984 }
4985
4986 void RenderTheImage(Image settings)
4987 {
4988 if (settings != null)
4989 {
4990 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg";
4991 string placeholderImage = "/Files/Images/placeholder.gif";
4992 string imageEngine = "/Admin/Public/GetImage.ashx?";
4993
4994 string imageStyle = "";
4995
4996 switch (settings.Style)
4997 {
4998 case ImageStyle.Ball:
4999 imageStyle = "grid__cell-img--ball";
5000 break;
5001
5002 case ImageStyle.Triangle:
5003 imageStyle = "grid__cell-img--triangle";
5004 break;
5005 }
5006
5007 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle)
5008 {
5009 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop;
5010
5011 if (settings.ImageDefault != null)
5012 {
5013 settings.ImageDefault.Height = settings.ImageDefault.Width;
5014 }
5015 if (settings.ImageMedium != null)
5016 {
5017 settings.ImageMedium.Height = settings.ImageMedium.Width;
5018 }
5019 if (settings.ImageSmall != null)
5020 {
5021 settings.ImageSmall.Height = settings.ImageSmall.Width;
5022 }
5023 }
5024
5025 string defaultImage = imageEngine;
5026 string imageSmall = "";
5027 string imageMedium = "";
5028
5029 if (settings.DisableImageEngine)
5030 {
5031 defaultImage = settings.Path;
5032 }
5033 else
5034 {
5035 if (settings.ImageDefault != null)
5036 {
5037 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault);
5038
5039 if (settings.Path.GetType() != typeof(string))
5040 {
5041 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5042 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5043 }
5044 else
5045 {
5046 defaultImage += settings.Path != null ? "Image=" + settings.Path : "";
5047 }
5048
5049 defaultImage += "&AlternativeImage=" + alternativeImage;
5050 }
5051
5052 if (settings.ImageSmall != null)
5053 {
5054 imageSmall = "data-src-small=\"" + imageEngine;
5055 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall);
5056
5057 if (settings.Path.GetType() != typeof(string))
5058 {
5059 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5060 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5061 }
5062 else
5063 {
5064 imageSmall += settings.Path != null ? "Image=" + settings.Path : "";
5065 }
5066
5067 imageSmall += "&alternativeImage=" + alternativeImage;
5068
5069 imageSmall += "\"";
5070 }
5071
5072 if (settings.ImageMedium != null)
5073 {
5074 imageMedium = "data-src-medium=\"" + imageEngine;
5075 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium);
5076
5077 if (settings.Path.GetType() != typeof(string))
5078 {
5079 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5080 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5081 }
5082 else
5083 {
5084 imageMedium += settings.Path != null ? "Image=" + settings.Path : "";
5085 }
5086
5087 imageMedium += "&alternativeImage=" + alternativeImage;
5088
5089 imageMedium += "\"";
5090 }
5091 }
5092
5093 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5094 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); }
5095 if (!string.IsNullOrEmpty(settings.Title))
5096 {
5097 optionalAttributes.Add("alt", settings.Title);
5098 optionalAttributes.Add("title", settings.Title);
5099 }
5100
5101 if (settings.DisableLazyLoad)
5102 {
5103 WriteLiteral(" <img");
5104 BeginWriteAttribute("id", " id=\"", 83977, "\"", 83994, 1);
5105 WriteAttributeValue("", 83982, settings.Id, 83982, 12, false);
5106 EndWriteAttribute();
5107 BeginWriteAttribute("class", " class=\"", 83995, "\"", 84040, 3);
5108 WriteAttributeValue("", 84003, imageStyle, 84003, 11, false);
5109 WriteAttributeValue(" ", 84014, settings.CssClass, 84015, 18, false);
5110 WriteAttributeValue(" ", 84033, "dw-mod", 84034, 7, true);
5111 EndWriteAttribute();
5112 BeginWriteAttribute("src", " src=\"", 84041, "\"", 84060, 1);
5113 WriteAttributeValue("", 84047, defaultImage, 84047, 13, false);
5114 EndWriteAttribute();
5115 WriteLiteral(" ");
5116 Write(ComponentMethods.AddAttributes(optionalAttributes));
5117 WriteLiteral(" ");
5118 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5119 WriteLiteral(" />\r\n");
5120 }
5121 else
5122 {
5123
5124 WriteLiteral(" <img");
5125 BeginWriteAttribute("id", " id=\"", 84258, "\"", 84275, 1);
5126 WriteAttributeValue("", 84263, settings.Id, 84263, 12, false);
5127 EndWriteAttribute();
5128 BeginWriteAttribute("class", " class=\"", 84276, "\"", 84321, 3);
5129 WriteAttributeValue("", 84284, imageStyle, 84284, 11, false);
5130 WriteAttributeValue(" ", 84295, settings.CssClass, 84296, 18, false);
5131 WriteAttributeValue(" ", 84314, "dw-mod", 84315, 7, true);
5132 EndWriteAttribute();
5133 WriteLiteral(" loading=\"lazy\"");
5134 BeginWriteAttribute("src", " src=\"", 84337, "\"", 84356, 1);
5135 WriteAttributeValue("", 84343, defaultImage, 84343, 13, false);
5136 EndWriteAttribute();
5137 WriteLiteral(" ");
5138 Write(ComponentMethods.AddAttributes(optionalAttributes));
5139 WriteLiteral(" ");
5140 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5141 WriteLiteral(" />\r\n");
5142 }
5143 }
5144 }
5145
5146 void RenderHiddenField(HiddenField settings) {
5147 var attributes = new Dictionary<string, string>();
5148 attributes.Add("type", "hidden");
5149 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5150 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5151 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5152
5153 WriteLiteral(" <input ");
5154 Write(ComponentMethods.AddAttributes(attributes));
5155 WriteLiteral(" ");
5156 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5157 WriteLiteral("/>\r\n");
5158 }
5159
5160 void RenderRadioButtonField(RadioButtonField settings)
5161 {
5162 var attributes = new Dictionary<string, string>();
5163 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id))
5164 {
5165 settings.Id = Guid.NewGuid().ToString("N");
5166 }
5167
5168 /*base settings*/
5169 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5170 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); }
5171 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); }
5172 if (settings.Disabled) { attributes.Add("disabled", "true"); }
5173 if (settings.Required) { attributes.Add("required", "true"); }
5174 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5175 /*end*/
5176
5177 attributes.Add("type", "radio");
5178 if (settings.Checked) { attributes.Add("checked", "true"); }
5179 settings.CssClass = "form__control " + settings.CssClass;
5180 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5181
5182 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value);
5183
5184 WriteLiteral(" <div");
5185 BeginWriteAttribute("class", " class=\"", 86676, "\"", 86734, 3);
5186 WriteAttributeValue("", 86684, "form__field-group", 86684, 17, true);
5187 WriteAttributeValue(" ", 86701, settings.WrapperCssClass, 86702, 25, false);
5188 WriteAttributeValue(" ", 86727, "dw-mod", 86728, 7, true);
5189 EndWriteAttribute();
5190 WriteLiteral(">\r\n <input ");
5191 Write(ComponentMethods.AddAttributes(resultAttributes));
5192 WriteLiteral(" class=\"");
5193 Write(settings.CssClass);
5194 WriteLiteral(" dw-mod\" />\r\n");
5195 if (!string.IsNullOrEmpty(settings.Label))
5196 {
5197 WriteLiteral(" <label");
5198 BeginWriteAttribute("for", " for=\"", 86939, "\"", 86957, 1);
5199 WriteAttributeValue("", 86945, settings.Id, 86945, 12, false);
5200 EndWriteAttribute();
5201 WriteLiteral(" class=\"dw-mod\">");
5202 Write(settings.Label);
5203 WriteLiteral("</label>\r\n");
5204 }
5205 if (!string.IsNullOrEmpty(settings.HelpText))
5206 {
5207 WriteLiteral(" <small class=\"form__help-text\">");
5208 Write(settings.HelpText);
5209 WriteLiteral("</small>\r\n");
5210 }
5211 WriteLiteral(" Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5212 }
5213
5214 void RenderRadioButtonListField(RadioButtonListField settings)
5215 {
5216 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; }
5217
5218 WriteLiteral(" <div");
5219 BeginWriteAttribute("class", " class=\"", 87672, "\"", 87746, 4);
5220 WriteAttributeValue("", 87680, "form__field-group", 87680, 17, true);
5221 WriteAttributeValue(" ", 87697, settings.WrapperCssClass, 87698, 25, false);
5222 WriteAttributeValue(" ", 87723, "u-margin-bottom", 87724, 16, true);
5223 WriteAttributeValue(" ", 87739, "dw-mod", 87740, 7, true);
5224 EndWriteAttribute();
5225 WriteLiteral(" ");
5226 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5227 WriteLiteral(">\r\n");
5228 if (!string.IsNullOrEmpty(settings.Label))
5229 {
5230 WriteLiteral(" <label>");
5231 Write(settings.Label);
5232 WriteLiteral("</label>\r\n");
5233 }
5234 if (!string.IsNullOrEmpty(settings.HelpText))
5235 {
5236 WriteLiteral(" <small class=\"form__help-text\">");
5237 Write(settings.HelpText);
5238 WriteLiteral("</small>\r\n");
5239 }
5240 WriteLiteral("\r\n");
5241 foreach (var item in settings.Options)
5242 {
5243 if (settings.Required)
5244 {
5245 item.Required = true;
5246 }
5247 if (settings.Disabled)
5248 {
5249 item.Disabled = true;
5250 }
5251 if (!string.IsNullOrEmpty(settings.Name))
5252 {
5253 item.Name = settings.Name;
5254 }
5255 if (settings.Value != null && settings.Value == item.Value)
5256 {
5257 item.Checked = true;
5258 }
5259 if (!string.IsNullOrEmpty(settings.OnClick))
5260 {
5261 item.OnClick += settings.OnClick;
5262 }
5263 if (!string.IsNullOrEmpty(settings.OnChange))
5264 {
5265 item.OnChange += settings.OnChange;
5266 }
5267 if (!string.IsNullOrEmpty(settings.CssClass))
5268 {
5269 item.CssClass += settings.CssClass;
5270 }
5271 Render(item);
5272 }
5273 WriteLiteral("\r\n Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5274 }
5275
5276 void RenderForm(Form settings) {
5277 if (settings != null)
5278 {
5279 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5280 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); };
5281 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); };
5282 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); };
5283 var enctypes = new Dictionary<string, string>
5284 {
5285 { "multipart", "multipart/form-data" },
5286 { "text", "text/plain" },
5287 { "application", "application/x-www-form-urlencoded" }
5288 };
5289 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); };
5290 optionalAttributes.Add("method", settings.Method.ToString());
5291
5292 if (!string.IsNullOrEmpty(settings.FormStartMarkup))
5293 {
5294 Write(settings.FormStartMarkup);
5295
5296 }
5297 else
5298 {
5299 WriteLiteral(" ");
5300 WriteLiteral("<form class=\"");
5301 Write(settings.CssClass);
5302 WriteLiteral(" u-no-margin dw-mod\" ");
5303 Write(ComponentMethods.AddAttributes(optionalAttributes));
5304 WriteLiteral(" ");
5305 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5306 WriteLiteral(">\r\n");
5307 }
5308
5309 foreach (var field in settings.GetFields())
5310 {
5311 Render(field);
5312 }
5313
5314 WriteLiteral(" ");
5315 WriteLiteral("</form>\r\n");
5316 }
5317 }
5318
5319 void RenderText(Text settings)
5320 {
5321 Write(settings.Content);
5322
5323 }
5324
5325 void RenderContentModule(ContentModule settings) {
5326 if (!string.IsNullOrEmpty(settings.Content))
5327 {
5328 Write(settings.Content);
5329
5330 }
5331 }
5332
5333 void RenderModal(Modal settings) {
5334 if (settings != null)
5335 {
5336 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
5337
5338 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : "";
5339
5340 WriteLiteral(" <input type=\"checkbox\"");
5341 BeginWriteAttribute("id", " id=\"", 92142, "\"", 92169, 2);
5342 WriteAttributeValue("", 92147, modalId, 92147, 10, false);
5343 WriteAttributeValue("", 92157, "ModalTrigger", 92157, 12, true);
5344 EndWriteAttribute();
5345 WriteLiteral(" class=\"modal-trigger\" ");
5346 Write(onchange);
5347 WriteLiteral(" />\r\n");
5348 WriteLiteral(" <div class=\"modal-container\">\r\n");
5349 if (!settings.DisableDarkOverlay)
5350 {
5351 WriteLiteral(" <label");
5352 BeginWriteAttribute("for", " for=\"", 92349, "\"", 92377, 2);
5353 WriteAttributeValue("", 92355, modalId, 92355, 10, false);
5354 WriteAttributeValue("", 92365, "ModalTrigger", 92365, 12, true);
5355 EndWriteAttribute();
5356 BeginWriteAttribute("id", " id=\"", 92378, "\"", 92405, 2);
5357 WriteAttributeValue("", 92383, modalId, 92383, 10, false);
5358 WriteAttributeValue("", 92393, "ModalOverlay", 92393, 12, true);
5359 EndWriteAttribute();
5360 WriteLiteral(" class=\"modal-overlay\"></label>\r\n");
5361 }
5362 WriteLiteral(" <div");
5363 BeginWriteAttribute("class", " class=\"", 92478, "\"", 92587, 5);
5364 WriteAttributeValue("", 92486, "modal", 92486, 5, true);
5365 WriteAttributeValue(" ", 92491, "modal--", 92492, 8, true);
5366 WriteAttributeValue("", 92499, settings.Width.ToString().ToLower(), 92499, 36, false);
5367 WriteAttributeValue(" ", 92535, "modal-height--", 92536, 15, true);
5368 WriteAttributeValue("", 92550, settings.Height.ToString().ToLower(), 92550, 37, false);
5369 EndWriteAttribute();
5370 BeginWriteAttribute("id", " id=\"", 92588, "\"", 92608, 2);
5371 WriteAttributeValue("", 92593, modalId, 92593, 10, false);
5372 WriteAttributeValue("", 92603, "Modal", 92603, 5, true);
5373 EndWriteAttribute();
5374 WriteLiteral(">\r\n");
5375 if (settings.Heading != null)
5376 {
5377 if (!string.IsNullOrEmpty(settings.Heading.Title))
5378 {
5379 WriteLiteral(" <div class=\"modal__header\">\r\n RenderHeading(settings.Heading);\r\n </div>\r\n");
5380 }
5381 }
5382 WriteLiteral(" <div");
5383 BeginWriteAttribute("class", " class=\"", 93023, "\"", 93118, 2);
5384 WriteAttributeValue("", 93031, "modal__body", 93031, 11, true);
5385 WriteAttributeValue(" ", 93042, settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "", 93043, 75, false);
5386 EndWriteAttribute();
5387 WriteLiteral(">\r\n");
5388 if (!string.IsNullOrEmpty(settings.BodyText))
5389 {
5390 Write(settings.BodyText);
5391
5392 }
5393 if (settings.BodyTemplate != null)
5394 {
5395 Write(settings.BodyTemplate);
5396
5397 }
5398
5399 var actions = settings.GetActions();
5400 WriteLiteral(" </div>\r\n");
5401 if (actions.Length > 0)
5402 {
5403 WriteLiteral(" <div class=\"modal__footer\">\r\n");
5404 foreach (var action in actions)
5405 {
5406 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") {
5407 action.CssClass += " u-no-margin";
5408 } else {
5409 action.CssClass += " u-full-width u-margin-bottom";
5410 }
5411
5412 Render(action);
5413 }
5414 WriteLiteral(" </div>\r\n");
5415 }
5416 WriteLiteral(" <label class=\"modal__close-btn\"");
5417 BeginWriteAttribute("for", " for=\"", 94362, "\"", 94390, 2);
5418 WriteAttributeValue("", 94368, modalId, 94368, 10, false);
5419 WriteAttributeValue("", 94378, "ModalTrigger", 94378, 12, true);
5420 EndWriteAttribute();
5421 WriteLiteral("></label>\r\n </div>\r\n </div>\r\n");
5422 }
5423 }
5424
5425 void RenderMediaListItem(MediaListItem settings)
5426 {
5427 WriteLiteral(" <div");
5428 BeginWriteAttribute("class", " class=\"", 94628, "\"", 94677, 3);
5429 WriteAttributeValue("", 94636, "media-list-item", 94636, 15, true);
5430 WriteAttributeValue(" ", 94651, settings.CssClass, 94652, 18, false);
5431 WriteAttributeValue(" ", 94670, "dw-mod", 94671, 7, true);
5432 EndWriteAttribute();
5433 WriteLiteral(" ");
5434 Write(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "");
5435 WriteLiteral(">\r\n");
5436 if (!string.IsNullOrEmpty(settings.Label))
5437 {
5438 if (!string.IsNullOrEmpty(settings.Link))
5439 {
5440 Render(new Link
5441 {
5442 Href = settings.Link,
5443 CssClass = "media-list-item__sticker dw-mod",
5444 ButtonLayout = ButtonLayout.None,
5445 Title = settings.Label,
5446 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5447 });
5448 }
5449 else if (!string.IsNullOrEmpty(settings.OnClick))
5450 {
5451 WriteLiteral(" <span class=\"media-list-item__sticker dw-mod\"");
5452 BeginWriteAttribute("onclick", " onclick=\"", 95485, "\"", 95514, 1);
5453 WriteAttributeValue("", 95495, settings.OnClick, 95495, 19, false);
5454 EndWriteAttribute();
5455 WriteLiteral(">\r\n <span class=\"u-uppercase\">");
5456 Write(settings.Label);
5457 WriteLiteral("</span>\r\n </span>\r\n");
5458 }
5459 else
5460 {
5461 WriteLiteral(" <span class=\"media-list-item__sticker media-list-item__sticker--no-link dw-mod\">\r\n <span class=\"u-uppercase\">");
5462 Write(settings.Label);
5463 WriteLiteral("</span>\r\n </span>\r\n");
5464 }
5465 }
5466 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");
5467 if (!string.IsNullOrEmpty(settings.Title))
5468 {
5469 if (!string.IsNullOrEmpty(settings.Link))
5470 {
5471 Render(new Link
5472 {
5473 Href = settings.Link,
5474 CssClass = "media-list-item__name dw-mod",
5475 ButtonLayout = ButtonLayout.None,
5476 Title = settings.Title,
5477 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5478 });
5479 }
5480 else if (!string.IsNullOrEmpty(settings.OnClick))
5481 {
5482 WriteLiteral(" <span class=\"media-list-item__name dw-mod\"");
5483 BeginWriteAttribute("onclick", " onclick=\"", 97011, "\"", 97040, 1);
5484 WriteAttributeValue("", 97021, settings.OnClick, 97021, 19, false);
5485 EndWriteAttribute();
5486 WriteLiteral(">");
5487 Write(settings.Title);
5488 WriteLiteral("</span>\r\n");
5489 }
5490 else
5491 {
5492 WriteLiteral(" <span class=\"media-list-item__name media-list-item__name--no-link dw-mod\">");
5493 Write(settings.Title);
5494 WriteLiteral("</span>\r\n");
5495 }
5496 }
5497 WriteLiteral("\r\n");
5498 if (!string.IsNullOrEmpty(settings.Status))
5499 {
5500 WriteLiteral(" <div class=\"media-list-item__state dw-mod\">");
5501 Write(settings.Status);
5502 WriteLiteral("</div>\r\n");
5503 }
5504 WriteLiteral(" </div>\r\n");
5505
5506 settings.InfoTable.CssClass += " media-list-item__parameters-table";
5507 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");
5508
5509 var actions = settings.GetActions();
5510
5511 foreach (ButtonBase action in actions)
5512 {
5513 action.ButtonLayout = ButtonLayout.None;
5514 action.CssClass += " media-list-item__action link";
5515
5516 Render(action);
5517 }
5518 WriteLiteral(" </div>\r\n\r\n");
5519 if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title))
5520 {
5521 settings.SelectButton.CssClass += " u-no-margin";
5522
5523 WriteLiteral(" <div class=\"media-list-item__action-button\">\r\n Render(settings.SelectButton);\r\n </div>\r\n");
5524 }
5525 WriteLiteral(" </div>\r\n </div>\r\n </div>\r\n");
5526 }
5527
5528 void RenderTable(Table settings)
5529 {
5530 Dictionary<string, string> attributes = new Dictionary<string, string>();
5531 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5532
5533 var enumToClasses = new Dictionary<TableDesign, string>
5534 {
5535 { TableDesign.Clean, "table--clean" },
5536 { TableDesign.Bordered, "table--bordered" },
5537 { TableDesign.Striped, "table--striped" },
5538 { TableDesign.Hover, "table--hover" },
5539 { TableDesign.Compact, "table--compact" },
5540 { TableDesign.Condensed, "table--condensed" },
5541 { TableDesign.NoTopBorder, "table--no-top-border" }
5542 };
5543 string tableDesignClass = "";
5544 if (settings.Design != TableDesign.None)
5545 {
5546 tableDesignClass = enumToClasses[settings.Design];
5547 }
5548
5549 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); }
5550
5551 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5552
5553 WriteLiteral(" <table ");
5554 Write(ComponentMethods.AddAttributes(resultAttributes));
5555 WriteLiteral(">\r\n");
5556 if (settings.Header != null)
5557 {
5558 WriteLiteral(" <thead>\r\n Render(settings.Header);\r\n </thead>\r\n");
5559 }
5560 WriteLiteral(" <tbody>\r\n");
5561 foreach (var row in settings.Rows)
5562 {
5563 Render(row);
5564 }
5565 WriteLiteral(" </tbody>\r\n");
5566 if (settings.Footer != null)
5567 {
5568 WriteLiteral(" <tfoot>\r\n Render(settings.Footer);\r\n </tfoot>\r\n");
5569 }
5570 WriteLiteral(" </table>\r\n");
5571 }
5572
5573 void RenderTableRow(TableRow settings)
5574 {
5575 Dictionary<string, string> attributes = new Dictionary<string, string>();
5576 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5577
5578 var enumToClasses = new Dictionary<TableRowDesign, string>
5579 {
5580 { TableRowDesign.NoBorder, "table__row--no-border" },
5581 { TableRowDesign.Border, "table__row--border" },
5582 { TableRowDesign.TopBorder, "table__row--top-line" },
5583 { TableRowDesign.BottomBorder, "table__row--bottom-line" },
5584 { TableRowDesign.Solid, "table__row--solid" }
5585 };
5586
5587 string tableRowDesignClass = "";
5588 if (settings.Design != TableRowDesign.None)
5589 {
5590 tableRowDesignClass = enumToClasses[settings.Design];
5591 }
5592
5593 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); }
5594
5595 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5596
5597 WriteLiteral(" <tr ");
5598 Write(ComponentMethods.AddAttributes(resultAttributes));
5599 WriteLiteral(">\r\n");
5600 foreach (var cell in settings.Cells)
5601 {
5602 if (settings.IsHeaderRow)
5603 {
5604 cell.IsHeader = true;
5605 }
5606 Render(cell);
5607 }
5608 WriteLiteral(" </tr>\r\n");
5609 }
5610
5611 void RenderTableCell(TableCell settings)
5612 {
5613 Dictionary<string, string> attributes = new Dictionary<string, string>();
5614 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5615 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); }
5616 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); }
5617 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); }
5618
5619 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5620
5621 string tagName = settings.IsHeader ? "th" : "td";
5622
5623 Write("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">");
5624 Write(settings.Content);
5625 Write("</" + tagName + ">");
5626 ;
5627 }
5628
5629 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage");
5630 }
5631 }
5632 #pragma warning restore 1591
5633
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 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){
195 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" },
196 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" }
197 };
198 foreach (KeyValuePair<string, string> type in propertyTypes2)
199 {
200 bool ischecked = false;
201 string[] propertytypeSplit2 = new string[0];
202 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
203 {
204 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
205 }
206 foreach (var propertytypeParams in propertytypeSplit2)
207 {
208 if (propertytypeParams == type.Value)
209 {
210 ischecked = true;
211 }
212 }
213 <li>
214 <label class="checkbox-container d-flex">
215 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
216 @if (type.Value == "ejerlejlighed")
217 {
218 <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" />
219 }
220 else if (type.Value == "helårsgrund")
221 {
222 <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" />
223 }
224 else if (type.Value == "fritidsgrund")
225 {
226 <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" />
227 }
228 else
229 {
230 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
231 }
232 <span class="checkmark grey"></span>
233 </label>
234 </li>
235 }
236 }
237
238 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false)
239 {
240 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
241 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" },
242 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" }
243 };
244 var submitonchange = "";
245 if (submitOnChange)
246 {
247 submitonchange = "onchange='submitFilter()'";
248 }
249
250 foreach (KeyValuePair<string, string> type in erhverType)
251 {
252 string ischecked = "";
253 string[] olineParamsSplit = new string[0];
254 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
255 {
256 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
257 }
258 foreach (var olineParams in olineParamsSplit)
259 {
260 if (olineParams == type.Value)
261 {
262 ischecked = "checked";
263 }
264 }
265
266 <li>
267 <label class="checkbox-container d-flex">
268 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
269 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" @submitonchange @ischecked />
270 <span class="checkmark grey"></span>
271 </label>
272 </li>
273 }
274 }
275
276 void RenderBoligTypeErhvervInvest(bool submitOnChange = false)
277 {
278 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
279 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" },
280 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" }
281 };
282
283 foreach (KeyValuePair<string, string> type in erhverType)
284 {
285 bool ischecked = false;
286 string[] olineParamsSplit = new string[0];
287 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
288 {
289 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
290 }
291 foreach (var olineParams in olineParamsSplit)
292 {
293 if (olineParams == type.Value)
294 {
295 ischecked = true;
296 }
297 }
298
299 <li>
300 <label class="checkbox-container">
301 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
302 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
303 <span class="checkmark grey"></span>
304 </label>
305 </li>
306 }
307 }
308 int GetWebsiteSettingsPageId(string pageSysName)
309 {
310 int sideId = 0;
311
312 var pw = Dynamicweb.Frontend.PageView.Current();
313
314 string settingsItemId = "1";
315
316 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true")
317 {
318 settingsItemId = "2";
319 }
320
321 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId);
322
323 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName))
324 {
325 return sideId;
326 }
327
328 string boligsideLink = settingsItem[pageSysName] as String;
329 string linkPrefix = "Default.aspx?ID=";
330
331 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
332 {
333 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
334 }
335
336 return sideId;
337 }
338
339 int GetPageSettingsPageId(string pageSysName)
340 {
341 int sideId = 0;
342
343 var pw = Dynamicweb.Frontend.PageView.Current();
344
345 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName))
346 {
347 return sideId;
348 }
349
350 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String;
351 string linkPrefix = "Default.aspx?ID=";
352
353 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
354 {
355 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
356 }
357
358 return sideId;
359 }
360 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname)
361 {
362 <select class="form-control d-block d-lg-none mb-10 @className" onchange="submitFilter()" name="@inputname">
363 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder." + name + "", "" + name + "")</option>
364
365 @for (var i = 0; i <= max; i += step)
366 {
367 var selected = string.Empty;
368 var current = string.Empty;
369 if (i == max)
370 {
371 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
372 {
373 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")+</option>
374 }
375 else
376 {
377 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")+</option>
378 }
379 }
380 else
381 {
382 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
383 {
384 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")</option>
385 }
386 else
387 {
388 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
389 }
390 }
391 }
392 </select>
393 }
394
395 void RenderTopFilter(string parameter)
396 {
397 if (parameter == "pricemin" || parameter == "pricemax")
398 {
399 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"]))
400 {
401 if (parameter == "pricemin")
402 {
403 @("<div class='search-terms' id='priceFilter'>")
404 @("Pris ") @Dynamicweb.Context.Current.Request[parameter]
405 }
406
407 else
408 {
409 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="pricemin,pricemax"></i>
410 @("</div>")
411 }
412 }
413 }
414
415 else if (parameter == "subsidymin" || parameter == "subsidymax")
416 {
417 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"]))
418 {
419 if (parameter == "subsidymin")
420 {
421 @("<div class='search-terms' id='subsidyFilter'>")
422 @("Årlig leje ") @Dynamicweb.Context.Current.Request[parameter]
423 }
424
425 else
426 {
427 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidymin,subsidymax"></i>
428 @("</div>")
429 }
430 }
431 }
432 else if (parameter == "etagearealmin" || parameter == "etagearealmax")
433 {
434 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"]))
435 {
436 if (parameter == "etagearealmin")
437 {
438 @("<div class='search-terms' id='etagearealFilter'>")
439 @("Etageareal ") @Dynamicweb.Context.Current.Request[parameter]
440 }
441
442 else
443 {
444 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="etagearealmin,etagearealmax"></i>
445 @("</div>")
446 }
447 }
448 }
449
450 else if (parameter == "grundarealmin" || parameter == "grundarealmax")
451 {
452 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"]))
453 {
454 if (parameter == "grundarealmin")
455 {
456 @("<div class='search-terms' id='grundarealFilter'>")
457 @("Grundareal ") @Dynamicweb.Context.Current.Request[parameter]
458 }
459
460 else
461 {
462 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="grundarealmin,grundarealmax"></i>
463 @("</div>")
464 }
465 }
466 }
467
468 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax")
469 {
470 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"]))
471 {
472 if (parameter == "subsidykvmmin")
473 {
474 @("<div class='search-terms' id='subsidykvmFilter'>")
475 @("Årlig leje kvm ") @Dynamicweb.Context.Current.Request[parameter]
476 }
477
478 else
479 {
480 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidykvmmin,subsidykvmmax"></i>
481 @("</div>")
482 }
483 }
484 }
485
486 else if (parameter == "olinecategory")
487 {
488
489 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"]))
490 {
491 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
492 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" },
493 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"},
494 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" },
495 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" }
496 };
497
498
499 foreach (var er in erhverType)
500 {
501 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
502 {
503 <div class="search-terms" id="@parameter">
504 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
505 </div>
506 }
507 }
508 }
509 }
510 else if (parameter == "search")
511 {
512 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"]))
513 {
514 <div class="search-terms" id="@parameter">
515 @Dynamicweb.Context.Current.Request[parameter] <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter"></i>
516 </div>
517 }
518 }
519 else
520 {
521 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]))
522 {
523 Dictionary<string, string>
524 ubudsform = new Dictionary<string, string>
525 (){
526 {"salg", "Salg" }, { "leje","Leje" }
527 };
528
529 foreach (var er in ubudsform)
530 {
531 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
532 {
533 <div class="search-terms" id="@parameter">
534 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
535 </div>
536 }
537 }
538
539
540 }
541 }
542 }
543
544 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString)
545 {
546 var selected = "";
547 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue)
548 {
549 selected = "selected";
550 }
551
552 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected);
553
554 @current
555 }
556
557 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "")
558 {
559 <div class="main-search-form frontpage @cssClasses">
560 <div class="dropdown-overlay"></div>
561 <div class="row mb-3 align-items-center">
562 <div class="col-xs-12 col-md-3 border-right">
563 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
564 </div>
565 <div class="col-xs-12 col-md-9 home-count d-none d-md-block">
566 <span class="search-count" id="searchCounter">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span>
567 </div>
568 </div>
569
570 <form id="main-search-frontpage" class="searchbar-wrapper" action="/Default.aspx" method="GET">
571 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId-frontpage" disabled="disabled" />
572 <div class="row form-wrapper no-gutters">
573
574 <div class="col-xs-12 col-md-5 col-searchbar">
575 <div class="searchbar">
576 <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)" />
577 <input type="hidden" id="zipcodefrom-frontpage" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" />
578 <input type="hidden" id="zipcodeto-frontpage" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" />
579 </div>
580 </div>
581 <div class="col-xs-12 col-md-5">
582 <div class="row no-gutters">
583 <div class="col-xs-12 col-md-6 input-col">
584 <div class="dropdown w-overlay">
585 <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">
586 @Translate("Smartpage:Search.Boligtype", "Boligtype")
587 </button>
588 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
589 <ul class="bolig-dropdown list-unstyled">
590 @{
591 RenderBoligtypeCheckboxesDropdown();
592 }
593 </ul>
594 <span class="border-fat"></span>
595 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
596 </div>
597
598 </div>
599
600 </div>
601 <div class="col-xs-12 col-md-6 input-col">
602 <div class="dropdown w-overlay">
603 <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">
604 @Translate("Smartpage:Search.Pris", "Pris")
605 </button>
606 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris">
607 <input type="text" class="form-control mb-10 js-auto-thousand js-pricemin-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MinPris","Min. pris")' />
608 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
609 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
610 @for (var i = 0; i <= 10000000; i += 100000)
611 {
612 if (i == 10000000)
613 {
614 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
615 }
616 else
617 {
618 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
619 }
620 }
621 </select>
622 <input type="hidden" id="pricemin-frontpage" name="pricemin" />
623
624 <input type="text" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris")' />
625 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
626 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
627 @for (var i = 0; i <= 10000000; i += 100000)
628 {
629 if (i == 10000000)
630 {
631 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
632 }
633 else
634 {
635 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
636 }
637 }
638 </select>
639 <input type="hidden" id="pricemax-frontpage" name="pricemax" />
640 <button class="btn btn-primary js-close-dropdown mt-3">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
641 </div>
642 </div>
643 </div>
644 </div>
645 </div>
646 <div class="col-xs-12 col-md-2 d-none d-md-block">
647 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
648 </div>
649 </div>
650
651 <div class="row moresearch-btn no-gutters">
652 <div class="col-sm-12">
653 <div class="row align-items-center no-gutters">
654 <div class="col-12 col-md-4">
655 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch" aria-expanded="false" aria-controls="moreSearch">
656 <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>
657 </button>
658 </div>
659 <div class="col-6 col-md-2 mb-xs-4">
660 <a class="js-reset reset-btn">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
661 </div>
662 </div>
663
664 <div class="collapse" id="moreSearch">
665 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
666 <div class="row align-items-end mb-30">
667 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
668 <div class="filter-container row">
669 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
670 <div class="col-6 pr-sm-0 pr-2">
671 <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")' />
672 <select class="form-control js-boligarealmin-frontpage-select js-count">
673 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
674 @for (var i = 0; i <= 300; i += 10)
675 {
676 if (i == 300)
677 {
678 <option value="@i">@i+</option>
679 }
680 else
681 {
682 <option value="@i">@i</option>
683 }
684 }
685 </select>
686 </div>
687 <div class="col-6 pl-sm-0 pl-2">
688 <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")' />
689 <select class="form-control js-boligarealmax-frontpage-select js-count">
690 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
691 @for (var i = 0; i <= 300; i += 10)
692 {
693 if (i == 300)
694 {
695 <option value="@i">@i+</option>
696 }
697 else
698 {
699 <option value="@i">@i</option>
700 }
701 }
702 </select>
703 </div>
704 </div>
705 </div>
706 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
707 <div class="filter-container row">
708 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
709 <div class="col-6 pr-sm-0 pr-2">
710 <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")' />
711 <select class="form-control js-grundarealmin-frontpage-select js-count">
712 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
713 @for (var i = 0; i <= 10000; i += 100)
714 {
715 if (i == 10000)
716 {
717 <option value="@i">@i+</option>
718 }
719 else
720 {
721 <option value="@i">@i</option>
722 }
723 }
724 </select>
725 </div>
726 <div class="col-6 pl-sm-0 pl-2">
727 <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")' />
728 <select class="form-control js-grundarealmax-frontpage-select js-count">
729 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
730 @for (var i = 0; i <= 10000; i += 100)
731 {
732 if (i == 10000)
733 {
734 <option value="@i">@i+</option>
735 }
736 else
737 {
738 <option value="@i">@i</option>
739 }
740 }
741 </select>
742 </div>
743 </div>
744 </div>
745 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
746 <div class="filter-container row">
747 <label class="d-block col-12">Antal rum</label>
748
749 <div class="col-6 pr-sm-0 pr-2">
750 <select name="roomsmin" id="roomsmin-frontpage" class="form-control reverse js-count">
751 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
752 <option value="1">1</option>
753 <option value="2">2</option>
754 <option value="3">3</option>
755 <option value="4">4</option>
756 <option value="5+">5+</option>
757 </select>
758 </div>
759 <div class="col-6 pl-sm-0 pl-2">
760 <select name="roomsmax" id="roomsmax-frontpage" class="form-control reverse js-count">
761 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
762 <option value="1">1</option>
763 <option value="2">2</option>
764 <option value="3">3</option>
765 <option value="4">4</option>
766 <option value="5+">@Translate("Smartpage:Rooms.5", "5")</option>
767 </select>
768 </div>
769 </div>
770 </div>
771 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
772 <div class="row">
773 <div class="col-12">
774 <div class="filter-container">
775 <label class="d-block">Energimærke</label>
776 <select name="energylabel" id="energylabel-frontpage" class="form-control reverse js-count">
777 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
778 <option value="01">G</option>
779 <option value="02">F</option>
780 <option value="03">E</option>
781 <option value="04">D</option>
782 <option value="05">C</option>
783 <option value="06">B</option>
784 <option value="07">A</option>
785 <option value="08">A2010</option>
786 <option value="09">A2015</option>
787 <option value="10">A2020+</option>
788 </select>
789 </div>
790 </div>
791 </div>
792 </div>
793 <div class="col-12 col-sm-6 col-lg-3 mt-3">
794 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
795 <div class="filter-container row">
796 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
797 <div class="col-6 pr-sm-0 pr-2">
798 <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")' />
799 <select class="form-control js-subsidymin-frontpage-select js-count">
800 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
801 @for (var i = 0; i <= 25000; i += 1250)
802 {
803 if (i == 25000)
804 {
805 <option>@Convert.ToInt32(i).ToString("N0")+</option>
806 }
807 else
808 {
809 <option>@Convert.ToInt32(i).ToString("N0")</option>
810 }
811 }
812 </select>
813 </div>
814 <div class="col-6 pl-sm-0 pl-2">
815 <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")' />
816 <select class="form-control js-subsidymax-frontpage-select js-count">
817 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
818 @for (var i = 0; i <= 25000; i += 1250)
819 {
820 if (i == 25000)
821 {
822 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
823 }
824 else
825 {
826 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
827 }
828 }
829 </select>
830 </div>
831 </div>
832 </div>
833 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0">
834 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
835 </div>
836 </div>
837 </div>
838 </div>
839 </div>
840
841 <div class="row d-block d-md-none form-wrapper no-gutters">
842 <div class="col-xs-12 col-md-2">
843 <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>
844 </div>
845 </div>
846 </form>
847 <div class="front-page-actions d-md-none">
848 <div>
849 <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>
850 </div>
851 <div>
852 @{
853 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : "";
854 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER");
855 <form method="GET" action="/Default.aspx">
856 <input name="id" value="@brokerSearchId" type="hidden" />
857 <div class="icon-wrapper-wclick">
858 <i class="fas fa-search ta-submit-on-icon-click"></i>
859 <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'" />
860 </div>
861 </form>
862 }
863 </div>
864 <div>
865 <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>
866 </div>
867 </div>
868 </div>
869
870 }
871 Custom.Integration.Brokers.Models.BrokerEmployee GetBrokerFromCurrentProduct()
872 {
873 string productId = Dynamicweb.Context.Current.Request["ProductId"];
874
875 if (string.IsNullOrWhiteSpace(productId))
876 {
877 return null;
878 }
879
880 var propertyProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, string.Empty, true);
881 if (propertyProduct == null)
882 {
883 return null;
884 }
885
886 string employee = Dynamicweb.Core.Converter.ToString(
887 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xAktoererMaeglerKontaktEmail")
888 );
889 string storeId = Dynamicweb.Core.Converter.ToString(
890 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xButikID")
891 );
892
893 if (string.IsNullOrWhiteSpace(employee) || string.IsNullOrWhiteSpace(storeId))
894 {
895 return null;
896 }
897
898 return Custom.Integration.Brokers.Search.GetEmployee(storeId, employee);
899 }
900
901 string GetAgentTitleFromCurrentProduct()
902 {
903 var propBroker = GetBrokerFromCurrentProduct();
904
905 if (propBroker?.Broker == null)
906 {
907 return string.Empty;
908 }
909
910 if (!string.IsNullOrEmpty(propBroker.Broker.CompanyName))
911 {
912 return propBroker.Broker.CompanyName;
913 }
914
915 return propBroker.Broker.Name ?? string.Empty;
916 }
917
918 string GetMasterBrokerUrlFromCurrentProduct()
919 {
920 var propBroker = GetBrokerFromCurrentProduct();
921
922 var itemId = propBroker?.Broker?.ItemId;
923 var itemType = propBroker?.Broker?.ItemType;
924
925 if (string.IsNullOrWhiteSpace(itemId) || string.IsNullOrWhiteSpace(itemType))
926 {
927 return string.Empty;
928 }
929 var brokerItem = Dynamicweb.Content.Items.ItemManager.Storage.GetById(itemType, itemId);
930
931 if (brokerItem == null)
932 {
933 return string.Empty;
934 }
935
936 var websiteId = Dynamicweb.Core.Converter.ToInt32(brokerItem["WebsiteId"]);
937 var page = Dynamicweb.Content.Services.Pages.GetFirstPageForArea(websiteId);
938 return Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("Default.aspx?Id=" + page?.ID);
939 }
940 }
941
942 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel>
943 @using Dynamicweb.Frontend.Navigation
944 @using Dynamicweb.Core
945 @using Dynamicweb.Core.Encoders
946 @using Dynamicweb
947
948 @functions {
949 void RenderSlideMenu(bool erhverv, string maeglersoegning)
950 {
951 <div id="menu"
952 class="main-menu-slide "
953 role="navigation"
954 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.MainMenu", "Hovedmenu"))"
955 aria-modal="true">
956 <div class="container">
957 <div class="row">
958 <div class="col-12">
959 <span class="menu-headline">MENU</span>
960 </div>
961 <div class="menu-slide"
962 role="button"
963 tabindex="0"
964 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.CloseMenu", "Luk menu"))">
965 <b aria-hidden="true"></b>
966 </div>
967 <div class="col-12 main-slidemenu" role="region" aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.NavigationLinks", "Navigationslinks"))">
968 @{
969 var navigationSettings = new NavigationSettings();
970 navigationSettings.StartLevel = 1;
971 navigationSettings.StopLevel = 2;
972 navigationSettings.ExpandMode = ExpandMode.All;
973 navigationSettings.RootAreaId = Pageview.Area.ID;
974
975 @Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings)
976 }
977 </div>
978 <div class="col-12 bottom-btns">
979
980 @{
981 string[] maeglerid;
982 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0";
983
984 if (erhverv)
985 {
986 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None);
987 }
988 else
989 {
990 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None);
991 }
992
993 <form method="GET" action="/Default.aspx" role="search">
994 <input name="id" value="@maeglerid[1]" type="hidden" />
995 <div class="icon-wrapper-wclick">
996 <label for="broker-search-menu-vm" class="sr-only">@Translate("Custom:Accessibility.FindBroker", "Find mægler")</label>
997 <i class="fas fa-search ta-submit-on-icon-click"
998 aria-hidden="true"
999 role="button"
1000 tabindex="0"
1001 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.SearchBroker", "Søg efter mægler"))"></i>
1002 <input id="broker-search-menu-vm"
1003 class="box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"
1004 name="q"
1005 type="text"
1006 placeholder="@HtmlEncoder.HtmlAttributeEncode(Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER"))"
1007 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.BrokerSearchField", "Indtast postnummer eller navn for at finde mægler"))"
1008 onfocus="this.placeholder = 'FIND MÆGLER'" />
1009 </div>
1010 </form>
1011 }
1012 <br />
1013 @{
1014 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + "";
1015 }
1016 <a href="javascript:panelSalgsvurdering('@dpmaegler','@Pageview.AreaID');"
1017 class="btn btn-block btn-default-invert js-close-menu"
1018 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>
1019 </div>
1020 </div>
1021 </div>
1022 </div>
1023 }
1024 }
1025 @using System.Text.RegularExpressions
1026 @using System.Collections.Generic
1027 @using System.Reflection
1028 @using Dynamicweb.Rapido.Blocks.Components
1029 @using Dynamicweb.Rapido.Blocks.Components.Articles
1030 @using Dynamicweb.Rapido.Blocks.Components.Documentation
1031 @using Dynamicweb.Rapido.Blocks
1032 @using Dynamicweb;
1033
1034 @functions {
1035 void RenderBlockList(List<Block> blocks)
1036 {
1037 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
1038 blocks = blocks.OrderBy(item => item.SortId).ToList();
1039
1040 foreach (Block item in blocks)
1041 {
1042 if (debug) {
1043 <!-- Block START: @item.Id -->
1044 }
1045
1046 if (item.Design == null)
1047 {
1048 RenderBlock(item);
1049 }
1050 else if (item.Design.RenderType == RenderType.None) {
1051 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
1052
1053 <div class="@cssClass dw-mod">
1054 RenderBlock(item);
1055 </div>
1056 }
1057 else if (item.Design.RenderType != RenderType.Hide)
1058 {
1059 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
1060
1061 if (!item.SkipRenderBlocksList) {
1062 if (item.Design.RenderType == RenderType.Row)
1063 {
1064 <div class="grid grid--align-content-start @cssClass dw-mod" id="Block__@item.Id">
1065 RenderBlock(item);
1066 </div>
1067 }
1068
1069 if (item.Design.RenderType == RenderType.Column)
1070 {
1071 string hidePadding = item.Design.HidePadding ? "u-no-padding" : "";
1072 string size = item.Design.Size ?? "12";
1073 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size;
1074
1075 <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">
1076 RenderBlock(item);
1077 </div>
1078 }
1079
1080 if (item.Design.RenderType == RenderType.Table)
1081 {
1082 <table class="table @cssClass dw-mod" id="Block__@item.Id">
1083 RenderBlock(item);
1084 </table>
1085 }
1086
1087 if (item.Design.RenderType == RenderType.TableRow)
1088 {
1089 <tr class="@cssClass dw-mod" id="Block__@item.Id">
1090 RenderBlock(item);
1091 </tr>
1092 }
1093
1094 if (item.Design.RenderType == RenderType.TableColumn)
1095 {
1096 <td class="@cssClass dw-mod" id="Block__@item.Id">
1097 RenderBlock(item);
1098 </td>
1099 }
1100
1101 if (item.Design.RenderType == RenderType.CardHeader)
1102 {
1103 <div class="card-header @cssClass dw-mod">
1104 RenderBlock(item);
1105 </div>
1106 }
1107
1108 if (item.Design.RenderType == RenderType.CardBody)
1109 {
1110 <div class="card @cssClass dw-mod">
1111 RenderBlock(item);
1112 </div>
1113 }
1114
1115 if (item.Design.RenderType == RenderType.CardFooter)
1116 {
1117 <div class="card-footer @cssClass dw-mod">
1118 RenderBlock(item);
1119 </div>
1120 }
1121 }
1122 else
1123 {
1124 RenderBlock(item);
1125 }
1126 }
1127
1128 if (debug) {
1129 <!-- Block END: @item.Id -->
1130 }
1131 }
1132 }
1133
1134 void RenderBlock(Block item)
1135 {
1136 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
1137
1138 if (item.Template != null)
1139 {
1140 @BlocksPage.RenderTemplate(item.Template)
1141 }
1142
1143 if (item.Component != null)
1144 {
1145 string customSufix = "Custom";
1146 string methodName = item.Component.HelperName;
1147
1148 ComponentBase[] methodParameters = new ComponentBase[1];
1149 methodParameters[0] = item.Component;
1150 Type methodType = this.GetType();
1151
1152 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix);
1153 MethodInfo generalMethod = methodType.GetMethod(methodName);
1154
1155 try {
1156 if (debug) {
1157 <!-- Component: @methodName.Replace("Render", "") -->
1158 }
1159 @customMethod.Invoke(this, methodParameters).ToString();
1160 } catch {
1161 try {
1162 @generalMethod.Invoke(this, methodParameters).ToString()
1163 ;
1164 } catch(Exception ex) {
1165 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex);
1166 }
1167 }
1168 }
1169
1170 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList)
1171 {
1172 RenderBlockList(item.BlocksList);
1173 }
1174 }
1175 }
1176
1177
1178
1179 @* Include the components *@
1180 @using Dynamicweb.Rapido.Blocks.Components
1181 @using Dynamicweb.Rapido.Blocks.Components.General
1182 @using Dynamicweb.Rapido.Blocks
1183 @using System.IO
1184
1185 @* Required *@
1186 @using Dynamicweb.Rapido.Blocks.Components
1187 @using Dynamicweb.Rapido.Blocks.Components.General
1188 @using Dynamicweb.Rapido.Blocks
1189
1190 @functions {
1191 void Render(ComponentBase component)
1192 {
1193 if (component != null)
1194 {
1195 @component.Render(this)
1196 }
1197 }
1198 }
1199
1200 @* Components *@
1201 @using System.Reflection
1202 @using Dynamicweb.Rapido.Blocks.Components.General
1203
1204 @* Component *@
1205
1206 @functions {
1207 void RenderIcon(Icon settings)
1208 {
1209 if (settings != null)
1210 {
1211 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
1212
1213 if (settings.Name != null)
1214 {
1215 if (string.IsNullOrEmpty(settings.Label))
1216 {
1217 <i class="@settings.Prefix @settings.Name @settings.CssClass" @color></i>
1218 }
1219 else
1220 {
1221 if (settings.LabelPosition == IconLabelPosition.Before)
1222 {
1223 <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>
1224 }
1225 else
1226 {
1227 <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>
1228 }
1229 }
1230 }
1231 else if (!string.IsNullOrEmpty(settings.Label))
1232 {
1233 @settings.Label
1234 }
1235 }
1236 }
1237 }
1238
1239 @using System.Reflection
1240 @using Dynamicweb.Rapido.Blocks.Components.General
1241 @using Dynamicweb.Rapido.Blocks.Components
1242 @using Dynamicweb.Core
1243 @using System.Text.RegularExpressions
1244
1245 @* Component *@
1246
1247 @functions {
1248 void RenderButton(Button settings)
1249 {
1250 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
1251 {
1252 Dictionary<string, string> attributes = new Dictionary<string, string>();
1253 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
1254 if (settings.Disabled) {
1255 attributes.Add("disabled", "true");
1256 classList.Add("disabled");
1257 }
1258
1259 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle))
1260 {
1261 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
1262 RenderConfirmDialog(settings);
1263 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true";
1264 }
1265
1266 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1267 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1268 if (!string.IsNullOrEmpty(settings.AltText))
1269 {
1270 attributes.Add("title", settings.AltText);
1271 }
1272 else if (!string.IsNullOrEmpty(settings.Title))
1273 {
1274 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty);
1275 cleanTitle = cleanTitle.Replace(" ", " ");
1276 attributes.Add("title", cleanTitle);
1277 }
1278
1279 var onClickEvents = new List<string>();
1280 if (!string.IsNullOrEmpty(settings.OnClick))
1281 {
1282 onClickEvents.Add(settings.OnClick);
1283 }
1284 if (!string.IsNullOrEmpty(settings.Href))
1285 {
1286 if (settings.Href.Contains("javascript"))
1287 {
1288 settings.Href = settings.Href.Replace("http://", "");
1289 }
1290 onClickEvents.Add("location.href='" + settings.Href + "'");
1291 }
1292 if (onClickEvents.Count > 0)
1293 {
1294 attributes.Add("onClick", string.Join(";", onClickEvents));
1295 }
1296
1297 if (settings.ButtonLayout != ButtonLayout.None)
1298 {
1299 classList.Add("btn");
1300 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
1301 if (btnLayout == "linkclean")
1302 {
1303 btnLayout = "link-clean"; //fix
1304 }
1305 classList.Add("btn--" + btnLayout);
1306 }
1307
1308 if (settings.Icon == null)
1309 {
1310 settings.Icon = new Icon();
1311 }
1312
1313 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : "";
1314 settings.Icon.Label = settings.Title;
1315
1316 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower());
1317
1318 <button class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>@{RenderIcon(settings.Icon);}</button>
1319 }
1320 }
1321
1322 void RenderConfirmDialog(Button settings)
1323 {
1324 Modal confirmDialog = new Modal {
1325 Id = settings.Id,
1326 Width = ModalWidth.Sm,
1327 Heading = new Heading
1328 {
1329 Level = 2,
1330 Title = settings.ConfirmTitle
1331 },
1332 BodyText = settings.ConfirmText
1333 };
1334
1335 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"});
1336 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick });
1337
1338 RenderModal(confirmDialog);
1339 }
1340 }
1341 @using System.Reflection
1342 @using Dynamicweb.Rapido.Blocks.Components.General
1343 @using Dynamicweb.Rapido.Blocks.Components
1344 @using Dynamicweb.Core
1345
1346 @* Component *@
1347
1348 @functions{
1349 void RenderLink(Link settings)
1350 {
1351 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
1352 {
1353 Dictionary<string, string> attributes = new Dictionary<string, string>();
1354 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
1355 if (settings.Disabled)
1356 {
1357 attributes.Add("disabled", "true");
1358 classList.Add("disabled");
1359 }
1360
1361 if (!string.IsNullOrEmpty(settings.AltText))
1362 {
1363 attributes.Add("title", settings.AltText);
1364 }
1365 else if (!string.IsNullOrEmpty(settings.Title))
1366 {
1367 attributes.Add("title", settings.Title);
1368 }
1369
1370 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1371 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1372 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); }
1373 attributes.Add("href", settings.Href);
1374
1375 if (settings.ButtonLayout != ButtonLayout.None)
1376 {
1377 classList.Add("btn");
1378 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
1379 if (btnLayout == "linkclean")
1380 {
1381 btnLayout = "link-clean"; //fix
1382 }
1383 classList.Add("btn--" + btnLayout);
1384 }
1385
1386 if (settings.Icon == null)
1387 {
1388 settings.Icon = new Icon();
1389 }
1390 settings.Icon.Label = settings.Title;
1391
1392 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None)
1393 {
1394 settings.Rel = LinkRelType.Noopener;
1395 }
1396 if (settings.Target != LinkTargetType.None)
1397 {
1398 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower());
1399 }
1400 if (settings.Download)
1401 {
1402 attributes.Add("download", "true");
1403 }
1404 if (settings.Rel != LinkRelType.None)
1405 {
1406 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower());
1407 }
1408
1409 <a class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>Render(settings.Icon);</a>
1410 }
1411 }
1412 }
1413
1414 @using System.Reflection
1415 @using Dynamicweb.Rapido.Blocks.Components
1416 @using Dynamicweb.Rapido.Blocks.Components.General
1417 @using Dynamicweb.Rapido.Blocks
1418
1419 @* Component *@
1420
1421 @functions{
1422 void RenderRating(Rating settings)
1423 {
1424 if (settings.Score > 0)
1425 {
1426 int rating = settings.Score;
1427 string iconType = "fa-star";
1428
1429 switch (settings.Type.ToString()) {
1430 case "Stars":
1431 iconType = "fa-star";
1432 break;
1433 case "Hearts":
1434 iconType = "fa-heart";
1435 break;
1436 case "Lemons":
1437 iconType = "fa-lemon";
1438 break;
1439 case "Bombs":
1440 iconType = "fa-bomb";
1441 break;
1442 }
1443
1444 <div class="u-ta-right">
1445 @for (int i = 0; i < settings.OutOf; i++)
1446 {
1447 <i class="@(rating > i ? "fas" : "far") @iconType"></i>
1448 }
1449 </div>
1450 }
1451 }
1452 }
1453 @using System.Reflection
1454 @using Dynamicweb.Rapido.Blocks.Components.General
1455 @using Dynamicweb.Rapido.Blocks.Components
1456
1457
1458 @* Component *@
1459
1460 @functions{
1461 void RenderNavigation(Navigation settings) {
1462 RenderNavigation(new
1463 {
1464 id = settings.Id,
1465 cssclass = settings.CssClass,
1466 startLevel = settings.StartLevel,
1467 endlevel = settings.EndLevel,
1468 expandmode = settings.Expandmode,
1469 sitemapmode = settings.SitemapMode,
1470 template = settings.Template
1471 });
1472 }
1473 }
1474
1475 @using Dynamicweb.Rapido.Blocks.Components.General
1476 @using Dynamicweb.Rapido.Blocks.Components
1477
1478 @* Component *@
1479
1480 @functions {
1481 void RenderLeftNavigation(LeftNavigation settings) {
1482 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id;
1483 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template;
1484 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel;
1485 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel;
1486 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode;
1487
1488 <div class="grid__cell">
1489 RenderNavigation(settings);
1490 </div>
1491 }
1492 }
1493
1494 @using System.Reflection
1495 @using Dynamicweb.Rapido.Blocks.Components.General
1496 @using Dynamicweb.Core
1497
1498 @* Component *@
1499
1500 @functions {
1501 void RenderHeading(Heading settings)
1502 {
1503 if (settings != null && !string.IsNullOrEmpty(settings.Title))
1504 {
1505 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
1506 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div";
1507
1508 @("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">")
1509 if (!string.IsNullOrEmpty(settings.Link))
1510 {
1511 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None });
1512 }
1513 else
1514 {
1515 if (settings.Icon == null)
1516 {
1517 settings.Icon = new Icon();
1518 }
1519 settings.Icon.Label = settings.Title;
1520 RenderIcon(settings.Icon);
1521 }
1522 @("</" + tagName + ">");
1523 }
1524 }
1525 }
1526
1527 @using Dynamicweb.Rapido.Blocks.Components
1528 @using Dynamicweb.Rapido.Blocks.Components.General
1529 @using Dynamicweb.Rapido.Blocks
1530 @using Dynamicweb.Frontend
1531
1532 @* Component *@
1533
1534 @functions {
1535 void RenderImage(Image settings)
1536 {
1537 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None)
1538 {
1539 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
1540 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); }
1541
1542 if (settings.Caption != null)
1543 {
1544 @:<div>
1545 }
1546
1547 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower();
1548 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower();
1549
1550 <div class="image-filter image-filter--@primaryFilterClass u-position-relative dw-mod" @ComponentMethods.AddAttributes(optionalAttributes)>
1551 <div class="image-filter image-filter--@secondaryFilterClass dw-mod">
1552 @if (settings.Link != null)
1553 {
1554 <a href="@settings.Link">
1555 RenderTheImage(settings);
1556 </a>
1557 }
1558 else
1559 {
1560 RenderTheImage(settings);
1561 }
1562 </div>
1563 </div>
1564
1565 if (settings.Caption != null)
1566 {
1567 <span class="image-caption dw-mod">@settings.Caption</span>
1568 @:</div>
1569 }
1570 }
1571 else
1572 {
1573 if (settings.Caption != null)
1574 {
1575 @:<div>
1576 }
1577 if (!string.IsNullOrEmpty(settings.Link))
1578 {
1579 <a href="@settings.Link">
1580 RenderTheImage(settings);
1581 </a>
1582 }
1583 else
1584 {
1585 RenderTheImage(settings);
1586 }
1587
1588 if (settings.Caption != null)
1589 {
1590 <span class="image-caption dw-mod">@settings.Caption</span>
1591 @:</div>
1592 }
1593 }
1594 }
1595
1596 void RenderTheImage(Image settings)
1597 {
1598 if (settings != null)
1599 {
1600 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg";
1601 string placeholderImage = "/Files/Images/placeholder.gif";
1602 string imageEngine = "/Admin/Public/GetImage.ashx?";
1603
1604 string imageStyle = "";
1605
1606 switch (settings.Style)
1607 {
1608 case ImageStyle.Ball:
1609 imageStyle = "grid__cell-img--ball";
1610 break;
1611
1612 case ImageStyle.Triangle:
1613 imageStyle = "grid__cell-img--triangle";
1614 break;
1615 }
1616
1617 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle)
1618 {
1619 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop;
1620
1621 if (settings.ImageDefault != null)
1622 {
1623 settings.ImageDefault.Height = settings.ImageDefault.Width;
1624 }
1625 if (settings.ImageMedium != null)
1626 {
1627 settings.ImageMedium.Height = settings.ImageMedium.Width;
1628 }
1629 if (settings.ImageSmall != null)
1630 {
1631 settings.ImageSmall.Height = settings.ImageSmall.Width;
1632 }
1633 }
1634
1635 string defaultImage = imageEngine;
1636 string imageSmall = "";
1637 string imageMedium = "";
1638
1639 if (settings.DisableImageEngine)
1640 {
1641 defaultImage = settings.Path;
1642 }
1643 else
1644 {
1645 if (settings.ImageDefault != null)
1646 {
1647 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault);
1648
1649 if (settings.Path.GetType() != typeof(string))
1650 {
1651 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
1652 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
1653 }
1654 else
1655 {
1656 defaultImage += settings.Path != null ? "Image=" + settings.Path : "";
1657 }
1658
1659 defaultImage += "&AlternativeImage=" + alternativeImage;
1660 }
1661
1662 if (settings.ImageSmall != null)
1663 {
1664 imageSmall = "data-src-small=\"" + imageEngine;
1665 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall);
1666
1667 if (settings.Path.GetType() != typeof(string))
1668 {
1669 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
1670 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
1671 }
1672 else
1673 {
1674 imageSmall += settings.Path != null ? "Image=" + settings.Path : "";
1675 }
1676
1677 imageSmall += "&alternativeImage=" + alternativeImage;
1678
1679 imageSmall += "\"";
1680 }
1681
1682 if (settings.ImageMedium != null)
1683 {
1684 imageMedium = "data-src-medium=\"" + imageEngine;
1685 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium);
1686
1687 if (settings.Path.GetType() != typeof(string))
1688 {
1689 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
1690 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
1691 }
1692 else
1693 {
1694 imageMedium += settings.Path != null ? "Image=" + settings.Path : "";
1695 }
1696
1697 imageMedium += "&alternativeImage=" + alternativeImage;
1698
1699 imageMedium += "\"";
1700 }
1701 }
1702
1703 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
1704 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); }
1705 if (!string.IsNullOrEmpty(settings.Title))
1706 {
1707 optionalAttributes.Add("alt", settings.Title);
1708 optionalAttributes.Add("title", settings.Title);
1709 }
1710
1711 if (settings.DisableLazyLoad)
1712 {
1713 <img id="@settings.Id" class="@imageStyle @settings.CssClass dw-mod" src="@defaultImage" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) />
1714 }
1715 else
1716 {
1717
1718 <img id="@settings.Id" class="@imageStyle @settings.CssClass dw-mod" loading="lazy" src="@defaultImage" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) />
1719 }
1720 }
1721 }
1722 }
1723 @using System.Reflection
1724 @using Dynamicweb.Rapido.Blocks.Components.General
1725 @using Dynamicweb.Rapido.Blocks.Components
1726
1727 @* Component *@
1728
1729 @functions {
1730 void RenderHiddenField(HiddenField settings) {
1731 var attributes = new Dictionary<string, string>();
1732 attributes.Add("type", "hidden");
1733 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1734 if (settings.Value != null) { attributes.Add("value", settings.Value); }
1735 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1736
1737 <input @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)/>
1738 }
1739 }
1740
1741 @using System.Reflection
1742 @using Dynamicweb.Rapido.Blocks.Components.General
1743 @using Dynamicweb.Rapido.Blocks.Components
1744
1745 @* Component *@
1746
1747 @functions {
1748 void RenderRadioButtonField(RadioButtonField settings)
1749 {
1750 var attributes = new Dictionary<string, string>();
1751 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id))
1752 {
1753 settings.Id = Guid.NewGuid().ToString("N");
1754 }
1755
1756 /*base settings*/
1757 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1758 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); }
1759 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); }
1760 if (settings.Disabled) { attributes.Add("disabled", "true"); }
1761 if (settings.Required) { attributes.Add("required", "true"); }
1762 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1763 /*end*/
1764
1765 attributes.Add("type", "radio");
1766 if (settings.Checked) { attributes.Add("checked", "true"); }
1767 settings.CssClass = "form__control " + settings.CssClass;
1768 if (settings.Value != null) { attributes.Add("value", settings.Value); }
1769
1770 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value);
1771
1772 <div class="form__field-group @settings.WrapperCssClass dw-mod">
1773 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" />
1774 @if (!string.IsNullOrEmpty(settings.Label))
1775 {
1776 <label for="@settings.Id" class="dw-mod">@settings.Label</label>
1777 }
1778 @if (!string.IsNullOrEmpty(settings.HelpText))
1779 {
1780 <small class="form__help-text">@settings.HelpText</small>
1781 }
1782 Render(new NotificationMessage { Message = settings.ErrorMessage });
1783 </div>
1784 }
1785 }
1786 @using System.Reflection
1787 @using Dynamicweb.Rapido.Blocks.Components.General
1788 @using Dynamicweb.Rapido.Blocks.Components
1789
1790 @* Component *@
1791
1792 @functions{
1793 void RenderRadioButtonListField(RadioButtonListField settings)
1794 {
1795 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; }
1796
1797 <div class="form__field-group @settings.WrapperCssClass u-margin-bottom dw-mod" @ComponentMethods.AddAttributes(settings.ExtraAttributes)>
1798 @if (!string.IsNullOrEmpty(settings.Label))
1799 {
1800 <label>@settings.Label</label>
1801 }
1802 @if (!string.IsNullOrEmpty(settings.HelpText))
1803 {
1804 <small class="form__help-text">@settings.HelpText</small>
1805 }
1806
1807 @foreach (var item in settings.Options)
1808 {
1809 if (settings.Required)
1810 {
1811 item.Required = true;
1812 }
1813 if (settings.Disabled)
1814 {
1815 item.Disabled = true;
1816 }
1817 if (!string.IsNullOrEmpty(settings.Name))
1818 {
1819 item.Name = settings.Name;
1820 }
1821 if (settings.Value != null && settings.Value == item.Value)
1822 {
1823 item.Checked = true;
1824 }
1825 if (!string.IsNullOrEmpty(settings.OnClick))
1826 {
1827 item.OnClick += settings.OnClick;
1828 }
1829 if (!string.IsNullOrEmpty(settings.OnChange))
1830 {
1831 item.OnChange += settings.OnChange;
1832 }
1833 if (!string.IsNullOrEmpty(settings.CssClass))
1834 {
1835 item.CssClass += settings.CssClass;
1836 }
1837 Render(item);
1838 }
1839
1840 Render(new NotificationMessage { Message = settings.ErrorMessage });
1841 </div>
1842 }
1843 }
1844 @using Dynamicweb.Rapido.Blocks.Components.General
1845 @using Dynamicweb.Rapido.Blocks.Components
1846
1847 @* Component *@
1848
1849 @functions {
1850 void RenderForm(Form settings) {
1851 if (settings != null)
1852 {
1853 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
1854 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); };
1855 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); };
1856 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); };
1857 var enctypes = new Dictionary<string, string>
1858 {
1859 { "multipart", "multipart/form-data" },
1860 { "text", "text/plain" },
1861 { "application", "application/x-www-form-urlencoded" }
1862 };
1863 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); };
1864 optionalAttributes.Add("method", settings.Method.ToString());
1865
1866 if (!string.IsNullOrEmpty(settings.FormStartMarkup))
1867 {
1868 @settings.FormStartMarkup
1869 }
1870 else
1871 {
1872 @:<form class="@settings.CssClass u-no-margin dw-mod" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>
1873 }
1874
1875 foreach (var field in settings.GetFields())
1876 {
1877 Render(field);
1878 }
1879
1880 @:</form>
1881 }
1882 }
1883 }
1884
1885 @using System.Reflection
1886 @using Dynamicweb.Rapido.Blocks.Components.General
1887 @using Dynamicweb.Rapido.Blocks.Components
1888
1889 @* Component *@
1890
1891 @functions {
1892 void RenderText(Text settings)
1893 {
1894 @settings.Content
1895 }
1896 }
1897
1898 @using System.Reflection
1899 @using Dynamicweb.Rapido.Blocks.Components.General
1900 @using Dynamicweb.Rapido.Blocks.Components
1901
1902
1903 @* Component *@
1904
1905 @functions {
1906 void RenderContentModule(ContentModule settings) {
1907 if (!string.IsNullOrEmpty(settings.Content))
1908 {
1909 @settings.Content
1910 }
1911 }
1912 }
1913
1914 @using System.Reflection
1915 @using Dynamicweb.Rapido.Blocks.Components.General
1916 @using Dynamicweb.Rapido.Blocks.Components
1917
1918
1919 @* Component *@
1920
1921 @functions {
1922 void RenderModal(Modal settings) {
1923 if (settings != null)
1924 {
1925 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
1926
1927 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : "";
1928
1929 <input type="checkbox" id="@(modalId)ModalTrigger" class="modal-trigger" @onchange />
1930
1931 <div class="modal-container">
1932 @if (!settings.DisableDarkOverlay)
1933 {
1934 <label for="@(modalId)ModalTrigger" id="@(modalId)ModalOverlay" class="modal-overlay"></label>
1935 }
1936 <div class="modal modal--@settings.Width.ToString().ToLower() modal-height--@settings.Height.ToString().ToLower()" id="@(modalId)Modal">
1937 @if (settings.Heading != null)
1938 {
1939 if (!string.IsNullOrEmpty(settings.Heading.Title))
1940 {
1941 <div class="modal__header">
1942 RenderHeading(settings.Heading);
1943 </div>
1944 }
1945 }
1946 <div class="modal__body @(settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "")">
1947 @if (!string.IsNullOrEmpty(settings.BodyText))
1948 {
1949 @settings.BodyText
1950 }
1951 @if (settings.BodyTemplate != null)
1952 {
1953 @settings.BodyTemplate
1954 }
1955 @{
1956 var actions = settings.GetActions();
1957 }
1958 </div>
1959 @if (actions.Length > 0)
1960 {
1961 <div class="modal__footer">
1962 @foreach (var action in actions)
1963 {
1964 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") {
1965 action.CssClass += " u-no-margin";
1966 } else {
1967 action.CssClass += " u-full-width u-margin-bottom";
1968 }
1969
1970 Render(action);
1971 }
1972 </div>
1973 }
1974 <label class="modal__close-btn" for="@(modalId)ModalTrigger"></label>
1975 </div>
1976 </div>
1977 }
1978 }
1979 }
1980 @using Dynamicweb.Rapido.Blocks.Components.General
1981
1982 @* Component *@
1983
1984 @functions {
1985 void RenderMediaListItem(MediaListItem settings)
1986 {
1987 <div class="media-list-item @settings.CssClass dw-mod" @(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "")>
1988 @if (!string.IsNullOrEmpty(settings.Label))
1989 {
1990 if (!string.IsNullOrEmpty(settings.Link))
1991 {
1992 Render(new Link
1993 {
1994 Href = settings.Link,
1995 CssClass = "media-list-item__sticker dw-mod",
1996 ButtonLayout = ButtonLayout.None,
1997 Title = settings.Label,
1998 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
1999 });
2000 }
2001 else if (!string.IsNullOrEmpty(settings.OnClick))
2002 {
2003 <span class="media-list-item__sticker dw-mod" onclick="@(settings.OnClick)">
2004 <span class="u-uppercase">@settings.Label</span>
2005 </span>
2006 }
2007 else
2008 {
2009 <span class="media-list-item__sticker media-list-item__sticker--no-link dw-mod">
2010 <span class="u-uppercase">@settings.Label</span>
2011 </span>
2012 }
2013 }
2014 <div class="media-list-item__wrap">
2015 <div class="media-list-item__info dw-mod">
2016 <div class="media-list-item__header dw-mod">
2017 @if (!string.IsNullOrEmpty(settings.Title))
2018 {
2019 if (!string.IsNullOrEmpty(settings.Link))
2020 {
2021 Render(new Link
2022 {
2023 Href = settings.Link,
2024 CssClass = "media-list-item__name dw-mod",
2025 ButtonLayout = ButtonLayout.None,
2026 Title = settings.Title,
2027 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
2028 });
2029 }
2030 else if (!string.IsNullOrEmpty(settings.OnClick))
2031 {
2032 <span class="media-list-item__name dw-mod" onclick="@(settings.OnClick)">@settings.Title</span>
2033 }
2034 else
2035 {
2036 <span class="media-list-item__name media-list-item__name--no-link dw-mod">@settings.Title</span>
2037 }
2038 }
2039
2040 @if (!string.IsNullOrEmpty(settings.Status))
2041 {
2042 <div class="media-list-item__state dw-mod">@settings.Status</div>
2043 }
2044 </div>
2045 @{
2046 settings.InfoTable.CssClass += " media-list-item__parameters-table";
2047 }
2048
2049 Render(settings.InfoTable);
2050 </div>
2051 <div class="media-list-item__actions dw-mod">
2052 <div class="media-list-item__actions-list dw-mod">
2053 @{
2054 var actions = settings.GetActions();
2055
2056 foreach (ButtonBase action in actions)
2057 {
2058 action.ButtonLayout = ButtonLayout.None;
2059 action.CssClass += " media-list-item__action link";
2060
2061 Render(action);
2062 }
2063 }
2064 </div>
2065
2066 @if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title))
2067 {
2068 settings.SelectButton.CssClass += " u-no-margin";
2069
2070 <div class="media-list-item__action-button">
2071 Render(settings.SelectButton);
2072 </div>
2073 }
2074 </div>
2075 </div>
2076 </div>
2077 }
2078 }
2079
2080
2081 @using Dynamicweb.Rapido.Blocks.Components.General
2082 @using Dynamicweb.Rapido.Blocks.Components
2083
2084 @functions {
2085 void RenderTable(Table settings)
2086 {
2087 Dictionary<string, string> attributes = new Dictionary<string, string>();
2088 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
2089
2090 var enumToClasses = new Dictionary<TableDesign, string>
2091 {
2092 { TableDesign.Clean, "table--clean" },
2093 { TableDesign.Bordered, "table--bordered" },
2094 { TableDesign.Striped, "table--striped" },
2095 { TableDesign.Hover, "table--hover" },
2096 { TableDesign.Compact, "table--compact" },
2097 { TableDesign.Condensed, "table--condensed" },
2098 { TableDesign.NoTopBorder, "table--no-top-border" }
2099 };
2100 string tableDesignClass = "";
2101 if (settings.Design != TableDesign.None)
2102 {
2103 tableDesignClass = enumToClasses[settings.Design];
2104 }
2105
2106 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); }
2107
2108 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
2109
2110 <table @ComponentMethods.AddAttributes(resultAttributes)>
2111 @if (settings.Header != null)
2112 {
2113 <thead>
2114 Render(settings.Header);
2115 </thead>
2116 }
2117 <tbody>
2118 @foreach (var row in settings.Rows)
2119 {
2120 Render(row);
2121 }
2122 </tbody>
2123 @if (settings.Footer != null)
2124 {
2125 <tfoot>
2126 Render(settings.Footer);
2127 </tfoot>
2128 }
2129 </table>
2130 }
2131 }
2132 @using Dynamicweb.Rapido.Blocks.Components.General
2133 @using Dynamicweb.Rapido.Blocks.Components
2134
2135 @functions {
2136 void RenderTableRow(TableRow 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<TableRowDesign, string>
2142 {
2143 { TableRowDesign.NoBorder, "table__row--no-border" },
2144 { TableRowDesign.Border, "table__row--border" },
2145 { TableRowDesign.TopBorder, "table__row--top-line" },
2146 { TableRowDesign.BottomBorder, "table__row--bottom-line" },
2147 { TableRowDesign.Solid, "table__row--solid" }
2148 };
2149
2150 string tableRowDesignClass = "";
2151 if (settings.Design != TableRowDesign.None)
2152 {
2153 tableRowDesignClass = enumToClasses[settings.Design];
2154 }
2155
2156 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); }
2157
2158 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
2159
2160 <tr @ComponentMethods.AddAttributes(resultAttributes)>
2161 @foreach (var cell in settings.Cells)
2162 {
2163 if (settings.IsHeaderRow)
2164 {
2165 cell.IsHeader = true;
2166 }
2167 Render(cell);
2168 }
2169 </tr>
2170 }
2171 }
2172 @using Dynamicweb.Rapido.Blocks.Components.General
2173 @using Dynamicweb.Rapido.Blocks.Components
2174 @using Dynamicweb.Core
2175
2176 @functions {
2177 void RenderTableCell(TableCell settings)
2178 {
2179 Dictionary<string, string> attributes = new Dictionary<string, string>();
2180 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
2181 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); }
2182 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); }
2183 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); }
2184
2185 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
2186
2187 string tagName = settings.IsHeader ? "th" : "td";
2188
2189 @("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">")
2190 @settings.Content
2191 @("</" + tagName + ">");
2192 }
2193 }
2194 @* <h1>ArticleComponents.cshtml</h1> *@
2195
2196 @{
2197 Context.Current.Response.AddHeader("access-control-allow-origin", "*");
2198
2199 string bodyClass = "";
2200 string template = "real";
2201 string TemplateUrl = "/Files/Templates/Designs/rm/";
2202 string MetaTitle = Model.Title;
2203 string MetaDescription = Model.Description;
2204 string MetaKeywords = Model.Keywords;
2205 string searchClass = "";
2206
2207 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css"));
2208 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}";
2209
2210 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg";
2211
2212 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2");
2213
2214 // Indstillinger
2215 var settings_Frontpage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : "";
2216 var settings_Boligside = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : "";
2217 var settings_Maeglersogning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : "";
2218 var settings_MinSide = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : "";
2219 var settings_Sibling_Site = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : "";
2220 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : "";
2221 var settings_Product_Group = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : "";
2222 var settings_Boligagent = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : "";
2223 var settings_Persondatapolitik = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : "";
2224
2225 // API
2226 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : "";
2227 var settings_BoligListFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : "";
2228 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : "";
2229 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : "";
2230 var settings_BoligCountFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : "";
2231 var settings_BoligMapFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : "";
2232 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"];
2233
2234 // Forside
2235 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : "";
2236 var settings_FrontpageVideo = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : "";
2237 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : "";
2238
2239 // Tracking
2240 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : "";
2241 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"])))
2242 {
2243 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]);
2244 }
2245 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : "";
2246 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : "";
2247 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : "";
2248 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]);
2249 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]);
2250 var settings_Google_Optimize_Id = Converter.ToString(SettingsItem["Google_Optimize_Id"]);
2251
2252 // Indstillinger for brugerfunktioner
2253 var settings_ForgotPwPage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : "";
2254 var settings_NewsletterSignup = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : "";
2255 var settings_CreateUserModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : "";
2256 var settings_LoginModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : "";
2257
2258 int createUserParagraphId = 0;
2259 int loginParagraphId = 0;
2260 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId);
2261 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId);
2262
2263 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv.
2264 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv)
2265 int searchPageId = GetPageSettingsPageId("Boligside");
2266 if (searchPageId == 0)
2267 {
2268 searchPageId = GetWebsiteSettingsPageId("Boligside");
2269 }
2270
2271 int boligsideId = GetPageSettingsPageId("Boligside");
2272 if (boligsideId == 0)
2273 {
2274 boligsideId = GetWebsiteSettingsPageId("Boligside");
2275 }
2276
2277 string productGroupFilter = String.Empty;
2278 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null)
2279 {
2280 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString();
2281 }
2282
2283 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"]))
2284 {
2285 searchClass = "is-frontpage";
2286 }
2287
2288 bool isErhverv = false;
2289 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null)
2290 {
2291 var s = Pageview.Page.PropertyItem["Erhverv"].ToString();
2292 Boolean.TryParse(s, out isErhverv);
2293 }
2294
2295 bool isBrokerPage = false;
2296 if (!string.IsNullOrEmpty(Model.Area.Item.GetString("M_glerGruppeId")))
2297 {
2298 isBrokerPage = true;
2299 bodyClass = ""; // Get rid of transparent header on brokerPage
2300 }
2301
2302 string callTrackingId = Model.Item.GetString("CallTrackingId");
2303
2304 RealEstate.User.Model.BrokerEmployee MyBroker = null;
2305 try
2306 {
2307 var MyB = new RealEstate.User.MyBroker();
2308 MyBroker = MyB.GetMyBroker();
2309 }
2310 catch
2311 {
2312 // Ignore
2313 }
2314
2315 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : "");
2316 string querySearchNameAttr = "search";
2317
2318 // Overwrite search with zipcodeinterval if set
2319 if (Context.Current.Request.QueryString["zipcodeinterval"] != null)
2320 {
2321 querySearch = Context.Current.Request.QueryString["zipcodeinterval"];
2322 querySearchNameAttr = "zipcodeinterval";
2323 }
2324
2325 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : "");
2326 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : "");
2327
2328 Dynamicweb.Security.UserManagement.User user = null;
2329 int userID = 0;
2330 string userName = "";
2331 string userEmail = "";
2332 string userPhone = "";
2333 string userZip = "";
2334 string userAddress = "";
2335
2336 if (Dynamicweb.Security.UserManagement.UserContext.Current.IsLoggedOn)
2337 {
2338 user = Dynamicweb.Security.UserManagement.UserContext.Current.User;
2339 userName = user.Name;
2340 userEmail = user.Email;
2341 userPhone = user.Phone;
2342 userZip = user.Zip;
2343 userAddress = user.Address;
2344 userID = user.ID;
2345 }
2346
2347 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode");
2348 string forgotPwTemplate = "";
2349 string forgotPwSender = "";
2350 string markerColor = "";
2351 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png";
2352
2353 // Important - e-mail templates for forgotPw must be placed in "UserManagement/Login" folder
2354 forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml";
2355 forgotPwSender = "noreply@mailreal.dk";
2356 markerColor = "#213960";
2357
2358 var butikId = string.Empty;
2359 string bEmail = string.Empty;
2360 if (MyBroker != null && MyBroker.Broker != null)
2361 {
2362 butikId = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
2363 bEmail = MyBroker.Broker.Item().GetString("Email");
2364 }
2365
2366 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment"));
2367
2368 var termsMail = "info@realmaeglerne.dk";
2369 }
2370
2371 <!DOCTYPE html>
2372 <html>
2373 <head>
2374 <meta charset="utf-8">
2375 <title>@MetaTitle</title>
2376 <meta name="viewport" content="width=device-width, initial-scale=1.0">
2377 <meta name="description" content="@MetaDescription">
2378 <meta name="keywords" content="@MetaKeywords">
2379 <meta name="format-detection" content="telephone=no">
2380 <meta http-equiv="Expires" content="60">
2381 <meta name="robots" content="@(Pageview.Area.Noindex ? "noindex" : "index"),@(Pageview.Area.Nofollow ? "nofollow" : "follow")">
2382
2383 @*RICH SNIPPETS*@
2384
2385 @RenderSnippet("OpenGraphTags")
2386 @if (!string.IsNullOrEmpty(settings_Google_Optimize_Id))
2387 {
2388 <!-- Google optimize script-->
2389 <script src="https://www.googleoptimize.com/optimize.js?id=@settings_Google_Optimize_Id"></script>
2390 }
2391 <!-- TrustBox script -->
2392 <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script>
2393 <!-- End TrustBox script -->
2394
2395 <script type="application/ld+json">
2396 {
2397 "context": "https://schema.org/",
2398 "@@type": "WebSite",
2399 "name": "RealMæglerne",
2400 "url": "https://www.realmaeglerne.dk/",
2401 "potentialAction": {
2402 "type": "SearchAction",
2403 "target": "https://www.realmaeglerne.dk/find-maegler?q={search_term_string}",
2404 "query-input": "required name=search_term_string"
2405 }
2406 }
2407 </script>
2408
2409 <script type="application/ld+json">
2410 {
2411 "context": "https://schema.org",
2412 "@@type": "Corporation",
2413 "name": "RealMæglerne",
2414 "alternateName": "R&B Mægler A/S",
2415 "url": "https://www.realmaeglerne.dk",
2416 "logo": "https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png",
2417 "contactPoint": {
2418 "type": "ContactPoint",
2419 "telephone": "+4570237153",
2420 "contactType": "sales",
2421 "areaServed": "DK",
2422 "availableLanguage": "Danish"
2423 },
2424 "sameAs": [
2425 "https://www.facebook.com/realmaeglerne/",
2426 "https://www.linkedin.com/company/realmæglerne/",
2427 "https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g",
2428 "https://www.realmaeglerne.dk/"
2429 ]
2430 }
2431 </script>
2432 @RenderSnippet("StructuredData")
2433 @*RICH SNIPPETS END*@
2434
2435 @*FONT AWESOME*@
2436 @{
2437 <link rel="stylesheet" href="@(TemplateUrl)assets/fontawesome/css/all.css" async />
2438 <link rel="stylesheet" href="@mainCSS" async />
2439
2440 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
2441 {
2442 var cssErhvervFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/erhverv.min.css"));
2443 string erhvervCSS = TemplateUrl + $"assets/dist/css/erhverv.min.css?{cssErhvervFileInfo.LastWriteTime.Ticks}";
2444 <link rel="stylesheet" href="@erhvervCSS" async>
2445 }
2446 }
2447
2448
2449 <link rel="icon" type="image/ico" href="@(TemplateUrl)assets/images/favicons/favicon-real.ico?v=1">
2450 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-16x16.png" sizes="16x16">
2451 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-32x32.png" sizes="32x32">
2452 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-96x96.png" sizes="96x96">
2453 <meta name="google-site-verification" content="hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg" />
2454
2455 @if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString()))
2456 {
2457 <script>
2458 window.dataLayer = window.dataLayer || []; // must be placed above GTM script
2459 </script>
2460 <!-- Google Tag Manager -->
2461 <script>
2462 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
2463 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
2464 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
2465 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
2466 })(window,document,'script','dataLayer','@settings_Google_Tag_Manager_ID');</script>
2467 <!-- End Google Tag Manager -->
2468 }
2469
2470 @if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId))
2471 {
2472 <script type="text/javascript" src="https://call.call-tracking.dk/getJavascript?custid=@callTrackingId"></script>
2473 }
2474
2475 @if (!String.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString()))
2476 {
2477 <!-- Begin Leadhub Pixel Code -->
2478 <script>
2479 (function(w,d,x,n,u,t,f,s,o){
2480 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){
2481 (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)
2482 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '@settings_Leadhub_Pixel_ID');
2483 lhi('pageview');
2484 </script>
2485 <!-- End Leadhub Pixel Code -->
2486 }
2487
2488 <script>
2489 // Global namespace used for fetching API feeds from DW
2490 var RMAPI = (RMAPI) ? RMAPI : {};
2491 var ApiPreFix = "/Default.aspx?ID=";
2492 RMAPI.BoligCountFeed = ApiPreFix + "@settings_BoligCountFeed";
2493 RMAPI.BoligListFeed = ApiPreFix + "@settings_BoligListFeed" + "&refpageid=@Pageview.Page.ID";
2494 RMAPI.BoligListFeedErhverv = "@settings_BoligListFeedErhverv";
2495 RMAPI.BoligListFeedMaegler = ApiPreFix + "@settings_BoligListFeedMaegler" + "&refpageid=@Pageview.Page.ID";
2496 RMAPI.BoligSearchFeed = ApiPreFix + "@settings_BoligSearchFeed";
2497 RMAPI.BoligMapFeed = ApiPreFix + "@settings_BoligMapFeed";
2498 RMAPI.Boligagent = "@settings_Boligagent";
2499 RMAPI.IsErhverv = @isErhverv.ToString().ToLower();
2500 RMAPI.ProductGroupFilter = "@productGroupFilter";
2501 RMAPI.ButikId = "@butikId";
2502 RMAPI.Boligvisning = false;
2503 RMAPI.RefPageId = "@Pageview.Page.ID";
2504 RMAPI.Template = "@template";
2505 RMAPI.SliderSettings = @JsonConvert.SerializeObject(Settings.Site);
2506 RMAPI.AdvisorSearchFeed = "@settings_AdvisorSearchFeed";
2507 RMAPI.LoadingIcon = "@loadingIcon";
2508 RMAPI.MarkerColor = "@markerColor";
2509 RMAPI.mapMarkerUrl = "@mapMarkerUrl";
2510 RMAPI.settings_ForgotPwPage = "@settings_ForgotPwPage";
2511 </script>
2512
2513 @if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString()))
2514 {
2515 <!-- Facebook Pixel Code -->
2516 <script>
2517 !function (f, b, e, v, n, t, s) {
2518 if (f.fbq) return; n = f.fbq = function () {
2519 n.callMethod ?
2520 n.callMethod.apply(n, arguments) : n.queue.push(arguments)
2521 };
2522 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';
2523 n.queue = []; t = b.createElement(e); t.async = !0;
2524 t.src = v; s = b.getElementsByTagName(e)[0];
2525 s.parentNode.insertBefore(t, s)
2526 }(window, document, 'script',
2527 'https://connect.facebook.net/en_US/fbevents.js');
2528 fbq('init', '@settings_Facebook_App_ID');
2529 fbq('track', 'PageView');
2530 </script>
2531 <noscript>
2532 <img height="1" width="1" src="https://www.facebook.com/tr?id=@settings_Facebook_App_ID&ev=PageView&noscript=1" />
2533 </noscript>
2534 <!-- End Facebook Pixel Code -->
2535 }
2536
2537 <script type='text/javascript' src='https://platform-api.sharethis.com/js/sharethis.js#property=5d68cfaf5fea9f001288d9ac&product=inline-share-buttons' async='async'></script>
2538
2539 </head>
2540
2541 <body class="@template@bodyClass" data-spforgotpwtemplate="@forgotPwTemplate" data-spforgotpwsender="@forgotPwSender" data-spforgotpwsubject="@forgotPwSubject" data-spsalesassesmentid="@salesAssessmentPageId">
2542 @{
2543 string logoUrl = TemplateUrl + (!Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg");
2544 }
2545
2546 @if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) && GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
2547 {
2548 <div class="top-search">
2549 <div class="header logo">
2550 <div class="logo">
2551 <a href="/erhverv">
2552 <img src="@logoUrl" alt="RealMæglerne" />
2553 </a>
2554 </div>
2555 </div>
2556 <div class="top-form mx-auto">
2557 <form id="main-search-top" class="js-top-search" action="/Default.aspx" method="GET">
2558 @{
2559
2560 var settings_BoligListErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoliglisteErhverv"])) ? Converter.ToString(SettingsItem["BoliglisteErhverv"]).Replace("Default.aspx?Id=", "") : "";
2561 }
2562 <input type="hidden" name="ID" value='@settings_BoligListErhverv' id="searchPageId-top" disabled="disabled" />
2563
2564 @if (Context.Current.Request["type"] == "egetforbrug")
2565 {
2566 <input name="type" type="hidden" value="egetforbrug" />
2567 <input name="investeringsejendom" type="hidden" value="0" />
2568 }
2569 <div class="row form-wrapper no-gutters">
2570 <div class="col-xs-12 col-md-4 col-lg-5 col-searchbar">
2571 <div class="searchbar float-label-container text-left">
2572 <label class="float-label">@Translate("Smartpage:Erhver.Postnummer, by, vej eller sagsnummer", "Postnummer, by, vej eller sagsnummer")</label>
2573 <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)" />
2574 </div>
2575 </div>
2576 <div class="col-xs-12 col-md-5">
2577 <div class="row no-gutters">
2578 <div class="col-xs-12 col-md-6 input-col">
2579 <div class="dropdown w-overlay float-label-container">
2580 <label class="float-label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">@Translate("Smartpage:Search.Erhverv.Lokaletype", "Lokaletype")</label>
2581 <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>
2582 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
2583 <ul class="bolig-dropdown list-unstyled">
2584 @{
2585 RenderBoligTypeErhverv();
2586 }
2587 </ul>
2588 <span class="border-fat"></span>
2589 <div class="d-none d-md-block">
2590 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2591 </div>
2592 <div class="d-flex row d-md-none">
2593 <div class="col-6">
2594 <button class="btn btn-danger js-remove-filter">@Translate("Smartpage:Search.Annuller", "Annuller")</button>
2595 </div>
2596 <div class="col-6">
2597 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2598 </div>
2599 </div>
2600 </div>
2601
2602 </div>
2603 </div>
2604 <div class="col-xs-12 col-md-6 input-col">
2605 <div class="btn-dropdown p-3 border-top-bottom-right">
2606 <ul class="two-column list-unstyled">
2607 <li>
2608 <label class="checkbox-container">
2609 @Translate("Smartpage:Search.Erhverv.Leje", "Leje")
2610 <input type="checkbox" name="propertytype" value="leje" class="js-input-check" />
2611 <span class="checkmark"></span>
2612 </label>
2613 </li>
2614 <li>
2615 <label class="checkbox-container">
2616 @Translate("Smartpage:Search.Erhverv.Køb", "Køb")
2617 <input type="checkbox" name="propertytype" value="kob" class="js-input-check" />
2618 <span class="checkmark"></span>
2619 </label>
2620 </li>
2621 </ul>
2622 </div>
2623
2624 </div>
2625 </div>
2626 </div>
2627 <div class="col-xs-12 col-md-3 col-lg-2 d-none d-md-block">
2628 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
2629 </div>
2630 </div>
2631 </form>
2632 </div>
2633 </div>
2634 }
2635
2636 @if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
2637 {
2638 <div class="header shortcuts">
2639 <div class="header-shortcuts float-right">
2640 @if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
2641 {
2642 <a href='' class="search-menu d-none d-xl-flex align-items-center float-left border-right js-mainsearch topsearch @searchClass">
2643 <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>
2644 </a>
2645 }
2646 <div class="menu-slide d-flex align-items-center">
2647 <b></b>
2648 <span class="menu-text hidden d-md-block">Menu</span>
2649 </div>
2650 </div>
2651
2652
2653 </div>
2654 }
2655 else
2656 {
2657 <div class="header__container container">
2658 <div class="header__logo">
2659 <a href="/" title="">
2660 <img src="@(logoUrl)" alt="" />
2661 </a>
2662 </div>
2663 <div class="header__title">
2664 <span>@Translate("Custom:Header.Title", "RealMæglerne")</span>
2665 </div>
2666 @if (userID > 0)
2667 {
2668 <div class="header__navigation d-none d-md-flex">
2669 <div class="header__navigation">
2670 <div class="header__Link">
2671 <ul>
2672 <li class="d-flex align-items-center">
2673 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2674 <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" />
2675 </svg>
2676 <a class="ml-2"
2677 href="/Default.aspx?ID=@settings_MinSide"
2678 target="_blank"
2679 aria-label="@Translate("Custom:Accessibility.MyAccountLink", "Gå til Mit RealMæglerne - åbner i nyt vindue")">
2680 @Translate("Mit RealMæglerne")
2681 </a>
2682 </li>
2683 </ul>
2684 </div>
2685 </div>
2686 </div>
2687
2688 }
2689 else
2690 {
2691 <div class="header__navigation d-none d-md-flex">
2692 <div class="header__navigation">
2693 <div class="header__Link">
2694 <ul>
2695 <li class="d-flex align-items-center">
2696 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2697 <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" />
2698 </svg>
2699 <a class="ml-2"
2700 href="javascript:panelLogin()"
2701 aria-label="@Translate("Custom:Accessibility.Login", "Login - åbner i sidepanel")">
2702 @Translate("Login")
2703 </a>
2704 </li>
2705 </ul>
2706 </div>
2707 </div>
2708 </div>
2709 }
2710 <div class="header__search flex-column flex-md-row js-mainsearch">
2711 @Translate("Søg bolig")
2712 </div>
2713 <div class="header__navigation">
2714 <div class="header__navigation-icon menu-slide">
2715 <div class="d-none d-md-block">
2716 @Translate("Menu")
2717 </div>
2718 </div>
2719 </div>
2720 </div>
2721 }
2722
2723 <div class="search-modal">
2724
2725 @if (Converter.ToString(Pageview.Area.Item["Type"]) == "real")
2726 {
2727 <div class="main-search-form">
2728 <i class="fal fa-times float-right fa-2x js-close-search close-search"></i>
2729 <div class="row mb-3 align-items-center">
2730 <div class="col-xs-12 col-md-3 border-right">
2731 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
2732 </div>
2733 <div class="col-xs-12 col-md-9 home-count d-none d-md-block">
2734 <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>
2735
2736 </div>
2737 </div>
2738
2739 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
2740 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
2741 <div class="row form-wrapper no-gutters">
2742
2743 <div class="col-xs-12 col-md-5 col-searchbar">
2744 <div class="searchbar">
2745 <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)" />
2746 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" />
2747 <input type="hidden" id="zipcodeto" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" />
2748 </div>
2749 </div>
2750 <div class="col-xs-12 col-md-5">
2751 <div class="row no-gutters">
2752 <div class="col-xs-12 col-md-6 input-col">
2753 <div class="dropdown">
2754 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2755 @Translate("Smartpage:Search.Boligtype", "Boligtype")
2756 </button>
2757 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
2758 <ul class="bolig-dropdown list-unstyled">
2759 @{
2760 RenderBoligtypeCheckboxesDropdown();
2761 }
2762 </ul>
2763 <span class="border-fat"></span>
2764 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2765 </div>
2766
2767 </div>
2768
2769 </div>
2770 <div class="col-xs-12 col-md-6 input-col">
2771 <div class="dropdown">
2772 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2773 @Translate("Smartpage:Search.Pris", "Pris")
2774 </button>
2775 <div class="dropdown-menu box-shadow dropdown-price js-dropdown-price" aria-labelledby="Pris">
2776 <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"] : "")' />
2777 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
2778 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
2779 @for (var i = 0; i <= 10000000; i += 100000)
2780 {
2781 if (i == 10000000)
2782 {
2783 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
2784 }
2785 else
2786 {
2787 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
2788 }
2789 }
2790 </select>
2791
2792 <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"] : "")' />
2793 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
2794 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
2795 @for (var i = 0; i <= 10000000; i += 100000)
2796 {
2797 if (i == 10000000)
2798 {
2799 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
2800 }
2801 else
2802 {
2803 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
2804 }
2805 }
2806 </select>
2807 </div>
2808 </div>
2809 </div>
2810 </div>
2811 </div>
2812 <div class="col-xs-12 col-md-2 d-none d-md-block">
2813 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
2814 </div>
2815 </div>
2816
2817 <div class="row moresearch-btn no-gutters">
2818 <div class="col-sm-12">
2819 <div class="row align-items-center no-gutters">
2820 <div class="col-12 col-md-4">
2821 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch">
2822 <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>
2823 </button>
2824 </div>
2825 <div class="col-6 col-md-2 mb-xs-4">
2826 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
2827 </div>
2828 </div>
2829
2830 <div class="collapse" id="moreSearch-master">
2831
2832 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
2833 <div class="row align-items-end mb-30">
2834 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2835 <div class="filter-container row">
2836 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
2837 <div class="col-6 pr-sm-0 pr-2">
2838 <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"] : "")' />
2839 <select class="form-control js-boligarealmin-frontpage-select js-count">
2840 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
2841 @for (var i = 0; i <= 300; i += 10)
2842 {
2843 if (i == 300)
2844 {
2845 <option>@i+</option>
2846 }
2847 else
2848 {
2849 <option>@i</option>
2850 }
2851 }
2852 </select>
2853
2854 </div>
2855 <div class="col-6 pl-sm-0 pl-2">
2856 <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"] : "")' />
2857 <select class="form-control js-boligarealmax-frontpage-select js-count">
2858 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
2859 @for (var i = 0; i <= 300; i += 10)
2860 {
2861 if (i == 300)
2862 {
2863 <option>@i+</option>
2864 }
2865 else
2866 {
2867 <option>@i</option>
2868 }
2869 }
2870 </select>
2871
2872 </div>
2873 </div>
2874 </div>
2875 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2876 <div class="filter-container row">
2877 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
2878 <div class="col-6 pr-sm-0 pr-2">
2879 <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"] : "")' />
2880 <select class="form-control js-grundarealmin-frontpage-select js-count">
2881 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
2882 @for (var i = 0; i <= 10000; i += 100)
2883 {
2884 if (i == 10000)
2885 {
2886 <option>@i+</option>
2887 }
2888 else
2889 {
2890 <option>@i</option>
2891 }
2892 }
2893 </select>
2894 </div>
2895 <div class="col-6 pl-sm-0 pl-2">
2896 <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"] : "")' />
2897 <select class="form-control js-grundarealmax-frontpage-select js-count">
2898 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
2899 @for (var i = 0; i <= 10000; i += 100)
2900 {
2901 if (i == 10000)
2902 {
2903 <option>@i+</option>
2904 }
2905 else
2906 {
2907 <option>@i</option>
2908 }
2909 }
2910 </select>
2911 </div>
2912 </div>
2913 </div>
2914 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2915 <div class="filter-container row">
2916 <label class="d-block col-12">Antal rum</label>
2917 <div class="col-6 pr-sm-0 pr-2">
2918 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
2919 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
2920 @{
2921 RenderSelectValue("1", "1", "roomsmin");
2922 RenderSelectValue("2", "2", "roomsmin");
2923 RenderSelectValue("3", "3", "roomsmin");
2924 RenderSelectValue("4", "4", "roomsmin");
2925 RenderSelectValue("5+", "5", "roomsmin");
2926 }
2927 </select>
2928 </div>
2929 <div class="col-6 pl-sm-0 pl-2">
2930 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
2931 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
2932 @{
2933 RenderSelectValue("1", "1", "roomsmax");
2934 RenderSelectValue("2", "2", "roomsmax");
2935 RenderSelectValue("3", "3", "roomsmax");
2936 RenderSelectValue("4", "4", "roomsmax");
2937 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax");
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="row">
2945 <div class="col-12 pr-2">
2946 <div class="filter-container">
2947 <label class="d-block">Energimærke</label>
2948 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
2949 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
2950 <option value="01">G</option>
2951 <option value="02">F</option>
2952 <option value="03">E</option>
2953 <option value="04">D</option>
2954 <option value="05">C</option>
2955 <option value="06">B</option>
2956 <option value="07">A</option>
2957 <option value="08">A2010</option>
2958 <option value="09">A2015</option>
2959 <option value="10">A2020+</option>
2960 </select>
2961 </div>
2962 </div>
2963 </div>
2964 </div>
2965 <div class="col-12 col-sm-6 col-lg-3 mt-3">
2966 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
2967 <div class="filter-container row">
2968 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
2969 <div class="col-6 pr-sm-0 pr-2">
2970 <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"] : "")' />
2971 <select class="form-control js-subsidymin-frontpage-select js-count">
2972 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
2973 @for (var i = 0; i <= 25000; i += 1250)
2974 {
2975 if (i == 25000)
2976 {
2977 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
2978 }
2979 else
2980 {
2981 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
2982 }
2983 }
2984 </select>
2985 </div>
2986 <div class="col-6 pl-sm-0 pl-2">
2987 <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"] : "")' />
2988 <select class="form-control js-subsidymax-frontpage-select js-count">
2989 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
2990 @for (var i = 0; i <= 25000; i += 1250)
2991 {
2992 if (i == 25000)
2993 {
2994 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
2995 }
2996 else
2997 {
2998 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
2999 }
3000 }
3001 </select>
3002 </div>
3003 </div>
3004 </div>
3005 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0">
3006 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
3007 </div>
3008 </div>
3009 </div>
3010 </div>
3011 </div>
3012 <div class="row d-block d-md-none form-wrapper no-gutters">
3013 <div class="col-xs-12 col-md-2">
3014 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
3015 </div>
3016 </div>
3017
3018
3019 </form>
3020 </div>
3021 }
3022 else
3023 {
3024 <div class="main-search-form center">
3025 <i class="fal fa-times float-right fa-2x js-close-search"></i>
3026 <div class="row mb-3 align-items-center">
3027 <div class="col-xs-12 col-md-5 border-right">
3028 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
3029 </div>
3030 <div class="col-xs-12 col-md-7 home-count d-none d-md-block">
3031 <span class="search-count" id="searchCounterMain">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span>
3032 </div>
3033 </div>
3034
3035 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
3036 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
3037 <div class="row form-wrapper no-gutters">
3038
3039 <div class="col-12 mb-10">
3040 <div class="searchbar">
3041 <input type="text" name="@querySearchNameAttr" id="searchfield" class="search-input" placeholder="Postnummer, by, vej eller sagsnummer" tabindex="1" value='@querySearch' />
3042 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value='@queryZipCodeFrom' />
3043 <input type="hidden" id="zipcodeto" name="zipcodeto" value='@queryZipCodeTo' />
3044 </div>
3045 </div>
3046 <div class="col-xs-12 col-md-8">
3047 <div class="row no-gutters">
3048 <div class="col-xs-12 col-md-6 input-col">
3049 <div class="dropdown">
3050 <button class="btn btn-dropdown dropdown-toggle reverse js-count" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3051 @Translate("Smartpage:Search.Boligtype", "Boligtype")
3052 </button>
3053 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
3054 <ul class="bolig-dropdown list-unstyled">
3055 @{
3056 RenderBoligtypeCheckboxesDropdown();
3057 }
3058 </ul>
3059 <span class="border-fat"></span>
3060 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
3061 </div>
3062
3063 </div>
3064
3065 </div>
3066 <div class="col-xs-12 col-md-6 input-col">
3067 <div class="dropdown">
3068 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3069 @Translate("Smartpage:Search.Pris", "Pris")
3070 </button>
3071 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris">
3072 <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")' />
3073 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
3074 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
3075 @for (var i = 0; i <= 10000000; i += 100000)
3076 {
3077 if (i == 10000000)
3078 {
3079 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option>
3080 }
3081 else
3082 {
3083 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option>
3084 }
3085 }
3086 </select>
3087
3088 <input type="text" name="pricemax" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")' />
3089 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
3090 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
3091 @for (var i = 0; i <= 10000000; i += 100000)
3092 {
3093 if (i == 10000000)
3094 {
3095 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option>
3096 }
3097 else
3098 {
3099 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option>
3100 }
3101 }
3102 </select>
3103 </div>
3104 </div>
3105 </div>
3106 </div>
3107 </div>
3108 <div class="col-xs-12 col-md-4 d-none d-md-block">
3109 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
3110 </div>
3111 </div>
3112
3113 <div class="row moresearch-btn no-gutters">
3114 <div class="col-sm-12">
3115 <div class="row align-items-center no-gutters">
3116 <div class="col-12 col-md-5">
3117 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch-master">
3118 <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>
3119 </button>
3120 </div>
3121 <div class="col-6 col-md-3 mb-xs-4">
3122 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
3123 </div>
3124 <div class="col-6 col-md-4 mb-xs-4">
3125 <div class="parent-purchases">
3126 <label class="checkbox-container white">
3127 @Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet")
3128 <input type="checkbox" name="foraeldrekoebegnet" value="true" class="js-input-check">
3129 <span class="checkmark grey"></span>
3130 </label>
3131 </div>
3132 </div>
3133 </div>
3134
3135 <div class="collapse" id="moreSearch-master">
3136
3137 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
3138 <div class="row align-items-end mb-30">
3139 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3140 <div class="filter-container row">
3141 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
3142 <div class="col-6 pr-sm-0 pr-2">
3143 <input type="text" name="boligarealmin" id="boligarealmin" class="form-control js-boligarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
3144 <select class="form-control js-boligarealmin-frontpage-select js-count">
3145 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
3146 @for (var i = 0; i <= 300; i += 10)
3147 {
3148 if (i == 300)
3149 {
3150 <option>@i+</option>
3151 }
3152 else
3153 {
3154 <option>@i</option>
3155 }
3156 }
3157 </select>
3158 </div>
3159 <div class="col-6 pl-sm-0 pl-2">
3160 <input type="text" name="boligarealmax" id="boligarealmax" class="form-control js-boligarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
3161 <select class="form-control js-boligarealmax-frontpage-select js-count">
3162 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
3163 @for (var i = 0; i <= 300; i += 10)
3164 {
3165 if (i == 300)
3166 {
3167 <option>@i+</option>
3168 }
3169 else
3170 {
3171 <option>@i</option>
3172 }
3173 }
3174 </select>
3175 </div>
3176 </div>
3177 </div>
3178 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3179 <div class="filter-container row">
3180 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
3181 <div class="col-6 pr-sm-0 pr-2">
3182 <input type="text" name="grundarealmin" id="grundarealmin" class="form-control js-grundarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
3183 <select class="form-control js-grundarealmin-frontpage-select js-count">
3184 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
3185 @for (var i = 0; i <= 10000; i += 100)
3186 {
3187 if (i == 10000)
3188 {
3189 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3190 }
3191 else
3192 {
3193 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3194 }
3195 }
3196 </select>
3197 </div>
3198 <div class="col-6 pl-sm-0 pl-2">
3199 <input type="text" name="grundarealmax" id="grundarealmax" class="form-control js-grundarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
3200 <select class="form-control js-grundarealmax-frontpage-select">
3201 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
3202 @for (var i = 0; i <= 10000; i += 100)
3203 {
3204 if (i == 10000)
3205 {
3206 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3207 }
3208 else
3209 {
3210 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3211 }
3212 }
3213 </select>
3214 </div>
3215 </div>
3216 </div>
3217 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3218 <div class="filter-container row">
3219 <label class="d-block col-12">Antal rum</label>
3220
3221 <div class="col-6 pr-sm-0 pr-2">
3222 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
3223 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
3224 <option value="1">1</option>
3225 <option value="2">2</option>
3226 <option value="3">3</option>
3227 <option value="4">4</option>
3228 <option value="5">5+</option>
3229 </select>
3230 </div>
3231 <div class="col-6 pl-sm-0 pl-2">
3232 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
3233 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
3234 <option value="1">1</option>
3235 <option value="2">2</option>
3236 <option value="3">3</option>
3237 <option value="4">4</option>
3238 <option value="5">5+</option>
3239 </select>
3240 </div>
3241 </div>
3242 </div>
3243 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3244 <div class="row">
3245 <div class="col-12 pr-2">
3246 <div class="filter-container">
3247 <label class="d-block">Energimærke</label>
3248 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
3249 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
3250 <option value="01">G</option>
3251 <option value="02">F</option>
3252 <option value="03">E</option>
3253 <option value="04">D</option>
3254 <option value="05">C</option>
3255 <option value="06">B</option>
3256 <option value="07">A</option>
3257 <option value="08">A2010</option>
3258 <option value="09">A2015</option>
3259 <option value="10">A2020+</option>
3260 </select>
3261 </div>
3262 </div>
3263 </div>
3264 </div>
3265 <div class="col-12 col-sm-6 col-lg-6 mt-3">
3266 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
3267 <div class="filter-container row">
3268 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
3269 <div class="col-6 pr-sm-0 pr-2">
3270 <input type="text" name="subsidymin" id="subsidymin" class="form-control js-subsidymin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Min", "Min")' />
3271 <select class="form-control js-subsidymin-frontpage-select js-count">
3272 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
3273 @for (var i = 0; i <= 25000; i += 1250)
3274 {
3275 if (i == 25000)
3276 {
3277 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3278 }
3279 else
3280 {
3281 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3282 }
3283 }
3284 </select>
3285 </div>
3286 <div class="col-6 pl-sm-0 pl-2">
3287 <input type="text" name="subsidymax" id="subsidymax" class="form-control js-subsidymax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Max", "Max")' />
3288 <select class="form-control js-subsidymax-frontpage-select js-count">
3289 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
3290 @for (var i = 0; i <= 25000; i += 1250)
3291 {
3292 if (i == 25000)
3293 {
3294 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3295 }
3296 else
3297 {
3298 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3299 }
3300 }
3301 </select>
3302 </div>
3303 </div>
3304 </div>
3305 <div class="col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0">
3306 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
3307 </div>
3308 </div>
3309 </div>
3310 </div>
3311 </div>
3312 <div class="row d-block d-md-none form-wrapper no-gutters">
3313 <div class="col-xs-12 col-md-2">
3314 <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>
3315 </div>
3316 </div>
3317
3318
3319 </form>
3320 </div>
3321 }
3322 </div>
3323
3324 @{
3325 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning));
3326 }
3327
3328 @if (isBrokerPage)
3329 {
3330 <section class="maegler-navbar">
3331 @RenderNavigation(new
3332 {
3333 id = "navbar-main",
3334 cssclass = "dwnavigation",
3335 template = "ul_li.xslt",
3336 StartLevel = 1,
3337 EndLevel = 1
3338 })
3339 </section>
3340 }
3341
3342 <div class="visual-editor">
3343 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
3344
3345
3346 @using Dynamicweb.Content.Items
3347 @using Dynamicweb.Rapido.Blocks.Components
3348 @using Dynamicweb.Rapido.Blocks.Components.Articles
3349 @using Dynamicweb.Rapido.Blocks.Components.General
3350 @using Dynamicweb.Rapido.Blocks
3351
3352
3353 @functions {
3354 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage");
3355 }
3356
3357 @{
3358 int pageId = Model.ID;
3359 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus");
3360 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles");
3361 bool showTitle = Model.Item.GetBoolean("ShowTitle");
3362 bool showFilters = Model.Item.GetBoolean("ShowFilters");
3363 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter");
3364 bool showSearch = Model.Item.GetBoolean("ShowSearch");
3365 string dynamicListWidth = enablePopular ? "8" : "12";
3366 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle";
3367
3368 Dictionary<string, string> categoriesList = new Dictionary<string, string>();
3369 categoriesList.Add(Translate("All"), "");
3370
3371 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId))
3372 {
3373 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any())
3374 {
3375 categoriesList.Add(page.GetDisplayName(), page.ID.ToString());
3376 }
3377 }
3378
3379 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields;
3380 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : "";
3381 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : "";
3382 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : "";
3383
3384 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null;
3385 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null;
3386 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null;
3387
3388 Block listPageContainer = new Block
3389 {
3390 Id = "ArticleListPageContainer",
3391 SortId = 10,
3392 Design = new Design
3393 {
3394 RenderType = RenderType.Row
3395 },
3396 BlocksList = new List<Block> {
3397 new Block {
3398 Id = "ArticleListPageHeader",
3399 SortId = 20,
3400 Design = new Design
3401 {
3402 RenderType = RenderType.Column,
3403 Size = "12"
3404 },
3405 BlocksList = new List<Block> {
3406 new Block {
3407 Id = "ArticleListPageHeaderRow",
3408 SortId = 10,
3409 Design = new Design
3410 {
3411 RenderType = RenderType.Row
3412 },
3413 BlocksList = new List<Block> {
3414 new Block {
3415 Id = "ArticleListFilters",
3416 SortId = 30,
3417 Design = new Design {
3418 RenderType = RenderType.Column,
3419 Size = "10",
3420 CssClass = "grid__cell"
3421 }
3422 }
3423 }
3424 }
3425 }
3426 }
3427 }
3428 };
3429 articleListPage.Add(listPageContainer);
3430
3431 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") {
3432 Block listFilters = articleListPage.GetBlockById("ArticleListFilters");
3433 listFilters.Template = RenderMobileFilters(listFilters.BlocksList);
3434 listFilters.SkipRenderBlocksList = true;
3435 }
3436
3437 if (showTitle) {
3438 Block titleBlock = new Block
3439 {
3440 Id = "ArticleListTitle",
3441 SortId = 10,
3442 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 },
3443 Design = new Design
3444 {
3445 RenderType = RenderType.Column,
3446 Size = "2"
3447 }
3448 };
3449 articleListPage.Add("ArticleListPageHeaderRow", titleBlock);
3450 }
3451
3452 if (showSearch)
3453 {
3454 Block searchFilter = new Block
3455 {
3456 Id = "ArticleListSearch",
3457 SortId = 10,
3458 Component = new ArticleListSearch { }
3459 };
3460 articleListPage.Add("ArticleListFilters", searchFilter);
3461 }
3462
3463 if (showCategoryFilter)
3464 {
3465 Block categoryFilter = new Block
3466 {
3467 Id = "ArticleListCategoryFilter",
3468 SortId = 20,
3469 Component = new ArticleListCategoryFilter { Categories = categoriesList }
3470 };
3471 articleListPage.Add("ArticleListFilters", categoryFilter);
3472 }
3473
3474 Block listBody = new Block
3475 {
3476 Id = "ArticleListPageBody",
3477 SortId = 30,
3478 Design = new Design
3479 {
3480 RenderType = RenderType.Column,
3481 Size = dynamicListWidth
3482 }
3483 };
3484 articleListPage.Add("ArticleListPageContainer", listBody);
3485
3486 Block listBodyRow = new Block
3487 {
3488 Id = "ArticleListPageBodyRow",
3489 SortId = 10,
3490 Design = new Design
3491 {
3492 RenderType = RenderType.Row
3493 }
3494 };
3495 articleListPage.Add("ArticleListPageBody", listBodyRow);
3496
3497 if (enableArticlesInFocus) {
3498 Block listInFocus = new Block
3499 {
3500 Id = "ArticleListInFocus",
3501 SortId = 10,
3502 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType },
3503 Design = new Design
3504 {
3505 RenderType = RenderType.Column,
3506 Size = "12",
3507 HidePadding = true
3508 }
3509 };
3510 articleListPage.Add("ArticleListPageBodyRow", listInFocus);
3511 }
3512
3513 Block listMain = new Block
3514 {
3515 Id = "ArticleListMain",
3516 SortId = 20,
3517 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType },
3518 Design = new Design
3519 {
3520 RenderType = RenderType.Column,
3521 Size = "12",
3522 HidePadding = true
3523 }
3524 };
3525 articleListPage.Add("ArticleListPageBodyRow", listMain);
3526
3527 if (enablePopular)
3528 {
3529 Block listPopular = new Block
3530 {
3531 Id = "ArticleListPopular",
3532 SortId = 30,
3533 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType },
3534 Design = new Design
3535 {
3536 RenderType = RenderType.Column,
3537 Size = "4",
3538 CssClass = "u-padding--lg"
3539 }
3540 };
3541 articleListPage.Add("ArticleListPageContainer", listPopular);
3542 }
3543
3544 if (showFilters) {
3545 if (filterOneOptions != null)
3546 {
3547 Block filterOne = new Block
3548 {
3549 Id = "ArticleListFilterOne",
3550 SortId = 30,
3551 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" }
3552 };
3553 articleListPage.Add("ArticleListFilters", filterOne);
3554 }
3555
3556 if (filterTwoOptions != null)
3557 {
3558 Block filterTwo = new Block
3559 {
3560 Id = "ArticleListFilterTwo",
3561 SortId = 40,
3562 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" }
3563 };
3564 articleListPage.Add("ArticleListFilters", filterTwo);
3565 }
3566
3567 if (filterThreeOptions != null)
3568 {
3569 Block filterThree = new Block
3570 {
3571 Id = "ArticleListFilterThree",
3572 SortId = 50,
3573 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" }
3574 };
3575 articleListPage.Add("ArticleListFilters", filterThree);
3576 }
3577 }
3578 }
3579
3580
3581 @* The @RenderBlockList base helper is included in Components/GridBuilder.cshtml *@
3582
3583 @RenderBlockList(articleListPage.BlocksRoot.BlocksList)
3584
3585
3586 <script>
3587 document.getElementById("Page").classList.add("u-color-light-gray--bg");
3588 </script>
3589 </div>
3590
3591 @if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true)
3592 {
3593 string bName = MyBroker.Broker.Name;
3594 string bClass = "na";
3595 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png";
3596
3597 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName))
3598 {
3599 bName = MyBroker.Broker.CompanyName;
3600 }
3601 try
3602 {
3603 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl");
3604 if (!string.IsNullOrEmpty(imgUrl))
3605 {
3606 bImage = imgUrl;
3607 bClass = "";
3608 }
3609 }
3610 catch
3611 {
3612 // Ignore
3613 }
3614
3615 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId");
3616 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
3617
3618 <section class="din-maegler">
3619 <div class="img-wrapper @bClass" style="background-image:url('@bImage')"></div>
3620 <div class="container">
3621 <div class="col-12 col-sm-12 col-md-6 offset-md-6">
3622 <h2>Din personlige mægler</h2>
3623 <div class="row">
3624 <div class="col-12 col-sm-6">
3625 <p>
3626 <b class="my-broker-name">@MyBroker.Employee.Name</b><br>
3627 @if (!string.IsNullOrEmpty(MyBroker.Employee.Email))
3628 {
3629 <text>Mail: <a href="mailto:@(ExtractMaskedEmail(MyBroker.Employee.Email))" class="my-broker-email">@ExtractMaskedEmail(MyBroker.Employee.Email)</a><br></text>
3630 }
3631 @if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile))
3632 {
3633 <text>Tlf.: <a href="tel:@(MyBroker.Employee.PhoneMobile)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Employee.PhoneMobile)</a></text>
3634 }
3635 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
3636 {
3637 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
3638 }
3639 </p>
3640 </div>
3641 <div class="col-12 col-sm-6">
3642 <p>
3643 <b class="my-broker-company-name">@bName</b><br>
3644 <span class="my-broker-company-address">@MyBroker.Broker.Address</span><br>
3645 <span class="my-broker-company-zip">@MyBroker.Broker.ZipCode</span> <span class="my-broker-company-city">@MyBroker.Broker.City</span><br>
3646 @if (!string.IsNullOrEmpty(bEmail))
3647 {
3648 <text>Mail: <a href="mailto:@(bEmail)" class="my-broker-broker-email">@bEmail</a><br></text>
3649 }
3650 @if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
3651 {
3652 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
3653 }
3654 </p>
3655 </div>
3656 </div>
3657 <div class="row">
3658 <br />
3659 <div class="col-12 col-sm-6">
3660 <a href="/@medlemsnummer.Substring(1)" class="btn btn-primary btn-block my-broker-company-url">Til mæglerens side</a>
3661 </div>
3662
3663 </div>
3664 </div>
3665 </div>
3666 </section>
3667 }
3668 <footer>
3669 <div class="container">
3670 <div class="row">
3671 @{
3672 var navigationSettings = new NavigationSettings();
3673 navigationSettings.StartLevel = 1;
3674 navigationSettings.StopLevel = 3;
3675 navigationSettings.ExpandMode = ExpandMode.All;
3676 navigationSettings.RootAreaId = 1;
3677 navigationSettings.RootNavigationTag = "footer-nav";
3678
3679 }
3680 @Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings)
3681 </div>
3682 </div>
3683 </footer>
3684
3685 @if (Model.CurrentUser?.ID <= 0)
3686 {
3687 <div id="panel-login" class="panel panel-form">
3688 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3689 <b></b>
3690 </button>
3691 <div class="loginform login">
3692 @if (loginParagraphId > 0)
3693 {
3694 <text>
3695 @RenderParagraphContent(loginParagraphId)
3696 </text>
3697 }
3698 </div>
3699 <div class="loginform register js-register-form-wrapper" style="display: none;">
3700 @if (createUserParagraphId > 0)
3701 {
3702 <text>
3703 @RenderParagraphContent(createUserParagraphId)
3704 </text>
3705 }
3706 </div>
3707 <div class="loginform forgotpw" style="display: none;">
3708 <h2 class="forgotpw-reg">@Translate("forgot-pw-reg-title", "Glemt adgangskode")</h2>
3709 <h2 class="forgotpw-broker">@Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")</h2>
3710 <form id="forgotPwForm" class="form-body" method="post" action="">
3711 <input type="hidden" id="AccessUserShopID" name="AccessUserShopID" value="SHOP6" />
3712 <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>
3713 <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>
3714 <div class="form-group">
3715 <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 />
3716 </div>
3717 <button class="btn btn-primary btn-block" type="submit">@Translate("forgot-pw-cta", "Nulstil adgangskode")</button>
3718 <br />
3719 <div id="submitMessage"></div>
3720 </form>
3721 </div>
3722 </div>
3723 }
3724
3725 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel>
3726 @using Dynamicweb.Security.UserManagement
3727
3728 @{
3729 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");
3730 }
3731
3732 <div id="panel-kontakt-koeberraadgivning" class="panel panel-form">
3733 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3734 <b></b>
3735 </button>
3736 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
3737 <form id="form-koeberraadgivning" method="POST" action="/InboxHandler">
3738 <div class="form-group">
3739 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
3740 <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 />
3741 </div>
3742 <div class="form-group">
3743 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
3744 <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 />
3745 </div>
3746 <div class="form-group row mb-4">
3747 <div class="col-6">
3748 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
3749 <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 />
3750 </div>
3751 <div class="col-6">
3752 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
3753 <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' />
3754 </div>
3755 </div>
3756 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
3757 <div class="form-group row">
3758 <div class="col-4">
3759 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
3760 <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 />
3761 <input type="hidden" class="js-postnummer-validation" />
3762 </div>
3763 <div class="col-8">
3764 <label><strong>@Translate("form-city", "By")*</strong></label>
3765 <input class="form-control js-city" type="text" readonly />
3766 </div>
3767 </div>
3768 <div class="form-group overflow-unset">
3769 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
3770 <input class="form-control js-validate-address" type="text" name="adresse" tabindex="6" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' required />
3771
3772 <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>
3773 </div>
3774 <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">
3775 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
3776 </button>
3777 <div class="collapse" id="kontaktkoeberrradgiver-collapse">
3778 <div class="form-group">
3779 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
3780 </div>
3781 </div>
3782
3783 <div class="form-group">
3784 <div class="row">
3785 <div class="col-12">
3786 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
3787 </div>
3788 </div>
3789 </div>
3790 <div class="form-group mt-3">
3791 <div class="checkbox">
3792 <label>
3793 <input type="checkbox" name="kontaktmigok" required />
3794
3795 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
3796
3797 </label>
3798 </div>
3799 </div>
3800 <div class="form-group form-group-terms">
3801 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
3802 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
3803 </div>
3804
3805 <input type="hidden" name="fn" value="krk" />
3806 <input type="hidden" name="origin" value="" />
3807 <input type="hidden" name="brugerId" value="" />
3808 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
3809 <input type="hidden" name="butikId" value="@butikId" />
3810 <input type="hidden" name="ejendomstype" value="" />
3811 <input type="hidden" name="salgspris" value="" />
3812 <input type="hidden" name="modtager" value="" />
3813 </form>
3814 <div id="tak-kontakt-advisor" style="display:none;">
3815 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
3816 <div class="row">
3817 <div class="col-6">
3818 <img src="" class="img-fluid js-maegler-img" />
3819 </div>
3820 <div class="col-6">
3821 <p class="js-maegler-name"></p>
3822 <p class="js-maegler-address"></p>
3823 <p class="js-maegler-phone"></p>
3824 <p class="js-maegler-mail"></p>
3825 </div>
3826 </div>
3827 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
3828 </div>
3829 </div>
3830
3831 <!--ÅBENT HUS-->
3832 <div id="panel-aabenthus" class="panel panel-form">
3833 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3834 <b></b>
3835 </button>
3836
3837
3838 <form id="form-aabenthus" method="POST" action="/InboxHandler">
3839 <h2>@Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")</h2>
3840 <div class="d-block">
3841 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
3842 </div>
3843 <div class="d-block">
3844 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
3845 </div>
3846 <div class="d-block mb-4">
3847 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
3848 </div>
3849 <h3>@Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")</h3>
3850 <div class="form-group">
3851 <label for="aabenthus-name"><strong>@Translate("form-navn", "Navn")*</strong></label>
3852 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current?.User?.Name' required />
3853 </div>
3854 <div class="form-group">
3855 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
3856 <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 />
3857 </div>
3858 <div class="form-group row">
3859 <div class="col-6">
3860 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
3861 <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 />
3862 </div>
3863 <div class="col-6">
3864 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
3865 <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' />
3866 </div>
3867 </div>
3868 <div class="form-group">
3869 <div class="row">
3870 <div class="col-12">
3871 <button type="submit" class="btn btn-block btn-green">@Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")</button>
3872 </div>
3873 </div>
3874 </div>
3875 <div class="form-group">
3876 <div class="checkbox">
3877 <label>
3878 <input type="checkbox" name="kontaktmigok" required />
3879
3880 <span class="base-color">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
3881
3882 </label>
3883 </div>
3884 </div>
3885 <div class="form-group">
3886 @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>")
3887
3888 </div>
3889 <input type="hidden" name="fn" value="ah" />
3890 <input type="hidden" name="origin" value="" />
3891 <input type="hidden" name="brugerId" value="@userID" />
3892 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
3893 <input type="hidden" name="butikId" value="@butikId" />
3894 <input type="hidden" name="sagsaddresse" value="" class="js-aabenthus-address-input" />
3895 <input type="hidden" name="ejendomstype" value="" />
3896 <input type="hidden" name="salgspris" value="" />
3897 <input type="hidden" name="modtager" value="" />
3898 <input type="hidden" name="employee" value="" />
3899 <input type="hidden" name="sagsnr" value="" class="js-sagsnr" />
3900 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
3901 <input type="hidden" name="aftaleid" value="" class="js-aftaleid" />
3902
3903 <input type="hidden" name="dateMail" class="js-aabenthus-date-input" />
3904 <input type="hidden" name="timeMail" class="js-aabenthus-time-input" />
3905 <input type="hidden" name="brokerImageMail" class="property-broker-image-input" />
3906 <input type="hidden" name="employeeNameMail" class="js-maegler-employee-name-input" />
3907 <input type="hidden" name="employeeTitleMail" class="js-maegler-employee-title-input" />
3908 <input type="hidden" name="employeeMailMail" class="js-maegler-mail-input" />
3909 <input type="hidden" name="employeeMobileMail" class="js-maegler-mobile-input" />
3910 <input type="hidden" name="employeePhoneMail" class="js-maegler-phone-input" />
3911
3912 <input type="hidden" name="brokerNameMail" class="js-broker-name-input" />
3913 <input type="hidden" name="brokerAddressMail" class="js-broker-address-input" />
3914 <input type="hidden" name="brokerPhoneMail" class="js-broker-phone-input" />
3915 </form>
3916 <div id="tak-aabenthus" style="display:none;">
3917 <h2>@Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")</h2>
3918 <div class="d-block">
3919 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
3920 </div>
3921 <div class="d-block">
3922 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
3923
3924 </div>
3925 <div class="d-block mb-4">
3926 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
3927
3928 </div>
3929
3930 <div class="js-employee">
3931 <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>
3932 </div>
3933 <div class="js-not-employee">
3934 <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>
3935 </div>
3936
3937 <div class="row">
3938 <div class="js-employee">
3939 <div class="col-12 js-maegler-img aabenthus-image">
3940 <div class="property-broker-image" style=""></div>
3941
3942 </div>
3943 </div>
3944 <div class="col-12">
3945 <div class="bg-base">
3946
3947 <div class="js-employee">
3948 <h4 class="js-maegler-employee-name"></h4>
3949 <div class="icon-container">
3950 <i class="fas fa-envelope"></i> <span class="js-maegler-mail"></span>
3951 </div>
3952 <div class="icon-container">
3953 <i class="fas fa-phone"></i> <span class="js-maegler-mobile"></span>
3954 </div>
3955 </div>
3956
3957
3958 <h4 class="js-maegler-name"></h4>
3959 <div class="icon-container">
3960 <i class="fas fa-map-marker-alt"></i> <span class="js-maegler-address"></span>
3961 </div>
3962 <div class="icon-container">
3963 <i class="fas fa-phone"></i> <span class="js-maegler-phone"></span>
3964
3965 </div>
3966 <a class="btn btn-border" onclick="panelKontaktmaeglerGuldkoeber()">KONTAKT MÆGLER</a>
3967 </div>
3968 </div>
3969 </div>
3970 </div>
3971 </div>
3972
3973 <!-- KONTAKT GULDKØBER -->
3974 <div id="panel-kontakt-guldkoeber" class="panel panel-form">
3975 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3976 <b></b>
3977 </button>
3978 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
3979 <form id="form-kontaktmaegler" method="POST" action="/InboxHandler">
3980 <div class="form-group">
3981 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
3982 <input class="form-control" type="text" name="navn" placeholder='@Translate("form-navn", "Navn")' value='@UserContext.Current.User?.Name' required />
3983 </div>
3984 <div class="form-group">
3985 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
3986 <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 />
3987 </div>
3988 <div class="form-group row mb-4">
3989 <div class="col-6">
3990 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
3991 <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 />
3992 </div>
3993 <div class="col-6">
3994 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
3995 <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' />
3996 </div>
3997 </div>
3998 <div class="form-group row">
3999 <div class="col-4">
4000 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4001 <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 />
4002 <input type="hidden" class="js-postnummer-validation" />
4003 </div>
4004 <div class="col-8">
4005 <label><strong>@Translate("form-city", "By")*</strong></label>
4006 <input class="form-control js-city" type="text" readonly />
4007 </div>
4008 </div>
4009
4010 <div class="form-group overflow-unset">
4011 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4012 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4013 <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>
4014 </div>
4015 <div class="form-group">
4016 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4017 </div>
4018 <div class="form-group">
4019 <div class="checkbox">
4020 <label>
4021 <input type="checkbox" name="kontaktmigok" required />
4022
4023 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4024
4025 </label>
4026 </div>
4027 </div>
4028 <div class="form-group">
4029 <div class="row">
4030 <div class="col-12">
4031 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
4032 </div>
4033 </div>
4034 </div>
4035 <div class="form-group form-group-terms">
4036 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4037 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4038 </div>
4039 <input type="hidden" name="fn" value="gk" />
4040 <input type="hidden" name="origin" value="" />
4041 <input type="hidden" name="brugerId" value="@userID" />
4042 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4043 <input type="hidden" name="butikId" value="@butikId" />
4044 <input type="hidden" name="ejendomstype" value="" />
4045 <input type="hidden" name="salgspris" value="" />
4046 <input type="hidden" name="modtager" value="" />
4047 <input type="hidden" name="employee" value="" />
4048 </form>
4049 <div id="tak-kontakt-maegler-guldkoeber" style="display:none;">
4050 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4051 <p>@Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")</p>
4052 <div class="row">
4053 <div class="col-6">
4054 <img src="" class="img-fluid js-maegler-img" />
4055 </div>
4056 <div class="col-6">
4057 <p class="js-maegler-name"></p>
4058 <p class="js-maegler-address"></p>
4059 <p class="js-maegler-phone"></p>
4060 <p class="js-maegler-mail"></p>
4061 </div>
4062 </div>
4063 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4064 </div>
4065 </div>
4066
4067 <!-- BESTIL SALGSVURDERING -->
4068 <div id="panel-salgsvurdering" class="panel panel-form">
4069 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4070 <b></b>
4071 </button>
4072
4073 <form id="bestil-salgsvurdering" class="buyer-advisor-form js-buyer-advisor-form" method="POST" action="/InboxHandler">
4074 <h2 class="js-buyer-advisor-header">@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
4075 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
4076 <div class="form-group">
4077 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4078 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required />
4079 </div>
4080 <div class="form-group">
4081 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4082 <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 />
4083 </div>
4084 <div class="form-group row mb-4">
4085 <div class="col-6">
4086 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4087 <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 />
4088 </div>
4089 <div class="col-6">
4090 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4091 <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' />
4092 </div>
4093
4094 </div>
4095
4096 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
4097 <div class="form-group row">
4098 <div class="col-4">
4099 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4100 <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 />
4101 <input type="hidden" class="js-postnummer-validation" />
4102 </div>
4103 <div class="col-8">
4104 <label><strong>@Translate("form-city", "By")*</strong></label>
4105 <input class="form-control js-city" type="text" readonly />
4106 </div>
4107 </div>
4108 <div class="form-group overflow-unset">
4109 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4110 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4111 <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>
4112 </div>
4113
4114 <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">
4115 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
4116 </button>
4117 <div class="collapse" id="salgsvurdering-collapse">
4118 <div class="form-group">
4119 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4120 </div>
4121 </div>
4122
4123
4124 <div class="salgsvurdering-precheck">
4125 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
4126 <div class="col-12">
4127 <div class="choose-broker row align-items-center active">
4128 <div class="col-2">
4129 <input class="js-broker-radio" type="radio" id="" name="choose-broker" value="" checked>
4130 <label class="js-broker-label" for=""></label><div class="check">
4131 <div class="inside">
4132 </div>
4133 </div>
4134 </div>
4135 <div class="col-4">
4136 <img src="" class="img-fluid js-broker-image">
4137 </div>
4138 <div class="col-6">
4139 <span class="d-block">
4140 <strong class="js-choose-broker-name"></strong>
4141 </span>
4142 <span class="js-choose-broker-address"></span>
4143 <input type="hidden" class="js-choose-broker-phone" value="" />
4144 <input type="hidden" class="js-choose-broker-email" value="" />
4145 </div>
4146 </div>
4147 </div>
4148 </div>
4149 <div class="salgsvurdering-broker">
4150 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
4151 <div class="js-choose-broker col-12">
4152 </div>
4153
4154 </div>
4155
4156 <div class="form-group mt-4">
4157 <div class="checkbox">
4158 <label>
4159 <input type="checkbox" name="kontaktmigok" required />
4160
4161 <span class="consent-checkbox">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4162
4163 </label>
4164 </div>
4165 </div>
4166 <div class="form-group">
4167 <div class="row">
4168 <div class="col-12">
4169 <button type="submit" class="btn btn-green btn-block js-buyer-advisor-button">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
4170 </div>
4171 </div>
4172 </div>
4173 <div class="form-group form-group-terms">
4174 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4175 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4176 </div>
4177 <input type="hidden" name="fn" value="bsv" />
4178 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
4179 <input type="hidden" name="brugerId" value="@userID" />
4180 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4181 <input type="hidden" id="boligvisning" name="boligvisning" value="" />
4182 <input type="hidden" id="panel-salgsvurdering-butikid" name="butikId" value="" />
4183 <input type="hidden" id="panel-salgsvurdering-sagsnr" name="sagsnr" value="" />
4184 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
4185 <input type="hidden" name="ejendomstype" value="" />
4186 <input type="hidden" name="salgspris" value="" />
4187 <input type="hidden" name="employee" value="" />
4188 <input type="hidden" name="modtager" value="" />
4189 <input class="js-value-check" type="hidden" name="valueCheck" value="" />
4190 <input class="js-green-appraisal" type="hidden" name="greenAppraisal" value="" />
4191 </form>
4192 <div id="tak-salgsvurdering" style="display:none;">
4193 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4194 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
4195 <div class="row">
4196 <div class="col-6">
4197 <img src="" class="img-fluid js-maegler-img" />
4198 </div>
4199 <div class="col-6">
4200 <p class="js-maegler-name"></p>
4201 <p class="js-maegler-address"></p>
4202 <p class="js-maegler-phone"></p>
4203 <p class="js-maegler-mail"></p>
4204 </div>
4205 </div>
4206 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4207 </div>
4208 </div>
4209
4210 <!-- BESTIL SALGSVURDERING GULDKØBER -->
4211 <div id="panel-salgsvurdering-guldkoeber" class="panel panel-form">
4212 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4213 <b></b>
4214 </button>
4215
4216 <form id="bestil-salgsvurdering-guldkoeber" method="POST" action="/InboxHandler">
4217 <h2>@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
4218 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
4219 <div class="form-group">
4220 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4221 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required />
4222 </div>
4223 <div class="form-group">
4224 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4225 <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 />
4226 </div>
4227 <div class="form-group row mb-4">
4228 <div class="col-6">
4229 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4230 <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' />
4231 </div>
4232 <div class="col-6">
4233 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4234 <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 />
4235 </div>
4236 </div>
4237
4238 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
4239
4240 <div class="form-group row">
4241 <div class="col-4">
4242 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4243 <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 />
4244 <input type="hidden" class="js-postnummer-validation" />
4245 </div>
4246 <div class="col-8">
4247 <label><strong>@Translate("form-city", "By")*</strong></label>
4248 <input class="form-control js-city" type="text" readonly />
4249 </div>
4250 </div>
4251 <div class="form-group overflow-unset">
4252 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4253 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4254 <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>
4255 </div>
4256
4257 <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">
4258 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
4259 </button>
4260 <div class="collapse" id="salgsvurdering-collapse">
4261 <div class="form-group">
4262 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4263 </div>
4264 </div>
4265
4266 <div class="salgsvurdering-precheck">
4267 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
4268 <div class="col-12">
4269 <div class="choose-broker row align-items-center active">
4270 <div class="col-2">
4271 <input class="js-broker-radio" type="radio" id="" name="choose-broker-gk" value="" checked>
4272 <label class="js-broker-label" for=""></label><div class="check">
4273 <div class="inside">
4274 </div>
4275 </div>
4276 </div>
4277 <div class="col-4">
4278 <img src="" class="img-fluid js-broker-image">
4279 </div>
4280 <div class="col-6">
4281 <span class="d-block">
4282 <strong class="js-choose-broker-name"></strong>
4283 </span>
4284 <span class="js-choose-broker-address"></span>
4285 <input type="hidden" class="js-choose-broker-phone" value="" />
4286 <input type="hidden" class="js-choose-broker-email" value="" />
4287 </div>
4288 </div>
4289 </div>
4290 </div>
4291 <div class="salgsvurdering-broker">
4292 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
4293 <div class="js-choose-broker col-12">
4294 </div>
4295
4296 </div>
4297
4298
4299 <div class="form-group">
4300 <div class="row">
4301 <div class="col-12">
4302 <button type="submit" class="btn btn-green btn-block">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
4303 </div>
4304 </div>
4305 </div>
4306 <div class="form-group">
4307 <div class="checkbox">
4308 <label>
4309 <input type="checkbox" name="kontaktmigok" required />
4310
4311 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4312
4313 </label>
4314 </div>
4315 </div>
4316 <div class="form-group form-group-terms">
4317 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4318 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4319 </div>
4320 <input type="hidden" name="fn" value="bsg" />
4321 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
4322 <input type="hidden" name="brugerId" value="@userID" />
4323 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4324 <input type="hidden" id="boligvisning-gk" name="boligvisning" value="" />
4325 <input type="hidden" id="panel-salgsvurdering-gk-butikid" name="butikId" value="" />
4326 <input type="hidden" id="panel-salgsvurdering-gk-sagsnr" name="sagsnr" value="" />
4327 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
4328 <input type="hidden" name="ejendomstype" value="" />
4329 <input type="hidden" name="salgspris" value="" />
4330 <input type="hidden" name="employee" value="" />
4331 <input type="hidden" name="modtager" value="" />
4332 </form>
4333 <div id="tak-salgsvurdering" style="display:none;">
4334 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4335 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
4336 <div class="row">
4337 <div class="col-6">
4338 <img src="" class="img-fluid js-maegler-img" />
4339 </div>
4340 <div class="col-6">
4341 <p class="js-maegler-name"></p>
4342 <p class="js-maegler-address"></p>
4343 <p class="js-maegler-phone"></p>
4344 <p class="js-maegler-mail"></p>
4345 </div>
4346 </div>
4347 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4348 </div>
4349 </div>
4350
4351
4352 <div class="overlay-wrapper"></div>
4353 <div class="dropdown-overlay"></div>
4354 <div class="loader-inner ball-pulse"></div>
4355
4356 @{
4357 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js"));
4358 <script type="text/javascript" src='@(TemplateUrl)assets/webpack/js/3rdparty/viamapstrap.js?@(viamapstrapFileInfo.LastWriteTime.Ticks)' async></script>
4359
4360 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js"));
4361 <script type="text/javascript" src='@(TemplateUrl)assets/dist/bundle.app.min.js?@(bundleFileInfo.LastWriteTime.Ticks)' async></script>
4362 }
4363
4364 @RenderSnippet("JavaScriptBottom")
4365
4366 @if (Context.Current.Request.QueryString["ShowLogin"] == "true")
4367 {
4368 <input class="js-showLogin" value="true" />
4369 }
4370
4371 @if (!string.IsNullOrEmpty(settings_ConduzeId))
4372 {
4373 <script type="text/javascript" id="conduze-sdk" src="https://cdn.conduze.com/@settings_ConduzeId/tracking.js" async></script>
4374 }
4375
4376 @if (!string.IsNullOrEmpty(settings_Weply))
4377 {
4378 <script src="https://app.weply.chat/widget/@settings_Weply" async></script>
4379 }
4380
4381 </body>
4382 </html>
4383
4384