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