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

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