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 4999: The variable 'placeholderImage' is assigned but its value is never used
Line 5643: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5669: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5671: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5673: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5675: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5688: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5690: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5692: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5694: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5697: 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_ff4572f08f3b4dccafe5a82b34c762c4 : 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=\"", 111966, "\"", 111992, 1);
339 WriteAttributeValue("", 111976, MetaDescription, 111976, 16, false);
340 EndWriteAttribute();
341 WriteLiteral(">\r\n <meta name=\"keywords\"");
342 BeginWriteAttribute("content", " content=\"", 112021, "\"", 112044, 1);
343 WriteAttributeValue("", 112031, MetaKeywords, 112031, 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=\"", 112176, "\"", 112282, 3);
347 WriteAttributeValue("", 112186, Pageview.Area.Noindex ? "noindex" : "index", 112186, 46, false);
348 WriteAttributeValue("", 112232, ",", 112232, 1, true);
349 WriteAttributeValue("", 112233, Pageview.Area.Nofollow ? "nofollow" : "follow", 112233, 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=\"", 112474, "\"", 112554, 2);
359 WriteAttributeValue("", 112480, "https://www.googleoptimize.com/optimize.js?id=", 112480, 46, true);
360 WriteAttributeValue("", 112526, settings_Google_Optimize_Id, 112526, 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=\"", 114176, "\"", 114227, 2);
413 WriteAttributeValue("", 114183, TemplateUrl, 114183, 14, false);
414 WriteAttributeValue("", 114197, "assets/fontawesome/css/all.css", 114197, 30, true);
415 EndWriteAttribute();
416 WriteLiteral(" async />\r\n <link rel=\"stylesheet\"");
417 BeginWriteAttribute("href", " href=\"", 114269, "\"", 114284, 1);
418 WriteAttributeValue("", 114276, mainCSS, 114276, 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=\"", 114688, "\"", 114706, 1);
428 WriteAttributeValue("", 114695, erhvervCSS, 114695, 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=\"", 114775, "\"", 114839, 2);
434 WriteAttributeValue("", 114782, TemplateUrl, 114782, 14, false);
435 WriteAttributeValue("", 114796, "assets/images/favicons/favicon-real.ico?v=1", 114796, 43, true);
436 EndWriteAttribute();
437 WriteLiteral(">\r\n <link rel=\"icon\" type=\"image/png\"");
438 BeginWriteAttribute("href", " href=\"", 114880, "\"", 114946, 2);
439 WriteAttributeValue("", 114887, TemplateUrl, 114887, 14, false);
440 WriteAttributeValue("", 114901, "assets/images/favicons/favicon-real-16x16.png", 114901, 45, true);
441 EndWriteAttribute();
442 WriteLiteral(" sizes=\"16x16\">\r\n <link rel=\"icon\" type=\"image/png\"");
443 BeginWriteAttribute("href", " href=\"", 115001, "\"", 115067, 2);
444 WriteAttributeValue("", 115008, TemplateUrl, 115008, 14, false);
445 WriteAttributeValue("", 115022, "assets/images/favicons/favicon-real-32x32.png", 115022, 45, true);
446 EndWriteAttribute();
447 WriteLiteral(" sizes=\"32x32\">\r\n <link rel=\"icon\" type=\"image/png\"");
448 BeginWriteAttribute("href", " href=\"", 115122, "\"", 115188, 2);
449 WriteAttributeValue("", 115129, TemplateUrl, 115129, 14, false);
450 WriteAttributeValue("", 115143, "assets/images/favicons/favicon-real-96x96.png", 115143, 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=\"", 116170, "\"", 116242, 2);
473 WriteAttributeValue("", 116176, "https://call.call-tracking.dk/getJavascript?custid=", 116176, 51, true);
474 WriteAttributeValue("", 116227, callTrackingId, 116227, 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=\"", 119145, "\"", 119230, 3);
550 WriteAttributeValue("", 119151, "https://www.facebook.com/tr?id=", 119151, 31, true);
551 WriteAttributeValue("", 119182, settings_Facebook_App_ID, 119182, 25, false);
552 WriteAttributeValue("", 119207, "&ev=PageView&noscript=1", 119207, 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=\"", 119506, "\"", 119533, 2);
558 WriteAttributeValue("", 119514, template, 119514, 9, false);
559 WriteAttributeValue("", 119523, bodyClass, 119523, 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=\"", 120206, "\"", 120220, 1);
577 WriteAttributeValue("", 120212, logoUrl, 120212, 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=\'", 120787, "\'", 120821, 1);
585 WriteAttributeValue("", 120795, settings_BoligListErhverv, 120795, 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=\"", 121615, "\"", 121642, 1);
599 WriteAttributeValue("", 121622, querySearchNameAttr, 121622, 20, false);
600 EndWriteAttribute();
601 WriteLiteral(" id=\"searchfield-top\" class=\"search-input js-float-label js-getdata\" tabindex=\"1\"");
602 BeginWriteAttribute("value", " value=\"", 121724, "\"", 121802, 1);
603 WriteAttributeValue("", 121732, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 121732, 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=\"", 126319, "\"", 126333, 1);
675 WriteAttributeValue("", 126325, logoUrl, 126325, 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=\'", 126697, "\'", 126704, 0);
685 EndWriteAttribute();
686 BeginWriteAttribute("class", " class=\"", 126705, "\"", 126821, 9);
687 WriteAttributeValue("", 126713, "search-menu", 126713, 11, true);
688 WriteAttributeValue(" ", 126724, "d-none", 126725, 7, true);
689 WriteAttributeValue(" ", 126731, "d-xl-flex", 126732, 10, true);
690 WriteAttributeValue(" ", 126741, "align-items-center", 126742, 19, true);
691 WriteAttributeValue(" ", 126760, "float-left", 126761, 11, true);
692 WriteAttributeValue(" ", 126771, "border-right", 126772, 13, true);
693 WriteAttributeValue(" ", 126784, "js-mainsearch", 126785, 14, true);
694 WriteAttributeValue(" ", 126798, "topsearch", 126799, 10, true);
695 WriteAttributeValue(" ", 126808, searchClass, 126809, 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=\'", 127487, "\'", 127511, 1);
710 WriteAttributeValue("", 127494, settings_MinSide, 127494, 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=\'", 128207, "\'", 128214, 0);
724 EndWriteAttribute();
725 BeginWriteAttribute("class", " class=\"", 128215, "\"", 128311, 7);
726 WriteAttributeValue("", 128223, "search-menu", 128223, 11, true);
727 WriteAttributeValue(" ", 128234, "d-flex", 128235, 7, true);
728 WriteAttributeValue(" ", 128241, "align-items-center", 128242, 19, true);
729 WriteAttributeValue(" ", 128260, "float-left", 128261, 11, true);
730 WriteAttributeValue(" ", 128271, "border-right", 128272, 13, true);
731 WriteAttributeValue(" ", 128284, "js-mainsearch", 128285, 14, true);
732 WriteAttributeValue(" ", 128298, searchClass, 128299, 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=\'", 129756, "\'", 129777, 1);
757 WriteAttributeValue("", 129764, searchPageId, 129764, 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=\"", 130061, "\"", 130088, 1);
766 WriteAttributeValue("", 130068, querySearchNameAttr, 130068, 20, false);
767 EndWriteAttribute();
768 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
769 BeginWriteAttribute("value", " value=\"", 130191, "\"", 130269, 1);
770 WriteAttributeValue("", 130199, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 130199, 70, false);
771 EndWriteAttribute();
772 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
773 BeginWriteAttribute("value", " value=\"", 130363, "\"", 130446, 1);
774 WriteAttributeValue("", 130371, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 130371, 75, false);
775 EndWriteAttribute();
776 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
777 BeginWriteAttribute("value", " value=\"", 130536, "\"", 130617, 1);
778 WriteAttributeValue("", 130544, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 130544, 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=\'", 132868, "\'", 132945, 1);
815 WriteAttributeValue("", 132882, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 132882, 63, false);
816 EndWriteAttribute();
817 BeginWriteAttribute("value", " value=\'", 132946, "\'", 133082, 1);
818 WriteAttributeValue("", 132954, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemin"]) ? Context.Current.Request.QueryString["pricemin"] : "", 132954, 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=\"", 133719, "\"", 133729, 1);
829 WriteAttributeValue("", 133727, i, 133727, 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=\"", 134059, "\"", 134069, 1);
841 WriteAttributeValue("", 134067, i, 134067, 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=\'", 134473, "\'", 134550, 1);
852 WriteAttributeValue("", 134487, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 134487, 63, false);
853 EndWriteAttribute();
854 BeginWriteAttribute("value", " value=\'", 134551, "\'", 134687, 1);
855 WriteAttributeValue("", 134559, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemax"]) ? Context.Current.Request.QueryString["pricemax"] : "", 134559, 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=\"", 135318, "\"", 135328, 1);
866 WriteAttributeValue("", 135326, i, 135326, 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=\"", 135658, "\"", 135668, 1);
878 WriteAttributeValue("", 135666, i, 135666, 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=\'", 138430, "\'", 138503, 1);
923 WriteAttributeValue("", 138444, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 138444, 59, false);
924 EndWriteAttribute();
925 BeginWriteAttribute("value", " value=\'", 138504, "\'", 138650, 1);
926 WriteAttributeValue("", 138512, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmin"]) ? Context.Current.Request.QueryString["boligarealmin"] : "", 138512, 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=\'", 140035, "\'", 140108, 1);
952 WriteAttributeValue("", 140049, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 140049, 59, false);
953 EndWriteAttribute();
954 BeginWriteAttribute("value", " value=\'", 140109, "\'", 140255, 1);
955 WriteAttributeValue("", 140117, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmax"]) ? Context.Current.Request.QueryString["boligarealmax"] : "", 140117, 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=\'", 142036, "\'", 142109, 1);
988 WriteAttributeValue("", 142050, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 142050, 59, false);
989 EndWriteAttribute();
990 BeginWriteAttribute("value", " value=\'", 142110, "\'", 142257, 1);
991 WriteAttributeValue("", 142118, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmin"]) ? Context.Current.Request.QueryString["grundarealmin"] : "", 142118, 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=\'", 143645, "\'", 143718, 1);
1016 WriteAttributeValue("", 143659, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 143659, 59, false);
1017 EndWriteAttribute();
1018 BeginWriteAttribute("value", " value=\'", 143719, "\'", 143866, 1);
1019 WriteAttributeValue("", 143727, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmax"]) ? Context.Current.Request.QueryString["grundarealmax"] : "", 143727, 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=\"", 149665, "\"", 149673, 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=\'", 150235, "\'", 150310, 1);
1109 WriteAttributeValue("", 150249, Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"), 150249, 61, false);
1110 EndWriteAttribute();
1111 BeginWriteAttribute("value", " value=\'", 150311, "\'", 150452, 1);
1112 WriteAttributeValue("", 150319, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymin"]) ? Context.Current.Request.QueryString["subsidymin"] : "", 150319, 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=\"", 151096, "\"", 151125, 1);
1123 WriteAttributeValue("", 151104, Converter.ToInt32(i), 151104, 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=\"", 151422, "\"", 151451, 1);
1133 WriteAttributeValue("", 151430, Converter.ToInt32(i), 151430, 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=\'", 151963, "\'", 152038, 1);
1145 WriteAttributeValue("", 151977, Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"), 151977, 61, false);
1146 EndWriteAttribute();
1147 BeginWriteAttribute("value", " value=\'", 152039, "\'", 152180, 1);
1148 WriteAttributeValue("", 152047, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymax"]) ? Context.Current.Request.QueryString["subsidymax"] : "", 152047, 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=\"", 152820, "\"", 152849, 1);
1159 WriteAttributeValue("", 152828, Converter.ToInt32(i), 152828, 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=\"", 153144, "\"", 153173, 1);
1169 WriteAttributeValue("", 153152, Converter.ToInt32(i), 153152, 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=\'", 155287, "\'", 155308, 1);
1207 WriteAttributeValue("", 155295, searchPageId, 155295, 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=\"", 155572, "\"", 155599, 1);
1216 WriteAttributeValue("", 155579, querySearchNameAttr, 155579, 20, false);
1217 EndWriteAttribute();
1218 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
1219 BeginWriteAttribute("value", " value=\'", 155702, "\'", 155722, 1);
1220 WriteAttributeValue("", 155710, querySearch, 155710, 12, false);
1221 EndWriteAttribute();
1222 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\"");
1223 BeginWriteAttribute("value", " value=\'", 155816, "\'", 155841, 1);
1224 WriteAttributeValue("", 155824, queryZipCodeFrom, 155824, 17, false);
1225 EndWriteAttribute();
1226 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\"");
1227 BeginWriteAttribute("value", " value=\'", 155931, "\'", 155954, 1);
1228 WriteAttributeValue("", 155939, queryZipCodeTo, 155939, 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=\'", 158196, "\'", 158273, 1);
1265 WriteAttributeValue("", 158210, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 158210, 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=\"", 158910, "\"", 158920, 1);
1276 WriteAttributeValue("", 158918, i, 158918, 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=\"", 159252, "\"", 159262, 1);
1288 WriteAttributeValue("", 159260, i, 159260, 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=\'", 159668, "\'", 159745, 1);
1299 WriteAttributeValue("", 159682, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 159682, 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=\"", 160376, "\"", 160386, 1);
1310 WriteAttributeValue("", 160384, i, 160384, 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=\"", 160718, "\"", 160728, 1);
1322 WriteAttributeValue("", 160726, i, 160726, 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=\'", 164185, "\'", 164258, 1);
1384 WriteAttributeValue("", 164199, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 164199, 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=\'", 165641, "\'", 165714, 1);
1409 WriteAttributeValue("", 165655, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 165655, 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=\'", 167493, "\'", 167566, 1);
1441 WriteAttributeValue("", 167507, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 167507, 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=\"", 168206, "\"", 168235, 1);
1452 WriteAttributeValue("", 168214, Converter.ToInt32(i), 168214, 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=\"", 168532, "\"", 168561, 1);
1462 WriteAttributeValue("", 168540, Converter.ToInt32(i), 168540, 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=\'", 169082, "\'", 169155, 1);
1474 WriteAttributeValue("", 169096, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 169096, 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=\"", 169786, "\"", 169815, 1);
1485 WriteAttributeValue("", 169794, Converter.ToInt32(i), 169794, 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=\"", 170112, "\"", 170141, 1);
1495 WriteAttributeValue("", 170120, Converter.ToInt32(i), 170120, 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=\"", 174647, "\"", 174655, 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=\'", 175217, "\'", 175284, 1);
1571 WriteAttributeValue("", 175231, Translate("Smartpage:Search.Placeholder.Min", "Min"), 175231, 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=\"", 175928, "\"", 175957, 1);
1582 WriteAttributeValue("", 175936, Converter.ToInt32(i), 175936, 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=\"", 176254, "\"", 176283, 1);
1592 WriteAttributeValue("", 176262, Converter.ToInt32(i), 176262, 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=\'", 176795, "\'", 176862, 1);
1604 WriteAttributeValue("", 176809, Translate("Smartpage:Search.Placeholder.Max", "Max"), 176809, 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=\"", 177502, "\"", 177531, 1);
1615 WriteAttributeValue("", 177510, Converter.ToInt32(i), 177510, 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=\"", 177828, "\"", 177857, 1);
1625 WriteAttributeValue("", 177836, Converter.ToInt32(i), 177836, 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=\"", 196651, "\"", 196678, 2);
1993 WriteAttributeValue("", 196659, "img-wrapper", 196659, 11, true);
1994 WriteAttributeValue(" ", 196670, bClass, 196671, 7, false);
1995 EndWriteAttribute();
1996 BeginWriteAttribute("style", " style=\"", 196679, "\"", 196718, 3);
1997 WriteAttributeValue("", 196687, "background-image:url(\'", 196687, 22, true);
1998 WriteAttributeValue("", 196709, bImage, 196709, 7, false);
1999 WriteAttributeValue("", 196716, "\')", 196716, 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=\"", 197275, "\"", 197335, 2);
2015 WriteAttributeValue("", 197282, "mailto:", 197282, 7, true);
2016 WriteAttributeValue("", 197289, ExtractMaskedEmail(MyBroker.Employee.Email), 197289, 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=\"", 197634, "\"", 197677, 2);
2027 WriteAttributeValue("", 197641, "tel:", 197641, 4, true);
2028 WriteAttributeValue("", 197645, MyBroker.Employee.PhoneMobile, 197645, 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=\"", 197977, "\"", 198016, 2);
2039 WriteAttributeValue("", 197984, "tel:", 197984, 4, true);
2040 WriteAttributeValue("", 197988, MyBroker.Broker.Telephone, 197988, 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=\"", 198805, "\"", 198828, 2);
2060 WriteAttributeValue("", 198812, "mailto:", 198812, 7, true);
2061 WriteAttributeValue("", 198819, bEmail, 198819, 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=\"", 199093, "\"", 199132, 2);
2072 WriteAttributeValue("", 199100, "tel:", 199100, 4, true);
2073 WriteAttributeValue("", 199104, MyBroker.Broker.Telephone, 199104, 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=\"", 199508, "\"", 199543, 2);
2082 WriteAttributeValue("", 199515, "/", 199515, 1, true);
2083 WriteAttributeValue("", 199516, medlemsnummer.Substring(1), 199516, 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=\"", 201606, "\"", 201615, 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=\'", 203855, "\'", 203937, 1);
2146 WriteAttributeValue("", 203869, Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn"), 203869, 68, false);
2147 EndWriteAttribute();
2148 BeginWriteAttribute("value", " value=\'", 203938, "\'", 203977, 1);
2149 WriteAttributeValue("", 203946, UserContext.Current.User?.Name, 203946, 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=\'", 204254, "\'", 204339, 1);
2155 WriteAttributeValue("", 204268, Translate("Smartpage:Kontakt.Placeholder.Email", "Indtast din e-mail"), 204268, 71, false);
2156 EndWriteAttribute();
2157 BeginWriteAttribute("value", " value=\'", 204340, "\'", 204380, 1);
2158 WriteAttributeValue("", 204348, UserContext.Current.User?.Email, 204348, 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=\'", 204691, "\'", 204776, 1);
2164 WriteAttributeValue("", 204705, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 204705, 71, false);
2165 EndWriteAttribute();
2166 BeginWriteAttribute("value", " value=\'", 204777, "\'", 204817, 1);
2167 WriteAttributeValue("", 204785, UserContext.Current.User?.Phone, 204785, 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=\'", 205100, "\'", 205184, 1);
2173 WriteAttributeValue("", 205114, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 205114, 70, false);
2174 EndWriteAttribute();
2175 BeginWriteAttribute("value", " value=\'", 205185, "\'", 205226, 1);
2176 WriteAttributeValue("", 205193, UserContext.Current?.User?.Phone, 205193, 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=\'", 205634, "\'", 205712, 1);
2184 WriteAttributeValue("", 205648, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 205648, 64, false);
2185 EndWriteAttribute();
2186 BeginWriteAttribute("value", " value=\"", 205713, "\"", 205729, 1);
2187 WriteAttributeValue("", 205721, userZip, 205721, 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=\'", 206296, "\'", 206386, 1);
2195 WriteAttributeValue("", 206310, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 206310, 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=\'", 207180, "\'", 207258, 1);
2206 WriteAttributeValue("", 207194, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 207194, 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=\"", 208071, "\"", 208095, 2);
2225 WriteAttributeValue("", 208078, "mailto:", 208078, 7, true);
2226 WriteAttributeValue("", 208085, termsMail, 208085, 10, false);
2227 EndWriteAttribute();
2228 WriteLiteral(">");
2229 Write(termsMail);
2230 WriteLiteral("</a>.\r\n Læs mere på <a");
2231 BeginWriteAttribute("href", " href=\"", 208140, "\"", 208174, 1);
2232 WriteAttributeValue("", 208147, settings_Persondatapolitik, 208147, 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=\"", 208320, "\"", 208328, 0);
2236 EndWriteAttribute();
2237 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2238 BeginWriteAttribute("value", " value=\"", 208378, "\"", 208386, 0);
2239 EndWriteAttribute();
2240 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2241 BeginWriteAttribute("value", " value=\"", 208434, "\"", 208458, 1);
2242 WriteAttributeValue("", 208442, Pageview.AreaID, 208442, 16, false);
2243 EndWriteAttribute();
2244 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2245 BeginWriteAttribute("value", " value=\"", 208507, "\"", 208523, 1);
2246 WriteAttributeValue("", 208515, butikId, 208515, 8, false);
2247 EndWriteAttribute();
2248 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2249 BeginWriteAttribute("value", " value=\"", 208577, "\"", 208585, 0);
2250 EndWriteAttribute();
2251 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2252 BeginWriteAttribute("value", " value=\"", 208636, "\"", 208644, 0);
2253 EndWriteAttribute();
2254 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2255 BeginWriteAttribute("value", " value=\"", 208694, "\"", 208702, 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=\"", 208935, "\"", 208941, 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=\'", 210559, "\'", 210643, 1);
2299 WriteAttributeValue("", 210573, Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn"), 210573, 70, false);
2300 EndWriteAttribute();
2301 BeginWriteAttribute("value", " value=\'", 210644, "\'", 210684, 1);
2302 WriteAttributeValue("", 210652, UserContext.Current?.User?.Name, 210652, 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=\'", 210948, "\'", 211035, 1);
2308 WriteAttributeValue("", 210962, Translate("Smartpage:Aabenthus.Placeholder.Email", "Indtast din e-mail"), 210962, 73, false);
2309 EndWriteAttribute();
2310 BeginWriteAttribute("value", " value=\'", 211036, "\'", 211076, 1);
2311 WriteAttributeValue("", 211044, UserContext.Current.User?.Email, 211044, 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=\'", 211369, "\'", 211456, 1);
2317 WriteAttributeValue("", 211383, Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr."), 211383, 73, false);
2318 EndWriteAttribute();
2319 BeginWriteAttribute("value", " value=\'", 211457, "\'", 211497, 1);
2320 WriteAttributeValue("", 211465, UserContext.Current.User?.Phone, 211465, 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=\'", 211767, "\'", 211853, 1);
2326 WriteAttributeValue("", 211781, Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr."), 211781, 72, false);
2327 EndWriteAttribute();
2328 BeginWriteAttribute("value", " value=\'", 211854, "\'", 211894, 1);
2329 WriteAttributeValue("", 211862, UserContext.Current.User?.Phone, 211862, 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=\"", 213057, "\"", 213065, 0);
2348 EndWriteAttribute();
2349 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2350 BeginWriteAttribute("value", " value=\"", 213115, "\"", 213130, 1);
2351 WriteAttributeValue("", 213123, userID, 213123, 7, false);
2352 EndWriteAttribute();
2353 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2354 BeginWriteAttribute("value", " value=\"", 213178, "\"", 213202, 1);
2355 WriteAttributeValue("", 213186, Pageview.AreaID, 213186, 16, false);
2356 EndWriteAttribute();
2357 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2358 BeginWriteAttribute("value", " value=\"", 213251, "\"", 213267, 1);
2359 WriteAttributeValue("", 213259, butikId, 213259, 8, false);
2360 EndWriteAttribute();
2361 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsaddresse\"");
2362 BeginWriteAttribute("value", " value=\"", 213321, "\"", 213329, 0);
2363 EndWriteAttribute();
2364 WriteLiteral(" class=\"js-aabenthus-address-input\" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2365 BeginWriteAttribute("value", " value=\"", 213418, "\"", 213426, 0);
2366 EndWriteAttribute();
2367 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2368 BeginWriteAttribute("value", " value=\"", 213477, "\"", 213485, 0);
2369 EndWriteAttribute();
2370 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2371 BeginWriteAttribute("value", " value=\"", 213535, "\"", 213543, 0);
2372 EndWriteAttribute();
2373 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2374 BeginWriteAttribute("value", " value=\"", 213593, "\"", 213601, 0);
2375 EndWriteAttribute();
2376 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsnr\"");
2377 BeginWriteAttribute("value", " value=\"", 213649, "\"", 213657, 0);
2378 EndWriteAttribute();
2379 WriteLiteral(" class=\"js-sagsnr\" />\r\n <input type=\"hidden\" name=\"productId\"");
2380 BeginWriteAttribute("value", " value=\"", 213726, "\"", 213782, 1);
2381 WriteAttributeValue("", 213734, Dynamicweb.Context.Current.Request["ProductId"], 213734, 48, false);
2382 EndWriteAttribute();
2383 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"aftaleid\"");
2384 BeginWriteAttribute("value", " value=\"", 213832, "\"", 213840, 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=\"", 216232, "\"", 216240, 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=\'", 218025, "\'", 218070, 1);
2462 WriteAttributeValue("", 218039, Translate("form-navn", "Navn"), 218039, 31, false);
2463 EndWriteAttribute();
2464 BeginWriteAttribute("value", " value=\'", 218071, "\'", 218110, 1);
2465 WriteAttributeValue("", 218079, UserContext.Current.User?.Name, 218079, 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=\'", 218374, "\'", 218422, 1);
2471 WriteAttributeValue("", 218388, Translate("form-email", "E-mail"), 218388, 34, false);
2472 EndWriteAttribute();
2473 BeginWriteAttribute("value", " value=\'", 218423, "\'", 218463, 1);
2474 WriteAttributeValue("", 218431, UserContext.Current.User?.Email, 218431, 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=\'", 218761, "\'", 218846, 1);
2480 WriteAttributeValue("", 218775, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 218775, 71, false);
2481 EndWriteAttribute();
2482 BeginWriteAttribute("value", " value=\'", 218847, "\'", 218887, 1);
2483 WriteAttributeValue("", 218855, UserContext.Current.User?.Phone, 218855, 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=\'", 219157, "\'", 219241, 1);
2489 WriteAttributeValue("", 219171, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 219171, 70, false);
2490 EndWriteAttribute();
2491 BeginWriteAttribute("value", " value=\'", 219242, "\'", 219282, 1);
2492 WriteAttributeValue("", 219250, UserContext.Current.User?.Phone, 219250, 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=\'", 219598, "\'", 219676, 1);
2498 WriteAttributeValue("", 219612, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 219612, 64, false);
2499 EndWriteAttribute();
2500 BeginWriteAttribute("value", " value=\"", 219677, "\"", 219693, 1);
2501 WriteAttributeValue("", 219685, userZip, 219685, 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=\'", 220249, "\'", 220339, 1);
2509 WriteAttributeValue("", 220263, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 220263, 76, false);
2510 EndWriteAttribute();
2511 BeginWriteAttribute("value", " value=\"", 220340, "\"", 220360, 1);
2512 WriteAttributeValue("", 220348, userAddress, 220348, 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=\'", 220686, "\'", 220764, 1);
2518 WriteAttributeValue("", 220700, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 220700, 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=\"", 221550, "\"", 221574, 2);
2528 WriteAttributeValue("", 221557, "mailto:", 221557, 7, true);
2529 WriteAttributeValue("", 221564, termsMail, 221564, 10, false);
2530 EndWriteAttribute();
2531 WriteLiteral(">");
2532 Write(termsMail);
2533 WriteLiteral("</a>.\r\n Læs mere på <a");
2534 BeginWriteAttribute("href", " href=\"", 221619, "\"", 221653, 1);
2535 WriteAttributeValue("", 221626, settings_Persondatapolitik, 221626, 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=\"", 221796, "\"", 221804, 0);
2539 EndWriteAttribute();
2540 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2541 BeginWriteAttribute("value", " value=\"", 221854, "\"", 221869, 1);
2542 WriteAttributeValue("", 221862, userID, 221862, 7, false);
2543 EndWriteAttribute();
2544 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2545 BeginWriteAttribute("value", " value=\"", 221917, "\"", 221941, 1);
2546 WriteAttributeValue("", 221925, Pageview.AreaID, 221925, 16, false);
2547 EndWriteAttribute();
2548 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\"");
2549 BeginWriteAttribute("value", " value=\"", 221990, "\"", 222006, 1);
2550 WriteAttributeValue("", 221998, butikId, 221998, 8, false);
2551 EndWriteAttribute();
2552 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2553 BeginWriteAttribute("value", " value=\"", 222060, "\"", 222068, 0);
2554 EndWriteAttribute();
2555 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2556 BeginWriteAttribute("value", " value=\"", 222119, "\"", 222127, 0);
2557 EndWriteAttribute();
2558 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2559 BeginWriteAttribute("value", " value=\"", 222177, "\"", 222185, 0);
2560 EndWriteAttribute();
2561 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2562 BeginWriteAttribute("value", " value=\"", 222235, "\"", 222243, 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=\"", 222605, "\"", 222611, 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=\'", 223768, "\'", 223857, 1);
2601 WriteAttributeValue("", 223782, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 223782, 75, false);
2602 EndWriteAttribute();
2603 BeginWriteAttribute("value", " value=\'", 223858, "\'", 223897, 1);
2604 WriteAttributeValue("", 223866, UserContext.Current.User?.Name, 223866, 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=\'", 224161, "\'", 224253, 1);
2610 WriteAttributeValue("", 224175, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 224175, 78, false);
2611 EndWriteAttribute();
2612 BeginWriteAttribute("value", " value=\'", 224254, "\'", 224294, 1);
2613 WriteAttributeValue("", 224262, UserContext.Current.User?.Email, 224262, 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=\'", 224592, "\'", 224684, 1);
2619 WriteAttributeValue("", 224606, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 224606, 78, false);
2620 EndWriteAttribute();
2621 BeginWriteAttribute("value", " value=\'", 224685, "\'", 224725, 1);
2622 WriteAttributeValue("", 224693, UserContext.Current.User?.Phone, 224693, 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=\'", 224995, "\'", 225086, 1);
2628 WriteAttributeValue("", 225009, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 225009, 77, false);
2629 EndWriteAttribute();
2630 BeginWriteAttribute("value", " value=\'", 225087, "\'", 225127, 1);
2631 WriteAttributeValue("", 225095, UserContext.Current.User?.Phone, 225095, 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=\'", 225547, "\'", 225625, 1);
2639 WriteAttributeValue("", 225561, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 225561, 64, false);
2640 EndWriteAttribute();
2641 BeginWriteAttribute("value", " value=\"", 225626, "\"", 225642, 1);
2642 WriteAttributeValue("", 225634, userZip, 225634, 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=\'", 226196, "\'", 226286, 1);
2650 WriteAttributeValue("", 226210, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 226210, 76, false);
2651 EndWriteAttribute();
2652 BeginWriteAttribute("value", " value=\"", 226287, "\"", 226307, 1);
2653 WriteAttributeValue("", 226295, userAddress, 226295, 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=\'", 227077, "\'", 227155, 1);
2665 WriteAttributeValue("", 227091, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 227091, 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=\"", 227601, "\"", 227606, 0);
2671 EndWriteAttribute();
2672 WriteLiteral(" name=\"choose-broker\"");
2673 BeginWriteAttribute("value", " value=\"", 227628, "\"", 227636, 0);
2674 EndWriteAttribute();
2675 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2676 BeginWriteAttribute("for", " for=\"", 227702, "\"", 227708, 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=\"", 227954, "\"", 227960, 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=\"", 228372, "\"", 228380, 0);
2690 EndWriteAttribute();
2691 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2692 BeginWriteAttribute("value", " value=\"", 228461, "\"", 228469, 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=\"", 229629, "\"", 229653, 2);
2723 WriteAttributeValue("", 229636, "mailto:", 229636, 7, true);
2724 WriteAttributeValue("", 229643, termsMail, 229643, 10, false);
2725 EndWriteAttribute();
2726 WriteLiteral(">");
2727 Write(termsMail);
2728 WriteLiteral("</a>.\r\n Læs mere på <a");
2729 BeginWriteAttribute("href", " href=\"", 229698, "\"", 229732, 1);
2730 WriteAttributeValue("", 229705, settings_Persondatapolitik, 229705, 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=\"", 229909, "\"", 229917, 0);
2734 EndWriteAttribute();
2735 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2736 BeginWriteAttribute("value", " value=\"", 229967, "\"", 229982, 1);
2737 WriteAttributeValue("", 229975, userID, 229975, 7, false);
2738 EndWriteAttribute();
2739 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2740 BeginWriteAttribute("value", " value=\"", 230030, "\"", 230054, 1);
2741 WriteAttributeValue("", 230038, Pageview.AreaID, 230038, 16, false);
2742 EndWriteAttribute();
2743 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning\" name=\"boligvisning\"");
2744 BeginWriteAttribute("value", " value=\"", 230126, "\"", 230134, 0);
2745 EndWriteAttribute();
2746 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-butikid\" name=\"butikId\"");
2747 BeginWriteAttribute("value", " value=\"", 230217, "\"", 230225, 0);
2748 EndWriteAttribute();
2749 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-sagsnr\" name=\"sagsnr\"");
2750 BeginWriteAttribute("value", " value=\"", 230306, "\"", 230314, 0);
2751 EndWriteAttribute();
2752 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2753 BeginWriteAttribute("value", " value=\"", 230365, "\"", 230421, 1);
2754 WriteAttributeValue("", 230373, Dynamicweb.Context.Current.Request["ProductId"], 230373, 48, false);
2755 EndWriteAttribute();
2756 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2757 BeginWriteAttribute("value", " value=\"", 230475, "\"", 230483, 0);
2758 EndWriteAttribute();
2759 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2760 BeginWriteAttribute("value", " value=\"", 230534, "\"", 230542, 0);
2761 EndWriteAttribute();
2762 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2763 BeginWriteAttribute("value", " value=\"", 230592, "\"", 230600, 0);
2764 EndWriteAttribute();
2765 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2766 BeginWriteAttribute("value", " value=\"", 230650, "\"", 230658, 0);
2767 EndWriteAttribute();
2768 WriteLiteral(" />\r\n <input class=\"js-value-check\" type=\"hidden\" name=\"valueCheck\"");
2769 BeginWriteAttribute("value", " value=\"", 230733, "\"", 230741, 0);
2770 EndWriteAttribute();
2771 WriteLiteral(" />\r\n <input class=\"js-green-appraisal\" type=\"hidden\" name=\"greenAppraisal\"");
2772 BeginWriteAttribute("value", " value=\"", 230824, "\"", 230832, 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=\"", 231194, "\"", 231200, 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=\'", 232308, "\'", 232397, 1);
2811 WriteAttributeValue("", 232322, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 232322, 75, false);
2812 EndWriteAttribute();
2813 BeginWriteAttribute("value", " value=\'", 232398, "\'", 232437, 1);
2814 WriteAttributeValue("", 232406, UserContext.Current.User?.Name, 232406, 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=\'", 232701, "\'", 232793, 1);
2820 WriteAttributeValue("", 232715, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 232715, 78, false);
2821 EndWriteAttribute();
2822 BeginWriteAttribute("value", " value=\'", 232794, "\'", 232834, 1);
2823 WriteAttributeValue("", 232802, UserContext.Current.User?.Email, 232802, 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=\'", 233143, "\'", 233234, 1);
2829 WriteAttributeValue("", 233157, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 233157, 77, false);
2830 EndWriteAttribute();
2831 BeginWriteAttribute("value", " value=\'", 233235, "\'", 233275, 1);
2832 WriteAttributeValue("", 233243, UserContext.Current.User?.Phone, 233243, 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=\'", 233525, "\'", 233617, 1);
2838 WriteAttributeValue("", 233539, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 233539, 78, false);
2839 EndWriteAttribute();
2840 BeginWriteAttribute("value", " value=\'", 233618, "\'", 233658, 1);
2841 WriteAttributeValue("", 233626, UserContext.Current.User?.Phone, 233626, 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=\'", 234087, "\'", 234165, 1);
2849 WriteAttributeValue("", 234101, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 234101, 64, false);
2850 EndWriteAttribute();
2851 BeginWriteAttribute("value", " value=\"", 234166, "\"", 234182, 1);
2852 WriteAttributeValue("", 234174, userZip, 234174, 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=\'", 234736, "\'", 234826, 1);
2860 WriteAttributeValue("", 234750, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 234750, 76, false);
2861 EndWriteAttribute();
2862 BeginWriteAttribute("value", " value=\"", 234827, "\"", 234847, 1);
2863 WriteAttributeValue("", 234835, userAddress, 234835, 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=\'", 235617, "\'", 235695, 1);
2875 WriteAttributeValue("", 235631, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 235631, 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=\"", 236139, "\"", 236144, 0);
2881 EndWriteAttribute();
2882 WriteLiteral(" name=\"choose-broker-gk\"");
2883 BeginWriteAttribute("value", " value=\"", 236169, "\"", 236177, 0);
2884 EndWriteAttribute();
2885 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\"");
2886 BeginWriteAttribute("for", " for=\"", 236243, "\"", 236249, 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=\"", 236495, "\"", 236501, 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=\"", 236913, "\"", 236921, 0);
2900 EndWriteAttribute();
2901 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\"");
2902 BeginWriteAttribute("value", " value=\"", 237002, "\"", 237010, 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=\"", 238118, "\"", 238142, 2);
2933 WriteAttributeValue("", 238125, "mailto:", 238125, 7, true);
2934 WriteAttributeValue("", 238132, termsMail, 238132, 10, false);
2935 EndWriteAttribute();
2936 WriteLiteral(">");
2937 Write(termsMail);
2938 WriteLiteral("</a>.\r\n Læs mere på <a");
2939 BeginWriteAttribute("href", " href=\"", 238187, "\"", 238221, 1);
2940 WriteAttributeValue("", 238194, settings_Persondatapolitik, 238194, 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=\"", 238398, "\"", 238406, 0);
2944 EndWriteAttribute();
2945 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\"");
2946 BeginWriteAttribute("value", " value=\"", 238456, "\"", 238471, 1);
2947 WriteAttributeValue("", 238464, userID, 238464, 7, false);
2948 EndWriteAttribute();
2949 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\"");
2950 BeginWriteAttribute("value", " value=\"", 238519, "\"", 238543, 1);
2951 WriteAttributeValue("", 238527, Pageview.AreaID, 238527, 16, false);
2952 EndWriteAttribute();
2953 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning-gk\" name=\"boligvisning\"");
2954 BeginWriteAttribute("value", " value=\"", 238618, "\"", 238626, 0);
2955 EndWriteAttribute();
2956 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-butikid\" name=\"butikId\"");
2957 BeginWriteAttribute("value", " value=\"", 238712, "\"", 238720, 0);
2958 EndWriteAttribute();
2959 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-sagsnr\" name=\"sagsnr\"");
2960 BeginWriteAttribute("value", " value=\"", 238804, "\"", 238812, 0);
2961 EndWriteAttribute();
2962 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\"");
2963 BeginWriteAttribute("value", " value=\"", 238863, "\"", 238919, 1);
2964 WriteAttributeValue("", 238871, Dynamicweb.Context.Current.Request["ProductId"], 238871, 48, false);
2965 EndWriteAttribute();
2966 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\"");
2967 BeginWriteAttribute("value", " value=\"", 238973, "\"", 238981, 0);
2968 EndWriteAttribute();
2969 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\"");
2970 BeginWriteAttribute("value", " value=\"", 239032, "\"", 239040, 0);
2971 EndWriteAttribute();
2972 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\"");
2973 BeginWriteAttribute("value", " value=\"", 239090, "\"", 239098, 0);
2974 EndWriteAttribute();
2975 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\"");
2976 BeginWriteAttribute("value", " value=\"", 239148, "\"", 239156, 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=\"", 239518, "\"", 239524, 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=\'", 240329, "\'", 240433, 3);
3001 WriteAttributeValue("", 240335, TemplateUrl, 240335, 14, false);
3002 WriteAttributeValue("", 240349, "assets/webpack/js/3rdparty/viamapstrap.js?", 240349, 42, true);
3003 WriteAttributeValue("", 240391, viamapstrapFileInfo.LastWriteTime.Ticks, 240391, 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=\'", 240636, "\'", 240723, 3);
3010 WriteAttributeValue("", 240642, TemplateUrl, 240642, 14, false);
3011 WriteAttributeValue("", 240656, "assets/dist/bundle.app.min.js?", 240656, 30, true);
3012 WriteAttributeValue("", 240686, bundleFileInfo.LastWriteTime.Ticks, 240686, 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=\"", 241047, "\"", 241108, 3);
3027 WriteAttributeValue("", 241053, "https://cdn.conduze.com/", 241053, 24, true);
3028 WriteAttributeValue("", 241077, settings_ConduzeId, 241077, 19, false);
3029 WriteAttributeValue("", 241096, "/tracking.js", 241096, 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=\"", 241207, "\"", 241258, 2);
3038 WriteAttributeValue("", 241213, "https://app.weply.chat/widget/", 241213, 30, true);
3039 WriteAttributeValue("", 241243, settings_Weply, 241243, 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"" />
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 class=""checkbo");
3167 WriteLiteral(@"x"">
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</span>
3185 ");
3186 WriteLiteral(" </label>\r\n </div>\r\n </div>\r\n");
3187 }
3188
3189 void RenderChecked(string queryString)
3190 {
3191 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString)
3192 {
3193 Write("checked");
3194
3195 }
3196 }
3197
3198 void RenderBoligtypeCheckboxesDropdown()
3199 {
3200 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){
3201 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" },
3202 { "Andelsbolig", "andelsbolig" }
3203 };
3204 foreach (KeyValuePair<string, string> type in propertyTypes)
3205 {
3206 bool ischecked = false;
3207 string[] propertytypeSplit = new string[0];
3208 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3209 {
3210 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3211 }
3212 foreach (var propertytypeParams in propertytypeSplit)
3213 {
3214 if (propertytypeParams == type.Value)
3215 {
3216 ischecked = true;
3217 }
3218 }
3219 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3220 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3221 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertytype\"");
3222 BeginWriteAttribute("value", " value=\"", 8054, "\"", 8073, 1);
3223 WriteAttributeValue("", 8062, type.Value, 8062, 11, false);
3224 EndWriteAttribute();
3225 WriteLiteral(" class=\"js-input-check datavalue js-datavalue js-count\" data-val=\"");
3226 Write(type.Key);
3227 WriteLiteral("\" onchange=\"submitFilter()\"");
3228 BeginWriteAttribute("checked", " checked=\"", 8176, "\"", 8196, 1);
3229 WriteAttributeValue("", 8186, ischecked, 8186, 10, false);
3230 EndWriteAttribute();
3231 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3232 }
3233
3234 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3235 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv"));
3236 WriteLiteral("\r\n");
3237
3238 bool blboligcheck = false;
3239 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
3240 {
3241 blboligcheck = true;
3242 }
3243 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\"");
3244 BeginWriteAttribute("checked", " checked=\"", 9029, "\"", 9052, 1);
3245 WriteAttributeValue("", 9039, blboligcheck, 9039, 13, false);
3246 EndWriteAttribute();
3247 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3248
3249 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){
3250 { "Fritidsbolig", "fritidshus" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" },
3251 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" }
3252 };
3253 foreach (KeyValuePair<string, string> type in propertyTypes2)
3254 {
3255 bool ischecked = false;
3256 string[] propertytypeSplit2 = new string[0];
3257 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
3258 {
3259 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
3260 }
3261 foreach (var propertytypeParams in propertytypeSplit2)
3262 {
3263 if (propertytypeParams == type.Value)
3264 {
3265 ischecked = true;
3266 }
3267 }
3268 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3269 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3270 WriteLiteral("\r\n");
3271 if (type.Value == "ejerlejlighed")
3272 {
3273 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3274 BeginWriteAttribute("value", " value=\"", 10439, "\"", 10458, 1);
3275 WriteAttributeValue("", 10447, type.Value, 10447, 11, false);
3276 EndWriteAttribute();
3277 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#grundareal\" data-disable-slider-ranges=\"#grundarealmin,#grundarealmax\" data-val=\"");
3278 Write(type.Key);
3279 WriteLiteral("\" onchange=\"submitFilter()\"");
3280 BeginWriteAttribute("checked", " checked=\"", 10632, "\"", 10652, 1);
3281 WriteAttributeValue("", 10642, ischecked, 10642, 10, false);
3282 EndWriteAttribute();
3283 WriteLiteral(" />\r\n");
3284 }
3285 else if (type.Value == "helårsgrund")
3286 {
3287 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3288 BeginWriteAttribute("value", " value=\"", 10829, "\"", 10848, 1);
3289 WriteAttributeValue("", 10837, type.Value, 10837, 11, false);
3290 EndWriteAttribute();
3291 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3292 Write(type.Key);
3293 WriteLiteral("\" onchange=\"submitFilter()\"");
3294 BeginWriteAttribute("checked", " checked=\"", 11045, "\"", 11065, 1);
3295 WriteAttributeValue("", 11055, ischecked, 11055, 10, false);
3296 EndWriteAttribute();
3297 WriteLiteral(" />\r\n");
3298 }
3299 else if (type.Value == "fritidsgrund")
3300 {
3301 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3302 BeginWriteAttribute("value", " value=\"", 11243, "\"", 11262, 1);
3303 WriteAttributeValue("", 11251, type.Value, 11251, 11, false);
3304 EndWriteAttribute();
3305 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\"");
3306 Write(type.Key);
3307 WriteLiteral("\" onchange=\"submitFilter()\"");
3308 BeginWriteAttribute("checked", " checked=\"", 11459, "\"", 11479, 1);
3309 WriteAttributeValue("", 11469, ischecked, 11469, 10, false);
3310 EndWriteAttribute();
3311 WriteLiteral(" />\r\n");
3312 }
3313 else
3314 {
3315 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\"");
3316 BeginWriteAttribute("value", " value=\"", 11623, "\"", 11642, 1);
3317 WriteAttributeValue("", 11631, type.Value, 11631, 11, false);
3318 EndWriteAttribute();
3319 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3320 Write(type.Key);
3321 WriteLiteral("\" onchange=\"submitFilter()\"");
3322 BeginWriteAttribute("checked", " checked=\"", 11723, "\"", 11743, 1);
3323 WriteAttributeValue("", 11733, ischecked, 11733, 10, false);
3324 EndWriteAttribute();
3325 WriteLiteral(" />\r\n");
3326 }
3327 WriteLiteral(" <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3328 }
3329 }
3330
3331 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false)
3332 {
3333 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3334 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" },
3335 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" }
3336 };
3337 var submitonchange = "";
3338 if (submitOnChange)
3339 {
3340 submitonchange = "onchange='submitFilter()'";
3341 }
3342
3343 foreach (KeyValuePair<string, string> type in erhverType)
3344 {
3345 string ischecked = "";
3346 string[] olineParamsSplit = new string[0];
3347 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3348 {
3349 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3350 }
3351 foreach (var olineParams in olineParamsSplit)
3352 {
3353 if (olineParams == type.Value)
3354 {
3355 ischecked = "checked";
3356 }
3357 }
3358
3359 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n ");
3360 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3361 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3362 BeginWriteAttribute("value", " value=\"", 13387, "\"", 13406, 1);
3363 WriteAttributeValue("", 13395, type.Value, 13395, 11, false);
3364 EndWriteAttribute();
3365 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3366 Write(type.Key);
3367 WriteLiteral("\" ");
3368 Write(submitonchange);
3369 WriteLiteral(" ");
3370 Write(ischecked);
3371 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3372 }
3373
3374
3375 bool ischeckedpropertycat = false;
3376 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"]))
3377 {
3378 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
3379 {
3380 ischeckedpropertycat = true;
3381 }
3382 }
3383 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n ");
3384 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv"));
3385 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertycategory\" value=\"Blandet Bolig/Erhverv\" class=\"js-input-check datavalue\" data-val=\"Blandet Bolig/Erhverv\" onchange=\"submitFilter()\"");
3386 BeginWriteAttribute("checked", " checked=\"", 14319, "\"", 14350, 1);
3387 WriteAttributeValue("", 14329, ischeckedpropertycat, 14329, 21, false);
3388 EndWriteAttribute();
3389 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3390 }
3391
3392 void RenderBoligTypeErhvervInvest(bool submitOnChange = false)
3393 {
3394 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3395 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" },
3396 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" }
3397 };
3398
3399 foreach (KeyValuePair<string, string> type in erhverType)
3400 {
3401 bool ischecked = false;
3402 string[] olineParamsSplit = new string[0];
3403 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
3404 {
3405 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
3406 }
3407 foreach (var olineParams in olineParamsSplit)
3408 {
3409 if (olineParams == type.Value)
3410 {
3411 ischecked = true;
3412 }
3413 }
3414
3415 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n ");
3416 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + ""));
3417 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\"");
3418 BeginWriteAttribute("value", " value=\"", 15837, "\"", 15856, 1);
3419 WriteAttributeValue("", 15845, type.Value, 15845, 11, false);
3420 EndWriteAttribute();
3421 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\"");
3422 Write(type.Key);
3423 WriteLiteral("\" onchange=\"submitFilter()\"");
3424 BeginWriteAttribute("checked", " checked=\"", 15937, "\"", 15957, 1);
3425 WriteAttributeValue("", 15947, ischecked, 15947, 10, false);
3426 EndWriteAttribute();
3427 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n");
3428 }
3429 }
3430 int GetWebsiteSettingsPageId(string pageSysName)
3431 {
3432 int sideId = 0;
3433
3434 var pw = Dynamicweb.Frontend.PageView.Current();
3435
3436 string settingsItemId = "1";
3437
3438 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true")
3439 {
3440 settingsItemId = "2";
3441 }
3442
3443 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId);
3444
3445 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName))
3446 {
3447 return sideId;
3448 }
3449
3450 string boligsideLink = settingsItem[pageSysName] as String;
3451 string linkPrefix = "Default.aspx?ID=";
3452
3453 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3454 {
3455 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3456 }
3457
3458 return sideId;
3459 }
3460
3461 int GetPageSettingsPageId(string pageSysName)
3462 {
3463 int sideId = 0;
3464
3465 var pw = Dynamicweb.Frontend.PageView.Current();
3466
3467 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName))
3468 {
3469 return sideId;
3470 }
3471
3472 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String;
3473 string linkPrefix = "Default.aspx?ID=";
3474
3475 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
3476 {
3477 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
3478 }
3479
3480 return sideId;
3481 }
3482 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname)
3483 {
3484 WriteLiteral(" <select");
3485 BeginWriteAttribute("class", " class=\"", 17900, "\"", 17955, 5);
3486 WriteAttributeValue("", 17908, "form-control", 17908, 12, true);
3487 WriteAttributeValue(" ", 17920, "d-block", 17921, 8, true);
3488 WriteAttributeValue(" ", 17928, "d-lg-none", 17929, 10, true);
3489 WriteAttributeValue(" ", 17938, "mb-10", 17939, 6, true);
3490 WriteAttributeValue(" ", 17944, className, 17945, 10, false);
3491 EndWriteAttribute();
3492 WriteLiteral(" onchange=\"submitFilter()\"");
3493 BeginWriteAttribute("name", " name=\"", 17982, "\"", 17999, 1);
3494 WriteAttributeValue("", 17989, inputname, 17989, 10, false);
3495 EndWriteAttribute();
3496 WriteLiteral(">\r\n <option selected=\"true\" disabled=\"disabled\">");
3497 Write(Translate("Smartpage:Search.Placeholder." + name + "", "" + name + ""));
3498 WriteLiteral("</option>\r\n\r\n");
3499 for (var i = 0; i <= max; i += step)
3500 {
3501 var selected = string.Empty;
3502 var current = string.Empty;
3503 if (i == max)
3504 {
3505 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3506 {
3507 WriteLiteral(" <option");
3508 BeginWriteAttribute("value", " value=\"", 18595, "\"", 18605, 1);
3509 WriteAttributeValue("", 18603, i, 18603, 2, false);
3510 EndWriteAttribute();
3511 WriteLiteral(" data-value=\'");
3512 Write(Convert.ToInt32(i).ToString("N0"));
3513 WriteLiteral("\' selected=\"selected\">");
3514 Write(Convert.ToInt32(i).ToString("N0"));
3515 WriteLiteral("+</option>\r\n");
3516 }
3517 else
3518 {
3519 WriteLiteral(" <option");
3520 BeginWriteAttribute("value", " value=\"", 18824, "\"", 18834, 1);
3521 WriteAttributeValue("", 18832, i, 18832, 2, false);
3522 EndWriteAttribute();
3523 WriteLiteral(" data-value=\'");
3524 Write(Convert.ToInt32(i).ToString("N0"));
3525 WriteLiteral("\'>");
3526 Write(Convert.ToInt32(i).ToString("N0"));
3527 WriteLiteral("+</option>\r\n");
3528 }
3529 }
3530 else
3531 {
3532 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
3533 {
3534 WriteLiteral(" <option");
3535 BeginWriteAttribute("value", " value=\"", 19258, "\"", 19268, 1);
3536 WriteAttributeValue("", 19266, i, 19266, 2, false);
3537 EndWriteAttribute();
3538 WriteLiteral(" data-value=\'");
3539 Write(Convert.ToInt32(i).ToString("N0"));
3540 WriteLiteral("\' selected=\"selected\">");
3541 Write(Convert.ToInt32(i).ToString("N0"));
3542 WriteLiteral("</option>\r\n");
3543 }
3544 else
3545 {
3546 WriteLiteral(" <option");
3547 BeginWriteAttribute("value", " value=\"", 19486, "\"", 19496, 1);
3548 WriteAttributeValue("", 19494, i, 19494, 2, false);
3549 EndWriteAttribute();
3550 WriteLiteral(" data-value=\'");
3551 Write(Convert.ToInt32(i).ToString("N0"));
3552 WriteLiteral("\'>");
3553 Write(Convert.ToInt32(i).ToString("N0"));
3554 WriteLiteral("</option>\r\n");
3555 }
3556 }
3557 }
3558 WriteLiteral(" </select>\r\n");
3559 }
3560
3561 void RenderTopFilter(string parameter)
3562 {
3563 if (parameter == "pricemin" || parameter == "pricemax")
3564 {
3565 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"]))
3566 {
3567 if (parameter == "pricemin")
3568 {
3569 Write("<div class='search-terms' id='priceFilter'>");
3570 Write("Pris ");
3571 Write(Dynamicweb.Context.Current.Request[parameter]);
3572
3573 }
3574
3575 else
3576 {
3577 Write(" - ");
3578 Write(Dynamicweb.Context.Current.Request[parameter]);
3579 Write(" kr.");
3580 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"pricemin,pricemax\"></i>\r\n");
3581 Write("</div>");
3582
3583 }
3584 }
3585 }
3586
3587 else if (parameter == "subsidymin" || parameter == "subsidymax")
3588 {
3589 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"]))
3590 {
3591 if (parameter == "subsidymin")
3592 {
3593 Write("<div class='search-terms' id='subsidyFilter'>");
3594 Write("Årlig leje ");
3595 Write(Dynamicweb.Context.Current.Request[parameter]);
3596
3597 }
3598
3599 else
3600 {
3601 Write(" - ");
3602 Write(Dynamicweb.Context.Current.Request[parameter]);
3603 Write(" kr.");
3604 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidymin,subsidymax\"></i>\r\n");
3605 Write("</div>");
3606
3607 }
3608 }
3609 }
3610 else if (parameter == "etagearealmin" || parameter == "etagearealmax")
3611 {
3612 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"]))
3613 {
3614 if (parameter == "etagearealmin")
3615 {
3616 Write("<div class='search-terms' id='etagearealFilter'>");
3617 Write("Etageareal ");
3618 Write(Dynamicweb.Context.Current.Request[parameter]);
3619
3620 }
3621
3622 else
3623 {
3624 Write(" - ");
3625 Write(Dynamicweb.Context.Current.Request[parameter]);
3626 Write(" kvm.");
3627 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"etagearealmin,etagearealmax\"></i>\r\n");
3628 Write("</div>");
3629
3630 }
3631 }
3632 }
3633
3634 else if (parameter == "grundarealmin" || parameter == "grundarealmax")
3635 {
3636 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"]))
3637 {
3638 if (parameter == "grundarealmin")
3639 {
3640 Write("<div class='search-terms' id='grundarealFilter'>");
3641 Write("Grundareal ");
3642 Write(Dynamicweb.Context.Current.Request[parameter]);
3643
3644 }
3645
3646 else
3647 {
3648 Write(" - ");
3649 Write(Dynamicweb.Context.Current.Request[parameter]);
3650 Write(" kvm.");
3651 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"grundarealmin,grundarealmax\"></i>\r\n");
3652 Write("</div>");
3653
3654 }
3655 }
3656 }
3657
3658 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax")
3659 {
3660 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"]))
3661 {
3662 if (parameter == "subsidykvmmin")
3663 {
3664 Write("<div class='search-terms' id='subsidykvmFilter'>");
3665 Write("Årlig leje kvm ");
3666 Write(Dynamicweb.Context.Current.Request[parameter]);
3667
3668 }
3669
3670 else
3671 {
3672 Write(" - ");
3673 Write(Dynamicweb.Context.Current.Request[parameter]);
3674 Write(" kr.");
3675 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidykvmmin,subsidykvmmax\"></i>\r\n");
3676 Write("</div>");
3677
3678 }
3679 }
3680 }
3681
3682 else if (parameter == "olinecategory")
3683 {
3684
3685 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"]))
3686 {
3687 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3688 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" },
3689 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"},
3690 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" },
3691 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" }
3692 };
3693
3694
3695 foreach (var er in erhverType)
3696 {
3697 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3698 {
3699 WriteLiteral(" <div class=\"search-terms\"");
3700 BeginWriteAttribute("id", " id=\"", 24666, "\"", 24681, 1);
3701 WriteAttributeValue("", 24671, parameter, 24671, 10, false);
3702 EndWriteAttribute();
3703 WriteLiteral(">\r\n ");
3704 Write(er.Value);
3705 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3706 Write(parameter);
3707 WriteLiteral("\" data-val=\"");
3708 Write(er.Key);
3709 WriteLiteral("\"></i>\r\n </div>\r\n");
3710 }
3711 }
3712 }
3713 }
3714 else if (parameter == "propertycategory")
3715 {
3716
3717 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"]))
3718 {
3719 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
3720 { "propertycategory", "Blandet Bolig/Erhverv" }
3721 };
3722
3723 foreach (var er in erhverType)
3724 {
3725 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value)
3726 {
3727 WriteLiteral(" <div class=\"search-terms\"");
3728 BeginWriteAttribute("id", " id=\"", 25587, "\"", 25602, 1);
3729 WriteAttributeValue("", 25592, parameter, 25592, 10, false);
3730 EndWriteAttribute();
3731 WriteLiteral(">\r\n ");
3732 Write(er.Value);
3733 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3734 Write(parameter);
3735 WriteLiteral("\" data-val=\"");
3736 Write(er.Key);
3737 WriteLiteral("\"></i>\r\n </div>\r\n");
3738 }
3739 }
3740 }
3741 }
3742 else if (parameter == "search")
3743 {
3744 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"]))
3745 {
3746 WriteLiteral(" <div class=\"search-terms\"");
3747 BeginWriteAttribute("id", " id=\"", 26050, "\"", 26065, 1);
3748 WriteAttributeValue("", 26055, parameter, 26055, 10, false);
3749 EndWriteAttribute();
3750 WriteLiteral(">\r\n ");
3751 Write(Dynamicweb.Context.Current.Request[parameter]);
3752 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3753 Write(parameter);
3754 WriteLiteral("\"></i>\r\n </div>\r\n");
3755 }
3756 }
3757 else
3758 {
3759 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]))
3760 {
3761 Dictionary<string, string>
3762 ubudsform = new Dictionary<string, string>
3763 (){
3764 {"salg", "Salg" }, { "leje","Leje" }
3765 };
3766
3767 foreach (var er in ubudsform)
3768 {
3769 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
3770 {
3771 WriteLiteral(" <div class=\"search-terms\"");
3772 BeginWriteAttribute("id", " id=\"", 27214, "\"", 27229, 1);
3773 WriteAttributeValue("", 27219, parameter, 27219, 10, false);
3774 EndWriteAttribute();
3775 WriteLiteral(">\r\n ");
3776 Write(er.Value);
3777 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"");
3778 Write(parameter);
3779 WriteLiteral("\" data-val=\"");
3780 Write(er.Key);
3781 WriteLiteral("\"></i>\r\n </div>\r\n");
3782 }
3783 }
3784
3785
3786 }
3787 }
3788 }
3789
3790 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString)
3791 {
3792 var selected = "";
3793 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue)
3794 {
3795 selected = "selected";
3796 }
3797
3798 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected);
3799
3800 Write(current);
3801
3802 }
3803
3804 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "")
3805 {
3806 WriteLiteral(" <div");
3807 BeginWriteAttribute("class", " class=\"", 28233, "\"", 28279, 3);
3808 WriteAttributeValue("", 28241, "main-search-form", 28241, 16, true);
3809 WriteAttributeValue(" ", 28257, "frontpage", 28258, 10, true);
3810 WriteAttributeValue(" ", 28267, cssClasses, 28268, 11, false);
3811 EndWriteAttribute();
3812 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>");
3813 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig"));
3814 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>");
3815 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg"));
3816 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\"");
3817 BeginWriteAttribute("value", " value=\'", 28994, "\'", 29015, 1);
3818 WriteAttributeValue("", 29002, searchPageId, 29002, 13, false);
3819 EndWriteAttribute();
3820 WriteLiteral(@" id=""searchPageId-frontpage"" disabled=""disabled"" />
3821 <div class=""row form-wrapper no-gutters"">
3822
3823 <div class=""col-xs-12 col-md-5 col-searchbar"">
3824 <div class=""searchbar"">
3825 <input type=""text""");
3826 BeginWriteAttribute("name", " name=\"", 29293, "\"", 29320, 1);
3827 WriteAttributeValue("", 29300, querySearchNameAttr, 29300, 20, false);
3828 EndWriteAttribute();
3829 WriteLiteral(" id=\"searchfield-frontpage\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\"");
3830 BeginWriteAttribute("value", " value=\"", 29433, "\"", 29511, 1);
3831 WriteAttributeValue("", 29441, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 29441, 70, false);
3832 EndWriteAttribute();
3833 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom-frontpage\" name=\"zipcodefrom\"");
3834 BeginWriteAttribute("value", " value=\"", 29611, "\"", 29694, 1);
3835 WriteAttributeValue("", 29619, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 29619, 75, false);
3836 EndWriteAttribute();
3837 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto-frontpage\" name=\"zipcodeto\"");
3838 BeginWriteAttribute("value", " value=\"", 29790, "\"", 29871, 1);
3839 WriteAttributeValue("", 29798, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 29798, 73, false);
3840 EndWriteAttribute();
3841 WriteLiteral(@" />
3842 </div>
3843 </div>
3844 <div class=""col-xs-12 col-md-5"">
3845 <div class=""row no-gutters"">
3846 <div class=""col-xs-12 col-md-6 input-col"">
3847 <div class=""dropdown w-overlay"">
3848 <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"">
3849 ");
3850 Write(Translate("Smartpage:Search.Boligtype", "Boligtype"));
3851 WriteLiteral(@"
3852 </button>
3853 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype"">
3854 <ul class=""bolig-dropdown list-unstyled"">
3855 ");
3856
3857 RenderBoligtypeCheckboxesDropdown();
3858 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">");
3859 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3860 WriteLiteral(@"</button>
3861 </div>
3862
3863 </div>
3864
3865 </div>
3866 <div class=""col-xs-12 col-md-6 input-col"">
3867 <div class=""dropdown w-overlay"">
3868 <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"">
3869 ");
3870 Write(Translate("Smartpage:Search.Pris", "Pris"));
3871 WriteLiteral(@"
3872 </button>
3873 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris"">
3874 <input type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input""");
3875 BeginWriteAttribute("placeholder", " placeholder=\'", 32050, "\'", 32126, 1);
3876 WriteAttributeValue("", 32064, Translate("Smartpage:Search.Placeholder.MinPris","Min. pris"), 32064, 62, false);
3877 EndWriteAttribute();
3878 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3879 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"));
3880 WriteLiteral("</option>\r\n");
3881 for (var i = 0; i <= 10000000; i += 100000)
3882 {
3883 if (i == 10000000)
3884 {
3885 WriteLiteral(" <option");
3886 BeginWriteAttribute("value", " value=\"", 32735, "\"", 32745, 1);
3887 WriteAttributeValue("", 32743, i, 32743, 2, false);
3888 EndWriteAttribute();
3889 WriteLiteral(" data-value=\'");
3890 Write(Convert.ToInt32(i).ToString("N0"));
3891 WriteLiteral("+\'>");
3892 Write(Convert.ToInt32(i).ToString("N0"));
3893 WriteLiteral("+</option>\r\n");
3894 }
3895 else
3896 {
3897 WriteLiteral(" <option");
3898 BeginWriteAttribute("value", " value=\"", 33057, "\"", 33067, 1);
3899 WriteAttributeValue("", 33065, i, 33065, 2, false);
3900 EndWriteAttribute();
3901 WriteLiteral(" data-value=\'");
3902 Write(Convert.ToInt32(i).ToString("N0"));
3903 WriteLiteral("\'>");
3904 Write(Convert.ToInt32(i).ToString("N0"));
3905 WriteLiteral("</option>\r\n");
3906 }
3907 }
3908 WriteLiteral(@" </select>
3909 <input type=""hidden"" id=""pricemin-frontpage"" name=""pricemin"" />
3910
3911 <input type=""text"" class=""form-control js-auto-thousand js-pricemax-frontpage-input""");
3912 BeginWriteAttribute("placeholder", " placeholder=\'", 33542, "\'", 33618, 1);
3913 WriteAttributeValue("", 33556, Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris"), 33556, 62, false);
3914 EndWriteAttribute();
3915 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3916 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"));
3917 WriteLiteral("</option>\r\n");
3918 for (var i = 0; i <= 10000000; i += 100000)
3919 {
3920 if (i == 10000000)
3921 {
3922 WriteLiteral(" <option");
3923 BeginWriteAttribute("value", " value=\"", 34221, "\"", 34231, 1);
3924 WriteAttributeValue("", 34229, i, 34229, 2, false);
3925 EndWriteAttribute();
3926 WriteLiteral(" data-value=\'");
3927 Write(Convert.ToInt32(i).ToString("N0"));
3928 WriteLiteral("+\'>");
3929 Write(Convert.ToInt32(i).ToString("N0"));
3930 WriteLiteral("+</option>\r\n");
3931 }
3932 else
3933 {
3934 WriteLiteral(" <option");
3935 BeginWriteAttribute("value", " value=\"", 34543, "\"", 34553, 1);
3936 WriteAttributeValue("", 34551, i, 34551, 2, false);
3937 EndWriteAttribute();
3938 WriteLiteral(" data-value=\'");
3939 Write(Convert.ToInt32(i).ToString("N0"));
3940 WriteLiteral("\'>");
3941 Write(Convert.ToInt32(i).ToString("N0"));
3942 WriteLiteral("</option>\r\n");
3943 }
3944 }
3945 WriteLiteral(" </select>\r\n <input type=\"hidden\" id=\"pricemax-frontpage\" name=\"pricemax\" />\r\n <button class=\"btn btn-primary js-close-dropdown mt-3\">");
3946 Write(Translate("Smartpage:Search.Anvend", "Anvend"));
3947 WriteLiteral(@"</button>
3948 </div>
3949 </div>
3950 </div>
3951 </div>
3952 </div>
3953 <div class=""col-xs-12 col-md-2 d-none d-md-block"">
3954 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
3955 Write(Translate("Smartpage:Search.Søg", "Søg"));
3956 WriteLiteral(@"</button>
3957 </div>
3958 </div>
3959
3960 <div class=""row moresearch-btn no-gutters"">
3961 <div class=""col-sm-12"">
3962 <div class=""row align-items-center no-gutters"">
3963 <div class=""col-12 col-md-4"">
3964 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch"" aria-expanded=""false"" aria-controls=""moreSearch"">
3965 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open"">");
3966 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder"));
3967 WriteLiteral("</span> <span class=\"open\"><span class=\"js-filter-count\">0</span> ");
3968 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt"));
3969 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\">");
3970 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg"));
3971 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch\">\r\n <h4 class=\"mt-20\"><b>");
3972 Write(Translate("Smartpage:Search.Bolig", "Bolig"));
3973 WriteLiteral(@"</b></h4>
3974 <div class=""row align-items-end mb-30"">
3975 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
3976 <div class=""filter-container row"">
3977 <label class=""d-block col-12"">");
3978 Write(Translate("Smartpage:Search.Boligareal", "Boligareal"));
3979 WriteLiteral(@"</label>
3980 <div class=""col-6 pr-sm-0 pr-2"">
3981 <input type=""text"" name=""boligarealmin"" id=""boligarealmin-frontpage"" class=""form-control js-boligarealmin-frontpage-input js-count""");
3982 BeginWriteAttribute("placeholder", " placeholder=\'", 37419, "\'", 37491, 1);
3983 WriteAttributeValue("", 37433, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 37433, 58, false);
3984 EndWriteAttribute();
3985 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
3986 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
3987 WriteLiteral("</option>\r\n");
3988 for (var i = 0; i <= 300; i += 10)
3989 {
3990 if (i == 300)
3991 {
3992 WriteLiteral(" <option");
3993 BeginWriteAttribute("value", " value=\"", 38098, "\"", 38108, 1);
3994 WriteAttributeValue("", 38106, i, 38106, 2, false);
3995 EndWriteAttribute();
3996 WriteLiteral(">");
3997 Write(i);
3998 WriteLiteral("+</option>\r\n");
3999 }
4000 else
4001 {
4002 WriteLiteral(" <option");
4003 BeginWriteAttribute("value", " value=\"", 38355, "\"", 38365, 1);
4004 WriteAttributeValue("", 38363, i, 38363, 2, false);
4005 EndWriteAttribute();
4006 WriteLiteral(">");
4007 Write(i);
4008 WriteLiteral("</option>\r\n");
4009 }
4010 }
4011 WriteLiteral(@" </select>
4012 </div>
4013 <div class=""col-6 pl-sm-0 pl-2"">
4014 <input type=""text"" name=""boligarealmax"" id=""boligarealmax-frontpage"" class=""form-control js-boligarealmax-frontpage-input js-count""");
4015 BeginWriteAttribute("placeholder", " placeholder=\'", 38838, "\'", 38910, 1);
4016 WriteAttributeValue("", 38852, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 38852, 58, false);
4017 EndWriteAttribute();
4018 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4019 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
4020 WriteLiteral("</option>\r\n");
4021 for (var i = 0; i <= 300; i += 10)
4022 {
4023 if (i == 300)
4024 {
4025 WriteLiteral(" <option");
4026 BeginWriteAttribute("value", " value=\"", 39517, "\"", 39527, 1);
4027 WriteAttributeValue("", 39525, i, 39525, 2, false);
4028 EndWriteAttribute();
4029 WriteLiteral(">");
4030 Write(i);
4031 WriteLiteral("+</option>\r\n");
4032 }
4033 else
4034 {
4035 WriteLiteral(" <option");
4036 BeginWriteAttribute("value", " value=\"", 39774, "\"", 39784, 1);
4037 WriteAttributeValue("", 39782, i, 39782, 2, false);
4038 EndWriteAttribute();
4039 WriteLiteral(">");
4040 Write(i);
4041 WriteLiteral("</option>\r\n");
4042 }
4043 }
4044 WriteLiteral(@" </select>
4045 </div>
4046 </div>
4047 </div>
4048 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4049 <div class=""filter-container row"">
4050 <label class=""d-block col-12"">");
4051 Write(Translate("Smartpage:Search.Grundareal", "Grundareal"));
4052 WriteLiteral(@"</label>
4053 <div class=""col-6 pr-sm-0 pr-2"">
4054 <input type=""text"" name=""grundarealmin"" id=""grundarealmin-frontpage"" class=""form-control js-grundarealmin-frontpage-input js-count""");
4055 BeginWriteAttribute("placeholder", " placeholder=\'", 40633, "\'", 40705, 1);
4056 WriteAttributeValue("", 40647, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 40647, 58, false);
4057 EndWriteAttribute();
4058 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4059 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"));
4060 WriteLiteral("</option>\r\n");
4061 for (var i = 0; i <= 10000; i += 100)
4062 {
4063 if (i == 10000)
4064 {
4065 WriteLiteral(" <option");
4066 BeginWriteAttribute("value", " value=\"", 41317, "\"", 41327, 1);
4067 WriteAttributeValue("", 41325, i, 41325, 2, false);
4068 EndWriteAttribute();
4069 WriteLiteral(">");
4070 Write(i);
4071 WriteLiteral("+</option>\r\n");
4072 }
4073 else
4074 {
4075 WriteLiteral(" <option");
4076 BeginWriteAttribute("value", " value=\"", 41574, "\"", 41584, 1);
4077 WriteAttributeValue("", 41582, i, 41582, 2, false);
4078 EndWriteAttribute();
4079 WriteLiteral(">");
4080 Write(i);
4081 WriteLiteral("</option>\r\n");
4082 }
4083 }
4084 WriteLiteral(@" </select>
4085 </div>
4086 <div class=""col-6 pl-sm-0 pl-2"">
4087 <input type=""text"" name=""grundarealmax"" id=""grundarealmax-frontpage"" class=""form-control js-grundarealmax-frontpage-input js-count""");
4088 BeginWriteAttribute("placeholder", " placeholder=\'", 42057, "\'", 42129, 1);
4089 WriteAttributeValue("", 42071, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 42071, 58, false);
4090 EndWriteAttribute();
4091 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4092 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"));
4093 WriteLiteral("</option>\r\n");
4094 for (var i = 0; i <= 10000; i += 100)
4095 {
4096 if (i == 10000)
4097 {
4098 WriteLiteral(" <option");
4099 BeginWriteAttribute("value", " value=\"", 42741, "\"", 42751, 1);
4100 WriteAttributeValue("", 42749, i, 42749, 2, false);
4101 EndWriteAttribute();
4102 WriteLiteral(">");
4103 Write(i);
4104 WriteLiteral("+</option>\r\n");
4105 }
4106 else
4107 {
4108 WriteLiteral(" <option");
4109 BeginWriteAttribute("value", " value=\"", 42998, "\"", 43008, 1);
4110 WriteAttributeValue("", 43006, i, 43006, 2, false);
4111 EndWriteAttribute();
4112 WriteLiteral(">");
4113 Write(i);
4114 WriteLiteral("</option>\r\n");
4115 }
4116 }
4117 WriteLiteral(@" </select>
4118 </div>
4119 </div>
4120 </div>
4121 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4122 <div class=""filter-container row"">
4123 <label class=""d-block col-12"">Antal rum</label>
4124
4125 <div class=""col-6 pr-sm-0 pr-2"">
4126 <select name=""roomsmin"" id=""roomsmin-frontpage"" class=""form-control reverse js-count"">
4127 <option selected=""true"" disabled=""disabled"">");
4128 Write(Translate("Smartpage:Search.Placeholder.Min", "Min"));
4129 WriteLiteral(@"</option>
4130 <option value=""1"">1</option>
4131 <option value=""2"">2</option>
4132 <option value=""3"">3</option>
4133 <option value=""4"">4</option>
4134 <option value=""5+"">5+</option>
4135 </select>
4136 </div>
4137 <div class=""col-6 pl-sm-0 pl-2"">
4138 <select name=""roomsmax"" id=""roomsmax-frontpage"" class=""form-control reverse js-count"">
4139 <option selected=""true"" disabled=""disabled"">");
4140 Write(Translate("Smartpage:Search.Placeholder.Max", "Max"));
4141 WriteLiteral(@"</option>
4142 <option value=""1"">1</option>
4143 <option value=""2"">2</option>
4144 <option value=""3"">3</option>
4145 <option value=""4"">4</option>
4146 <option value=""5+"">");
4147 Write(Translate("Smartpage:Rooms.5", "5"));
4148 WriteLiteral(@"</option>
4149 </select>
4150 </div>
4151 </div>
4152 </div>
4153 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"">
4154 <div class=""row"">
4155 <div class=""col-12"">
4156 <div class=""filter-container"">
4157 <label class=""d-block"">Energimærke</label>
4158 <select name=""energylabel"" id=""energylabel-frontpage"" class=""form-control reverse js-count"">
4159 <option disabled selected=""selected"">");
4160 Write(Translate("Smartpage:Search.Vælg", "Vælg"));
4161 WriteLiteral(@"</option>
4162 <option value=""01"">G</option>
4163 <option value=""02"">F</option>
4164 <option value=""03"">E</option>
4165 <option value=""04"">D</option>
4166 <option value=""05"">C</option>
4167 <option value=""06"">B</option>
4168 <option value=""07"">A</option>
4169 <option value=""08"">A2010</option>
4170 <option value=""09"">A2015</option>
4171 <option value=""10"">A2020+</option>
4172 </select>
4173 </div>
4174 </div>
4175 ");
4176 WriteLiteral(" </div>\r\n </div>\r\n <div class=\"col-12 col-sm-6 col-lg-3 mt-3\">\r\n <h4");
4177 BeginWriteAttribute("class", " class=\"", 47253, "\"", 47261, 0);
4178 EndWriteAttribute();
4179 WriteLiteral("><b>");
4180 Write(Translate("Smartpage:Search.Økonomi", "Økonomi"));
4181 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">");
4182 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned"));
4183 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\"");
4184 BeginWriteAttribute("placeholder", " placeholder=\'", 47817, "\'", 47891, 1);
4185 WriteAttributeValue("", 47831, Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK"), 47831, 60, false);
4186 EndWriteAttribute();
4187 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4188 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"));
4189 WriteLiteral("</option>\r\n");
4190 for (var i = 0; i <= 25000; i += 1250)
4191 {
4192 if (i == 25000)
4193 {
4194 WriteLiteral(" <option>");
4195 Write(Convert.ToInt32(i).ToString("N0"));
4196 WriteLiteral("+</option>\r\n");
4197 }
4198 else
4199 {
4200 WriteLiteral(" <option>");
4201 Write(Convert.ToInt32(i).ToString("N0"));
4202 WriteLiteral("</option>\r\n");
4203 }
4204 }
4205 WriteLiteral(@" </select>
4206 </div>
4207 <div class=""col-6 pl-sm-0 pl-2"">
4208 <input type=""text"" name=""subsidymax"" id=""subsidymax-frontpage"" class=""form-control js-subsidymax-frontpage-input js-count""");
4209 BeginWriteAttribute("placeholder", " placeholder=\'", 49276, "\'", 49350, 1);
4210 WriteAttributeValue("", 49290, Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK"), 49290, 60, false);
4211 EndWriteAttribute();
4212 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">");
4213 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"));
4214 WriteLiteral("</option>\r\n");
4215 for (var i = 0; i <= 25000; i += 1250)
4216 {
4217 if (i == 25000)
4218 {
4219 WriteLiteral(" <option");
4220 BeginWriteAttribute("value", " value=\"", 49962, "\"", 49989, 1);
4221 WriteAttributeValue("", 49970, Convert.ToInt32(i), 49970, 19, false);
4222 EndWriteAttribute();
4223 WriteLiteral(">");
4224 Write(Convert.ToInt32(i).ToString("N0"));
4225 WriteLiteral("+</option>\r\n");
4226 }
4227 else
4228 {
4229 WriteLiteral(" <option");
4230 BeginWriteAttribute("value", " value=\"", 50268, "\"", 50295, 1);
4231 WriteAttributeValue("", 50276, Convert.ToInt32(i), 50276, 19, false);
4232 EndWriteAttribute();
4233 WriteLiteral(">");
4234 Write(Convert.ToInt32(i).ToString("N0"));
4235 WriteLiteral("</option>\r\n");
4236 }
4237 }
4238 WriteLiteral(@" </select>
4239 </div>
4240 </div>
4241 </div>
4242 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"">
4243 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> ");
4244 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre"));
4245 WriteLiteral(@"</button>
4246 </div>
4247 </div>
4248 </div>
4249 </div>
4250 </div>
4251
4252 <div class=""row d-block d-md-none form-wrapper no-gutters"">
4253 <div class=""col-xs-12 col-md-2"">
4254 <button type=""submit"" class=""btn btn-block btn-search btn-mobile-search"">");
4255 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4256 WriteLiteral(@"<i class=""fa fa-search cta-icon""></i></button>
4257 </div>
4258 </div>
4259 </form>
4260 <div class=""front-page-actions d-md-none"">
4261 <div>
4262 <button class=""btn btn-block btn-search btn-mobile-search js-search-mobile"">");
4263 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig"));
4264 WriteLiteral("<i class=\"fa fa-search cta-icon\"></i></button>\r\n </div>\r\n <div>\r\n");
4265
4266 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : "";
4267 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER");
4268 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\"");
4269 BeginWriteAttribute("value", " value=\"", 52238, "\"", 52261, 1);
4270 WriteAttributeValue("", 52246, brokerSearchId, 52246, 15, false);
4271 EndWriteAttribute();
4272 WriteLiteral(@" type=""hidden"" />
4273 <div class=""icon-wrapper-wclick"">
4274 <i class=""fas fa-search ta-submit-on-icon-click""></i>
4275 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text""");
4276 BeginWriteAttribute("placeholder", " placeholder=\"", 52565, "\"", 52587, 1);
4277 WriteAttributeValue("", 52579, ctaText, 52579, 8, false);
4278 EndWriteAttribute();
4279 WriteLiteral(" onfocus=\"this.placeholder = \'\'\"");
4280 BeginWriteAttribute("onblur", " onblur=\"", 52620, "\"", 52656, 3);
4281 WriteAttributeValue("", 52629, "this.placeholder=\'", 52629, 18, true);
4282 WriteAttributeValue("", 52647, ctaText, 52647, 8, false);
4283 WriteAttributeValue("", 52655, "\'", 52655, 1, true);
4284 EndWriteAttribute();
4285 WriteLiteral(" />\r\n </div>\r\n </form>\r\n");
4286 WriteLiteral(" </div>\r\n <div>\r\n <a href=\"javascript:panelSalgsvurdering(\'Hovedmenu\')\" class=\"btn btn-orange btn-block\">");
4287 Write(Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING"));
4288 WriteLiteral("<i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n");
4289
4290 }
4291
4292 void RenderSlideMenu(bool erhverv, string maeglersoegning)
4293 {
4294 WriteLiteral(@" <div id=""menu"" class=""main-menu-slide "">
4295 <div class=""container"">
4296 <div class=""row"">
4297 <div class=""col-12"">
4298 <span class=""menu-headline"">MENU</span>
4299 </div>
4300 <div class=""menu-slide"">
4301 <b></b>
4302 </div>
4303
4304 <div class=""col-12 main-slidemenu"">
4305 ");
4306
4307 var navigationSettings = new NavigationSettings();
4308 navigationSettings.StartLevel = 1;
4309 navigationSettings.StopLevel = 2;
4310 navigationSettings.ExpandMode = ExpandMode.All;
4311 navigationSettings.RootAreaId = Pageview.Area.ID;
4312
4313 Write(Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings));
4314 WriteLiteral(" </div>\r\n <div class=\"col-12 bottom-btns\">\r\n\r\n");
4315
4316 string[] maeglerid;
4317 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0";
4318
4319 if (erhverv)
4320 {
4321 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None);
4322 }
4323 else
4324 {
4325 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None);
4326 }
4327
4328 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\"");
4329 BeginWriteAttribute("value", " value=\"", 55270, "\"", 55291, 1);
4330 WriteAttributeValue("", 55278, maeglerid[1], 55278, 13, false);
4331 EndWriteAttribute();
4332 WriteLiteral(@" type=""hidden"" />
4333 <div class=""icon-wrapper-wclick"">
4334 <i class=""fas fa-search ta-submit-on-icon-click""></i>
4335 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text""");
4336 BeginWriteAttribute("placeholder", " placeholder=\'", 55607, "\'", 55680, 1);
4337 WriteAttributeValue("", 55621, Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER"), 55621, 59, false);
4338 EndWriteAttribute();
4339 WriteLiteral(" onfocus=\"this.placeholder = \'FIND MÆGLER\'\" />\r\n </div>\r\n </form>\r\n");
4340 WriteLiteral(" <br />\r\n");
4341
4342 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + "";
4343 WriteLiteral(" <a");
4344 BeginWriteAttribute("href", " href=\"", 56046, "\"", 56117, 5);
4345 WriteAttributeValue("", 56053, "javascript:panelSalgsvurdering(\'", 56053, 32, true);
4346 WriteAttributeValue("", 56085, dpmaegler, 56085, 10, false);
4347 WriteAttributeValue("", 56095, "\',\'", 56095, 3, true);
4348 WriteAttributeValue("", 56098, Pageview.AreaID, 56098, 16, false);
4349 WriteAttributeValue("", 56114, "\');", 56114, 3, true);
4350 EndWriteAttribute();
4351 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");
4352 }
4353
4354 void RenderBlockList(List<Block> blocks)
4355 {
4356 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4357 blocks = blocks.OrderBy(item => item.SortId).ToList();
4358
4359 foreach (Block item in blocks)
4360 {
4361 if (debug) {
4362 WriteLiteral(" <!-- Block START: ");
4363 Write(item.Id);
4364 WriteLiteral(" -->\r\n");
4365 }
4366
4367 if (item.Design == null)
4368 {
4369 RenderBlock(item);
4370 }
4371 else if (item.Design.RenderType == RenderType.None) {
4372 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4373
4374 WriteLiteral(" <div");
4375 BeginWriteAttribute("class", " class=\"", 57408, "\"", 57432, 2);
4376 WriteAttributeValue("", 57416, cssClass, 57416, 9, false);
4377 WriteAttributeValue(" ", 57425, "dw-mod", 57426, 7, true);
4378 EndWriteAttribute();
4379 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4380 }
4381 else if (item.Design.RenderType != RenderType.Hide)
4382 {
4383 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : "";
4384
4385 if (!item.SkipRenderBlocksList) {
4386 if (item.Design.RenderType == RenderType.Row)
4387 {
4388 WriteLiteral(" <div");
4389 BeginWriteAttribute("class", " class=\"", 57859, "\"", 57914, 4);
4390 WriteAttributeValue("", 57867, "grid", 57867, 4, true);
4391 WriteAttributeValue(" ", 57871, "grid--align-content-start", 57872, 26, true);
4392 WriteAttributeValue(" ", 57897, cssClass, 57898, 9, false);
4393 WriteAttributeValue(" ", 57907, "dw-mod", 57908, 7, true);
4394 EndWriteAttribute();
4395 BeginWriteAttribute("id", " id=\"", 57915, "\"", 57935, 2);
4396 WriteAttributeValue("", 57920, "Block__", 57920, 7, true);
4397 WriteAttributeValue("", 57927, item.Id, 57927, 8, false);
4398 EndWriteAttribute();
4399 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4400 }
4401
4402 if (item.Design.RenderType == RenderType.Column)
4403 {
4404 string hidePadding = item.Design.HidePadding ? "u-no-padding" : "";
4405 string size = item.Design.Size ?? "12";
4406 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size;
4407
4408 WriteLiteral(" <div");
4409 BeginWriteAttribute("class", " class=\"", 58431, "\"", 58562, 9);
4410 WriteAttributeValue("", 58439, "grid__col-lg-", 58439, 13, true);
4411 WriteAttributeValue("", 58452, item.Design.Size, 58452, 17, false);
4412 WriteAttributeValue(" ", 58469, "grid__col-md-", 58470, 14, true);
4413 WriteAttributeValue("", 58483, item.Design.Size, 58483, 17, false);
4414 WriteAttributeValue(" ", 58500, "grid__col-sm-12", 58501, 16, true);
4415 WriteAttributeValue(" ", 58516, "grid__col-xs-12", 58517, 16, true);
4416 WriteAttributeValue(" ", 58532, hidePadding, 58533, 12, false);
4417 WriteAttributeValue(" ", 58545, cssClass, 58546, 9, false);
4418 WriteAttributeValue(" ", 58555, "dw-mod", 58556, 7, true);
4419 EndWriteAttribute();
4420 BeginWriteAttribute("id", " id=\"", 58563, "\"", 58583, 2);
4421 WriteAttributeValue("", 58568, "Block__", 58568, 7, true);
4422 WriteAttributeValue("", 58575, item.Id, 58575, 8, false);
4423 EndWriteAttribute();
4424 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4425 }
4426
4427 if (item.Design.RenderType == RenderType.Table)
4428 {
4429 WriteLiteral(" <table");
4430 BeginWriteAttribute("class", " class=\"", 58814, "\"", 58844, 3);
4431 WriteAttributeValue("", 58822, "table", 58822, 5, true);
4432 WriteAttributeValue(" ", 58827, cssClass, 58828, 9, false);
4433 WriteAttributeValue(" ", 58837, "dw-mod", 58838, 7, true);
4434 EndWriteAttribute();
4435 BeginWriteAttribute("id", " id=\"", 58845, "\"", 58865, 2);
4436 WriteAttributeValue("", 58850, "Block__", 58850, 7, true);
4437 WriteAttributeValue("", 58857, item.Id, 58857, 8, false);
4438 EndWriteAttribute();
4439 WriteLiteral(">\r\n RenderBlock(item);\r\n </table>\r\n");
4440 }
4441
4442 if (item.Design.RenderType == RenderType.TableRow)
4443 {
4444 WriteLiteral(" <tr");
4445 BeginWriteAttribute("class", " class=\"", 59098, "\"", 59122, 2);
4446 WriteAttributeValue("", 59106, cssClass, 59106, 9, false);
4447 WriteAttributeValue(" ", 59115, "dw-mod", 59116, 7, true);
4448 EndWriteAttribute();
4449 BeginWriteAttribute("id", " id=\"", 59123, "\"", 59143, 2);
4450 WriteAttributeValue("", 59128, "Block__", 59128, 7, true);
4451 WriteAttributeValue("", 59135, item.Id, 59135, 8, false);
4452 EndWriteAttribute();
4453 WriteLiteral(">\r\n RenderBlock(item);\r\n </tr>\r\n");
4454 }
4455
4456 if (item.Design.RenderType == RenderType.TableColumn)
4457 {
4458 WriteLiteral(" <td");
4459 BeginWriteAttribute("class", " class=\"", 59376, "\"", 59400, 2);
4460 WriteAttributeValue("", 59384, cssClass, 59384, 9, false);
4461 WriteAttributeValue(" ", 59393, "dw-mod", 59394, 7, true);
4462 EndWriteAttribute();
4463 BeginWriteAttribute("id", " id=\"", 59401, "\"", 59421, 2);
4464 WriteAttributeValue("", 59406, "Block__", 59406, 7, true);
4465 WriteAttributeValue("", 59413, item.Id, 59413, 8, false);
4466 EndWriteAttribute();
4467 WriteLiteral(">\r\n RenderBlock(item);\r\n </td>\r\n");
4468 }
4469
4470 if (item.Design.RenderType == RenderType.CardHeader)
4471 {
4472 WriteLiteral(" <div");
4473 BeginWriteAttribute("class", " class=\"", 59654, "\"", 59690, 3);
4474 WriteAttributeValue("", 59662, "card-header", 59662, 11, true);
4475 WriteAttributeValue(" ", 59673, cssClass, 59674, 9, false);
4476 WriteAttributeValue(" ", 59683, "dw-mod", 59684, 7, true);
4477 EndWriteAttribute();
4478 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4479 }
4480
4481 if (item.Design.RenderType == RenderType.CardBody)
4482 {
4483 WriteLiteral(" <div");
4484 BeginWriteAttribute("class", " class=\"", 59922, "\"", 59951, 3);
4485 WriteAttributeValue("", 59930, "card", 59930, 4, true);
4486 WriteAttributeValue(" ", 59934, cssClass, 59935, 9, false);
4487 WriteAttributeValue(" ", 59944, "dw-mod", 59945, 7, true);
4488 EndWriteAttribute();
4489 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4490 }
4491
4492 if (item.Design.RenderType == RenderType.CardFooter)
4493 {
4494 WriteLiteral(" <div");
4495 BeginWriteAttribute("class", " class=\"", 60185, "\"", 60221, 3);
4496 WriteAttributeValue("", 60193, "card-footer", 60193, 11, true);
4497 WriteAttributeValue(" ", 60204, cssClass, 60205, 9, false);
4498 WriteAttributeValue(" ", 60214, "dw-mod", 60215, 7, true);
4499 EndWriteAttribute();
4500 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n");
4501 }
4502 }
4503 else
4504 {
4505 RenderBlock(item);
4506 }
4507 }
4508
4509 if (debug) {
4510 WriteLiteral(" <!-- Block END: ");
4511 Write(item.Id);
4512 WriteLiteral(" -->\r\n");
4513 }
4514 }
4515 }
4516
4517 void RenderBlock(Block item)
4518 {
4519 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false;
4520
4521 if (item.Template != null)
4522 {
4523 Write(BlocksPage.RenderTemplate(item.Template));
4524
4525 }
4526
4527 if (item.Component != null)
4528 {
4529 string customSufix = "Custom";
4530 string methodName = item.Component.HelperName;
4531
4532 ComponentBase[] methodParameters = new ComponentBase[1];
4533 methodParameters[0] = item.Component;
4534 Type methodType = this.GetType();
4535
4536 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix);
4537 MethodInfo generalMethod = methodType.GetMethod(methodName);
4538
4539 try {
4540 if (debug) {
4541 WriteLiteral(" <!-- Component: ");
4542 Write(methodName.Replace("Render", ""));
4543 WriteLiteral(" -->\r\n");
4544 }
4545 Write(customMethod.Invoke(this, methodParameters).ToString());
4546 ;
4547 } catch {
4548 try {
4549 Write(generalMethod.Invoke(this, methodParameters).ToString());
4550
4551 ;
4552 } catch(Exception ex) {
4553 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex);
4554 }
4555 }
4556 }
4557
4558 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList)
4559 {
4560 RenderBlockList(item.BlocksList);
4561 }
4562 }
4563
4564 void Render(ComponentBase component)
4565 {
4566 if (component != null)
4567 {
4568 Write(component.Render(this));
4569
4570 }
4571 }
4572
4573 void RenderIcon(Icon settings)
4574 {
4575 if (settings != null)
4576 {
4577 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4578
4579 if (settings.Name != null)
4580 {
4581 if (string.IsNullOrEmpty(settings.Label))
4582 {
4583 WriteLiteral(" <i");
4584 BeginWriteAttribute("class", " class=\"", 63117, "\"", 63175, 3);
4585 WriteAttributeValue("", 63125, settings.Prefix, 63125, 16, false);
4586 WriteAttributeValue(" ", 63141, settings.Name, 63142, 14, false);
4587 WriteAttributeValue(" ", 63156, settings.CssClass, 63157, 18, false);
4588 EndWriteAttribute();
4589 WriteLiteral(" ");
4590 Write(color);
4591 WriteLiteral("></i>\r\n");
4592 }
4593 else
4594 {
4595 if (settings.LabelPosition == IconLabelPosition.Before)
4596 {
4597 WriteLiteral(" <div");
4598 BeginWriteAttribute("class", " class=\"", 63378, "\"", 63438, 3);
4599 WriteAttributeValue("", 63386, "u-flex", 63386, 6, true);
4600 WriteAttributeValue(" ", 63392, "u-flex--align-items-center", 63393, 27, true);
4601 WriteAttributeValue(" ", 63419, settings.CssClass, 63420, 18, false);
4602 EndWriteAttribute();
4603 WriteLiteral(">");
4604 Write(settings.Label);
4605 WriteLiteral(" <i");
4606 BeginWriteAttribute("class", " class=\"", 63458, "\"", 63511, 3);
4607 WriteAttributeValue("", 63466, settings.Prefix, 63466, 16, false);
4608 WriteAttributeValue(" ", 63482, settings.Name, 63483, 14, false);
4609 WriteAttributeValue(" ", 63497, "u-margin-left", 63498, 14, true);
4610 EndWriteAttribute();
4611 WriteLiteral(" ");
4612 Write(color);
4613 WriteLiteral("></i></div>\r\n");
4614 }
4615 else
4616 {
4617 WriteLiteral(" <div");
4618 BeginWriteAttribute("class", " class=\"", 63632, "\"", 63692, 3);
4619 WriteAttributeValue("", 63640, "u-flex", 63640, 6, true);
4620 WriteAttributeValue(" ", 63646, "u-flex--align-items-center", 63647, 27, true);
4621 WriteAttributeValue(" ", 63673, settings.CssClass, 63674, 18, false);
4622 EndWriteAttribute();
4623 WriteLiteral("><i");
4624 BeginWriteAttribute("class", " class=\"", 63696, "\"", 63762, 4);
4625 WriteAttributeValue("", 63704, settings.Prefix, 63704, 16, false);
4626 WriteAttributeValue(" ", 63720, settings.Name, 63721, 14, false);
4627 WriteAttributeValue(" ", 63735, "u-margin-right--lg", 63736, 19, true);
4628 WriteAttributeValue(" ", 63754, "u-w20px", 63755, 8, true);
4629 EndWriteAttribute();
4630 WriteLiteral(" ");
4631 Write(color);
4632 WriteLiteral("></i>");
4633 Write(settings.Label);
4634 WriteLiteral("</div>\r\n");
4635 }
4636 }
4637 }
4638 else if (!string.IsNullOrEmpty(settings.Label))
4639 {
4640 Write(settings.Label);
4641
4642 }
4643 }
4644 }
4645
4646 void RenderButton(Button settings)
4647 {
4648 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4649 {
4650 Dictionary<string, string> attributes = new Dictionary<string, string>();
4651 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4652 if (settings.Disabled) {
4653 attributes.Add("disabled", "true");
4654 classList.Add("disabled");
4655 }
4656
4657 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle))
4658 {
4659 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
4660 RenderConfirmDialog(settings);
4661 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true";
4662 }
4663
4664 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4665 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4666 if (!string.IsNullOrEmpty(settings.AltText))
4667 {
4668 attributes.Add("title", settings.AltText);
4669 }
4670 else if (!string.IsNullOrEmpty(settings.Title))
4671 {
4672 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty);
4673 cleanTitle = cleanTitle.Replace(" ", " ");
4674 attributes.Add("title", cleanTitle);
4675 }
4676
4677 var onClickEvents = new List<string>();
4678 if (!string.IsNullOrEmpty(settings.OnClick))
4679 {
4680 onClickEvents.Add(settings.OnClick);
4681 }
4682 if (!string.IsNullOrEmpty(settings.Href))
4683 {
4684 if (settings.Href.Contains("javascript"))
4685 {
4686 settings.Href = settings.Href.Replace("http://", "");
4687 }
4688 onClickEvents.Add("location.href='" + settings.Href + "'");
4689 }
4690 if (onClickEvents.Count > 0)
4691 {
4692 attributes.Add("onClick", string.Join(";", onClickEvents));
4693 }
4694
4695 if (settings.ButtonLayout != ButtonLayout.None)
4696 {
4697 classList.Add("btn");
4698 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4699 if (btnLayout == "linkclean")
4700 {
4701 btnLayout = "link-clean"; //fix
4702 }
4703 classList.Add("btn--" + btnLayout);
4704 }
4705
4706 if (settings.Icon == null)
4707 {
4708 settings.Icon = new Icon();
4709 }
4710
4711 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : "";
4712 settings.Icon.Label = settings.Title;
4713
4714 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower());
4715
4716 WriteLiteral(" <button");
4717 BeginWriteAttribute("class", " class=\"", 67355, "\"", 67398, 2);
4718 WriteAttributeValue("", 67363, string.Join(" ", classList), 67363, 28, false);
4719 WriteAttributeValue(" ", 67391, "dw-mod", 67392, 7, true);
4720 EndWriteAttribute();
4721 WriteLiteral(" ");
4722 Write(ComponentMethods.AddAttributes(attributes));
4723 WriteLiteral(" ");
4724 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4725 WriteLiteral(">");
4726 RenderIcon(settings.Icon);WriteLiteral("</button>\r\n");
4727 }
4728 }
4729
4730 void RenderConfirmDialog(Button settings)
4731 {
4732 Modal confirmDialog = new Modal {
4733 Id = settings.Id,
4734 Width = ModalWidth.Sm,
4735 Heading = new Heading
4736 {
4737 Level = 2,
4738 Title = settings.ConfirmTitle
4739 },
4740 BodyText = settings.ConfirmText
4741 };
4742
4743 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"});
4744 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick });
4745
4746 RenderModal(confirmDialog);
4747 }
4748
4749 void RenderLink(Link settings)
4750 {
4751 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null))
4752 {
4753 Dictionary<string, string> attributes = new Dictionary<string, string>();
4754 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>();
4755 if (settings.Disabled)
4756 {
4757 attributes.Add("disabled", "true");
4758 classList.Add("disabled");
4759 }
4760
4761 if (!string.IsNullOrEmpty(settings.AltText))
4762 {
4763 attributes.Add("title", settings.AltText);
4764 }
4765 else if (!string.IsNullOrEmpty(settings.Title))
4766 {
4767 attributes.Add("title", settings.Title);
4768 }
4769
4770 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
4771 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
4772 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); }
4773 attributes.Add("href", settings.Href);
4774
4775 if (settings.ButtonLayout != ButtonLayout.None)
4776 {
4777 classList.Add("btn");
4778 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower();
4779 if (btnLayout == "linkclean")
4780 {
4781 btnLayout = "link-clean"; //fix
4782 }
4783 classList.Add("btn--" + btnLayout);
4784 }
4785
4786 if (settings.Icon == null)
4787 {
4788 settings.Icon = new Icon();
4789 }
4790 settings.Icon.Label = settings.Title;
4791
4792 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None)
4793 {
4794 settings.Rel = LinkRelType.Noopener;
4795 }
4796 if (settings.Target != LinkTargetType.None)
4797 {
4798 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower());
4799 }
4800 if (settings.Download)
4801 {
4802 attributes.Add("download", "true");
4803 }
4804 if (settings.Rel != LinkRelType.None)
4805 {
4806 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower());
4807 }
4808
4809 WriteLiteral(" <a");
4810 BeginWriteAttribute("class", " class=\"", 71130, "\"", 71173, 2);
4811 WriteAttributeValue("", 71138, string.Join(" ", classList), 71138, 28, false);
4812 WriteAttributeValue(" ", 71166, "dw-mod", 71167, 7, true);
4813 EndWriteAttribute();
4814 WriteLiteral(" ");
4815 Write(ComponentMethods.AddAttributes(attributes));
4816 WriteLiteral(" ");
4817 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
4818 WriteLiteral(">Render(settings.Icon);</a>\r\n");
4819 }
4820 }
4821
4822 void RenderRating(Rating settings)
4823 {
4824 if (settings.Score > 0)
4825 {
4826 int rating = settings.Score;
4827 string iconType = "fa-star";
4828
4829 switch (settings.Type.ToString()) {
4830 case "Stars":
4831 iconType = "fa-star";
4832 break;
4833 case "Hearts":
4834 iconType = "fa-heart";
4835 break;
4836 case "Lemons":
4837 iconType = "fa-lemon";
4838 break;
4839 case "Bombs":
4840 iconType = "fa-bomb";
4841 break;
4842 }
4843
4844 WriteLiteral(" <div class=\"u-ta-right\">\r\n");
4845 for (int i = 0; i < settings.OutOf; i++)
4846 {
4847 WriteLiteral(" <i");
4848 BeginWriteAttribute("class", " class=\"", 72307, "\"", 72354, 2);
4849 WriteAttributeValue("", 72315, rating > i ? "fas" : "far", 72315, 29, false);
4850 WriteAttributeValue(" ", 72344, iconType, 72345, 9, false);
4851 EndWriteAttribute();
4852 WriteLiteral("></i>\r\n");
4853 }
4854 WriteLiteral(" </div>\r\n");
4855 }
4856 }
4857
4858 void RenderNavigation(Navigation settings) {
4859 RenderNavigation(new
4860 {
4861 id = settings.Id,
4862 cssclass = settings.CssClass,
4863 startLevel = settings.StartLevel,
4864 endlevel = settings.EndLevel,
4865 expandmode = settings.Expandmode,
4866 sitemapmode = settings.SitemapMode,
4867 template = settings.Template
4868 });
4869 }
4870
4871 void RenderLeftNavigation(LeftNavigation settings) {
4872 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id;
4873 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template;
4874 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel;
4875 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel;
4876 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode;
4877
4878 WriteLiteral(" <div class=\"grid__cell\">\r\n RenderNavigation(settings);\r\n </div> \r\n");
4879 }
4880
4881 void RenderHeading(Heading settings)
4882 {
4883 if (settings != null && !string.IsNullOrEmpty(settings.Title))
4884 {
4885 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : "";
4886 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div";
4887
4888 Write("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">");
4889
4890 if (!string.IsNullOrEmpty(settings.Link))
4891 {
4892 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None });
4893 }
4894 else
4895 {
4896 if (settings.Icon == null)
4897 {
4898 settings.Icon = new Icon();
4899 }
4900 settings.Icon.Label = settings.Title;
4901 RenderIcon(settings.Icon);
4902 }
4903 Write("</" + tagName + ">");
4904 ;
4905 }
4906 }
4907
4908 void RenderImage(Image settings)
4909 {
4910 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None)
4911 {
4912 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
4913 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); }
4914
4915 if (settings.Caption != null)
4916 {
4917 WriteLiteral(" ");
4918 WriteLiteral("<div>\r\n");
4919 }
4920
4921 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower();
4922 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower();
4923
4924 WriteLiteral(" <div");
4925 BeginWriteAttribute("class", " class=\"", 75835, "\"", 75916, 5);
4926 WriteAttributeValue("", 75843, "image-filter", 75843, 12, true);
4927 WriteAttributeValue(" ", 75855, "image-filter--", 75856, 15, true);
4928 WriteAttributeValue("", 75870, primaryFilterClass, 75870, 19, false);
4929 WriteAttributeValue(" ", 75889, "u-position-relative", 75890, 20, true);
4930 WriteAttributeValue(" ", 75909, "dw-mod", 75910, 7, true);
4931 EndWriteAttribute();
4932 WriteLiteral(" ");
4933 Write(ComponentMethods.AddAttributes(optionalAttributes));
4934 WriteLiteral(">\r\n <div");
4935 BeginWriteAttribute("class", " class=\"", 75996, "\"", 76059, 4);
4936 WriteAttributeValue("", 76004, "image-filter", 76004, 12, true);
4937 WriteAttributeValue(" ", 76016, "image-filter--", 76017, 15, true);
4938 WriteAttributeValue("", 76031, secondaryFilterClass, 76031, 21, false);
4939 WriteAttributeValue(" ", 76052, "dw-mod", 76053, 7, true);
4940 EndWriteAttribute();
4941 WriteLiteral(">\r\n");
4942 if (settings.Link != null)
4943 {
4944 WriteLiteral(" <a");
4945 BeginWriteAttribute("href", " href=\"", 76173, "\"", 76194, 1);
4946 WriteAttributeValue("", 76180, settings.Link, 76180, 14, false);
4947 EndWriteAttribute();
4948 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
4949 }
4950 else
4951 {
4952 RenderTheImage(settings);
4953 }
4954 WriteLiteral(" </div>\r\n </div>\r\n");
4955
4956 if (settings.Caption != null)
4957 {
4958 WriteLiteral(" <span class=\"image-caption dw-mod\">");
4959 Write(settings.Caption);
4960 WriteLiteral("</span>\r\n ");
4961 WriteLiteral("</div>\r\n");
4962 }
4963 }
4964 else
4965 {
4966 if (settings.Caption != null)
4967 {
4968 WriteLiteral(" ");
4969 WriteLiteral("<div>\r\n");
4970 }
4971 if (!string.IsNullOrEmpty(settings.Link))
4972 {
4973 WriteLiteral(" <a");
4974 BeginWriteAttribute("href", " href=\"", 76937, "\"", 76958, 1);
4975 WriteAttributeValue("", 76944, settings.Link, 76944, 14, false);
4976 EndWriteAttribute();
4977 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n");
4978 }
4979 else
4980 {
4981 RenderTheImage(settings);
4982 }
4983
4984 if (settings.Caption != null)
4985 {
4986 WriteLiteral(" <span class=\"image-caption dw-mod\">");
4987 Write(settings.Caption);
4988 WriteLiteral("</span>\r\n ");
4989 WriteLiteral("</div>\r\n");
4990 }
4991 }
4992 }
4993
4994 void RenderTheImage(Image settings)
4995 {
4996 if (settings != null)
4997 {
4998 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg";
4999 string placeholderImage = "/Files/Images/placeholder.gif";
5000 string imageEngine = "/Admin/Public/GetImage.ashx?";
5001
5002 string imageStyle = "";
5003
5004 switch (settings.Style)
5005 {
5006 case ImageStyle.Ball:
5007 imageStyle = "grid__cell-img--ball";
5008 break;
5009
5010 case ImageStyle.Triangle:
5011 imageStyle = "grid__cell-img--triangle";
5012 break;
5013 }
5014
5015 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle)
5016 {
5017 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop;
5018
5019 if (settings.ImageDefault != null)
5020 {
5021 settings.ImageDefault.Height = settings.ImageDefault.Width;
5022 }
5023 if (settings.ImageMedium != null)
5024 {
5025 settings.ImageMedium.Height = settings.ImageMedium.Width;
5026 }
5027 if (settings.ImageSmall != null)
5028 {
5029 settings.ImageSmall.Height = settings.ImageSmall.Width;
5030 }
5031 }
5032
5033 string defaultImage = imageEngine;
5034 string imageSmall = "";
5035 string imageMedium = "";
5036
5037 if (settings.DisableImageEngine)
5038 {
5039 defaultImage = settings.Path;
5040 }
5041 else
5042 {
5043 if (settings.ImageDefault != null)
5044 {
5045 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault);
5046
5047 if (settings.Path.GetType() != typeof(string))
5048 {
5049 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5050 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5051 }
5052 else
5053 {
5054 defaultImage += settings.Path != null ? "Image=" + settings.Path : "";
5055 }
5056
5057 defaultImage += "&AlternativeImage=" + alternativeImage;
5058 }
5059
5060 if (settings.ImageSmall != null)
5061 {
5062 imageSmall = "data-src-small=\"" + imageEngine;
5063 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall);
5064
5065 if (settings.Path.GetType() != typeof(string))
5066 {
5067 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5068 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5069 }
5070 else
5071 {
5072 imageSmall += settings.Path != null ? "Image=" + settings.Path : "";
5073 }
5074
5075 imageSmall += "&alternativeImage=" + alternativeImage;
5076
5077 imageSmall += "\"";
5078 }
5079
5080 if (settings.ImageMedium != null)
5081 {
5082 imageMedium = "data-src-medium=\"" + imageEngine;
5083 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium);
5084
5085 if (settings.Path.GetType() != typeof(string))
5086 {
5087 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : "";
5088 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : "";
5089 }
5090 else
5091 {
5092 imageMedium += settings.Path != null ? "Image=" + settings.Path : "";
5093 }
5094
5095 imageMedium += "&alternativeImage=" + alternativeImage;
5096
5097 imageMedium += "\"";
5098 }
5099 }
5100
5101 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5102 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); }
5103 if (!string.IsNullOrEmpty(settings.Title))
5104 {
5105 optionalAttributes.Add("alt", settings.Title);
5106 optionalAttributes.Add("title", settings.Title);
5107 }
5108
5109 if (settings.DisableLazyLoad)
5110 {
5111 WriteLiteral(" <img");
5112 BeginWriteAttribute("id", " id=\"", 82437, "\"", 82454, 1);
5113 WriteAttributeValue("", 82442, settings.Id, 82442, 12, false);
5114 EndWriteAttribute();
5115 BeginWriteAttribute("class", " class=\"", 82455, "\"", 82500, 3);
5116 WriteAttributeValue("", 82463, imageStyle, 82463, 11, false);
5117 WriteAttributeValue(" ", 82474, settings.CssClass, 82475, 18, false);
5118 WriteAttributeValue(" ", 82493, "dw-mod", 82494, 7, true);
5119 EndWriteAttribute();
5120 BeginWriteAttribute("src", " src=\"", 82501, "\"", 82520, 1);
5121 WriteAttributeValue("", 82507, defaultImage, 82507, 13, false);
5122 EndWriteAttribute();
5123 WriteLiteral(" ");
5124 Write(ComponentMethods.AddAttributes(optionalAttributes));
5125 WriteLiteral(" ");
5126 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5127 WriteLiteral(" />\r\n");
5128 }
5129 else
5130 {
5131
5132 WriteLiteral(" <img");
5133 BeginWriteAttribute("id", " id=\"", 82718, "\"", 82735, 1);
5134 WriteAttributeValue("", 82723, settings.Id, 82723, 12, false);
5135 EndWriteAttribute();
5136 BeginWriteAttribute("class", " class=\"", 82736, "\"", 82781, 3);
5137 WriteAttributeValue("", 82744, imageStyle, 82744, 11, false);
5138 WriteAttributeValue(" ", 82755, settings.CssClass, 82756, 18, false);
5139 WriteAttributeValue(" ", 82774, "dw-mod", 82775, 7, true);
5140 EndWriteAttribute();
5141 WriteLiteral(" loading=\"lazy\"");
5142 BeginWriteAttribute("src", " src=\"", 82797, "\"", 82816, 1);
5143 WriteAttributeValue("", 82803, defaultImage, 82803, 13, false);
5144 EndWriteAttribute();
5145 WriteLiteral(" ");
5146 Write(ComponentMethods.AddAttributes(optionalAttributes));
5147 WriteLiteral(" ");
5148 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5149 WriteLiteral(" />\r\n");
5150 }
5151 }
5152 }
5153
5154 void RenderHiddenField(HiddenField settings) {
5155 var attributes = new Dictionary<string, string>();
5156 attributes.Add("type", "hidden");
5157 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5158 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5159 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5160
5161 WriteLiteral(" <input ");
5162 Write(ComponentMethods.AddAttributes(attributes));
5163 WriteLiteral(" ");
5164 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5165 WriteLiteral("/>\r\n");
5166 }
5167
5168 void RenderRadioButtonField(RadioButtonField settings)
5169 {
5170 var attributes = new Dictionary<string, string>();
5171 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id))
5172 {
5173 settings.Id = Guid.NewGuid().ToString("N");
5174 }
5175
5176 /*base settings*/
5177 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5178 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); }
5179 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); }
5180 if (settings.Disabled) { attributes.Add("disabled", "true"); }
5181 if (settings.Required) { attributes.Add("required", "true"); }
5182 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); }
5183 /*end*/
5184
5185 attributes.Add("type", "radio");
5186 if (settings.Checked) { attributes.Add("checked", "true"); }
5187 settings.CssClass = "form__control " + settings.CssClass;
5188 if (settings.Value != null) { attributes.Add("value", settings.Value); }
5189
5190 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value);
5191
5192 WriteLiteral(" <div");
5193 BeginWriteAttribute("class", " class=\"", 85136, "\"", 85194, 3);
5194 WriteAttributeValue("", 85144, "form__field-group", 85144, 17, true);
5195 WriteAttributeValue(" ", 85161, settings.WrapperCssClass, 85162, 25, false);
5196 WriteAttributeValue(" ", 85187, "dw-mod", 85188, 7, true);
5197 EndWriteAttribute();
5198 WriteLiteral(">\r\n <input ");
5199 Write(ComponentMethods.AddAttributes(resultAttributes));
5200 WriteLiteral(" class=\"");
5201 Write(settings.CssClass);
5202 WriteLiteral(" dw-mod\" />\r\n");
5203 if (!string.IsNullOrEmpty(settings.Label))
5204 {
5205 WriteLiteral(" <label");
5206 BeginWriteAttribute("for", " for=\"", 85399, "\"", 85417, 1);
5207 WriteAttributeValue("", 85405, settings.Id, 85405, 12, false);
5208 EndWriteAttribute();
5209 WriteLiteral(" class=\"dw-mod\">");
5210 Write(settings.Label);
5211 WriteLiteral("</label>\r\n");
5212 }
5213 if (!string.IsNullOrEmpty(settings.HelpText))
5214 {
5215 WriteLiteral(" <small class=\"form__help-text\">");
5216 Write(settings.HelpText);
5217 WriteLiteral("</small>\r\n");
5218 }
5219 WriteLiteral(" Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5220 }
5221
5222 void RenderRadioButtonListField(RadioButtonListField settings)
5223 {
5224 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; }
5225
5226 WriteLiteral(" <div");
5227 BeginWriteAttribute("class", " class=\"", 86132, "\"", 86206, 4);
5228 WriteAttributeValue("", 86140, "form__field-group", 86140, 17, true);
5229 WriteAttributeValue(" ", 86157, settings.WrapperCssClass, 86158, 25, false);
5230 WriteAttributeValue(" ", 86183, "u-margin-bottom", 86184, 16, true);
5231 WriteAttributeValue(" ", 86199, "dw-mod", 86200, 7, true);
5232 EndWriteAttribute();
5233 WriteLiteral(" ");
5234 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5235 WriteLiteral(">\r\n");
5236 if (!string.IsNullOrEmpty(settings.Label))
5237 {
5238 WriteLiteral(" <label>");
5239 Write(settings.Label);
5240 WriteLiteral("</label>\r\n");
5241 }
5242 if (!string.IsNullOrEmpty(settings.HelpText))
5243 {
5244 WriteLiteral(" <small class=\"form__help-text\">");
5245 Write(settings.HelpText);
5246 WriteLiteral("</small>\r\n");
5247 }
5248 WriteLiteral("\r\n");
5249 foreach (var item in settings.Options)
5250 {
5251 if (settings.Required)
5252 {
5253 item.Required = true;
5254 }
5255 if (settings.Disabled)
5256 {
5257 item.Disabled = true;
5258 }
5259 if (!string.IsNullOrEmpty(settings.Name))
5260 {
5261 item.Name = settings.Name;
5262 }
5263 if (settings.Value != null && settings.Value == item.Value)
5264 {
5265 item.Checked = true;
5266 }
5267 if (!string.IsNullOrEmpty(settings.OnClick))
5268 {
5269 item.OnClick += settings.OnClick;
5270 }
5271 if (!string.IsNullOrEmpty(settings.OnChange))
5272 {
5273 item.OnChange += settings.OnChange;
5274 }
5275 if (!string.IsNullOrEmpty(settings.CssClass))
5276 {
5277 item.CssClass += settings.CssClass;
5278 }
5279 Render(item);
5280 }
5281 WriteLiteral("\r\n Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n");
5282 }
5283
5284 void RenderForm(Form settings) {
5285 if (settings != null)
5286 {
5287 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>();
5288 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); };
5289 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); };
5290 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); };
5291 var enctypes = new Dictionary<string, string>
5292 {
5293 { "multipart", "multipart/form-data" },
5294 { "text", "text/plain" },
5295 { "application", "application/x-www-form-urlencoded" }
5296 };
5297 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); };
5298 optionalAttributes.Add("method", settings.Method.ToString());
5299
5300 if (!string.IsNullOrEmpty(settings.FormStartMarkup))
5301 {
5302 Write(settings.FormStartMarkup);
5303
5304 }
5305 else
5306 {
5307 WriteLiteral(" ");
5308 WriteLiteral("<form class=\"");
5309 Write(settings.CssClass);
5310 WriteLiteral(" u-no-margin dw-mod\" ");
5311 Write(ComponentMethods.AddAttributes(optionalAttributes));
5312 WriteLiteral(" ");
5313 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes));
5314 WriteLiteral(">\r\n");
5315 }
5316
5317 foreach (var field in settings.GetFields())
5318 {
5319 Render(field);
5320 }
5321
5322 WriteLiteral(" ");
5323 WriteLiteral("</form>\r\n");
5324 }
5325 }
5326
5327 void RenderText(Text settings)
5328 {
5329 Write(settings.Content);
5330
5331 }
5332
5333 void RenderContentModule(ContentModule settings) {
5334 if (!string.IsNullOrEmpty(settings.Content))
5335 {
5336 Write(settings.Content);
5337
5338 }
5339 }
5340
5341 void RenderModal(Modal settings) {
5342 if (settings != null)
5343 {
5344 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N");
5345
5346 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : "";
5347
5348 WriteLiteral(" <input type=\"checkbox\"");
5349 BeginWriteAttribute("id", " id=\"", 90602, "\"", 90629, 2);
5350 WriteAttributeValue("", 90607, modalId, 90607, 10, false);
5351 WriteAttributeValue("", 90617, "ModalTrigger", 90617, 12, true);
5352 EndWriteAttribute();
5353 WriteLiteral(" class=\"modal-trigger\" ");
5354 Write(onchange);
5355 WriteLiteral(" />\r\n");
5356 WriteLiteral(" <div class=\"modal-container\">\r\n");
5357 if (!settings.DisableDarkOverlay)
5358 {
5359 WriteLiteral(" <label");
5360 BeginWriteAttribute("for", " for=\"", 90809, "\"", 90837, 2);
5361 WriteAttributeValue("", 90815, modalId, 90815, 10, false);
5362 WriteAttributeValue("", 90825, "ModalTrigger", 90825, 12, true);
5363 EndWriteAttribute();
5364 BeginWriteAttribute("id", " id=\"", 90838, "\"", 90865, 2);
5365 WriteAttributeValue("", 90843, modalId, 90843, 10, false);
5366 WriteAttributeValue("", 90853, "ModalOverlay", 90853, 12, true);
5367 EndWriteAttribute();
5368 WriteLiteral(" class=\"modal-overlay\"></label>\r\n");
5369 }
5370 WriteLiteral(" <div");
5371 BeginWriteAttribute("class", " class=\"", 90938, "\"", 91047, 5);
5372 WriteAttributeValue("", 90946, "modal", 90946, 5, true);
5373 WriteAttributeValue(" ", 90951, "modal--", 90952, 8, true);
5374 WriteAttributeValue("", 90959, settings.Width.ToString().ToLower(), 90959, 36, false);
5375 WriteAttributeValue(" ", 90995, "modal-height--", 90996, 15, true);
5376 WriteAttributeValue("", 91010, settings.Height.ToString().ToLower(), 91010, 37, false);
5377 EndWriteAttribute();
5378 BeginWriteAttribute("id", " id=\"", 91048, "\"", 91068, 2);
5379 WriteAttributeValue("", 91053, modalId, 91053, 10, false);
5380 WriteAttributeValue("", 91063, "Modal", 91063, 5, true);
5381 EndWriteAttribute();
5382 WriteLiteral(">\r\n");
5383 if (settings.Heading != null)
5384 {
5385 if (!string.IsNullOrEmpty(settings.Heading.Title))
5386 {
5387 WriteLiteral(" <div class=\"modal__header\">\r\n RenderHeading(settings.Heading);\r\n </div>\r\n");
5388 }
5389 }
5390 WriteLiteral(" <div");
5391 BeginWriteAttribute("class", " class=\"", 91483, "\"", 91578, 2);
5392 WriteAttributeValue("", 91491, "modal__body", 91491, 11, true);
5393 WriteAttributeValue(" ", 91502, settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "", 91503, 75, false);
5394 EndWriteAttribute();
5395 WriteLiteral(">\r\n");
5396 if (!string.IsNullOrEmpty(settings.BodyText))
5397 {
5398 Write(settings.BodyText);
5399
5400 }
5401 if (settings.BodyTemplate != null)
5402 {
5403 Write(settings.BodyTemplate);
5404
5405 }
5406
5407 var actions = settings.GetActions();
5408 WriteLiteral(" </div>\r\n");
5409 if (actions.Length > 0)
5410 {
5411 WriteLiteral(" <div class=\"modal__footer\">\r\n");
5412 foreach (var action in actions)
5413 {
5414 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") {
5415 action.CssClass += " u-no-margin";
5416 } else {
5417 action.CssClass += " u-full-width u-margin-bottom";
5418 }
5419
5420 Render(action);
5421 }
5422 WriteLiteral(" </div>\r\n");
5423 }
5424 WriteLiteral(" <label class=\"modal__close-btn\"");
5425 BeginWriteAttribute("for", " for=\"", 92822, "\"", 92850, 2);
5426 WriteAttributeValue("", 92828, modalId, 92828, 10, false);
5427 WriteAttributeValue("", 92838, "ModalTrigger", 92838, 12, true);
5428 EndWriteAttribute();
5429 WriteLiteral("></label>\r\n </div>\r\n </div>\r\n");
5430 }
5431 }
5432
5433 void RenderMediaListItem(MediaListItem settings)
5434 {
5435 WriteLiteral(" <div");
5436 BeginWriteAttribute("class", " class=\"", 93088, "\"", 93137, 3);
5437 WriteAttributeValue("", 93096, "media-list-item", 93096, 15, true);
5438 WriteAttributeValue(" ", 93111, settings.CssClass, 93112, 18, false);
5439 WriteAttributeValue(" ", 93130, "dw-mod", 93131, 7, true);
5440 EndWriteAttribute();
5441 WriteLiteral(" ");
5442 Write(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "");
5443 WriteLiteral(">\r\n");
5444 if (!string.IsNullOrEmpty(settings.Label))
5445 {
5446 if (!string.IsNullOrEmpty(settings.Link))
5447 {
5448 Render(new Link
5449 {
5450 Href = settings.Link,
5451 CssClass = "media-list-item__sticker dw-mod",
5452 ButtonLayout = ButtonLayout.None,
5453 Title = settings.Label,
5454 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5455 });
5456 }
5457 else if (!string.IsNullOrEmpty(settings.OnClick))
5458 {
5459 WriteLiteral(" <span class=\"media-list-item__sticker dw-mod\"");
5460 BeginWriteAttribute("onclick", " onclick=\"", 93945, "\"", 93974, 1);
5461 WriteAttributeValue("", 93955, settings.OnClick, 93955, 19, false);
5462 EndWriteAttribute();
5463 WriteLiteral(">\r\n <span class=\"u-uppercase\">");
5464 Write(settings.Label);
5465 WriteLiteral("</span>\r\n </span>\r\n");
5466 }
5467 else
5468 {
5469 WriteLiteral(" <span class=\"media-list-item__sticker media-list-item__sticker--no-link dw-mod\">\r\n <span class=\"u-uppercase\">");
5470 Write(settings.Label);
5471 WriteLiteral("</span>\r\n </span>\r\n");
5472 }
5473 }
5474 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");
5475 if (!string.IsNullOrEmpty(settings.Title))
5476 {
5477 if (!string.IsNullOrEmpty(settings.Link))
5478 {
5479 Render(new Link
5480 {
5481 Href = settings.Link,
5482 CssClass = "media-list-item__name dw-mod",
5483 ButtonLayout = ButtonLayout.None,
5484 Title = settings.Title,
5485 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : ""
5486 });
5487 }
5488 else if (!string.IsNullOrEmpty(settings.OnClick))
5489 {
5490 WriteLiteral(" <span class=\"media-list-item__name dw-mod\"");
5491 BeginWriteAttribute("onclick", " onclick=\"", 95471, "\"", 95500, 1);
5492 WriteAttributeValue("", 95481, settings.OnClick, 95481, 19, false);
5493 EndWriteAttribute();
5494 WriteLiteral(">");
5495 Write(settings.Title);
5496 WriteLiteral("</span>\r\n");
5497 }
5498 else
5499 {
5500 WriteLiteral(" <span class=\"media-list-item__name media-list-item__name--no-link dw-mod\">");
5501 Write(settings.Title);
5502 WriteLiteral("</span>\r\n");
5503 }
5504 }
5505 WriteLiteral("\r\n");
5506 if (!string.IsNullOrEmpty(settings.Status))
5507 {
5508 WriteLiteral(" <div class=\"media-list-item__state dw-mod\">");
5509 Write(settings.Status);
5510 WriteLiteral("</div>\r\n");
5511 }
5512 WriteLiteral(" </div>\r\n");
5513
5514 settings.InfoTable.CssClass += " media-list-item__parameters-table";
5515 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");
5516
5517 var actions = settings.GetActions();
5518
5519 foreach (ButtonBase action in actions)
5520 {
5521 action.ButtonLayout = ButtonLayout.None;
5522 action.CssClass += " media-list-item__action link";
5523
5524 Render(action);
5525 }
5526 WriteLiteral(" </div>\r\n\r\n");
5527 if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title))
5528 {
5529 settings.SelectButton.CssClass += " u-no-margin";
5530
5531 WriteLiteral(" <div class=\"media-list-item__action-button\">\r\n Render(settings.SelectButton);\r\n </div>\r\n");
5532 }
5533 WriteLiteral(" </div>\r\n </div>\r\n </div>\r\n");
5534 }
5535
5536 void RenderTable(Table settings)
5537 {
5538 Dictionary<string, string> attributes = new Dictionary<string, string>();
5539 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5540
5541 var enumToClasses = new Dictionary<TableDesign, string>
5542 {
5543 { TableDesign.Clean, "table--clean" },
5544 { TableDesign.Bordered, "table--bordered" },
5545 { TableDesign.Striped, "table--striped" },
5546 { TableDesign.Hover, "table--hover" },
5547 { TableDesign.Compact, "table--compact" },
5548 { TableDesign.Condensed, "table--condensed" },
5549 { TableDesign.NoTopBorder, "table--no-top-border" }
5550 };
5551 string tableDesignClass = "";
5552 if (settings.Design != TableDesign.None)
5553 {
5554 tableDesignClass = enumToClasses[settings.Design];
5555 }
5556
5557 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); }
5558
5559 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5560
5561 WriteLiteral(" <table ");
5562 Write(ComponentMethods.AddAttributes(resultAttributes));
5563 WriteLiteral(">\r\n");
5564 if (settings.Header != null)
5565 {
5566 WriteLiteral(" <thead>\r\n Render(settings.Header);\r\n </thead>\r\n");
5567 }
5568 WriteLiteral(" <tbody>\r\n");
5569 foreach (var row in settings.Rows)
5570 {
5571 Render(row);
5572 }
5573 WriteLiteral(" </tbody>\r\n");
5574 if (settings.Footer != null)
5575 {
5576 WriteLiteral(" <tfoot>\r\n Render(settings.Footer);\r\n </tfoot>\r\n");
5577 }
5578 WriteLiteral(" </table>\r\n");
5579 }
5580
5581 void RenderTableRow(TableRow settings)
5582 {
5583 Dictionary<string, string> attributes = new Dictionary<string, string>();
5584 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5585
5586 var enumToClasses = new Dictionary<TableRowDesign, string>
5587 {
5588 { TableRowDesign.NoBorder, "table__row--no-border" },
5589 { TableRowDesign.Border, "table__row--border" },
5590 { TableRowDesign.TopBorder, "table__row--top-line" },
5591 { TableRowDesign.BottomBorder, "table__row--bottom-line" },
5592 { TableRowDesign.Solid, "table__row--solid" }
5593 };
5594
5595 string tableRowDesignClass = "";
5596 if (settings.Design != TableRowDesign.None)
5597 {
5598 tableRowDesignClass = enumToClasses[settings.Design];
5599 }
5600
5601 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); }
5602
5603 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5604
5605 WriteLiteral(" <tr ");
5606 Write(ComponentMethods.AddAttributes(resultAttributes));
5607 WriteLiteral(">\r\n");
5608 foreach (var cell in settings.Cells)
5609 {
5610 if (settings.IsHeaderRow)
5611 {
5612 cell.IsHeader = true;
5613 }
5614 Render(cell);
5615 }
5616 WriteLiteral(" </tr>\r\n");
5617 }
5618
5619 void RenderTableCell(TableCell settings)
5620 {
5621 Dictionary<string, string> attributes = new Dictionary<string, string>();
5622 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); }
5623 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); }
5624 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); }
5625 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); }
5626
5627 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value);
5628
5629 string tagName = settings.IsHeader ? "th" : "td";
5630
5631 Write("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">");
5632 Write(settings.Content);
5633 Write("</" + tagName + ">");
5634 ;
5635 }
5636
5637 BlocksPage articlePage = BlocksPage.GetBlockPage("DynamicArticle");
5638
5639 public string GetParentSettingsItem(string systemName)
5640 {
5641 string item = null;
5642
5643 Dynamicweb.Content.Page current = Dynamicweb.Services.Pages.GetPage(Model.ID);
5644 while (current != null && current.Parent != current)
5645 {
5646 var temp = current.Item != null ? current.Item[systemName] : "";
5647
5648 if (temp != null)
5649 {
5650 item = temp.ToString();
5651
5652 if (!String.IsNullOrEmpty(item) && !String.Equals("default", item, StringComparison.OrdinalIgnoreCase))
5653 {
5654 break;
5655 }
5656 }
5657
5658 current = current.Parent;
5659 }
5660
5661 return item;
5662 }
5663
5664 public string GetArticleCategory(int pageId)
5665 {
5666 string categoryName = null;
5667
5668 //Secure that the article is not in the root folder = Actual has a category
5669 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent != null)
5670 {
5671 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent != null)
5672 {
5673 if (!String.IsNullOrEmpty(Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent.ItemType))
5674 {
5675 categoryName = Dynamicweb.Services.Pages.GetPage(pageId).Parent.GetDisplayName();
5676 }
5677 }
5678 }
5679
5680 return categoryName;
5681 }
5682
5683 public string GetArticleCategoryColor(int pageId)
5684 {
5685 string categoryColor = "";
5686
5687 //Secure that the article is not in the root folder = Actual has a category
5688 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent != null)
5689 {
5690 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent != null)
5691 {
5692 if (!String.IsNullOrEmpty(Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent.ItemType))
5693 {
5694 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Item["CategoryColor"] != null)
5695 {
5696 var service = new ColorSwatchService();
5697 categoryColor = Dynamicweb.Services.Pages.GetPage(pageId).Parent.Item["CategoryColor"].ToString();
5698
5699 if (!categoryColor.Contains("#"))
5700 {
5701 categoryColor = service.GetHexColor(Converter.ToInt32(Model.Area.ID), categoryColor);
5702 }
5703 }
5704 }
5705 }
5706 }
5707
5708 return categoryColor;
5709 }
5710 }
5711 }
5712 #pragma warning restore 1591
5713
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" />
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" }, { "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