Error compiling template "Designs/rm/DynamicArticle.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 24: The using directive for 'Dynamicweb' appeared previously in this namespace
Line 25: The using directive for 'System.Text.RegularExpressions' appeared previously in this namespace
Line 32: The using directive for 'Dynamicweb' appeared previously in this namespace
Line 33: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 35: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 37: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 38: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 39: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 40: The using directive for 'System.Reflection' appeared previously in this namespace
Line 41: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 42: The using directive for 'System.Reflection' appeared previously in this namespace
Line 43: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 44: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 45: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 46: The using directive for 'System.Text.RegularExpressions' appeared previously in this namespace
Line 47: The using directive for 'System.Reflection' appeared previously in this namespace
Line 48: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 49: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 50: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 51: The using directive for 'System.Reflection' appeared previously in this namespace
Line 52: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 53: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 54: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 55: The using directive for 'System.Reflection' appeared previously in this namespace
Line 56: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 57: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 58: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 59: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 60: The using directive for 'System.Reflection' appeared previously in this namespace
Line 61: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 62: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 63: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 64: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 65: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 67: The using directive for 'System.Reflection' appeared previously in this namespace
Line 68: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 69: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 70: The using directive for 'System.Reflection' appeared previously in this namespace
Line 71: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 72: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 73: The using directive for 'System.Reflection' appeared previously in this namespace
Line 74: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 75: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 76: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 77: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 78: The using directive for 'System.Reflection' appeared previously in this namespace
Line 79: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 80: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 81: The using directive for 'System.Reflection' appeared previously in this namespace
Line 82: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 83: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 84: The using directive for 'System.Reflection' appeared previously in this namespace
Line 85: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 86: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 87: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' 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' appeared previously in this namespace
Line 90: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 91: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 92: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 93: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 94: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 96: The using directive for 'Dynamicweb.Core' 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 101: The using directive for 'Dynamicweb.Content.Items' appeared previously in this namespace
Line 1674: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1675: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1677: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1679: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1766: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1767: 'ListViewModel.Options' is obsolete: 'Use the GetAllOptions extension method instead'
Line 1803: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1942: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1962: Argument 1: cannot convert from 'void' to 'object'
Line 4998: The variable 'placeholderImage' is assigned but its value is never used
Line 5642: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5668: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5670: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5672: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5674: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5687: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5689: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5691: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5693: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5696: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
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;
25 using System.Text.RegularExpressions;
26 using System.Collections.Generic;
27 using System.Reflection;
28 using Dynamicweb.Rapido.Blocks.Components;
29 using Dynamicweb.Rapido.Blocks.Components.Articles;
30 using Dynamicweb.Rapido.Blocks.Components.Documentation;
31 using Dynamicweb.Rapido.Blocks;
32 using Dynamicweb;
33 using Dynamicweb.Rapido.Blocks.Components;
34 using Dynamicweb.Rapido.Blocks.Components.General;
35 using Dynamicweb.Rapido.Blocks;
36 using System.IO;
37 using Dynamicweb.Rapido.Blocks.Components;
38 using Dynamicweb.Rapido.Blocks.Components.General;
39 using Dynamicweb.Rapido.Blocks;
40 using System.Reflection;
41 using Dynamicweb.Rapido.Blocks.Components.General;
42 using System.Reflection;
43 using Dynamicweb.Rapido.Blocks.Components.General;
44 using Dynamicweb.Rapido.Blocks.Components;
45 using Dynamicweb.Core;
46 using System.Text.RegularExpressions;
47 using System.Reflection;
48 using Dynamicweb.Rapido.Blocks.Components.General;
49 using Dynamicweb.Rapido.Blocks.Components;
50 using Dynamicweb.Core;
51 using System.Reflection;
52 using Dynamicweb.Rapido.Blocks.Components;
53 using Dynamicweb.Rapido.Blocks.Components.General;
54 using Dynamicweb.Rapido.Blocks;
55 using System.Reflection;
56 using Dynamicweb.Rapido.Blocks.Components.General;
57 using Dynamicweb.Rapido.Blocks.Components;
58 using Dynamicweb.Rapido.Blocks.Components.General;
59 using Dynamicweb.Rapido.Blocks.Components;
60 using System.Reflection;
61 using Dynamicweb.Rapido.Blocks.Components.General;
62 using Dynamicweb.Core;
63 using Dynamicweb.Rapido.Blocks.Components;
64 using Dynamicweb.Rapido.Blocks.Components.General;
65 using Dynamicweb.Rapido.Blocks;
66 using Dynamicweb.Frontend;
67 using System.Reflection;
68 using Dynamicweb.Rapido.Blocks.Components.General;
69 using Dynamicweb.Rapido.Blocks.Components;
70 using System.Reflection;
71 using Dynamicweb.Rapido.Blocks.Components.General;
72 using Dynamicweb.Rapido.Blocks.Components;
73 using System.Reflection;
74 using Dynamicweb.Rapido.Blocks.Components.General;
75 using Dynamicweb.Rapido.Blocks.Components;
76 using Dynamicweb.Rapido.Blocks.Components.General;
77 using Dynamicweb.Rapido.Blocks.Components;
78 using System.Reflection;
79 using Dynamicweb.Rapido.Blocks.Components.General;
80 using Dynamicweb.Rapido.Blocks.Components;
81 using System.Reflection;
82 using Dynamicweb.Rapido.Blocks.Components.General;
83 using Dynamicweb.Rapido.Blocks.Components;
84 using System.Reflection;
85 using Dynamicweb.Rapido.Blocks.Components.General;
86 using Dynamicweb.Rapido.Blocks.Components;
87 using Dynamicweb.Rapido.Blocks.Components.General;
88 using Dynamicweb.Rapido.Blocks.Components.General;
89 using Dynamicweb.Rapido.Blocks.Components;
90 using Dynamicweb.Rapido.Blocks.Components.General;
91 using Dynamicweb.Rapido.Blocks.Components;
92 using Dynamicweb.Rapido.Blocks.Components.General;
93 using Dynamicweb.Rapido.Blocks.Components;
94 using Dynamicweb.Core;
95 using Dynamicweb.Extensibility;
96 using Dynamicweb.Core;
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.Content.Items;
102 using Dynamicweb.Security.UserManagement;
103 internal class RazorEngine_11322b23373649bcab0bc24d56411988 : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
104 {
105 #pragma warning disable 1998
106 public async override global::System.Threading.Tasks.Task ExecuteAsync()
107 {
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, maximum-scale=1\">\r\n <meta name=\"description\"");
338 BeginWriteAttribute("content", " content=\"", 111994, "\"", 112020, 1);
339 WriteAttributeValue("", 112004, MetaDescription, 112004, 16, false);
340 EndWriteAttribute();
341 WriteLiteral(">\r\n <meta name=\"keywords\"");
342 BeginWriteAttribute("content", " content=\"", 112049, "\"", 112072, 1);
343 WriteAttributeValue("", 112059, MetaKeywords, 112059, 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=\"", 112204, "\"", 112310, 3);
347 WriteAttributeValue("", 112214, Pageview.Area.Noindex ? "noindex" : "index", 112214, 46, false);
348 WriteAttributeValue("", 112260, ",", 112260, 1, true);
349 WriteAttributeValue("", 112261, Pageview.Area.Nofollow ? "nofollow" : "follow", 112261, 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=\"", 112502, "\"", 112582, 2);
359 WriteAttributeValue("", 112508, "https://www.googleoptimize.com/optimize.js?id=", 112508, 46, true);
360 WriteAttributeValue("", 112554, settings_Google_Optimize_Id, 112554, 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=\"", 114204, "\"", 114255, 2);
413 WriteAttributeValue("", 114211, TemplateUrl, 114211, 14, false);
414 WriteAttributeValue("", 114225, "assets/fontawesome/css/all.css", 114225, 30, true);
415 EndWriteAttribute();
416 WriteLiteral(" async />\r\n <link rel=\"stylesheet\"");
417 BeginWriteAttribute("href", " href=\"", 114297, "\"", 114312, 1);
418 WriteAttributeValue("", 114304, mainCSS, 114304, 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=\"", 114716, "\"", 114734, 1);
428 WriteAttributeValue("", 114723, erhvervCSS, 114723, 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=\"", 114803, "\"", 114867, 2);
434 WriteAttributeValue("", 114810, TemplateUrl, 114810, 14, false);
435 WriteAttributeValue("", 114824, "assets/images/favicons/favicon-real.ico?v=1", 114824, 43, true);
436 EndWriteAttribute();
437 WriteLiteral(">\r\n <link rel=\"icon\" type=\"image/png\"");
438 BeginWriteAttribute("href", " href=\"", 114908, "\"", 114974, 2);
439 WriteAttributeValue("", 114915, TemplateUrl, 114915, 14, false);
440 WriteAttributeValue("", 114929, "assets/images/favicons/favicon-real-16x16.png", 114929, 45, true);
441 EndWriteAttribute();
442 WriteLiteral(" sizes=\"16x16\">\r\n <link rel=\"icon\" type=\"image/png\"");
443 BeginWriteAttribute("href", " href=\"", 115029, "\"", 115095, 2);
444 WriteAttributeValue("", 115036, TemplateUrl, 115036, 14, false);
445 WriteAttributeValue("", 115050, "assets/images/favicons/favicon-real-32x32.png", 115050, 45, true);
446 EndWriteAttribute();
447 WriteLiteral(" sizes=\"32x32\">\r\n <link rel=\"icon\" type=\"image/png\"");
448 BeginWriteAttribute("href", " href=\"", 115150, "\"", 115216, 2);
449 WriteAttributeValue("", 115157, TemplateUrl, 115157, 14, false);
450 WriteAttributeValue("", 115171, "assets/images/favicons/favicon-real-96x96.png", 115171, 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=\"", 116198, "\"", 116270, 2);
473 WriteAttributeValue("", 116204, "https://call.call-tracking.dk/getJavascript?custid=", 116204, 51, true);
474 WriteAttributeValue("", 116255, callTrackingId, 116255, 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=\"", 119173, "\"", 119258, 3);
550 WriteAttributeValue("", 119179, "https://www.facebook.com/tr?id=", 119179, 31, true);
551 WriteAttributeValue("", 119210, settings_Facebook_App_ID, 119210, 25, false);
552 WriteAttributeValue("", 119235, "&ev=PageView&noscript=1", 119235, 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=\"", 119534, "\"", 119561, 2);
558 WriteAttributeValue("", 119542, template, 119542, 9, false);
559 WriteAttributeValue("", 119551, bodyClass, 119551, 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=\"", 120234, "\"", 120248, 1);
577 WriteAttributeValue("", 120240, logoUrl, 120240, 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=\'", 120815, "\'", 120849, 1);
585 WriteAttributeValue("", 120823, settings_BoligListErhverv, 120823, 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=\"", 121643, "\"", 121670, 1);
599 WriteAttributeValue("", 121650, querySearchNameAttr, 121650, 20, false);
600 EndWriteAttribute();
601 WriteLiteral(" id=\"searchfield-top\" class=\"search-input js-float-label js-getdata\" tabindex=\"1\"");
602 BeginWriteAttribute("value", " value=\"", 121752, "\"", 121830, 1);
603 WriteAttributeValue("", 121760, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 121760, 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 <div class=\"header logo\">\r\n <div class=\"logo\">\r\n <a href=\"/\">\r\n <img");
674 BeginWriteAttribute("src", " src=\"", 126347, "\"", 126361, 1);
675 WriteAttributeValue("", 126353, logoUrl, 126353, 8, false);
676 EndWriteAttribute();
677 WriteLiteral(" alt=\"RealMæglerne\" />\r\n </a>\r\n </div>\r\n </div>\r\n\r\n");
678 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
679 {
680 WriteLiteral(" <div class=\"header shortcuts\">\r\n <div class=\"header-shortcuts float-right\">\r\n");
681 if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
682 {
683 WriteLiteral(" <a");
684 BeginWriteAttribute("href", " href=\'", 126725, "\'", 126732, 0);
685 EndWriteAttribute();
686 BeginWriteAttribute("class", " class=\"", 126733, "\"", 126849, 9);
687 WriteAttributeValue("", 126741, "search-menu", 126741, 11, true);
688 WriteAttributeValue(" ", 126752, "d-none", 126753, 7, true);
689 WriteAttributeValue(" ", 126759, "d-xl-flex", 126760, 10, true);
690 WriteAttributeValue(" ", 126769, "align-items-center", 126770, 19, true);
691 WriteAttributeValue(" ", 126788, "float-left", 126789, 11, true);
692 WriteAttributeValue(" ", 126799, "border-right", 126800, 13, true);
693 WriteAttributeValue(" ", 126812, "js-mainsearch", 126813, 14, true);
694 WriteAttributeValue(" ", 126826, "topsearch", 126827, 10, true);
695 WriteAttributeValue(" ", 126836, searchClass, 126837, 12, false);
696 EndWriteAttribute();
697 WriteLiteral(">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i><span class=\"search-menu-text hidden d-md-block\"> ");
698 Write(Translate("Smartpage:Search.Søg", "Søg"));
699 WriteLiteral("</span>\r\n </a>\r\n");
700 }
701 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");
702 }
703 else
704 {
705 WriteLiteral(" <div class=\"header shortcuts\">\r\n <div class=\"header-shortcuts float-right\">\r\n");
706 if (Model.CurrentUser?.ID > 0)
707 {
708 WriteLiteral(" <a");
709 BeginWriteAttribute("href", " href=\'", 127515, "\'", 127539, 1);
710 WriteAttributeValue("", 127522, settings_MinSide, 127522, 17, false);
711 EndWriteAttribute();
712 WriteLiteral(" class=\"login extra d-flex align-items-center float-left border-right\">\r\n <i class=\"fa fa-user-circle\" aria-hidden=\"true\"></i><span class=\"hidden d-md-block\">");
713 Write(Translate("Smartpage:Shortcuts.MinProfil", "Min profil"));
714 WriteLiteral("</span>\r\n </a>\r\n");
715 }
716 else
717 {
718 WriteLiteral(" <a href=\'javascript:panelLogin()\' class=\"login d-flex align-items-center float-left border-right\">\r\n <i class=\"fa fa-user-circle\" aria-hidden=\"true\"></i><span class=\"login-text hidden d-md-block\"> ");
719 Write(Translate("Smartpage:Shortcuts.Login", "Login"));
720 WriteLiteral("</span>\r\n </a>\r\n");
721 }
722 WriteLiteral("\r\n <a");
723 BeginWriteAttribute("href", " href=\'", 128235, "\'", 128242, 0);
724 EndWriteAttribute();
725 BeginWriteAttribute("class", " class=\"", 128243, "\"", 128339, 7);
726 WriteAttributeValue("", 128251, "search-menu", 128251, 11, true);
727 WriteAttributeValue(" ", 128262, "d-flex", 128263, 7, true);
728 WriteAttributeValue(" ", 128269, "align-items-center", 128270, 19, true);
729 WriteAttributeValue(" ", 128288, "float-left", 128289, 11, true);
730 WriteAttributeValue(" ", 128299, "border-right", 128300, 13, true);
731 WriteAttributeValue(" ", 128312, "js-mainsearch", 128313, 14, true);
732 WriteAttributeValue(" ", 128326, searchClass, 128327, 12, false);
733 EndWriteAttribute();
734 WriteLiteral(">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i><span class=\"search-menu-text hidden d-md-block\"> ");
735 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
736 WriteLiteral("</span>\r\n </a>\r\n\r\n <div class=\"menu-slide d-flex align-items-center\">\r\n <b></b>\r\n <span class=\"menu-text\">Menu</span>\r\n </div>\r\n </div>\r\n </div>\r\n");
737 }
738 WriteLiteral("\r\n <div class=\"search-modal\">\r\n\r\n");
739 if (Converter.ToString(Pageview.Area.Item["Type"]) == "real")
740 {
741 WriteLiteral(@" <div class=""main-search-form"">
742 <i class=""fal fa-times float-right fa-2x js-close-search close-search""></i>
743 <div class=""row mb-3 align-items-center"">
744 <div class=""col-xs-12 col-md-3 border-right"">
745 <h3>");
746 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
747 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\">");
748 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
749 WriteLiteral(@"<span class=""loader js-loader""></span></span>
750
751 </div>
752 </div>
753
754 <form id=""main-search"" class=""searchbar-wrapper"" action=""/Default.aspx"" method=""GET"">
755 <input type=""hidden"" name=""ID""");
756 BeginWriteAttribute("value", " value=\'", 129784, "\'", 129805, 1);
757 WriteAttributeValue("", 129792, searchPageId, 129792, 13, false);
758 EndWriteAttribute();
759 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" />
760 <div class=""row form-wrapper no-gutters"">
761
762 <div class=""col-xs-12 col-md-5 col-searchbar"">
763 <div class=""searchbar"">
764 <input type=""text""");
765 BeginWriteAttribute("name", " name=\"", 130089, "\"", 130116, 1);
766 WriteAttributeValue("", 130096, querySearchNameAttr, 130096, 20, false);
767 EndWriteAttribute();
768 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
769 BeginWriteAttribute("value", " value=\"", 130219, "\"", 130297, 1);
770 WriteAttributeValue("", 130227, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 130227, 70, false);
771 EndWriteAttribute();
772 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
773 BeginWriteAttribute("value", " value=\"", 130391, "\"", 130474, 1);
774 WriteAttributeValue("", 130399, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 130399, 75, false);
775 EndWriteAttribute();
776 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
777 BeginWriteAttribute("value", " value=\"", 130564, "\"", 130645, 1);
778 WriteAttributeValue("", 130572, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 130572, 73, false);
779 EndWriteAttribute();
780 WriteLiteral(@" />
781 </div>
782 </div>
783 <div class=""col-xs-12 col-md-5"">
784 <div class=""row no-gutters"">
785 <div class=""col-xs-12 col-md-6 input-col"">
786 <div class=""dropdown"">
787 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
788 ");
789 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
790 WriteLiteral(@"
791 </button>
792 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
793 <ul class=""bolig-dropdown list-unstyled"">
794 ");
795
796 RenderBoligtypeCheckboxesDropdown();
797 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
798 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
799 WriteLiteral(@"</button>
800 </div>
801
802 </div>
803
804 </div>
805 <div class=""col-xs-12 col-md-6 input-col"">
806 <div class=""dropdown"">
807 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
808 ");
809 Write(Translate("Smartpage:Search.Pris", "Pris"));
810 WriteLiteral(@"
811 </button>
812 <div class=""dropdown-menu box-shadow dropdown-price js-dropdown-price"" aria-labelledby=""Pris"">
813 <input name=""pricemin"" type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
814 BeginWriteAttribute("placeholder", " placeholder=\'", 132896, "\'", 132973, 1);
815 WriteAttributeValue("", 132910, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 132910, 63, false);
816 EndWriteAttribute();
817 BeginWriteAttribute("value", " value=\'", 132974, "\'", 133110, 1);
818 WriteAttributeValue("", 132982, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemin"]) ? Context.Current.Request.QueryString["pricemin"] : "", 132982, 128, false);
819 EndWriteAttribute();
820 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
821 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
822 WriteLiteral("</option>\r\n");
823 for (var i = 0; i <= 10000000; i += 100000)
824 {
825 if (i == 10000000)
826 {
827 WriteLiteral(" <option");
828 BeginWriteAttribute("value", " value=\"", 133747, "\"", 133757, 1);
829 WriteAttributeValue("", 133755, i, 133755, 2, false);
830 EndWriteAttribute();
831 WriteLiteral(" data-value=\'");
832 Write(Converter.ToInt32(i).ToString("N0"));
833 WriteLiteral("+\'>");
834 Write(Convert.ToInt32(i).ToString("N0"));
835 WriteLiteral("+</option>\r\n");
836 }
837 else
838 {
839 WriteLiteral(" <option");
840 BeginWriteAttribute("value", " value=\"", 134087, "\"", 134097, 1);
841 WriteAttributeValue("", 134095, i, 134095, 2, false);
842 EndWriteAttribute();
843 WriteLiteral(" data-value=\'");
844 Write(Converter.ToInt32(i).ToString("N0"));
845 WriteLiteral("\'>");
846 Write(Convert.ToInt32(i).ToString("N0"));
847 WriteLiteral("</option>\r\n");
848 }
849 }
850 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\"");
851 BeginWriteAttribute("placeholder", " placeholder=\'", 134501, "\'", 134578, 1);
852 WriteAttributeValue("", 134515, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 134515, 63, false);
853 EndWriteAttribute();
854 BeginWriteAttribute("value", " value=\'", 134579, "\'", 134715, 1);
855 WriteAttributeValue("", 134587, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemax"]) ? Context.Current.Request.QueryString["pricemax"] : "", 134587, 128, false);
856 EndWriteAttribute();
857 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
858 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
859 WriteLiteral("</option>\r\n");
860 for (var i = 0; i <= 10000000; i += 100000)
861 {
862 if (i == 10000000)
863 {
864 WriteLiteral(" <option");
865 BeginWriteAttribute("value", " value=\"", 135346, "\"", 135356, 1);
866 WriteAttributeValue("", 135354, i, 135354, 2, false);
867 EndWriteAttribute();
868 WriteLiteral(" data-value=\'");
869 Write(Converter.ToInt32(i).ToString("N0"));
870 WriteLiteral("+\'>");
871 Write(Convert.ToInt32(i).ToString("N0"));
872 WriteLiteral("+</option>\r\n");
873 }
874 else
875 {
876 WriteLiteral(" <option");
877 BeginWriteAttribute("value", " value=\"", 135686, "\"", 135696, 1);
878 WriteAttributeValue("", 135694, i, 135694, 2, false);
879 EndWriteAttribute();
880 WriteLiteral(" data-value=\'");
881 Write(Converter.ToInt32(i).ToString("N0"));
882 WriteLiteral("\'>");
883 Write(Convert.ToInt32(i).ToString("N0"));
884 WriteLiteral("</option>\r\n");
885 }
886 }
887 WriteLiteral(@" </select>
888 </div>
889 </div>
890 </div>
891 </div>
892 </div>
893 <div class=""col-xs-12 col-md-2 d-none d-md-block"">
894 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
895 Write(Translate("Smartpage:Search.Søg", "Søg"));
896 WriteLiteral(@"</button>
897 </div>
898 </div>
899
900 <div class=""row moresearch-btn no-gutters"">
901 <div class=""col-sm-12"">
902 <div class=""row align-items-center no-gutters"">
903 <div class=""col-12 col-md-4"">
904 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch"">
905 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open white"">");
906 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
907 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> ");
908 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
909 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\">");
910 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
911 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>");
912 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
913 WriteLiteral(@"</b></h4>
914 <div class=""row align-items-end mb-30"">
915 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
916 <div class=""filter-container row"">
917 <label class=""d-block col-12"">");
918 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
919 WriteLiteral(@"</label>
920 <div class=""col-6 pr-sm-0 pr-2"">
921 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count""");
922 BeginWriteAttribute("placeholder", " placeholder=\'", 138458, "\'", 138531, 1);
923 WriteAttributeValue("", 138472, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 138472, 59, false);
924 EndWriteAttribute();
925 BeginWriteAttribute("value", " value=\'", 138532, "\'", 138678, 1);
926 WriteAttributeValue("", 138540, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmin"]) ? Context.Current.Request.QueryString["boligarealmin"] : "", 138540, 138, false);
927 EndWriteAttribute();
928 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
929 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
930 WriteLiteral("</option>\r\n");
931 for (var i = 0; i <= 300; i += 10)
932 {
933 if (i == 300)
934 {
935 WriteLiteral(" <option>");
936 Write(i);
937 WriteLiteral("+</option>\r\n");
938 }
939 else
940 {
941 WriteLiteral(" <option>");
942 Write(i);
943 WriteLiteral("</option>\r\n");
944 }
945 }
946 WriteLiteral(@" </select>
947
948 </div>
949 <div class=""col-6 pl-sm-0 pl-2"">
950 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count""");
951 BeginWriteAttribute("placeholder", " placeholder=\'", 140063, "\'", 140136, 1);
952 WriteAttributeValue("", 140077, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 140077, 59, false);
953 EndWriteAttribute();
954 BeginWriteAttribute("value", " value=\'", 140137, "\'", 140283, 1);
955 WriteAttributeValue("", 140145, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmax"]) ? Context.Current.Request.QueryString["boligarealmax"] : "", 140145, 138, false);
956 EndWriteAttribute();
957 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
958 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
959 WriteLiteral("</option>\r\n");
960 for (var i = 0; i <= 300; i += 10)
961 {
962 if (i == 300)
963 {
964 WriteLiteral(" <option>");
965 Write(i);
966 WriteLiteral("+</option>\r\n");
967 }
968 else
969 {
970 WriteLiteral(" <option>");
971 Write(i);
972 WriteLiteral("</option>\r\n");
973 }
974 }
975 WriteLiteral(@" </select>
976
977 </div>
978 </div>
979 </div>
980 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
981 <div class=""filter-container row"">
982 <label class=""d-block col-12"">");
983 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
984 WriteLiteral(@"</label>
985 <div class=""col-6 pr-sm-0 pr-2"">
986 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count""");
987 BeginWriteAttribute("placeholder", " placeholder=\'", 142064, "\'", 142137, 1);
988 WriteAttributeValue("", 142078, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 142078, 59, false);
989 EndWriteAttribute();
990 BeginWriteAttribute("value", " value=\'", 142138, "\'", 142285, 1);
991 WriteAttributeValue("", 142146, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmin"]) ? Context.Current.Request.QueryString["grundarealmin"] : "", 142146, 139, false);
992 EndWriteAttribute();
993 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
994 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
995 WriteLiteral("</option>\r\n");
996 for (var i = 0; i <= 10000; i += 100)
997 {
998 if (i == 10000)
999 {
1000 WriteLiteral(" <option>");
1001 Write(i);
1002 WriteLiteral("+</option>\r\n");
1003 }
1004 else
1005 {
1006 WriteLiteral(" <option>");
1007 Write(i);
1008 WriteLiteral("</option>\r\n");
1009 }
1010 }
1011 WriteLiteral(@" </select>
1012 </div>
1013 <div class=""col-6 pl-sm-0 pl-2"">
1014 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count""");
1015 BeginWriteAttribute("placeholder", " placeholder=\'", 143673, "\'", 143746, 1);
1016 WriteAttributeValue("", 143687, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 143687, 59, false);
1017 EndWriteAttribute();
1018 BeginWriteAttribute("value", " value=\'", 143747, "\'", 143894, 1);
1019 WriteAttributeValue("", 143755, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmax"]) ? Context.Current.Request.QueryString["grundarealmax"] : "", 143755, 139, false);
1020 EndWriteAttribute();
1021 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1022 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1023 WriteLiteral("</option>\r\n");
1024 for (var i = 0; i <= 10000; i += 100)
1025 {
1026 if (i == 10000)
1027 {
1028 WriteLiteral(" <option>");
1029 Write(i);
1030 WriteLiteral("+</option>\r\n");
1031 }
1032 else
1033 {
1034 WriteLiteral(" <option>");
1035 Write(i);
1036 WriteLiteral("</option>\r\n");
1037 }
1038 }
1039 WriteLiteral(@" </select>
1040 </div>
1041 </div>
1042 </div>
1043 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1044 <div class=""filter-container row"">
1045 <label class=""d-block col-12"">Antal rum</label>
1046 <div class=""col-6 pr-sm-0 pr-2"">
1047 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count"">
1048 <option selected=""selected"" disabled=""disabled"">");
1049 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
1050 WriteLiteral("</option>\r\n");
1051
1052 RenderSelectValue("1", "1", "roomsmin");
1053 RenderSelectValue("2", "2", "roomsmin");
1054 RenderSelectValue("3", "3", "roomsmin");
1055 RenderSelectValue("4", "4", "roomsmin");
1056 RenderSelectValue("5+", "5", "roomsmin");
1057 WriteLiteral(@" </select>
1058 </div>
1059 <div class=""col-6 pl-sm-0 pl-2"">
1060 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count"">
1061 <option selected=""selected"" disabled=""disabled"">");
1062 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
1063 WriteLiteral("</option>\r\n");
1064
1065 RenderSelectValue("1", "1", "roomsmax");
1066 RenderSelectValue("2", "2", "roomsmax");
1067 RenderSelectValue("3", "3", "roomsmax");
1068 RenderSelectValue("4", "4", "roomsmax");
1069 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax");
1070 WriteLiteral(@" </select>
1071 </div>
1072 </div>
1073 </div>
1074 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
1075 <div class=""row"">
1076 <div class=""col-12 pr-2"">
1077 <div class=""filter-container"">
1078 <label class=""d-block"">Energimærke</label>
1079 <select name=""energylabel"" id=""energylabel"" class=""form-control reverse js-energylabel-select js-count"">
1080 <option selected=""selected"" disabled=""disabled"">");
1081 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
1082 WriteLiteral(@"</option>
1083 <option value=""01"">G</option>
1084 <option value=""02"">F</option>
1085 <option value=""03"">E</option>
1086 <option value=""04"">D</option>
1087 <option value=""05"">C</option>
1088 <option value=""06"">B</option>
1089 <option value=""07"">A</option>
1090 <option value=""08"">A2010</option>
1091 <option value=""09"">A2015</option>
1092 <option value=""10"">A2020+</option>
1093 </select>
1094 </div>
1095 ");
1096 WriteLiteral(@" </div>
1097 </div>
1098 </div>
1099 <div class=""col-12 col-sm-6 col-lg-3 mt-3"">
1100 <h4");
1101 BeginWriteAttribute("class", " class=\"", 149693, "\"", 149701, 0);
1102 EndWriteAttribute();
1103 WriteLiteral("><b>");
1104 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
1105 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
1106 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
1107 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\"");
1108 BeginWriteAttribute("placeholder", " placeholder=\'", 150263, "\'", 150338, 1);
1109 WriteAttributeValue("", 150277, Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"), 150277, 61, false);
1110 EndWriteAttribute();
1111 BeginWriteAttribute("value", " value=\'", 150339, "\'", 150480, 1);
1112 WriteAttributeValue("", 150347, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymin"]) ? Context.Current.Request.QueryString["subsidymin"] : "", 150347, 133, false);
1113 EndWriteAttribute();
1114 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1115 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
1116 WriteLiteral("</option>\r\n");
1117 for (var i = 0; i <= 25000; i += 1250)
1118 {
1119 if (i == 25000)
1120 {
1121 WriteLiteral(" <option");
1122 BeginWriteAttribute("value", " value=\"", 151124, "\"", 151153, 1);
1123 WriteAttributeValue("", 151132, Converter.ToInt32(i), 151132, 21, false);
1124 EndWriteAttribute();
1125 WriteLiteral(">");
1126 Write(Converter.ToInt32(i).ToString("N0"));
1127 WriteLiteral("+</option>\r\n");
1128 }
1129 else
1130 {
1131 WriteLiteral(" <option");
1132 BeginWriteAttribute("value", " value=\"", 151450, "\"", 151479, 1);
1133 WriteAttributeValue("", 151458, Converter.ToInt32(i), 151458, 21, false);
1134 EndWriteAttribute();
1135 WriteLiteral(">");
1136 Write(Converter.ToInt32(i).ToString("N0"));
1137 WriteLiteral("</option>\r\n");
1138 }
1139 }
1140 WriteLiteral(@" </select>
1141 </div>
1142 <div class=""col-6 pl-sm-0 pl-2"">
1143 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count""");
1144 BeginWriteAttribute("placeholder", " placeholder=\'", 151991, "\'", 152066, 1);
1145 WriteAttributeValue("", 152005, Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"), 152005, 61, false);
1146 EndWriteAttribute();
1147 BeginWriteAttribute("value", " value=\'", 152067, "\'", 152208, 1);
1148 WriteAttributeValue("", 152075, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymax"]) ? Context.Current.Request.QueryString["subsidymax"] : "", 152075, 133, false);
1149 EndWriteAttribute();
1150 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1151 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
1152 WriteLiteral("</option>\r\n");
1153 for (var i = 0; i <= 25000; i += 1250)
1154 {
1155 if (i == 25000)
1156 {
1157 WriteLiteral(" <option");
1158 BeginWriteAttribute("value", " value=\"", 152848, "\"", 152877, 1);
1159 WriteAttributeValue("", 152856, Converter.ToInt32(i), 152856, 21, false);
1160 EndWriteAttribute();
1161 WriteLiteral(">");
1162 Write(Convert.ToInt32(i).ToString("N0"));
1163 WriteLiteral("+</option>\r\n");
1164 }
1165 else
1166 {
1167 WriteLiteral(" <option");
1168 BeginWriteAttribute("value", " value=\"", 153172, "\"", 153201, 1);
1169 WriteAttributeValue("", 153180, Converter.ToInt32(i), 153180, 21, false);
1170 EndWriteAttribute();
1171 WriteLiteral(">");
1172 Write(Convert.ToInt32(i).ToString("N0"));
1173 WriteLiteral("</option>\r\n");
1174 }
1175 }
1176 WriteLiteral(@" </select>
1177 </div>
1178 </div>
1179 </div>
1180 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"">
1181 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1182 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
1183 WriteLiteral(@"</button>
1184 </div>
1185 </div>
1186 </div>
1187 </div>
1188 </div>
1189 <div class=""row d-block d-md-none form-wrapper no-gutters"">
1190 <div class=""col-xs-12 col-md-2"">
1191 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1192 Write(Translate("Smartpage:Search.Søg", "Søg"));
1193 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n");
1194 }
1195 else
1196 {
1197 WriteLiteral(@" <div class=""main-search-form center"">
1198 <i class=""fal fa-times float-right fa-2x js-close-search""></i>
1199 <div class=""row mb-3 align-items-center"">
1200 <div class=""col-xs-12 col-md-5 border-right"">
1201 <h3>");
1202 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
1203 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>");
1204 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
1205 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\"");
1206 BeginWriteAttribute("value", " value=\'", 155315, "\'", 155336, 1);
1207 WriteAttributeValue("", 155323, searchPageId, 155323, 13, false);
1208 EndWriteAttribute();
1209 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" />
1210 <div class=""row form-wrapper no-gutters"">
1211
1212 <div class=""col-12 mb-10"">
1213 <div class=""searchbar"">
1214 <input type=""text""");
1215 BeginWriteAttribute("name", " name=\"", 155600, "\"", 155627, 1);
1216 WriteAttributeValue("", 155607, querySearchNameAttr, 155607, 20, false);
1217 EndWriteAttribute();
1218 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
1219 BeginWriteAttribute("value", " value=\'", 155730, "\'", 155750, 1);
1220 WriteAttributeValue("", 155738, querySearch, 155738, 12, false);
1221 EndWriteAttribute();
1222 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
1223 BeginWriteAttribute("value", " value=\'", 155844, "\'", 155869, 1);
1224 WriteAttributeValue("", 155852, queryZipCodeFrom, 155852, 17, false);
1225 EndWriteAttribute();
1226 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
1227 BeginWriteAttribute("value", " value=\'", 155959, "\'", 155982, 1);
1228 WriteAttributeValue("", 155967, queryZipCodeTo, 155967, 15, false);
1229 EndWriteAttribute();
1230 WriteLiteral(@" />
1231 </div>
1232 </div>
1233 <div class=""col-xs-12 col-md-8"">
1234 <div class=""row no-gutters"">
1235 <div class=""col-xs-12 col-md-6 input-col"">
1236 <div class=""dropdown"">
1237 <button class=""btn btn-dropdown dropdown-toggle reverse js-count"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
1238 ");
1239 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
1240 WriteLiteral(@"
1241 </button>
1242 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
1243 <ul class=""bolig-dropdown list-unstyled"">
1244 ");
1245
1246 RenderBoligtypeCheckboxesDropdown();
1247 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
1248 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
1249 WriteLiteral(@"</button>
1250 </div>
1251
1252 </div>
1253
1254 </div>
1255 <div class=""col-xs-12 col-md-6 input-col"">
1256 <div class=""dropdown"">
1257 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">
1258 ");
1259 Write(Translate("Smartpage:Search.Pris", "Pris"));
1260 WriteLiteral(@"
1261 </button>
1262 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris"">
1263 <input type=""text"" name=""pricemin"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
1264 BeginWriteAttribute("placeholder", " placeholder=\'", 158224, "\'", 158301, 1);
1265 WriteAttributeValue("", 158238, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 158238, 63, false);
1266 EndWriteAttribute();
1267 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1268 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
1269 WriteLiteral("</option>\r\n");
1270 for (var i = 0; i <= 10000000; i += 100000)
1271 {
1272 if (i == 10000000)
1273 {
1274 WriteLiteral(" <option");
1275 BeginWriteAttribute("value", " value=\"", 158938, "\"", 158948, 1);
1276 WriteAttributeValue("", 158946, i, 158946, 2, false);
1277 EndWriteAttribute();
1278 WriteLiteral(" data-value=\'");
1279 Write(Converter.ToInt32(i).ToString("N0"));
1280 WriteLiteral("+\'>");
1281 Write(Converter.ToInt32(i).ToString("N0"));
1282 WriteLiteral("+</option>\r\n");
1283 }
1284 else
1285 {
1286 WriteLiteral(" <option");
1287 BeginWriteAttribute("value", " value=\"", 159280, "\"", 159290, 1);
1288 WriteAttributeValue("", 159288, i, 159288, 2, false);
1289 EndWriteAttribute();
1290 WriteLiteral(" data-value=\'");
1291 Write(Converter.ToInt32(i).ToString("N0"));
1292 WriteLiteral("\'>");
1293 Write(Converter.ToInt32(i).ToString("N0"));
1294 WriteLiteral("</option>\r\n");
1295 }
1296 }
1297 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\"");
1298 BeginWriteAttribute("placeholder", " placeholder=\'", 159696, "\'", 159773, 1);
1299 WriteAttributeValue("", 159710, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 159710, 63, false);
1300 EndWriteAttribute();
1301 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1302 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
1303 WriteLiteral("</option>\r\n");
1304 for (var i = 0; i <= 10000000; i += 100000)
1305 {
1306 if (i == 10000000)
1307 {
1308 WriteLiteral(" <option");
1309 BeginWriteAttribute("value", " value=\"", 160404, "\"", 160414, 1);
1310 WriteAttributeValue("", 160412, i, 160412, 2, false);
1311 EndWriteAttribute();
1312 WriteLiteral(" data-value=\'");
1313 Write(Converter.ToInt32(i).ToString("N0"));
1314 WriteLiteral("+\'>");
1315 Write(Converter.ToInt32(i).ToString("N0"));
1316 WriteLiteral("+</option>\r\n");
1317 }
1318 else
1319 {
1320 WriteLiteral(" <option");
1321 BeginWriteAttribute("value", " value=\"", 160746, "\"", 160756, 1);
1322 WriteAttributeValue("", 160754, i, 160754, 2, false);
1323 EndWriteAttribute();
1324 WriteLiteral(" data-value=\'");
1325 Write(Converter.ToInt32(i).ToString("N0"));
1326 WriteLiteral("\'>");
1327 Write(Converter.ToInt32(i).ToString("N0"));
1328 WriteLiteral("</option>\r\n");
1329 }
1330 }
1331 WriteLiteral(@" </select>
1332 </div>
1333 </div>
1334 </div>
1335 </div>
1336 </div>
1337 <div class=""col-xs-12 col-md-4 d-none d-md-block"">
1338 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1339 Write(Translate("Smartpage:Search.Søg", "Søg"));
1340 WriteLiteral(@"</button>
1341 </div>
1342 </div>
1343
1344 <div class=""row moresearch-btn no-gutters"">
1345 <div class=""col-sm-12"">
1346 <div class=""row align-items-center no-gutters"">
1347 <div class=""col-12 col-md-5"">
1348 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch-master"">
1349 <span class=""moreSearch-text""><i class=""fas fa-plus open-close white""></i> <span class=""not-open white"">");
1350 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
1351 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> ");
1352 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
1353 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\">");
1354 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
1355 WriteLiteral(@"</a>
1356 </div>
1357 <div class=""col-6 col-md-4 mb-xs-4"">
1358 <div class=""parent-purchases"">
1359 <label class=""checkbox-container white"">
1360 ");
1361 Write(Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet"));
1362 WriteLiteral(@"
1363 <input type=""checkbox"" name=""foraeldrekoebegnet"" value=""true"" class=""js-input-check"">
1364 <span class=""checkmark grey""></span>
1365 </label>
1366 </div>
1367 </div>
1368 </div>
1369
1370 <div class=""collapse"" id=""moreSearch-master"">
1371
1372 <h4 class=""mt-20""><b>");
1373 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
1374 WriteLiteral(@"</b></h4>
1375 <div class=""row align-items-end mb-30"">
1376 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1377 <div class=""filter-container row"">
1378 <label class=""d-block col-12"">");
1379 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
1380 WriteLiteral(@"</label>
1381 <div class=""col-6 pr-sm-0 pr-2"">
1382 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count""");
1383 BeginWriteAttribute("placeholder", " placeholder=\'", 164213, "\'", 164286, 1);
1384 WriteAttributeValue("", 164227, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 164227, 59, false);
1385 EndWriteAttribute();
1386 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1387 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1388 WriteLiteral("</option>\r\n");
1389 for (var i = 0; i <= 300; i += 10)
1390 {
1391 if (i == 300)
1392 {
1393 WriteLiteral(" <option>");
1394 Write(i);
1395 WriteLiteral("+</option>\r\n");
1396 }
1397 else
1398 {
1399 WriteLiteral(" <option>");
1400 Write(i);
1401 WriteLiteral("</option>\r\n");
1402 }
1403 }
1404 WriteLiteral(@" </select>
1405 </div>
1406 <div class=""col-6 pl-sm-0 pl-2"">
1407 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count""");
1408 BeginWriteAttribute("placeholder", " placeholder=\'", 165669, "\'", 165742, 1);
1409 WriteAttributeValue("", 165683, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 165683, 59, false);
1410 EndWriteAttribute();
1411 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1412 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1413 WriteLiteral("</option>\r\n");
1414 for (var i = 0; i <= 300; i += 10)
1415 {
1416 if (i == 300)
1417 {
1418 WriteLiteral(" <option>");
1419 Write(i);
1420 WriteLiteral("+</option>\r\n");
1421 }
1422 else
1423 {
1424 WriteLiteral(" <option>");
1425 Write(i);
1426 WriteLiteral("</option>\r\n");
1427 }
1428 }
1429 WriteLiteral(@" </select>
1430 </div>
1431 </div>
1432 </div>
1433 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1434 <div class=""filter-container row"">
1435 <label class=""d-block col-12"">");
1436 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
1437 WriteLiteral(@"</label>
1438 <div class=""col-6 pr-sm-0 pr-2"">
1439 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count""");
1440 BeginWriteAttribute("placeholder", " placeholder=\'", 167521, "\'", 167594, 1);
1441 WriteAttributeValue("", 167535, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 167535, 59, false);
1442 EndWriteAttribute();
1443 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1444 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
1445 WriteLiteral("</option>\r\n");
1446 for (var i = 0; i <= 10000; i += 100)
1447 {
1448 if (i == 10000)
1449 {
1450 WriteLiteral(" <option");
1451 BeginWriteAttribute("value", " value=\"", 168234, "\"", 168263, 1);
1452 WriteAttributeValue("", 168242, Converter.ToInt32(i), 168242, 21, false);
1453 EndWriteAttribute();
1454 WriteLiteral(">");
1455 Write(Converter.ToInt32(i).ToString("N0"));
1456 WriteLiteral("+</option>\r\n");
1457 }
1458 else
1459 {
1460 WriteLiteral(" <option");
1461 BeginWriteAttribute("value", " value=\"", 168560, "\"", 168589, 1);
1462 WriteAttributeValue("", 168568, Converter.ToInt32(i), 168568, 21, false);
1463 EndWriteAttribute();
1464 WriteLiteral(">");
1465 Write(Converter.ToInt32(i).ToString("N0"));
1466 WriteLiteral("</option>\r\n");
1467 }
1468 }
1469 WriteLiteral(@" </select>
1470 </div>
1471 <div class=""col-6 pl-sm-0 pl-2"">
1472 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count""");
1473 BeginWriteAttribute("placeholder", " placeholder=\'", 169110, "\'", 169183, 1);
1474 WriteAttributeValue("", 169124, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 169124, 59, false);
1475 EndWriteAttribute();
1476 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1477 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
1478 WriteLiteral("</option>\r\n");
1479 for (var i = 0; i <= 10000; i += 100)
1480 {
1481 if (i == 10000)
1482 {
1483 WriteLiteral(" <option");
1484 BeginWriteAttribute("value", " value=\"", 169814, "\"", 169843, 1);
1485 WriteAttributeValue("", 169822, Converter.ToInt32(i), 169822, 21, false);
1486 EndWriteAttribute();
1487 WriteLiteral(">");
1488 Write(Converter.ToInt32(i).ToString("N0"));
1489 WriteLiteral("+</option>\r\n");
1490 }
1491 else
1492 {
1493 WriteLiteral(" <option");
1494 BeginWriteAttribute("value", " value=\"", 170140, "\"", 170169, 1);
1495 WriteAttributeValue("", 170148, Converter.ToInt32(i), 170148, 21, false);
1496 EndWriteAttribute();
1497 WriteLiteral(">");
1498 Write(Converter.ToInt32(i).ToString("N0"));
1499 WriteLiteral("</option>\r\n");
1500 }
1501 }
1502 WriteLiteral(@" </select>
1503 </div>
1504 </div>
1505 </div>
1506 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1507 <div class=""filter-container row"">
1508 <label class=""d-block col-12"">Antal rum</label>
1509
1510 <div class=""col-6 pr-sm-0 pr-2"">
1511 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count"">
1512 <option selected=""selected"" disabled=""disabled"">");
1513 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
1514 WriteLiteral(@"</option>
1515 <option value=""1"">1</option>
1516 <option value=""2"">2</option>
1517 <option value=""3"">3</option>
1518 <option value=""4"">4</option>
1519 <option value=""5"">5+</option>
1520 </select>
1521 </div>
1522 <div class=""col-6 pl-sm-0 pl-2"">
1523 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count"">
1524 <option selected=""selected"" disabled=""disabled"">");
1525 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
1526 WriteLiteral(@"</option>
1527 <option value=""1"">1</option>
1528 <option value=""2"">2</option>
1529 <option value=""3"">3</option>
1530 <option value=""4"">4</option>
1531 <option value=""5"">5+</option>
1532 </select>
1533 </div>
1534 </div>
1535 </div>
1536 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"">
1537 <div class=""row"">
1538 <div class=""col-12 pr-2"">
1539 <div class=""filter-container"">
1540 <label class=""d-block"">Energimærke</label>
1541 ");
1542 WriteLiteral(" <select name=\"energylabel\" id=\"energylabel\" class=\"form-control reverse js-energylabel-select js-count\">\r\n <option disabled selected=\"selected\">");
1543 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
1544 WriteLiteral(@"</option>
1545 <option value=""01"">G</option>
1546 <option value=""02"">F</option>
1547 <option value=""03"">E</option>
1548 <option value=""04"">D</option>
1549 <option value=""05"">C</option>
1550 <option value=""06"">B</option>
1551 <option value=""07"">A</option>
1552 <option value=""08"">A2010</option>
1553 <option value=""09"">A2015</option>
1554 <option value=""10"">A2020+</option>
1555 </select>
1556 </div>
1557 ");
1558 WriteLiteral(@" </div>
1559 </div>
1560 </div>
1561 <div class=""col-12 col-sm-6 col-lg-6 mt-3"">
1562 <h4");
1563 BeginWriteAttribute("class", " class=\"", 174675, "\"", 174683, 0);
1564 EndWriteAttribute();
1565 WriteLiteral("><b>");
1566 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
1567 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
1568 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
1569 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\"");
1570 BeginWriteAttribute("placeholder", " placeholder=\'", 175245, "\'", 175312, 1);
1571 WriteAttributeValue("", 175259, Translate("Smartpage:Search.Placeholder.Min", "Min"), 175259, 53, false);
1572 EndWriteAttribute();
1573 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">");
1574 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
1575 WriteLiteral("</option>\r\n");
1576 for (var i = 0; i <= 25000; i += 1250)
1577 {
1578 if (i == 25000)
1579 {
1580 WriteLiteral(" <option");
1581 BeginWriteAttribute("value", " value=\"", 175956, "\"", 175985, 1);
1582 WriteAttributeValue("", 175964, Converter.ToInt32(i), 175964, 21, false);
1583 EndWriteAttribute();
1584 WriteLiteral(">");
1585 Write(Converter.ToInt32(i).ToString("N0"));
1586 WriteLiteral("+</option>\r\n");
1587 }
1588 else
1589 {
1590 WriteLiteral(" <option");
1591 BeginWriteAttribute("value", " value=\"", 176282, "\"", 176311, 1);
1592 WriteAttributeValue("", 176290, Converter.ToInt32(i), 176290, 21, false);
1593 EndWriteAttribute();
1594 WriteLiteral(">");
1595 Write(Converter.ToInt32(i).ToString("N0"));
1596 WriteLiteral("</option>\r\n");
1597 }
1598 }
1599 WriteLiteral(@" </select>
1600 </div>
1601 <div class=""col-6 pl-sm-0 pl-2"">
1602 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count""");
1603 BeginWriteAttribute("placeholder", " placeholder=\'", 176823, "\'", 176890, 1);
1604 WriteAttributeValue("", 176837, Translate("Smartpage:Search.Placeholder.Max", "Max"), 176837, 53, false);
1605 EndWriteAttribute();
1606 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
1607 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
1608 WriteLiteral("</option>\r\n");
1609 for (var i = 0; i <= 25000; i += 1250)
1610 {
1611 if (i == 25000)
1612 {
1613 WriteLiteral(" <option");
1614 BeginWriteAttribute("value", " value=\"", 177530, "\"", 177559, 1);
1615 WriteAttributeValue("", 177538, Converter.ToInt32(i), 177538, 21, false);
1616 EndWriteAttribute();
1617 WriteLiteral(">");
1618 Write(Converter.ToInt32(i).ToString("N0"));
1619 WriteLiteral("+</option>\r\n");
1620 }
1621 else
1622 {
1623 WriteLiteral(" <option");
1624 BeginWriteAttribute("value", " value=\"", 177856, "\"", 177885, 1);
1625 WriteAttributeValue("", 177864, Converter.ToInt32(i), 177864, 21, false);
1626 EndWriteAttribute();
1627 WriteLiteral(">");
1628 Write(Converter.ToInt32(i).ToString("N0"));
1629 WriteLiteral("</option>\r\n");
1630 }
1631 }
1632 WriteLiteral(@" </select>
1633 </div>
1634 </div>
1635 </div>
1636 <div class=""col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0"">
1637 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
1638 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
1639 WriteLiteral(@"</button>
1640 </div>
1641 </div>
1642 </div>
1643 </div>
1644 </div>
1645 <div class=""row d-block d-md-none form-wrapper no-gutters"">
1646 <div class=""col-xs-12 col-md-2"">
1647 <button type=""submit"" class=""btn btn-block btn-search dark-red""><i class=""fa fa-search""></i> ");
1648 Write(Translate("Smartpage:Search.Søg", "Søg"));
1649 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n");
1650 }
1651 WriteLiteral(" </div>\r\n\r\n");
1652
1653 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning));
1654 WriteLiteral("\r\n");
1655 if (isBrokerPage)
1656 {
1657 WriteLiteral(" <section class=\"maegler-navbar\">\r\n ");
1658 Write(RenderNavigation(new
1659 {
1660 id = "navbar-main",
1661 cssclass = "dwnavigation",
1662 template = "ul_li.xslt",
1663 StartLevel = 1,
1664 EndLevel = 1
1665 }));
1666 WriteLiteral("\r\n </section>\r\n");
1667 }
1668 WriteLiteral("\r\n <div class=\"visual-editor\">\r\n");
1669 WriteLiteral("\r\n\r\n");
1670 WriteLiteral("\r\n");
1671 WriteLiteral("\r\n");
1672
1673 string listPageId = Converter.ToString(GetPageIdByNavigationTag("DynamicListFeed"));
1674 string parentPageId = Dynamicweb.Services.Pages.GetPage(Model.ID).Parent.ID.ToString();
1675 string topLayout = Model.Item.GetList("TopLayout") != null ? Model.Item.GetList("TopLayout").SelectedValue : "default";
1676 topLayout = topLayout == "default" && GetParentSettingsItem("ArticleTopLayout") != null ? GetParentSettingsItem("ArticleTopLayout").ToString().ToLower() : topLayout;
1677 string textLayout = Model.Item.GetList("TextLayout") != null ? Model.Item.GetList("TextLayout").SelectedValue : "default";
1678 textLayout = textLayout == "default" && GetParentSettingsItem("ArticleTextLayout") != null ? GetParentSettingsItem("ArticleTextLayout").ToString().ToLower() : textLayout;
1679 string imageLayout = Model.Item.GetList("ImageLayout") != null ? Model.Item.GetList("ImageLayout").SelectedValue : "default";
1680 imageLayout = imageLayout == "default" && GetParentSettingsItem("ArticleImageLayout") != null ? GetParentSettingsItem("ArticleImageLayout").ToString().ToLower() : imageLayout;
1681
1682 //string imageColumns = imageLayout == "straight" && textLayout != "full" ? "8" : "12";
1683 //string contentColumns = textLayout != "full" ? "8" : "12";
1684 string imageColumns = "12";
1685 string contentColumns = "12";
1686
1687 int externalParagraphId = Model.Item.GetItem("CTAParagraphLink") != null ? Model.Item.GetItem("CTAParagraphLink").ParagraphID : 0;
1688
1689 ArticleHeaderLayout headerLayout;
1690
1691 switch (topLayout)
1692 {
1693 case "default":
1694 headerLayout = ArticleHeaderLayout.Clean;
1695 break;
1696 case "split":
1697 headerLayout = ArticleHeaderLayout.Split;
1698 break;
1699 case "banner":
1700 headerLayout = ArticleHeaderLayout.Banner;
1701 break;
1702 case "overlay":
1703 headerLayout = ArticleHeaderLayout.Overlay;
1704 break;
1705 default:
1706 headerLayout = ArticleHeaderLayout.Clean;
1707 break;
1708 }
1709
1710
1711 Block articleContainer = new Block
1712 {
1713 Id = "ArticleContainer",
1714 SortId = 10,
1715 Design = new Design
1716 {
1717 RenderType = RenderType.Row
1718 },
1719 BlocksList = new List<Block> {
1720 new Block {
1721 Id = "ArticleBody",
1722 SortId = 30,
1723 Design = new Design {
1724 RenderType = RenderType.Column,
1725 Size = "12",
1726 HidePadding = true,
1727 CssClass = "margin-top-large"
1728 }
1729 }
1730 }
1731 };
1732 articlePage.Add(articleContainer);
1733
1734 ButtonLayout topBannerButtonLayout = ButtonLayout.Primary;
1735
1736 switch (Model.Item.GetString("ButtonDesign"))
1737 {
1738 case "primary":
1739 topBannerButtonLayout = ButtonLayout.Primary;
1740 break;
1741 case "secondary":
1742 topBannerButtonLayout = ButtonLayout.Secondary;
1743 break;
1744 case "teritary":
1745 topBannerButtonLayout = ButtonLayout.Tertiary;
1746 break;
1747 case "link":
1748 topBannerButtonLayout = ButtonLayout.Link;
1749 break;
1750 }
1751
1752 ArticleHeader topBanner = new ArticleHeader
1753 {
1754 Layout = headerLayout,
1755 Image = new Image { Path = Model.Item.GetFile("Image"), ImageDefault = new ImageSettings { Width = 1920, Height = 640 } },
1756 Heading = Model.Item.GetString("Title"),
1757 Subheading = Model.Item.GetString("Summary"),
1758 TextColor = "#fff",
1759 Author = Model.Item.GetString("Author"),
1760 Date = Model.Item.GetString("Date"),
1761 Category = GetArticleCategory(Model.ID),
1762 CategoryColor = GetArticleCategoryColor(Model.ID),
1763 Link = Model.Item.GetString("Link"),
1764 LinkText = Model.Item.GetString("LinkText"),
1765 ButtonLayout = topBannerButtonLayout,
1766 RatingScore = Model.Item.GetString("Rating") != null ? Converter.ToInt32(Model.Item.GetList("Rating").SelectedValue) : 0,
1767 RatingOutOf = Model.Item.GetString("Rating") != null ? Model.Item.GetList("Rating").Options.Count : 0,
1768 ExternalParagraphId = externalParagraphId
1769 };
1770
1771 Block articleTop = new Block
1772 {
1773 Id = "ArticleHead",
1774 SortId = 20,
1775 Component = topBanner,
1776 Design = new Design
1777 {
1778 RenderType = RenderType.Column,
1779 Size = "12",
1780 HidePadding = true,
1781 CssClass = "article-head"
1782 }
1783 };
1784 //articlePage.Add("ArticleContainer", articleTop);
1785
1786
1787 Block articleBodyRow = new Block
1788 {
1789 Id = "ArticleBodyRow",
1790 SortId = 10,
1791 SkipRenderBlocksList = true
1792 };
1793 articlePage.Add("ArticleBody", articleBodyRow);
1794
1795
1796 if (Model.Item.GetString("Paragraphs") != null)
1797 {
1798 int count = 0;
1799 foreach (var paragraph in Model.Item.GetItems("Paragraphs"))
1800 {
1801 if (!paragraph.GetBoolean("RenderAsQuote"))
1802 {
1803 string enableDropCap = Model.Item.GetString("EnableDropCap") != null ? Model.Item.GetList("EnableDropCap").SelectedValue.ToLower() : "default";
1804 enableDropCap = enableDropCap == "default" && GetParentSettingsItem("EnableDropCap") != null ? GetParentSettingsItem("EnableDropCap").ToString().ToLower() : enableDropCap;
1805 string text = paragraph.GetString("Text") != null ? paragraph.GetString("Text") : "";
1806
1807 if (!String.IsNullOrEmpty(text) && enableDropCap == "true" && count == 0 && paragraph.GetString("Text").Substring(0, 3) == "<p>")
1808 {
1809 string firstLetter = paragraph.GetString("Text").Substring(3, 1);
1810 text = paragraph.GetString("Text").Remove(3, 1);
1811 text = text.Insert(3, "<span class=\"article__drop-cap\">" + firstLetter + "</span>");
1812 }
1813
1814 if (!String.IsNullOrEmpty(paragraph.GetString("Heading")))
1815 {
1816 Block articleParagraphHeader = new Block
1817 {
1818 Id = "ArticleParagraph" + count + "Heading",
1819 SortId = (count * 10) ,
1820 Component = new ArticleSubHeader { Title = paragraph.GetString("Heading") },
1821 Design = new Design
1822 {
1823 RenderType = RenderType.Column,
1824 Size = contentColumns,
1825 CssClass = "u-color-light--bg u-padding--lg"
1826 }
1827 };
1828 articlePage.Add("ArticleBodyRow", articleParagraphHeader);
1829 }
1830
1831 if (paragraph.GetFile("Image") != null)
1832 {
1833 string imageTitle = !string.IsNullOrEmpty(paragraph.GetString("Heading")) ? paragraph.GetString("Heading") : "";
1834
1835 Block articleParagraphImage = new Block
1836 {
1837 Id = "ArticleParagraph" + count + "Image",
1838 SortId = (count * 10) + 2,
1839 Design = new Design
1840 {
1841 RenderType = RenderType.Column,
1842 Size = imageColumns,
1843 CssClass = "u-color-light--bg u-padding--lg"
1844 }
1845 };
1846
1847 if (imageLayout == "banner")
1848 {
1849 ArticleBanner banner = new ArticleBanner
1850 {
1851 Image = new Image { Path = paragraph.GetFile("Image"), ImageDefault = new ImageSettings { Height = 650, Width = 1300 }, Caption = paragraph.GetString("ImageCaption") },
1852 Heading = imageTitle,
1853 UseFilters = false
1854 };
1855 articleParagraphImage.Component = banner;
1856 }
1857 else
1858 {
1859 ArticleImage image = new ArticleImage
1860 {
1861 Image = new Image
1862 {
1863 Path = paragraph.GetFile("Image"),
1864 Title = imageTitle,
1865 ImageDefault = new ImageSettings { Height = 650, Width = 1300 },
1866 Caption = paragraph.GetString("ImageCaption"),
1867 CssClass = "u-full-width"
1868 }
1869 };
1870 articleParagraphImage.Component = image;
1871 }
1872
1873 articlePage.Add("ArticleBodyRow", articleParagraphImage);
1874 }
1875
1876 if (!String.IsNullOrEmpty(paragraph.GetString("VideoURL")))
1877 {
1878 Block articleParagraphVideo = new Block
1879 {
1880 Id = "ArticleParagraph" + count + "Video",
1881 SortId = (count * 10) + 3,
1882 Component = new ArticleVideo { Url = paragraph.GetString("VideoURL"), AutoPlay = "false" },
1883 Design = new Design
1884 {
1885 RenderType = RenderType.Column,
1886 Size = imageColumns,
1887 CssClass = "u-color-light--bg u-padding--lg"
1888 }
1889 };
1890 articlePage.Add("ArticleBodyRow", articleParagraphVideo);
1891 }
1892
1893 if (!String.IsNullOrEmpty(text))
1894 {
1895 Block articleParagraphText = new Block
1896 {
1897 Id = "ArticleParagraph" + count + "Text",
1898 SortId = (count * 10) + 3,
1899 Component = new ArticleText { Text = text },
1900 Design = new Design
1901 {
1902 RenderType = RenderType.Column,
1903 Size = contentColumns,
1904 CssClass = "u-color-light--bg u-padding--lg"
1905 }
1906 };
1907
1908 articlePage.Add("ArticleBodyRow", articleParagraphText);
1909 }
1910 }
1911 else
1912 {
1913 if (!String.IsNullOrEmpty(paragraph.GetString("Text")))
1914 {
1915 string quoteText = paragraph.GetString("Text") != null ? paragraph.GetString("Text") : "";
1916 string quoteAuthor = paragraph.GetString("Heading") != null ? paragraph.GetString("Heading") : "";
1917
1918 Block articleParagraphQuote = new Block
1919 {
1920 Id = "ArticleParagraph" + count + "Quote",
1921 SortId = (count * 10) + 3,
1922 Component = new ArticleQuote { Image = new Image { Path = paragraph.GetFile("Image") }, Text = quoteText, Author = quoteAuthor },
1923 Design = new Design
1924 {
1925 RenderType = RenderType.Column,
1926 Size = contentColumns,
1927 CssClass = "u-color-light--bg u-padding--lg"
1928 }
1929 };
1930 articlePage.Add("ArticleBodyRow", articleParagraphQuote);
1931 }
1932 }
1933
1934 count++;
1935 }
1936 }
1937
1938 articleBodyRow.Component = new ArticleBodyRow { SubBlocks = articleBodyRow.BlocksList, TopLayout = topLayout, TextLayout = textLayout };
1939
1940
1941 //Related
1942 string showRelatedArtices = Model.Item.GetString("ShowRelatedArticles") != null ? Model.Item.GetList("ShowRelatedArticles").SelectedValue.ToLower() : "default";
1943 showRelatedArtices = showRelatedArtices == "default" && GetParentSettingsItem("ShowRelatedArticles") != null ? GetParentSettingsItem("ShowRelatedArticles").ToString().ToLower() : showRelatedArtices;
1944
1945 if (showRelatedArtices == "true")
1946 {
1947 Block articleRelated = new Block
1948 {
1949 Id = "ArticleRelated",
1950 SortId = 30,
1951 Component = new ArticleRelated { Title = Translate("Related articles"), FeedPageId = listPageId, Query = "sourceType=Page&sourcePage=" + parentPageId, PageSize = 4, CurrentPageId = Model.ID.ToString() },
1952 Design = new Design
1953 {
1954 RenderType = RenderType.Column,
1955 Size = "12"
1956 }
1957 };
1958 articlePage.Add("ArticleContainer", articleRelated);
1959 }
1960 WriteLiteral("\r\n\r\n");
1961 WriteLiteral("<section class=\"center-container content-container dw-mod\">\r\n ");
1962 Write(RenderBlockList(articlePage.BlocksRoot.BlocksList));
1963 WriteLiteral("\r\n</section>\r\n </div>\r\n\r\n");
1964 if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true)
1965 {
1966 string bName = MyBroker.Broker.Name;
1967 string bClass = "na";
1968 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png";
1969
1970 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName))
1971 {
1972 bName = MyBroker.Broker.CompanyName;
1973 }
1974 try
1975 {
1976 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl");
1977 if (!string.IsNullOrEmpty(imgUrl))
1978 {
1979 bImage = imgUrl;
1980 bClass = "";
1981 }
1982 }
1983 catch
1984 {
1985 // Ignore
1986 }
1987
1988 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId");
1989 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
1990
1991 WriteLiteral(" <section class=\"din-maegler\">\r\n <div");
1992 BeginWriteAttribute("class", " class=\"", 196679, "\"", 196706, 2);
1993 WriteAttributeValue("", 196687, "img-wrapper", 196687, 11, true);
1994 WriteAttributeValue(" ", 196698, bClass, 196699, 7, false);
1995 EndWriteAttribute();
1996 BeginWriteAttribute("style", " style=\"", 196707, "\"", 196746, 3);
1997 WriteAttributeValue("", 196715, "background-image:url(\'", 196715, 22, true);
1998 WriteAttributeValue("", 196737, bImage, 196737, 7, false);
1999 WriteAttributeValue("", 196744, "\')", 196744, 2, true);
2000 EndWriteAttribute();
2001 WriteLiteral(@"></div>
2002 <div class=""container"">
2003 <div class=""col-12 col-sm-12 col-md-6 offset-md-6"">
2004 <h2>Din personlige mægler</h2>
2005 <div class=""row"">
2006 <div class=""col-12 col-sm-6"">
2007 <p>
2008 <b class=""my-broker-name"">");
2009 Write(MyBroker.Employee.Name);
2010 WriteLiteral("</b><br>\r\n");
2011 if (!string.IsNullOrEmpty(MyBroker.Employee.Email))
2012 {
2013 WriteLiteral("Mail: <a");
2014 BeginWriteAttribute("href", " href=\"", 197303, "\"", 197363, 2);
2015 WriteAttributeValue("", 197310, "mailto:", 197310, 7, true);
2016 WriteAttributeValue("", 197317, ExtractMaskedEmail(MyBroker.Employee.Email), 197317, 46, false);
2017 EndWriteAttribute();
2018 WriteLiteral(" class=\"my-broker-email\">");
2019 Write(ExtractMaskedEmail(MyBroker.Employee.Email));
2020 WriteLiteral("</a><br>");
2021
2022 }
2023 if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile))
2024 {
2025 WriteLiteral("Tlf.: <a");
2026 BeginWriteAttribute("href", " href=\"", 197662, "\"", 197705, 2);
2027 WriteAttributeValue("", 197669, "tel:", 197669, 4, true);
2028 WriteAttributeValue("", 197673, MyBroker.Employee.PhoneMobile, 197673, 32, false);
2029 EndWriteAttribute();
2030 WriteLiteral(" class=\"my-broker-phone\">");
2031 Write(FormatPhoneNumber(MyBroker.Employee.PhoneMobile));
2032 WriteLiteral("</a>");
2033
2034 }
2035 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
2036 {
2037 WriteLiteral("Tlf.: <a");
2038 BeginWriteAttribute("href", " href=\"", 198005, "\"", 198044, 2);
2039 WriteAttributeValue("", 198012, "tel:", 198012, 4, true);
2040 WriteAttributeValue("", 198016, MyBroker.Broker.Telephone, 198016, 28, false);
2041 EndWriteAttribute();
2042 WriteLiteral(" class=\"my-broker-phone\">");
2043 Write(FormatPhoneNumber(MyBroker.Broker.Telephone));
2044 WriteLiteral("</a>");
2045
2046 }
2047 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\">");
2048 Write(bName);
2049 WriteLiteral("</b><br>\r\n <span class=\"my-broker-company-address\">");
2050 Write(MyBroker.Broker.Address);
2051 WriteLiteral("</span><br>\r\n <span class=\"my-broker-company-zip\">");
2052 Write(MyBroker.Broker.ZipCode);
2053 WriteLiteral("</span> <span class=\"my-broker-company-city\">");
2054 Write(MyBroker.Broker.City);
2055 WriteLiteral("</span><br>\r\n");
2056 if (!string.IsNullOrEmpty(bEmail))
2057 {
2058 WriteLiteral("Mail: <a");
2059 BeginWriteAttribute("href", " href=\"", 198833, "\"", 198856, 2);
2060 WriteAttributeValue("", 198840, "mailto:", 198840, 7, true);
2061 WriteAttributeValue("", 198847, bEmail, 198847, 9, false);
2062 EndWriteAttribute();
2063 WriteLiteral(" class=\"my-broker-broker-email\">");
2064 Write(bEmail);
2065 WriteLiteral("</a><br>");
2066
2067 }
2068 if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
2069 {
2070 WriteLiteral("Tlf.: <a");
2071 BeginWriteAttribute("href", " href=\"", 199121, "\"", 199160, 2);
2072 WriteAttributeValue("", 199128, "tel:", 199128, 4, true);
2073 WriteAttributeValue("", 199132, MyBroker.Broker.Telephone, 199132, 28, false);
2074 EndWriteAttribute();
2075 WriteLiteral(" class=\"my-broker-broker-phone\">");
2076 Write(FormatPhoneNumber(MyBroker.Broker.Telephone));
2077 WriteLiteral("</a>");
2078
2079 }
2080 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");
2081 BeginWriteAttribute("href", " href=\"", 199536, "\"", 199571, 2);
2082 WriteAttributeValue("", 199543, "/", 199543, 1, true);
2083 WriteAttributeValue("", 199544, medlemsnummer.Substring(1), 199544, 27, false);
2084 EndWriteAttribute();
2085 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");
2086 }
2087 WriteLiteral(" <footer>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n");
2088
2089 var navigationSettings = new NavigationSettings();
2090 navigationSettings.StartLevel = 1;
2091 navigationSettings.StopLevel = 3;
2092 navigationSettings.ExpandMode = ExpandMode.All;
2093 navigationSettings.RootAreaId = 1;
2094 navigationSettings.RootNavigationTag = "footer-nav";
2095
2096 WriteLiteral(" ");
2097 Write(Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings));
2098 WriteLiteral("\r\n </div>\r\n </div>\r\n </footer>\r\n\r\n");
2099 if (Model.CurrentUser?.ID <= 0)
2100 {
2101 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");
2102 if (loginParagraphId > 0)
2103 {
2104 WriteLiteral("\r\n ");
2105 Write(RenderParagraphContent(loginParagraphId));
2106 WriteLiteral("\r\n ");
2107
2108 }
2109 WriteLiteral(" </div>\r\n <div class=\"loginform register js-register-form-wrapper\" style=\"display: none;\">\r\n");
2110 if (createUserParagraphId > 0)
2111 {
2112 WriteLiteral("\r\n ");
2113 Write(RenderParagraphContent(createUserParagraphId));
2114 WriteLiteral("\r\n ");
2115
2116 }
2117 WriteLiteral(" </div>\r\n <div class=\"loginform forgotpw\" style=\"display: none;\">\r\n <h2 class=\"forgotpw-reg\">");
2118 Write(Translate("forgot-pw-reg-title", "Glemt adgangskode"));
2119 WriteLiteral("</h2>\r\n <h2 class=\"forgotpw-broker\">");
2120 Write(Translate("forgot-pw-broker-title", "Tilmeldt via. mægler"));
2121 WriteLiteral("</h2>\r\n <form id=\"forgotPwForm\" class=\"form-body\" method=\"post\"");
2122 BeginWriteAttribute("action", " action=\"", 201634, "\"", 201643, 0);
2123 EndWriteAttribute();
2124 WriteLiteral(">\r\n <input type=\"hidden\" id=\"AccessUserShopID\" name=\"AccessUserShopID\" value=\"SHOP6\" />\r\n <p class=\"forgotpw-reg\">");
2125 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."));
2126 WriteLiteral("</p>\r\n <p class=\"forgotpw-broker\">");
2127 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."));
2128 WriteLiteral(@"</p>
2129 <div class=""form-group"">
2130 <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 />
2131 </div>
2132 <button class=""btn btn-primary btn-block"" type=""submit"">");
2133 Write(Translate("forgot-pw-cta", "Nulstil adgangskode"));
2134 WriteLiteral("</button>\r\n <br />\r\n <div id=\"submitMessage\"></div>\r\n </form>\r\n </div>\r\n </div>\r\n");
2135 }
2136 WriteLiteral("\r\n");
2137 WriteLiteral("\r\n");
2138
2139 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");
2140 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>");
2141 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler"));
2142 WriteLiteral("</h2>\r\n <form id=\"form-koeberraadgivning\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>");
2143 Write(Translate("form-navn", "Navn"));
2144 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\" tabindex=\"1\"");
2145 BeginWriteAttribute("placeholder", " placeholder=\'", 203883, "\'", 203965, 1);
2146 WriteAttributeValue("", 203897, Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn"), 203897, 68, false);
2147 EndWriteAttribute();
2148 BeginWriteAttribute("value", " value=\'", 203966, "\'", 204005, 1);
2149 WriteAttributeValue("", 203974, UserContext.Current.User?.Name, 203974, 31, false);
2150 EndWriteAttribute();
2151 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2152 Write(Translate("form-email", "E-mail"));
2153 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\"");
2154 BeginWriteAttribute("placeholder", " placeholder=\'", 204282, "\'", 204367, 1);
2155 WriteAttributeValue("", 204296, Translate("Smartpage:Kontakt.Placeholder.Email", "Indtast din e-mail"), 204296, 71, false);
2156 EndWriteAttribute();
2157 BeginWriteAttribute("value", " value=\'", 204368, "\'", 204408, 1);
2158 WriteAttributeValue("", 204376, UserContext.Current.User?.Email, 204376, 32, false);
2159 EndWriteAttribute();
2160 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2161 Write(Translate("form-mobile", "Mobil nr."));
2162 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"3\" maxlength=\"20\" name=\"mobile\"");
2163 BeginWriteAttribute("placeholder", " placeholder=\'", 204719, "\'", 204804, 1);
2164 WriteAttributeValue("", 204733, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 204733, 71, false);
2165 EndWriteAttribute();
2166 BeginWriteAttribute("value", " value=\'", 204805, "\'", 204845, 1);
2167 WriteAttributeValue("", 204813, UserContext.Current.User?.Phone, 204813, 32, false);
2168 EndWriteAttribute();
2169 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2170 Write(Translate("form-telephone", "Telefon nr."));
2171 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"4\" maxlength=\"20\" name=\"telefonnummer\"");
2172 BeginWriteAttribute("placeholder", " placeholder=\'", 205128, "\'", 205212, 1);
2173 WriteAttributeValue("", 205142, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 205142, 70, false);
2174 EndWriteAttribute();
2175 BeginWriteAttribute("value", " value=\'", 205213, "\'", 205254, 1);
2176 WriteAttributeValue("", 205221, UserContext.Current?.User?.Phone, 205221, 33, false);
2177 EndWriteAttribute();
2178 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <h3>");
2179 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2180 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2181 Write(Translate("form-zip", "Post nr"));
2182 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\" tabindex=\"5\"");
2183 BeginWriteAttribute("placeholder", " placeholder=\'", 205662, "\'", 205740, 1);
2184 WriteAttributeValue("", 205676, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 205676, 64, false);
2185 EndWriteAttribute();
2186 BeginWriteAttribute("value", " value=\"", 205741, "\"", 205757, 1);
2187 WriteAttributeValue("", 205749, userZip, 205749, 8, false);
2188 EndWriteAttribute();
2189 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2190 Write(Translate("form-city", "By"));
2191 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>");
2192 Write(Translate("form-adresse", "Adresse"));
2193 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\" tabindex=\"6\"");
2194 BeginWriteAttribute("placeholder", " placeholder=\'", 206324, "\'", 206414, 1);
2195 WriteAttributeValue("", 206338, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 206338, 76, false);
2196 EndWriteAttribute();
2197 WriteLiteral(" required />\r\n\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2198 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2199 WriteLiteral(@"</label>
2200 </div>
2201 <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"">
2202 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2203 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2204 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\"");
2205 BeginWriteAttribute("placeholder", " placeholder=\'", 207208, "\'", 207286, 1);
2206 WriteAttributeValue("", 207222, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 207222, 64, false);
2207 EndWriteAttribute();
2208 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\">");
2209 Write(Translate("KontaktMægler", "Kontakt Mægler"));
2210 WriteLiteral(@"</button>
2211 </div>
2212 </div>
2213 </div>
2214 <div class=""form-group mt-3"">
2215 <div class=""checkbox"">
2216 <label>
2217 <input type=""checkbox"" name=""kontaktmigok"" required />
2218
2219 <span>");
2220 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2221 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2222 Write(privacyPolicyText);
2223 WriteLiteral(" <a");
2224 BeginWriteAttribute("href", " href=\"", 208099, "\"", 208123, 2);
2225 WriteAttributeValue("", 208106, "mailto:", 208106, 7, true);
2226 WriteAttributeValue("", 208113, termsMail, 208113, 10, false);
2227 EndWriteAttribute();
2228 WriteLiteral(">");
2229 Write(termsMail);
2230 WriteLiteral("</a>.\r\n Læs mere på <a");
2231 BeginWriteAttribute("href", " href=\"", 208168, "\"", 208202, 1);
2232 WriteAttributeValue("", 208175, settings_Persondatapolitik, 208175, 27, false);
2233 EndWriteAttribute();
2234 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n\r\n <input type=\"hidden\" name=\"fn\" value=\"krk\" />\r\n <input type=\"hidden\" name=\"origin\"");
2235 BeginWriteAttribute("value", " value=\"", 208348, "\"", 208356, 0);
2236 EndWriteAttribute();
2237 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2238 BeginWriteAttribute("value", " value=\"", 208406, "\"", 208414, 0);
2239 EndWriteAttribute();
2240 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2241 BeginWriteAttribute("value", " value=\"", 208462, "\"", 208486, 1);
2242 WriteAttributeValue("", 208470, Pageview.AreaID, 208470, 16, false);
2243 EndWriteAttribute();
2244 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2245 BeginWriteAttribute("value", " value=\"", 208535, "\"", 208551, 1);
2246 WriteAttributeValue("", 208543, butikId, 208543, 8, false);
2247 EndWriteAttribute();
2248 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2249 BeginWriteAttribute("value", " value=\"", 208605, "\"", 208613, 0);
2250 EndWriteAttribute();
2251 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2252 BeginWriteAttribute("value", " value=\"", 208664, "\"", 208672, 0);
2253 EndWriteAttribute();
2254 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2255 BeginWriteAttribute("value", " value=\"", 208722, "\"", 208730, 0);
2256 EndWriteAttribute();
2257 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-advisor\" style=\"display:none;\">\r\n <h2>");
2258 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2259 WriteLiteral("</h2>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2260 BeginWriteAttribute("src", " src=\"", 208963, "\"", 208969, 0);
2261 EndWriteAttribute();
2262 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2263 </div>
2264 <div class=""col-6"">
2265 <p class=""js-maegler-name""></p>
2266 <p class=""js-maegler-address""></p>
2267 <p class=""js-maegler-phone""></p>
2268 <p class=""js-maegler-mail""></p>
2269 </div>
2270 </div>
2271 <p>");
2272 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2273 WriteLiteral(@"</p>
2274 </div>
2275 </div>
2276
2277 <!--ÅBENT HUS-->
2278 <div id=""panel-aabenthus"" class=""panel panel-form"">
2279 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2280 <b></b>
2281 </button>
2282
2283
2284 <form id=""form-aabenthus"" method=""POST"" action=""/InboxHandler"">
2285 <h2>");
2286 Write(Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus"));
2287 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>");
2288 Write(Translate("Smarptage:Adresse", "Adresse:"));
2289 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>");
2290 Write(Translate("Smarptage:Date", "Dato:"));
2291 WriteLiteral("</strong> <label class=\"js-aabenthus-date mb-0\"></label>\r\n </div>\r\n <div class=\"d-block mb-4\">\r\n <strong>");
2292 Write(Translate("Smarptage:Time", "Tidspunkt:"));
2293 WriteLiteral("</strong> <label class=\"js-aabenthus-time mb-0\"></label>\r\n </div>\r\n <h3>");
2294 Write(Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger"));
2295 WriteLiteral("</h3>\r\n <div class=\"form-group\">\r\n <label for=\"aabenthus-name\"><strong>");
2296 Write(Translate("form-navn", "Navn"));
2297 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2298 BeginWriteAttribute("placeholder", " placeholder=\'", 210587, "\'", 210671, 1);
2299 WriteAttributeValue("", 210601, Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn"), 210601, 70, false);
2300 EndWriteAttribute();
2301 BeginWriteAttribute("value", " value=\'", 210672, "\'", 210712, 1);
2302 WriteAttributeValue("", 210680, UserContext.Current?.User?.Name, 210680, 32, false);
2303 EndWriteAttribute();
2304 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2305 Write(Translate("form-email", "E-mail"));
2306 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2307 BeginWriteAttribute("placeholder", " placeholder=\'", 210976, "\'", 211063, 1);
2308 WriteAttributeValue("", 210990, Translate("Smartpage:Aabenthus.Placeholder.Email", "Indtast din e-mail"), 210990, 73, false);
2309 EndWriteAttribute();
2310 BeginWriteAttribute("value", " value=\'", 211064, "\'", 211104, 1);
2311 WriteAttributeValue("", 211072, UserContext.Current.User?.Email, 211072, 32, false);
2312 EndWriteAttribute();
2313 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2314 Write(Translate("form-mobile", "Mobil nr."));
2315 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2316 BeginWriteAttribute("placeholder", " placeholder=\'", 211397, "\'", 211484, 1);
2317 WriteAttributeValue("", 211411, Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr."), 211411, 73, false);
2318 EndWriteAttribute();
2319 BeginWriteAttribute("value", " value=\'", 211485, "\'", 211525, 1);
2320 WriteAttributeValue("", 211493, UserContext.Current.User?.Phone, 211493, 32, false);
2321 EndWriteAttribute();
2322 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2323 Write(Translate("form-telephone", "Telefon nr."));
2324 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2325 BeginWriteAttribute("placeholder", " placeholder=\'", 211795, "\'", 211881, 1);
2326 WriteAttributeValue("", 211809, Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr."), 211809, 72, false);
2327 EndWriteAttribute();
2328 BeginWriteAttribute("value", " value=\'", 211882, "\'", 211922, 1);
2329 WriteAttributeValue("", 211890, UserContext.Current.User?.Phone, 211890, 32, false);
2330 EndWriteAttribute();
2331 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\">");
2332 Write(Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus"));
2333 WriteLiteral(@"</button>
2334 </div>
2335 </div>
2336 </div>
2337 <div class=""form-group"">
2338 <div class=""checkbox"">
2339 <label>
2340 <input type=""checkbox"" name=""kontaktmigok"" required />
2341
2342 <span class=""base-color"">");
2343 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2344 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n ");
2345 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>"));
2346 WriteLiteral("\r\n\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"ah\" />\r\n <input type=\"hidden\" name=\"origin\"");
2347 BeginWriteAttribute("value", " value=\"", 213085, "\"", 213093, 0);
2348 EndWriteAttribute();
2349 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2350 BeginWriteAttribute("value", " value=\"", 213143, "\"", 213158, 1);
2351 WriteAttributeValue("", 213151, userID, 213151, 7, false);
2352 EndWriteAttribute();
2353 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2354 BeginWriteAttribute("value", " value=\"", 213206, "\"", 213230, 1);
2355 WriteAttributeValue("", 213214, Pageview.AreaID, 213214, 16, false);
2356 EndWriteAttribute();
2357 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2358 BeginWriteAttribute("value", " value=\"", 213279, "\"", 213295, 1);
2359 WriteAttributeValue("", 213287, butikId, 213287, 8, false);
2360 EndWriteAttribute();
2361 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsaddresse\"");
2362 BeginWriteAttribute("value", " value=\"", 213349, "\"", 213357, 0);
2363 EndWriteAttribute();
2364 WriteLiteral(" class=\"js-aabenthus-address-input\" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2365 BeginWriteAttribute("value", " value=\"", 213446, "\"", 213454, 0);
2366 EndWriteAttribute();
2367 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2368 BeginWriteAttribute("value", " value=\"", 213505, "\"", 213513, 0);
2369 EndWriteAttribute();
2370 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2371 BeginWriteAttribute("value", " value=\"", 213563, "\"", 213571, 0);
2372 EndWriteAttribute();
2373 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2374 BeginWriteAttribute("value", " value=\"", 213621, "\"", 213629, 0);
2375 EndWriteAttribute();
2376 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsnr\"");
2377 BeginWriteAttribute("value", " value=\"", 213677, "\"", 213685, 0);
2378 EndWriteAttribute();
2379 WriteLiteral(" class=\"js-sagsnr\" />\r\n <input type=\"hidden\" name=\"productId\"");
2380 BeginWriteAttribute("value", " value=\"", 213754, "\"", 213810, 1);
2381 WriteAttributeValue("", 213762, Dynamicweb.Context.Current.Request["ProductId"], 213762, 48, false);
2382 EndWriteAttribute();
2383 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"aftaleid\"");
2384 BeginWriteAttribute("value", " value=\"", 213860, "\"", 213868, 0);
2385 EndWriteAttribute();
2386 WriteLiteral(@" class=""js-aftaleid"" />
2387
2388 <input type=""hidden"" name=""dateMail"" class=""js-aabenthus-date-input"" />
2389 <input type=""hidden"" name=""timeMail"" class=""js-aabenthus-time-input"" />
2390 <input type=""hidden"" name=""brokerImageMail"" class=""property-broker-image-input"" />
2391 <input type=""hidden"" name=""employeeNameMail"" class=""js-maegler-employee-name-input"" />
2392 <input type=""hidden"" name=""employeeTitleMail"" class=""js-maegler-employee-title-input"" />
2393 <input type=""hidden"" name=""employeeMailMail"" class=""js-maegler-mail-input"" />
2394 <input type=""hidden"" name=""employeeMobileMail"" class=""js-maegler-mobile-input"" />
2395 <input type=""hidden"" name=""employeePhoneMail"" class=""js-maegler-phone-input"" />
2396
2397 <input type=""hidden"" name=""brokerNameMail"" class=""js-broker-name-input"" />
2398 <input type=""hidden"" name=""brokerAddressMail"" class=""js-broker-address-input"" />
2399 <input type=""hidden"" name=""brokerPhoneMail"" class=""js-broker-phone-input"" />
2400 </form>
2401 <di");
2402 WriteLiteral("v id=\"tak-aabenthus\" style=\"display:none;\">\r\n <h2>");
2403 Write(Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!"));
2404 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>");
2405 Write(Translate("Smarptage:Adresse", "Adresse:"));
2406 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>");
2407 Write(Translate("Smarptage:Date", "Dato:"));
2408 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>");
2409 Write(Translate("Smarptage:Time", "Tidspunkt:"));
2410 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>");
2411 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>"));
2412 WriteLiteral("</p>\r\n </div>\r\n <div class=\"js-not-employee\">\r\n <p>");
2413 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"));
2414 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\"");
2415 BeginWriteAttribute("style", " style=\"", 216260, "\"", 216268, 0);
2416 EndWriteAttribute();
2417 WriteLiteral(@"></div>
2418
2419 </div>
2420 </div>
2421 <div class=""col-12"">
2422 <div class=""bg-base"">
2423
2424 <div class=""js-employee"">
2425 <h4 class=""js-maegler-employee-name""></h4>
2426 <div class=""icon-container"">
2427 <i class=""fas fa-envelope""></i> <span class=""js-maegler-mail""></span>
2428 </div>
2429 <div class=""icon-container"">
2430 <i class=""fas fa-phone""></i> <span class=""js-maegler-mobile""></span>
2431 </div>
2432 </div>
2433
2434
2435 <h4 class=""js-maegler-name""></h4>
2436 <div class=""icon-container"">
2437 <i class=""fas fa-map-marker-alt""></i> <span class=""js-maegler-address""></span>
2438 </div>
2439 <div class=""icon-container"">
2440 <i class=""fas fa-phone""></i> <span class=""js-maegler-phone""></span>");
2441 WriteLiteral(@"
2442
2443 </div>
2444 <a class=""btn btn-border"" onclick=""panelKontaktmaeglerGuldkoeber()"">KONTAKT MÆGLER</a>
2445 </div>
2446 </div>
2447 </div>
2448 </div>
2449 </div>
2450
2451 <!-- KONTAKT GULDKØBER -->
2452 <div id=""panel-kontakt-guldkoeber"" class=""panel panel-form"">
2453 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2454 <b></b>
2455 </button>
2456 <h2>");
2457 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler"));
2458 WriteLiteral("</h2>\r\n <form id=\"form-kontaktmaegler\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>");
2459 Write(Translate("form-navn", "Navn"));
2460 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2461 BeginWriteAttribute("placeholder", " placeholder=\'", 218053, "\'", 218098, 1);
2462 WriteAttributeValue("", 218067, Translate("form-navn", "Navn"), 218067, 31, false);
2463 EndWriteAttribute();
2464 BeginWriteAttribute("value", " value=\'", 218099, "\'", 218138, 1);
2465 WriteAttributeValue("", 218107, UserContext.Current.User?.Name, 218107, 31, false);
2466 EndWriteAttribute();
2467 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2468 Write(Translate("form-email", "E-mail"));
2469 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2470 BeginWriteAttribute("placeholder", " placeholder=\'", 218402, "\'", 218450, 1);
2471 WriteAttributeValue("", 218416, Translate("form-email", "E-mail"), 218416, 34, false);
2472 EndWriteAttribute();
2473 BeginWriteAttribute("value", " value=\'", 218451, "\'", 218491, 1);
2474 WriteAttributeValue("", 218459, UserContext.Current.User?.Email, 218459, 32, false);
2475 EndWriteAttribute();
2476 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2477 Write(Translate("form-mobile", "Mobil nr."));
2478 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2479 BeginWriteAttribute("placeholder", " placeholder=\'", 218789, "\'", 218874, 1);
2480 WriteAttributeValue("", 218803, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 218803, 71, false);
2481 EndWriteAttribute();
2482 BeginWriteAttribute("value", " value=\'", 218875, "\'", 218915, 1);
2483 WriteAttributeValue("", 218883, UserContext.Current.User?.Phone, 218883, 32, false);
2484 EndWriteAttribute();
2485 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2486 Write(Translate("form-telephone", "Telefon nr."));
2487 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2488 BeginWriteAttribute("placeholder", " placeholder=\'", 219185, "\'", 219269, 1);
2489 WriteAttributeValue("", 219199, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 219199, 70, false);
2490 EndWriteAttribute();
2491 BeginWriteAttribute("value", " value=\'", 219270, "\'", 219310, 1);
2492 WriteAttributeValue("", 219278, UserContext.Current.User?.Phone, 219278, 32, false);
2493 EndWriteAttribute();
2494 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2495 Write(Translate("form-zip", "Post nr"));
2496 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2497 BeginWriteAttribute("placeholder", " placeholder=\'", 219626, "\'", 219704, 1);
2498 WriteAttributeValue("", 219640, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 219640, 64, false);
2499 EndWriteAttribute();
2500 BeginWriteAttribute("value", " value=\"", 219705, "\"", 219721, 1);
2501 WriteAttributeValue("", 219713, userZip, 219713, 8, false);
2502 EndWriteAttribute();
2503 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2504 Write(Translate("form-city", "By"));
2505 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>");
2506 Write(Translate("form-adresse", "Adresse"));
2507 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2508 BeginWriteAttribute("placeholder", " placeholder=\'", 220277, "\'", 220367, 1);
2509 WriteAttributeValue("", 220291, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 220291, 76, false);
2510 EndWriteAttribute();
2511 BeginWriteAttribute("value", " value=\"", 220368, "\"", 220388, 1);
2512 WriteAttributeValue("", 220376, userAddress, 220376, 12, false);
2513 EndWriteAttribute();
2514 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2515 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2516 WriteLiteral("</label>\r\n </div>\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\"");
2517 BeginWriteAttribute("placeholder", " placeholder=\'", 220714, "\'", 220792, 1);
2518 WriteAttributeValue("", 220728, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 220728, 64, false);
2519 EndWriteAttribute();
2520 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>");
2521 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2522 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\">");
2523 Write(Translate("KontaktMægler", "Kontakt Mægler"));
2524 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2525 Write(privacyPolicyText);
2526 WriteLiteral(" <a");
2527 BeginWriteAttribute("href", " href=\"", 221578, "\"", 221602, 2);
2528 WriteAttributeValue("", 221585, "mailto:", 221585, 7, true);
2529 WriteAttributeValue("", 221592, termsMail, 221592, 10, false);
2530 EndWriteAttribute();
2531 WriteLiteral(">");
2532 Write(termsMail);
2533 WriteLiteral("</a>.\r\n Læs mere på <a");
2534 BeginWriteAttribute("href", " href=\"", 221647, "\"", 221681, 1);
2535 WriteAttributeValue("", 221654, settings_Persondatapolitik, 221654, 27, false);
2536 EndWriteAttribute();
2537 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"gk\" />\r\n <input type=\"hidden\" name=\"origin\"");
2538 BeginWriteAttribute("value", " value=\"", 221824, "\"", 221832, 0);
2539 EndWriteAttribute();
2540 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2541 BeginWriteAttribute("value", " value=\"", 221882, "\"", 221897, 1);
2542 WriteAttributeValue("", 221890, userID, 221890, 7, false);
2543 EndWriteAttribute();
2544 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2545 BeginWriteAttribute("value", " value=\"", 221945, "\"", 221969, 1);
2546 WriteAttributeValue("", 221953, Pageview.AreaID, 221953, 16, false);
2547 EndWriteAttribute();
2548 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2549 BeginWriteAttribute("value", " value=\"", 222018, "\"", 222034, 1);
2550 WriteAttributeValue("", 222026, butikId, 222026, 8, false);
2551 EndWriteAttribute();
2552 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2553 BeginWriteAttribute("value", " value=\"", 222088, "\"", 222096, 0);
2554 EndWriteAttribute();
2555 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2556 BeginWriteAttribute("value", " value=\"", 222147, "\"", 222155, 0);
2557 EndWriteAttribute();
2558 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2559 BeginWriteAttribute("value", " value=\"", 222205, "\"", 222213, 0);
2560 EndWriteAttribute();
2561 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2562 BeginWriteAttribute("value", " value=\"", 222263, "\"", 222271, 0);
2563 EndWriteAttribute();
2564 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-maegler-guldkoeber\" style=\"display:none;\">\r\n <h2>");
2565 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2566 WriteLiteral("</h2>\r\n <p>");
2567 Write(Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:"));
2568 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2569 BeginWriteAttribute("src", " src=\"", 222633, "\"", 222639, 0);
2570 EndWriteAttribute();
2571 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2572 </div>
2573 <div class=""col-6"">
2574 <p class=""js-maegler-name""></p>
2575 <p class=""js-maegler-address""></p>
2576 <p class=""js-maegler-phone""></p>
2577 <p class=""js-maegler-mail""></p>
2578 </div>
2579 </div>
2580 <p>");
2581 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2582 WriteLiteral(@"</p>
2583 </div>
2584 </div>
2585
2586 <!-- BESTIL SALGSVURDERING -->
2587 <div id=""panel-salgsvurdering"" class=""panel panel-form"">
2588 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2589 <b></b>
2590 </button>
2591
2592 <form id=""bestil-salgsvurdering"" class=""buyer-advisor-form js-buyer-advisor-form"" method=""POST"" action=""/InboxHandler"">
2593 <h2 class=""js-buyer-advisor-header"">");
2594 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering"));
2595 WriteLiteral("</h2>\r\n <p>");
2596 Write(Translate("form-salgsvurdering-beskrivelse", ""));
2597 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>");
2598 Write(Translate("form-navn", "Navn"));
2599 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2600 BeginWriteAttribute("placeholder", " placeholder=\'", 223796, "\'", 223885, 1);
2601 WriteAttributeValue("", 223810, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 223810, 75, false);
2602 EndWriteAttribute();
2603 BeginWriteAttribute("value", " value=\'", 223886, "\'", 223925, 1);
2604 WriteAttributeValue("", 223894, UserContext.Current.User?.Name, 223894, 31, false);
2605 EndWriteAttribute();
2606 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2607 Write(Translate("form-email", "E-mail"));
2608 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2609 BeginWriteAttribute("placeholder", " placeholder=\'", 224189, "\'", 224281, 1);
2610 WriteAttributeValue("", 224203, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 224203, 78, false);
2611 EndWriteAttribute();
2612 BeginWriteAttribute("value", " value=\'", 224282, "\'", 224322, 1);
2613 WriteAttributeValue("", 224290, UserContext.Current.User?.Email, 224290, 32, false);
2614 EndWriteAttribute();
2615 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2616 Write(Translate("form-mobile", "Mobil nr."));
2617 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2618 BeginWriteAttribute("placeholder", " placeholder=\'", 224620, "\'", 224712, 1);
2619 WriteAttributeValue("", 224634, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 224634, 78, false);
2620 EndWriteAttribute();
2621 BeginWriteAttribute("value", " value=\'", 224713, "\'", 224753, 1);
2622 WriteAttributeValue("", 224721, UserContext.Current.User?.Phone, 224721, 32, false);
2623 EndWriteAttribute();
2624 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2625 Write(Translate("form-telephone", "Telefon nr."));
2626 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2627 BeginWriteAttribute("placeholder", " placeholder=\'", 225023, "\'", 225114, 1);
2628 WriteAttributeValue("", 225037, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 225037, 77, false);
2629 EndWriteAttribute();
2630 BeginWriteAttribute("value", " value=\'", 225115, "\'", 225155, 1);
2631 WriteAttributeValue("", 225123, UserContext.Current.User?.Phone, 225123, 32, false);
2632 EndWriteAttribute();
2633 WriteLiteral(" />\r\n </div>\r\n\r\n </div>\r\n\r\n <h3>");
2634 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2635 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2636 Write(Translate("form-zip", "Post nr"));
2637 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2638 BeginWriteAttribute("placeholder", " placeholder=\'", 225575, "\'", 225653, 1);
2639 WriteAttributeValue("", 225589, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 225589, 64, false);
2640 EndWriteAttribute();
2641 BeginWriteAttribute("value", " value=\"", 225654, "\"", 225670, 1);
2642 WriteAttributeValue("", 225662, userZip, 225662, 8, false);
2643 EndWriteAttribute();
2644 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2645 Write(Translate("form-city", "By"));
2646 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>");
2647 Write(Translate("form-adresse", "Adresse"));
2648 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2649 BeginWriteAttribute("placeholder", " placeholder=\'", 226224, "\'", 226314, 1);
2650 WriteAttributeValue("", 226238, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 226238, 76, false);
2651 EndWriteAttribute();
2652 BeginWriteAttribute("value", " value=\"", 226315, "\"", 226335, 1);
2653 WriteAttributeValue("", 226323, userAddress, 226323, 12, false);
2654 EndWriteAttribute();
2655 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2656 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2657 WriteLiteral(@"</label>
2658 </div>
2659
2660 <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"">
2661 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2662 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2663 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\"");
2664 BeginWriteAttribute("placeholder", " placeholder=\'", 227105, "\'", 227183, 1);
2665 WriteAttributeValue("", 227119, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 227119, 64, false);
2666 EndWriteAttribute();
2667 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>");
2668 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:"));
2669 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\"");
2670 BeginWriteAttribute("id", " id=\"", 227629, "\"", 227634, 0);
2671 EndWriteAttribute();
2672 WriteLiteral(" name=\"choose-broker\"");
2673 BeginWriteAttribute("value", " value=\"", 227656, "\"", 227664, 0);
2674 EndWriteAttribute();
2675 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2676 BeginWriteAttribute("for", " for=\"", 227730, "\"", 227736, 0);
2677 EndWriteAttribute();
2678 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");
2679 BeginWriteAttribute("src", " src=\"", 227982, "\"", 227988, 0);
2680 EndWriteAttribute();
2681 WriteLiteral(@" class=""img-fluid js-broker-image"">
2682 </div>
2683 <div class=""col-6"">
2684 <span class=""d-block"">
2685 <strong class=""js-choose-broker-name""></strong>
2686 </span>
2687 <span class=""js-choose-broker-address""></span>
2688 <input type=""hidden"" class=""js-choose-broker-phone""");
2689 BeginWriteAttribute("value", " value=\"", 228400, "\"", 228408, 0);
2690 EndWriteAttribute();
2691 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2692 BeginWriteAttribute("value", " value=\"", 228489, "\"", 228497, 0);
2693 EndWriteAttribute();
2694 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\">");
2695 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler"));
2696 WriteLiteral(@"</h3>
2697 <div class=""js-choose-broker col-12"">
2698 </div>
2699
2700 </div>
2701
2702 <div class=""form-group mt-4"">
2703 <div class=""checkbox"">
2704 <label>
2705 <input type=""checkbox"" name=""kontaktmigok"" required />
2706
2707 <span class=""consent-checkbox"">");
2708 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2709 WriteLiteral(@"</span>
2710
2711 </label>
2712 </div>
2713 </div>
2714 <div class=""form-group"">
2715 <div class=""row"">
2716 <div class=""col-12"">
2717 <button type=""submit"" class=""btn btn-green btn-block js-buyer-advisor-button"">");
2718 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering"));
2719 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2720 Write(privacyPolicyText);
2721 WriteLiteral(" <a");
2722 BeginWriteAttribute("href", " href=\"", 229657, "\"", 229681, 2);
2723 WriteAttributeValue("", 229664, "mailto:", 229664, 7, true);
2724 WriteAttributeValue("", 229671, termsMail, 229671, 10, false);
2725 EndWriteAttribute();
2726 WriteLiteral(">");
2727 Write(termsMail);
2728 WriteLiteral("</a>.\r\n Læs mere på <a");
2729 BeginWriteAttribute("href", " href=\"", 229726, "\"", 229760, 1);
2730 WriteAttributeValue("", 229733, settings_Persondatapolitik, 229733, 27, false);
2731 EndWriteAttribute();
2732 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\"");
2733 BeginWriteAttribute("value", " value=\"", 229937, "\"", 229945, 0);
2734 EndWriteAttribute();
2735 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2736 BeginWriteAttribute("value", " value=\"", 229995, "\"", 230010, 1);
2737 WriteAttributeValue("", 230003, userID, 230003, 7, false);
2738 EndWriteAttribute();
2739 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2740 BeginWriteAttribute("value", " value=\"", 230058, "\"", 230082, 1);
2741 WriteAttributeValue("", 230066, Pageview.AreaID, 230066, 16, false);
2742 EndWriteAttribute();
2743 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning\" name=\"boligvisning\"");
2744 BeginWriteAttribute("value", " value=\"", 230154, "\"", 230162, 0);
2745 EndWriteAttribute();
2746 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-butikid\" name=\"butikId\"");
2747 BeginWriteAttribute("value", " value=\"", 230245, "\"", 230253, 0);
2748 EndWriteAttribute();
2749 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-sagsnr\" name=\"sagsnr\"");
2750 BeginWriteAttribute("value", " value=\"", 230334, "\"", 230342, 0);
2751 EndWriteAttribute();
2752 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2753 BeginWriteAttribute("value", " value=\"", 230393, "\"", 230449, 1);
2754 WriteAttributeValue("", 230401, Dynamicweb.Context.Current.Request["ProductId"], 230401, 48, false);
2755 EndWriteAttribute();
2756 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2757 BeginWriteAttribute("value", " value=\"", 230503, "\"", 230511, 0);
2758 EndWriteAttribute();
2759 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2760 BeginWriteAttribute("value", " value=\"", 230562, "\"", 230570, 0);
2761 EndWriteAttribute();
2762 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2763 BeginWriteAttribute("value", " value=\"", 230620, "\"", 230628, 0);
2764 EndWriteAttribute();
2765 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2766 BeginWriteAttribute("value", " value=\"", 230678, "\"", 230686, 0);
2767 EndWriteAttribute();
2768 WriteLiteral(" />\r\n <input class=\"js-value-check\" type=\"hidden\" name=\"valueCheck\"");
2769 BeginWriteAttribute("value", " value=\"", 230761, "\"", 230769, 0);
2770 EndWriteAttribute();
2771 WriteLiteral(" />\r\n <input class=\"js-green-appraisal\" type=\"hidden\" name=\"greenAppraisal\"");
2772 BeginWriteAttribute("value", " value=\"", 230852, "\"", 230860, 0);
2773 EndWriteAttribute();
2774 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>");
2775 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2776 WriteLiteral("</h2>\r\n <p>");
2777 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:"));
2778 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2779 BeginWriteAttribute("src", " src=\"", 231222, "\"", 231228, 0);
2780 EndWriteAttribute();
2781 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2782 </div>
2783 <div class=""col-6"">
2784 <p class=""js-maegler-name""></p>
2785 <p class=""js-maegler-address""></p>
2786 <p class=""js-maegler-phone""></p>
2787 <p class=""js-maegler-mail""></p>
2788 </div>
2789 </div>
2790 <p>");
2791 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2792 WriteLiteral(@"</p>
2793 </div>
2794 </div>
2795
2796 <!-- BESTIL SALGSVURDERING GULDKØBER -->
2797 <div id=""panel-salgsvurdering-guldkoeber"" class=""panel panel-form"">
2798 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close"">
2799 <b></b>
2800 </button>
2801
2802 <form id=""bestil-salgsvurdering-guldkoeber"" method=""POST"" action=""/InboxHandler"">
2803 <h2>");
2804 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering"));
2805 WriteLiteral("</h2>\r\n <p>");
2806 Write(Translate("form-salgsvurdering-beskrivelse", ""));
2807 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>");
2808 Write(Translate("form-navn", "Navn"));
2809 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\"");
2810 BeginWriteAttribute("placeholder", " placeholder=\'", 232336, "\'", 232425, 1);
2811 WriteAttributeValue("", 232350, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 232350, 75, false);
2812 EndWriteAttribute();
2813 BeginWriteAttribute("value", " value=\'", 232426, "\'", 232465, 1);
2814 WriteAttributeValue("", 232434, UserContext.Current.User?.Name, 232434, 31, false);
2815 EndWriteAttribute();
2816 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>");
2817 Write(Translate("form-email", "E-mail"));
2818 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+@[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\"");
2819 BeginWriteAttribute("placeholder", " placeholder=\'", 232729, "\'", 232821, 1);
2820 WriteAttributeValue("", 232743, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 232743, 78, false);
2821 EndWriteAttribute();
2822 BeginWriteAttribute("value", " value=\'", 232822, "\'", 232862, 1);
2823 WriteAttributeValue("", 232830, UserContext.Current.User?.Email, 232830, 32, false);
2824 EndWriteAttribute();
2825 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>");
2826 Write(Translate("form-telephone", "Telefon nr."));
2827 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\"");
2828 BeginWriteAttribute("placeholder", " placeholder=\'", 233171, "\'", 233262, 1);
2829 WriteAttributeValue("", 233185, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 233185, 77, false);
2830 EndWriteAttribute();
2831 BeginWriteAttribute("value", " value=\'", 233263, "\'", 233303, 1);
2832 WriteAttributeValue("", 233271, UserContext.Current.User?.Phone, 233271, 32, false);
2833 EndWriteAttribute();
2834 WriteLiteral(" />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>");
2835 Write(Translate("form-mobile", "Mobil nr."));
2836 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\"");
2837 BeginWriteAttribute("placeholder", " placeholder=\'", 233553, "\'", 233645, 1);
2838 WriteAttributeValue("", 233567, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 233567, 78, false);
2839 EndWriteAttribute();
2840 BeginWriteAttribute("value", " value=\'", 233646, "\'", 233686, 1);
2841 WriteAttributeValue("", 233654, UserContext.Current.User?.Phone, 233654, 32, false);
2842 EndWriteAttribute();
2843 WriteLiteral(" required />\r\n </div>\r\n </div>\r\n\r\n <h3>");
2844 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig"));
2845 WriteLiteral("</h3>\r\n\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>");
2846 Write(Translate("form-zip", "Post nr"));
2847 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\"");
2848 BeginWriteAttribute("placeholder", " placeholder=\'", 234115, "\'", 234193, 1);
2849 WriteAttributeValue("", 234129, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 234129, 64, false);
2850 EndWriteAttribute();
2851 BeginWriteAttribute("value", " value=\"", 234194, "\"", 234210, 1);
2852 WriteAttributeValue("", 234202, userZip, 234202, 8, false);
2853 EndWriteAttribute();
2854 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>");
2855 Write(Translate("form-city", "By"));
2856 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>");
2857 Write(Translate("form-adresse", "Adresse"));
2858 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\"");
2859 BeginWriteAttribute("placeholder", " placeholder=\'", 234764, "\'", 234854, 1);
2860 WriteAttributeValue("", 234778, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 234778, 76, false);
2861 EndWriteAttribute();
2862 BeginWriteAttribute("value", " value=\"", 234855, "\"", 234875, 1);
2863 WriteAttributeValue("", 234863, userAddress, 234863, 12, false);
2864 EndWriteAttribute();
2865 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">");
2866 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse"));
2867 WriteLiteral(@"</label>
2868 </div>
2869
2870 <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"">
2871 <strong class=""f-12""><i class=""fas fa-plus""></i> ");
2872 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar"));
2873 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\"");
2874 BeginWriteAttribute("placeholder", " placeholder=\'", 235645, "\'", 235723, 1);
2875 WriteAttributeValue("", 235659, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 235659, 64, false);
2876 EndWriteAttribute();
2877 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>");
2878 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:"));
2879 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\"");
2880 BeginWriteAttribute("id", " id=\"", 236167, "\"", 236172, 0);
2881 EndWriteAttribute();
2882 WriteLiteral(" name=\"choose-broker-gk\"");
2883 BeginWriteAttribute("value", " value=\"", 236197, "\"", 236205, 0);
2884 EndWriteAttribute();
2885 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2886 BeginWriteAttribute("for", " for=\"", 236271, "\"", 236277, 0);
2887 EndWriteAttribute();
2888 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");
2889 BeginWriteAttribute("src", " src=\"", 236523, "\"", 236529, 0);
2890 EndWriteAttribute();
2891 WriteLiteral(@" class=""img-fluid js-broker-image"">
2892 </div>
2893 <div class=""col-6"">
2894 <span class=""d-block"">
2895 <strong class=""js-choose-broker-name""></strong>
2896 </span>
2897 <span class=""js-choose-broker-address""></span>
2898 <input type=""hidden"" class=""js-choose-broker-phone""");
2899 BeginWriteAttribute("value", " value=\"", 236941, "\"", 236949, 0);
2900 EndWriteAttribute();
2901 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2902 BeginWriteAttribute("value", " value=\"", 237030, "\"", 237038, 0);
2903 EndWriteAttribute();
2904 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\">");
2905 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler"));
2906 WriteLiteral(@"</h3>
2907 <div class=""js-choose-broker col-12"">
2908 </div>
2909
2910 </div>
2911
2912
2913 <div class=""form-group"">
2914 <div class=""row"">
2915 <div class=""col-12"">
2916 <button type=""submit"" class=""btn btn-green btn-block"">");
2917 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering"));
2918 WriteLiteral(@"</button>
2919 </div>
2920 </div>
2921 </div>
2922 <div class=""form-group"">
2923 <div class=""checkbox"">
2924 <label>
2925 <input type=""checkbox"" name=""kontaktmigok"" required />
2926
2927 <span>");
2928 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *"));
2929 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n ");
2930 Write(privacyPolicyText);
2931 WriteLiteral(" <a");
2932 BeginWriteAttribute("href", " href=\"", 238146, "\"", 238170, 2);
2933 WriteAttributeValue("", 238153, "mailto:", 238153, 7, true);
2934 WriteAttributeValue("", 238160, termsMail, 238160, 10, false);
2935 EndWriteAttribute();
2936 WriteLiteral(">");
2937 Write(termsMail);
2938 WriteLiteral("</a>.\r\n Læs mere på <a");
2939 BeginWriteAttribute("href", " href=\"", 238215, "\"", 238249, 1);
2940 WriteAttributeValue("", 238222, settings_Persondatapolitik, 238222, 27, false);
2941 EndWriteAttribute();
2942 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\"");
2943 BeginWriteAttribute("value", " value=\"", 238426, "\"", 238434, 0);
2944 EndWriteAttribute();
2945 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2946 BeginWriteAttribute("value", " value=\"", 238484, "\"", 238499, 1);
2947 WriteAttributeValue("", 238492, userID, 238492, 7, false);
2948 EndWriteAttribute();
2949 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2950 BeginWriteAttribute("value", " value=\"", 238547, "\"", 238571, 1);
2951 WriteAttributeValue("", 238555, Pageview.AreaID, 238555, 16, false);
2952 EndWriteAttribute();
2953 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning-gk\" name=\"boligvisning\"");
2954 BeginWriteAttribute("value", " value=\"", 238646, "\"", 238654, 0);
2955 EndWriteAttribute();
2956 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-butikid\" name=\"butikId\"");
2957 BeginWriteAttribute("value", " value=\"", 238740, "\"", 238748, 0);
2958 EndWriteAttribute();
2959 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-sagsnr\" name=\"sagsnr\"");
2960 BeginWriteAttribute("value", " value=\"", 238832, "\"", 238840, 0);
2961 EndWriteAttribute();
2962 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2963 BeginWriteAttribute("value", " value=\"", 238891, "\"", 238947, 1);
2964 WriteAttributeValue("", 238899, Dynamicweb.Context.Current.Request["ProductId"], 238899, 48, false);
2965 EndWriteAttribute();
2966 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2967 BeginWriteAttribute("value", " value=\"", 239001, "\"", 239009, 0);
2968 EndWriteAttribute();
2969 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2970 BeginWriteAttribute("value", " value=\"", 239060, "\"", 239068, 0);
2971 EndWriteAttribute();
2972 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2973 BeginWriteAttribute("value", " value=\"", 239118, "\"", 239126, 0);
2974 EndWriteAttribute();
2975 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2976 BeginWriteAttribute("value", " value=\"", 239176, "\"", 239184, 0);
2977 EndWriteAttribute();
2978 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>");
2979 Write(Translate("TakForDinInteresse", "Tak for din interesse"));
2980 WriteLiteral("</h2>\r\n <p>");
2981 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:"));
2982 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img");
2983 BeginWriteAttribute("src", " src=\"", 239546, "\"", 239552, 0);
2984 EndWriteAttribute();
2985 WriteLiteral(@" class=""img-fluid js-maegler-img"" />
2986 </div>
2987 <div class=""col-6"">
2988 <p class=""js-maegler-name""></p>
2989 <p class=""js-maegler-address""></p>
2990 <p class=""js-maegler-phone""></p>
2991 <p class=""js-maegler-mail""></p>
2992 </div>
2993 </div>
2994 <p>");
2995 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt"));
2996 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");
2997
2998 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js"));
2999 WriteLiteral(" <script type=\"text/javascript\"");
3000 BeginWriteAttribute("src", " src=\'", 240357, "\'", 240461, 3);
3001 WriteAttributeValue("", 240363, TemplateUrl, 240363, 14, false);
3002 WriteAttributeValue("", 240377, "assets/webpack/js/3rdparty/viamapstrap.js?", 240377, 42, true);
3003 WriteAttributeValue("", 240419, viamapstrapFileInfo.LastWriteTime.Ticks, 240419, 42, false);
3004 EndWriteAttribute();
3005 WriteLiteral(" async></script>\r\n");
3006
3007 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js"));
3008 WriteLiteral(" <script type=\"text/javascript\"");
3009 BeginWriteAttribute("src", " src=\'", 240664, "\'", 240751, 3);
3010 WriteAttributeValue("", 240670, TemplateUrl, 240670, 14, false);
3011 WriteAttributeValue("", 240684, "assets/dist/bundle.app.min.js?", 240684, 30, true);
3012 WriteAttributeValue("", 240714, bundleFileInfo.LastWriteTime.Ticks, 240714, 37, false);
3013 EndWriteAttribute();
3014 WriteLiteral(" async></script>\r\n");
3015 WriteLiteral("\r\n ");
3016 Write(RenderSnippet("JavaScriptBottom"));
3017 WriteLiteral("\r\n\r\n");
3018 if (Context.Current.Request.QueryString["ShowLogin"] == "true")
3019 {
3020 WriteLiteral(" <input class=\"js-showLogin\" value=\"true\" />\r\n");
3021 }
3022 WriteLiteral("\r\n");
3023 if (!string.IsNullOrEmpty(settings_ConduzeId))
3024 {
3025 WriteLiteral(" <script type=\"text/javascript\" id=\"conduze-sdk\"");
3026 BeginWriteAttribute("src", " src=\"", 241075, "\"", 241136, 3);
3027 WriteAttributeValue("", 241081, "https://cdn.conduze.com/", 241081, 24, true);
3028 WriteAttributeValue("", 241105, settings_ConduzeId, 241105, 19, false);
3029 WriteAttributeValue("", 241124, "/tracking.js", 241124, 12, true);
3030 EndWriteAttribute();
3031 WriteLiteral(" async></script>\r\n");
3032 }
3033 WriteLiteral("\r\n");
3034 if (!string.IsNullOrEmpty(settings_Weply))
3035 {
3036 WriteLiteral(" <script");
3037 BeginWriteAttribute("src", " src=\"", 241235, "\"", 241286, 2);
3038 WriteAttributeValue("", 241241, "https://app.weply.chat/widget/", 241241, 30, true);
3039 WriteAttributeValue("", 241271, settings_Weply, 241271, 15, false);
3040 EndWriteAttribute();
3041 WriteLiteral(" async></script>\r\n");
3042 }
3043 WriteLiteral("\r\n</body>\r\n</html>\r\n\r\n");
3044 }
3045 #pragma warning restore 1998
3046
3047 void RenderErhvervsTypeCheckboxes(string productGroupFilter)
3048 {
3049 WriteLiteral(@" <div class=""col-xs-6 col-md-4"">
3050 <div class=""checkbox"">
3051 <label>
3052 <input type=""checkbox"" name=""propertytype"" value=""bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)"" />
3053 <span>Bolig/erhverv</span>
3054 </label>
3055 </div>
3056 <div class=""checkbox"">
3057 <label>
3058 <input type=""checkbox"" name=""propertytype"" value=""erhvervsgrund"" />
3059 <span>Erhvervsgrund</span>
3060 </label>
3061 </div>
3062 <div class=""checkbox"">
3063 <label>
3064 <input type=""checkbox"" name=""propertytype"" value=""boligudlejning"" />
3065 <span>Boligudlejningsejendom</span>
3066 </label>
3067 </div>
3068 <div class=""checkbox"">
3069 <label>
3070 <input type=""checkbox"" name=""propertytype"" value=""kontor, klinik, kontorhotel, showroom, under");
3071 WriteLiteral(@"visningslokaler"" />
3072 <span>Kontor</span>
3073 </label>
3074 </div>
3075 </div>
3076 <div class=""col-xs-6 col-md-4"">
3077 <div class=""checkbox"">
3078 <label>
3079 <input type=""checkbox"" name=""propertytype"" value=""butik / detail, butik / detailhandel"" />
3080 <span>Butik/detailhandel</span>
3081 </label>
3082 </div>
3083 <div class=""checkbox"">
3084 <label>
3085 <input type=""checkbox"" name=""propertytype"" value=""industri / logistik, håndværk, industri, kontor / lager, logistik"" />
3086 <span>Produktion/lager</span>
3087 </label>
3088 </div>
3089 <div class=""checkbox"">
3090 <label>
3091 <input type=""checkbox"" name=""propertytype"" value=""hotel - kursusejendom, restaurant"" />
3092 <span>Hotel og restaurant</span>
3093 </label>
3094 </div>
3095 <div c");
3096 WriteLiteral(@"lass=""checkbox"">
3097 <label>
3098 <input type=""checkbox"" name=""propertytype"" value=""projekt ejendom"" />
3099 <span>Projektejendom</span>
3100 </label>
3101 </div>
3102 </div>
3103 <div class=""col-xs-6 col-md-4"">
3104 <div class=""checkbox"">
3105 <label>
3106 <input type=""checkbox"" name=""propertytype"" value=""andet"" />
3107 <span>Andet</span>
3108 </label>
3109 </div>
3110 </div>
3111 ");
3112 WriteLiteral(" <input type=\"hidden\" name=\"propertycategory\" value=\"erhverv, udlejning\" />\r\n <input type=\"hidden\" name=\"filtrering\"");
3113 BeginWriteAttribute("value", " value=\"", 3445, "\"", 3472, 1);
3114 WriteAttributeValue("", 3453, productGroupFilter, 3453, 19, false);
3115 EndWriteAttribute();
3116 WriteLiteral(" />\r\n");
3117 }
3118 void RenderBoligtypeCheckboxes()
3119 {
3120 WriteLiteral(@" <div class=""col-6 col-md-4"">
3121 <div class=""checkbox"">
3122 <label>
3123 <input type=""checkbox"" name=""propertytype"" value=""villa"" />
3124 <span>Villa</span>
3125 </label>
3126 </div>
3127 <div class=""checkbox"">
3128 <label>
3129 <input type=""checkbox"" name=""propertytype"" value=""rækkehus"" />
3130 <span>Rækkehus</span>
3131 </label>
3132 </div>
3133 <div class=""checkbox"">
3134 <label>
3135 <input type=""checkbox"" name=""propertytype"" value=""villalejlighed"" />
3136 <span>Villalejlighed</span>
3137 </label>
3138 </div>
3139 <div class=""checkbox"">
3140 <label>
3141 <input type=""checkbox"" name=""propertytype"" value=""andelsbolig"" />
3142 <span>Andelsbolig</span>
3143 </label>
3144 </div>
3145 </div>
3146 <div class=""co");
3147 WriteLiteral(@"l-6 col-md-4"">
3148 <div class=""checkbox"">
3149 <label>
3150 <input type=""checkbox"" name=""propertytype"" value=""fritidshus, fritidsbolig"" />
3151 <span>Fritidsbolig</span>
3152 </label>
3153 </div>
3154 <div class=""checkbox"">
3155 <label>
3156 <input type=""checkbox"" name=""propertytype"" value=""ejerlejlighed"" class=""specialOption"" data-disable-slider=""#grundareal"" data-disable-slider-ranges=""#grundarealmin,#grundarealmax"" />
3157 <span>Ejerlejlighed</span>
3158 </label>
3159 </div>
3160 <div class=""checkbox"">
3161 <label>
3162 <input type=""checkbox"" name=""propertytype"" value=""helårsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" />
3163 <span>Helårsgrund</span>
3164 </label>
3165 </div>
3166 <div ");
3167 WriteLiteral(@"class=""checkbox"">
3168 <label>
3169 <input type=""checkbox"" name=""propertytype"" value=""fritidsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" />
3170 <span>Fritidsgrund</span>
3171 </label>
3172 </div>
3173 </div>
3174 <div class=""col-6 col-md-4"">
3175 <div class=""checkbox"">
3176 <label>
3177 <input type=""checkbox"" name=""propertytype"" value=""landejendom, lystejendom"" class=""specialOption"" data-disable-checkbox=""true"" />
3178 <span>Landejendom</span>
3179 </label>
3180 </div>
3181 <div class=""checkbox"">
3182 <label>
3183 <input type=""checkbox"" name=""propertytype"" value=""erhverv"" class=""specialOption"" data-disable-checkbox=""true"" data-disable-slider=""#roomsslider"" data-disable-slider-ranges=""#roomsmin"" />
3184 <span>Erhverv<");
3185 WriteLiteral("/span>\r\n </label>\r\n </div>\r\n </div>\r\n");
3186 }
3187
3188 void RenderChecked(string queryString)
3189 {
3190 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString)
3191 {
3192 Write("checked");
3193
3194 }
3195 }
3196
3197 void RenderBoligtypeCheckboxesDropdown()
3198 {
3199 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){
3200 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" },
3201 { "Andelsbolig", "andelsbolig" }
3202 };
3203 foreach (KeyValuePair<string, string> type in propertyTypes)
3204 {
3205 bool ischecked = false;
3206 string[] propertytypeSplit = new string[0];
3207 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3208 {
3209 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3210 }
3211 foreach (var propertytypeParams in propertytypeSplit)
3212 {
3213 if (propertytypeParams == type.Value)
3214 {
3215 ischecked = true;
3216 }
3217 }
3218 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3219 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3220 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertytype\"");
3221 BeginWriteAttribute("value", " value=\"", 8068, "\"", 8087, 1);
3222 WriteAttributeValue("", 8076, type.Value, 8076, 11, false);
3223 EndWriteAttribute();
3224 WriteLiteral(" class=\"js-input-check datavalue js-datavalue js-count\" data-val=\"");
3225 Write(type.Key);
3226 WriteLiteral("\" onchange=\"submitFilter()\"");
3227 BeginWriteAttribute("checked", " checked=\"", 8190, "\"", 8210, 1);
3228 WriteAttributeValue("", 8200, ischecked, 8200, 10, false);
3229 EndWriteAttribute();
3230 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3231 }
3232
3233 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3234 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv"));
3235 WriteLiteral("\r\n");
3236
3237 bool blboligcheck = false;
3238 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
3239 {
3240 blboligcheck = true;
3241 }
3242 WriteLiteral(" <input type=\"checkbox\" name=\"propertycategory\" value=\"Blandet Bolig/Erhverv\" class=\"specialOption js-input-check js-datavalue js-count\" data-disable-checkbox=\"true\" data-disable-slider=\"#roomsslider\" data-disable-slider-ranges=\"#roomsmin\"");
3243 BeginWriteAttribute("checked", " checked=\"", 9043, "\"", 9066, 1);
3244 WriteAttributeValue("", 9053, blboligcheck, 9053, 13, false);
3245 EndWriteAttribute();
3246 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3247
3248 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){
3249 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" },
3250 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" }
3251 };
3252 foreach (KeyValuePair<string, string> type in propertyTypes2)
3253 {
3254 bool ischecked = false;
3255 string[] propertytypeSplit2 = new string[0];
3256 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3257 {
3258 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3259 }
3260 foreach (var propertytypeParams in propertytypeSplit2)
3261 {
3262 if (propertytypeParams == type.Value)
3263 {
3264 ischecked = true;
3265 }
3266 }
3267 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3268 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3269 WriteLiteral("\r\n");
3270 if (type.Value == "ejerlejlighed")
3271 {
3272 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3273 BeginWriteAttribute("value", " value=\"", 10467, "\"", 10486, 1);
3274 WriteAttributeValue("", 10475, type.Value, 10475, 11, false);
3275 EndWriteAttribute();
3276 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#grundareal\" data-disable-slider-ranges=\"#grundarealmin,#grundarealmax\" data-val=\"");
3277 Write(type.Key);
3278 WriteLiteral("\" onchange=\"submitFilter()\"");
3279 BeginWriteAttribute("checked", " checked=\"", 10660, "\"", 10680, 1);
3280 WriteAttributeValue("", 10670, ischecked, 10670, 10, false);
3281 EndWriteAttribute();
3282 WriteLiteral(" />\r\n");
3283 }
3284 else if (type.Value == "helårsgrund")
3285 {
3286 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3287 BeginWriteAttribute("value", " value=\"", 10857, "\"", 10876, 1);
3288 WriteAttributeValue("", 10865, type.Value, 10865, 11, false);
3289 EndWriteAttribute();
3290 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3291 Write(type.Key);
3292 WriteLiteral("\" onchange=\"submitFilter()\"");
3293 BeginWriteAttribute("checked", " checked=\"", 11073, "\"", 11093, 1);
3294 WriteAttributeValue("", 11083, ischecked, 11083, 10, false);
3295 EndWriteAttribute();
3296 WriteLiteral(" />\r\n");
3297 }
3298 else if (type.Value == "fritidsgrund")
3299 {
3300 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3301 BeginWriteAttribute("value", " value=\"", 11271, "\"", 11290, 1);
3302 WriteAttributeValue("", 11279, type.Value, 11279, 11, false);
3303 EndWriteAttribute();
3304 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3305 Write(type.Key);
3306 WriteLiteral("\" onchange=\"submitFilter()\"");
3307 BeginWriteAttribute("checked", " checked=\"", 11487, "\"", 11507, 1);
3308 WriteAttributeValue("", 11497, ischecked, 11497, 10, false);
3309 EndWriteAttribute();
3310 WriteLiteral(" />\r\n");
3311 }
3312 else
3313 {
3314 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3315 BeginWriteAttribute("value", " value=\"", 11651, "\"", 11670, 1);
3316 WriteAttributeValue("", 11659, type.Value, 11659, 11, false);
3317 EndWriteAttribute();
3318 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3319 Write(type.Key);
3320 WriteLiteral("\" onchange=\"submitFilter()\"");
3321 BeginWriteAttribute("checked", " checked=\"", 11751, "\"", 11771, 1);
3322 WriteAttributeValue("", 11761, ischecked, 11761, 10, false);
3323 EndWriteAttribute();
3324 WriteLiteral(" />\r\n");
3325 }
3326 WriteLiteral(" <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3327 }
3328 }
3329
3330 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false)
3331 {
3332 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3333 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" },
3334 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" }
3335 };
3336 var submitonchange = "";
3337 if (submitOnChange)
3338 {
3339 submitonchange = "onchange='submitFilter()'";
3340 }
3341
3342 foreach (KeyValuePair<string, string> type in erhverType)
3343 {
3344 string ischecked = "";
3345 string[] olineParamsSplit = new string[0];
3346 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3347 {
3348 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3349 }
3350 foreach (var olineParams in olineParamsSplit)
3351 {
3352 if (olineParams == type.Value)
3353 {
3354 ischecked = "checked";
3355 }
3356 }
3357
3358 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3359 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3360 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3361 BeginWriteAttribute("value", " value=\"", 13415, "\"", 13434, 1);
3362 WriteAttributeValue("", 13423, type.Value, 13423, 11, false);
3363 EndWriteAttribute();
3364 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3365 Write(type.Key);
3366 WriteLiteral("\" ");
3367 Write(submitonchange);
3368 WriteLiteral(" ");
3369 Write(ischecked);
3370 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3371 }
3372
3373
3374 bool ischeckedpropertycat = false;
3375 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"]))
3376 {
3377 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
3378 {
3379 ischeckedpropertycat = true;
3380 }
3381 }
3382 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n ");
3383 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv"));
3384 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertycategory\" value=\"Blandet Bolig/Erhverv\" class=\"js-input-check datavalue\" data-val=\"Blandet Bolig/Erhverv\" onchange=\"submitFilter()\"");
3385 BeginWriteAttribute("checked", " checked=\"", 14347, "\"", 14378, 1);
3386 WriteAttributeValue("", 14357, ischeckedpropertycat, 14357, 21, false);
3387 EndWriteAttribute();
3388 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3389 }
3390
3391 void RenderBoligTypeErhvervInvest(bool submitOnChange = false)
3392 {
3393 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3394 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" },
3395 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" }
3396 };
3397
3398 foreach (KeyValuePair<string, string> type in erhverType)
3399 {
3400 bool ischecked = false;
3401 string[] olineParamsSplit = new string[0];
3402 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3403 {
3404 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3405 }
3406 foreach (var olineParams in olineParamsSplit)
3407 {
3408 if (olineParams == type.Value)
3409 {
3410 ischecked = true;
3411 }
3412 }
3413
3414 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n ");
3415 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3416 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3417 BeginWriteAttribute("value", " value=\"", 15865, "\"", 15884, 1);
3418 WriteAttributeValue("", 15873, type.Value, 15873, 11, false);
3419 EndWriteAttribute();
3420 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3421 Write(type.Key);
3422 WriteLiteral("\" onchange=\"submitFilter()\"");
3423 BeginWriteAttribute("checked", " checked=\"", 15965, "\"", 15985, 1);
3424 WriteAttributeValue("", 15975, ischecked, 15975, 10, false);
3425 EndWriteAttribute();
3426 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3427 }
3428 }
3429 int GetWebsiteSettingsPageId(string pageSysName)
3430 {
3431 int sideId = 0;
3432
3433 var pw = Dynamicweb.Frontend.PageView.Current();
3434
3435 string settingsItemId = "1";
3436
3437 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true")
3438 {
3439 settingsItemId = "2";
3440 }
3441
3442 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId);
3443
3444 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName))
3445 {
3446 return sideId;
3447 }
3448
3449 string boligsideLink = settingsItem[pageSysName] as String;
3450 string linkPrefix = "Default.aspx?ID=";
3451
3452 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3453 {
3454 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3455 }
3456
3457 return sideId;
3458 }
3459
3460 int GetPageSettingsPageId(string pageSysName)
3461 {
3462 int sideId = 0;
3463
3464 var pw = Dynamicweb.Frontend.PageView.Current();
3465
3466 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName))
3467 {
3468 return sideId;
3469 }
3470
3471 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String;
3472 string linkPrefix = "Default.aspx?ID=";
3473
3474 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3475 {
3476 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3477 }
3478
3479 return sideId;
3480 }
3481 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname)
3482 {
3483 WriteLiteral(" <select");
3484 BeginWriteAttribute("class", " class=\"", 17928, "\"", 17983, 5);
3485 WriteAttributeValue("", 17936, "form-control", 17936, 12, true);
3486 WriteAttributeValue(" ", 17948, "d-block", 17949, 8, true);
3487 WriteAttributeValue(" ", 17956, "d-lg-none", 17957, 10, true);
3488 WriteAttributeValue(" ", 17966, "mb-10", 17967, 6, true);
3489 WriteAttributeValue(" ", 17972, className, 17973, 10, false);
3490 EndWriteAttribute();
3491 WriteLiteral(" onchange=\"submitFilter()\"");
3492 BeginWriteAttribute("name", " name=\"", 18010, "\"", 18027, 1);
3493 WriteAttributeValue("", 18017, inputname, 18017, 10, false);
3494 EndWriteAttribute();
3495 WriteLiteral(">\r\n <option selected=\"true\" disabled=\"disabled\">");
3496 Write(Translate("Smartpage:Search.Placeholder." + name + "", "" + name + ""));
3497 WriteLiteral("</option>\r\n\r\n");
3498 for (var i = 0; i <= max; i += step)
3499 {
3500 var selected = string.Empty;
3501 var current = string.Empty;
3502 if (i == max)
3503 {
3504 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3505 {
3506 WriteLiteral(" <option");
3507 BeginWriteAttribute("value", " value=\"", 18623, "\"", 18633, 1);
3508 WriteAttributeValue("", 18631, i, 18631, 2, false);
3509 EndWriteAttribute();
3510 WriteLiteral(" data-value=\'");
3511 Write(Convert.ToInt32(i).ToString("N0"));
3512 WriteLiteral("\' selected=\"selected\">");
3513 Write(Convert.ToInt32(i).ToString("N0"));
3514 WriteLiteral("+</option>\r\n");
3515 }
3516 else
3517 {
3518 WriteLiteral(" <option");
3519 BeginWriteAttribute("value", " value=\"", 18852, "\"", 18862, 1);
3520 WriteAttributeValue("", 18860, i, 18860, 2, false);
3521 EndWriteAttribute();
3522 WriteLiteral(" data-value=\'");
3523 Write(Convert.ToInt32(i).ToString("N0"));
3524 WriteLiteral("\'>");
3525 Write(Convert.ToInt32(i).ToString("N0"));
3526 WriteLiteral("+</option>\r\n");
3527 }
3528 }
3529 else
3530 {
3531 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3532 {
3533 WriteLiteral(" <option");
3534 BeginWriteAttribute("value", " value=\"", 19286, "\"", 19296, 1);
3535 WriteAttributeValue("", 19294, i, 19294, 2, false);
3536 EndWriteAttribute();
3537 WriteLiteral(" data-value=\'");
3538 Write(Convert.ToInt32(i).ToString("N0"));
3539 WriteLiteral("\' selected=\"selected\">");
3540 Write(Convert.ToInt32(i).ToString("N0"));
3541 WriteLiteral("</option>\r\n");
3542 }
3543 else
3544 {
3545 WriteLiteral(" <option");
3546 BeginWriteAttribute("value", " value=\"", 19514, "\"", 19524, 1);
3547 WriteAttributeValue("", 19522, i, 19522, 2, false);
3548 EndWriteAttribute();
3549 WriteLiteral(" data-value=\'");
3550 Write(Convert.ToInt32(i).ToString("N0"));
3551 WriteLiteral("\'>");
3552 Write(Convert.ToInt32(i).ToString("N0"));
3553 WriteLiteral("</option>\r\n");
3554 }
3555 }
3556 }
3557 WriteLiteral(" </select>\r\n");
3558 }
3559
3560 void RenderTopFilter(string parameter)
3561 {
3562 if (parameter == "pricemin" || parameter == "pricemax")
3563 {
3564 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"]))
3565 {
3566 if (parameter == "pricemin")
3567 {
3568 Write("<div class='search-terms' id='priceFilter'>");
3569 Write("Pris ");
3570 Write(Dynamicweb.Context.Current.Request[parameter]);
3571
3572 }
3573
3574 else
3575 {
3576 Write(" - ");
3577 Write(Dynamicweb.Context.Current.Request[parameter]);
3578 Write(" kr.");
3579 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"pricemin,pricemax\"></i>\r\n");
3580 Write("</div>");
3581
3582 }
3583 }
3584 }
3585
3586 else if (parameter == "subsidymin" || parameter == "subsidymax")
3587 {
3588 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"]))
3589 {
3590 if (parameter == "subsidymin")
3591 {
3592 Write("<div class='search-terms' id='subsidyFilter'>");
3593 Write("Årlig leje ");
3594 Write(Dynamicweb.Context.Current.Request[parameter]);
3595
3596 }
3597
3598 else
3599 {
3600 Write(" - ");
3601 Write(Dynamicweb.Context.Current.Request[parameter]);
3602 Write(" kr.");
3603 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidymin,subsidymax\"></i>\r\n");
3604 Write("</div>");
3605
3606 }
3607 }
3608 }
3609 else if (parameter == "etagearealmin" || parameter == "etagearealmax")
3610 {
3611 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"]))
3612 {
3613 if (parameter == "etagearealmin")
3614 {
3615 Write("<div class='search-terms' id='etagearealFilter'>");
3616 Write("Etageareal ");
3617 Write(Dynamicweb.Context.Current.Request[parameter]);
3618
3619 }
3620
3621 else
3622 {
3623 Write(" - ");
3624 Write(Dynamicweb.Context.Current.Request[parameter]);
3625 Write(" kvm.");
3626 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"etagearealmin,etagearealmax\"></i>\r\n");
3627 Write("</div>");
3628
3629 }
3630 }
3631 }
3632
3633 else if (parameter == "grundarealmin" || parameter == "grundarealmax")
3634 {
3635 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"]))
3636 {
3637 if (parameter == "grundarealmin")
3638 {
3639 Write("<div class='search-terms' id='grundarealFilter'>");
3640 Write("Grundareal ");
3641 Write(Dynamicweb.Context.Current.Request[parameter]);
3642
3643 }
3644
3645 else
3646 {
3647 Write(" - ");
3648 Write(Dynamicweb.Context.Current.Request[parameter]);
3649 Write(" kvm.");
3650 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"grundarealmin,grundarealmax\"></i>\r\n");
3651 Write("</div>");
3652
3653 }
3654 }
3655 }
3656
3657 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax")
3658 {
3659 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"]))
3660 {
3661 if (parameter == "subsidykvmmin")
3662 {
3663 Write("<div class='search-terms' id='subsidykvmFilter'>");
3664 Write("Årlig leje kvm ");
3665 Write(Dynamicweb.Context.Current.Request[parameter]);
3666
3667 }
3668
3669 else
3670 {
3671 Write(" - ");
3672 Write(Dynamicweb.Context.Current.Request[parameter]);
3673 Write(" kr.");
3674 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidykvmmin,subsidykvmmax\"></i>\r\n");
3675 Write("</div>");
3676
3677 }
3678 }
3679 }
3680
3681 else if (parameter == "olinecategory")
3682 {
3683
3684 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"]))
3685 {
3686 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3687 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" },
3688 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"},
3689 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" },
3690 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" }
3691 };
3692
3693
3694 foreach (var er in erhverType)
3695 {
3696 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3697 {
3698 WriteLiteral(" <div class=\"search-terms\"");
3699 BeginWriteAttribute("id", " id=\"", 24694, "\"", 24709, 1);
3700 WriteAttributeValue("", 24699, parameter, 24699, 10, false);
3701 EndWriteAttribute();
3702 WriteLiteral(">\r\n ");
3703 Write(er.Value);
3704 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3705 Write(parameter);
3706 WriteLiteral("\" data-val=\"");
3707 Write(er.Key);
3708 WriteLiteral("\"></i>\r\n </div>\r\n");
3709 }
3710 }
3711 }
3712 }
3713 else if (parameter == "propertycategory")
3714 {
3715
3716 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"]))
3717 {
3718 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3719 { "propertycategory", "Blandet Bolig/Erhverv" }
3720 };
3721
3722 foreach (var er in erhverType)
3723 {
3724 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value)
3725 {
3726 WriteLiteral(" <div class=\"search-terms\"");
3727 BeginWriteAttribute("id", " id=\"", 25615, "\"", 25630, 1);
3728 WriteAttributeValue("", 25620, parameter, 25620, 10, false);
3729 EndWriteAttribute();
3730 WriteLiteral(">\r\n ");
3731 Write(er.Value);
3732 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3733 Write(parameter);
3734 WriteLiteral("\" data-val=\"");
3735 Write(er.Key);
3736 WriteLiteral("\"></i>\r\n </div>\r\n");
3737 }
3738 }
3739 }
3740 }
3741 else if (parameter == "search")
3742 {
3743 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"]))
3744 {
3745 WriteLiteral(" <div class=\"search-terms\"");
3746 BeginWriteAttribute("id", " id=\"", 26078, "\"", 26093, 1);
3747 WriteAttributeValue("", 26083, parameter, 26083, 10, false);
3748 EndWriteAttribute();
3749 WriteLiteral(">\r\n ");
3750 Write(Dynamicweb.Context.Current.Request[parameter]);
3751 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3752 Write(parameter);
3753 WriteLiteral("\"></i>\r\n </div>\r\n");
3754 }
3755 }
3756 else
3757 {
3758 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]))
3759 {
3760 Dictionary<string, string>
3761 ubudsform = new Dictionary<string, string>
3762 (){
3763 {"salg", "Salg" }, { "leje","Leje" }
3764 };
3765
3766 foreach (var er in ubudsform)
3767 {
3768 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3769 {
3770 WriteLiteral(" <div class=\"search-terms\"");
3771 BeginWriteAttribute("id", " id=\"", 27242, "\"", 27257, 1);
3772 WriteAttributeValue("", 27247, parameter, 27247, 10, false);
3773 EndWriteAttribute();
3774 WriteLiteral(">\r\n ");
3775 Write(er.Value);
3776 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3777 Write(parameter);
3778 WriteLiteral("\" data-val=\"");
3779 Write(er.Key);
3780 WriteLiteral("\"></i>\r\n </div>\r\n");
3781 }
3782 }
3783
3784
3785 }
3786 }
3787 }
3788
3789 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString)
3790 {
3791 var selected = "";
3792 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue)
3793 {
3794 selected = "selected";
3795 }
3796
3797 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected);
3798
3799 Write(current);
3800
3801 }
3802
3803 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "")
3804 {
3805 WriteLiteral(" <div");
3806 BeginWriteAttribute("class", " class=\"", 28261, "\"", 28307, 3);
3807 WriteAttributeValue("", 28269, "main-search-form", 28269, 16, true);
3808 WriteAttributeValue(" ", 28285, "frontpage", 28286, 10, true);
3809 WriteAttributeValue(" ", 28295, cssClasses, 28296, 11, false);
3810 EndWriteAttribute();
3811 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>");
3812 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
3813 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>");
3814 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
3815 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\"");
3816 BeginWriteAttribute("value", " value=\'", 29022, "\'", 29043, 1);
3817 WriteAttributeValue("", 29030, searchPageId, 29030, 13, false);
3818 EndWriteAttribute();
3819 WriteLiteral(@" id=""searchPageId-frontpage"" disabled=""disabled"" />
3820 <div class=""row form-wrapper no-gutters"">
3821
3822 <div class=""col-xs-12 col-md-5 col-searchbar"">
3823 <div class=""searchbar"">
3824 <input type=""text""");
3825 BeginWriteAttribute("name", " name=\"", 29321, "\"", 29348, 1);
3826 WriteAttributeValue("", 29328, querySearchNameAttr, 29328, 20, false);
3827 EndWriteAttribute();
3828 WriteLiteral(" id=\"searchfield-frontpage\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
3829 BeginWriteAttribute("value", " value=\"", 29461, "\"", 29539, 1);
3830 WriteAttributeValue("", 29469, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 29469, 70, false);
3831 EndWriteAttribute();
3832 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom-frontpage\" name=\"zipcodefrom\"");
3833 BeginWriteAttribute("value", " value=\"", 29639, "\"", 29722, 1);
3834 WriteAttributeValue("", 29647, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 29647, 75, false);
3835 EndWriteAttribute();
3836 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto-frontpage\" name=\"zipcodeto\"");
3837 BeginWriteAttribute("value", " value=\"", 29818, "\"", 29899, 1);
3838 WriteAttributeValue("", 29826, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 29826, 73, false);
3839 EndWriteAttribute();
3840 WriteLiteral(@" />
3841 </div>
3842 </div>
3843 <div class=""col-xs-12 col-md-5"">
3844 <div class=""row no-gutters"">
3845 <div class=""col-xs-12 col-md-6 input-col"">
3846 <div class=""dropdown w-overlay"">
3847 <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"">
3848 ");
3849 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
3850 WriteLiteral(@"
3851 </button>
3852 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
3853 <ul class=""bolig-dropdown list-unstyled"">
3854 ");
3855
3856 RenderBoligtypeCheckboxesDropdown();
3857 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
3858 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3859 WriteLiteral(@"</button>
3860 </div>
3861
3862 </div>
3863
3864 </div>
3865 <div class=""col-xs-12 col-md-6 input-col"">
3866 <div class=""dropdown w-overlay"">
3867 <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"">
3868 ");
3869 Write(Translate("Smartpage:Search.Pris", "Pris"));
3870 WriteLiteral(@"
3871 </button>
3872 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris"">
3873 <input type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
3874 BeginWriteAttribute("placeholder", " placeholder=\'", 32078, "\'", 32154, 1);
3875 WriteAttributeValue("", 32092, Translate("Smartpage:Search.Placeholder.MinPris","Min. pris"), 32092, 62, false);
3876 EndWriteAttribute();
3877 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3878 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
3879 WriteLiteral("</option>\r\n");
3880 for (var i = 0; i <= 10000000; i += 100000)
3881 {
3882 if (i == 10000000)
3883 {
3884 WriteLiteral(" <option");
3885 BeginWriteAttribute("value", " value=\"", 32763, "\"", 32773, 1);
3886 WriteAttributeValue("", 32771, i, 32771, 2, false);
3887 EndWriteAttribute();
3888 WriteLiteral(" data-value=\'");
3889 Write(Convert.ToInt32(i).ToString("N0"));
3890 WriteLiteral("+\'>");
3891 Write(Convert.ToInt32(i).ToString("N0"));
3892 WriteLiteral("+</option>\r\n");
3893 }
3894 else
3895 {
3896 WriteLiteral(" <option");
3897 BeginWriteAttribute("value", " value=\"", 33085, "\"", 33095, 1);
3898 WriteAttributeValue("", 33093, i, 33093, 2, false);
3899 EndWriteAttribute();
3900 WriteLiteral(" data-value=\'");
3901 Write(Convert.ToInt32(i).ToString("N0"));
3902 WriteLiteral("\'>");
3903 Write(Convert.ToInt32(i).ToString("N0"));
3904 WriteLiteral("</option>\r\n");
3905 }
3906 }
3907 WriteLiteral(@" </select>
3908 <input type=""hidden"" id=""pricemin-frontpage"" name=""pricemin"" />
3909
3910 <input type=""text"" class=""form-control js-auto-thousand js-pricemax-frontpage-input""");
3911 BeginWriteAttribute("placeholder", " placeholder=\'", 33570, "\'", 33646, 1);
3912 WriteAttributeValue("", 33584, Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris"), 33584, 62, false);
3913 EndWriteAttribute();
3914 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3915 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
3916 WriteLiteral("</option>\r\n");
3917 for (var i = 0; i <= 10000000; i += 100000)
3918 {
3919 if (i == 10000000)
3920 {
3921 WriteLiteral(" <option");
3922 BeginWriteAttribute("value", " value=\"", 34249, "\"", 34259, 1);
3923 WriteAttributeValue("", 34257, i, 34257, 2, false);
3924 EndWriteAttribute();
3925 WriteLiteral(" data-value=\'");
3926 Write(Convert.ToInt32(i).ToString("N0"));
3927 WriteLiteral("+\'>");
3928 Write(Convert.ToInt32(i).ToString("N0"));
3929 WriteLiteral("+</option>\r\n");
3930 }
3931 else
3932 {
3933 WriteLiteral(" <option");
3934 BeginWriteAttribute("value", " value=\"", 34571, "\"", 34581, 1);
3935 WriteAttributeValue("", 34579, i, 34579, 2, false);
3936 EndWriteAttribute();
3937 WriteLiteral(" data-value=\'");
3938 Write(Convert.ToInt32(i).ToString("N0"));
3939 WriteLiteral("\'>");
3940 Write(Convert.ToInt32(i).ToString("N0"));
3941 WriteLiteral("</option>\r\n");
3942 }
3943 }
3944 WriteLiteral(" </select>\r\n <input type=\"hidden\" id=\"pricemax-frontpage\" name=\"pricemax\" />\r\n <button class=\"btn btn-primary js-close-dropdown mt-3\">");
3945 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3946 WriteLiteral(@"</button>
3947 </div>
3948 </div>
3949 </div>
3950 </div>
3951 </div>
3952 <div class=""col-xs-12 col-md-2 d-none d-md-block"">
3953 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
3954 Write(Translate("Smartpage:Search.Søg", "Søg"));
3955 WriteLiteral(@"</button>
3956 </div>
3957 </div>
3958
3959 <div class=""row moresearch-btn no-gutters"">
3960 <div class=""col-sm-12"">
3961 <div class=""row align-items-center no-gutters"">
3962 <div class=""col-12 col-md-4"">
3963 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch"" aria-expanded=""false"" aria-controls=""moreSearch"">
3964 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open"">");
3965 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
3966 WriteLiteral("</span> <span class=\"open\"><span class=\"js-filter-count\">0</span> ");
3967 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
3968 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\">");
3969 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
3970 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch\">\r\n <h4 class=\"mt-20\"><b>");
3971 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
3972 WriteLiteral(@"</b></h4>
3973 <div class=""row align-items-end mb-30"">
3974 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
3975 <div class=""filter-container row"">
3976 <label class=""d-block col-12"">");
3977 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
3978 WriteLiteral(@"</label>
3979 <div class=""col-6 pr-sm-0 pr-2"">
3980 <input type=""text"" name=""boligarealmin"" id=""boligarealmin-frontpage"" class=""form-control js-boligarealmin-frontpage-input js-count""");
3981 BeginWriteAttribute("placeholder", " placeholder=\'", 37447, "\'", 37519, 1);
3982 WriteAttributeValue("", 37461, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 37461, 58, false);
3983 EndWriteAttribute();
3984 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3985 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
3986 WriteLiteral("</option>\r\n");
3987 for (var i = 0; i <= 300; i += 10)
3988 {
3989 if (i == 300)
3990 {
3991 WriteLiteral(" <option");
3992 BeginWriteAttribute("value", " value=\"", 38126, "\"", 38136, 1);
3993 WriteAttributeValue("", 38134, i, 38134, 2, false);
3994 EndWriteAttribute();
3995 WriteLiteral(">");
3996 Write(i);
3997 WriteLiteral("+</option>\r\n");
3998 }
3999 else
4000 {
4001 WriteLiteral(" <option");
4002 BeginWriteAttribute("value", " value=\"", 38383, "\"", 38393, 1);
4003 WriteAttributeValue("", 38391, i, 38391, 2, false);
4004 EndWriteAttribute();
4005 WriteLiteral(">");
4006 Write(i);
4007 WriteLiteral("</option>\r\n");
4008 }
4009 }
4010 WriteLiteral(@" </select>
4011 </div>
4012 <div class=""col-6 pl-sm-0 pl-2"">
4013 <input type=""text"" name=""boligarealmax"" id=""boligarealmax-frontpage"" class=""form-control js-boligarealmax-frontpage-input js-count""");
4014 BeginWriteAttribute("placeholder", " placeholder=\'", 38866, "\'", 38938, 1);
4015 WriteAttributeValue("", 38880, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 38880, 58, false);
4016 EndWriteAttribute();
4017 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4018 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
4019 WriteLiteral("</option>\r\n");
4020 for (var i = 0; i <= 300; i += 10)
4021 {
4022 if (i == 300)
4023 {
4024 WriteLiteral(" <option");
4025 BeginWriteAttribute("value", " value=\"", 39545, "\"", 39555, 1);
4026 WriteAttributeValue("", 39553, i, 39553, 2, false);
4027 EndWriteAttribute();
4028 WriteLiteral(">");
4029 Write(i);
4030 WriteLiteral("+</option>\r\n");
4031 }
4032 else
4033 {
4034 WriteLiteral(" <option");
4035 BeginWriteAttribute("value", " value=\"", 39802, "\"", 39812, 1);
4036 WriteAttributeValue("", 39810, i, 39810, 2, false);
4037 EndWriteAttribute();
4038 WriteLiteral(">");
4039 Write(i);
4040 WriteLiteral("</option>\r\n");
4041 }
4042 }
4043 WriteLiteral(@" </select>
4044 </div>
4045 </div>
4046 </div>
4047 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4048 <div class=""filter-container row"">
4049 <label class=""d-block col-12"">");
4050 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
4051 WriteLiteral(@"</label>
4052 <div class=""col-6 pr-sm-0 pr-2"">
4053 <input type=""text"" name=""grundarealmin"" id=""grundarealmin-frontpage"" class=""form-control js-grundarealmin-frontpage-input js-count""");
4054 BeginWriteAttribute("placeholder", " placeholder=\'", 40661, "\'", 40733, 1);
4055 WriteAttributeValue("", 40675, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 40675, 58, false);
4056 EndWriteAttribute();
4057 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4058 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
4059 WriteLiteral("</option>\r\n");
4060 for (var i = 0; i <= 10000; i += 100)
4061 {
4062 if (i == 10000)
4063 {
4064 WriteLiteral(" <option");
4065 BeginWriteAttribute("value", " value=\"", 41345, "\"", 41355, 1);
4066 WriteAttributeValue("", 41353, i, 41353, 2, false);
4067 EndWriteAttribute();
4068 WriteLiteral(">");
4069 Write(i);
4070 WriteLiteral("+</option>\r\n");
4071 }
4072 else
4073 {
4074 WriteLiteral(" <option");
4075 BeginWriteAttribute("value", " value=\"", 41602, "\"", 41612, 1);
4076 WriteAttributeValue("", 41610, i, 41610, 2, false);
4077 EndWriteAttribute();
4078 WriteLiteral(">");
4079 Write(i);
4080 WriteLiteral("</option>\r\n");
4081 }
4082 }
4083 WriteLiteral(@" </select>
4084 </div>
4085 <div class=""col-6 pl-sm-0 pl-2"">
4086 <input type=""text"" name=""grundarealmax"" id=""grundarealmax-frontpage"" class=""form-control js-grundarealmax-frontpage-input js-count""");
4087 BeginWriteAttribute("placeholder", " placeholder=\'", 42085, "\'", 42157, 1);
4088 WriteAttributeValue("", 42099, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 42099, 58, false);
4089 EndWriteAttribute();
4090 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4091 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
4092 WriteLiteral("</option>\r\n");
4093 for (var i = 0; i <= 10000; i += 100)
4094 {
4095 if (i == 10000)
4096 {
4097 WriteLiteral(" <option");
4098 BeginWriteAttribute("value", " value=\"", 42769, "\"", 42779, 1);
4099 WriteAttributeValue("", 42777, i, 42777, 2, false);
4100 EndWriteAttribute();
4101 WriteLiteral(">");
4102 Write(i);
4103 WriteLiteral("+</option>\r\n");
4104 }
4105 else
4106 {
4107 WriteLiteral(" <option");
4108 BeginWriteAttribute("value", " value=\"", 43026, "\"", 43036, 1);
4109 WriteAttributeValue("", 43034, i, 43034, 2, false);
4110 EndWriteAttribute();
4111 WriteLiteral(">");
4112 Write(i);
4113 WriteLiteral("</option>\r\n");
4114 }
4115 }
4116 WriteLiteral(@" </select>
4117 </div>
4118 </div>
4119 </div>
4120 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4121 <div class=""filter-container row"">
4122 <label class=""d-block col-12"">Antal rum</label>
4123
4124 <div class=""col-6 pr-sm-0 pr-2"">
4125 <select name=""roomsmin"" id=""roomsmin-frontpage"" class=""form-control reverse js-count"">
4126 <option selected=""true"" disabled=""disabled"">");
4127 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
4128 WriteLiteral(@"</option>
4129 <option value=""1"">1</option>
4130 <option value=""2"">2</option>
4131 <option value=""3"">3</option>
4132 <option value=""4"">4</option>
4133 <option value=""5+"">5+</option>
4134 </select>
4135 </div>
4136 <div class=""col-6 pl-sm-0 pl-2"">
4137 <select name=""roomsmax"" id=""roomsmax-frontpage"" class=""form-control reverse js-count"">
4138 <option selected=""true"" disabled=""disabled"">");
4139 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
4140 WriteLiteral(@"</option>
4141 <option value=""1"">1</option>
4142 <option value=""2"">2</option>
4143 <option value=""3"">3</option>
4144 <option value=""4"">4</option>
4145 <option value=""5+"">");
4146 Write(Translate("Smartpage:Rooms.5", "5"));
4147 WriteLiteral(@"</option>
4148 </select>
4149 </div>
4150 </div>
4151 </div>
4152 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4153 <div class=""row"">
4154 <div class=""col-12"">
4155 <div class=""filter-container"">
4156 <label class=""d-block"">Energimærke</label>
4157 <select name=""energylabel"" id=""energylabel-frontpage"" class=""form-control reverse js-count"">
4158 <option disabled selected=""selected"">");
4159 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
4160 WriteLiteral(@"</option>
4161 <option value=""01"">G</option>
4162 <option value=""02"">F</option>
4163 <option value=""03"">E</option>
4164 <option value=""04"">D</option>
4165 <option value=""05"">C</option>
4166 <option value=""06"">B</option>
4167 <option value=""07"">A</option>
4168 <option value=""08"">A2010</option>
4169 <option value=""09"">A2015</option>
4170 <option value=""10"">A2020+</option>
4171 </select>
4172 </div>
4173 </div>
4174 ");
4175 WriteLiteral(" </div>\r\n </div>\r\n <div class=\"col-12 col-sm-6 col-lg-3 mt-3\">\r\n <h4");
4176 BeginWriteAttribute("class", " class=\"", 47281, "\"", 47289, 0);
4177 EndWriteAttribute();
4178 WriteLiteral("><b>");
4179 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
4180 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
4181 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
4182 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\"");
4183 BeginWriteAttribute("placeholder", " placeholder=\'", 47845, "\'", 47919, 1);
4184 WriteAttributeValue("", 47859, Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK"), 47859, 60, false);
4185 EndWriteAttribute();
4186 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4187 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
4188 WriteLiteral("</option>\r\n");
4189 for (var i = 0; i <= 25000; i += 1250)
4190 {
4191 if (i == 25000)
4192 {
4193 WriteLiteral(" <option>");
4194 Write(Convert.ToInt32(i).ToString("N0"));
4195 WriteLiteral("+</option>\r\n");
4196 }
4197 else
4198 {
4199 WriteLiteral(" <option>");
4200 Write(Convert.ToInt32(i).ToString("N0"));
4201 WriteLiteral("</option>\r\n");
4202 }
4203 }
4204 WriteLiteral(@" </select>
4205 </div>
4206 <div class=""col-6 pl-sm-0 pl-2"">
4207 <input type=""text"" name=""subsidymax"" id=""subsidymax-frontpage"" class=""form-control js-subsidymax-frontpage-input js-count""");
4208 BeginWriteAttribute("placeholder", " placeholder=\'", 49304, "\'", 49378, 1);
4209 WriteAttributeValue("", 49318, Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK"), 49318, 60, false);
4210 EndWriteAttribute();
4211 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4212 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
4213 WriteLiteral("</option>\r\n");
4214 for (var i = 0; i <= 25000; i += 1250)
4215 {
4216 if (i == 25000)
4217 {
4218 WriteLiteral(" <option");
4219 BeginWriteAttribute("value", " value=\"", 49990, "\"", 50017, 1);
4220 WriteAttributeValue("", 49998, Convert.ToInt32(i), 49998, 19, false);
4221 EndWriteAttribute();
4222 WriteLiteral(">");
4223 Write(Convert.ToInt32(i).ToString("N0"));
4224 WriteLiteral("+</option>\r\n");
4225 }
4226 else
4227 {
4228 WriteLiteral(" <option");
4229 BeginWriteAttribute("value", " value=\"", 50296, "\"", 50323, 1);
4230 WriteAttributeValue("", 50304, Convert.ToInt32(i), 50304, 19, false);
4231 EndWriteAttribute();
4232 WriteLiteral(">");
4233 Write(Convert.ToInt32(i).ToString("N0"));
4234 WriteLiteral("</option>\r\n");
4235 }
4236 }
4237 WriteLiteral(@" </select>
4238 </div>
4239 </div>
4240 </div>
4241 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"">
4242 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
4243 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
4244 WriteLiteral(@"</button>
4245 </div>
4246 </div>
4247 </div>
4248 </div>
4249 </div>
4250
4251 <div class=""row d-block d-md-none form-wrapper no-gutters"">
4252 <div class=""col-xs-12 col-md-2"">
4253 <button type=""submit"" class=""btn btn-block btn-search btn-mobile-search"">");
4254 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4255 WriteLiteral(@"<i class=""fa fa-search cta-icon""></i></button>
4256 </div>
4257 </div>
4258 </form>
4259 <div class=""front-page-actions d-md-none"">
4260 <div>
4261 <button class=""btn btn-block btn-search btn-mobile-search js-search-mobile"">");
4262 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4263 WriteLiteral("<i class=\"fa fa-search cta-icon\"></i></button>\r\n </div>\r\n <div>\r\n");
4264
4265 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : "";
4266 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER");
4267 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\"");
4268 BeginWriteAttribute("value", " value=\"", 52266, "\"", 52289, 1);
4269 WriteAttributeValue("", 52274, brokerSearchId, 52274, 15, false);
4270 EndWriteAttribute();
4271 WriteLiteral(@" type=""hidden"" />
4272 <div class=""icon-wrapper-wclick"">
4273 <i class=""fas fa-search ta-submit-on-icon-click""></i>
4274 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text""");
4275 BeginWriteAttribute("placeholder", " placeholder=\"", 52593, "\"", 52615, 1);
4276 WriteAttributeValue("", 52607, ctaText, 52607, 8, false);
4277 EndWriteAttribute();
4278 WriteLiteral(" onfocus=\"this.placeholder = \'\'\"");
4279 BeginWriteAttribute("onblur", " onblur=\"", 52648, "\"", 52684, 3);
4280 WriteAttributeValue("", 52657, "this.placeholder=\'", 52657, 18, true);
4281 WriteAttributeValue("", 52675, ctaText, 52675, 8, false);
4282 WriteAttributeValue("", 52683, "\'", 52683, 1, true);
4283 EndWriteAttribute();
4284 WriteLiteral(" />\r\n </div>\r\n </form>\r\n");
4285 WriteLiteral(" </div>\r\n <div>\r\n <a href=\"javascript:panelSalgsvurdering(\'Hovedmenu\')\" class=\"btn btn-orange btn-block\">");
4286 Write(Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING"));
4287 WriteLiteral("<i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n");
4288
4289 }
4290
4291 void RenderSlideMenu(bool erhverv, string maeglersoegning)
4292 {
4293 WriteLiteral(@" <div id=""menu"" class=""main-menu-slide "">
4294 <div class=""container"">
4295 <div class=""row"">
4296 <div class=""col-12"">
4297 <span class=""menu-headline"">MENU</span>
4298 </div>
4299 <div class=""menu-slide"">
4300 <b></b>
4301 </div>
4302
4303 <div class=""col-12 main-slidemenu"">
4304 ");
4305
4306 var navigationSettings = new NavigationSettings();
4307 navigationSettings.StartLevel = 1;
4308 navigationSettings.StopLevel = 2;
4309 navigationSettings.ExpandMode = ExpandMode.All;
4310 navigationSettings.RootAreaId = Pageview.Area.ID;
4311
4312 Write(Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings));
4313 WriteLiteral(" </div>\r\n <div class=\"col-12 bottom-btns\">\r\n\r\n");
4314
4315 string[] maeglerid;
4316 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0";
4317
4318 if (erhverv)
4319 {
4320 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None);
4321 }
4322 else
4323 {
4324 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None);
4325 }
4326
4327 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\"");
4328 BeginWriteAttribute("value", " value=\"", 55298, "\"", 55319, 1);
4329 WriteAttributeValue("", 55306, maeglerid[1], 55306, 13, false);
4330 EndWriteAttribute();
4331 WriteLiteral(@" type=""hidden"" />
4332 <div class=""icon-wrapper-wclick"">
4333 <i class=""fas fa-search ta-submit-on-icon-click""></i>
4334 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text""");
4335 BeginWriteAttribute("placeholder", " placeholder=\'", 55635, "\'", 55708, 1);
4336 WriteAttributeValue("", 55649, Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER"), 55649, 59, false);
4337 EndWriteAttribute();
4338 WriteLiteral(" onfocus=\"this.placeholder = \'FIND MÆGLER\'\" />\r\n </div>\r\n </form>\r\n");
4339 WriteLiteral(" <br />\r\n");
4340
4341 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + "";
4342 WriteLiteral(" <a");
4343 BeginWriteAttribute("href", " href=\"", 56074, "\"", 56145, 5);
4344 WriteAttributeValue("", 56081, "javascript:panelSalgsvurdering(\'", 56081, 32, true);
4345 WriteAttributeValue("", 56113, dpmaegler, 56113, 10, false);
4346 WriteAttributeValue("", 56123, "\',\'", 56123, 3, true);
4347 WriteAttributeValue("", 56126, Pageview.AreaID, 56126, 16, false);
4348 WriteAttributeValue("", 56142, "\');", 56142, 3, true);
4349 EndWriteAttribute();
4350 WriteLiteral(" class=\"btn btn-block btn-default-invert js-close-menu\">Gratis salgsvurdering <i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n");
4351 }
4352
4353 void RenderBlockList(List<Block> blocks)
4354 {
4355 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4356 blocks = blocks.OrderBy(item => item.SortId).ToList();
4357
4358 foreach (Block item in blocks)
4359 {
4360 if (debug) {
4361 WriteLiteral(" <!-- Block START: ");
4362 Write(item.Id);
4363 WriteLiteral(" -->\r\n");
4364 }
4365
4366 if (item.Design == null)
4367 {
4368 RenderBlock(item);
4369 }
4370 else if (item.Design.RenderType == RenderType.None) {
4371 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4372
4373 WriteLiteral(" <div");
4374 BeginWriteAttribute("class", " class=\"", 57436, "\"", 57460, 2);
4375 WriteAttributeValue("", 57444, cssClass, 57444, 9, false);
4376 WriteAttributeValue(" ", 57453, "dw-mod", 57454, 7, true);
4377 EndWriteAttribute();
4378 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4379 }
4380 else if (item.Design.RenderType != RenderType.Hide)
4381 {
4382 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4383
4384 if (!item.SkipRenderBlocksList) {
4385 if (item.Design.RenderType == RenderType.Row)
4386 {
4387 WriteLiteral(" <div");
4388 BeginWriteAttribute("class", " class=\"", 57887, "\"", 57942, 4);
4389 WriteAttributeValue("", 57895, "grid", 57895, 4, true);
4390 WriteAttributeValue(" ", 57899, "grid--align-content-start", 57900, 26, true);
4391 WriteAttributeValue(" ", 57925, cssClass, 57926, 9, false);
4392 WriteAttributeValue(" ", 57935, "dw-mod", 57936, 7, true);
4393 EndWriteAttribute();
4394 BeginWriteAttribute("id", " id=\"", 57943, "\"", 57963, 2);
4395 WriteAttributeValue("", 57948, "Block__", 57948, 7, true);
4396 WriteAttributeValue("", 57955, item.Id, 57955, 8, false);
4397 EndWriteAttribute();
4398 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4399 }
4400
4401 if (item.Design.RenderType == RenderType.Column)
4402 {
4403 string hidePadding = item.Design.HidePadding ? "u-no-padding" : "";
4404 string size = item.Design.Size ?? "12";
4405 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size;
4406
4407 WriteLiteral(" <div");
4408 BeginWriteAttribute("class", " class=\"", 58459, "\"", 58590, 9);
4409 WriteAttributeValue("", 58467, "grid__col-lg-", 58467, 13, true);
4410 WriteAttributeValue("", 58480, item.Design.Size, 58480, 17, false);
4411 WriteAttributeValue(" ", 58497, "grid__col-md-", 58498, 14, true);
4412 WriteAttributeValue("", 58511, item.Design.Size, 58511, 17, false);
4413 WriteAttributeValue(" ", 58528, "grid__col-sm-12", 58529, 16, true);
4414 WriteAttributeValue(" ", 58544, "grid__col-xs-12", 58545, 16, true);
4415 WriteAttributeValue(" ", 58560, hidePadding, 58561, 12, false);
4416 WriteAttributeValue(" ", 58573, cssClass, 58574, 9, false);
4417 WriteAttributeValue(" ", 58583, "dw-mod", 58584, 7, true);
4418 EndWriteAttribute();
4419 BeginWriteAttribute("id", " id=\"", 58591, "\"", 58611, 2);
4420 WriteAttributeValue("", 58596, "Block__", 58596, 7, true);
4421 WriteAttributeValue("", 58603, item.Id, 58603, 8, false);
4422 EndWriteAttribute();
4423 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4424 }
4425
4426 if (item.Design.RenderType == RenderType.Table)
4427 {
4428 WriteLiteral(" <table");
4429 BeginWriteAttribute("class", " class=\"", 58842, "\"", 58872, 3);
4430 WriteAttributeValue("", 58850, "table", 58850, 5, true);
4431 WriteAttributeValue(" ", 58855, cssClass, 58856, 9, false);
4432 WriteAttributeValue(" ", 58865, "dw-mod", 58866, 7, true);
4433 EndWriteAttribute();
4434 BeginWriteAttribute("id", " id=\"", 58873, "\"", 58893, 2);
4435 WriteAttributeValue("", 58878, "Block__", 58878, 7, true);
4436 WriteAttributeValue("", 58885, item.Id, 58885, 8, false);
4437 EndWriteAttribute();
4438 WriteLiteral(">\r\n RenderBlock(item);\r\n </table>\r\n");
4439 }
4440
4441 if (item.Design.RenderType == RenderType.TableRow)
4442 {
4443 WriteLiteral(" <tr");
4444 BeginWriteAttribute("class", " class=\"", 59126, "\"", 59150, 2);
4445 WriteAttributeValue("", 59134, cssClass, 59134, 9, false);
4446 WriteAttributeValue(" ", 59143, "dw-mod", 59144, 7, true);
4447 EndWriteAttribute();
4448 BeginWriteAttribute("id", " id=\"", 59151, "\"", 59171, 2);
4449 WriteAttributeValue("", 59156, "Block__", 59156, 7, true);
4450 WriteAttributeValue("", 59163, item.Id, 59163, 8, false);
4451 EndWriteAttribute();
4452 WriteLiteral(">\r\n RenderBlock(item);\r\n </tr>\r\n");
4453 }
4454
4455 if (item.Design.RenderType == RenderType.TableColumn)
4456 {
4457 WriteLiteral(" <td");
4458 BeginWriteAttribute("class", " class=\"", 59404, "\"", 59428, 2);
4459 WriteAttributeValue("", 59412, cssClass, 59412, 9, false);
4460 WriteAttributeValue(" ", 59421, "dw-mod", 59422, 7, true);
4461 EndWriteAttribute();
4462 BeginWriteAttribute("id", " id=\"", 59429, "\"", 59449, 2);
4463 WriteAttributeValue("", 59434, "Block__", 59434, 7, true);
4464 WriteAttributeValue("", 59441, item.Id, 59441, 8, false);
4465 EndWriteAttribute();
4466 WriteLiteral(">\r\n RenderBlock(item);\r\n </td>\r\n");
4467 }
4468
4469 if (item.Design.RenderType == RenderType.CardHeader)
4470 {
4471 WriteLiteral(" <div");
4472 BeginWriteAttribute("class", " class=\"", 59682, "\"", 59718, 3);
4473 WriteAttributeValue("", 59690, "card-header", 59690, 11, true);
4474 WriteAttributeValue(" ", 59701, cssClass, 59702, 9, false);
4475 WriteAttributeValue(" ", 59711, "dw-mod", 59712, 7, true);
4476 EndWriteAttribute();
4477 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4478 }
4479
4480 if (item.Design.RenderType == RenderType.CardBody)
4481 {
4482 WriteLiteral(" <div");
4483 BeginWriteAttribute("class", " class=\"", 59950, "\"", 59979, 3);
4484 WriteAttributeValue("", 59958, "card", 59958, 4, true);
4485 WriteAttributeValue(" ", 59962, cssClass, 59963, 9, false);
4486 WriteAttributeValue(" ", 59972, "dw-mod", 59973, 7, true);
4487 EndWriteAttribute();
4488 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4489 }
4490
4491 if (item.Design.RenderType == RenderType.CardFooter)
4492 {
4493 WriteLiteral(" <div");
4494 BeginWriteAttribute("class", " class=\"", 60213, "\"", 60249, 3);
4495 WriteAttributeValue("", 60221, "card-footer", 60221, 11, true);
4496 WriteAttributeValue(" ", 60232, cssClass, 60233, 9, false);
4497 WriteAttributeValue(" ", 60242, "dw-mod", 60243, 7, true);
4498 EndWriteAttribute();
4499 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4500 }
4501 }
4502 else
4503 {
4504 RenderBlock(item);
4505 }
4506 }
4507
4508 if (debug) {
4509 WriteLiteral(" <!-- Block END: ");
4510 Write(item.Id);
4511 WriteLiteral(" -->\r\n");
4512 }
4513 }
4514 }
4515
4516 void RenderBlock(Block item)
4517 {
4518 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4519
4520 if (item.Template != null)
4521 {
4522 Write(BlocksPage.RenderTemplate(item.Template));
4523
4524 }
4525
4526 if (item.Component != null)
4527 {
4528 string customSufix = "Custom";
4529 string methodName = item.Component.HelperName;
4530
4531 ComponentBase[] methodParameters = new ComponentBase[1];
4532 methodParameters[0] = item.Component;
4533 Type methodType = this.GetType();
4534
4535 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix);
4536 MethodInfo generalMethod = methodType.GetMethod(methodName);
4537
4538 try {
4539 if (debug) {
4540 WriteLiteral(" <!-- Component: ");
4541 Write(methodName.Replace("Render", ""));
4542 WriteLiteral(" -->\r\n");
4543 }
4544 Write(customMethod.Invoke(this, methodParameters).ToString());
4545 ;
4546 } catch {
4547 try {
4548 Write(generalMethod.Invoke(this, methodParameters).ToString());
4549
4550 ;
4551 } catch(Exception ex) {
4552 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex);
4553 }
4554 }
4555 }
4556
4557 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList)
4558 {
4559 RenderBlockList(item.BlocksList);
4560 }
4561 }
4562
4563 void Render(ComponentBase component)
4564 {
4565 if (component != null)
4566 {
4567 Write(component.Render(this));
4568
4569 }
4570 }
4571
4572 void RenderIcon(Icon settings)
4573 {
4574 if (settings != null)
4575 {
4576 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4577
4578 if (settings.Name != null)
4579 {
4580 if (string.IsNullOrEmpty(settings.Label))
4581 {
4582 WriteLiteral(" <i");
4583 BeginWriteAttribute("class", " class=\"", 63145, "\"", 63203, 3);
4584 WriteAttributeValue("", 63153, settings.Prefix, 63153, 16, false);
4585 WriteAttributeValue(" ", 63169, settings.Name, 63170, 14, false);
4586 WriteAttributeValue(" ", 63184, settings.CssClass, 63185, 18, false);
4587 EndWriteAttribute();
4588 WriteLiteral(" ");
4589 Write(color);
4590 WriteLiteral("></i>\r\n");
4591 }
4592 else
4593 {
4594 if (settings.LabelPosition == IconLabelPosition.Before)
4595 {
4596 WriteLiteral(" <div");
4597 BeginWriteAttribute("class", " class=\"", 63406, "\"", 63466, 3);
4598 WriteAttributeValue("", 63414, "u-flex", 63414, 6, true);
4599 WriteAttributeValue(" ", 63420, "u-flex--align-items-center", 63421, 27, true);
4600 WriteAttributeValue(" ", 63447, settings.CssClass, 63448, 18, false);
4601 EndWriteAttribute();
4602 WriteLiteral(">");
4603 Write(settings.Label);
4604 WriteLiteral(" <i");
4605 BeginWriteAttribute("class", " class=\"", 63486, "\"", 63539, 3);
4606 WriteAttributeValue("", 63494, settings.Prefix, 63494, 16, false);
4607 WriteAttributeValue(" ", 63510, settings.Name, 63511, 14, false);
4608 WriteAttributeValue(" ", 63525, "u-margin-left", 63526, 14, true);
4609 EndWriteAttribute();
4610 WriteLiteral(" ");
4611 Write(color);
4612 WriteLiteral("></i></div>\r\n");
4613 }
4614 else
4615 {
4616 WriteLiteral(" <div");
4617 BeginWriteAttribute("class", " class=\"", 63660, "\"", 63720, 3);
4618 WriteAttributeValue("", 63668, "u-flex", 63668, 6, true);
4619 WriteAttributeValue(" ", 63674, "u-flex--align-items-center", 63675, 27, true);
4620 WriteAttributeValue(" ", 63701, settings.CssClass, 63702, 18, false);
4621 EndWriteAttribute();
4622 WriteLiteral("><i");
4623 BeginWriteAttribute("class", " class=\"", 63724, "\"", 63790, 4);
4624 WriteAttributeValue("", 63732, settings.Prefix, 63732, 16, false);
4625 WriteAttributeValue(" ", 63748, settings.Name, 63749, 14, false);
4626 WriteAttributeValue(" ", 63763, "u-margin-right--lg", 63764, 19, true);
4627 WriteAttributeValue(" ", 63782, "u-w20px", 63783, 8, true);
4628 EndWriteAttribute();
4629 WriteLiteral(" ");
4630 Write(color);
4631 WriteLiteral("></i>");
4632 Write(settings.Label);
4633 WriteLiteral("</div>\r\n");
4634 }
4635 }
4636 }
4637 else if (!string.IsNullOrEmpty(settings.Label))
4638 {
4639 Write(settings.Label);
4640
4641 }
4642 }
4643 }
4644
4645 void RenderButton(Button settings)
4646 {
4647 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4648 {
4649 Dictionary<string, string> attributes = new Dictionary<string, string>();
4650 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4651 if (settings.Disabled) {
4652 attributes.Add("disabled", "true");
4653 classList.Add("disabled");
4654 }
4655
4656 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle))
4657 {
4658 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
4659 RenderConfirmDialog(settings);
4660 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true";
4661 }
4662
4663 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4664 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4665 if (!string.IsNullOrEmpty(settings.AltText))
4666 {
4667 attributes.Add("title", settings.AltText);
4668 }
4669 else if (!string.IsNullOrEmpty(settings.Title))
4670 {
4671 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty);
4672 cleanTitle = cleanTitle.Replace(" ", " ");
4673 attributes.Add("title", cleanTitle);
4674 }
4675
4676 var onClickEvents = new List<string>();
4677 if (!string.IsNullOrEmpty(settings.OnClick))
4678 {
4679 onClickEvents.Add(settings.OnClick);
4680 }
4681 if (!string.IsNullOrEmpty(settings.Href))
4682 {
4683 if (settings.Href.Contains("javascript"))
4684 {
4685 settings.Href = settings.Href.Replace("http://", "");
4686 }
4687 onClickEvents.Add("location.href='" + settings.Href + "'");
4688 }
4689 if (onClickEvents.Count > 0)
4690 {
4691 attributes.Add("onClick", string.Join(";", onClickEvents));
4692 }
4693
4694 if (settings.ButtonLayout != ButtonLayout.None)
4695 {
4696 classList.Add("btn");
4697 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4698 if (btnLayout == "linkclean")
4699 {
4700 btnLayout = "link-clean"; //fix
4701 }
4702 classList.Add("btn--" + btnLayout);
4703 }
4704
4705 if (settings.Icon == null)
4706 {
4707 settings.Icon = new Icon();
4708 }
4709
4710 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : "";
4711 settings.Icon.Label = settings.Title;
4712
4713 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower());
4714
4715 WriteLiteral(" <button");
4716 BeginWriteAttribute("class", " class=\"", 67383, "\"", 67426, 2);
4717 WriteAttributeValue("", 67391, string.Join(" ", classList), 67391, 28, false);
4718 WriteAttributeValue(" ", 67419, "dw-mod", 67420, 7, true);
4719 EndWriteAttribute();
4720 WriteLiteral(" ");
4721 Write(ComponentMethods.AddAttributes(attributes));
4722 WriteLiteral(" ");
4723 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4724 WriteLiteral(">");
4725 RenderIcon(settings.Icon);WriteLiteral("</button>\r\n");
4726 }
4727 }
4728
4729 void RenderConfirmDialog(Button settings)
4730 {
4731 Modal confirmDialog = new Modal {
4732 Id = settings.Id,
4733 Width = ModalWidth.Sm,
4734 Heading = new Heading
4735 {
4736 Level = 2,
4737 Title = settings.ConfirmTitle
4738 },
4739 BodyText = settings.ConfirmText
4740 };
4741
4742 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"});
4743 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick });
4744
4745 RenderModal(confirmDialog);
4746 }
4747
4748 void RenderLink(Link settings)
4749 {
4750 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4751 {
4752 Dictionary<string, string> attributes = new Dictionary<string, string>();
4753 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4754 if (settings.Disabled)
4755 {
4756 attributes.Add("disabled", "true");
4757 classList.Add("disabled");
4758 }
4759
4760 if (!string.IsNullOrEmpty(settings.AltText))
4761 {
4762 attributes.Add("title", settings.AltText);
4763 }
4764 else if (!string.IsNullOrEmpty(settings.Title))
4765 {
4766 attributes.Add("title", settings.Title);
4767 }
4768
4769 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4770 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4771 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); }
4772 attributes.Add("href", settings.Href);
4773
4774 if (settings.ButtonLayout != ButtonLayout.None)
4775 {
4776 classList.Add("btn");
4777 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4778 if (btnLayout == "linkclean")
4779 {
4780 btnLayout = "link-clean"; //fix
4781 }
4782 classList.Add("btn--" + btnLayout);
4783 }
4784
4785 if (settings.Icon == null)
4786 {
4787 settings.Icon = new Icon();
4788 }
4789 settings.Icon.Label = settings.Title;
4790
4791 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None)
4792 {
4793 settings.Rel = LinkRelType.Noopener;
4794 }
4795 if (settings.Target != LinkTargetType.None)
4796 {
4797 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower());
4798 }
4799 if (settings.Download)
4800 {
4801 attributes.Add("download", "true");
4802 }
4803 if (settings.Rel != LinkRelType.None)
4804 {
4805 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower());
4806 }
4807
4808 WriteLiteral(" <a");
4809 BeginWriteAttribute("class", " class=\"", 71158, "\"", 71201, 2);
4810 WriteAttributeValue("", 71166, string.Join(" ", classList), 71166, 28, false);
4811 WriteAttributeValue(" ", 71194, "dw-mod", 71195, 7, true);
4812 EndWriteAttribute();
4813 WriteLiteral(" ");
4814 Write(ComponentMethods.AddAttributes(attributes));
4815 WriteLiteral(" ");
4816 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4817 WriteLiteral(">Render(settings.Icon);</a>\r\n");
4818 }
4819 }
4820
4821 void RenderRating(Rating settings)
4822 {
4823 if (settings.Score > 0)
4824 {
4825 int rating = settings.Score;
4826 string iconType = "fa-star";
4827
4828 switch (settings.Type.ToString()) {
4829 case "Stars":
4830 iconType = "fa-star";
4831 break;
4832 case "Hearts":
4833 iconType = "fa-heart";
4834 break;
4835 case "Lemons":
4836 iconType = "fa-lemon";
4837 break;
4838 case "Bombs":
4839 iconType = "fa-bomb";
4840 break;
4841 }
4842
4843 WriteLiteral(" <div class=\"u-ta-right\">\r\n");
4844 for (int i = 0; i < settings.OutOf; i++)
4845 {
4846 WriteLiteral(" <i");
4847 BeginWriteAttribute("class", " class=\"", 72335, "\"", 72382, 2);
4848 WriteAttributeValue("", 72343, rating > i ? "fas" : "far", 72343, 29, false);
4849 WriteAttributeValue(" ", 72372, iconType, 72373, 9, false);
4850 EndWriteAttribute();
4851 WriteLiteral("></i>\r\n");
4852 }
4853 WriteLiteral(" </div>\r\n");
4854 }
4855 }
4856
4857 void RenderNavigation(Navigation settings) {
4858 RenderNavigation(new
4859 {
4860 id = settings.Id,
4861 cssclass = settings.CssClass,
4862 startLevel = settings.StartLevel,
4863 endlevel = settings.EndLevel,
4864 expandmode = settings.Expandmode,
4865 sitemapmode = settings.SitemapMode,
4866 template = settings.Template
4867 });
4868 }
4869
4870 void RenderLeftNavigation(LeftNavigation settings) {
4871 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id;
4872 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template;
4873 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel;
4874 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel;
4875 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode;
4876
4877 WriteLiteral(" <div class=\"grid__cell\">\r\n RenderNavigation(settings);\r\n </div> \r\n");
4878 }
4879
4880 void RenderHeading(Heading settings)
4881 {
4882 if (settings != null && !string.IsNullOrEmpty(settings.Title))
4883 {
4884 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4885 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div";
4886
4887 Write("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">");
4888
4889 if (!string.IsNullOrEmpty(settings.Link))
4890 {
4891 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None });
4892 }
4893 else
4894 {
4895 if (settings.Icon == null)
4896 {
4897 settings.Icon = new Icon();
4898 }
4899 settings.Icon.Label = settings.Title;
4900 RenderIcon(settings.Icon);
4901 }
4902 Write("</" + tagName + ">");
4903 ;
4904 }
4905 }
4906
4907 void RenderImage(Image settings)
4908 {
4909 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None)
4910 {
4911 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
4912 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); }
4913
4914 if (settings.Caption != null)
4915 {
4916 WriteLiteral(" ");
4917 WriteLiteral("<div>\r\n");
4918 }
4919
4920 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower();
4921 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower();
4922
4923 WriteLiteral(" <div");
4924 BeginWriteAttribute("class", " class=\"", 75863, "\"", 75944, 5);
4925 WriteAttributeValue("", 75871, "image-filter", 75871, 12, true);
4926 WriteAttributeValue(" ", 75883, "image-filter--", 75884, 15, true);
4927 WriteAttributeValue("", 75898, primaryFilterClass, 75898, 19, false);
4928 WriteAttributeValue(" ", 75917, "u-position-relative", 75918, 20, true);
4929 WriteAttributeValue(" ", 75937, "dw-mod", 75938, 7, true);
4930 EndWriteAttribute();
4931 WriteLiteral(" ");
4932 Write(ComponentMethods.AddAttributes(optionalAttributes));
4933 WriteLiteral(">\r\n <div");
4934 BeginWriteAttribute("class", " class=\"", 76024, "\"", 76087, 4);
4935 WriteAttributeValue("", 76032, "image-filter", 76032, 12, true);
4936 WriteAttributeValue(" ", 76044, "image-filter--", 76045, 15, true);
4937 WriteAttributeValue("", 76059, secondaryFilterClass, 76059, 21, false);
4938 WriteAttributeValue(" ", 76080, "dw-mod", 76081, 7, true);
4939 EndWriteAttribute();
4940 WriteLiteral(">\r\n");
4941 if (settings.Link != null)
4942 {
4943 WriteLiteral(" <a");
4944 BeginWriteAttribute("href", " href=\"", 76201, "\"", 76222, 1);
4945 WriteAttributeValue("", 76208, settings.Link, 76208, 14, false);
4946 EndWriteAttribute();
4947 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
4948 }
4949 else
4950 {
4951 RenderTheImage(settings);
4952 }
4953 WriteLiteral(" </div>\r\n </div>\r\n");
4954
4955 if (settings.Caption != null)
4956 {
4957 WriteLiteral(" <span class=\"image-caption dw-mod\">");
4958 Write(settings.Caption);
4959 WriteLiteral("</span>\r\n ");
4960 WriteLiteral("</div>\r\n");
4961 }
4962 }
4963 else
4964 {
4965 if (settings.Caption != null)
4966 {
4967 WriteLiteral(" ");
4968 WriteLiteral("<div>\r\n");
4969 }
4970 if (!string.IsNullOrEmpty(settings.Link))
4971 {
4972 WriteLiteral(" <a");
4973 BeginWriteAttribute("href", " href=\"", 76965, "\"", 76986, 1);
4974 WriteAttributeValue("", 76972, settings.Link, 76972, 14, false);
4975 EndWriteAttribute();
4976 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
4977 }
4978 else
4979 {
4980 RenderTheImage(settings);
4981 }
4982
4983 if (settings.Caption != null)
4984 {
4985 WriteLiteral(" <span class=\"image-caption dw-mod\">");
4986 Write(settings.Caption);
4987 WriteLiteral("</span>\r\n ");
4988 WriteLiteral("</div>\r\n");
4989 }
4990 }
4991 }
4992
4993 void RenderTheImage(Image settings)
4994 {
4995 if (settings != null)
4996 {
4997 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg";
4998 string placeholderImage = "/Files/Images/placeholder.gif";
4999 string imageEngine = "/Admin/Public/GetImage.ashx?";
5000
5001 string imageStyle = "";
5002
5003 switch (settings.Style)
5004 {
5005 case ImageStyle.Ball:
5006 imageStyle = "grid__cell-img--ball";
5007 break;
5008
5009 case ImageStyle.Triangle:
5010 imageStyle = "grid__cell-img--triangle";
5011 break;
5012 }
5013
5014 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle)
5015 {
5016 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop;
5017
5018 if (settings.ImageDefault != null)
5019 {
5020 settings.ImageDefault.Height = settings.ImageDefault.Width;
5021 }
5022 if (settings.ImageMedium != null)
5023 {
5024 settings.ImageMedium.Height = settings.ImageMedium.Width;
5025 }
5026 if (settings.ImageSmall != null)
5027 {
5028 settings.ImageSmall.Height = settings.ImageSmall.Width;
5029 }
5030 }
5031
5032 string defaultImage = imageEngine;
5033 string imageSmall = "";
5034 string imageMedium = "";
5035
5036 if (settings.DisableImageEngine)
5037 {
5038 defaultImage = settings.Path;
5039 }
5040 else
5041 {
5042 if (settings.ImageDefault != null)
5043 {
5044 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault);
5045
5046 if (settings.Path.GetType() != typeof(string))
5047 {
5048 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5049 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5050 }
5051 else
5052 {
5053 defaultImage += settings.Path != null ? "Image=" + settings.Path : "";
5054 }
5055
5056 defaultImage += "&AlternativeImage=" + alternativeImage;
5057 }
5058
5059 if (settings.ImageSmall != null)
5060 {
5061 imageSmall = "data-src-small=\"" + imageEngine;
5062 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall);
5063
5064 if (settings.Path.GetType() != typeof(string))
5065 {
5066 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5067 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5068 }
5069 else
5070 {
5071 imageSmall += settings.Path != null ? "Image=" + settings.Path : "";
5072 }
5073
5074 imageSmall += "&alternativeImage=" + alternativeImage;
5075
5076 imageSmall += "\"";
5077 }
5078
5079 if (settings.ImageMedium != null)
5080 {
5081 imageMedium = "data-src-medium=\"" + imageEngine;
5082 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium);
5083
5084 if (settings.Path.GetType() != typeof(string))
5085 {
5086 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5087 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5088 }
5089 else
5090 {
5091 imageMedium += settings.Path != null ? "Image=" + settings.Path : "";
5092 }
5093
5094 imageMedium += "&alternativeImage=" + alternativeImage;
5095
5096 imageMedium += "\"";
5097 }
5098 }
5099
5100 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5101 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); }
5102 if (!string.IsNullOrEmpty(settings.Title))
5103 {
5104 optionalAttributes.Add("alt", settings.Title);
5105 optionalAttributes.Add("title", settings.Title);
5106 }
5107
5108 if (settings.DisableLazyLoad)
5109 {
5110 WriteLiteral(" <img");
5111 BeginWriteAttribute("id", " id=\"", 82465, "\"", 82482, 1);
5112 WriteAttributeValue("", 82470, settings.Id, 82470, 12, false);
5113 EndWriteAttribute();
5114 BeginWriteAttribute("class", " class=\"", 82483, "\"", 82528, 3);
5115 WriteAttributeValue("", 82491, imageStyle, 82491, 11, false);
5116 WriteAttributeValue(" ", 82502, settings.CssClass, 82503, 18, false);
5117 WriteAttributeValue(" ", 82521, "dw-mod", 82522, 7, true);
5118 EndWriteAttribute();
5119 BeginWriteAttribute("src", " src=\"", 82529, "\"", 82548, 1);
5120 WriteAttributeValue("", 82535, defaultImage, 82535, 13, false);
5121 EndWriteAttribute();
5122 WriteLiteral(" ");
5123 Write(ComponentMethods.AddAttributes(optionalAttributes));
5124 WriteLiteral(" ");
5125 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5126 WriteLiteral(" />\r\n");
5127 }
5128 else
5129 {
5130
5131 WriteLiteral(" <img");
5132 BeginWriteAttribute("id", " id=\"", 82746, "\"", 82763, 1);
5133 WriteAttributeValue("", 82751, settings.Id, 82751, 12, false);
5134 EndWriteAttribute();
5135 BeginWriteAttribute("class", " class=\"", 82764, "\"", 82809, 3);
5136 WriteAttributeValue("", 82772, imageStyle, 82772, 11, false);
5137 WriteAttributeValue(" ", 82783, settings.CssClass, 82784, 18, false);
5138 WriteAttributeValue(" ", 82802, "dw-mod", 82803, 7, true);
5139 EndWriteAttribute();
5140 WriteLiteral(" loading=\"lazy\"");
5141 BeginWriteAttribute("src", " src=\"", 82825, "\"", 82844, 1);
5142 WriteAttributeValue("", 82831, defaultImage, 82831, 13, false);
5143 EndWriteAttribute();
5144 WriteLiteral(" ");
5145 Write(ComponentMethods.AddAttributes(optionalAttributes));
5146 WriteLiteral(" ");
5147 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5148 WriteLiteral(" />\r\n");
5149 }
5150 }
5151 }
5152
5153 void RenderHiddenField(HiddenField settings) {
5154 var attributes = new Dictionary<string, string>();
5155 attributes.Add("type", "hidden");
5156 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5157 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5158 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5159
5160 WriteLiteral(" <input ");
5161 Write(ComponentMethods.AddAttributes(attributes));
5162 WriteLiteral(" ");
5163 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5164 WriteLiteral("/>\r\n");
5165 }
5166
5167 void RenderRadioButtonField(RadioButtonField settings)
5168 {
5169 var attributes = new Dictionary<string, string>();
5170 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id))
5171 {
5172 settings.Id = Guid.NewGuid().ToString("N");
5173 }
5174
5175 /*base settings*/
5176 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5177 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); }
5178 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); }
5179 if (settings.Disabled) { attributes.Add("disabled", "true"); }
5180 if (settings.Required) { attributes.Add("required", "true"); }
5181 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5182 /*end*/
5183
5184 attributes.Add("type", "radio");
5185 if (settings.Checked) { attributes.Add("checked", "true"); }
5186 settings.CssClass = "form__control " + settings.CssClass;
5187 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5188
5189 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value);
5190
5191 WriteLiteral(" <div");
5192 BeginWriteAttribute("class", " class=\"", 85164, "\"", 85222, 3);
5193 WriteAttributeValue("", 85172, "form__field-group", 85172, 17, true);
5194 WriteAttributeValue(" ", 85189, settings.WrapperCssClass, 85190, 25, false);
5195 WriteAttributeValue(" ", 85215, "dw-mod", 85216, 7, true);
5196 EndWriteAttribute();
5197 WriteLiteral(">\r\n <input ");
5198 Write(ComponentMethods.AddAttributes(resultAttributes));
5199 WriteLiteral(" class=\"");
5200 Write(settings.CssClass);
5201 WriteLiteral(" dw-mod\" />\r\n");
5202 if (!string.IsNullOrEmpty(settings.Label))
5203 {
5204 WriteLiteral(" <label");
5205 BeginWriteAttribute("for", " for=\"", 85427, "\"", 85445, 1);
5206 WriteAttributeValue("", 85433, settings.Id, 85433, 12, false);
5207 EndWriteAttribute();
5208 WriteLiteral(" class=\"dw-mod\">");
5209 Write(settings.Label);
5210 WriteLiteral("</label>\r\n");
5211 }
5212 if (!string.IsNullOrEmpty(settings.HelpText))
5213 {
5214 WriteLiteral(" <small class=\"form__help-text\">");
5215 Write(settings.HelpText);
5216 WriteLiteral("</small>\r\n");
5217 }
5218 WriteLiteral(" Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5219 }
5220
5221 void RenderRadioButtonListField(RadioButtonListField settings)
5222 {
5223 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; }
5224
5225 WriteLiteral(" <div");
5226 BeginWriteAttribute("class", " class=\"", 86160, "\"", 86234, 4);
5227 WriteAttributeValue("", 86168, "form__field-group", 86168, 17, true);
5228 WriteAttributeValue(" ", 86185, settings.WrapperCssClass, 86186, 25, false);
5229 WriteAttributeValue(" ", 86211, "u-margin-bottom", 86212, 16, true);
5230 WriteAttributeValue(" ", 86227, "dw-mod", 86228, 7, true);
5231 EndWriteAttribute();
5232 WriteLiteral(" ");
5233 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5234 WriteLiteral(">\r\n");
5235 if (!string.IsNullOrEmpty(settings.Label))
5236 {
5237 WriteLiteral(" <label>");
5238 Write(settings.Label);
5239 WriteLiteral("</label>\r\n");
5240 }
5241 if (!string.IsNullOrEmpty(settings.HelpText))
5242 {
5243 WriteLiteral(" <small class=\"form__help-text\">");
5244 Write(settings.HelpText);
5245 WriteLiteral("</small>\r\n");
5246 }
5247 WriteLiteral("\r\n");
5248 foreach (var item in settings.Options)
5249 {
5250 if (settings.Required)
5251 {
5252 item.Required = true;
5253 }
5254 if (settings.Disabled)
5255 {
5256 item.Disabled = true;
5257 }
5258 if (!string.IsNullOrEmpty(settings.Name))
5259 {
5260 item.Name = settings.Name;
5261 }
5262 if (settings.Value != null && settings.Value == item.Value)
5263 {
5264 item.Checked = true;
5265 }
5266 if (!string.IsNullOrEmpty(settings.OnClick))
5267 {
5268 item.OnClick += settings.OnClick;
5269 }
5270 if (!string.IsNullOrEmpty(settings.OnChange))
5271 {
5272 item.OnChange += settings.OnChange;
5273 }
5274 if (!string.IsNullOrEmpty(settings.CssClass))
5275 {
5276 item.CssClass += settings.CssClass;
5277 }
5278 Render(item);
5279 }
5280 WriteLiteral("\r\n Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5281 }
5282
5283 void RenderForm(Form settings) {
5284 if (settings != null)
5285 {
5286 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5287 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); };
5288 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); };
5289 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); };
5290 var enctypes = new Dictionary<string, string>
5291 {
5292 { "multipart", "multipart/form-data" },
5293 { "text", "text/plain" },
5294 { "application", "application/x-www-form-urlencoded" }
5295 };
5296 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); };
5297 optionalAttributes.Add("method", settings.Method.ToString());
5298
5299 if (!string.IsNullOrEmpty(settings.FormStartMarkup))
5300 {
5301 Write(settings.FormStartMarkup);
5302
5303 }
5304 else
5305 {
5306 WriteLiteral(" ");
5307 WriteLiteral("<form class=\"");
5308 Write(settings.CssClass);
5309 WriteLiteral(" u-no-margin dw-mod\" ");
5310 Write(ComponentMethods.AddAttributes(optionalAttributes));
5311 WriteLiteral(" ");
5312 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5313 WriteLiteral(">\r\n");
5314 }
5315
5316 foreach (var field in settings.GetFields())
5317 {
5318 Render(field);
5319 }
5320
5321 WriteLiteral(" ");
5322 WriteLiteral("</form>\r\n");
5323 }
5324 }
5325
5326 void RenderText(Text settings)
5327 {
5328 Write(settings.Content);
5329
5330 }
5331
5332 void RenderContentModule(ContentModule settings) {
5333 if (!string.IsNullOrEmpty(settings.Content))
5334 {
5335 Write(settings.Content);
5336
5337 }
5338 }
5339
5340 void RenderModal(Modal settings) {
5341 if (settings != null)
5342 {
5343 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
5344
5345 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : "";
5346
5347 WriteLiteral(" <input type=\"checkbox\"");
5348 BeginWriteAttribute("id", " id=\"", 90630, "\"", 90657, 2);
5349 WriteAttributeValue("", 90635, modalId, 90635, 10, false);
5350 WriteAttributeValue("", 90645, "ModalTrigger", 90645, 12, true);
5351 EndWriteAttribute();
5352 WriteLiteral(" class=\"modal-trigger\" ");
5353 Write(onchange);
5354 WriteLiteral(" />\r\n");
5355 WriteLiteral(" <div class=\"modal-container\">\r\n");
5356 if (!settings.DisableDarkOverlay)
5357 {
5358 WriteLiteral(" <label");
5359 BeginWriteAttribute("for", " for=\"", 90837, "\"", 90865, 2);
5360 WriteAttributeValue("", 90843, modalId, 90843, 10, false);
5361 WriteAttributeValue("", 90853, "ModalTrigger", 90853, 12, true);
5362 EndWriteAttribute();
5363 BeginWriteAttribute("id", " id=\"", 90866, "\"", 90893, 2);
5364 WriteAttributeValue("", 90871, modalId, 90871, 10, false);
5365 WriteAttributeValue("", 90881, "ModalOverlay", 90881, 12, true);
5366 EndWriteAttribute();
5367 WriteLiteral(" class=\"modal-overlay\"></label>\r\n");
5368 }
5369 WriteLiteral(" <div");
5370 BeginWriteAttribute("class", " class=\"", 90966, "\"", 91075, 5);
5371 WriteAttributeValue("", 90974, "modal", 90974, 5, true);
5372 WriteAttributeValue(" ", 90979, "modal--", 90980, 8, true);
5373 WriteAttributeValue("", 90987, settings.Width.ToString().ToLower(), 90987, 36, false);
5374 WriteAttributeValue(" ", 91023, "modal-height--", 91024, 15, true);
5375 WriteAttributeValue("", 91038, settings.Height.ToString().ToLower(), 91038, 37, false);
5376 EndWriteAttribute();
5377 BeginWriteAttribute("id", " id=\"", 91076, "\"", 91096, 2);
5378 WriteAttributeValue("", 91081, modalId, 91081, 10, false);
5379 WriteAttributeValue("", 91091, "Modal", 91091, 5, true);
5380 EndWriteAttribute();
5381 WriteLiteral(">\r\n");
5382 if (settings.Heading != null)
5383 {
5384 if (!string.IsNullOrEmpty(settings.Heading.Title))
5385 {
5386 WriteLiteral(" <div class=\"modal__header\">\r\n RenderHeading(settings.Heading);\r\n </div>\r\n");
5387 }
5388 }
5389 WriteLiteral(" <div");
5390 BeginWriteAttribute("class", " class=\"", 91511, "\"", 91606, 2);
5391 WriteAttributeValue("", 91519, "modal__body", 91519, 11, true);
5392 WriteAttributeValue(" ", 91530, settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "", 91531, 75, false);
5393 EndWriteAttribute();
5394 WriteLiteral(">\r\n");
5395 if (!string.IsNullOrEmpty(settings.BodyText))
5396 {
5397 Write(settings.BodyText);
5398
5399 }
5400 if (settings.BodyTemplate != null)
5401 {
5402 Write(settings.BodyTemplate);
5403
5404 }
5405
5406 var actions = settings.GetActions();
5407 WriteLiteral(" </div>\r\n");
5408 if (actions.Length > 0)
5409 {
5410 WriteLiteral(" <div class=\"modal__footer\">\r\n");
5411 foreach (var action in actions)
5412 {
5413 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") {
5414 action.CssClass += " u-no-margin";
5415 } else {
5416 action.CssClass += " u-full-width u-margin-bottom";
5417 }
5418
5419 Render(action);
5420 }
5421 WriteLiteral(" </div>\r\n");
5422 }
5423 WriteLiteral(" <label class=\"modal__close-btn\"");
5424 BeginWriteAttribute("for", " for=\"", 92850, "\"", 92878, 2);
5425 WriteAttributeValue("", 92856, modalId, 92856, 10, false);
5426 WriteAttributeValue("", 92866, "ModalTrigger", 92866, 12, true);
5427 EndWriteAttribute();
5428 WriteLiteral("></label>\r\n </div>\r\n </div>\r\n");
5429 }
5430 }
5431
5432 void RenderMediaListItem(MediaListItem settings)
5433 {
5434 WriteLiteral(" <div");
5435 BeginWriteAttribute("class", " class=\"", 93116, "\"", 93165, 3);
5436 WriteAttributeValue("", 93124, "media-list-item", 93124, 15, true);
5437 WriteAttributeValue(" ", 93139, settings.CssClass, 93140, 18, false);
5438 WriteAttributeValue(" ", 93158, "dw-mod", 93159, 7, true);
5439 EndWriteAttribute();
5440 WriteLiteral(" ");
5441 Write(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "");
5442 WriteLiteral(">\r\n");
5443 if (!string.IsNullOrEmpty(settings.Label))
5444 {
5445 if (!string.IsNullOrEmpty(settings.Link))
5446 {
5447 Render(new Link
5448 {
5449 Href = settings.Link,
5450 CssClass = "media-list-item__sticker dw-mod",
5451 ButtonLayout = ButtonLayout.None,
5452 Title = settings.Label,
5453 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5454 });
5455 }
5456 else if (!string.IsNullOrEmpty(settings.OnClick))
5457 {
5458 WriteLiteral(" <span class=\"media-list-item__sticker dw-mod\"");
5459 BeginWriteAttribute("onclick", " onclick=\"", 93973, "\"", 94002, 1);
5460 WriteAttributeValue("", 93983, settings.OnClick, 93983, 19, false);
5461 EndWriteAttribute();
5462 WriteLiteral(">\r\n <span class=\"u-uppercase\">");
5463 Write(settings.Label);
5464 WriteLiteral("</span>\r\n </span>\r\n");
5465 }
5466 else
5467 {
5468 WriteLiteral(" <span class=\"media-list-item__sticker media-list-item__sticker--no-link dw-mod\">\r\n <span class=\"u-uppercase\">");
5469 Write(settings.Label);
5470 WriteLiteral("</span>\r\n </span>\r\n");
5471 }
5472 }
5473 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");
5474 if (!string.IsNullOrEmpty(settings.Title))
5475 {
5476 if (!string.IsNullOrEmpty(settings.Link))
5477 {
5478 Render(new Link
5479 {
5480 Href = settings.Link,
5481 CssClass = "media-list-item__name dw-mod",
5482 ButtonLayout = ButtonLayout.None,
5483 Title = settings.Title,
5484 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5485 });
5486 }
5487 else if (!string.IsNullOrEmpty(settings.OnClick))
5488 {
5489 WriteLiteral(" <span class=\"media-list-item__name dw-mod\"");
5490 BeginWriteAttribute("onclick", " onclick=\"", 95499, "\"", 95528, 1);
5491 WriteAttributeValue("", 95509, settings.OnClick, 95509, 19, false);
5492 EndWriteAttribute();
5493 WriteLiteral(">");
5494 Write(settings.Title);
5495 WriteLiteral("</span>\r\n");
5496 }
5497 else
5498 {
5499 WriteLiteral(" <span class=\"media-list-item__name media-list-item__name--no-link dw-mod\">");
5500 Write(settings.Title);
5501 WriteLiteral("</span>\r\n");
5502 }
5503 }
5504 WriteLiteral("\r\n");
5505 if (!string.IsNullOrEmpty(settings.Status))
5506 {
5507 WriteLiteral(" <div class=\"media-list-item__state dw-mod\">");
5508 Write(settings.Status);
5509 WriteLiteral("</div>\r\n");
5510 }
5511 WriteLiteral(" </div>\r\n");
5512
5513 settings.InfoTable.CssClass += " media-list-item__parameters-table";
5514 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");
5515
5516 var actions = settings.GetActions();
5517
5518 foreach (ButtonBase action in actions)
5519 {
5520 action.ButtonLayout = ButtonLayout.None;
5521 action.CssClass += " media-list-item__action link";
5522
5523 Render(action);
5524 }
5525 WriteLiteral(" </div>\r\n\r\n");
5526 if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title))
5527 {
5528 settings.SelectButton.CssClass += " u-no-margin";
5529
5530 WriteLiteral(" <div class=\"media-list-item__action-button\">\r\n Render(settings.SelectButton);\r\n </div>\r\n");
5531 }
5532 WriteLiteral(" </div>\r\n </div>\r\n </div>\r\n");
5533 }
5534
5535 void RenderTable(Table settings)
5536 {
5537 Dictionary<string, string> attributes = new Dictionary<string, string>();
5538 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5539
5540 var enumToClasses = new Dictionary<TableDesign, string>
5541 {
5542 { TableDesign.Clean, "table--clean" },
5543 { TableDesign.Bordered, "table--bordered" },
5544 { TableDesign.Striped, "table--striped" },
5545 { TableDesign.Hover, "table--hover" },
5546 { TableDesign.Compact, "table--compact" },
5547 { TableDesign.Condensed, "table--condensed" },
5548 { TableDesign.NoTopBorder, "table--no-top-border" }
5549 };
5550 string tableDesignClass = "";
5551 if (settings.Design != TableDesign.None)
5552 {
5553 tableDesignClass = enumToClasses[settings.Design];
5554 }
5555
5556 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); }
5557
5558 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5559
5560 WriteLiteral(" <table ");
5561 Write(ComponentMethods.AddAttributes(resultAttributes));
5562 WriteLiteral(">\r\n");
5563 if (settings.Header != null)
5564 {
5565 WriteLiteral(" <thead>\r\n Render(settings.Header);\r\n </thead>\r\n");
5566 }
5567 WriteLiteral(" <tbody>\r\n");
5568 foreach (var row in settings.Rows)
5569 {
5570 Render(row);
5571 }
5572 WriteLiteral(" </tbody>\r\n");
5573 if (settings.Footer != null)
5574 {
5575 WriteLiteral(" <tfoot>\r\n Render(settings.Footer);\r\n </tfoot>\r\n");
5576 }
5577 WriteLiteral(" </table>\r\n");
5578 }
5579
5580 void RenderTableRow(TableRow settings)
5581 {
5582 Dictionary<string, string> attributes = new Dictionary<string, string>();
5583 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5584
5585 var enumToClasses = new Dictionary<TableRowDesign, string>
5586 {
5587 { TableRowDesign.NoBorder, "table__row--no-border" },
5588 { TableRowDesign.Border, "table__row--border" },
5589 { TableRowDesign.TopBorder, "table__row--top-line" },
5590 { TableRowDesign.BottomBorder, "table__row--bottom-line" },
5591 { TableRowDesign.Solid, "table__row--solid" }
5592 };
5593
5594 string tableRowDesignClass = "";
5595 if (settings.Design != TableRowDesign.None)
5596 {
5597 tableRowDesignClass = enumToClasses[settings.Design];
5598 }
5599
5600 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); }
5601
5602 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5603
5604 WriteLiteral(" <tr ");
5605 Write(ComponentMethods.AddAttributes(resultAttributes));
5606 WriteLiteral(">\r\n");
5607 foreach (var cell in settings.Cells)
5608 {
5609 if (settings.IsHeaderRow)
5610 {
5611 cell.IsHeader = true;
5612 }
5613 Render(cell);
5614 }
5615 WriteLiteral(" </tr>\r\n");
5616 }
5617
5618 void RenderTableCell(TableCell settings)
5619 {
5620 Dictionary<string, string> attributes = new Dictionary<string, string>();
5621 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5622 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); }
5623 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); }
5624 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); }
5625
5626 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5627
5628 string tagName = settings.IsHeader ? "th" : "td";
5629
5630 Write("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">");
5631 Write(settings.Content);
5632 Write("</" + tagName + ">");
5633 ;
5634 }
5635
5636 BlocksPage articlePage = BlocksPage.GetBlockPage("DynamicArticle");
5637
5638 public string GetParentSettingsItem(string systemName)
5639 {
5640 string item = null;
5641
5642 Dynamicweb.Content.Page current = Dynamicweb.Services.Pages.GetPage(Model.ID);
5643 while (current != null && current.Parent != current)
5644 {
5645 var temp = current.Item != null ? current.Item[systemName] : "";
5646
5647 if (temp != null)
5648 {
5649 item = temp.ToString();
5650
5651 if (!String.IsNullOrEmpty(item) && !String.Equals("default", item, StringComparison.OrdinalIgnoreCase))
5652 {
5653 break;
5654 }
5655 }
5656
5657 current = current.Parent;
5658 }
5659
5660 return item;
5661 }
5662
5663 public string GetArticleCategory(int pageId)
5664 {
5665 string categoryName = null;
5666
5667 //Secure that the article is not in the root folder = Actual has a category
5668 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent != null)
5669 {
5670 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent != null)
5671 {
5672 if (!String.IsNullOrEmpty(Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent.ItemType))
5673 {
5674 categoryName = Dynamicweb.Services.Pages.GetPage(pageId).Parent.GetDisplayName();
5675 }
5676 }
5677 }
5678
5679 return categoryName;
5680 }
5681
5682 public string GetArticleCategoryColor(int pageId)
5683 {
5684 string categoryColor = "";
5685
5686 //Secure that the article is not in the root folder = Actual has a category
5687 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent != null)
5688 {
5689 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent != null)
5690 {
5691 if (!String.IsNullOrEmpty(Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent.ItemType))
5692 {
5693 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Item["CategoryColor"] != null)
5694 {
5695 var service = new ColorSwatchService();
5696 categoryColor = Dynamicweb.Services.Pages.GetPage(pageId).Parent.Item["CategoryColor"].ToString();
5697
5698 if (!categoryColor.Contains("#"))
5699 {
5700 categoryColor = service.GetHexColor(Converter.ToInt32(Model.Area.ID), categoryColor);
5701 }
5702 }
5703 }
5704 }
5705 }
5706
5707 return categoryColor;
5708 }
5709 }
5710 }
5711 #pragma warning restore 1591
5712
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
2 @using System
3 @using System.Globalization;
4 @using System.Text.RegularExpressions;
5 @using Custom.Integration.Brokers;
6 @using RealMaeglerne.Dynamicweb;
7 @using Dynamicweb.Content.Items;
8 @using Dynamicweb.Environment;
9 @using Newtonsoft.Json;
10 @using Dynamicweb.Logging;
11 @using Dynamicweb.Core;
12 @using Dynamicweb.Frontend.Navigation;
13 @using Dynamicweb;
14 @using static RealMaeglerne.Library.Helper;
15
16 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
17 @using Dynamicweb.Content.Items;
18
19 @functions{
20 void RenderErhvervsTypeCheckboxes(string productGroupFilter)
21 {
22 <div class="col-xs-6 col-md-4">
23 <div class="checkbox">
24 <label>
25 <input type="checkbox" name="propertytype" value="bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)" />
26 <span>Bolig/erhverv</span>
27 </label>
28 </div>
29 <div class="checkbox">
30 <label>
31 <input type="checkbox" name="propertytype" value="erhvervsgrund" />
32 <span>Erhvervsgrund</span>
33 </label>
34 </div>
35 <div class="checkbox">
36 <label>
37 <input type="checkbox" name="propertytype" value="boligudlejning" />
38 <span>Boligudlejningsejendom</span>
39 </label>
40 </div>
41 <div class="checkbox">
42 <label>
43 <input type="checkbox" name="propertytype" value="kontor, klinik, kontorhotel, showroom, undervisningslokaler" />
44 <span>Kontor</span>
45 </label>
46 </div>
47 </div>
48 <div class="col-xs-6 col-md-4">
49 <div class="checkbox">
50 <label>
51 <input type="checkbox" name="propertytype" value="butik / detail, butik / detailhandel" />
52 <span>Butik/detailhandel</span>
53 </label>
54 </div>
55 <div class="checkbox">
56 <label>
57 <input type="checkbox" name="propertytype" value="industri / logistik, håndværk, industri, kontor / lager, logistik" />
58 <span>Produktion/lager</span>
59 </label>
60 </div>
61 <div class="checkbox">
62 <label>
63 <input type="checkbox" name="propertytype" value="hotel - kursusejendom, restaurant" />
64 <span>Hotel og restaurant</span>
65 </label>
66 </div>
67 <div class="checkbox">
68 <label>
69 <input type="checkbox" name="propertytype" value="projekt ejendom" />
70 <span>Projektejendom</span>
71 </label>
72 </div>
73 </div>
74 <div class="col-xs-6 col-md-4">
75 <div class="checkbox">
76 <label>
77 <input type="checkbox" name="propertytype" value="andet" />
78 <span>Andet</span>
79 </label>
80 </div>
81 </div>
82
83 <input type="hidden" name="propertycategory" value="erhverv, udlejning" />
84 <input type="hidden" name="filtrering" value="@productGroupFilter" />
85 }
86 void RenderBoligtypeCheckboxes()
87 {
88 <div class="col-6 col-md-4">
89 <div class="checkbox">
90 <label>
91 <input type="checkbox" name="propertytype" value="villa" />
92 <span>Villa</span>
93 </label>
94 </div>
95 <div class="checkbox">
96 <label>
97 <input type="checkbox" name="propertytype" value="rækkehus" />
98 <span>Rækkehus</span>
99 </label>
100 </div>
101 <div class="checkbox">
102 <label>
103 <input type="checkbox" name="propertytype" value="villalejlighed" />
104 <span>Villalejlighed</span>
105 </label>
106 </div>
107 <div class="checkbox">
108 <label>
109 <input type="checkbox" name="propertytype" value="andelsbolig" />
110 <span>Andelsbolig</span>
111 </label>
112 </div>
113 </div>
114 <div class="col-6 col-md-4">
115 <div class="checkbox">
116 <label>
117 <input type="checkbox" name="propertytype" value="fritidshus, fritidsbolig" />
118 <span>Fritidsbolig</span>
119 </label>
120 </div>
121 <div class="checkbox">
122 <label>
123 <input type="checkbox" name="propertytype" value="ejerlejlighed" class="specialOption" data-disable-slider="#grundareal" data-disable-slider-ranges="#grundarealmin,#grundarealmax" />
124 <span>Ejerlejlighed</span>
125 </label>
126 </div>
127 <div class="checkbox">
128 <label>
129 <input type="checkbox" name="propertytype" value="helårsgrund" class="specialOption" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" />
130 <span>Helårsgrund</span>
131 </label>
132 </div>
133 <div class="checkbox">
134 <label>
135 <input type="checkbox" name="propertytype" value="fritidsgrund" class="specialOption" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" />
136 <span>Fritidsgrund</span>
137 </label>
138 </div>
139 </div>
140 <div class="col-6 col-md-4">
141 <div class="checkbox">
142 <label>
143 <input type="checkbox" name="propertytype" value="landejendom, lystejendom" class="specialOption" data-disable-checkbox="true" />
144 <span>Landejendom</span>
145 </label>
146 </div>
147 <div class="checkbox">
148 <label>
149 <input type="checkbox" name="propertytype" value="erhverv" class="specialOption" data-disable-checkbox="true" data-disable-slider="#roomsslider" data-disable-slider-ranges="#roomsmin" />
150 <span>Erhverv</span>
151 </label>
152 </div>
153 </div>
154 }
155
156 void RenderChecked(string queryString)
157 {
158 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString)
159 {
160 @("checked")
161 }
162 }
163
164 void RenderBoligtypeCheckboxesDropdown()
165 {
166 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){
167 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" },
168 { "Andelsbolig", "andelsbolig" }
169 };
170 foreach (KeyValuePair<string, string> type in propertyTypes)
171 {
172 bool ischecked = false;
173 string[] propertytypeSplit = new string[0];
174 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
175 {
176 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
177 }
178 foreach (var propertytypeParams in propertytypeSplit)
179 {
180 if (propertytypeParams == type.Value)
181 {
182 ischecked = true;
183 }
184 }
185 <li>
186 <label class="checkbox-container d-flex">
187 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
188 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue js-datavalue js-count" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
189 <span class="checkmark grey"></span>
190 </label>
191 </li>
192 }
193
194 <li>
195 <label class="checkbox-container d-flex">
196 @Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")
197 @{
198 bool blboligcheck = false;
199 }
200 @if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
201 {
202 blboligcheck = true;
203 }
204 <input type="checkbox" name="propertycategory" value="Blandet Bolig/Erhverv" class="specialOption js-input-check js-datavalue js-count" data-disable-checkbox="true" data-disable-slider="#roomsslider" data-disable-slider-ranges="#roomsmin" checked="@blboligcheck" />
205 <span class="checkmark grey"></span>
206 </label>
207 </li>
208
209 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){
210 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" },
211 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" }
212 };
213 foreach (KeyValuePair<string, string> type in propertyTypes2)
214 {
215 bool ischecked = false;
216 string[] propertytypeSplit2 = new string[0];
217 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
218 {
219 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
220 }
221 foreach (var propertytypeParams in propertytypeSplit2)
222 {
223 if (propertytypeParams == type.Value)
224 {
225 ischecked = true;
226 }
227 }
228 <li>
229 <label class="checkbox-container d-flex">
230 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
231 @if (type.Value == "ejerlejlighed")
232 {
233 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-disable-slider="#grundareal" data-disable-slider-ranges="#grundarealmin,#grundarealmax" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
234 }
235 else if (type.Value == "helårsgrund")
236 {
237 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
238 }
239 else if (type.Value == "fritidsgrund")
240 {
241 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
242 }
243 else
244 {
245 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
246 }
247 <span class="checkmark grey"></span>
248 </label>
249 </li>
250 }
251 }
252
253 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false)
254 {
255 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
256 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" },
257 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" }
258 };
259 var submitonchange = "";
260 if (submitOnChange)
261 {
262 submitonchange = "onchange='submitFilter()'";
263 }
264
265 foreach (KeyValuePair<string, string> type in erhverType)
266 {
267 string ischecked = "";
268 string[] olineParamsSplit = new string[0];
269 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
270 {
271 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
272 }
273 foreach (var olineParams in olineParamsSplit)
274 {
275 if (olineParams == type.Value)
276 {
277 ischecked = "checked";
278 }
279 }
280
281 <li>
282 <label class="checkbox-container d-flex">
283 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
284 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" @submitonchange @ischecked />
285 <span class="checkmark grey"></span>
286 </label>
287 </li>
288 }
289
290
291 bool ischeckedpropertycat = false;
292 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"]))
293 {
294 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
295 {
296 ischeckedpropertycat = true;
297 }
298 }
299 <li>
300 <label class="checkbox-container">
301 @Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")
302 <input type="checkbox" name="propertycategory" value="Blandet Bolig/Erhverv" class="js-input-check datavalue" data-val="Blandet Bolig/Erhverv" onchange="submitFilter()" checked="@ischeckedpropertycat" />
303 <span class="checkmark grey"></span>
304 </label>
305 </li>
306 }
307
308 void RenderBoligTypeErhvervInvest(bool submitOnChange = false)
309 {
310 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
311 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" },
312 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" }
313 };
314
315 foreach (KeyValuePair<string, string> type in erhverType)
316 {
317 bool ischecked = false;
318 string[] olineParamsSplit = new string[0];
319 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
320 {
321 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
322 }
323 foreach (var olineParams in olineParamsSplit)
324 {
325 if (olineParams == type.Value)
326 {
327 ischecked = true;
328 }
329 }
330
331 <li>
332 <label class="checkbox-container">
333 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
334 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
335 <span class="checkmark grey"></span>
336 </label>
337 </li>
338 }
339 }
340 int GetWebsiteSettingsPageId(string pageSysName)
341 {
342 int sideId = 0;
343
344 var pw = Dynamicweb.Frontend.PageView.Current();
345
346 string settingsItemId = "1";
347
348 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true")
349 {
350 settingsItemId = "2";
351 }
352
353 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId);
354
355 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName))
356 {
357 return sideId;
358 }
359
360 string boligsideLink = settingsItem[pageSysName] as String;
361 string linkPrefix = "Default.aspx?ID=";
362
363 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
364 {
365 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
366 }
367
368 return sideId;
369 }
370
371 int GetPageSettingsPageId(string pageSysName)
372 {
373 int sideId = 0;
374
375 var pw = Dynamicweb.Frontend.PageView.Current();
376
377 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName))
378 {
379 return sideId;
380 }
381
382 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String;
383 string linkPrefix = "Default.aspx?ID=";
384
385 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
386 {
387 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
388 }
389
390 return sideId;
391 }
392 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname)
393 {
394 <select class="form-control d-block d-lg-none mb-10 @className" onchange="submitFilter()" name="@inputname">
395 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder." + name + "", "" + name + "")</option>
396
397 @for (var i = 0; i <= max; i += step)
398 {
399 var selected = string.Empty;
400 var current = string.Empty;
401 if (i == max)
402 {
403 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
404 {
405 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")+</option>
406 }
407 else
408 {
409 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")+</option>
410 }
411 }
412 else
413 {
414 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
415 {
416 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")</option>
417 }
418 else
419 {
420 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
421 }
422 }
423 }
424 </select>
425 }
426
427 void RenderTopFilter(string parameter)
428 {
429 if (parameter == "pricemin" || parameter == "pricemax")
430 {
431 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"]))
432 {
433 if (parameter == "pricemin")
434 {
435 @("<div class='search-terms' id='priceFilter'>")
436 @("Pris ") @Dynamicweb.Context.Current.Request[parameter]
437 }
438
439 else
440 {
441 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="pricemin,pricemax"></i>
442 @("</div>")
443 }
444 }
445 }
446
447 else if (parameter == "subsidymin" || parameter == "subsidymax")
448 {
449 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"]))
450 {
451 if (parameter == "subsidymin")
452 {
453 @("<div class='search-terms' id='subsidyFilter'>")
454 @("Årlig leje ") @Dynamicweb.Context.Current.Request[parameter]
455 }
456
457 else
458 {
459 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidymin,subsidymax"></i>
460 @("</div>")
461 }
462 }
463 }
464 else if (parameter == "etagearealmin" || parameter == "etagearealmax")
465 {
466 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"]))
467 {
468 if (parameter == "etagearealmin")
469 {
470 @("<div class='search-terms' id='etagearealFilter'>")
471 @("Etageareal ") @Dynamicweb.Context.Current.Request[parameter]
472 }
473
474 else
475 {
476 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="etagearealmin,etagearealmax"></i>
477 @("</div>")
478 }
479 }
480 }
481
482 else if (parameter == "grundarealmin" || parameter == "grundarealmax")
483 {
484 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"]))
485 {
486 if (parameter == "grundarealmin")
487 {
488 @("<div class='search-terms' id='grundarealFilter'>")
489 @("Grundareal ") @Dynamicweb.Context.Current.Request[parameter]
490 }
491
492 else
493 {
494 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="grundarealmin,grundarealmax"></i>
495 @("</div>")
496 }
497 }
498 }
499
500 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax")
501 {
502 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"]))
503 {
504 if (parameter == "subsidykvmmin")
505 {
506 @("<div class='search-terms' id='subsidykvmFilter'>")
507 @("Årlig leje kvm ") @Dynamicweb.Context.Current.Request[parameter]
508 }
509
510 else
511 {
512 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidykvmmin,subsidykvmmax"></i>
513 @("</div>")
514 }
515 }
516 }
517
518 else if (parameter == "olinecategory")
519 {
520
521 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"]))
522 {
523 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
524 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" },
525 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"},
526 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" },
527 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" }
528 };
529
530
531 foreach (var er in erhverType)
532 {
533 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
534 {
535 <div class="search-terms" id="@parameter">
536 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
537 </div>
538 }
539 }
540 }
541 }
542 else if (parameter == "propertycategory")
543 {
544
545 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"]))
546 {
547 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
548 { "propertycategory", "Blandet Bolig/Erhverv" }
549 };
550
551 foreach (var er in erhverType)
552 {
553 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value)
554 {
555 <div class="search-terms" id="@parameter">
556 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
557 </div>
558 }
559 }
560 }
561 }
562 else if (parameter == "search")
563 {
564 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"]))
565 {
566 <div class="search-terms" id="@parameter">
567 @Dynamicweb.Context.Current.Request[parameter] <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter"></i>
568 </div>
569 }
570 }
571 else
572 {
573 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]))
574 {
575 Dictionary<string, string>
576 ubudsform = new Dictionary<string, string>
577 (){
578 {"salg", "Salg" }, { "leje","Leje" }
579 };
580
581 foreach (var er in ubudsform)
582 {
583 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
584 {
585 <div class="search-terms" id="@parameter">
586 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
587 </div>
588 }
589 }
590
591
592 }
593 }
594 }
595
596 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString)
597 {
598 var selected = "";
599 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue)
600 {
601 selected = "selected";
602 }
603
604 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected);
605
606 @current
607 }
608
609 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "")
610 {
611 <div class="main-search-form frontpage @cssClasses">
612 <div class="dropdown-overlay"></div>
613 <div class="row mb-3 align-items-center">
614 <div class="col-xs-12 col-md-3 border-right">
615 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
616 </div>
617 <div class="col-xs-12 col-md-9 home-count d-none d-md-block">
618 <span class="search-count" id="searchCounter">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span>
619 </div>
620 </div>
621
622 <form id="main-search-frontpage" class="searchbar-wrapper" action="/Default.aspx" method="GET">
623 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId-frontpage" disabled="disabled" />
624 <div class="row form-wrapper no-gutters">
625
626 <div class="col-xs-12 col-md-5 col-searchbar">
627 <div class="searchbar">
628 <input type="text" name="@querySearchNameAttr" id="searchfield-frontpage" class="search-input" placeholder="Postnummer, by, vej eller sagsnummer" tabindex="1" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch)" />
629 <input type="hidden" id="zipcodefrom-frontpage" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" />
630 <input type="hidden" id="zipcodeto-frontpage" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" />
631 </div>
632 </div>
633 <div class="col-xs-12 col-md-5">
634 <div class="row no-gutters">
635 <div class="col-xs-12 col-md-6 input-col">
636 <div class="dropdown w-overlay">
637 <button class="btn btn-dropdown dropdown-toggle reverse position-absolute-md" type="button" id="Boligtype-frontpage" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
638 @Translate("Smartpage:Search.Boligtype", "Boligtype")
639 </button>
640 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
641 <ul class="bolig-dropdown list-unstyled">
642 @{
643 RenderBoligtypeCheckboxesDropdown();
644 }
645 </ul>
646 <span class="border-fat"></span>
647 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
648 </div>
649
650 </div>
651
652 </div>
653 <div class="col-xs-12 col-md-6 input-col">
654 <div class="dropdown w-overlay">
655 <button class="btn btn-dropdown dropdown-toggle reverse position-absolute-md" type="button" id="Pris-frontpage" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
656 @Translate("Smartpage:Search.Pris", "Pris")
657 </button>
658 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris">
659 <input type="text" class="form-control mb-10 js-auto-thousand js-pricemin-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MinPris","Min. pris")' />
660 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
661 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
662 @for (var i = 0; i <= 10000000; i += 100000)
663 {
664 if (i == 10000000)
665 {
666 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
667 }
668 else
669 {
670 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
671 }
672 }
673 </select>
674 <input type="hidden" id="pricemin-frontpage" name="pricemin" />
675
676 <input type="text" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris")' />
677 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
678 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
679 @for (var i = 0; i <= 10000000; i += 100000)
680 {
681 if (i == 10000000)
682 {
683 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
684 }
685 else
686 {
687 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
688 }
689 }
690 </select>
691 <input type="hidden" id="pricemax-frontpage" name="pricemax" />
692 <button class="btn btn-primary js-close-dropdown mt-3">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
693 </div>
694 </div>
695 </div>
696 </div>
697 </div>
698 <div class="col-xs-12 col-md-2 d-none d-md-block">
699 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
700 </div>
701 </div>
702
703 <div class="row moresearch-btn no-gutters">
704 <div class="col-sm-12">
705 <div class="row align-items-center no-gutters">
706 <div class="col-12 col-md-4">
707 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch" aria-expanded="false" aria-controls="moreSearch">
708 <span class="moreSearch-text"><i class="fas fa-plus open-close"></i> <span class="not-open">@Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")</span> <span class="open"><span class="js-filter-count">0</span> @Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt") </span></span>
709 </button>
710 </div>
711 <div class="col-6 col-md-2 mb-xs-4">
712 <a class="js-reset reset-btn">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
713 </div>
714 </div>
715
716 <div class="collapse" id="moreSearch">
717 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
718 <div class="row align-items-end mb-30">
719 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
720 <div class="filter-container row">
721 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
722 <div class="col-6 pr-sm-0 pr-2">
723 <input type="text" name="boligarealmin" id="boligarealmin-frontpage" class="form-control js-boligarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2","Min. m2")' />
724 <select class="form-control js-boligarealmin-frontpage-select js-count">
725 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
726 @for (var i = 0; i <= 300; i += 10)
727 {
728 if (i == 300)
729 {
730 <option value="@i">@i+</option>
731 }
732 else
733 {
734 <option value="@i">@i</option>
735 }
736 }
737 </select>
738 </div>
739 <div class="col-6 pl-sm-0 pl-2">
740 <input type="text" name="boligarealmax" id="boligarealmax-frontpage" class="form-control js-boligarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2")' />
741 <select class="form-control js-boligarealmax-frontpage-select js-count">
742 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
743 @for (var i = 0; i <= 300; i += 10)
744 {
745 if (i == 300)
746 {
747 <option value="@i">@i+</option>
748 }
749 else
750 {
751 <option value="@i">@i</option>
752 }
753 }
754 </select>
755 </div>
756 </div>
757 </div>
758 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
759 <div class="filter-container row">
760 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
761 <div class="col-6 pr-sm-0 pr-2">
762 <input type="text" name="grundarealmin" id="grundarealmin-frontpage" class="form-control js-grundarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2","Min. m2")' />
763 <select class="form-control js-grundarealmin-frontpage-select js-count">
764 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
765 @for (var i = 0; i <= 10000; i += 100)
766 {
767 if (i == 10000)
768 {
769 <option value="@i">@i+</option>
770 }
771 else
772 {
773 <option value="@i">@i</option>
774 }
775 }
776 </select>
777 </div>
778 <div class="col-6 pl-sm-0 pl-2">
779 <input type="text" name="grundarealmax" id="grundarealmax-frontpage" class="form-control js-grundarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2")' />
780 <select class="form-control js-grundarealmax-frontpage-select js-count">
781 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
782 @for (var i = 0; i <= 10000; i += 100)
783 {
784 if (i == 10000)
785 {
786 <option value="@i">@i+</option>
787 }
788 else
789 {
790 <option value="@i">@i</option>
791 }
792 }
793 </select>
794 </div>
795 </div>
796 </div>
797 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
798 <div class="filter-container row">
799 <label class="d-block col-12">Antal rum</label>
800
801 <div class="col-6 pr-sm-0 pr-2">
802 <select name="roomsmin" id="roomsmin-frontpage" class="form-control reverse js-count">
803 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
804 <option value="1">1</option>
805 <option value="2">2</option>
806 <option value="3">3</option>
807 <option value="4">4</option>
808 <option value="5+">5+</option>
809 </select>
810 </div>
811 <div class="col-6 pl-sm-0 pl-2">
812 <select name="roomsmax" id="roomsmax-frontpage" class="form-control reverse js-count">
813 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
814 <option value="1">1</option>
815 <option value="2">2</option>
816 <option value="3">3</option>
817 <option value="4">4</option>
818 <option value="5+">@Translate("Smartpage:Rooms.5", "5")</option>
819 </select>
820 </div>
821 </div>
822 </div>
823 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
824 <div class="row">
825 <div class="col-12">
826 <div class="filter-container">
827 <label class="d-block">Energimærke</label>
828 <select name="energylabel" id="energylabel-frontpage" class="form-control reverse js-count">
829 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
830 <option value="01">G</option>
831 <option value="02">F</option>
832 <option value="03">E</option>
833 <option value="04">D</option>
834 <option value="05">C</option>
835 <option value="06">B</option>
836 <option value="07">A</option>
837 <option value="08">A2010</option>
838 <option value="09">A2015</option>
839 <option value="10">A2020+</option>
840 </select>
841 </div>
842 </div>
843 </div>
844 </div>
845 <div class="col-12 col-sm-6 col-lg-3 mt-3">
846 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
847 <div class="filter-container row">
848 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
849 <div class="col-6 pr-sm-0 pr-2">
850 <input type="text" name="subsidymin" id="subsidymin-frontpage" class="form-control js-subsidymin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK")' />
851 <select class="form-control js-subsidymin-frontpage-select js-count">
852 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
853 @for (var i = 0; i <= 25000; i += 1250)
854 {
855 if (i == 25000)
856 {
857 <option>@Convert.ToInt32(i).ToString("N0")+</option>
858 }
859 else
860 {
861 <option>@Convert.ToInt32(i).ToString("N0")</option>
862 }
863 }
864 </select>
865 </div>
866 <div class="col-6 pl-sm-0 pl-2">
867 <input type="text" name="subsidymax" id="subsidymax-frontpage" class="form-control js-subsidymax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK")' />
868 <select class="form-control js-subsidymax-frontpage-select js-count">
869 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
870 @for (var i = 0; i <= 25000; i += 1250)
871 {
872 if (i == 25000)
873 {
874 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
875 }
876 else
877 {
878 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
879 }
880 }
881 </select>
882 </div>
883 </div>
884 </div>
885 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0">
886 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
887 </div>
888 </div>
889 </div>
890 </div>
891 </div>
892
893 <div class="row d-block d-md-none form-wrapper no-gutters">
894 <div class="col-xs-12 col-md-2">
895 <button type="submit" class="btn btn-block btn-search btn-mobile-search">@Translate("Smartpage:Search.SøgBolig", "Søg Bolig")<i class="fa fa-search cta-icon"></i></button>
896 </div>
897 </div>
898 </form>
899 <div class="front-page-actions d-md-none">
900 <div>
901 <button class="btn btn-block btn-search btn-mobile-search js-search-mobile">@Translate("Smartpage:Search.SøgBolig", "Søg Bolig")<i class="fa fa-search cta-icon"></i></button>
902 </div>
903 <div>
904 @{
905 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : "";
906 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER");
907 <form method="GET" action="/Default.aspx">
908 <input name="id" value="@brokerSearchId" type="hidden" />
909 <div class="icon-wrapper-wclick">
910 <i class="fas fa-search ta-submit-on-icon-click"></i>
911 <input class="box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter" name="q" type="text" placeholder="@ctaText" onfocus="this.placeholder = ''" onblur="this.placeholder='@ctaText'" />
912 </div>
913 </form>
914 }
915 </div>
916 <div>
917 <a href="javascript:panelSalgsvurdering('Hovedmenu')" class="btn btn-orange btn-block">@Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING")<i class="cta-icon fa fa-angle-right"></i></a>
918 </div>
919 </div>
920 </div>
921
922 }
923 }
924 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel>
925 @using Dynamicweb.Frontend.Navigation
926 @using Dynamicweb.Core
927 @using Dynamicweb
928
929 @functions {
930 void RenderSlideMenu(bool erhverv, string maeglersoegning)
931 {
932 <div id="menu" class="main-menu-slide ">
933 <div class="container">
934 <div class="row">
935 <div class="col-12">
936 <span class="menu-headline">MENU</span>
937 </div>
938 <div class="menu-slide">
939 <b></b>
940 </div>
941
942 <div class="col-12 main-slidemenu">
943 @{
944 var navigationSettings = new NavigationSettings();
945 navigationSettings.StartLevel = 1;
946 navigationSettings.StopLevel = 2;
947 navigationSettings.ExpandMode = ExpandMode.All;
948 navigationSettings.RootAreaId = Pageview.Area.ID;
949
950 @Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings)
951 }
952 </div>
953 <div class="col-12 bottom-btns">
954
955 @{
956 string[] maeglerid;
957 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0";
958
959 if (erhverv)
960 {
961 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None);
962 }
963 else
964 {
965 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None);
966 }
967
968 <form method="GET" action="/Default.aspx">
969 <input name="id" value="@maeglerid[1]" type="hidden" />
970 <div class="icon-wrapper-wclick">
971 <i class="fas fa-search ta-submit-on-icon-click"></i>
972 <input class="box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter" name="q" type="text" placeholder='@Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER")' onfocus="this.placeholder = 'FIND MÆGLER'" />
973 </div>
974 </form>
975 }
976 <br />
977 @{
978 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + "";
979 }
980 <a href="javascript:panelSalgsvurdering('@dpmaegler','@Pageview.AreaID');" class="btn btn-block btn-default-invert js-close-menu">Gratis salgsvurdering <i class="cta-icon fa fa-angle-right"></i></a>
981 </div>
982 </div>
983 </div>
984 </div>
985 }
986 }
987 @using System.Text.RegularExpressions
988 @using System.Collections.Generic
989 @using System.Reflection
990 @using Dynamicweb.Rapido.Blocks.Components
991 @using Dynamicweb.Rapido.Blocks.Components.Articles
992 @using Dynamicweb.Rapido.Blocks.Components.Documentation
993 @using Dynamicweb.Rapido.Blocks
994 @using Dynamicweb;
995
996 @functions {
997 void RenderBlockList(List<Block> blocks)
998 {
999 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
1000 blocks = blocks.OrderBy(item => item.SortId).ToList();
1001
1002 foreach (Block item in blocks)
1003 {
1004 if (debug) {
1005 <!-- Block START: @item.Id -->
1006 }
1007
1008 if (item.Design == null)
1009 {
1010 RenderBlock(item);
1011 }
1012 else if (item.Design.RenderType == RenderType.None) {
1013 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
1014
1015 <div class="@cssClass dw-mod">
1016 RenderBlock(item);
1017 </div>
1018 }
1019 else if (item.Design.RenderType != RenderType.Hide)
1020 {
1021 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
1022
1023 if (!item.SkipRenderBlocksList) {
1024 if (item.Design.RenderType == RenderType.Row)
1025 {
1026 <div class="grid grid--align-content-start @cssClass dw-mod" id="Block__@item.Id">
1027 RenderBlock(item);
1028 </div>
1029 }
1030
1031 if (item.Design.RenderType == RenderType.Column)
1032 {
1033 string hidePadding = item.Design.HidePadding ? "u-no-padding" : "";
1034 string size = item.Design.Size ?? "12";
1035 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size;
1036
1037 <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">
1038 RenderBlock(item);
1039 </div>
1040 }
1041
1042 if (item.Design.RenderType == RenderType.Table)
1043 {
1044 <table class="table @cssClass dw-mod" id="Block__@item.Id">
1045 RenderBlock(item);
1046 </table>
1047 }
1048
1049 if (item.Design.RenderType == RenderType.TableRow)
1050 {
1051 <tr class="@cssClass dw-mod" id="Block__@item.Id">
1052 RenderBlock(item);
1053 </tr>
1054 }
1055
1056 if (item.Design.RenderType == RenderType.TableColumn)
1057 {
1058 <td class="@cssClass dw-mod" id="Block__@item.Id">
1059 RenderBlock(item);
1060 </td>
1061 }
1062
1063 if (item.Design.RenderType == RenderType.CardHeader)
1064 {
1065 <div class="card-header @cssClass dw-mod">
1066 RenderBlock(item);
1067 </div>
1068 }
1069
1070 if (item.Design.RenderType == RenderType.CardBody)
1071 {
1072 <div class="card @cssClass dw-mod">
1073 RenderBlock(item);
1074 </div>
1075 }
1076
1077 if (item.Design.RenderType == RenderType.CardFooter)
1078 {
1079 <div class="card-footer @cssClass dw-mod">
1080 RenderBlock(item);
1081 </div>
1082 }
1083 }
1084 else
1085 {
1086 RenderBlock(item);
1087 }
1088 }
1089
1090 if (debug) {
1091 <!-- Block END: @item.Id -->
1092 }
1093 }
1094 }
1095
1096 void RenderBlock(Block item)
1097 {
1098 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
1099
1100 if (item.Template != null)
1101 {
1102 @BlocksPage.RenderTemplate(item.Template)
1103 }
1104
1105 if (item.Component != null)
1106 {
1107 string customSufix = "Custom";
1108 string methodName = item.Component.HelperName;
1109
1110 ComponentBase[] methodParameters = new ComponentBase[1];
1111 methodParameters[0] = item.Component;
1112 Type methodType = this.GetType();
1113
1114 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix);
1115 MethodInfo generalMethod = methodType.GetMethod(methodName);
1116
1117 try {
1118 if (debug) {
1119 <!-- Component: @methodName.Replace("Render", "") -->
1120 }
1121 @customMethod.Invoke(this, methodParameters).ToString();
1122 } catch {
1123 try {
1124 @generalMethod.Invoke(this, methodParameters).ToString()
1125 ;
1126 } catch(Exception ex) {
1127 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex);
1128 }
1129 }
1130 }
1131
1132 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList)
1133 {
1134 RenderBlockList(item.BlocksList);
1135 }
1136 }
1137 }
1138
1139
1140
1141 @* Include the components *@
1142 @using Dynamicweb.Rapido.Blocks.Components
1143 @using Dynamicweb.Rapido.Blocks.Components.General
1144 @using Dynamicweb.Rapido.Blocks
1145 @using System.IO
1146
1147 @* Required *@
1148 @using Dynamicweb.Rapido.Blocks.Components
1149 @using Dynamicweb.Rapido.Blocks.Components.General
1150 @using Dynamicweb.Rapido.Blocks
1151
1152 @functions {
1153 void Render(ComponentBase component)
1154 {
1155 if (component != null)
1156 {
1157 @component.Render(this)
1158 }
1159 }
1160 }
1161
1162 @* Components *@
1163 @using System.Reflection
1164 @using Dynamicweb.Rapido.Blocks.Components.General
1165
1166 @* Component *@
1167
1168 @functions {
1169 void RenderIcon(Icon settings)
1170 {
1171 if (settings != null)
1172 {
1173 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
1174
1175 if (settings.Name != null)
1176 {
1177 if (string.IsNullOrEmpty(settings.Label))
1178 {
1179 <i class="@settings.Prefix @settings.Name @settings.CssClass" @color></i>
1180 }
1181 else
1182 {
1183 if (settings.LabelPosition == IconLabelPosition.Before)
1184 {
1185 <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>
1186 }
1187 else
1188 {
1189 <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>
1190 }
1191 }
1192 }
1193 else if (!string.IsNullOrEmpty(settings.Label))
1194 {
1195 @settings.Label
1196 }
1197 }
1198 }
1199 }
1200
1201 @using System.Reflection
1202 @using Dynamicweb.Rapido.Blocks.Components.General
1203 @using Dynamicweb.Rapido.Blocks.Components
1204 @using Dynamicweb.Core
1205 @using System.Text.RegularExpressions
1206
1207 @* Component *@
1208
1209 @functions {
1210 void RenderButton(Button settings)
1211 {
1212 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
1213 {
1214 Dictionary<string, string> attributes = new Dictionary<string, string>();
1215 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
1216 if (settings.Disabled) {
1217 attributes.Add("disabled", "true");
1218 classList.Add("disabled");
1219 }
1220
1221 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle))
1222 {
1223 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
1224 RenderConfirmDialog(settings);
1225 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true";
1226 }
1227
1228 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1229 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1230 if (!string.IsNullOrEmpty(settings.AltText))
1231 {
1232 attributes.Add("title", settings.AltText);
1233 }
1234 else if (!string.IsNullOrEmpty(settings.Title))
1235 {
1236 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty);
1237 cleanTitle = cleanTitle.Replace(" ", " ");
1238 attributes.Add("title", cleanTitle);
1239 }
1240
1241 var onClickEvents = new List<string>();
1242 if (!string.IsNullOrEmpty(settings.OnClick))
1243 {
1244 onClickEvents.Add(settings.OnClick);
1245 }
1246 if (!string.IsNullOrEmpty(settings.Href))
1247 {
1248 if (settings.Href.Contains("javascript"))
1249 {
1250 settings.Href = settings.Href.Replace("http://", "");
1251 }
1252 onClickEvents.Add("location.href='" + settings.Href + "'");
1253 }
1254 if (onClickEvents.Count > 0)
1255 {
1256 attributes.Add("onClick", string.Join(";", onClickEvents));
1257 }
1258
1259 if (settings.ButtonLayout != ButtonLayout.None)
1260 {
1261 classList.Add("btn");
1262 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
1263 if (btnLayout == "linkclean")
1264 {
1265 btnLayout = "link-clean"; //fix
1266 }
1267 classList.Add("btn--" + btnLayout);
1268 }
1269
1270 if (settings.Icon == null)
1271 {
1272 settings.Icon = new Icon();
1273 }
1274
1275 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : "";
1276 settings.Icon.Label = settings.Title;
1277
1278 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower());
1279
1280 <button class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>@{RenderIcon(settings.Icon);}</button>
1281 }
1282 }
1283
1284 void RenderConfirmDialog(Button settings)
1285 {
1286 Modal confirmDialog = new Modal {
1287 Id = settings.Id,
1288 Width = ModalWidth.Sm,
1289 Heading = new Heading
1290 {
1291 Level = 2,
1292 Title = settings.ConfirmTitle
1293 },
1294 BodyText = settings.ConfirmText
1295 };
1296
1297 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"});
1298 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick });
1299
1300 RenderModal(confirmDialog);
1301 }
1302 }
1303 @using System.Reflection
1304 @using Dynamicweb.Rapido.Blocks.Components.General
1305 @using Dynamicweb.Rapido.Blocks.Components
1306 @using Dynamicweb.Core
1307
1308 @* Component *@
1309
1310 @functions{
1311 void RenderLink(Link settings)
1312 {
1313 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
1314 {
1315 Dictionary<string, string> attributes = new Dictionary<string, string>();
1316 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
1317 if (settings.Disabled)
1318 {
1319 attributes.Add("disabled", "true");
1320 classList.Add("disabled");
1321 }
1322
1323 if (!string.IsNullOrEmpty(settings.AltText))
1324 {
1325 attributes.Add("title", settings.AltText);
1326 }
1327 else if (!string.IsNullOrEmpty(settings.Title))
1328 {
1329 attributes.Add("title", settings.Title);
1330 }
1331
1332 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1333 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1334 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); }
1335 attributes.Add("href", settings.Href);
1336
1337 if (settings.ButtonLayout != ButtonLayout.None)
1338 {
1339 classList.Add("btn");
1340 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
1341 if (btnLayout == "linkclean")
1342 {
1343 btnLayout = "link-clean"; //fix
1344 }
1345 classList.Add("btn--" + btnLayout);
1346 }
1347
1348 if (settings.Icon == null)
1349 {
1350 settings.Icon = new Icon();
1351 }
1352 settings.Icon.Label = settings.Title;
1353
1354 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None)
1355 {
1356 settings.Rel = LinkRelType.Noopener;
1357 }
1358 if (settings.Target != LinkTargetType.None)
1359 {
1360 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower());
1361 }
1362 if (settings.Download)
1363 {
1364 attributes.Add("download", "true");
1365 }
1366 if (settings.Rel != LinkRelType.None)
1367 {
1368 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower());
1369 }
1370
1371 <a class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>Render(settings.Icon);</a>
1372 }
1373 }
1374 }
1375
1376 @using System.Reflection
1377 @using Dynamicweb.Rapido.Blocks.Components
1378 @using Dynamicweb.Rapido.Blocks.Components.General
1379 @using Dynamicweb.Rapido.Blocks
1380
1381 @* Component *@
1382
1383 @functions{
1384 void RenderRating(Rating settings)
1385 {
1386 if (settings.Score > 0)
1387 {
1388 int rating = settings.Score;
1389 string iconType = "fa-star";
1390
1391 switch (settings.Type.ToString()) {
1392 case "Stars":
1393 iconType = "fa-star";
1394 break;
1395 case "Hearts":
1396 iconType = "fa-heart";
1397 break;
1398 case "Lemons":
1399 iconType = "fa-lemon";
1400 break;
1401 case "Bombs":
1402 iconType = "fa-bomb";
1403 break;
1404 }
1405
1406 <div class="u-ta-right">
1407 @for (int i = 0; i < settings.OutOf; i++)
1408 {
1409 <i class="@(rating > i ? "fas" : "far") @iconType"></i>
1410 }
1411 </div>
1412 }
1413 }
1414 }
1415 @using System.Reflection
1416 @using Dynamicweb.Rapido.Blocks.Components.General
1417 @using Dynamicweb.Rapido.Blocks.Components
1418
1419
1420 @* Component *@
1421
1422 @functions{
1423 void RenderNavigation(Navigation settings) {
1424 RenderNavigation(new
1425 {
1426 id = settings.Id,
1427 cssclass = settings.CssClass,
1428 startLevel = settings.StartLevel,
1429 endlevel = settings.EndLevel,
1430 expandmode = settings.Expandmode,
1431 sitemapmode = settings.SitemapMode,
1432 template = settings.Template
1433 });
1434 }
1435 }
1436
1437 @using Dynamicweb.Rapido.Blocks.Components.General
1438 @using Dynamicweb.Rapido.Blocks.Components
1439
1440 @* Component *@
1441
1442 @functions {
1443 void RenderLeftNavigation(LeftNavigation settings) {
1444 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id;
1445 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template;
1446 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel;
1447 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel;
1448 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode;
1449
1450 <div class="grid__cell">
1451 RenderNavigation(settings);
1452 </div>
1453 }
1454 }
1455
1456 @using System.Reflection
1457 @using Dynamicweb.Rapido.Blocks.Components.General
1458 @using Dynamicweb.Core
1459
1460 @* Component *@
1461
1462 @functions {
1463 void RenderHeading(Heading settings)
1464 {
1465 if (settings != null && !string.IsNullOrEmpty(settings.Title))
1466 {
1467 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
1468 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div";
1469
1470 @("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">")
1471 if (!string.IsNullOrEmpty(settings.Link))
1472 {
1473 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None });
1474 }
1475 else
1476 {
1477 if (settings.Icon == null)
1478 {
1479 settings.Icon = new Icon();
1480 }
1481 settings.Icon.Label = settings.Title;
1482 RenderIcon(settings.Icon);
1483 }
1484 @("</" + tagName + ">");
1485 }
1486 }
1487 }
1488
1489 @using Dynamicweb.Rapido.Blocks.Components
1490 @using Dynamicweb.Rapido.Blocks.Components.General
1491 @using Dynamicweb.Rapido.Blocks
1492 @using Dynamicweb.Frontend
1493
1494 @* Component *@
1495
1496 @functions {
1497 void RenderImage(Image settings)
1498 {
1499 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None)
1500 {
1501 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
1502 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); }
1503
1504 if (settings.Caption != null)
1505 {
1506 @:<div>
1507 }
1508
1509 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower();
1510 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower();
1511
1512 <div class="image-filter image-filter--@primaryFilterClass u-position-relative dw-mod" @ComponentMethods.AddAttributes(optionalAttributes)>
1513 <div class="image-filter image-filter--@secondaryFilterClass dw-mod">
1514 @if (settings.Link != null)
1515 {
1516 <a href="@settings.Link">
1517 RenderTheImage(settings);
1518 </a>
1519 }
1520 else
1521 {
1522 RenderTheImage(settings);
1523 }
1524 </div>
1525 </div>
1526
1527 if (settings.Caption != null)
1528 {
1529 <span class="image-caption dw-mod">@settings.Caption</span>
1530 @:</div>
1531 }
1532 }
1533 else
1534 {
1535 if (settings.Caption != null)
1536 {
1537 @:<div>
1538 }
1539 if (!string.IsNullOrEmpty(settings.Link))
1540 {
1541 <a href="@settings.Link">
1542 RenderTheImage(settings);
1543 </a>
1544 }
1545 else
1546 {
1547 RenderTheImage(settings);
1548 }
1549
1550 if (settings.Caption != null)
1551 {
1552 <span class="image-caption dw-mod">@settings.Caption</span>
1553 @:</div>
1554 }
1555 }
1556 }
1557
1558 void RenderTheImage(Image settings)
1559 {
1560 if (settings != null)
1561 {
1562 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg";
1563 string placeholderImage = "/Files/Images/placeholder.gif";
1564 string imageEngine = "/Admin/Public/GetImage.ashx?";
1565
1566 string imageStyle = "";
1567
1568 switch (settings.Style)
1569 {
1570 case ImageStyle.Ball:
1571 imageStyle = "grid__cell-img--ball";
1572 break;
1573
1574 case ImageStyle.Triangle:
1575 imageStyle = "grid__cell-img--triangle";
1576 break;
1577 }
1578
1579 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle)
1580 {
1581 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop;
1582
1583 if (settings.ImageDefault != null)
1584 {
1585 settings.ImageDefault.Height = settings.ImageDefault.Width;
1586 }
1587 if (settings.ImageMedium != null)
1588 {
1589 settings.ImageMedium.Height = settings.ImageMedium.Width;
1590 }
1591 if (settings.ImageSmall != null)
1592 {
1593 settings.ImageSmall.Height = settings.ImageSmall.Width;
1594 }
1595 }
1596
1597 string defaultImage = imageEngine;
1598 string imageSmall = "";
1599 string imageMedium = "";
1600
1601 if (settings.DisableImageEngine)
1602 {
1603 defaultImage = settings.Path;
1604 }
1605 else
1606 {
1607 if (settings.ImageDefault != null)
1608 {
1609 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault);
1610
1611 if (settings.Path.GetType() != typeof(string))
1612 {
1613 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
1614 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
1615 }
1616 else
1617 {
1618 defaultImage += settings.Path != null ? "Image=" + settings.Path : "";
1619 }
1620
1621 defaultImage += "&AlternativeImage=" + alternativeImage;
1622 }
1623
1624 if (settings.ImageSmall != null)
1625 {
1626 imageSmall = "data-src-small=\"" + imageEngine;
1627 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall);
1628
1629 if (settings.Path.GetType() != typeof(string))
1630 {
1631 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
1632 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
1633 }
1634 else
1635 {
1636 imageSmall += settings.Path != null ? "Image=" + settings.Path : "";
1637 }
1638
1639 imageSmall += "&alternativeImage=" + alternativeImage;
1640
1641 imageSmall += "\"";
1642 }
1643
1644 if (settings.ImageMedium != null)
1645 {
1646 imageMedium = "data-src-medium=\"" + imageEngine;
1647 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium);
1648
1649 if (settings.Path.GetType() != typeof(string))
1650 {
1651 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
1652 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
1653 }
1654 else
1655 {
1656 imageMedium += settings.Path != null ? "Image=" + settings.Path : "";
1657 }
1658
1659 imageMedium += "&alternativeImage=" + alternativeImage;
1660
1661 imageMedium += "\"";
1662 }
1663 }
1664
1665 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
1666 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); }
1667 if (!string.IsNullOrEmpty(settings.Title))
1668 {
1669 optionalAttributes.Add("alt", settings.Title);
1670 optionalAttributes.Add("title", settings.Title);
1671 }
1672
1673 if (settings.DisableLazyLoad)
1674 {
1675 <img id="@settings.Id" class="@imageStyle @settings.CssClass dw-mod" src="@defaultImage" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) />
1676 }
1677 else
1678 {
1679
1680 <img id="@settings.Id" class="@imageStyle @settings.CssClass dw-mod" loading="lazy" src="@defaultImage" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) />
1681 }
1682 }
1683 }
1684 }
1685 @using System.Reflection
1686 @using Dynamicweb.Rapido.Blocks.Components.General
1687 @using Dynamicweb.Rapido.Blocks.Components
1688
1689 @* Component *@
1690
1691 @functions {
1692 void RenderHiddenField(HiddenField settings) {
1693 var attributes = new Dictionary<string, string>();
1694 attributes.Add("type", "hidden");
1695 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1696 if (settings.Value != null) { attributes.Add("value", settings.Value); }
1697 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1698
1699 <input @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)/>
1700 }
1701 }
1702
1703 @using System.Reflection
1704 @using Dynamicweb.Rapido.Blocks.Components.General
1705 @using Dynamicweb.Rapido.Blocks.Components
1706
1707 @* Component *@
1708
1709 @functions {
1710 void RenderRadioButtonField(RadioButtonField settings)
1711 {
1712 var attributes = new Dictionary<string, string>();
1713 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id))
1714 {
1715 settings.Id = Guid.NewGuid().ToString("N");
1716 }
1717
1718 /*base settings*/
1719 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
1720 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); }
1721 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); }
1722 if (settings.Disabled) { attributes.Add("disabled", "true"); }
1723 if (settings.Required) { attributes.Add("required", "true"); }
1724 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
1725 /*end*/
1726
1727 attributes.Add("type", "radio");
1728 if (settings.Checked) { attributes.Add("checked", "true"); }
1729 settings.CssClass = "form__control " + settings.CssClass;
1730 if (settings.Value != null) { attributes.Add("value", settings.Value); }
1731
1732 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value);
1733
1734 <div class="form__field-group @settings.WrapperCssClass dw-mod">
1735 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" />
1736 @if (!string.IsNullOrEmpty(settings.Label))
1737 {
1738 <label for="@settings.Id" class="dw-mod">@settings.Label</label>
1739 }
1740 @if (!string.IsNullOrEmpty(settings.HelpText))
1741 {
1742 <small class="form__help-text">@settings.HelpText</small>
1743 }
1744 Render(new NotificationMessage { Message = settings.ErrorMessage });
1745 </div>
1746 }
1747 }
1748 @using System.Reflection
1749 @using Dynamicweb.Rapido.Blocks.Components.General
1750 @using Dynamicweb.Rapido.Blocks.Components
1751
1752 @* Component *@
1753
1754 @functions{
1755 void RenderRadioButtonListField(RadioButtonListField settings)
1756 {
1757 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; }
1758
1759 <div class="form__field-group @settings.WrapperCssClass u-margin-bottom dw-mod" @ComponentMethods.AddAttributes(settings.ExtraAttributes)>
1760 @if (!string.IsNullOrEmpty(settings.Label))
1761 {
1762 <label>@settings.Label</label>
1763 }
1764 @if (!string.IsNullOrEmpty(settings.HelpText))
1765 {
1766 <small class="form__help-text">@settings.HelpText</small>
1767 }
1768
1769 @foreach (var item in settings.Options)
1770 {
1771 if (settings.Required)
1772 {
1773 item.Required = true;
1774 }
1775 if (settings.Disabled)
1776 {
1777 item.Disabled = true;
1778 }
1779 if (!string.IsNullOrEmpty(settings.Name))
1780 {
1781 item.Name = settings.Name;
1782 }
1783 if (settings.Value != null && settings.Value == item.Value)
1784 {
1785 item.Checked = true;
1786 }
1787 if (!string.IsNullOrEmpty(settings.OnClick))
1788 {
1789 item.OnClick += settings.OnClick;
1790 }
1791 if (!string.IsNullOrEmpty(settings.OnChange))
1792 {
1793 item.OnChange += settings.OnChange;
1794 }
1795 if (!string.IsNullOrEmpty(settings.CssClass))
1796 {
1797 item.CssClass += settings.CssClass;
1798 }
1799 Render(item);
1800 }
1801
1802 Render(new NotificationMessage { Message = settings.ErrorMessage });
1803 </div>
1804 }
1805 }
1806 @using Dynamicweb.Rapido.Blocks.Components.General
1807 @using Dynamicweb.Rapido.Blocks.Components
1808
1809 @* Component *@
1810
1811 @functions {
1812 void RenderForm(Form settings) {
1813 if (settings != null)
1814 {
1815 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
1816 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); };
1817 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); };
1818 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); };
1819 var enctypes = new Dictionary<string, string>
1820 {
1821 { "multipart", "multipart/form-data" },
1822 { "text", "text/plain" },
1823 { "application", "application/x-www-form-urlencoded" }
1824 };
1825 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); };
1826 optionalAttributes.Add("method", settings.Method.ToString());
1827
1828 if (!string.IsNullOrEmpty(settings.FormStartMarkup))
1829 {
1830 @settings.FormStartMarkup
1831 }
1832 else
1833 {
1834 @:<form class="@settings.CssClass u-no-margin dw-mod" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>
1835 }
1836
1837 foreach (var field in settings.GetFields())
1838 {
1839 Render(field);
1840 }
1841
1842 @:</form>
1843 }
1844 }
1845 }
1846
1847 @using System.Reflection
1848 @using Dynamicweb.Rapido.Blocks.Components.General
1849 @using Dynamicweb.Rapido.Blocks.Components
1850
1851 @* Component *@
1852
1853 @functions {
1854 void RenderText(Text settings)
1855 {
1856 @settings.Content
1857 }
1858 }
1859
1860 @using System.Reflection
1861 @using Dynamicweb.Rapido.Blocks.Components.General
1862 @using Dynamicweb.Rapido.Blocks.Components
1863
1864
1865 @* Component *@
1866
1867 @functions {
1868 void RenderContentModule(ContentModule settings) {
1869 if (!string.IsNullOrEmpty(settings.Content))
1870 {
1871 @settings.Content
1872 }
1873 }
1874 }
1875
1876 @using System.Reflection
1877 @using Dynamicweb.Rapido.Blocks.Components.General
1878 @using Dynamicweb.Rapido.Blocks.Components
1879
1880
1881 @* Component *@
1882
1883 @functions {
1884 void RenderModal(Modal settings) {
1885 if (settings != null)
1886 {
1887 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
1888
1889 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : "";
1890
1891 <input type="checkbox" id="@(modalId)ModalTrigger" class="modal-trigger" @onchange />
1892
1893 <div class="modal-container">
1894 @if (!settings.DisableDarkOverlay)
1895 {
1896 <label for="@(modalId)ModalTrigger" id="@(modalId)ModalOverlay" class="modal-overlay"></label>
1897 }
1898 <div class="modal modal--@settings.Width.ToString().ToLower() modal-height--@settings.Height.ToString().ToLower()" id="@(modalId)Modal">
1899 @if (settings.Heading != null)
1900 {
1901 if (!string.IsNullOrEmpty(settings.Heading.Title))
1902 {
1903 <div class="modal__header">
1904 RenderHeading(settings.Heading);
1905 </div>
1906 }
1907 }
1908 <div class="modal__body @(settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "")">
1909 @if (!string.IsNullOrEmpty(settings.BodyText))
1910 {
1911 @settings.BodyText
1912 }
1913 @if (settings.BodyTemplate != null)
1914 {
1915 @settings.BodyTemplate
1916 }
1917 @{
1918 var actions = settings.GetActions();
1919 }
1920 </div>
1921 @if (actions.Length > 0)
1922 {
1923 <div class="modal__footer">
1924 @foreach (var action in actions)
1925 {
1926 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") {
1927 action.CssClass += " u-no-margin";
1928 } else {
1929 action.CssClass += " u-full-width u-margin-bottom";
1930 }
1931
1932 Render(action);
1933 }
1934 </div>
1935 }
1936 <label class="modal__close-btn" for="@(modalId)ModalTrigger"></label>
1937 </div>
1938 </div>
1939 }
1940 }
1941 }
1942 @using Dynamicweb.Rapido.Blocks.Components.General
1943
1944 @* Component *@
1945
1946 @functions {
1947 void RenderMediaListItem(MediaListItem settings)
1948 {
1949 <div class="media-list-item @settings.CssClass dw-mod" @(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "")>
1950 @if (!string.IsNullOrEmpty(settings.Label))
1951 {
1952 if (!string.IsNullOrEmpty(settings.Link))
1953 {
1954 Render(new Link
1955 {
1956 Href = settings.Link,
1957 CssClass = "media-list-item__sticker dw-mod",
1958 ButtonLayout = ButtonLayout.None,
1959 Title = settings.Label,
1960 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
1961 });
1962 }
1963 else if (!string.IsNullOrEmpty(settings.OnClick))
1964 {
1965 <span class="media-list-item__sticker dw-mod" onclick="@(settings.OnClick)">
1966 <span class="u-uppercase">@settings.Label</span>
1967 </span>
1968 }
1969 else
1970 {
1971 <span class="media-list-item__sticker media-list-item__sticker--no-link dw-mod">
1972 <span class="u-uppercase">@settings.Label</span>
1973 </span>
1974 }
1975 }
1976 <div class="media-list-item__wrap">
1977 <div class="media-list-item__info dw-mod">
1978 <div class="media-list-item__header dw-mod">
1979 @if (!string.IsNullOrEmpty(settings.Title))
1980 {
1981 if (!string.IsNullOrEmpty(settings.Link))
1982 {
1983 Render(new Link
1984 {
1985 Href = settings.Link,
1986 CssClass = "media-list-item__name dw-mod",
1987 ButtonLayout = ButtonLayout.None,
1988 Title = settings.Title,
1989 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
1990 });
1991 }
1992 else if (!string.IsNullOrEmpty(settings.OnClick))
1993 {
1994 <span class="media-list-item__name dw-mod" onclick="@(settings.OnClick)">@settings.Title</span>
1995 }
1996 else
1997 {
1998 <span class="media-list-item__name media-list-item__name--no-link dw-mod">@settings.Title</span>
1999 }
2000 }
2001
2002 @if (!string.IsNullOrEmpty(settings.Status))
2003 {
2004 <div class="media-list-item__state dw-mod">@settings.Status</div>
2005 }
2006 </div>
2007 @{
2008 settings.InfoTable.CssClass += " media-list-item__parameters-table";
2009 }
2010
2011 Render(settings.InfoTable);
2012 </div>
2013 <div class="media-list-item__actions dw-mod">
2014 <div class="media-list-item__actions-list dw-mod">
2015 @{
2016 var actions = settings.GetActions();
2017
2018 foreach (ButtonBase action in actions)
2019 {
2020 action.ButtonLayout = ButtonLayout.None;
2021 action.CssClass += " media-list-item__action link";
2022
2023 Render(action);
2024 }
2025 }
2026 </div>
2027
2028 @if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title))
2029 {
2030 settings.SelectButton.CssClass += " u-no-margin";
2031
2032 <div class="media-list-item__action-button">
2033 Render(settings.SelectButton);
2034 </div>
2035 }
2036 </div>
2037 </div>
2038 </div>
2039 }
2040 }
2041
2042
2043 @using Dynamicweb.Rapido.Blocks.Components.General
2044 @using Dynamicweb.Rapido.Blocks.Components
2045
2046 @functions {
2047 void RenderTable(Table settings)
2048 {
2049 Dictionary<string, string> attributes = new Dictionary<string, string>();
2050 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
2051
2052 var enumToClasses = new Dictionary<TableDesign, string>
2053 {
2054 { TableDesign.Clean, "table--clean" },
2055 { TableDesign.Bordered, "table--bordered" },
2056 { TableDesign.Striped, "table--striped" },
2057 { TableDesign.Hover, "table--hover" },
2058 { TableDesign.Compact, "table--compact" },
2059 { TableDesign.Condensed, "table--condensed" },
2060 { TableDesign.NoTopBorder, "table--no-top-border" }
2061 };
2062 string tableDesignClass = "";
2063 if (settings.Design != TableDesign.None)
2064 {
2065 tableDesignClass = enumToClasses[settings.Design];
2066 }
2067
2068 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); }
2069
2070 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
2071
2072 <table @ComponentMethods.AddAttributes(resultAttributes)>
2073 @if (settings.Header != null)
2074 {
2075 <thead>
2076 Render(settings.Header);
2077 </thead>
2078 }
2079 <tbody>
2080 @foreach (var row in settings.Rows)
2081 {
2082 Render(row);
2083 }
2084 </tbody>
2085 @if (settings.Footer != null)
2086 {
2087 <tfoot>
2088 Render(settings.Footer);
2089 </tfoot>
2090 }
2091 </table>
2092 }
2093 }
2094 @using Dynamicweb.Rapido.Blocks.Components.General
2095 @using Dynamicweb.Rapido.Blocks.Components
2096
2097 @functions {
2098 void RenderTableRow(TableRow settings)
2099 {
2100 Dictionary<string, string> attributes = new Dictionary<string, string>();
2101 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
2102
2103 var enumToClasses = new Dictionary<TableRowDesign, string>
2104 {
2105 { TableRowDesign.NoBorder, "table__row--no-border" },
2106 { TableRowDesign.Border, "table__row--border" },
2107 { TableRowDesign.TopBorder, "table__row--top-line" },
2108 { TableRowDesign.BottomBorder, "table__row--bottom-line" },
2109 { TableRowDesign.Solid, "table__row--solid" }
2110 };
2111
2112 string tableRowDesignClass = "";
2113 if (settings.Design != TableRowDesign.None)
2114 {
2115 tableRowDesignClass = enumToClasses[settings.Design];
2116 }
2117
2118 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); }
2119
2120 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
2121
2122 <tr @ComponentMethods.AddAttributes(resultAttributes)>
2123 @foreach (var cell in settings.Cells)
2124 {
2125 if (settings.IsHeaderRow)
2126 {
2127 cell.IsHeader = true;
2128 }
2129 Render(cell);
2130 }
2131 </tr>
2132 }
2133 }
2134 @using Dynamicweb.Rapido.Blocks.Components.General
2135 @using Dynamicweb.Rapido.Blocks.Components
2136 @using Dynamicweb.Core
2137
2138 @functions {
2139 void RenderTableCell(TableCell settings)
2140 {
2141 Dictionary<string, string> attributes = new Dictionary<string, string>();
2142 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
2143 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); }
2144 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); }
2145 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); }
2146
2147 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
2148
2149 string tagName = settings.IsHeader ? "th" : "td";
2150
2151 @("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">")
2152 @settings.Content
2153 @("</" + tagName + ">");
2154 }
2155 }
2156 @* <h1>ArticleComponents.cshtml</h1> *@
2157
2158 @{
2159 Context.Current.Response.AddHeader("access-control-allow-origin", "*");
2160
2161 string bodyClass = "";
2162 string template = "real";
2163 string TemplateUrl = "/Files/Templates/Designs/rm/";
2164 string MetaTitle = Model.Title;
2165 string MetaDescription = Model.Description;
2166 string MetaKeywords = Model.Keywords;
2167 string searchClass = "";
2168
2169 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css"));
2170 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}";
2171
2172 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg";
2173
2174 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2");
2175
2176 // Indstillinger
2177 var settings_Frontpage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : "";
2178 var settings_Boligside = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : "";
2179 var settings_Maeglersogning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : "";
2180 var settings_MinSide = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : "";
2181 var settings_Sibling_Site = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : "";
2182 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : "";
2183 var settings_Product_Group = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : "";
2184 var settings_Boligagent = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : "";
2185 var settings_Persondatapolitik = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : "";
2186
2187 // API
2188 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : "";
2189 var settings_BoligListFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : "";
2190 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : "";
2191 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : "";
2192 var settings_BoligCountFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : "";
2193 var settings_BoligMapFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : "";
2194 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"];
2195
2196 // Forside
2197 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : "";
2198 var settings_FrontpageVideo = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : "";
2199 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : "";
2200
2201 // Tracking
2202 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : "";
2203 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"])))
2204 {
2205 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]);
2206 }
2207 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : "";
2208 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : "";
2209 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : "";
2210 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]);
2211 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]);
2212 var settings_Google_Optimize_Id = Converter.ToString(SettingsItem["Google_Optimize_Id"]);
2213
2214 // Indstillinger for brugerfunktioner
2215 var settings_ForgotPwPage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : "";
2216 var settings_NewsletterSignup = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : "";
2217 var settings_CreateUserModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : "";
2218 var settings_LoginModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : "";
2219
2220 int createUserParagraphId = 0;
2221 int loginParagraphId = 0;
2222 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId);
2223 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId);
2224
2225 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv.
2226 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv)
2227 int searchPageId = GetPageSettingsPageId("Boligside");
2228 if (searchPageId == 0)
2229 {
2230 searchPageId = GetWebsiteSettingsPageId("Boligside");
2231 }
2232
2233 int boligsideId = GetPageSettingsPageId("Boligside");
2234 if (boligsideId == 0)
2235 {
2236 boligsideId = GetWebsiteSettingsPageId("Boligside");
2237 }
2238
2239 string productGroupFilter = String.Empty;
2240 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null)
2241 {
2242 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString();
2243 }
2244
2245 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"]))
2246 {
2247 searchClass = "is-frontpage";
2248 }
2249
2250 bool isErhverv = false;
2251 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null)
2252 {
2253 var s = Pageview.Page.PropertyItem["Erhverv"].ToString();
2254 Boolean.TryParse(s, out isErhverv);
2255 }
2256
2257 bool isBrokerPage = false;
2258 if (!string.IsNullOrEmpty(Model.Area.Item.GetString("M_glerGruppeId")))
2259 {
2260 isBrokerPage = true;
2261 bodyClass = ""; // Get rid of transparent header on brokerPage
2262 }
2263
2264 string callTrackingId = Model.Item.GetString("CallTrackingId");
2265
2266 RealEstate.User.Model.BrokerEmployee MyBroker = null;
2267 try
2268 {
2269 var MyB = new RealEstate.User.MyBroker();
2270 MyBroker = MyB.GetMyBroker();
2271 }
2272 catch
2273 {
2274 // Ignore
2275 }
2276
2277 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : "");
2278 string querySearchNameAttr = "search";
2279
2280 // Overwrite search with zipcodeinterval if set
2281 if (Context.Current.Request.QueryString["zipcodeinterval"] != null)
2282 {
2283 querySearch = Context.Current.Request.QueryString["zipcodeinterval"];
2284 querySearchNameAttr = "zipcodeinterval";
2285 }
2286
2287 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : "");
2288 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : "");
2289
2290 Dynamicweb.Security.UserManagement.User user = null;
2291 int userID = 0;
2292 string userName = "";
2293 string userEmail = "";
2294 string userPhone = "";
2295 string userZip = "";
2296 string userAddress = "";
2297
2298 if (Dynamicweb.Security.UserManagement.UserContext.Current.IsLoggedOn)
2299 {
2300 user = Dynamicweb.Security.UserManagement.UserContext.Current.User;
2301 userName = user.Name;
2302 userEmail = user.Email;
2303 userPhone = user.Phone;
2304 userZip = user.Zip;
2305 userAddress = user.Address;
2306 userID = user.ID;
2307 }
2308
2309 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode");
2310 string forgotPwTemplate = "";
2311 string forgotPwSender = "";
2312 string markerColor = "";
2313 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png";
2314
2315 // Important - e-mail templates for forgotPw must be placed in "UserManagement/Login" folder
2316 forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml";
2317 forgotPwSender = "noreply@mailreal.dk";
2318 markerColor = "#213960";
2319
2320 var butikId = string.Empty;
2321 string bEmail = string.Empty;
2322 if (MyBroker != null && MyBroker.Broker != null)
2323 {
2324 butikId = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
2325 bEmail = MyBroker.Broker.Item().GetString("Email");
2326 }
2327
2328 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment"));
2329
2330 var termsMail = "info@realmaeglerne.dk";
2331 }
2332
2333 <!DOCTYPE html>
2334 <html>
2335 <head>
2336 <meta charset="utf-8">
2337 <title>@MetaTitle</title>
2338 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
2339 <meta name="description" content="@MetaDescription">
2340 <meta name="keywords" content="@MetaKeywords">
2341 <meta name="format-detection" content="telephone=no">
2342 <meta http-equiv="Expires" content="60">
2343 <meta name="robots" content="@(Pageview.Area.Noindex ? "noindex" : "index"),@(Pageview.Area.Nofollow ? "nofollow" : "follow")">
2344
2345 @*RICH SNIPPETS*@
2346
2347 @RenderSnippet("OpenGraphTags")
2348 @if (!string.IsNullOrEmpty(settings_Google_Optimize_Id))
2349 {
2350 <!-- Google optimize script-->
2351 <script src="https://www.googleoptimize.com/optimize.js?id=@settings_Google_Optimize_Id"></script>
2352 }
2353 <!-- TrustBox script -->
2354 <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script>
2355 <!-- End TrustBox script -->
2356
2357 <script type="application/ld+json">
2358 {
2359 "context": "https://schema.org/",
2360 "@@type": "WebSite",
2361 "name": "RealMæglerne",
2362 "url": "https://www.realmaeglerne.dk/",
2363 "potentialAction": {
2364 "type": "SearchAction",
2365 "target": "https://www.realmaeglerne.dk/find-maegler?q={search_term_string}",
2366 "query-input": "required name=search_term_string"
2367 }
2368 }
2369 </script>
2370
2371 <script type="application/ld+json">
2372 {
2373 "context": "https://schema.org",
2374 "@@type": "Corporation",
2375 "name": "RealMæglerne",
2376 "alternateName": "R&B Mægler A/S",
2377 "url": "https://www.realmaeglerne.dk",
2378 "logo": "https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png",
2379 "contactPoint": {
2380 "type": "ContactPoint",
2381 "telephone": "+4570237153",
2382 "contactType": "sales",
2383 "areaServed": "DK",
2384 "availableLanguage": "Danish"
2385 },
2386 "sameAs": [
2387 "https://www.facebook.com/realmaeglerne/",
2388 "https://www.linkedin.com/company/realmæglerne/",
2389 "https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g",
2390 "https://www.realmaeglerne.dk/"
2391 ]
2392 }
2393 </script>
2394 @RenderSnippet("StructuredData")
2395 @*RICH SNIPPETS END*@
2396
2397 @*FONT AWESOME*@
2398 @{
2399 <link rel="stylesheet" href="@(TemplateUrl)assets/fontawesome/css/all.css" async />
2400 <link rel="stylesheet" href="@mainCSS" async />
2401
2402 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
2403 {
2404 var cssErhvervFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/erhverv.min.css"));
2405 string erhvervCSS = TemplateUrl + $"assets/dist/css/erhverv.min.css?{cssErhvervFileInfo.LastWriteTime.Ticks}";
2406 <link rel="stylesheet" href="@erhvervCSS" async>
2407 }
2408 }
2409
2410
2411 <link rel="icon" type="image/ico" href="@(TemplateUrl)assets/images/favicons/favicon-real.ico?v=1">
2412 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-16x16.png" sizes="16x16">
2413 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-32x32.png" sizes="32x32">
2414 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-96x96.png" sizes="96x96">
2415 <meta name="google-site-verification" content="hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg" />
2416
2417 @if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString()))
2418 {
2419 <script>
2420 window.dataLayer = window.dataLayer || []; // must be placed above GTM script
2421 </script>
2422 <!-- Google Tag Manager -->
2423 <script>
2424 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
2425 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
2426 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
2427 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
2428 })(window,document,'script','dataLayer','@settings_Google_Tag_Manager_ID');</script>
2429 <!-- End Google Tag Manager -->
2430 }
2431
2432 @if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId))
2433 {
2434 <script type="text/javascript" src="https://call.call-tracking.dk/getJavascript?custid=@callTrackingId"></script>
2435 }
2436
2437 @if (!String.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString()))
2438 {
2439 <!-- Begin Leadhub Pixel Code -->
2440 <script>
2441 (function(w,d,x,n,u,t,f,s,o){
2442 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){
2443 (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)
2444 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '@settings_Leadhub_Pixel_ID');
2445 lhi('pageview');
2446 </script>
2447 <!-- End Leadhub Pixel Code -->
2448 }
2449
2450 <script>
2451 // Global namespace used for fetching API feeds from DW
2452 var RMAPI = (RMAPI) ? RMAPI : {};
2453 var ApiPreFix = "/Default.aspx?ID=";
2454 RMAPI.BoligCountFeed = ApiPreFix + "@settings_BoligCountFeed";
2455 RMAPI.BoligListFeed = ApiPreFix + "@settings_BoligListFeed" + "&refpageid=@Pageview.Page.ID";
2456 RMAPI.BoligListFeedErhverv = "@settings_BoligListFeedErhverv";
2457 RMAPI.BoligListFeedMaegler = ApiPreFix + "@settings_BoligListFeedMaegler" + "&refpageid=@Pageview.Page.ID";
2458 RMAPI.BoligSearchFeed = ApiPreFix + "@settings_BoligSearchFeed";
2459 RMAPI.BoligMapFeed = ApiPreFix + "@settings_BoligMapFeed";
2460 RMAPI.Boligagent = "@settings_Boligagent";
2461 RMAPI.IsErhverv = @isErhverv.ToString().ToLower();
2462 RMAPI.ProductGroupFilter = "@productGroupFilter";
2463 RMAPI.ButikId = "@butikId";
2464 RMAPI.Boligvisning = false;
2465 RMAPI.RefPageId = "@Pageview.Page.ID";
2466 RMAPI.Template = "@template";
2467 RMAPI.SliderSettings = @JsonConvert.SerializeObject(Settings.Site);
2468 RMAPI.AdvisorSearchFeed = "@settings_AdvisorSearchFeed";
2469 RMAPI.LoadingIcon = "@loadingIcon";
2470 RMAPI.MarkerColor = "@markerColor";
2471 RMAPI.mapMarkerUrl = "@mapMarkerUrl";
2472 RMAPI.settings_ForgotPwPage = "@settings_ForgotPwPage";
2473 </script>
2474
2475 @if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString()))
2476 {
2477 <!-- Facebook Pixel Code -->
2478 <script>
2479 !function (f, b, e, v, n, t, s) {
2480 if (f.fbq) return; n = f.fbq = function () {
2481 n.callMethod ?
2482 n.callMethod.apply(n, arguments) : n.queue.push(arguments)
2483 };
2484 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';
2485 n.queue = []; t = b.createElement(e); t.async = !0;
2486 t.src = v; s = b.getElementsByTagName(e)[0];
2487 s.parentNode.insertBefore(t, s)
2488 }(window, document, 'script',
2489 'https://connect.facebook.net/en_US/fbevents.js');
2490 fbq('init', '@settings_Facebook_App_ID');
2491 fbq('track', 'PageView');
2492 </script>
2493 <noscript>
2494 <img height="1" width="1" src="https://www.facebook.com/tr?id=@settings_Facebook_App_ID&ev=PageView&noscript=1" />
2495 </noscript>
2496 <!-- End Facebook Pixel Code -->
2497 }
2498
2499 <script type='text/javascript' src='https://platform-api.sharethis.com/js/sharethis.js#property=5d68cfaf5fea9f001288d9ac&product=inline-share-buttons' async='async'></script>
2500
2501 </head>
2502
2503 <body class="@template@bodyClass" data-spforgotpwtemplate="@forgotPwTemplate" data-spforgotpwsender="@forgotPwSender" data-spforgotpwsubject="@forgotPwSubject" data-spsalesassesmentid="@salesAssessmentPageId">
2504 @{
2505 string logoUrl = TemplateUrl + (!Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg");
2506 }
2507
2508 @if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) && GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
2509 {
2510 <div class="top-search">
2511 <div class="header logo">
2512 <div class="logo">
2513 <a href="/erhverv">
2514 <img src="@logoUrl" alt="RealMæglerne" />
2515 </a>
2516 </div>
2517 </div>
2518 <div class="top-form mx-auto">
2519 <form id="main-search-top" class="js-top-search" action="/Default.aspx" method="GET">
2520 @{
2521
2522 var settings_BoligListErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoliglisteErhverv"])) ? Converter.ToString(SettingsItem["BoliglisteErhverv"]).Replace("Default.aspx?Id=", "") : "";
2523 }
2524 <input type="hidden" name="ID" value='@settings_BoligListErhverv' id="searchPageId-top" disabled="disabled" />
2525
2526 @if (Context.Current.Request["type"] == "egetforbrug")
2527 {
2528 <input name="type" type="hidden" value="egetforbrug" />
2529 <input name="investeringsejendom" type="hidden" value="0" />
2530 }
2531 <div class="row form-wrapper no-gutters">
2532 <div class="col-xs-12 col-md-4 col-lg-5 col-searchbar">
2533 <div class="searchbar float-label-container text-left">
2534 <label class="float-label">@Translate("Smartpage:Erhver.Postnummer, by, vej eller sagsnummer", "Postnummer, by, vej eller sagsnummer")</label>
2535 <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)" />
2536 </div>
2537 </div>
2538 <div class="col-xs-12 col-md-5">
2539 <div class="row no-gutters">
2540 <div class="col-xs-12 col-md-6 input-col">
2541 <div class="dropdown w-overlay float-label-container">
2542 <label class="float-label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">@Translate("Smartpage:Search.Erhverv.Lokaletype", "Lokaletype")</label>
2543 <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>
2544 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
2545 <ul class="bolig-dropdown list-unstyled">
2546 @{
2547 RenderBoligTypeErhverv();
2548 }
2549 </ul>
2550 <span class="border-fat"></span>
2551 <div class="d-none d-md-block">
2552 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2553 </div>
2554 <div class="d-flex row d-md-none">
2555 <div class="col-6">
2556 <button class="btn btn-danger js-remove-filter">@Translate("Smartpage:Search.Annuller", "Annuller")</button>
2557 </div>
2558 <div class="col-6">
2559 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2560 </div>
2561 </div>
2562 </div>
2563
2564 </div>
2565 </div>
2566 <div class="col-xs-12 col-md-6 input-col">
2567 <div class="btn-dropdown p-3 border-top-bottom-right">
2568 <ul class="two-column list-unstyled">
2569 <li>
2570 <label class="checkbox-container">
2571 @Translate("Smartpage:Search.Erhverv.Leje", "Leje")
2572 <input type="checkbox" name="propertytype" value="leje" class="js-input-check" />
2573 <span class="checkmark"></span>
2574 </label>
2575 </li>
2576 <li>
2577 <label class="checkbox-container">
2578 @Translate("Smartpage:Search.Erhverv.Køb", "Køb")
2579 <input type="checkbox" name="propertytype" value="kob" class="js-input-check" />
2580 <span class="checkmark"></span>
2581 </label>
2582 </li>
2583 </ul>
2584 </div>
2585
2586 </div>
2587 </div>
2588 </div>
2589 <div class="col-xs-12 col-md-3 col-lg-2 d-none d-md-block">
2590 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
2591 </div>
2592 </div>
2593 </form>
2594 </div>
2595 </div>
2596 }
2597
2598 <div class="header logo">
2599 <div class="logo">
2600 <a href="/">
2601 <img src="@logoUrl" alt="RealMæglerne" />
2602 </a>
2603 </div>
2604 </div>
2605
2606 @if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]))
2607 {
2608 <div class="header shortcuts">
2609 <div class="header-shortcuts float-right">
2610 @if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID)
2611 {
2612 <a href='' class="search-menu d-none d-xl-flex align-items-center float-left border-right js-mainsearch topsearch @searchClass">
2613 <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>
2614 </a>
2615 }
2616 <div class="menu-slide d-flex align-items-center">
2617 <b></b>
2618 <span class="menu-text hidden d-md-block">Menu</span>
2619 </div>
2620 </div>
2621
2622
2623 </div>
2624 }
2625 else
2626 {
2627 <div class="header shortcuts">
2628 <div class="header-shortcuts float-right">
2629 @if (Model.CurrentUser?.ID > 0)
2630 {
2631 <a href='@settings_MinSide' class="login extra d-flex align-items-center float-left border-right">
2632 <i class="fa fa-user-circle" aria-hidden="true"></i><span class="hidden d-md-block">@Translate("Smartpage:Shortcuts.MinProfil", "Min profil")</span>
2633 </a>
2634 }
2635 else
2636 {
2637 <a href='javascript:panelLogin()' class="login d-flex align-items-center float-left border-right">
2638 <i class="fa fa-user-circle" aria-hidden="true"></i><span class="login-text hidden d-md-block"> @Translate("Smartpage:Shortcuts.Login", "Login")</span>
2639 </a>
2640 }
2641
2642 <a href='' class="search-menu d-flex align-items-center float-left border-right js-mainsearch @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 bolig", "Søg bolig")</span>
2644 </a>
2645
2646 <div class="menu-slide d-flex align-items-center">
2647 <b></b>
2648 <span class="menu-text">Menu</span>
2649 </div>
2650 </div>
2651 </div>
2652 }
2653
2654 <div class="search-modal">
2655
2656 @if (Converter.ToString(Pageview.Area.Item["Type"]) == "real")
2657 {
2658 <div class="main-search-form">
2659 <i class="fal fa-times float-right fa-2x js-close-search close-search"></i>
2660 <div class="row mb-3 align-items-center">
2661 <div class="col-xs-12 col-md-3 border-right">
2662 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
2663 </div>
2664 <div class="col-xs-12 col-md-9 home-count d-none d-md-block">
2665 <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>
2666
2667 </div>
2668 </div>
2669
2670 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
2671 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
2672 <div class="row form-wrapper no-gutters">
2673
2674 <div class="col-xs-12 col-md-5 col-searchbar">
2675 <div class="searchbar">
2676 <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)" />
2677 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" />
2678 <input type="hidden" id="zipcodeto" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" />
2679 </div>
2680 </div>
2681 <div class="col-xs-12 col-md-5">
2682 <div class="row no-gutters">
2683 <div class="col-xs-12 col-md-6 input-col">
2684 <div class="dropdown">
2685 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2686 @Translate("Smartpage:Search.Boligtype", "Boligtype")
2687 </button>
2688 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
2689 <ul class="bolig-dropdown list-unstyled">
2690 @{
2691 RenderBoligtypeCheckboxesDropdown();
2692 }
2693 </ul>
2694 <span class="border-fat"></span>
2695 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2696 </div>
2697
2698 </div>
2699
2700 </div>
2701 <div class="col-xs-12 col-md-6 input-col">
2702 <div class="dropdown">
2703 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2704 @Translate("Smartpage:Search.Pris", "Pris")
2705 </button>
2706 <div class="dropdown-menu box-shadow dropdown-price js-dropdown-price" aria-labelledby="Pris">
2707 <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"] : "")' />
2708 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
2709 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
2710 @for (var i = 0; i <= 10000000; i += 100000)
2711 {
2712 if (i == 10000000)
2713 {
2714 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
2715 }
2716 else
2717 {
2718 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
2719 }
2720 }
2721 </select>
2722
2723 <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"] : "")' />
2724 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
2725 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
2726 @for (var i = 0; i <= 10000000; i += 100000)
2727 {
2728 if (i == 10000000)
2729 {
2730 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
2731 }
2732 else
2733 {
2734 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
2735 }
2736 }
2737 </select>
2738 </div>
2739 </div>
2740 </div>
2741 </div>
2742 </div>
2743 <div class="col-xs-12 col-md-2 d-none d-md-block">
2744 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
2745 </div>
2746 </div>
2747
2748 <div class="row moresearch-btn no-gutters">
2749 <div class="col-sm-12">
2750 <div class="row align-items-center no-gutters">
2751 <div class="col-12 col-md-4">
2752 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch">
2753 <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>
2754 </button>
2755 </div>
2756 <div class="col-6 col-md-2 mb-xs-4">
2757 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
2758 </div>
2759 </div>
2760
2761 <div class="collapse" id="moreSearch-master">
2762
2763 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
2764 <div class="row align-items-end mb-30">
2765 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2766 <div class="filter-container row">
2767 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
2768 <div class="col-6 pr-sm-0 pr-2">
2769 <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"] : "")' />
2770 <select class="form-control js-boligarealmin-frontpage-select js-count">
2771 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
2772 @for (var i = 0; i <= 300; i += 10)
2773 {
2774 if (i == 300)
2775 {
2776 <option>@i+</option>
2777 }
2778 else
2779 {
2780 <option>@i</option>
2781 }
2782 }
2783 </select>
2784
2785 </div>
2786 <div class="col-6 pl-sm-0 pl-2">
2787 <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"] : "")' />
2788 <select class="form-control js-boligarealmax-frontpage-select js-count">
2789 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
2790 @for (var i = 0; i <= 300; i += 10)
2791 {
2792 if (i == 300)
2793 {
2794 <option>@i+</option>
2795 }
2796 else
2797 {
2798 <option>@i</option>
2799 }
2800 }
2801 </select>
2802
2803 </div>
2804 </div>
2805 </div>
2806 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2807 <div class="filter-container row">
2808 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
2809 <div class="col-6 pr-sm-0 pr-2">
2810 <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"] : "")' />
2811 <select class="form-control js-grundarealmin-frontpage-select js-count">
2812 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
2813 @for (var i = 0; i <= 10000; i += 100)
2814 {
2815 if (i == 10000)
2816 {
2817 <option>@i+</option>
2818 }
2819 else
2820 {
2821 <option>@i</option>
2822 }
2823 }
2824 </select>
2825 </div>
2826 <div class="col-6 pl-sm-0 pl-2">
2827 <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"] : "")' />
2828 <select class="form-control js-grundarealmax-frontpage-select js-count">
2829 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
2830 @for (var i = 0; i <= 10000; i += 100)
2831 {
2832 if (i == 10000)
2833 {
2834 <option>@i+</option>
2835 }
2836 else
2837 {
2838 <option>@i</option>
2839 }
2840 }
2841 </select>
2842 </div>
2843 </div>
2844 </div>
2845 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2846 <div class="filter-container row">
2847 <label class="d-block col-12">Antal rum</label>
2848 <div class="col-6 pr-sm-0 pr-2">
2849 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
2850 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
2851 @{
2852 RenderSelectValue("1", "1", "roomsmin");
2853 RenderSelectValue("2", "2", "roomsmin");
2854 RenderSelectValue("3", "3", "roomsmin");
2855 RenderSelectValue("4", "4", "roomsmin");
2856 RenderSelectValue("5+", "5", "roomsmin");
2857 }
2858 </select>
2859 </div>
2860 <div class="col-6 pl-sm-0 pl-2">
2861 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
2862 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
2863 @{
2864 RenderSelectValue("1", "1", "roomsmax");
2865 RenderSelectValue("2", "2", "roomsmax");
2866 RenderSelectValue("3", "3", "roomsmax");
2867 RenderSelectValue("4", "4", "roomsmax");
2868 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax");
2869 }
2870 </select>
2871 </div>
2872 </div>
2873 </div>
2874 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
2875 <div class="row">
2876 <div class="col-12 pr-2">
2877 <div class="filter-container">
2878 <label class="d-block">Energimærke</label>
2879 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
2880 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
2881 <option value="01">G</option>
2882 <option value="02">F</option>
2883 <option value="03">E</option>
2884 <option value="04">D</option>
2885 <option value="05">C</option>
2886 <option value="06">B</option>
2887 <option value="07">A</option>
2888 <option value="08">A2010</option>
2889 <option value="09">A2015</option>
2890 <option value="10">A2020+</option>
2891 </select>
2892 </div>
2893 </div>
2894 </div>
2895 </div>
2896 <div class="col-12 col-sm-6 col-lg-3 mt-3">
2897 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
2898 <div class="filter-container row">
2899 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
2900 <div class="col-6 pr-sm-0 pr-2">
2901 <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"] : "")' />
2902 <select class="form-control js-subsidymin-frontpage-select js-count">
2903 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
2904 @for (var i = 0; i <= 25000; i += 1250)
2905 {
2906 if (i == 25000)
2907 {
2908 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
2909 }
2910 else
2911 {
2912 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
2913 }
2914 }
2915 </select>
2916 </div>
2917 <div class="col-6 pl-sm-0 pl-2">
2918 <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"] : "")' />
2919 <select class="form-control js-subsidymax-frontpage-select js-count">
2920 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
2921 @for (var i = 0; i <= 25000; i += 1250)
2922 {
2923 if (i == 25000)
2924 {
2925 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
2926 }
2927 else
2928 {
2929 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
2930 }
2931 }
2932 </select>
2933 </div>
2934 </div>
2935 </div>
2936 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0">
2937 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
2938 </div>
2939 </div>
2940 </div>
2941 </div>
2942 </div>
2943 <div class="row d-block d-md-none form-wrapper no-gutters">
2944 <div class="col-xs-12 col-md-2">
2945 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
2946 </div>
2947 </div>
2948
2949
2950 </form>
2951 </div>
2952 }
2953 else
2954 {
2955 <div class="main-search-form center">
2956 <i class="fal fa-times float-right fa-2x js-close-search"></i>
2957 <div class="row mb-3 align-items-center">
2958 <div class="col-xs-12 col-md-5 border-right">
2959 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
2960 </div>
2961 <div class="col-xs-12 col-md-7 home-count d-none d-md-block">
2962 <span class="search-count" id="searchCounterMain">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span>
2963 </div>
2964 </div>
2965
2966 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
2967 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
2968 <div class="row form-wrapper no-gutters">
2969
2970 <div class="col-12 mb-10">
2971 <div class="searchbar">
2972 <input type="text" name="@querySearchNameAttr" id="searchfield" class="search-input" placeholder="Postnummer, by, vej eller sagsnummer" tabindex="1" value='@querySearch' />
2973 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value='@queryZipCodeFrom' />
2974 <input type="hidden" id="zipcodeto" name="zipcodeto" value='@queryZipCodeTo' />
2975 </div>
2976 </div>
2977 <div class="col-xs-12 col-md-8">
2978 <div class="row no-gutters">
2979 <div class="col-xs-12 col-md-6 input-col">
2980 <div class="dropdown">
2981 <button class="btn btn-dropdown dropdown-toggle reverse js-count" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
2982 @Translate("Smartpage:Search.Boligtype", "Boligtype")
2983 </button>
2984 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
2985 <ul class="bolig-dropdown list-unstyled">
2986 @{
2987 RenderBoligtypeCheckboxesDropdown();
2988 }
2989 </ul>
2990 <span class="border-fat"></span>
2991 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
2992 </div>
2993
2994 </div>
2995
2996 </div>
2997 <div class="col-xs-12 col-md-6 input-col">
2998 <div class="dropdown">
2999 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3000 @Translate("Smartpage:Search.Pris", "Pris")
3001 </button>
3002 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris">
3003 <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")' />
3004 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
3005 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
3006 @for (var i = 0; i <= 10000000; i += 100000)
3007 {
3008 if (i == 10000000)
3009 {
3010 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option>
3011 }
3012 else
3013 {
3014 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option>
3015 }
3016 }
3017 </select>
3018
3019 <input type="text" name="pricemax" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")' />
3020 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
3021 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
3022 @for (var i = 0; i <= 10000000; i += 100000)
3023 {
3024 if (i == 10000000)
3025 {
3026 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option>
3027 }
3028 else
3029 {
3030 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option>
3031 }
3032 }
3033 </select>
3034 </div>
3035 </div>
3036 </div>
3037 </div>
3038 </div>
3039 <div class="col-xs-12 col-md-4 d-none d-md-block">
3040 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
3041 </div>
3042 </div>
3043
3044 <div class="row moresearch-btn no-gutters">
3045 <div class="col-sm-12">
3046 <div class="row align-items-center no-gutters">
3047 <div class="col-12 col-md-5">
3048 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch-master">
3049 <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>
3050 </button>
3051 </div>
3052 <div class="col-6 col-md-3 mb-xs-4">
3053 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
3054 </div>
3055 <div class="col-6 col-md-4 mb-xs-4">
3056 <div class="parent-purchases">
3057 <label class="checkbox-container white">
3058 @Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet")
3059 <input type="checkbox" name="foraeldrekoebegnet" value="true" class="js-input-check">
3060 <span class="checkmark grey"></span>
3061 </label>
3062 </div>
3063 </div>
3064 </div>
3065
3066 <div class="collapse" id="moreSearch-master">
3067
3068 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
3069 <div class="row align-items-end mb-30">
3070 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3071 <div class="filter-container row">
3072 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
3073 <div class="col-6 pr-sm-0 pr-2">
3074 <input type="text" name="boligarealmin" id="boligarealmin" class="form-control js-boligarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
3075 <select class="form-control js-boligarealmin-frontpage-select js-count">
3076 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
3077 @for (var i = 0; i <= 300; i += 10)
3078 {
3079 if (i == 300)
3080 {
3081 <option>@i+</option>
3082 }
3083 else
3084 {
3085 <option>@i</option>
3086 }
3087 }
3088 </select>
3089 </div>
3090 <div class="col-6 pl-sm-0 pl-2">
3091 <input type="text" name="boligarealmax" id="boligarealmax" class="form-control js-boligarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
3092 <select class="form-control js-boligarealmax-frontpage-select js-count">
3093 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
3094 @for (var i = 0; i <= 300; i += 10)
3095 {
3096 if (i == 300)
3097 {
3098 <option>@i+</option>
3099 }
3100 else
3101 {
3102 <option>@i</option>
3103 }
3104 }
3105 </select>
3106 </div>
3107 </div>
3108 </div>
3109 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3110 <div class="filter-container row">
3111 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
3112 <div class="col-6 pr-sm-0 pr-2">
3113 <input type="text" name="grundarealmin" id="grundarealmin" class="form-control js-grundarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
3114 <select class="form-control js-grundarealmin-frontpage-select js-count">
3115 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
3116 @for (var i = 0; i <= 10000; i += 100)
3117 {
3118 if (i == 10000)
3119 {
3120 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3121 }
3122 else
3123 {
3124 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3125 }
3126 }
3127 </select>
3128 </div>
3129 <div class="col-6 pl-sm-0 pl-2">
3130 <input type="text" name="grundarealmax" id="grundarealmax" class="form-control js-grundarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
3131 <select class="form-control js-grundarealmax-frontpage-select">
3132 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
3133 @for (var i = 0; i <= 10000; i += 100)
3134 {
3135 if (i == 10000)
3136 {
3137 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3138 }
3139 else
3140 {
3141 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3142 }
3143 }
3144 </select>
3145 </div>
3146 </div>
3147 </div>
3148 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3149 <div class="filter-container row">
3150 <label class="d-block col-12">Antal rum</label>
3151
3152 <div class="col-6 pr-sm-0 pr-2">
3153 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
3154 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
3155 <option value="1">1</option>
3156 <option value="2">2</option>
3157 <option value="3">3</option>
3158 <option value="4">4</option>
3159 <option value="5">5+</option>
3160 </select>
3161 </div>
3162 <div class="col-6 pl-sm-0 pl-2">
3163 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
3164 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
3165 <option value="1">1</option>
3166 <option value="2">2</option>
3167 <option value="3">3</option>
3168 <option value="4">4</option>
3169 <option value="5">5+</option>
3170 </select>
3171 </div>
3172 </div>
3173 </div>
3174 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
3175 <div class="row">
3176 <div class="col-12 pr-2">
3177 <div class="filter-container">
3178 <label class="d-block">Energimærke</label>
3179 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
3180 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
3181 <option value="01">G</option>
3182 <option value="02">F</option>
3183 <option value="03">E</option>
3184 <option value="04">D</option>
3185 <option value="05">C</option>
3186 <option value="06">B</option>
3187 <option value="07">A</option>
3188 <option value="08">A2010</option>
3189 <option value="09">A2015</option>
3190 <option value="10">A2020+</option>
3191 </select>
3192 </div>
3193 </div>
3194 </div>
3195 </div>
3196 <div class="col-12 col-sm-6 col-lg-6 mt-3">
3197 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
3198 <div class="filter-container row">
3199 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
3200 <div class="col-6 pr-sm-0 pr-2">
3201 <input type="text" name="subsidymin" id="subsidymin" class="form-control js-subsidymin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Min", "Min")' />
3202 <select class="form-control js-subsidymin-frontpage-select js-count">
3203 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
3204 @for (var i = 0; i <= 25000; i += 1250)
3205 {
3206 if (i == 25000)
3207 {
3208 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3209 }
3210 else
3211 {
3212 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3213 }
3214 }
3215 </select>
3216 </div>
3217 <div class="col-6 pl-sm-0 pl-2">
3218 <input type="text" name="subsidymax" id="subsidymax" class="form-control js-subsidymax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Max", "Max")' />
3219 <select class="form-control js-subsidymax-frontpage-select js-count">
3220 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
3221 @for (var i = 0; i <= 25000; i += 1250)
3222 {
3223 if (i == 25000)
3224 {
3225 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option>
3226 }
3227 else
3228 {
3229 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option>
3230 }
3231 }
3232 </select>
3233 </div>
3234 </div>
3235 </div>
3236 <div class="col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0">
3237 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
3238 </div>
3239 </div>
3240 </div>
3241 </div>
3242 </div>
3243 <div class="row d-block d-md-none form-wrapper no-gutters">
3244 <div class="col-xs-12 col-md-2">
3245 <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>
3246 </div>
3247 </div>
3248
3249
3250 </form>
3251 </div>
3252 }
3253 </div>
3254
3255 @{
3256 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning));
3257 }
3258
3259 @if (isBrokerPage)
3260 {
3261 <section class="maegler-navbar">
3262 @RenderNavigation(new
3263 {
3264 id = "navbar-main",
3265 cssclass = "dwnavigation",
3266 template = "ul_li.xslt",
3267 StartLevel = 1,
3268 EndLevel = 1
3269 })
3270 </section>
3271 }
3272
3273 <div class="visual-editor">
3274 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
3275
3276
3277 @using Dynamicweb.Extensibility
3278 @using Dynamicweb.Core
3279 @using Dynamicweb.Rapido.Blocks.Components
3280 @using Dynamicweb.Rapido.Blocks.Components.Articles
3281 @using Dynamicweb.Rapido.Blocks.Components.General
3282 @using Dynamicweb.Rapido.Blocks
3283 @using Dynamicweb.Content.Items
3284
3285 @functions {
3286 BlocksPage articlePage = BlocksPage.GetBlockPage("DynamicArticle");
3287
3288 public string GetParentSettingsItem(string systemName)
3289 {
3290 string item = null;
3291
3292 Dynamicweb.Content.Page current = Dynamicweb.Services.Pages.GetPage(Model.ID);
3293 while (current != null && current.Parent != current)
3294 {
3295 var temp = current.Item != null ? current.Item[systemName] : "";
3296
3297 if (temp != null)
3298 {
3299 item = temp.ToString();
3300
3301 if (!String.IsNullOrEmpty(item) && !String.Equals("default", item, StringComparison.OrdinalIgnoreCase))
3302 {
3303 break;
3304 }
3305 }
3306
3307 current = current.Parent;
3308 }
3309
3310 return item;
3311 }
3312
3313 public string GetArticleCategory(int pageId)
3314 {
3315 string categoryName = null;
3316
3317 //Secure that the article is not in the root folder = Actual has a category
3318 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent != null)
3319 {
3320 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent != null)
3321 {
3322 if (!String.IsNullOrEmpty(Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent.ItemType))
3323 {
3324 categoryName = Dynamicweb.Services.Pages.GetPage(pageId).Parent.GetDisplayName();
3325 }
3326 }
3327 }
3328
3329 return categoryName;
3330 }
3331
3332 public string GetArticleCategoryColor(int pageId)
3333 {
3334 string categoryColor = "";
3335
3336 //Secure that the article is not in the root folder = Actual has a category
3337 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent != null)
3338 {
3339 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent != null)
3340 {
3341 if (!String.IsNullOrEmpty(Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent.ItemType))
3342 {
3343 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Item["CategoryColor"] != null)
3344 {
3345 var service = new ColorSwatchService();
3346 categoryColor = Dynamicweb.Services.Pages.GetPage(pageId).Parent.Item["CategoryColor"].ToString();
3347
3348 if (!categoryColor.Contains("#"))
3349 {
3350 categoryColor = service.GetHexColor(Converter.ToInt32(Model.Area.ID), categoryColor);
3351 }
3352 }
3353 }
3354 }
3355 }
3356
3357 return categoryColor;
3358 }
3359 }
3360
3361 @{
3362 string listPageId = Converter.ToString(GetPageIdByNavigationTag("DynamicListFeed"));
3363 string parentPageId = Dynamicweb.Services.Pages.GetPage(Model.ID).Parent.ID.ToString();
3364 string topLayout = Model.Item.GetList("TopLayout") != null ? Model.Item.GetList("TopLayout").SelectedValue : "default";
3365 topLayout = topLayout == "default" && GetParentSettingsItem("ArticleTopLayout") != null ? GetParentSettingsItem("ArticleTopLayout").ToString().ToLower() : topLayout;
3366 string textLayout = Model.Item.GetList("TextLayout") != null ? Model.Item.GetList("TextLayout").SelectedValue : "default";
3367 textLayout = textLayout == "default" && GetParentSettingsItem("ArticleTextLayout") != null ? GetParentSettingsItem("ArticleTextLayout").ToString().ToLower() : textLayout;
3368 string imageLayout = Model.Item.GetList("ImageLayout") != null ? Model.Item.GetList("ImageLayout").SelectedValue : "default";
3369 imageLayout = imageLayout == "default" && GetParentSettingsItem("ArticleImageLayout") != null ? GetParentSettingsItem("ArticleImageLayout").ToString().ToLower() : imageLayout;
3370
3371 //string imageColumns = imageLayout == "straight" && textLayout != "full" ? "8" : "12";
3372 //string contentColumns = textLayout != "full" ? "8" : "12";
3373 string imageColumns = "12";
3374 string contentColumns = "12";
3375
3376 int externalParagraphId = Model.Item.GetItem("CTAParagraphLink") != null ? Model.Item.GetItem("CTAParagraphLink").ParagraphID : 0;
3377
3378 ArticleHeaderLayout headerLayout;
3379
3380 switch (topLayout)
3381 {
3382 case "default":
3383 headerLayout = ArticleHeaderLayout.Clean;
3384 break;
3385 case "split":
3386 headerLayout = ArticleHeaderLayout.Split;
3387 break;
3388 case "banner":
3389 headerLayout = ArticleHeaderLayout.Banner;
3390 break;
3391 case "overlay":
3392 headerLayout = ArticleHeaderLayout.Overlay;
3393 break;
3394 default:
3395 headerLayout = ArticleHeaderLayout.Clean;
3396 break;
3397 }
3398
3399
3400 Block articleContainer = new Block
3401 {
3402 Id = "ArticleContainer",
3403 SortId = 10,
3404 Design = new Design
3405 {
3406 RenderType = RenderType.Row
3407 },
3408 BlocksList = new List<Block> {
3409 new Block {
3410 Id = "ArticleBody",
3411 SortId = 30,
3412 Design = new Design {
3413 RenderType = RenderType.Column,
3414 Size = "12",
3415 HidePadding = true,
3416 CssClass = "margin-top-large"
3417 }
3418 }
3419 }
3420 };
3421 articlePage.Add(articleContainer);
3422
3423 ButtonLayout topBannerButtonLayout = ButtonLayout.Primary;
3424
3425 switch (Model.Item.GetString("ButtonDesign"))
3426 {
3427 case "primary":
3428 topBannerButtonLayout = ButtonLayout.Primary;
3429 break;
3430 case "secondary":
3431 topBannerButtonLayout = ButtonLayout.Secondary;
3432 break;
3433 case "teritary":
3434 topBannerButtonLayout = ButtonLayout.Tertiary;
3435 break;
3436 case "link":
3437 topBannerButtonLayout = ButtonLayout.Link;
3438 break;
3439 }
3440
3441 ArticleHeader topBanner = new ArticleHeader
3442 {
3443 Layout = headerLayout,
3444 Image = new Image { Path = Model.Item.GetFile("Image"), ImageDefault = new ImageSettings { Width = 1920, Height = 640 } },
3445 Heading = Model.Item.GetString("Title"),
3446 Subheading = Model.Item.GetString("Summary"),
3447 TextColor = "#fff",
3448 Author = Model.Item.GetString("Author"),
3449 Date = Model.Item.GetString("Date"),
3450 Category = GetArticleCategory(Model.ID),
3451 CategoryColor = GetArticleCategoryColor(Model.ID),
3452 Link = Model.Item.GetString("Link"),
3453 LinkText = Model.Item.GetString("LinkText"),
3454 ButtonLayout = topBannerButtonLayout,
3455 RatingScore = Model.Item.GetString("Rating") != null ? Converter.ToInt32(Model.Item.GetList("Rating").SelectedValue) : 0,
3456 RatingOutOf = Model.Item.GetString("Rating") != null ? Model.Item.GetList("Rating").Options.Count : 0,
3457 ExternalParagraphId = externalParagraphId
3458 };
3459
3460 Block articleTop = new Block
3461 {
3462 Id = "ArticleHead",
3463 SortId = 20,
3464 Component = topBanner,
3465 Design = new Design
3466 {
3467 RenderType = RenderType.Column,
3468 Size = "12",
3469 HidePadding = true,
3470 CssClass = "article-head"
3471 }
3472 };
3473 //articlePage.Add("ArticleContainer", articleTop);
3474
3475
3476 Block articleBodyRow = new Block
3477 {
3478 Id = "ArticleBodyRow",
3479 SortId = 10,
3480 SkipRenderBlocksList = true
3481 };
3482 articlePage.Add("ArticleBody", articleBodyRow);
3483
3484
3485 if (Model.Item.GetString("Paragraphs") != null)
3486 {
3487 int count = 0;
3488 foreach (var paragraph in Model.Item.GetItems("Paragraphs"))
3489 {
3490 if (!paragraph.GetBoolean("RenderAsQuote"))
3491 {
3492 string enableDropCap = Model.Item.GetString("EnableDropCap") != null ? Model.Item.GetList("EnableDropCap").SelectedValue.ToLower() : "default";
3493 enableDropCap = enableDropCap == "default" && GetParentSettingsItem("EnableDropCap") != null ? GetParentSettingsItem("EnableDropCap").ToString().ToLower() : enableDropCap;
3494 string text = paragraph.GetString("Text") != null ? paragraph.GetString("Text") : "";
3495
3496 if (!String.IsNullOrEmpty(text) && enableDropCap == "true" && count == 0 && paragraph.GetString("Text").Substring(0, 3) == "<p>")
3497 {
3498 string firstLetter = paragraph.GetString("Text").Substring(3, 1);
3499 text = paragraph.GetString("Text").Remove(3, 1);
3500 text = text.Insert(3, "<span class=\"article__drop-cap\">" + firstLetter + "</span>");
3501 }
3502
3503 if (!String.IsNullOrEmpty(paragraph.GetString("Heading")))
3504 {
3505 Block articleParagraphHeader = new Block
3506 {
3507 Id = "ArticleParagraph" + count + "Heading",
3508 SortId = (count * 10) ,
3509 Component = new ArticleSubHeader { Title = paragraph.GetString("Heading") },
3510 Design = new Design
3511 {
3512 RenderType = RenderType.Column,
3513 Size = contentColumns,
3514 CssClass = "u-color-light--bg u-padding--lg"
3515 }
3516 };
3517 articlePage.Add("ArticleBodyRow", articleParagraphHeader);
3518 }
3519
3520 if (paragraph.GetFile("Image") != null)
3521 {
3522 string imageTitle = !string.IsNullOrEmpty(paragraph.GetString("Heading")) ? paragraph.GetString("Heading") : "";
3523
3524 Block articleParagraphImage = new Block
3525 {
3526 Id = "ArticleParagraph" + count + "Image",
3527 SortId = (count * 10) + 2,
3528 Design = new Design
3529 {
3530 RenderType = RenderType.Column,
3531 Size = imageColumns,
3532 CssClass = "u-color-light--bg u-padding--lg"
3533 }
3534 };
3535
3536 if (imageLayout == "banner")
3537 {
3538 ArticleBanner banner = new ArticleBanner
3539 {
3540 Image = new Image { Path = paragraph.GetFile("Image"), ImageDefault = new ImageSettings { Height = 650, Width = 1300 }, Caption = paragraph.GetString("ImageCaption") },
3541 Heading = imageTitle,
3542 UseFilters = false
3543 };
3544 articleParagraphImage.Component = banner;
3545 }
3546 else
3547 {
3548 ArticleImage image = new ArticleImage
3549 {
3550 Image = new Image
3551 {
3552 Path = paragraph.GetFile("Image"),
3553 Title = imageTitle,
3554 ImageDefault = new ImageSettings { Height = 650, Width = 1300 },
3555 Caption = paragraph.GetString("ImageCaption"),
3556 CssClass = "u-full-width"
3557 }
3558 };
3559 articleParagraphImage.Component = image;
3560 }
3561
3562 articlePage.Add("ArticleBodyRow", articleParagraphImage);
3563 }
3564
3565 if (!String.IsNullOrEmpty(paragraph.GetString("VideoURL")))
3566 {
3567 Block articleParagraphVideo = new Block
3568 {
3569 Id = "ArticleParagraph" + count + "Video",
3570 SortId = (count * 10) + 3,
3571 Component = new ArticleVideo { Url = paragraph.GetString("VideoURL"), AutoPlay = "false" },
3572 Design = new Design
3573 {
3574 RenderType = RenderType.Column,
3575 Size = imageColumns,
3576 CssClass = "u-color-light--bg u-padding--lg"
3577 }
3578 };
3579 articlePage.Add("ArticleBodyRow", articleParagraphVideo);
3580 }
3581
3582 if (!String.IsNullOrEmpty(text))
3583 {
3584 Block articleParagraphText = new Block
3585 {
3586 Id = "ArticleParagraph" + count + "Text",
3587 SortId = (count * 10) + 3,
3588 Component = new ArticleText { Text = text },
3589 Design = new Design
3590 {
3591 RenderType = RenderType.Column,
3592 Size = contentColumns,
3593 CssClass = "u-color-light--bg u-padding--lg"
3594 }
3595 };
3596
3597 articlePage.Add("ArticleBodyRow", articleParagraphText);
3598 }
3599 }
3600 else
3601 {
3602 if (!String.IsNullOrEmpty(paragraph.GetString("Text")))
3603 {
3604 string quoteText = paragraph.GetString("Text") != null ? paragraph.GetString("Text") : "";
3605 string quoteAuthor = paragraph.GetString("Heading") != null ? paragraph.GetString("Heading") : "";
3606
3607 Block articleParagraphQuote = new Block
3608 {
3609 Id = "ArticleParagraph" + count + "Quote",
3610 SortId = (count * 10) + 3,
3611 Component = new ArticleQuote { Image = new Image { Path = paragraph.GetFile("Image") }, Text = quoteText, Author = quoteAuthor },
3612 Design = new Design
3613 {
3614 RenderType = RenderType.Column,
3615 Size = contentColumns,
3616 CssClass = "u-color-light--bg u-padding--lg"
3617 }
3618 };
3619 articlePage.Add("ArticleBodyRow", articleParagraphQuote);
3620 }
3621 }
3622
3623 count++;
3624 }
3625 }
3626
3627 articleBodyRow.Component = new ArticleBodyRow { SubBlocks = articleBodyRow.BlocksList, TopLayout = topLayout, TextLayout = textLayout };
3628
3629
3630 //Related
3631 string showRelatedArtices = Model.Item.GetString("ShowRelatedArticles") != null ? Model.Item.GetList("ShowRelatedArticles").SelectedValue.ToLower() : "default";
3632 showRelatedArtices = showRelatedArtices == "default" && GetParentSettingsItem("ShowRelatedArticles") != null ? GetParentSettingsItem("ShowRelatedArticles").ToString().ToLower() : showRelatedArtices;
3633
3634 if (showRelatedArtices == "true")
3635 {
3636 Block articleRelated = new Block
3637 {
3638 Id = "ArticleRelated",
3639 SortId = 30,
3640 Component = new ArticleRelated { Title = Translate("Related articles"), FeedPageId = listPageId, Query = "sourceType=Page&sourcePage=" + parentPageId, PageSize = 4, CurrentPageId = Model.ID.ToString() },
3641 Design = new Design
3642 {
3643 RenderType = RenderType.Column,
3644 Size = "12"
3645 }
3646 };
3647 articlePage.Add("ArticleContainer", articleRelated);
3648 }
3649 }
3650
3651
3652 @* The @RenderBlockList base helper is included in Components/GridBuilder.cshtml *@
3653 <section class="center-container content-container dw-mod">
3654 @RenderBlockList(articlePage.BlocksRoot.BlocksList)
3655 </section>
3656 </div>
3657
3658 @if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true)
3659 {
3660 string bName = MyBroker.Broker.Name;
3661 string bClass = "na";
3662 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png";
3663
3664 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName))
3665 {
3666 bName = MyBroker.Broker.CompanyName;
3667 }
3668 try
3669 {
3670 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl");
3671 if (!string.IsNullOrEmpty(imgUrl))
3672 {
3673 bImage = imgUrl;
3674 bClass = "";
3675 }
3676 }
3677 catch
3678 {
3679 // Ignore
3680 }
3681
3682 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId");
3683 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer");
3684
3685 <section class="din-maegler">
3686 <div class="img-wrapper @bClass" style="background-image:url('@bImage')"></div>
3687 <div class="container">
3688 <div class="col-12 col-sm-12 col-md-6 offset-md-6">
3689 <h2>Din personlige mægler</h2>
3690 <div class="row">
3691 <div class="col-12 col-sm-6">
3692 <p>
3693 <b class="my-broker-name">@MyBroker.Employee.Name</b><br>
3694 @if (!string.IsNullOrEmpty(MyBroker.Employee.Email))
3695 {
3696 <text>Mail: <a href="mailto:@(ExtractMaskedEmail(MyBroker.Employee.Email))" class="my-broker-email">@ExtractMaskedEmail(MyBroker.Employee.Email)</a><br></text>
3697 }
3698 @if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile))
3699 {
3700 <text>Tlf.: <a href="tel:@(MyBroker.Employee.PhoneMobile)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Employee.PhoneMobile)</a></text>
3701 }
3702 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
3703 {
3704 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
3705 }
3706 </p>
3707 </div>
3708 <div class="col-12 col-sm-6">
3709 <p>
3710 <b class="my-broker-company-name">@bName</b><br>
3711 <span class="my-broker-company-address">@MyBroker.Broker.Address</span><br>
3712 <span class="my-broker-company-zip">@MyBroker.Broker.ZipCode</span> <span class="my-broker-company-city">@MyBroker.Broker.City</span><br>
3713 @if (!string.IsNullOrEmpty(bEmail))
3714 {
3715 <text>Mail: <a href="mailto:@(bEmail)" class="my-broker-broker-email">@bEmail</a><br></text>
3716 }
3717 @if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
3718 {
3719 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
3720 }
3721 </p>
3722 </div>
3723 </div>
3724 <div class="row">
3725 <br />
3726 <div class="col-12 col-sm-6">
3727 <a href="/@medlemsnummer.Substring(1)" class="btn btn-primary btn-block my-broker-company-url">Til mæglerens side</a>
3728 </div>
3729
3730 </div>
3731 </div>
3732 </div>
3733 </section>
3734 }
3735 <footer>
3736 <div class="container">
3737 <div class="row">
3738 @{
3739 var navigationSettings = new NavigationSettings();
3740 navigationSettings.StartLevel = 1;
3741 navigationSettings.StopLevel = 3;
3742 navigationSettings.ExpandMode = ExpandMode.All;
3743 navigationSettings.RootAreaId = 1;
3744 navigationSettings.RootNavigationTag = "footer-nav";
3745
3746 }
3747 @Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings)
3748 </div>
3749 </div>
3750 </footer>
3751
3752 @if (Model.CurrentUser?.ID <= 0)
3753 {
3754 <div id="panel-login" class="panel panel-form">
3755 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3756 <b></b>
3757 </button>
3758 <div class="loginform login">
3759 @if (loginParagraphId > 0)
3760 {
3761 <text>
3762 @RenderParagraphContent(loginParagraphId)
3763 </text>
3764 }
3765 </div>
3766 <div class="loginform register js-register-form-wrapper" style="display: none;">
3767 @if (createUserParagraphId > 0)
3768 {
3769 <text>
3770 @RenderParagraphContent(createUserParagraphId)
3771 </text>
3772 }
3773 </div>
3774 <div class="loginform forgotpw" style="display: none;">
3775 <h2 class="forgotpw-reg">@Translate("forgot-pw-reg-title", "Glemt adgangskode")</h2>
3776 <h2 class="forgotpw-broker">@Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")</h2>
3777 <form id="forgotPwForm" class="form-body" method="post" action="">
3778 <input type="hidden" id="AccessUserShopID" name="AccessUserShopID" value="SHOP6" />
3779 <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>
3780 <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>
3781 <div class="form-group">
3782 <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 />
3783 </div>
3784 <button class="btn btn-primary btn-block" type="submit">@Translate("forgot-pw-cta", "Nulstil adgangskode")</button>
3785 <br />
3786 <div id="submitMessage"></div>
3787 </form>
3788 </div>
3789 </div>
3790 }
3791
3792 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel>
3793 @using Dynamicweb.Security.UserManagement
3794
3795 @{
3796 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");
3797 }
3798
3799 <div id="panel-kontakt-koeberraadgivning" class="panel panel-form">
3800 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3801 <b></b>
3802 </button>
3803 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
3804 <form id="form-koeberraadgivning" method="POST" action="/InboxHandler">
3805 <div class="form-group">
3806 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
3807 <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 />
3808 </div>
3809 <div class="form-group">
3810 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
3811 <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 />
3812 </div>
3813 <div class="form-group row mb-4">
3814 <div class="col-6">
3815 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
3816 <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 />
3817 </div>
3818 <div class="col-6">
3819 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
3820 <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' />
3821 </div>
3822 </div>
3823 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
3824 <div class="form-group row">
3825 <div class="col-4">
3826 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
3827 <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 />
3828 <input type="hidden" class="js-postnummer-validation" />
3829 </div>
3830 <div class="col-8">
3831 <label><strong>@Translate("form-city", "By")*</strong></label>
3832 <input class="form-control js-city" type="text" readonly />
3833 </div>
3834 </div>
3835 <div class="form-group overflow-unset">
3836 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
3837 <input class="form-control js-validate-address" type="text" name="adresse" tabindex="6" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' required />
3838
3839 <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>
3840 </div>
3841 <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">
3842 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
3843 </button>
3844 <div class="collapse" id="kontaktkoeberrradgiver-collapse">
3845 <div class="form-group">
3846 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
3847 </div>
3848 </div>
3849
3850 <div class="form-group">
3851 <div class="row">
3852 <div class="col-12">
3853 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
3854 </div>
3855 </div>
3856 </div>
3857 <div class="form-group mt-3">
3858 <div class="checkbox">
3859 <label>
3860 <input type="checkbox" name="kontaktmigok" required />
3861
3862 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
3863
3864 </label>
3865 </div>
3866 </div>
3867 <div class="form-group form-group-terms">
3868 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
3869 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
3870 </div>
3871
3872 <input type="hidden" name="fn" value="krk" />
3873 <input type="hidden" name="origin" value="" />
3874 <input type="hidden" name="brugerId" value="" />
3875 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
3876 <input type="hidden" name="butikId" value="@butikId" />
3877 <input type="hidden" name="ejendomstype" value="" />
3878 <input type="hidden" name="salgspris" value="" />
3879 <input type="hidden" name="modtager" value="" />
3880 </form>
3881 <div id="tak-kontakt-advisor" style="display:none;">
3882 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
3883 <div class="row">
3884 <div class="col-6">
3885 <img src="" class="img-fluid js-maegler-img" />
3886 </div>
3887 <div class="col-6">
3888 <p class="js-maegler-name"></p>
3889 <p class="js-maegler-address"></p>
3890 <p class="js-maegler-phone"></p>
3891 <p class="js-maegler-mail"></p>
3892 </div>
3893 </div>
3894 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
3895 </div>
3896 </div>
3897
3898 <!--ÅBENT HUS-->
3899 <div id="panel-aabenthus" class="panel panel-form">
3900 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
3901 <b></b>
3902 </button>
3903
3904
3905 <form id="form-aabenthus" method="POST" action="/InboxHandler">
3906 <h2>@Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")</h2>
3907 <div class="d-block">
3908 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
3909 </div>
3910 <div class="d-block">
3911 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
3912 </div>
3913 <div class="d-block mb-4">
3914 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
3915 </div>
3916 <h3>@Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")</h3>
3917 <div class="form-group">
3918 <label for="aabenthus-name"><strong>@Translate("form-navn", "Navn")*</strong></label>
3919 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current?.User?.Name' required />
3920 </div>
3921 <div class="form-group">
3922 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
3923 <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 />
3924 </div>
3925 <div class="form-group row">
3926 <div class="col-6">
3927 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
3928 <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 />
3929 </div>
3930 <div class="col-6">
3931 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
3932 <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' />
3933 </div>
3934 </div>
3935 <div class="form-group">
3936 <div class="row">
3937 <div class="col-12">
3938 <button type="submit" class="btn btn-block btn-green">@Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")</button>
3939 </div>
3940 </div>
3941 </div>
3942 <div class="form-group">
3943 <div class="checkbox">
3944 <label>
3945 <input type="checkbox" name="kontaktmigok" required />
3946
3947 <span class="base-color">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
3948
3949 </label>
3950 </div>
3951 </div>
3952 <div class="form-group">
3953 @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>")
3954
3955 </div>
3956 <input type="hidden" name="fn" value="ah" />
3957 <input type="hidden" name="origin" value="" />
3958 <input type="hidden" name="brugerId" value="@userID" />
3959 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
3960 <input type="hidden" name="butikId" value="@butikId" />
3961 <input type="hidden" name="sagsaddresse" value="" class="js-aabenthus-address-input" />
3962 <input type="hidden" name="ejendomstype" value="" />
3963 <input type="hidden" name="salgspris" value="" />
3964 <input type="hidden" name="modtager" value="" />
3965 <input type="hidden" name="employee" value="" />
3966 <input type="hidden" name="sagsnr" value="" class="js-sagsnr" />
3967 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
3968 <input type="hidden" name="aftaleid" value="" class="js-aftaleid" />
3969
3970 <input type="hidden" name="dateMail" class="js-aabenthus-date-input" />
3971 <input type="hidden" name="timeMail" class="js-aabenthus-time-input" />
3972 <input type="hidden" name="brokerImageMail" class="property-broker-image-input" />
3973 <input type="hidden" name="employeeNameMail" class="js-maegler-employee-name-input" />
3974 <input type="hidden" name="employeeTitleMail" class="js-maegler-employee-title-input" />
3975 <input type="hidden" name="employeeMailMail" class="js-maegler-mail-input" />
3976 <input type="hidden" name="employeeMobileMail" class="js-maegler-mobile-input" />
3977 <input type="hidden" name="employeePhoneMail" class="js-maegler-phone-input" />
3978
3979 <input type="hidden" name="brokerNameMail" class="js-broker-name-input" />
3980 <input type="hidden" name="brokerAddressMail" class="js-broker-address-input" />
3981 <input type="hidden" name="brokerPhoneMail" class="js-broker-phone-input" />
3982 </form>
3983 <div id="tak-aabenthus" style="display:none;">
3984 <h2>@Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")</h2>
3985 <div class="d-block">
3986 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
3987 </div>
3988 <div class="d-block">
3989 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
3990
3991 </div>
3992 <div class="d-block mb-4">
3993 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
3994
3995 </div>
3996
3997 <div class="js-employee">
3998 <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>
3999 </div>
4000 <div class="js-not-employee">
4001 <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>
4002 </div>
4003
4004 <div class="row">
4005 <div class="js-employee">
4006 <div class="col-12 js-maegler-img aabenthus-image">
4007 <div class="property-broker-image" style=""></div>
4008
4009 </div>
4010 </div>
4011 <div class="col-12">
4012 <div class="bg-base">
4013
4014 <div class="js-employee">
4015 <h4 class="js-maegler-employee-name"></h4>
4016 <div class="icon-container">
4017 <i class="fas fa-envelope"></i> <span class="js-maegler-mail"></span>
4018 </div>
4019 <div class="icon-container">
4020 <i class="fas fa-phone"></i> <span class="js-maegler-mobile"></span>
4021 </div>
4022 </div>
4023
4024
4025 <h4 class="js-maegler-name"></h4>
4026 <div class="icon-container">
4027 <i class="fas fa-map-marker-alt"></i> <span class="js-maegler-address"></span>
4028 </div>
4029 <div class="icon-container">
4030 <i class="fas fa-phone"></i> <span class="js-maegler-phone"></span>
4031
4032 </div>
4033 <a class="btn btn-border" onclick="panelKontaktmaeglerGuldkoeber()">KONTAKT MÆGLER</a>
4034 </div>
4035 </div>
4036 </div>
4037 </div>
4038 </div>
4039
4040 <!-- KONTAKT GULDKØBER -->
4041 <div id="panel-kontakt-guldkoeber" class="panel panel-form">
4042 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4043 <b></b>
4044 </button>
4045 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
4046 <form id="form-kontaktmaegler" method="POST" action="/InboxHandler">
4047 <div class="form-group">
4048 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4049 <input class="form-control" type="text" name="navn" placeholder='@Translate("form-navn", "Navn")' value='@UserContext.Current.User?.Name' required />
4050 </div>
4051 <div class="form-group">
4052 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4053 <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 />
4054 </div>
4055 <div class="form-group row mb-4">
4056 <div class="col-6">
4057 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4058 <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 />
4059 </div>
4060 <div class="col-6">
4061 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4062 <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' />
4063 </div>
4064 </div>
4065 <div class="form-group row">
4066 <div class="col-4">
4067 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4068 <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 />
4069 <input type="hidden" class="js-postnummer-validation" />
4070 </div>
4071 <div class="col-8">
4072 <label><strong>@Translate("form-city", "By")*</strong></label>
4073 <input class="form-control js-city" type="text" readonly />
4074 </div>
4075 </div>
4076
4077 <div class="form-group overflow-unset">
4078 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4079 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4080 <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>
4081 </div>
4082 <div class="form-group">
4083 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4084 </div>
4085 <div class="form-group">
4086 <div class="checkbox">
4087 <label>
4088 <input type="checkbox" name="kontaktmigok" required />
4089
4090 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4091
4092 </label>
4093 </div>
4094 </div>
4095 <div class="form-group">
4096 <div class="row">
4097 <div class="col-12">
4098 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
4099 </div>
4100 </div>
4101 </div>
4102 <div class="form-group form-group-terms">
4103 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4104 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4105 </div>
4106 <input type="hidden" name="fn" value="gk" />
4107 <input type="hidden" name="origin" value="" />
4108 <input type="hidden" name="brugerId" value="@userID" />
4109 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4110 <input type="hidden" name="butikId" value="@butikId" />
4111 <input type="hidden" name="ejendomstype" value="" />
4112 <input type="hidden" name="salgspris" value="" />
4113 <input type="hidden" name="modtager" value="" />
4114 <input type="hidden" name="employee" value="" />
4115 </form>
4116 <div id="tak-kontakt-maegler-guldkoeber" style="display:none;">
4117 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4118 <p>@Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")</p>
4119 <div class="row">
4120 <div class="col-6">
4121 <img src="" class="img-fluid js-maegler-img" />
4122 </div>
4123 <div class="col-6">
4124 <p class="js-maegler-name"></p>
4125 <p class="js-maegler-address"></p>
4126 <p class="js-maegler-phone"></p>
4127 <p class="js-maegler-mail"></p>
4128 </div>
4129 </div>
4130 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4131 </div>
4132 </div>
4133
4134 <!-- BESTIL SALGSVURDERING -->
4135 <div id="panel-salgsvurdering" class="panel panel-form">
4136 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4137 <b></b>
4138 </button>
4139
4140 <form id="bestil-salgsvurdering" class="buyer-advisor-form js-buyer-advisor-form" method="POST" action="/InboxHandler">
4141 <h2 class="js-buyer-advisor-header">@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
4142 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
4143 <div class="form-group">
4144 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4145 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required />
4146 </div>
4147 <div class="form-group">
4148 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4149 <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 />
4150 </div>
4151 <div class="form-group row mb-4">
4152 <div class="col-6">
4153 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4154 <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 />
4155 </div>
4156 <div class="col-6">
4157 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4158 <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' />
4159 </div>
4160
4161 </div>
4162
4163 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
4164 <div class="form-group row">
4165 <div class="col-4">
4166 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4167 <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 />
4168 <input type="hidden" class="js-postnummer-validation" />
4169 </div>
4170 <div class="col-8">
4171 <label><strong>@Translate("form-city", "By")*</strong></label>
4172 <input class="form-control js-city" type="text" readonly />
4173 </div>
4174 </div>
4175 <div class="form-group overflow-unset">
4176 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4177 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4178 <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>
4179 </div>
4180
4181 <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">
4182 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
4183 </button>
4184 <div class="collapse" id="salgsvurdering-collapse">
4185 <div class="form-group">
4186 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4187 </div>
4188 </div>
4189
4190
4191 <div class="salgsvurdering-precheck">
4192 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
4193 <div class="col-12">
4194 <div class="choose-broker row align-items-center active">
4195 <div class="col-2">
4196 <input class="js-broker-radio" type="radio" id="" name="choose-broker" value="" checked>
4197 <label class="js-broker-label" for=""></label><div class="check">
4198 <div class="inside">
4199 </div>
4200 </div>
4201 </div>
4202 <div class="col-4">
4203 <img src="" class="img-fluid js-broker-image">
4204 </div>
4205 <div class="col-6">
4206 <span class="d-block">
4207 <strong class="js-choose-broker-name"></strong>
4208 </span>
4209 <span class="js-choose-broker-address"></span>
4210 <input type="hidden" class="js-choose-broker-phone" value="" />
4211 <input type="hidden" class="js-choose-broker-email" value="" />
4212 </div>
4213 </div>
4214 </div>
4215 </div>
4216 <div class="salgsvurdering-broker">
4217 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
4218 <div class="js-choose-broker col-12">
4219 </div>
4220
4221 </div>
4222
4223 <div class="form-group mt-4">
4224 <div class="checkbox">
4225 <label>
4226 <input type="checkbox" name="kontaktmigok" required />
4227
4228 <span class="consent-checkbox">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4229
4230 </label>
4231 </div>
4232 </div>
4233 <div class="form-group">
4234 <div class="row">
4235 <div class="col-12">
4236 <button type="submit" class="btn btn-green btn-block js-buyer-advisor-button">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
4237 </div>
4238 </div>
4239 </div>
4240 <div class="form-group form-group-terms">
4241 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4242 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4243 </div>
4244 <input type="hidden" name="fn" value="bsv" />
4245 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
4246 <input type="hidden" name="brugerId" value="@userID" />
4247 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4248 <input type="hidden" id="boligvisning" name="boligvisning" value="" />
4249 <input type="hidden" id="panel-salgsvurdering-butikid" name="butikId" value="" />
4250 <input type="hidden" id="panel-salgsvurdering-sagsnr" name="sagsnr" value="" />
4251 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
4252 <input type="hidden" name="ejendomstype" value="" />
4253 <input type="hidden" name="salgspris" value="" />
4254 <input type="hidden" name="employee" value="" />
4255 <input type="hidden" name="modtager" value="" />
4256 <input class="js-value-check" type="hidden" name="valueCheck" value="" />
4257 <input class="js-green-appraisal" type="hidden" name="greenAppraisal" value="" />
4258 </form>
4259 <div id="tak-salgsvurdering" style="display:none;">
4260 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4261 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
4262 <div class="row">
4263 <div class="col-6">
4264 <img src="" class="img-fluid js-maegler-img" />
4265 </div>
4266 <div class="col-6">
4267 <p class="js-maegler-name"></p>
4268 <p class="js-maegler-address"></p>
4269 <p class="js-maegler-phone"></p>
4270 <p class="js-maegler-mail"></p>
4271 </div>
4272 </div>
4273 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4274 </div>
4275 </div>
4276
4277 <!-- BESTIL SALGSVURDERING GULDKØBER -->
4278 <div id="panel-salgsvurdering-guldkoeber" class="panel panel-form">
4279 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
4280 <b></b>
4281 </button>
4282
4283 <form id="bestil-salgsvurdering-guldkoeber" method="POST" action="/InboxHandler">
4284 <h2>@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
4285 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
4286 <div class="form-group">
4287 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
4288 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required />
4289 </div>
4290 <div class="form-group">
4291 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
4292 <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 />
4293 </div>
4294 <div class="form-group row mb-4">
4295 <div class="col-6">
4296 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
4297 <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' />
4298 </div>
4299 <div class="col-6">
4300 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
4301 <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 />
4302 </div>
4303 </div>
4304
4305 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
4306
4307 <div class="form-group row">
4308 <div class="col-4">
4309 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
4310 <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 />
4311 <input type="hidden" class="js-postnummer-validation" />
4312 </div>
4313 <div class="col-8">
4314 <label><strong>@Translate("form-city", "By")*</strong></label>
4315 <input class="form-control js-city" type="text" readonly />
4316 </div>
4317 </div>
4318 <div class="form-group overflow-unset">
4319 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
4320 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
4321 <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>
4322 </div>
4323
4324 <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">
4325 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
4326 </button>
4327 <div class="collapse" id="salgsvurdering-collapse">
4328 <div class="form-group">
4329 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
4330 </div>
4331 </div>
4332
4333 <div class="salgsvurdering-precheck">
4334 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
4335 <div class="col-12">
4336 <div class="choose-broker row align-items-center active">
4337 <div class="col-2">
4338 <input class="js-broker-radio" type="radio" id="" name="choose-broker-gk" value="" checked>
4339 <label class="js-broker-label" for=""></label><div class="check">
4340 <div class="inside">
4341 </div>
4342 </div>
4343 </div>
4344 <div class="col-4">
4345 <img src="" class="img-fluid js-broker-image">
4346 </div>
4347 <div class="col-6">
4348 <span class="d-block">
4349 <strong class="js-choose-broker-name"></strong>
4350 </span>
4351 <span class="js-choose-broker-address"></span>
4352 <input type="hidden" class="js-choose-broker-phone" value="" />
4353 <input type="hidden" class="js-choose-broker-email" value="" />
4354 </div>
4355 </div>
4356 </div>
4357 </div>
4358 <div class="salgsvurdering-broker">
4359 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
4360 <div class="js-choose-broker col-12">
4361 </div>
4362
4363 </div>
4364
4365
4366 <div class="form-group">
4367 <div class="row">
4368 <div class="col-12">
4369 <button type="submit" class="btn btn-green btn-block">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
4370 </div>
4371 </div>
4372 </div>
4373 <div class="form-group">
4374 <div class="checkbox">
4375 <label>
4376 <input type="checkbox" name="kontaktmigok" required />
4377
4378 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
4379
4380 </label>
4381 </div>
4382 </div>
4383 <div class="form-group form-group-terms">
4384 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
4385 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
4386 </div>
4387 <input type="hidden" name="fn" value="bsg" />
4388 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
4389 <input type="hidden" name="brugerId" value="@userID" />
4390 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
4391 <input type="hidden" id="boligvisning-gk" name="boligvisning" value="" />
4392 <input type="hidden" id="panel-salgsvurdering-gk-butikid" name="butikId" value="" />
4393 <input type="hidden" id="panel-salgsvurdering-gk-sagsnr" name="sagsnr" value="" />
4394 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
4395 <input type="hidden" name="ejendomstype" value="" />
4396 <input type="hidden" name="salgspris" value="" />
4397 <input type="hidden" name="employee" value="" />
4398 <input type="hidden" name="modtager" value="" />
4399 </form>
4400 <div id="tak-salgsvurdering" style="display:none;">
4401 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
4402 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
4403 <div class="row">
4404 <div class="col-6">
4405 <img src="" class="img-fluid js-maegler-img" />
4406 </div>
4407 <div class="col-6">
4408 <p class="js-maegler-name"></p>
4409 <p class="js-maegler-address"></p>
4410 <p class="js-maegler-phone"></p>
4411 <p class="js-maegler-mail"></p>
4412 </div>
4413 </div>
4414 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
4415 </div>
4416 </div>
4417
4418
4419 <div class="overlay-wrapper"></div>
4420 <div class="dropdown-overlay"></div>
4421 <div class="loader-inner ball-pulse"></div>
4422
4423 @{
4424 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js"));
4425 <script type="text/javascript" src='@(TemplateUrl)assets/webpack/js/3rdparty/viamapstrap.js?@(viamapstrapFileInfo.LastWriteTime.Ticks)' async></script>
4426
4427 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js"));
4428 <script type="text/javascript" src='@(TemplateUrl)assets/dist/bundle.app.min.js?@(bundleFileInfo.LastWriteTime.Ticks)' async></script>
4429 }
4430
4431 @RenderSnippet("JavaScriptBottom")
4432
4433 @if (Context.Current.Request.QueryString["ShowLogin"] == "true")
4434 {
4435 <input class="js-showLogin" value="true" />
4436 }
4437
4438 @if (!string.IsNullOrEmpty(settings_ConduzeId))
4439 {
4440 <script type="text/javascript" id="conduze-sdk" src="https://cdn.conduze.com/@settings_ConduzeId/tracking.js" async></script>
4441 }
4442
4443 @if (!string.IsNullOrEmpty(settings_Weply))
4444 {
4445 <script src="https://app.weply.chat/widget/@settings_Weply" async></script>
4446 }
4447
4448 </body>
4449 </html>
4450
4451