Error executing template "Designs/rm_sub/frontpage.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_306ddcd05b3c4da5b6788f3f82f9810d.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

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