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

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