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