Error executing template "Designs/rm_sub/subpage.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_f2ef6a5089eb42e6aa24ebdd5cff0a60.ExecuteAsync()
at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
2 @using System.Globalization;
3 @using System.Text.RegularExpressions;
4 @using Dynamicweb.Environment;
5 @using Newtonsoft.Json;
6 @using Dynamicweb.Logging;
7 @using Dynamicweb.Frontend.Navigation;
8 @using Dynamicweb;
9 @using Dynamicweb.Security.UserManagement;
10 @using Dynamicweb.Content.Items;
11 @using Dynamicweb.Core;
12
13 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
14 @using Dynamicweb.Content.Items;
15
16 @functions{
17 void RenderErhvervsTypeCheckboxes(string productGroupFilter)
18 {
19 <div class="col-xs-6 col-md-4">
20 <div class="checkbox">
21 <label>
22 <input type="checkbox" name="propertytype" value="bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)" />
23 <span>Bolig/erhverv</span>
24 </label>
25 </div>
26 <div class="checkbox">
27 <label>
28 <input type="checkbox" name="propertytype" value="erhvervsgrund" />
29 <span>Erhvervsgrund</span>
30 </label>
31 </div>
32 <div class="checkbox">
33 <label>
34 <input type="checkbox" name="propertytype" value="boligudlejning" />
35 <span>Boligudlejningsejendom</span>
36 </label>
37 </div>
38 <div class="checkbox">
39 <label>
40 <input type="checkbox" name="propertytype" value="kontor, klinik, kontorhotel, showroom, undervisningslokaler" />
41 <span>Kontor</span>
42 </label>
43 </div>
44 </div>
45 <div class="col-xs-6 col-md-4">
46 <div class="checkbox">
47 <label>
48 <input type="checkbox" name="propertytype" value="butik / detail, butik / detailhandel" />
49 <span>Butik/detailhandel</span>
50 </label>
51 </div>
52 <div class="checkbox">
53 <label>
54 <input type="checkbox" name="propertytype" value="industri / logistik, håndværk, industri, kontor / lager, logistik" />
55 <span>Produktion/lager</span>
56 </label>
57 </div>
58 <div class="checkbox">
59 <label>
60 <input type="checkbox" name="propertytype" value="hotel - kursusejendom, restaurant" />
61 <span>Hotel og restaurant</span>
62 </label>
63 </div>
64 <div class="checkbox">
65 <label>
66 <input type="checkbox" name="propertytype" value="projekt ejendom" />
67 <span>Projektejendom</span>
68 </label>
69 </div>
70 </div>
71 <div class="col-xs-6 col-md-4">
72 <div class="checkbox">
73 <label>
74 <input type="checkbox" name="propertytype" value="andet" />
75 <span>Andet</span>
76 </label>
77 </div>
78 </div>
79
80 <input type="hidden" name="propertycategory" value="erhverv, udlejning" />
81 <input type="hidden" name="filtrering" value="@productGroupFilter" />
82 }
83 void RenderBoligtypeCheckboxes()
84 {
85 <div class="col-6 col-md-4">
86 <div class="checkbox">
87 <label>
88 <input type="checkbox" name="propertytype" value="villa" />
89 <span>Villa</span>
90 </label>
91 </div>
92 <div class="checkbox">
93 <label>
94 <input type="checkbox" name="propertytype" value="rækkehus" />
95 <span>Rækkehus</span>
96 </label>
97 </div>
98 <div class="checkbox">
99 <label>
100 <input type="checkbox" name="propertytype" value="villalejlighed" />
101 <span>Villalejlighed</span>
102 </label>
103 </div>
104 <div class="checkbox">
105 <label>
106 <input type="checkbox" name="propertytype" value="andelsbolig" />
107 <span>Andelsbolig</span>
108 </label>
109 </div>
110 </div>
111 <div class="col-6 col-md-4">
112 <div class="checkbox">
113 <label>
114 <input type="checkbox" name="propertytype" value="fritidshus" />
115 <span>Fritidsbolig</span>
116 </label>
117 </div>
118 <div class="checkbox">
119 <label>
120 <input type="checkbox" name="propertytype" value="ejerlejlighed" class="specialOption" data-disable-slider="#grundareal" data-disable-slider-ranges="#grundarealmin,#grundarealmax" />
121 <span>Ejerlejlighed</span>
122 </label>
123 </div>
124 <div class="checkbox">
125 <label>
126 <input type="checkbox" name="propertytype" value="helårsgrund" class="specialOption" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" />
127 <span>Helårsgrund</span>
128 </label>
129 </div>
130 <div class="checkbox">
131 <label>
132 <input type="checkbox" name="propertytype" value="fritidsgrund" class="specialOption" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" />
133 <span>Fritidsgrund</span>
134 </label>
135 </div>
136 </div>
137 <div class="col-6 col-md-4">
138 <div class="checkbox">
139 <label>
140 <input type="checkbox" name="propertytype" value="landejendom, lystejendom" class="specialOption" data-disable-checkbox="true" />
141 <span>Landejendom</span>
142 </label>
143 </div>
144 <div class="checkbox">
145 <label>
146 <input type="checkbox" name="propertytype" value="erhverv" class="specialOption" data-disable-checkbox="true" data-disable-slider="#roomsslider" data-disable-slider-ranges="#roomsmin" />
147 <span>Erhverv</span>
148 </label>
149 </div>
150 </div>
151 }
152
153 void RenderChecked(string queryString)
154 {
155 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString)
156 {
157 @("checked")
158 }
159 }
160
161 void RenderBoligtypeCheckboxesDropdown()
162 {
163 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){
164 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" },
165 { "Andelsbolig", "andelsbolig" }
166 };
167 foreach (KeyValuePair<string, string> type in propertyTypes)
168 {
169 bool ischecked = false;
170 string[] propertytypeSplit = new string[0];
171 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
172 {
173 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
174 }
175 foreach (var propertytypeParams in propertytypeSplit)
176 {
177 if (propertytypeParams == type.Value)
178 {
179 ischecked = true;
180 }
181 }
182 <li>
183 <label class="checkbox-container d-flex">
184 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
185 <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" />
186 <span class="checkmark grey"></span>
187 </label>
188 </li>
189 }
190
191 <li>
192 <label class="checkbox-container d-flex">
193 @Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")
194 @{
195 bool blboligcheck = false;
196 }
197 @if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
198 {
199 blboligcheck = true;
200 }
201 <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" />
202 <span class="checkmark grey"></span>
203 </label>
204 </li>
205
206 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){
207 { "Fritidsbolig", "fritidshus" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" },
208 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" }
209 };
210 foreach (KeyValuePair<string, string> type in propertyTypes2)
211 {
212 bool ischecked = false;
213 string[] propertytypeSplit2 = new string[0];
214 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"]))
215 {
216 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(',');
217 }
218 foreach (var propertytypeParams in propertytypeSplit2)
219 {
220 if (propertytypeParams == type.Value)
221 {
222 ischecked = true;
223 }
224 }
225 <li>
226 <label class="checkbox-container d-flex">
227 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
228 @if (type.Value == "ejerlejlighed")
229 {
230 <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" />
231 }
232 else if (type.Value == "helårsgrund")
233 {
234 <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" />
235 }
236 else if (type.Value == "fritidsgrund")
237 {
238 <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" />
239 }
240 else
241 {
242 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
243 }
244 <span class="checkmark grey"></span>
245 </label>
246 </li>
247 }
248 }
249
250 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false)
251 {
252 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
253 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" },
254 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" }
255 };
256 var submitonchange = "";
257 if (submitOnChange)
258 {
259 submitonchange = "onchange='submitFilter()'";
260 }
261
262 foreach (KeyValuePair<string, string> type in erhverType)
263 {
264 string ischecked = "";
265 string[] olineParamsSplit = new string[0];
266 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
267 {
268 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
269 }
270 foreach (var olineParams in olineParamsSplit)
271 {
272 if (olineParams == type.Value)
273 {
274 ischecked = "checked";
275 }
276 }
277
278 <li>
279 <label class="checkbox-container d-flex">
280 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
281 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" @submitonchange @ischecked />
282 <span class="checkmark grey"></span>
283 </label>
284 </li>
285 }
286
287
288 bool ischeckedpropertycat = false;
289 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"]))
290 {
291 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv")
292 {
293 ischeckedpropertycat = true;
294 }
295 }
296 <li>
297 <label class="checkbox-container">
298 @Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")
299 <input type="checkbox" name="propertycategory" value="Blandet Bolig/Erhverv" class="js-input-check datavalue" data-val="Blandet Bolig/Erhverv" onchange="submitFilter()" checked="@ischeckedpropertycat" />
300 <span class="checkmark grey"></span>
301 </label>
302 </li>
303 }
304
305 void RenderBoligTypeErhvervInvest(bool submitOnChange = false)
306 {
307 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
308 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" },
309 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" }
310 };
311
312 foreach (KeyValuePair<string, string> type in erhverType)
313 {
314 bool ischecked = false;
315 string[] olineParamsSplit = new string[0];
316 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"]))
317 {
318 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(',');
319 }
320 foreach (var olineParams in olineParamsSplit)
321 {
322 if (olineParams == type.Value)
323 {
324 ischecked = true;
325 }
326 }
327
328 <li>
329 <label class="checkbox-container">
330 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")
331 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" />
332 <span class="checkmark grey"></span>
333 </label>
334 </li>
335 }
336 }
337 int GetWebsiteSettingsPageId(string pageSysName)
338 {
339 int sideId = 0;
340
341 var pw = Dynamicweb.Frontend.PageView.Current();
342
343 string settingsItemId = "1";
344
345 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true")
346 {
347 settingsItemId = "2";
348 }
349
350 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId);
351
352 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName))
353 {
354 return sideId;
355 }
356
357 string boligsideLink = settingsItem[pageSysName] as String;
358 string linkPrefix = "Default.aspx?ID=";
359
360 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
361 {
362 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
363 }
364
365 return sideId;
366 }
367
368 int GetPageSettingsPageId(string pageSysName)
369 {
370 int sideId = 0;
371
372 var pw = Dynamicweb.Frontend.PageView.Current();
373
374 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName))
375 {
376 return sideId;
377 }
378
379 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String;
380 string linkPrefix = "Default.aspx?ID=";
381
382 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower()))
383 {
384 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId);
385 }
386
387 return sideId;
388 }
389 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname)
390 {
391 <select class="form-control d-block d-lg-none mb-10 @className" onchange="submitFilter()" name="@inputname">
392 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder." + name + "", "" + name + "")</option>
393
394 @for (var i = 0; i <= max; i += step)
395 {
396 var selected = string.Empty;
397 var current = string.Empty;
398 if (i == max)
399 {
400 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
401 {
402 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")+</option>
403 }
404 else
405 {
406 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")+</option>
407 }
408 }
409 else
410 {
411 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i))
412 {
413 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")</option>
414 }
415 else
416 {
417 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
418 }
419 }
420 }
421 </select>
422 }
423
424 void RenderTopFilter(string parameter)
425 {
426 if (parameter == "pricemin" || parameter == "pricemax")
427 {
428 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"]))
429 {
430 if (parameter == "pricemin")
431 {
432 @("<div class='search-terms' id='priceFilter'>")
433 @("Pris ") @Dynamicweb.Context.Current.Request[parameter]
434 }
435
436 else
437 {
438 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="pricemin,pricemax"></i>
439 @("</div>")
440 }
441 }
442 }
443
444 else if (parameter == "subsidymin" || parameter == "subsidymax")
445 {
446 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"]))
447 {
448 if (parameter == "subsidymin")
449 {
450 @("<div class='search-terms' id='subsidyFilter'>")
451 @("Årlig leje ") @Dynamicweb.Context.Current.Request[parameter]
452 }
453
454 else
455 {
456 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidymin,subsidymax"></i>
457 @("</div>")
458 }
459 }
460 }
461 else if (parameter == "etagearealmin" || parameter == "etagearealmax")
462 {
463 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"]))
464 {
465 if (parameter == "etagearealmin")
466 {
467 @("<div class='search-terms' id='etagearealFilter'>")
468 @("Etageareal ") @Dynamicweb.Context.Current.Request[parameter]
469 }
470
471 else
472 {
473 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="etagearealmin,etagearealmax"></i>
474 @("</div>")
475 }
476 }
477 }
478
479 else if (parameter == "grundarealmin" || parameter == "grundarealmax")
480 {
481 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"]))
482 {
483 if (parameter == "grundarealmin")
484 {
485 @("<div class='search-terms' id='grundarealFilter'>")
486 @("Grundareal ") @Dynamicweb.Context.Current.Request[parameter]
487 }
488
489 else
490 {
491 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="grundarealmin,grundarealmax"></i>
492 @("</div>")
493 }
494 }
495 }
496
497 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax")
498 {
499 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"]))
500 {
501 if (parameter == "subsidykvmmin")
502 {
503 @("<div class='search-terms' id='subsidykvmFilter'>")
504 @("Årlig leje kvm ") @Dynamicweb.Context.Current.Request[parameter]
505 }
506
507 else
508 {
509 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidykvmmin,subsidykvmmax"></i>
510 @("</div>")
511 }
512 }
513 }
514
515 else if (parameter == "olinecategory")
516 {
517
518 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"]))
519 {
520 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
521 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" },
522 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"},
523 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" },
524 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" }
525 };
526
527
528 foreach (var er in erhverType)
529 {
530 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
531 {
532 <div class="search-terms" id="@parameter">
533 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
534 </div>
535 }
536 }
537 }
538 }
539 else if (parameter == "propertycategory")
540 {
541
542 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"]))
543 {
544 Dictionary<string, string> erhverType = new Dictionary<string, string>(){
545 { "propertycategory", "Blandet Bolig/Erhverv" }
546 };
547
548 foreach (var er in erhverType)
549 {
550 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value)
551 {
552 <div class="search-terms" id="@parameter">
553 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
554 </div>
555 }
556 }
557 }
558 }
559 else if (parameter == "search")
560 {
561 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"]))
562 {
563 <div class="search-terms" id="@parameter">
564 @Dynamicweb.Context.Current.Request[parameter] <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter"></i>
565 </div>
566 }
567 }
568 else
569 {
570 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]))
571 {
572 Dictionary<string, string>
573 ubudsform = new Dictionary<string, string>
574 (){
575 {"salg", "Salg" }, { "leje","Leje" }
576 };
577
578 foreach (var er in ubudsform)
579 {
580 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key))
581 {
582 <div class="search-terms" id="@parameter">
583 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i>
584 </div>
585 }
586 }
587
588
589 }
590 }
591 }
592
593 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString)
594 {
595 var selected = "";
596 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue)
597 {
598 selected = "selected";
599 }
600
601 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected);
602
603 @current
604 }
605
606 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "")
607 {
608 <div class="main-search-form frontpage @cssClasses">
609 <div class="dropdown-overlay"></div>
610 <div class="row mb-3 align-items-center">
611 <div class="col-xs-12 col-md-3 border-right">
612 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
613 </div>
614 <div class="col-xs-12 col-md-9 home-count d-none d-md-block">
615 <span class="search-count" id="searchCounter">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span>
616 </div>
617 </div>
618
619 <form id="main-search-frontpage" class="searchbar-wrapper" action="/Default.aspx" method="GET">
620 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId-frontpage" disabled="disabled" />
621 <div class="row form-wrapper no-gutters">
622
623 <div class="col-xs-12 col-md-5 col-searchbar">
624 <div class="searchbar">
625 <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)" />
626 <input type="hidden" id="zipcodefrom-frontpage" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" />
627 <input type="hidden" id="zipcodeto-frontpage" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" />
628 </div>
629 </div>
630 <div class="col-xs-12 col-md-5">
631 <div class="row no-gutters">
632 <div class="col-xs-12 col-md-6 input-col">
633 <div class="dropdown w-overlay">
634 <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">
635 @Translate("Smartpage:Search.Boligtype", "Boligtype")
636 </button>
637 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
638 <ul class="bolig-dropdown list-unstyled">
639 @{
640 RenderBoligtypeCheckboxesDropdown();
641 }
642 </ul>
643 <span class="border-fat"></span>
644 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
645 </div>
646
647 </div>
648
649 </div>
650 <div class="col-xs-12 col-md-6 input-col">
651 <div class="dropdown w-overlay">
652 <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">
653 @Translate("Smartpage:Search.Pris", "Pris")
654 </button>
655 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris">
656 <input type="text" class="form-control mb-10 js-auto-thousand js-pricemin-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MinPris","Min. pris")' />
657 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
658 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
659 @for (var i = 0; i <= 10000000; i += 100000)
660 {
661 if (i == 10000000)
662 {
663 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
664 }
665 else
666 {
667 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
668 }
669 }
670 </select>
671 <input type="hidden" id="pricemin-frontpage" name="pricemin" />
672
673 <input type="text" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris")' />
674 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
675 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
676 @for (var i = 0; i <= 10000000; i += 100000)
677 {
678 if (i == 10000000)
679 {
680 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
681 }
682 else
683 {
684 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
685 }
686 }
687 </select>
688 <input type="hidden" id="pricemax-frontpage" name="pricemax" />
689 <button class="btn btn-primary js-close-dropdown mt-3">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
690 </div>
691 </div>
692 </div>
693 </div>
694 </div>
695 <div class="col-xs-12 col-md-2 d-none d-md-block">
696 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
697 </div>
698 </div>
699
700 <div class="row moresearch-btn no-gutters">
701 <div class="col-sm-12">
702 <div class="row align-items-center no-gutters">
703 <div class="col-12 col-md-4">
704 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch" aria-expanded="false" aria-controls="moreSearch">
705 <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>
706 </button>
707 </div>
708 <div class="col-6 col-md-2 mb-xs-4">
709 <a class="js-reset reset-btn">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
710 </div>
711 </div>
712
713 <div class="collapse" id="moreSearch">
714 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
715 <div class="row align-items-end mb-30">
716 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
717 <div class="filter-container row">
718 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
719 <div class="col-6 pr-sm-0 pr-2">
720 <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")' />
721 <select class="form-control js-boligarealmin-frontpage-select js-count">
722 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
723 @for (var i = 0; i <= 300; i += 10)
724 {
725 if (i == 300)
726 {
727 <option value="@i">@i+</option>
728 }
729 else
730 {
731 <option value="@i">@i</option>
732 }
733 }
734 </select>
735 </div>
736 <div class="col-6 pl-sm-0 pl-2">
737 <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")' />
738 <select class="form-control js-boligarealmax-frontpage-select js-count">
739 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
740 @for (var i = 0; i <= 300; i += 10)
741 {
742 if (i == 300)
743 {
744 <option value="@i">@i+</option>
745 }
746 else
747 {
748 <option value="@i">@i</option>
749 }
750 }
751 </select>
752 </div>
753 </div>
754 </div>
755 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
756 <div class="filter-container row">
757 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
758 <div class="col-6 pr-sm-0 pr-2">
759 <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")' />
760 <select class="form-control js-grundarealmin-frontpage-select js-count">
761 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
762 @for (var i = 0; i <= 10000; i += 100)
763 {
764 if (i == 10000)
765 {
766 <option value="@i">@i+</option>
767 }
768 else
769 {
770 <option value="@i">@i</option>
771 }
772 }
773 </select>
774 </div>
775 <div class="col-6 pl-sm-0 pl-2">
776 <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")' />
777 <select class="form-control js-grundarealmax-frontpage-select js-count">
778 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
779 @for (var i = 0; i <= 10000; i += 100)
780 {
781 if (i == 10000)
782 {
783 <option value="@i">@i+</option>
784 }
785 else
786 {
787 <option value="@i">@i</option>
788 }
789 }
790 </select>
791 </div>
792 </div>
793 </div>
794 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
795 <div class="filter-container row">
796 <label class="d-block col-12">Antal rum</label>
797
798 <div class="col-6 pr-sm-0 pr-2">
799 <select name="roomsmin" id="roomsmin-frontpage" class="form-control reverse js-count">
800 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
801 <option value="1">1</option>
802 <option value="2">2</option>
803 <option value="3">3</option>
804 <option value="4">4</option>
805 <option value="5+">5+</option>
806 </select>
807 </div>
808 <div class="col-6 pl-sm-0 pl-2">
809 <select name="roomsmax" id="roomsmax-frontpage" class="form-control reverse js-count">
810 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
811 <option value="1">1</option>
812 <option value="2">2</option>
813 <option value="3">3</option>
814 <option value="4">4</option>
815 <option value="5+">@Translate("Smartpage:Rooms.5", "5")</option>
816 </select>
817 </div>
818 </div>
819 </div>
820 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
821 <div class="row">
822 <div class="col-12">
823 <div class="filter-container">
824 <label class="d-block">Energimærke</label>
825 <select name="energylabel" id="energylabel-frontpage" class="form-control reverse js-count">
826 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
827 <option value="01">G</option>
828 <option value="02">F</option>
829 <option value="03">E</option>
830 <option value="04">D</option>
831 <option value="05">C</option>
832 <option value="06">B</option>
833 <option value="07">A</option>
834 <option value="08">A2010</option>
835 <option value="09">A2015</option>
836 <option value="10">A2020+</option>
837 </select>
838 </div>
839 </div>
840 </div>
841 </div>
842 <div class="col-12 col-sm-6 col-lg-3 mt-3">
843 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
844 <div class="filter-container row">
845 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
846 <div class="col-6 pr-sm-0 pr-2">
847 <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")' />
848 <select class="form-control js-subsidymin-frontpage-select js-count">
849 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
850 @for (var i = 0; i <= 25000; i += 1250)
851 {
852 if (i == 25000)
853 {
854 <option>@Convert.ToInt32(i).ToString("N0")+</option>
855 }
856 else
857 {
858 <option>@Convert.ToInt32(i).ToString("N0")</option>
859 }
860 }
861 </select>
862 </div>
863 <div class="col-6 pl-sm-0 pl-2">
864 <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")' />
865 <select class="form-control js-subsidymax-frontpage-select js-count">
866 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
867 @for (var i = 0; i <= 25000; i += 1250)
868 {
869 if (i == 25000)
870 {
871 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
872 }
873 else
874 {
875 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
876 }
877 }
878 </select>
879 </div>
880 </div>
881 </div>
882 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0">
883 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
884 </div>
885 </div>
886 </div>
887 </div>
888 </div>
889
890 <div class="row d-block d-md-none form-wrapper no-gutters">
891 <div class="col-xs-12 col-md-2">
892 <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>
893 </div>
894 </div>
895 </form>
896 <div class="front-page-actions d-md-none">
897 <div>
898 <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>
899 </div>
900 <div>
901 @{
902 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : "";
903 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER");
904 <form method="GET" action="/Default.aspx">
905 <input name="id" value="@brokerSearchId" type="hidden" />
906 <div class="icon-wrapper-wclick">
907 <i class="fas fa-search ta-submit-on-icon-click"></i>
908 <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'" />
909 </div>
910 </form>
911 }
912 </div>
913 <div>
914 <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>
915 </div>
916 </div>
917 </div>
918
919 }
920 }
921 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
922 @using Dynamicweb.Core;
923 @using Dynamicweb.Frontend.Navigation;
924 @using Dynamicweb;
925
926 @functions {
927 void RenderSlideMenu(bool BoligOne, bool erhverv, string maeglersoegning)
928 {
929 <div id="menu" class="main-menu-slide">
930 <div class="container">
931 <div class="row">
932 <div class="col-12">
933 <span class="menu-headline">MENU</span>
934 </div>
935 <div class="menu-slide">
936 <b></b>
937 </div>
938
939 <div class="col-12 main-slidemenu">
940 @{
941 string erhvervsNavigationAreaId = !string.IsNullOrWhiteSpace(Converter.ToString(Pageview.Area.Item["SpErhvervNavigationAreaId"])) ? Converter.ToString(Pageview.Area.Item["SpErhvervNavigationAreaId"]) : "2723";
942 string rmNavigationAreaId = !string.IsNullOrWhiteSpace(Converter.ToString(Pageview.Area.Item["SpRMNavigationAreaId"])) ? Converter.ToString(Pageview.Area.Item["SpRMNavigationAreaId"]) : "1";
943
944 if (Pageview.Page.ItemType == "AgentPage")
945 {
946 @Navigation.RenderNavigation("Navigation/AgentNavigation.cshtml",
947 new NavigationSettings { StartLevel = 1, StopLevel = 1, RootAreaId = Pageview.Area.ID })
948 }
949 else if (erhverv)
950 {
951 <ul id="main-nav-erhverv" class="navigation dwnavigation" settings="startlevel:1;endlevel:2;template:Erhverv_ul_li.xslt;expandmode:all;areaid:@erhvervsNavigationAreaId;"></ul>
952 @GetValue("DwNavigation(mainnaverhverv)")
953 }
954 else
955 {
956 <ul id="main-nav" class="navigation dwnavigation" settings="startlevel:1;endlevel:2;template:Erhverv_ul_li.xslt;expandmode:all;areaid:@rmNavigationAreaId;"></ul>
957 @GetValue("DwNavigation(mainnav)")
958 }
959 }
960 </div>
961 <div class="col-12 bottom-btns">
962
963 @{
964 string[] maeglerid;
965 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0";
966
967 if (erhverv)
968 {
969 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None);
970 }
971 else
972 {
973 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None);
974 }
975
976 <form method="GET" action="/Default.aspx">
977 <input name="id" value="@maeglerid[1]" type="hidden" />
978 <div class="icon-wrapper-wclick">
979 <i class="fas fa-search ta-submit-on-icon-click"></i>
980 <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'" />
981 </div>
982 </form>
983 }
984 <br />
985 @{
986 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + "";
987 }
988 <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>
989 </div>
990 </div>
991 </div>
992 </div>
993 }
994 }
995 @{
996 Context.Current.Response.AddHeader("access-control-allow-origin", "*");
997
998 string bodyClass = "";
999 string template = "real";
1000 string TemplateUrl = "/Files/Templates/Designs/rm/";
1001 string logoUrl = TemplateUrl + (!Dynamicweb.Core.Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg");
1002 string MetaTitle = GetString("Title");
1003 string MetaDescription = GetString("Meta.Description");
1004 string MetaKeywords = GetString("Meta.Keywords");
1005 string searchClass = "";
1006
1007 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css"));
1008 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}";
1009
1010 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg";
1011
1012 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2");
1013
1014 // Indstillinger
1015 var settings_Frontpage = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : "";
1016 var settings_Boligside = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : "";
1017 var settings_Maeglersogning = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : "";
1018 var settings_MinSide = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : "";
1019 var settings_Sibling_Site = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : "";
1020 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : "";
1021 var settings_Product_Group = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : "";
1022 var settings_Boligagent = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : "";
1023 var settings_Persondatapolitik = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : "";
1024
1025 // API
1026 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : "";
1027 var settings_BoligListFeed = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : "";
1028 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : "";
1029 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : "";
1030 var settings_BoligCountFeed = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : "";
1031 var settings_BoligMapFeed = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : "";
1032 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"];
1033
1034 // Forside
1035 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : "";
1036 var settings_FrontpageVideo = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : "";
1037 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : "";
1038
1039 // Tracking
1040 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : "";
1041 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"])))
1042 {
1043 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]);
1044 }
1045 var settings_Google_Tag_Manager_ID_BoligOne = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID_BoligOne"])) ? SettingsItem["Google_Tag_Manager_ID_BoligOne"] : "";
1046 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : "";
1047 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : "";
1048 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : "";
1049 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]);
1050 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]);
1051
1052 // Indstillinger for brugerfunktioner
1053 var settings_ForgotPwPage = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : "";
1054 var settings_NewsletterSignup = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : "";
1055 var settings_CreateUserModal = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : "";
1056 var settings_LoginModal = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : "";
1057
1058 int createUserParagraphId = 0;
1059 int loginParagraphId = 0;
1060 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId);
1061 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId);
1062
1063 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv.
1064 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv)
1065 int searchPageId = GetPageSettingsPageId("Boligside");
1066 if (searchPageId == 0)
1067 {
1068 searchPageId = GetWebsiteSettingsPageId("Boligside");
1069 }
1070
1071 int boligsideId = GetPageSettingsPageId("Boligside");
1072 if (boligsideId == 0)
1073 {
1074 boligsideId = GetWebsiteSettingsPageId("Boligside");
1075 }
1076
1077 string productGroupFilter = String.Empty;
1078 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null)
1079 {
1080 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString();
1081 }
1082
1083 if (GetString("DwAreaFirstActivePageID") == GetString("DwPageID") || GetBoolean("Item.Page.TransparentHeader"))
1084 {
1085 bodyClass += " frontpage";
1086 bodyClass += " header-transparent";
1087
1088 }
1089 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"]))
1090 {
1091 searchClass = "is-frontpage";
1092 }
1093
1094 bool isErhverv = false;
1095 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null)
1096 {
1097 var s = Pageview.Page.PropertyItem["Erhverv"].ToString();
1098 Boolean.TryParse(s, out isErhverv);
1099 }
1100
1101 bool isBrokerPage = false;
1102 if (!String.IsNullOrEmpty(GetString("Item.Area.M_glerGruppeId.Value")))
1103 {
1104 isBrokerPage = true;
1105 bodyClass = ""; // Get rid of transparent header on brokerPage
1106 }
1107
1108 string callTrackingId = GetString("Item.Area.CallTrackingId.Value");
1109
1110 RealEstate.User.Model.BrokerEmployee MyBroker = null;
1111 try
1112 {
1113 var MyB = new RealEstate.User.MyBroker();
1114 MyBroker = MyB.GetMyBroker();
1115 }
1116 catch
1117 {
1118 // Ignore
1119 }
1120
1121 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : "");
1122 string querySearchNameAttr = "search";
1123 // Overwrite search with zipcodeinterval if set
1124 if (Context.Current.Request.QueryString["zipcodeinterval"] != null)
1125 {
1126 querySearch = Context.Current.Request.QueryString["zipcodeinterval"];
1127 querySearchNameAttr = "zipcodeinterval";
1128 }
1129 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : "");
1130 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : "");
1131
1132 Dynamicweb.Security.UserManagement.User user = null;
1133 int userID = 0;
1134 string userName = "";
1135 string userEmail = "";
1136 string userPhone = "";
1137 string userZip = "";
1138 string userAddress = "";
1139
1140 if (UserContext.Current.IsLoggedOn)
1141 {
1142 user = UserContext.Current.User;
1143 userName = user.Name;
1144 userEmail = user.Email;
1145 userPhone = user.Phone;
1146 userZip = user.Zip;
1147 userAddress = user.Address;
1148 userID = user.ID;
1149 }
1150
1151 if (!String.IsNullOrEmpty(GetString("DW_extranet_AccessUserName")))
1152 {
1153 userName = GetString("DW_extranet_AccessUserName");
1154 }
1155
1156 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode");
1157 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png";
1158 string forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml";
1159 string forgotPwSender = "noreply@mailreal.dk";
1160 string markerColor = "#213960";
1161
1162 var butikId = string.Empty;
1163 var primaryArea = string.Empty;
1164 string bEmail = string.Empty;
1165 if (MyBroker != null && MyBroker.Broker != null)
1166 {
1167 var item = Dynamicweb.Content.Items.ItemManager.Storage.GetById(MyBroker.Broker.ItemType, MyBroker.Broker.ItemId);
1168 butikId = Converter.ToString(item["CBMedlemsnummer"]);
1169 primaryArea = Converter.ToString(item["PrimaertOmraade"]);
1170 bEmail = Converter.ToString(item["Email"]);
1171 }
1172
1173 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment"));
1174 var termsMail = "info@realmaeglerne.dk";
1175 }
1176
1177 <!DOCTYPE html>
1178 <html>
1179 <head>
1180 <meta charset="utf-8">
1181 <title>@MetaTitle</title>
1182 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
1183 <meta name="description" content="@MetaDescription">
1184 <meta name="keywords" content="@MetaKeywords">
1185 <meta name="format-detection" content="telephone=no">
1186 <meta http-equiv="Expires" content="60">
1187 <meta name="robots" content="@(Pageview.Area.Noindex ? "noindex" : "index"),@(Pageview.Area.Nofollow ? "nofollow" : "follow")">
1188
1189 @RenderSnippet("OpenGraphTags")
1190
1191 @*RICH SNIPPETS*@
1192
1193 <script type="application/ld+json">
1194 {
1195 "context": "https://schema.org/",
1196 "@@type": "WebSite",
1197 "name": "RealMæglerne",
1198 "url": "https://www.realmaeglerne.dk/",
1199 "potentialAction": {
1200 "type": "SearchAction",
1201 "target": "https://www.realmaeglerne.dk/find-maegler?q={search_term_string}",
1202 "query-input": "required name=search_term_string"
1203 }
1204 }
1205 </script>
1206
1207 <script type="application/ld+json">
1208 {
1209 "context": "https://schema.org",
1210 "@@type": "Corporation",
1211 "name": "RealMæglerne",
1212 "alternateName": "R&B Mægler A/S",
1213 "url": "https://www.realmaeglerne.dk",
1214 "logo": "https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png",
1215 "contactPoint": {
1216 "type": "ContactPoint",
1217 "telephone": "+4570237153",
1218 "contactType": "sales",
1219 "areaServed": "DK",
1220 "availableLanguage": "Danish"
1221 },
1222 "sameAs": [
1223 "https://www.facebook.com/realmaeglerne/",
1224 "https://www.linkedin.com/company/realmæglerne/",
1225 "https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g",
1226 "https://www.realmaeglerne.dk/"
1227 ]
1228 }
1229 </script>
1230 @RenderSnippet("StructuredData")
1231 @*RICH SNIPPETS END*@
1232
1233 @*FONT AWESOME*@
1234 @{
1235 <link rel="stylesheet" href="@(TemplateUrl)assets/fontawesome/css/all.css" async />
1236 <link rel="stylesheet" href="@mainCSS" async />
1237 <link rel="icon" type="image/ico" href="@(TemplateUrl)assets/images/favicons/favicon-real.ico?v=1">
1238 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-16x16.png" sizes="16x16">
1239 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-32x32.png" sizes="32x32">
1240 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-96x96.png" sizes="96x96">
1241 <meta name="google-site-verification" content="hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg" />
1242 }
1243 <!-- Cookie Saver Preload -->
1244 <script>
1245 (function () { function r(n, e, t) { function i(o, u) { if (!e[o]) { if (!n[o]) { var f = "function" == typeof require && require; if (!u && f) return f(o, !0); if (a) return a(o, !0); var c = new Error("Cannot find module '" + o + "'"); throw c.code = "MODULE_NOT_FOUND", c } var s = e[o] = { exports: {} }; n[o][0].call(s.exports, function (r) { var e = n[o][1][r]; return i(e || r) }, s, s.exports, r, n, e, t) } return e[o].exports } for (var a = "function" == typeof require && require, o = 0; o < t.length; o++)i(t[o]); return i } return r })()({ 1: [function (r, n, e) { "use strict"; function t(r, n) { return o(r) || a(r, n) || i() } function i() { throw new TypeError("Invalid attempt to destructure non-iterable instance") } function a(r, n) { var e = []; var t = true; var i = false; var a = undefined; try { for (var o = r[Symbol.iterator](), u; !(t = (u = o.next()).done); t = true) { e.push(u.value); if (n && e.length === n) break } } catch (r) { i = true; a = r } finally { try { if (!t && o["return"] != null) o["return"]() } finally { if (i) throw a } } return e } function o(r) { if (Array.isArray(r)) return r } (function (r, n) { var e = "3.2"; var i = Date.now(); if (!Object.entries) { Object.entries = function (r) { var n = Object.keys(r), e = n.length, t = new Array(e); while (e--) { t[e] = [n[e], r[n[e]]] } return t } } function a() { var r = "cs_test_cookie=1"; var n = document.location.hostname.split("."); for (var e = n.length - 1; e >= 0; e--) { var t = n.slice(e).join("."); document.cookie = r + ";domain=." + t + ";"; if (document.cookie.indexOf(r) > -1) { document.cookie = r.split("=")[0] + "=;domain=." + t + ";expires=Thu, 01 Jan 1970 00:00:01 GMT;"; return t } } return document.location.hostname } function o(r, n) { var e = [n]; var t = r.substring(0, r.length - n.length); if (t.length > 0) { var i = t.split("."); i.pop(); var a = n; for (var o = i.length - 1; o >= 0; o--) { a = i[o] + "." + a; e.push(a) } } return e } function u(r, n, e, t, i) { var a = r + "=" + n + ";"; if (e !== null) { a += "expires=" + e + ";" } if (t !== null) { a += "domain=" + t + ";" } if (i) { a += "secure;" } a += "path=/;"; document.cookie = a } var f = Date.now(); var c = []; var s = document.cookie; if (!s) { return } var l = a(); var v = o(document.location.hostname, l); s = s.split(/; */); var h = {}; for (var d = 0; d < s.length; d++) { h[s[d].substring(0, s[d].indexOf("="))] = s[d].substring(s[d].indexOf("=") + 1) } var g = "_acs_"; var p = "_acs__acsr_"; var b = []; Object.entries(h).forEach(function (r) { var n = t(r, 2), e = n[0], i = n[1]; if (e.indexOf(g) === 0) { var a = true; for (var o in v) { if (e === g + v[o]) { a = false; break } } if (a) { b.push(e); return } try { var s = JSON.parse(h[e]); if (s.c) { var l = e.substring(g.length); for (var d = 0, p = Object.entries(s.c); d < p.length; d++) { var m = t(p[d], 2), O = m[0], w = m[1]; var x = parseInt(w.e, 36) * 1e3; if (!(O in h) && x > f) { u(O, w.v, new Date(x).toUTCString(), w.r ? null : "." + l, w.s ? true : false) } } } } catch (r) { c.push({ n: e, v: h[e], e: r }) } } }); b.forEach(function (r) { var n = h[r]; if (r.indexOf(p) === 0) { if (!(r.substring(p.length) in h)) { u(r.substring(p.length), n, null, null, null); return } } if (r.indexOf(g) === 0) { if (!(r.substring(g.length) in h)) { u(r.substring(g.length), n, null, l, null) } } }); var m = Date.now(); r.acqps = { v: e, s: i, e: m, t: m - i, w: c } })(window) }, {}] }, {}, [1]);
1246 </script>
1247 <!-- End Cookie Saver -->
1248
1249 @if (!string.IsNullOrEmpty(settings_AntiFlicker_ID.ToString()))
1250 {
1251 <!-- Anti-flicker snippet -->
1252 <style>
1253 .async-hide {
1254 opacity: 0 !important
1255 }
1256 </style>
1257 <script>
1258 (function (a, s, y, n, c, h, i, d, e) {
1259 s.className += ' ' + y; h.start = 1 * new Date;
1260 h.end = i = function () { s.className = s.className.replace(RegExp(' ?' + y), '') };
1261 (a[n] = a[n] || []).hide = h; setTimeout(function () { i(); h.end = null }, c); h.timeout = c;
1262 })(window, document.documentElement, 'async-hide', 'dataLayer', 4000,
1263 { '@settings_Google_Tag_Manager_ID': true });</script>
1264
1265 }
1266
1267 @if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId))
1268 {
1269 <script type="text/javascript" src="https://call.call-tracking.dk/getJavascript?custid=@callTrackingId"></script>
1270 }
1271
1272 @if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString()))
1273 {
1274 <!-- Datalaget -->
1275 <script>
1276 window.dataLayer = window.dataLayer || [];
1277 </script>
1278
1279 <!-- Andet -->
1280 <script>
1281 window.dataLayer.push({
1282 'division': '@(isErhverv ? "b2b" : "b2c")', // 'b2c', 'b2b', 'project' ...
1283 });
1284 </script>
1285
1286 @RenderSnippet("GtmDatalayer")
1287
1288 <!-- Google Tag Manager -->
1289 <script>
1290 (function (w, d, s, l, i) {
1291 w[l] = w[l] || []; w[l].push({
1292 'gtm.start':
1293 new Date().getTime(), event: 'gtm.js'
1294 }); var f = d.getElementsByTagName(s)[0],
1295 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
1296 'https://frap.realmaeglerne.dk/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
1297 })(window, document, 'script', 'dataLayer', '@Converter.ToString(settings_Google_Tag_Manager_ID)');
1298 </script>
1299 }
1300
1301 @if (!string.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString()))
1302 {
1303 <!-- Begin Leadhub Pixel Code -->
1304 <script>
1305 (function(w,d,x,n,u,t,f,s,o){
1306 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){
1307 (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)
1308 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '@settings_Leadhub_Pixel_ID');
1309 lhi('pageview');
1310 </script>
1311 <!-- End Leadhub Pixel Code -->
1312 }
1313
1314 <script>
1315 // Global namespace used for fetching API feeds from DW
1316 var RMAPI = (RMAPI) ? RMAPI : {};
1317 var ApiPreFix = "/Default.aspx?ID=";
1318 RMAPI.BoligCountFeed = ApiPreFix + "@settings_BoligCountFeed";
1319 RMAPI.BoligListFeed = ApiPreFix + "@settings_BoligListFeed" + "&refpageid=@Pageview.Page.ID";
1320 RMAPI.BoligListFeedErhverv = "@settings_BoligListFeedErhverv";
1321 RMAPI.BoligListFeedMaegler = ApiPreFix + "@settings_BoligListFeedMaegler" + "&refpageid=@Pageview.Page.ID";
1322 RMAPI.BoligSearchFeed = ApiPreFix + "@settings_BoligSearchFeed";
1323 RMAPI.BoligMapFeed = ApiPreFix + "@settings_BoligMapFeed";
1324 RMAPI.Boligagent = "@settings_Boligagent";
1325 RMAPI.IsErhverv = @isErhverv.ToString().ToLower();
1326 RMAPI.ProductGroupFilter = "@productGroupFilter";
1327 RMAPI.ButikId = "@butikId";
1328 RMAPI.Boligvisning = false;
1329 RMAPI.RefPageId = "@Pageview.Page.ID";
1330 RMAPI.Template = "@template";
1331 RMAPI.SliderSettings = @JsonConvert.SerializeObject(Settings.Site);
1332 RMAPI.AdvisorSearchFeed = "@settings_AdvisorSearchFeed";
1333 RMAPI.LoadingIcon = "@loadingIcon";
1334 RMAPI.MarkerColor = "@markerColor";
1335 RMAPI.IsBoligOne = "false";
1336 RMAPI.mapMarkerUrl = "@mapMarkerUrl";
1337 RMAPI.settings_ForgotPwPage = "@settings_ForgotPwPage";
1338 </script>
1339
1340 @if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString()))
1341 {
1342 <!-- Facebook Pixel Code -->
1343 <script>
1344 !function (f, b, e, v, n, t, s) {
1345 if (f.fbq) return; n = f.fbq = function () {
1346 n.callMethod ?
1347 n.callMethod.apply(n, arguments) : n.queue.push(arguments)
1348 };
1349 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';
1350 n.queue = []; t = b.createElement(e); t.async = !0;
1351 t.src = v; s = b.getElementsByTagName(e)[0];
1352 s.parentNode.insertBefore(t, s)
1353 }(window, document, 'script',
1354 'https://connect.facebook.net/en_US/fbevents.js');
1355 fbq('init', '@settings_Facebook_App_ID');
1356 fbq('track', 'PageView');
1357 </script>
1358 <noscript>
1359 <img height="1" width="1" src="https://www.facebook.com/tr?id=@settings_Facebook_App_ID&ev=PageView&noscript=1" />
1360 </noscript>
1361 <!-- End Facebook Pixel Code -->
1362 }
1363
1364 <script type='text/javascript' src='https://platform-api.sharethis.com/js/sharethis.js#property=5d68cfaf5fea9f001288d9ac&product=inline-share-buttons' async='async'></script>
1365
1366 </head>
1367
1368 <body class="@template@bodyClass theme-@Pageview.Page.ItemType.ToLower()" data-spforgotpwtemplate="@forgotPwTemplate" data-spforgotpwsender="@forgotPwSender" data-spforgotpwsubject="@forgotPwSubject" data-spsalesassesmentid="@salesAssessmentPageId">
1369 @if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID_BoligOne.ToString()))
1370 {
1371 <!-- Google Tag Manager (noscript) -->
1372 <noscript>
1373 <iframe src="https://www.googletagmanager.com/ns.html?id=@settings_Google_Tag_Manager_ID_BoligOne.ToString()"
1374 height="0" width="0" style="display:none;visibility:hidden"></iframe>
1375 </noscript>
1376 <!-- End Google Tag Manager (noscript) -->
1377 }
1378
1379 @if (Pageview.Page.ItemType == "AgentPage")
1380 {
1381 var agentUserGroup = GetValue("Real:Broker") as Dynamicweb.Security.UserManagement.UserGroup;
1382 var agentTitle = agentUserGroup.CompanyName.IsNotNullOrEmpty() ? agentUserGroup.CompanyName : agentUserGroup.Name;
1383 int mainSiteAreaId = Custom.Navigation.Config.GetMainSiteAreaId();
1384
1385 var myAccountPage = Dynamicweb.Content.Services.Pages.GetPageByNavigationTag(mainSiteAreaId,"MyAccount");
1386
1387 <div class="header__container container">
1388 <div class="header__logo">
1389 <a href="/" title="">
1390 <img src="@(logoUrl)" alt="" />
1391 </a>
1392 </div>
1393 <div class="header__title">
1394 @foreach (var line in agentTitle.Split(new[] { ' ' }, 2, StringSplitOptions.None))
1395 {
1396 <span>@line</span>
1397 }
1398 </div>
1399 @if (myAccountPage is object)
1400 {
1401 <div class="header__navigation d-none d-md-flex">
1402 <div class="header__navigation">
1403 <div class="header__Link">
1404 <ul>
1405 <li class="d-flex align-items-center">
1406 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
1407 <path d="M16.6663 17.5C16.6663 16.337 16.6663 15.7555 16.5228 15.2824C16.1996 14.217 15.366 13.3834 14.3006 13.0602C13.8275 12.9167 13.246 12.9167 12.083 12.9167H7.91634C6.75337 12.9167 6.17189 12.9167 5.69872 13.0602C4.63339 13.3834 3.79971 14.217 3.47654 15.2824C3.33301 15.7555 3.33301 16.337 3.33301 17.5M13.7497 6.25C13.7497 8.32107 12.0707 10 9.99967 10C7.92861 10 6.24967 8.32107 6.24967 6.25C6.24967 4.17893 7.92861 2.5 9.99967 2.5C12.0707 2.5 13.7497 4.17893 13.7497 6.25Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
1408 </svg>
1409 <a class="ml-2" href="/Default.aspx?ID=@myAccountPage.ID" target="_blank">@Translate("Mit RealMæglerne")</a>
1410 </li>
1411 </ul>
1412 </div>
1413 </div>
1414 </div>
1415
1416 }
1417 <div class="header__search js-mainsearch">
1418 @Translate("Søg bolig")
1419 </div>
1420 <div class="header__navigation">
1421 <div class="header__navigation-icon menu-slide">
1422 <div class="d-none d-md-block">
1423 @Translate("Menu")
1424 </div>
1425 </div>
1426 </div>
1427 </div>
1428 }
1429 else
1430 {
1431 <div class="header logo">
1432 <div class="logo">
1433 <a href="/">
1434 <img src="@logoUrl" alt='RealMæglerne' />
1435 </a>
1436 </div>
1437 </div>
1438 <div class="header shortcuts">
1439 <div class="header-shortcuts float-right">
1440 @if (Pageview.User is object)
1441 {
1442 <a href='javascript:panelLogin()' class="login extra d-flex align-items-center float-left border-right">
1443 <i class="fa fa-user-circle" aria-hidden="true"></i><span class="hidden d-md-block">@Translate("Smartpage:Shortcuts.MinProfil", "Min profil") @*@userName*@</span>
1444 </a>
1445 }
1446 else
1447 {
1448 <a href='javascript:panelLogin()' class="login d-flex align-items-center float-left border-right">
1449 <i class="fa fa-user-circle" aria-hidden="true"></i><span class="login-text hidden d-md-block"> @Translate("Smartpage:Shortcuts.Login", "Login")</span>
1450 </a>
1451 }
1452 <a href='' class="search-menu d-flex align-items-center float-left border-right js-mainsearch @searchClass">
1453 <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>
1454 </a>
1455 <div class="menu-slide d-flex align-items-center">
1456 <b></b>
1457 <span class="menu-text">Menu</span>
1458 </div>
1459 </div>
1460 </div>
1461 }
1462
1463 <div class="search-modal">
1464
1465 @if (Converter.ToString(Pageview.Area.Item["Type"]) == "real")
1466 {
1467 <div class="main-search-form">
1468 <i class="fal fa-times float-right fa-2x js-close-search close-search"></i>
1469 <div class="row mb-3 align-items-center">
1470 <div class="col-xs-12 col-md-3 border-right">
1471 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
1472 </div>
1473 <div class="col-xs-12 col-md-9 home-count d-none d-md-block">
1474 <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>
1475
1476 </div>
1477 </div>
1478
1479 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
1480 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
1481 <div class="row form-wrapper no-gutters">
1482
1483 <div class="col-xs-12 col-md-5 col-searchbar">
1484 <div class="searchbar">
1485 <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)" />
1486 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" />
1487 <input type="hidden" id="zipcodeto" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" />
1488 </div>
1489 </div>
1490 <div class="col-xs-12 col-md-5">
1491 <div class="row no-gutters">
1492 <div class="col-xs-12 col-md-6 input-col">
1493 <div class="dropdown">
1494 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
1495 @Translate("Smartpage:Search.Boligtype", "Boligtype")
1496 </button>
1497 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
1498 <ul class="bolig-dropdown list-unstyled">
1499 @{
1500 RenderBoligtypeCheckboxesDropdown();
1501 }
1502 </ul>
1503 <span class="border-fat"></span>
1504 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
1505 </div>
1506 </div>
1507 </div>
1508 <div class="col-xs-12 col-md-6 input-col">
1509 <div class="dropdown">
1510 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
1511 @Translate("Smartpage:Search.Pris", "Pris")
1512 </button>
1513 <div class="dropdown-menu box-shadow dropdown-price js-dropdown-price" aria-labelledby="Pris">
1514 <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"] : "")' />
1515 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
1516 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
1517 @for (var i = 0; i <= 10000000; i += 100000)
1518 {
1519 if (i == 10000000)
1520 {
1521 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
1522 }
1523 else
1524 {
1525 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
1526 }
1527 }
1528 </select>
1529
1530 <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"] : "")' />
1531 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
1532 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
1533 @for (var i = 0; i <= 10000000; i += 100000)
1534 {
1535 if (i == 10000000)
1536 {
1537 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
1538 }
1539 else
1540 {
1541 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
1542 }
1543 }
1544 </select>
1545 </div>
1546 </div>
1547 </div>
1548 </div>
1549 </div>
1550 <div class="col-xs-12 col-md-2 d-none d-md-block">
1551 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
1552 </div>
1553 </div>
1554
1555 <div class="row moresearch-btn no-gutters">
1556 <div class="col-sm-12">
1557 <div class="row align-items-center no-gutters">
1558 <div class="col-12 col-md-4">
1559 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch">
1560 <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>
1561 </button>
1562 </div>
1563 <div class="col-6 col-md-2 mb-xs-4">
1564 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
1565 </div>
1566 </div>
1567
1568 <div class="collapse" id="moreSearch-master">
1569
1570 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
1571 <div class="row align-items-end mb-30">
1572 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
1573 <div class="filter-container row">
1574 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
1575 <div class="col-6 pr-sm-0 pr-2">
1576 <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"] : "")' />
1577 <select class="form-control js-boligarealmin-frontpage-select js-count">
1578 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
1579 @for (var i = 0; i <= 300; i += 10)
1580 {
1581 if (i == 300)
1582 {
1583 <option>@i+</option>
1584 }
1585 else
1586 {
1587 <option>@i</option>
1588 }
1589 }
1590 </select>
1591
1592 </div>
1593 <div class="col-6 pl-sm-0 pl-2">
1594 <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"] : "")' />
1595 <select class="form-control js-boligarealmax-frontpage-select js-count">
1596 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
1597 @for (var i = 0; i <= 300; i += 10)
1598 {
1599 if (i == 300)
1600 {
1601 <option>@i+</option>
1602 }
1603 else
1604 {
1605 <option>@i</option>
1606 }
1607 }
1608 </select>
1609
1610 </div>
1611 </div>
1612 </div>
1613 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
1614 <div class="filter-container row">
1615 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
1616 <div class="col-6 pr-sm-0 pr-2">
1617 <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"] : "")' />
1618 <select class="form-control js-grundarealmin-frontpage-select js-count">
1619 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
1620 @for (var i = 0; i <= 10000; i += 100)
1621 {
1622 if (i == 10000)
1623 {
1624 <option>@i+</option>
1625 }
1626 else
1627 {
1628 <option>@i</option>
1629 }
1630 }
1631 </select>
1632 </div>
1633 <div class="col-6 pl-sm-0 pl-2">
1634 <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"] : "")' />
1635 <select class="form-control js-grundarealmax-frontpage-select js-count">
1636 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
1637 @for (var i = 0; i <= 10000; i += 100)
1638 {
1639 if (i == 10000)
1640 {
1641 <option>@i+</option>
1642 }
1643 else
1644 {
1645 <option>@i</option>
1646 }
1647 }
1648 </select>
1649 </div>
1650 </div>
1651 </div>
1652 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
1653 <div class="filter-container row">
1654 <label class="d-block col-12">Antal rum</label>
1655 <div class="col-6 pr-sm-0 pr-2">
1656 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
1657 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
1658 @{
1659 RenderSelectValue("1", "1", "roomsmin");
1660 RenderSelectValue("2", "2", "roomsmin");
1661 RenderSelectValue("3", "3", "roomsmin");
1662 RenderSelectValue("4", "4", "roomsmin");
1663 RenderSelectValue("5+", "5", "roomsmin");
1664 }
1665 </select>
1666 </div>
1667 <div class="col-6 pl-sm-0 pl-2">
1668 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
1669 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
1670 @{
1671 RenderSelectValue("1", "1", "roomsmax");
1672 RenderSelectValue("2", "2", "roomsmax");
1673 RenderSelectValue("3", "3", "roomsmax");
1674 RenderSelectValue("4", "4", "roomsmax");
1675 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax");
1676 }
1677 </select>
1678 </div>
1679 </div>
1680 </div>
1681 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0">
1682 <div class="row">
1683 <div class="col-12 pr-2">
1684 <div class="filter-container">
1685 <label class="d-block">Energimærke</label>
1686 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
1687 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
1688 <option value="01">G</option>
1689 <option value="02">F</option>
1690 <option value="03">E</option>
1691 <option value="04">D</option>
1692 <option value="05">C</option>
1693 <option value="06">B</option>
1694 <option value="07">A</option>
1695 <option value="08">A2010</option>
1696 <option value="09">A2015</option>
1697 <option value="10">A2020+</option>
1698 </select>
1699 </div>
1700 </div>
1701 </div>
1702 </div>
1703 <div class="col-12 col-sm-6 col-lg-3 mt-3">
1704 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
1705 <div class="filter-container row">
1706 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
1707 <div class="col-6 pr-sm-0 pr-2">
1708 <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"] : "")' />
1709 <select class="form-control js-subsidymin-frontpage-select js-count">
1710 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
1711 @for (var i = 0; i <= 25000; i += 1250)
1712 {
1713 if (i == 25000)
1714 {
1715 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
1716 }
1717 else
1718 {
1719 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
1720 }
1721 }
1722 </select>
1723 </div>
1724 <div class="col-6 pl-sm-0 pl-2">
1725 <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"] : "")' />
1726 <select class="form-control js-subsidymax-frontpage-select js-count">
1727 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
1728 @for (var i = 0; i <= 25000; i += 1250)
1729 {
1730 if (i == 25000)
1731 {
1732 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
1733 }
1734 else
1735 {
1736 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
1737 }
1738 }
1739 </select>
1740 </div>
1741 </div>
1742 </div>
1743 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0">
1744 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
1745 </div>
1746 </div>
1747 </div>
1748 </div>
1749 </div>
1750 <div class="row d-block d-md-none form-wrapper no-gutters">
1751 <div class="col-xs-12 col-md-2">
1752 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
1753 </div>
1754 </div>
1755
1756
1757 </form>
1758 </div>
1759 }
1760 else
1761 {
1762 <div class="main-search-form center">
1763 <i class="fal fa-times float-right fa-2x js-close-search"></i>
1764 <div class="row mb-3 align-items-center">
1765 <div class="col-xs-12 col-md-5 border-right">
1766 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3>
1767 </div>
1768 <div class="col-xs-12 col-md-7 home-count d-none d-md-block">
1769 <span class="search-count" id="searchCounterMain">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span>
1770 </div>
1771 </div>
1772
1773 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET">
1774 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" />
1775 <div class="row form-wrapper no-gutters">
1776
1777 <div class="col-12 mb-10">
1778 <div class="searchbar">
1779 <input type="text" name="@querySearchNameAttr" id="searchfield" class="search-input" placeholder="Postnummer, by, vej eller sagsnummer" tabindex="1" value='@querySearch' />
1780 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value='@queryZipCodeFrom' />
1781 <input type="hidden" id="zipcodeto" name="zipcodeto" value='@queryZipCodeTo' />
1782 </div>
1783 </div>
1784 <div class="col-xs-12 col-md-8">
1785 <div class="row no-gutters">
1786 <div class="col-xs-12 col-md-6 input-col">
1787 <div class="dropdown">
1788 <button class="btn btn-dropdown dropdown-toggle reverse js-count" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
1789 @Translate("Smartpage:Search.Boligtype", "Boligtype")
1790 </button>
1791 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype">
1792 <ul class="bolig-dropdown list-unstyled">
1793 @{
1794 RenderBoligtypeCheckboxesDropdown();
1795 }
1796 </ul>
1797 <span class="border-fat"></span>
1798 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button>
1799 </div>
1800
1801 </div>
1802
1803 </div>
1804 <div class="col-xs-12 col-md-6 input-col">
1805 <div class="dropdown">
1806 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
1807 @Translate("Smartpage:Search.Pris", "Pris")
1808 </button>
1809 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris">
1810 <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")' />
1811 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10">
1812 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option>
1813 @for (var i = 0; i <= 10000000; i += 100000)
1814 {
1815 if (i == 10000000)
1816 {
1817 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
1818 }
1819 else
1820 {
1821 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
1822 }
1823 }
1824 </select>
1825
1826 <input type="text" name="pricemax" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")' />
1827 <select class="form-control js-pricemax-frontpage-select js-input-max-select">
1828 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option>
1829 @for (var i = 0; i <= 10000000; i += 100000)
1830 {
1831 if (i == 10000000)
1832 {
1833 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option>
1834 }
1835 else
1836 {
1837 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option>
1838 }
1839 }
1840 </select>
1841 </div>
1842 </div>
1843 </div>
1844 </div>
1845 </div>
1846 <div class="col-xs-12 col-md-4 d-none d-md-block">
1847 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button>
1848 </div>
1849 </div>
1850
1851 <div class="row moresearch-btn no-gutters">
1852 <div class="col-sm-12">
1853 <div class="row align-items-center no-gutters">
1854 <div class="col-12 col-md-5">
1855 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch-master">
1856 <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>
1857 </button>
1858 </div>
1859 <div class="col-6 col-md-3 mb-xs-4">
1860 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a>
1861 </div>
1862 <div class="col-6 col-md-4 mb-xs-4">
1863 <div class="parent-purchases">
1864 <label class="checkbox-container white">
1865 @Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet")
1866 <input type="checkbox" name="foraeldrekoebegnet" value="true" class="js-input-check">
1867 <span class="checkmark grey"></span>
1868 </label>
1869 </div>
1870 </div>
1871 </div>
1872
1873 <div class="collapse" id="moreSearch-master">
1874
1875 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4>
1876 <div class="row align-items-end mb-30">
1877 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
1878 <div class="filter-container row">
1879 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label>
1880 <div class="col-6 pr-sm-0 pr-2">
1881 <input type="text" name="boligarealmin" id="boligarealmin" class="form-control js-boligarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
1882 <select class="form-control js-boligarealmin-frontpage-select js-count">
1883 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
1884 @for (var i = 0; i <= 300; i += 10)
1885 {
1886 if (i == 300)
1887 {
1888 <option>@i+</option>
1889 }
1890 else
1891 {
1892 <option>@i</option>
1893 }
1894 }
1895 </select>
1896 </div>
1897 <div class="col-6 pl-sm-0 pl-2">
1898 <input type="text" name="boligarealmax" id="boligarealmax" class="form-control js-boligarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
1899 <select class="form-control js-boligarealmax-frontpage-select js-count">
1900 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
1901 @for (var i = 0; i <= 300; i += 10)
1902 {
1903 if (i == 300)
1904 {
1905 <option>@i+</option>
1906 }
1907 else
1908 {
1909 <option>@i</option>
1910 }
1911 }
1912 </select>
1913 </div>
1914 </div>
1915 </div>
1916 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
1917 <div class="filter-container row">
1918 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label>
1919 <div class="col-6 pr-sm-0 pr-2">
1920 <input type="text" name="grundarealmin" id="grundarealmin" class="form-control js-grundarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' />
1921 <select class="form-control js-grundarealmin-frontpage-select js-count">
1922 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option>
1923 @for (var i = 0; i <= 10000; i += 100)
1924 {
1925 if (i == 10000)
1926 {
1927 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
1928 }
1929 else
1930 {
1931 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
1932 }
1933 }
1934 </select>
1935 </div>
1936 <div class="col-6 pl-sm-0 pl-2">
1937 <input type="text" name="grundarealmax" id="grundarealmax" class="form-control js-grundarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' />
1938 <select class="form-control js-grundarealmax-frontpage-select">
1939 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option>
1940 @for (var i = 0; i <= 10000; i += 100)
1941 {
1942 if (i == 10000)
1943 {
1944 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
1945 }
1946 else
1947 {
1948 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
1949 }
1950 }
1951 </select>
1952 </div>
1953 </div>
1954 </div>
1955 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
1956 <div class="filter-container row">
1957 <label class="d-block col-12">Antal rum</label>
1958
1959 <div class="col-6 pr-sm-0 pr-2">
1960 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count">
1961 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option>
1962 <option value="1">1</option>
1963 <option value="2">2</option>
1964 <option value="3">3</option>
1965 <option value="4">4</option>
1966 <option value="5">5+</option>
1967 </select>
1968 </div>
1969 <div class="col-6 pl-sm-0 pl-2">
1970 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count">
1971 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option>
1972 <option value="1">1</option>
1973 <option value="2">2</option>
1974 <option value="3">3</option>
1975 <option value="4">4</option>
1976 <option value="5">5+</option>
1977 </select>
1978 </div>
1979 </div>
1980 </div>
1981 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0">
1982 <div class="row">
1983 <div class="col-12 pr-2">
1984 <div class="filter-container">
1985 <label class="d-block">Energimærke</label>
1986 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count">
1987 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option>
1988 <option value="01">G</option>
1989 <option value="02">F</option>
1990 <option value="03">E</option>
1991 <option value="04">D</option>
1992 <option value="05">C</option>
1993 <option value="06">B</option>
1994 <option value="07">A</option>
1995 <option value="08">A2010</option>
1996 <option value="09">A2015</option>
1997 <option value="10">A2020+</option>
1998 </select>
1999 </div>
2000 </div>
2001 </div>
2002 </div>
2003 <div class="col-12 col-sm-6 col-lg-6 mt-3">
2004 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4>
2005 <div class="filter-container row">
2006 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label>
2007 <div class="col-6 pr-sm-0 pr-2">
2008 <input type="text" name="subsidymin" id="subsidymin" class="form-control js-subsidymin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Min", "Min")' />
2009 <select class="form-control js-subsidymin-frontpage-select js-count">
2010 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option>
2011 @for (var i = 0; i <= 25000; i += 1250)
2012 {
2013 if (i == 25000)
2014 {
2015 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
2016 }
2017 else
2018 {
2019 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
2020 }
2021 }
2022 </select>
2023 </div>
2024 <div class="col-6 pl-sm-0 pl-2">
2025 <input type="text" name="subsidymax" id="subsidymax" class="form-control js-subsidymax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Max", "Max")' />
2026 <select class="form-control js-subsidymax-frontpage-select js-count">
2027 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option>
2028 @for (var i = 0; i <= 25000; i += 1250)
2029 {
2030 if (i == 25000)
2031 {
2032 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option>
2033 }
2034 else
2035 {
2036 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option>
2037 }
2038 }
2039 </select>
2040 </div>
2041 </div>
2042 </div>
2043 <div class="col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0">
2044 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button>
2045 </div>
2046 </div>
2047 </div>
2048 </div>
2049 </div>
2050 <div class="row d-block d-md-none form-wrapper no-gutters">
2051 <div class="col-xs-12 col-md-2">
2052 <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>
2053 </div>
2054 </div>
2055
2056
2057 </form>
2058 </div>
2059 }
2060
2061 </div>
2062 @{
2063 RenderSlideMenu(false, false, Converter.ToString(settings_Maeglersogning));
2064 }
2065
2066 @if (isBrokerPage && Pageview.Page.ItemType != "AgentPage")
2067 {
2068 <section class="maegler-navbar">
2069 @RenderNavigation(new
2070 {
2071 id = "navbar-main",
2072 cssclass = "dwnavigation",
2073 template = "ul_li.xslt",
2074 StartLevel = 1,
2075 EndLevel = 1
2076 })
2077 </section>
2078 }
2079
2080 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
2081 @using Custom.Integration.Brokers;
2082 @using Dynamicweb;
2083
2084
2085 @GetValue("Title(Mæglerside)")
2086 @GetValue("Description( Standard indholdsside til Mæglersider )")
2087
2088 @{
2089 var Broker = GetValue("Real:Broker") as Dynamicweb.Security.UserManagement.UserGroup;
2090 string brokerName = Broker.Name;
2091 if(!string.IsNullOrEmpty(Broker.CompanyName)) {
2092 brokerName = Broker.CompanyName;
2093 }
2094 string brokerImage = Broker.GeolocationIcon.ToString();
2095 string brokerDesc = GetString("Item.Beskrivelse");
2096 string teaserDesc = System.Text.RegularExpressions.Regex.Replace(brokerDesc, "<[^>]*>", string.Empty);
2097 if(teaserDesc.Length > 300) {
2098 teaserDesc = teaserDesc.Substring(0, 300) + "...";
2099 }
2100 string pageTitle = GetString("Title");
2101
2102 butikId = Broker.Item().GetString("CBMedlemsnummer");
2103 }
2104
2105 @SnippetStart("OpenGraphTags")
2106
2107 <meta property="og:type" content="website"/>
2108 <meta property="og:url" content="@Context.Current.Request.Url.AbsoluteUri"/>
2109 <meta property="og:image" content="@brokerImage"/>
2110 <meta property="og:title" content="@(brokerName) - @(pageTitle)"/>
2111 <meta property="og:description" content="@teaserDesc"/>
2112
2113 @SnippetEnd("OpenGraphTags")
2114
2115 @SnippetStart("JavaScriptBottom")
2116
2117
2118 <script>
2119 RMAPI.brokerImage = "@(brokerImage)";
2120 RMAPI.CBMedlemsnummer = "@(Broker.Item().GetString("CBMedlemsnummer"))";
2121 RMAPI.CompanyName = "@(Broker.CompanyName)";
2122 RMAPI.AddressZip = "@(Broker.Address), @(Broker.ZipCode)";
2123 RMAPI.Telephone = "@(Broker.Telephone)";
2124 RMAPI.Email = "@(Broker.Item().GetString("Email"))";
2125 RMAPI.GeolocationIcon = "@(Broker.GeolocationIcon.ToString())";
2126 RMAPI.City = "@Broker.City";
2127 RMAPI.ButikId = "@butikId";
2128 </script>
2129
2130 <script type="text/javascript" src='/Files/Templates/Designs/rm/assets/dist/bundle.maegler.min.js'></script>
2131
2132 @SnippetEnd("JavaScriptBottom")
2133
2134 <div class="dwcontent" id="content-main" title="Main content"
2135 data-settings="unwrap: true;"></div>
2136 @GetValue("DwContent(contentmain)")
2137
2138
2139 @if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && GetBoolean("Item.Page.HideMyBroker.Value") != true)
2140 {
2141 string bName = MyBroker.Broker.Name;
2142 string bImage = "";
2143 string bClass = "na";
2144 bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png";
2145 var item = ItemManager.Storage.GetById(MyBroker.Employee.ItemType, MyBroker.Employee.ItemId);
2146
2147 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName))
2148 {
2149 bName = MyBroker.Broker.CompanyName;
2150 }
2151 try
2152 {
2153 var imgUrl = Converter.ToString(item["BilledeUrl"]);
2154 if (!string.IsNullOrEmpty(imgUrl))
2155 {
2156 bImage = imgUrl;
2157 bClass = "";
2158 }
2159 }
2160 catch
2161 {
2162 // Ignore
2163 }
2164
2165 string bAreaID = Converter.ToString(item["WebsiteId"]);
2166 string medlemsnummer = Converter.ToString(item["CBMedlemsnummer"]);
2167 <section class="din-maegler">
2168 <div class="img-wrapper @bClass" style="background-image:url('@bImage')"></div>
2169 <div class="container">
2170 <div class="col-12 col-sm-12 col-md-6 offset-md-6">
2171 <h2>Din personlige mægler</h2>
2172 <div class="row">
2173 <div class="col-12 col-sm-6">
2174 <p>
2175 <b class="my-broker-name">@MyBroker.Employee.Name</b><br>
2176 @if (!string.IsNullOrEmpty(MyBroker.Employee.Email))
2177 {
2178 <text>Mail: <a href="mailto:@(RealMaeglerne.Library.Helper.ExtractMaskedEmail(MyBroker.Employee.Email))" class="my-broker-email">@RealMaeglerne.Library.Helper.ExtractMaskedEmail(MyBroker.Employee.Email)</a><br></text>
2179 }
2180 @if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile))
2181 {
2182 <text>Tlf.: <a href="tel:@(MyBroker.Employee.PhoneMobile)" class="my-broker-phone">@RealMaeglerne.Library.Helper.FormatPhoneNumber(MyBroker.Employee.PhoneMobile)</a></text>
2183 }
2184 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
2185 {
2186 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-phone">@RealMaeglerne.Library.Helper.FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
2187 }
2188 </p>
2189 </div>
2190 <div class="col-12 col-sm-6">
2191 <p>
2192 <b class="my-broker-company-name">@bName</b><br>
2193 <span class="my-broker-company-address">@MyBroker.Broker.Address</span><br>
2194 <span class="my-broker-company-zip">@MyBroker.Broker.ZipCode</span> <span class="my-broker-company-city">@MyBroker.Broker.City</span><br>
2195 @if (!string.IsNullOrEmpty(bEmail))
2196 {
2197 <text>Mail: <a href="mailto:@(bEmail)" class="my-broker-broker-email">@bEmail</a><br></text>
2198 }
2199 @if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone))
2200 {
2201 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-broker-phone">@RealMaeglerne.Library.Helper.FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text>
2202 }
2203 </p>
2204 </div>
2205 </div>
2206 <div class="row">
2207 <br />
2208 <div class="col-12 col-sm-6">
2209 <a href="/@medlemsnummer.Substring(1)" class="btn btn-primary btn-block my-broker-company-url">Til mæglerens side</a>
2210 </div>
2211
2212 </div>
2213 </div>
2214 </div>
2215 </section>
2216 }
2217
2218 <footer>
2219 <div class="container">
2220 <div class="row">
2221 @{
2222 var navigationSettings = new NavigationSettings();
2223 navigationSettings.StartLevel = 1;
2224 navigationSettings.StopLevel = 3;
2225 navigationSettings.ExpandMode = ExpandMode.All;
2226 navigationSettings.RootAreaId = 1;
2227 navigationSettings.RootNavigationTag = "footer-nav";
2228
2229 }
2230 @Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings)
2231 </div>
2232 </div>
2233 </footer>
2234
2235 <div id="panel-login" class="panel panel-form">
2236 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
2237 <b></b>
2238 </button>
2239 <a href="@(settings_MinSide)" target="_blank" class="btn btn-primary btn-block link-customer">@Translate("Smartpage:Login.Button.CustomerUniverse", "Realmæglernes Kundeunivers")</a>
2240 <button class="js-open-login btn btn-primary btn-block">@Translate("Smartpage.Login.Button.RealestateAgent", "Realmæglernes Boligagent")</button>
2241 <div class="loginform login">
2242 @if (loginParagraphId > 0)
2243 {
2244 <text>
2245 @RenderParagraphContent(loginParagraphId)
2246 </text>
2247 }
2248 </div>
2249 <div class="loginform register js-register-form-wrapper" style="display: none;">
2250 @if (createUserParagraphId > 0)
2251 {
2252 <text>
2253 @RenderParagraphContent(createUserParagraphId)
2254 </text>
2255 }
2256 </div>
2257 <div class="loginform forgotpw" style="display: none;">
2258 <h2 class="forgotpw-reg">@Translate("forgot-pw-reg-title", "Glemt adgangskode")</h2>
2259 <h2 class="forgotpw-broker">@Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")</h2>
2260 <form id="forgotPwForm" class="form-body" method="post" action="">
2261 <input type="hidden" id="AccessUserShopID" name="AccessUserShopID" value="SHOP6" />
2262 <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>
2263 <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>
2264 <div class="form-group">
2265 <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 />
2266 </div>
2267 <button class="btn btn-primary btn-block" type="submit">@Translate("forgot-pw-cta", "Nulstil adgangskode")</button>
2268 <br />
2269 <div id="submitMessage"></div>
2270 </form>
2271 </div>
2272 </div>
2273
2274 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
2275 @using System
2276 @using RealMaeglerne.Dynamicweb;
2277 @using RealMaeglerne.Library;
2278 @using RealMaeglerne.Library.Models;
2279 @using Dynamicweb.Content.Items;
2280 @using Dynamicweb.Core;
2281 @using System.Linq;
2282
2283 @{
2284 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");
2285 }
2286
2287 <!-- KONTAKT KØBERRAADGIVNING -->
2288 <div id="panel-kontakt-koeberraadgivning" class="panel panel-form">
2289 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
2290 <b></b>
2291 </button>
2292 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
2293 <form id="form-koeberraadgivning" method="POST" action="/InboxHandler">
2294 <div class="form-group">
2295 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
2296 <input class="form-control" type="text" name="navn" tabindex="1" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn")' value='@GetGlobalValue("Global:Extranet.Name")' required />
2297 </div>
2298 <div class="form-group">
2299 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
2300 <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='@GetGlobalValue("Global:Extranet.Email")' required />
2301 </div>
2302 <div class="form-group row mb-4">
2303 <div class="col-6">
2304 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
2305 <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='@GetGlobalValue("Global:Extranet.Phone")' required />
2306 </div>
2307 <div class="col-6">
2308 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
2309 <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='@GetGlobalValue("Global:Extranet.Phone")' />
2310 </div>
2311 </div>
2312 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
2313 <div class="form-group row">
2314 <div class="col-4">
2315 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
2316 <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 />
2317 <input type="hidden" class="js-postnummer-validation" />
2318 </div>
2319 <div class="col-8">
2320 <label><strong>@Translate("form-city", "By")*</strong></label>
2321 <input class="form-control js-city" type="text" readonly />
2322 </div>
2323 </div>
2324 <div class="form-group overflow-unset">
2325 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
2326 <input class="form-control js-validate-address" type="text" name="adresse" tabindex="6" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' required />
2327
2328 <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>
2329 </div>
2330 <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">
2331 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
2332 </button>
2333 <div class="collapse" id="kontaktkoeberrradgiver-collapse">
2334 <div class="form-group">
2335 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
2336 </div>
2337 </div>
2338
2339 <div class="form-group mt-3">
2340 <div class="checkbox">
2341 <label>
2342 <input type="checkbox" name="kontaktmigok" required />
2343 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
2344 </label>
2345 </div>
2346 </div>
2347 <div class="form-group">
2348 <div class="row">
2349 <div class="col-12">
2350 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
2351 </div>
2352 </div>
2353 </div>
2354 <div class="form-group form-group-terms">
2355 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
2356 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
2357 </div>
2358
2359 <input type="hidden" name="fn" value="krk" />
2360 <input type="hidden" name="origin" value="" />
2361 <input type="hidden" name="brugerId" value="" />
2362 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
2363 <input type="hidden" name="butikId" value="@butikId" />
2364 <input type="hidden" name="ejendomstype" value="" />
2365 <input type="hidden" name="salgspris" value="" />
2366 <input type="hidden" name="modtager" value="" />
2367 </form>
2368 <div id="tak-kontakt-advisor" style="display:none;">
2369 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
2370 <div class="row">
2371 <div class="col-6">
2372 <img src="" class="img-fluid js-maegler-img" />
2373 </div>
2374 <div class="col-6">
2375 <p class="js-maegler-name"></p>
2376 <p class="js-maegler-address"></p>
2377 <p class="js-maegler-phone"></p>
2378 <p class="js-maegler-mail"></p>
2379 </div>
2380 </div>
2381 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
2382 </div>
2383 </div>
2384
2385 <!--ÅBENT HUS-->
2386 <div id="panel-aabenthus" class="panel panel-form">
2387 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
2388 <b></b>
2389 </button>
2390
2391 <form id="form-aabenthus" method="POST" action="/InboxHandler">
2392 <h2>@Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")</h2>
2393 @{
2394 string sagsnr = Dynamicweb.Context.Current.Request["ProductId"];
2395 var product = Dynamicweb.Ecommerce.Services.Products.GetProductById(sagsnr, string.Empty, true);
2396 if (product != null)
2397 {
2398 var boligManager = new BoligManager(Pageview);
2399 Bolig bolig = boligManager.CreateBolig(product, true);
2400 var kommendeAabnehuse = boligManager.KommendeAabnehuse(bolig).Take(3);
2401
2402 if (kommendeAabnehuse.Count() > 0)
2403 {
2404 <div>
2405 <div class="open-house-dates">
2406 @foreach (var openHouse in kommendeAabnehuse)
2407 {
2408 <label class="open-house-dates__date">
2409 @openHouse.DatoClean
2410 <input class="js-aabenthus-date-select hidden" type="radio" name="AabenthusDato" value="@openHouse.Dag @openHouse.DatoFormateret" data-time="@openHouse.Tidspunkt" data-house-id="@openHouse.Id" />
2411 </label>
2412 }
2413 </div>
2414 @foreach (var openHouse in kommendeAabnehuse)
2415 {
2416 <div id="@openHouse.Id" class="open-house-times">
2417 @if (openHouse.VisInterval && openHouse.Tilmelding)
2418 {
2419 int counter = 0;
2420 foreach (var interval in openHouse.TidsIntervallerFormateret)
2421 {
2422 <div><input class="js-aabenthus-time-select time-radio" type="radio" name="AabenthusTid" value="@interval" checked="@(counter == 0)" /><span>@interval.Substring(3)</span></div>
2423 counter++;
2424 }
2425
2426 }
2427
2428 @if (!openHouse.Tilmelding)
2429 {
2430 <div class="js-open-house-no-signup open-house-no-signup">
2431 @Translate("Smartpage:Aabenthus.IngenTilmelding", "Ingen tilmelding påkrævet")
2432 </div>
2433 }
2434 </div>
2435 }
2436 </div>
2437 }
2438 }
2439 }
2440
2441 <div class="d-block">
2442 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
2443 </div>
2444 <div class="d-block">
2445 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
2446 </div>
2447 <div class="d-block mb-4">
2448 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
2449 </div>
2450 <div class="js-open-house-signup open-house-signup">
2451 <h3>@Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")</h3>
2452 <div class="form-group">
2453 <label for="aabenthus-name"><strong>@Translate("form-navn", "Navn")*</strong></label>
2454 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn")' value='@GetGlobalValue("Global:Extranet.Name")' required />
2455 </div>
2456 <div class="form-group">
2457 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
2458 <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='@GetGlobalValue("Global:Extranet.Email")' required />
2459 </div>
2460 <div class="form-group row">
2461 <div class="col-6">
2462 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
2463 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr.")' value='@GetGlobalValue("Global:Extranet.Phone")' required />
2464 </div>
2465 <div class="col-6">
2466 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
2467 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr.")' value='@GetGlobalValue("Global:Extranet.Phone")' />
2468 </div>
2469
2470 </div>
2471 <div class="form-group">
2472 <div class="checkbox">
2473 <label>
2474 <input type="checkbox" name="kontaktmigok" required />
2475 <span class="base-color">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
2476 </label>
2477 </div>
2478 </div>
2479 <div class="form-group">
2480 <div class="row">
2481 <div class="col-12">
2482 <button type="submit" class="btn btn-block btn-green">@Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")</button>
2483 </div>
2484 </div>
2485 </div>
2486 <div class="form-group">
2487 @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>")
2488
2489 </div>
2490 </div>
2491 <input type="hidden" name="fn" value="ah" />
2492 <input type="hidden" name="origin" value="" />
2493 <input type="hidden" name="brugerId" value="@userID" />
2494 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
2495 <input type="hidden" name="butikId" value="@butikId" />
2496 <input type="hidden" name="sagsaddresse" value="" class="js-aabenthus-address-input" />
2497 <input type="hidden" name="ejendomstype" value="" />
2498 <input type="hidden" name="salgspris" value="" />
2499 <input type="hidden" name="modtager" value="" />
2500 <input type="hidden" name="employee" value="" />
2501 <input type="hidden" name="sagsnr" value="" class="js-sagsnr" />
2502 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
2503 <input type="hidden" name="aftaleid" value="" class="js-aftaleid" />
2504
2505 <input type="hidden" name="dateMail" class="js-aabenthus-date-input" />
2506 <input type="hidden" name="timeMail" class="js-aabenthus-time-input" />
2507 <input type="hidden" name="visintervaller" class="js-aabenthus-showinterval-input" />
2508 <input type="hidden" name="brokerImageMail" class="property-broker-image-input" />
2509 <input type="hidden" name="employeeNameMail" class="js-maegler-employee-name-input" />
2510 <input type="hidden" name="employeeTitleMail" class="js-maegler-employee-title-input" />
2511 <input type="hidden" name="employeeMailMail" class="js-maegler-mail-input" />
2512 <input type="hidden" name="employeeMobileMail" class="js-maegler-mobile-input" />
2513 <input type="hidden" name="employeePhoneMail" class="js-maegler-phone-input" />
2514
2515 <input type="hidden" name="brokerNameMail" class="js-broker-name-input" />
2516 <input type="hidden" name="brokerAddressMail" class="js-broker-address-input" />
2517 <input type="hidden" name="brokerPhoneMail" class="js-broker-phone-input" />
2518 <input type="hidden" name="greenmobility" class="js-green-mobility" />
2519 </form>
2520 <div id="tak-aabenthus" style="display:none;">
2521 <h2>@Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")</h2>
2522 <div class="d-block">
2523 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label>
2524 </div>
2525 <div class="d-block">
2526 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label>
2527
2528 </div>
2529 <div class="d-block mb-4">
2530 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label>
2531
2532 </div>
2533 <div class="js-employee">
2534 <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>
2535 </div>
2536 <div class="js-not-employee">
2537 <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>
2538 </div>
2539 <div class="row">
2540 <div class="js-employee">
2541 <div class="col-12 js-maegler-img aabenthus-image">
2542 <div class="property-broker-image" style=""></div>
2543
2544 </div>
2545 </div>
2546 <div class="col-12">
2547 <div class="bg-base">
2548
2549 <div class="js-employee">
2550 <h4 class="js-maegler-employee-name"></h4>
2551 <div class="icon-container">
2552 <i class="fas fa-envelope"></i> <span class="js-maegler-mail"></span>
2553 </div>
2554 <div class="icon-container">
2555 <i class="fas fa-phone"></i> <span class="js-maegler-mobile"></span>
2556 </div>
2557 </div>
2558
2559
2560 <h4 class="js-maegler-name"></h4>
2561 <div class="icon-container">
2562 <i class="fas fa-map-marker-alt"></i> <span class="js-maegler-address"></span>
2563 </div>
2564 <div class="icon-container">
2565 <i class="fas fa-phone"></i> <span class="js-maegler-phone"></span>
2566
2567 </div>
2568 <a class="btn btn-border" onclick="panelKontaktmaeglerGuldkoeber()">KONTAKT MÆGLER</a>
2569 </div>
2570 </div>
2571 </div>
2572 </div>
2573 </div>
2574
2575 <!-- KONTAKT GULDKØBER -->
2576 <div id="panel-kontakt-guldkoeber" class="panel panel-form">
2577 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
2578 <b></b>
2579 </button>
2580 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2>
2581 <form id="form-kontaktmaegler" method="POST" action="/InboxHandler">
2582 <div class="form-group">
2583 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
2584 <input class="form-control" type="text" name="navn" placeholder='@Translate("form-navn", "Navn")' value='@GetGlobalValue("Global:Extranet.Name")' required />
2585 </div>
2586 <div class="form-group">
2587 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
2588 <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='@GetGlobalValue("Global:Extranet.Email")' required />
2589 </div>
2590 <div class="form-group row mb-4">
2591 <div class="col-6">
2592 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
2593 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr.")' value='@GetGlobalValue("Global:Extranet.Phone")' required />
2594 </div>
2595 <div class="col-6">
2596 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
2597 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr.")' value='@GetGlobalValue("Global:Extranet.Phone")' />
2598 </div>
2599 </div>
2600 <div class="form-group row">
2601 <div class="col-4">
2602 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
2603 <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 />
2604 <input type="hidden" class="js-postnummer-validation" />
2605 </div>
2606 <div class="col-8">
2607 <label><strong>@Translate("form-city", "By")*</strong></label>
2608 <input class="form-control js-city" type="text" readonly />
2609 </div>
2610 </div>
2611
2612 <div class="form-group overflow-unset">
2613 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
2614 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
2615 <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>
2616 </div>
2617 <div class="form-group">
2618 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
2619 </div>
2620 <div class="form-group">
2621 <div class="checkbox">
2622 <label>
2623 <input type="checkbox" name="kontaktmigok" required />
2624 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
2625 </label>
2626 </div>
2627 </div>
2628 <div class="form-group">
2629 <div class="row">
2630 <div class="col-12">
2631 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button>
2632 </div>
2633 </div>
2634 </div>
2635 <div class="form-group form-group-terms">
2636 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
2637 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
2638 </div>
2639 <input type="hidden" name="fn" value="gk" />
2640 <input type="hidden" name="origin" value="" />
2641 <input type="hidden" name="brugerId" value="@userID" />
2642 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
2643 <input type="hidden" name="butikId" value="@butikId" />
2644 <input type="hidden" name="ejendomstype" value="" />
2645 <input type="hidden" name="salgspris" value="" />
2646 <input type="hidden" name="modtager" value="" />
2647 <input type="hidden" name="employee" value="" />
2648 </form>
2649 <div id="tak-kontakt-maegler-guldkoeber" style="display:none;">
2650 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
2651 <p>@Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")</p>
2652 <div class="row">
2653 <div class="col-6">
2654 <img src="" class="img-fluid js-maegler-img" />
2655 </div>
2656 <div class="col-6">
2657 <p class="js-maegler-name"></p>
2658 <p class="js-maegler-address"></p>
2659 <p class="js-maegler-phone"></p>
2660 <p class="js-maegler-mail"></p>
2661 </div>
2662 </div>
2663 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
2664 </div>
2665 </div>
2666
2667 <!-- BESTIL SALGSVURDERING -->
2668 <div id="panel-salgsvurdering" class="panel panel-form">
2669 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
2670 <b></b>
2671 </button>
2672
2673 <form id="bestil-salgsvurdering" class="buyer-advisor-form js-buyer-advisor-form" method="POST" action="/InboxHandler">
2674 <h2 class="js-buyer-advisor-header">@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
2675 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
2676 <div class="form-group">
2677 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
2678 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@GetGlobalValue("Global:Extranet.Name")' required />
2679 </div>
2680 <div class="form-group">
2681 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
2682 <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='@GetGlobalValue("Global:Extranet.Email")' required />
2683 </div>
2684 <div class="form-group row mb-4">
2685 <div class="col-6">
2686 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
2687 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr.")' value='@GetGlobalValue("Global:Extranet.Phone")' required />
2688 </div>
2689 <div class="col-6">
2690 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
2691 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr.")' value='@GetGlobalValue("Global:Extranet.Phone")' />
2692 </div>
2693
2694 </div>
2695
2696 @{
2697 // isErhverv comes from master template
2698 bool pageIsErhverv = isErhverv || Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]);
2699 string yourPropertyHeader = pageIsErhverv ? Translate("Smartpage:Salgsvurdering.DinEjendom", "Din ejendom") : Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig");
2700 // If user is on broker page already then don't suggest alternative broker
2701 bool isOnBrokerPage = !string.IsNullOrEmpty(butikId);
2702 }
2703
2704 <h3>@yourPropertyHeader</h3>
2705 <div class="form-group row">
2706 <div class="col-4">
2707 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
2708 @{
2709 string primaryAreaEncoded = Dynamicweb.Core.Encoders.HtmlEncoder.HtmlEncode(primaryArea);
2710 <input class="form-control js-postnummer js-updatebroker-list" data-is-on-broker-page="@isOnBrokerPage" data-primary-area="@primaryAreaEncoded" type="tel" pattern="^[0-9]*$" maxlength="4" name="postnummer" placeholder="@Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr")" value="@userZip" required />
2711 <input type="hidden" class="js-postnummer-validation" />
2712 }
2713 </div>
2714 <div class="col-8">
2715 <label><strong>@Translate("form-city", "By")*</strong></label>
2716 <input class="form-control js-city" type="text" readonly />
2717 </div>
2718 </div>
2719 <div class="form-group overflow-unset">
2720 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
2721 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
2722 <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>
2723 </div>
2724
2725 <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">
2726 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
2727 </button>
2728 <div class="collapse" id="salgsvurdering-collapse">
2729 <div class="form-group">
2730 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
2731 </div>
2732 </div>
2733
2734 <div class="salgsvurdering-precheck">
2735 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
2736 <div class="col-12">
2737 <div class="choose-broker row align-items-center active">
2738 <div class="col-2">
2739 <input class="js-broker-radio" type="radio" id="" name="choose-broker" value="" checked>
2740 <label class="js-broker-label" for=""></label><div class="check">
2741 <div class="inside">
2742 </div>
2743 </div>
2744 </div>
2745 <div class="col-4">
2746 <img src="" class="img-fluid js-broker-image">
2747 </div>
2748 <div class="col-6">
2749 <span class="d-block">
2750 <strong class="js-choose-broker-name"></strong>
2751 </span>
2752 <span class="js-choose-broker-address"></span>
2753 <input type="hidden" class="js-choose-broker-phone" value="" />
2754 <input type="hidden" class="js-choose-broker-email" value="" />
2755 </div>
2756 </div>
2757 </div>
2758 </div>
2759 <div class="salgsvurdering-broker">
2760 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
2761 <div class="js-choose-broker col-12">
2762 </div>
2763
2764 </div>
2765 <div class="form-group mt-4">
2766 <div class="checkbox">
2767 <label>
2768 <input type="checkbox" name="kontaktmigok" required />
2769 <span class="consent-checkbox">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
2770 </label>
2771 </div>
2772 </div>
2773 <div class="form-group">
2774 <div class="row">
2775 <div class="col-12">
2776 <button type="submit" class="btn btn-green btn-block js-buyer-advisor-button" onclick="document.getElementById('oneBrokerToChoose').click();">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
2777 </div>
2778 </div>
2779 </div>
2780 <div class="form-group form-group-terms">
2781 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
2782 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
2783 </div>
2784 <input type="hidden" name="fn" value="bsv" />
2785 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
2786 <input type="hidden" name="brugerId" value="@userID" />
2787 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
2788 <input type="hidden" id="boligvisning" name="boligvisning" value="" />
2789 <input type="hidden" id="panel-salgsvurdering-butikid" name="butikId" value="" />
2790 <input type="hidden" id="panel-salgsvurdering-sagsnr" name="sagsnr" value="" />
2791 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
2792 <input type="hidden" name="ejendomstype" value="" />
2793 <input type="hidden" name="salgspris" value="" />
2794 <input type="hidden" name="employee" value="" />
2795 <input type="hidden" name="modtager" value="" />
2796 <input class="js-value-check" type="hidden" name="valueCheck" value="" />
2797 <input class="js-green-appraisal" type="hidden" name="greenAppraisal" value="" />
2798 </form>
2799 <div id="tak-salgsvurdering" style="display:none;">
2800 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
2801 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
2802 <div class="row">
2803 <div class="col-6">
2804 <img src="" class="img-fluid js-maegler-img" />
2805 </div>
2806 <div class="col-6">
2807 <p class="js-maegler-name"></p>
2808 <p class="js-maegler-address"></p>
2809 <p class="js-maegler-phone"></p>
2810 <p class="js-maegler-mail"></p>
2811 </div>
2812 </div>
2813 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
2814 </div>
2815 </div>
2816
2817 <!-- BESTIL SALGSVURDERING GULDKØBER -->
2818 <div id="panel-salgsvurdering-guldkoeber" class="panel panel-form">
2819 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close">
2820 <b></b>
2821 </button>
2822
2823 <form id="bestil-salgsvurdering-guldkoeber" method="POST" action="/InboxHandler">
2824 <h2>@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2>
2825 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p>
2826 <div class="form-group">
2827 <label><strong>@Translate("form-navn", "Navn")*</strong></label>
2828 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@GetGlobalValue("Global:Extranet.Name")' required />
2829 </div>
2830 <div class="form-group">
2831 <label><strong>@Translate("form-email", "E-mail")*</strong></label>
2832 <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='@GetGlobalValue("Global:Extranet.Email")' required />
2833 </div>
2834 <div class="form-group row mb-4">
2835 <div class="col-6">
2836 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label>
2837 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr.")' value='@GetGlobalValue("Global:Extranet.Phone")' />
2838 </div>
2839 <div class="col-6">
2840 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label>
2841 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr.")' value='@GetGlobalValue("Global:Extranet.Phone")' required />
2842 </div>
2843 </div>
2844
2845 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3>
2846
2847 <div class="form-group row">
2848 <div class="col-4">
2849 <label><strong>@Translate("form-zip", "Post nr")*</strong></label>
2850 <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 />
2851 <input type="hidden" class="js-postnummer-validation" />
2852 </div>
2853 <div class="col-8">
2854 <label><strong>@Translate("form-city", "By")*</strong></label>
2855 <input class="form-control js-city" type="text" readonly />
2856 </div>
2857 </div>
2858 <div class="form-group overflow-unset">
2859 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label>
2860 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required />
2861 <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>
2862 </div>
2863
2864 <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">
2865 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong>
2866 </button>
2867 <div class="collapse" id="salgsvurdering-collapse">
2868 <div class="form-group">
2869 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea>
2870 </div>
2871 </div>
2872 <div class="salgsvurdering-precheck">
2873 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3>
2874 <div class="col-12">
2875 <div class="choose-broker row align-items-center active">
2876 <div class="col-2">
2877 <input class="js-broker-radio" type="radio" id="" name="choose-broker-gk" value="" checked>
2878 <label class="js-broker-label" for=""></label><div class="check">
2879 <div class="inside">
2880 </div>
2881 </div>
2882 </div>
2883 <div class="col-4">
2884 <img src="" class="img-fluid js-broker-image">
2885 </div>
2886 <div class="col-6">
2887 <span class="d-block">
2888 <strong class="js-choose-broker-name"></strong>
2889 </span>
2890 <span class="js-choose-broker-address"></span>
2891 <input type="hidden" class="js-choose-broker-phone" value="" />
2892 <input type="hidden" class="js-choose-broker-email" value="" />
2893 </div>
2894 </div>
2895 </div>
2896 </div>
2897 <div class="salgsvurdering-broker">
2898 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3>
2899 <div class="js-choose-broker col-12">
2900 </div>
2901
2902 </div>
2903
2904 <div class="form-group">
2905 <div class="checkbox">
2906 <label>
2907 <input type="checkbox" name="kontaktmigok" required />
2908 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span>
2909 </label>
2910 </div>
2911 </div>
2912 <div class="form-group">
2913 <div class="row">
2914 <div class="col-12">
2915 <button type="submit" class="btn btn-green btn-block">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button>
2916 </div>
2917 </div>
2918 </div>
2919 <div class="form-group form-group-terms">
2920 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>.
2921 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>.
2922 </div>
2923 <input type="hidden" name="fn" value="bsg" />
2924 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" />
2925 <input type="hidden" name="brugerId" value="@userID" />
2926 <input type="hidden" name="areaid" value="@Pageview.AreaID" />
2927 <input type="hidden" id="boligvisning-gk" name="boligvisning" value="" />
2928 <input type="hidden" id="panel-salgsvurdering-gk-butikid" name="butikId" value="" />
2929 <input type="hidden" id="panel-salgsvurdering-gk-sagsnr" name="sagsnr" value="" />
2930 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" />
2931 <input type="hidden" name="ejendomstype" value="" />
2932 <input type="hidden" name="salgspris" value="" />
2933 <input type="hidden" name="employee" value="" />
2934 <input type="hidden" name="modtager" value="" />
2935 </form>
2936 <div id="tak-salgsvurdering" style="display:none;">
2937 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2>
2938 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p>
2939 <div class="row">
2940 <div class="col-6">
2941 <img src="" class="img-fluid js-maegler-img" />
2942 </div>
2943 <div class="col-6">
2944 <p class="js-maegler-name"></p>
2945 <p class="js-maegler-address"></p>
2946 <p class="js-maegler-phone"></p>
2947 <p class="js-maegler-mail"></p>
2948 </div>
2949 </div>
2950 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p>
2951 </div>
2952 </div>
2953
2954
2955 <div class="overlay-wrapper"></div>
2956 <div class="dropdown-overlay"></div>
2957 <div class="loader-inner ball-pulse"></div>
2958
2959 @{
2960 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js"));
2961 <script type="text/javascript" src='@(TemplateUrl)assets/webpack/js/3rdparty/viamapstrap.js?@(viamapstrapFileInfo.LastWriteTime.Ticks)' async></script>
2962
2963 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js"));
2964 <script type="text/javascript" src='@(TemplateUrl)assets/dist/bundle.app.min.js?@(bundleFileInfo.LastWriteTime.Ticks)' async></script>
2965 }
2966
2967 @RenderSnippet("JavaScriptBottom")
2968
2969 @if (Context.Current.Request.QueryString["ShowLogin"] == "true")
2970 {
2971 <input class="js-showLogin" value="true" />
2972 }
2973 @if (!string.IsNullOrWhiteSpace(GetString("DW_extranet_error_uk")))
2974 {
2975 <input class="js-DWError" value="true" />
2976 <input class="js-DWErrorVal" value="@GetString("DW_extranet_error_dk")" />
2977 }
2978
2979 @if (!string.IsNullOrEmpty(settings_ConduzeId))
2980 {
2981 <script type="text/javascript" id="conduze-sdk" src="https://cdn.conduze.com/@settings_ConduzeId/tracking.js" async></script>
2982 }
2983
2984 @if (!string.IsNullOrEmpty(settings_Weply))
2985 {
2986 <script src="https://app.weply.chat/widget/@settings_Weply" async></script>
2987 }
2988
2989 </body>
2990 </html>
2991
2992