Error compiling template "Designs/rm/DynamicArticleListPage.cshtml"
Line 21: The using directive for 'Dynamicweb.Content.Items' appeared previously in this namespace
Line 22: The using directive for 'Dynamicweb.Frontend.Navigation' appeared previously in this namespace
Line 23: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 25: The using directive for 'Dynamicweb' appeared previously in this namespace
Line 26: The using directive for 'System.Text.RegularExpressions' appeared previously in this namespace
Line 33: The using directive for 'Dynamicweb' appeared previously in this namespace
Line 34: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 36: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 38: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 39: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 40: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 41: The using directive for 'System.Reflection' appeared previously in this namespace
Line 42: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 43: The using directive for 'System.Reflection' appeared previously in this namespace
Line 44: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 45: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 46: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 47: The using directive for 'System.Text.RegularExpressions' appeared previously in this namespace
Line 48: The using directive for 'System.Reflection' appeared previously in this namespace
Line 49: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 50: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 51: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 52: The using directive for 'System.Reflection' appeared previously in this namespace
Line 53: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 54: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 55: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 56: The using directive for 'System.Reflection' appeared previously in this namespace
Line 57: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 58: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 59: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 60: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 61: The using directive for 'System.Reflection' appeared previously in this namespace
Line 62: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 63: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 64: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 65: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 66: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 68: The using directive for 'System.Reflection' appeared previously in this namespace
Line 69: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 70: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 71: The using directive for 'System.Reflection' appeared previously in this namespace
Line 72: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 73: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 74: The using directive for 'System.Reflection' appeared previously in this namespace
Line 75: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 76: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 77: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 78: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 79: The using directive for 'System.Reflection' appeared previously in this namespace
Line 80: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 81: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 82: The using directive for 'System.Reflection' appeared previously in this namespace
Line 83: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 84: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 85: The using directive for 'System.Reflection' appeared previously in this namespace
Line 86: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 87: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 88: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 89: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 90: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 91: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 92: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 93: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 94: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 95: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 96: The using directive for 'Dynamicweb.Content.Items' appeared previously in this namespace
Line 97: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 98: The using directive for 'Dynamicweb.Rapido.Blocks.Components.Articles' appeared previously in this namespace
Line 99: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 100: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 1703: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1703: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1708: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1710: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1770: The name 'RenderMobileFilters' does not exist in the current context
Line 1779: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1839: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1854: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1870: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1917: Argument 1: cannot convert from 'void' to 'object'
Line 5050: The variable 'placeholderImage' is assigned but its value is never used

1 // <auto-generated/> 2 #pragma warning disable 1591 3 namespace CompiledRazorTemplates.Dynamic 4 { 5 #line hidden 6 using System.Threading.Tasks; 7 using System.Linq; 8 using System; 9 using System.Globalization; 10 using System.Text.RegularExpressions; 11 using Custom.Integration.Brokers; 12 using RealMaeglerne.Dynamicweb; 13 using Dynamicweb.Content.Items; 14 using Dynamicweb.Environment; 15 using Newtonsoft.Json; 16 using Dynamicweb.Logging; 17 using Dynamicweb.Core; 18 using Dynamicweb.Frontend.Navigation; 19 using Dynamicweb; 20 using static RealMaeglerne.Library.Helper; 21 using Dynamicweb.Content.Items; 22 using Dynamicweb.Frontend.Navigation; 23 using Dynamicweb.Core; 24 using Dynamicweb.Core.Encoders; 25 using Dynamicweb; 26 using System.Text.RegularExpressions; 27 using System.Collections.Generic; 28 using System.Reflection; 29 using Dynamicweb.Rapido.Blocks.Components; 30 using Dynamicweb.Rapido.Blocks.Components.Articles; 31 using Dynamicweb.Rapido.Blocks.Components.Documentation; 32 using Dynamicweb.Rapido.Blocks; 33 using Dynamicweb; 34 using Dynamicweb.Rapido.Blocks.Components; 35 using Dynamicweb.Rapido.Blocks.Components.General; 36 using Dynamicweb.Rapido.Blocks; 37 using System.IO; 38 using Dynamicweb.Rapido.Blocks.Components; 39 using Dynamicweb.Rapido.Blocks.Components.General; 40 using Dynamicweb.Rapido.Blocks; 41 using System.Reflection; 42 using Dynamicweb.Rapido.Blocks.Components.General; 43 using System.Reflection; 44 using Dynamicweb.Rapido.Blocks.Components.General; 45 using Dynamicweb.Rapido.Blocks.Components; 46 using Dynamicweb.Core; 47 using System.Text.RegularExpressions; 48 using System.Reflection; 49 using Dynamicweb.Rapido.Blocks.Components.General; 50 using Dynamicweb.Rapido.Blocks.Components; 51 using Dynamicweb.Core; 52 using System.Reflection; 53 using Dynamicweb.Rapido.Blocks.Components; 54 using Dynamicweb.Rapido.Blocks.Components.General; 55 using Dynamicweb.Rapido.Blocks; 56 using System.Reflection; 57 using Dynamicweb.Rapido.Blocks.Components.General; 58 using Dynamicweb.Rapido.Blocks.Components; 59 using Dynamicweb.Rapido.Blocks.Components.General; 60 using Dynamicweb.Rapido.Blocks.Components; 61 using System.Reflection; 62 using Dynamicweb.Rapido.Blocks.Components.General; 63 using Dynamicweb.Core; 64 using Dynamicweb.Rapido.Blocks.Components; 65 using Dynamicweb.Rapido.Blocks.Components.General; 66 using Dynamicweb.Rapido.Blocks; 67 using Dynamicweb.Frontend; 68 using System.Reflection; 69 using Dynamicweb.Rapido.Blocks.Components.General; 70 using Dynamicweb.Rapido.Blocks.Components; 71 using System.Reflection; 72 using Dynamicweb.Rapido.Blocks.Components.General; 73 using Dynamicweb.Rapido.Blocks.Components; 74 using System.Reflection; 75 using Dynamicweb.Rapido.Blocks.Components.General; 76 using Dynamicweb.Rapido.Blocks.Components; 77 using Dynamicweb.Rapido.Blocks.Components.General; 78 using Dynamicweb.Rapido.Blocks.Components; 79 using System.Reflection; 80 using Dynamicweb.Rapido.Blocks.Components.General; 81 using Dynamicweb.Rapido.Blocks.Components; 82 using System.Reflection; 83 using Dynamicweb.Rapido.Blocks.Components.General; 84 using Dynamicweb.Rapido.Blocks.Components; 85 using System.Reflection; 86 using Dynamicweb.Rapido.Blocks.Components.General; 87 using Dynamicweb.Rapido.Blocks.Components; 88 using Dynamicweb.Rapido.Blocks.Components.General; 89 using Dynamicweb.Rapido.Blocks.Components.General; 90 using Dynamicweb.Rapido.Blocks.Components; 91 using Dynamicweb.Rapido.Blocks.Components.General; 92 using Dynamicweb.Rapido.Blocks.Components; 93 using Dynamicweb.Rapido.Blocks.Components.General; 94 using Dynamicweb.Rapido.Blocks.Components; 95 using Dynamicweb.Core; 96 using Dynamicweb.Content.Items; 97 using Dynamicweb.Rapido.Blocks.Components; 98 using Dynamicweb.Rapido.Blocks.Components.Articles; 99 using Dynamicweb.Rapido.Blocks.Components.General; 100 using Dynamicweb.Rapido.Blocks; 101 using Dynamicweb.Security.UserManagement; 102 internal class RazorEngine_f40b5e4a8079499e89ec51c93baad85e : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 103 { 104 #pragma warning disable 1998 105 public async override global::System.Threading.Tasks.Task ExecuteAsync() 106 { 107 WriteLiteral("\r\n"); 108 WriteLiteral("\r\n"); 109 WriteLiteral("\r\n"); 110 WriteLiteral("\r\n"); 111 WriteLiteral("\r\n\r\n\r\n"); 112 WriteLiteral("\r\n"); 113 WriteLiteral("\r\n"); 114 WriteLiteral("\r\n"); 115 WriteLiteral("\r\n"); 116 WriteLiteral("\r\n"); 117 WriteLiteral("\r\n"); 118 WriteLiteral("\r\n"); 119 WriteLiteral("\r\n"); 120 WriteLiteral("\r\n"); 121 WriteLiteral("\r\n"); 122 WriteLiteral("\r\n"); 123 WriteLiteral("\r\n"); 124 WriteLiteral("\r\n"); 125 WriteLiteral("\r\n\r\n"); 126 WriteLiteral("\r\n"); 127 WriteLiteral("\r\n"); 128 WriteLiteral("\r\n"); 129 WriteLiteral("\r\n"); 130 WriteLiteral("\r\n"); 131 WriteLiteral("\r\n"); 132 WriteLiteral("\r\n"); 133 WriteLiteral("\r\n"); 134 WriteLiteral("\r\n"); 135 WriteLiteral("\r\n"); 136 WriteLiteral("\r\n"); 137 WriteLiteral("\r\n"); 138 WriteLiteral("\r\n"); 139 WriteLiteral("\r\n"); 140 WriteLiteral("\r\n"); 141 WriteLiteral("\r\n"); 142 WriteLiteral("\r\n"); 143 WriteLiteral("\r\n"); 144 WriteLiteral("\r\n"); 145 WriteLiteral("\r\n"); 146 WriteLiteral("\r\n"); 147 WriteLiteral("\r\n"); 148 WriteLiteral("\r\n"); 149 WriteLiteral("\r\n\r\n"); 150 WriteLiteral("\r\n"); 151 WriteLiteral("\r\n"); 152 WriteLiteral("\r\n\r\n"); 153 WriteLiteral("\r\n"); 154 WriteLiteral("\r\n"); 155 WriteLiteral("\r\n"); 156 WriteLiteral("\r\n\r\n"); 157 WriteLiteral("\r\n"); 158 WriteLiteral("\r\n"); 159 WriteLiteral("\r\n"); 160 WriteLiteral("\r\n"); 161 162 Context.Current.Response.AddHeader("access-control-allow-origin", "*"); 163 164 string bodyClass = ""; 165 string template = "real"; 166 string TemplateUrl = "/Files/Templates/Designs/rm/"; 167 string MetaTitle = Model.Title; 168 string MetaDescription = Model.Description; 169 string MetaKeywords = Model.Keywords; 170 string searchClass = ""; 171 172 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css")); 173 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}"; 174 175 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg"; 176 177 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2"); 178 179 // Indstillinger 180 var settings_Frontpage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : ""; 181 var settings_Boligside = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : ""; 182 var settings_Maeglersogning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : ""; 183 var settings_MinSide = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : ""; 184 var settings_Sibling_Site = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : ""; 185 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : ""; 186 var settings_Product_Group = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : ""; 187 var settings_Boligagent = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : ""; 188 var settings_Persondatapolitik = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : ""; 189 190 // API 191 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : ""; 192 var settings_BoligListFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : ""; 193 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : ""; 194 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : ""; 195 var settings_BoligCountFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : ""; 196 var settings_BoligMapFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : ""; 197 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"]; 198 199 // Forside 200 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : ""; 201 var settings_FrontpageVideo = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : ""; 202 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : ""; 203 204 // Tracking 205 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : ""; 206 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]))) 207 { 208 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]); 209 } 210 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : ""; 211 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : ""; 212 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : ""; 213 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]); 214 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]); 215 var settings_Google_Optimize_Id = Converter.ToString(SettingsItem["Google_Optimize_Id"]); 216 217 // Indstillinger for brugerfunktioner 218 var settings_ForgotPwPage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : ""; 219 var settings_NewsletterSignup = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : ""; 220 var settings_CreateUserModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : ""; 221 var settings_LoginModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : ""; 222 223 int createUserParagraphId = 0; 224 int loginParagraphId = 0; 225 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId); 226 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId); 227 228 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv. 229 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv) 230 int searchPageId = GetPageSettingsPageId("Boligside"); 231 if (searchPageId == 0) 232 { 233 searchPageId = GetWebsiteSettingsPageId("Boligside"); 234 } 235 236 int boligsideId = GetPageSettingsPageId("Boligside"); 237 if (boligsideId == 0) 238 { 239 boligsideId = GetWebsiteSettingsPageId("Boligside"); 240 } 241 242 string productGroupFilter = String.Empty; 243 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null) 244 { 245 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString(); 246 } 247 248 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"])) 249 { 250 searchClass = "is-frontpage"; 251 } 252 253 bool isErhverv = false; 254 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null) 255 { 256 var s = Pageview.Page.PropertyItem["Erhverv"].ToString(); 257 Boolean.TryParse(s, out isErhverv); 258 } 259 260 bool isBrokerPage = false; 261 if (!string.IsNullOrEmpty(Model.Area.Item.GetString("M_glerGruppeId"))) 262 { 263 isBrokerPage = true; 264 bodyClass = ""; // Get rid of transparent header on brokerPage 265 } 266 267 string callTrackingId = Model.Item.GetString("CallTrackingId"); 268 269 RealEstate.User.Model.BrokerEmployee MyBroker = null; 270 try 271 { 272 var MyB = new RealEstate.User.MyBroker(); 273 MyBroker = MyB.GetMyBroker(); 274 } 275 catch 276 { 277 // Ignore 278 } 279 280 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : ""); 281 string querySearchNameAttr = "search"; 282 283 // Overwrite search with zipcodeinterval if set 284 if (Context.Current.Request.QueryString["zipcodeinterval"] != null) 285 { 286 querySearch = Context.Current.Request.QueryString["zipcodeinterval"]; 287 querySearchNameAttr = "zipcodeinterval"; 288 } 289 290 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : ""); 291 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : ""); 292 293 Dynamicweb.Security.UserManagement.User user = null; 294 int userID = 0; 295 string userName = ""; 296 string userEmail = ""; 297 string userPhone = ""; 298 string userZip = ""; 299 string userAddress = ""; 300 301 if (Dynamicweb.Security.UserManagement.UserContext.Current.IsLoggedOn) 302 { 303 user = Dynamicweb.Security.UserManagement.UserContext.Current.User; 304 userName = user.Name; 305 userEmail = user.Email; 306 userPhone = user.Phone; 307 userZip = user.Zip; 308 userAddress = user.Address; 309 userID = user.ID; 310 } 311 312 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode"); 313 string forgotPwTemplate = ""; 314 string forgotPwSender = ""; 315 string markerColor = ""; 316 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png"; 317 318 // Important - e-mail templates for forgotPw must be placed in "UserManagement/Login" folder 319 forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml"; 320 forgotPwSender = "noreply@mailreal.dk"; 321 markerColor = "#213960"; 322 323 var butikId = string.Empty; 324 string bEmail = string.Empty; 325 if (MyBroker != null && MyBroker.Broker != null) 326 { 327 butikId = MyBroker.Broker.Item().GetString("CBMedlemsnummer"); 328 bEmail = MyBroker.Broker.Item().GetString("Email"); 329 } 330 331 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment")); 332 333 var termsMail = "info@realmaeglerne.dk"; 334 WriteLiteral("\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta charset=\"utf-8\">\r\n <title>"); 335 Write(MetaTitle); 336 WriteLiteral("</title>\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1\">\r\n <meta name=\"description\""); 337 BeginWriteAttribute("content", " content=\"", 116098, "\"", 116124, 1); 338 WriteAttributeValue("", 116108, MetaDescription, 116108, 16, false); 339 EndWriteAttribute(); 340 WriteLiteral(">\r\n <meta name=\"keywords\""); 341 BeginWriteAttribute("content", " content=\"", 116153, "\"", 116176, 1); 342 WriteAttributeValue("", 116163, MetaKeywords, 116163, 13, false); 343 EndWriteAttribute(); 344 WriteLiteral(">\r\n <meta name=\"format-detection\" content=\"telephone=no\">\r\n <meta http-equiv=\"Expires\" content=\"60\">\r\n <meta name=\"robots\""); 345 BeginWriteAttribute("content", " content=\"", 116308, "\"", 116414, 3); 346 WriteAttributeValue("", 116318, Pageview.Area.Noindex ? "noindex" : "index", 116318, 46, false); 347 WriteAttributeValue("", 116364, ",", 116364, 1, true); 348 WriteAttributeValue("", 116365, Pageview.Area.Nofollow ? "nofollow" : "follow", 116365, 49, false); 349 EndWriteAttribute(); 350 WriteLiteral(">\r\n\r\n"); 351 WriteLiteral("\r\n "); 352 Write(RenderSnippet("OpenGraphTags")); 353 WriteLiteral("\r\n"); 354 if (!string.IsNullOrEmpty(settings_Google_Optimize_Id)) 355 { 356 WriteLiteral(" <!-- Google optimize script-->\r\n <script"); 357 BeginWriteAttribute("src", " src=\"", 116606, "\"", 116686, 2); 358 WriteAttributeValue("", 116612, "https://www.googleoptimize.com/optimize.js?id=", 116612, 46, true); 359 WriteAttributeValue("", 116658, settings_Google_Optimize_Id, 116658, 28, false); 360 EndWriteAttribute(); 361 WriteLiteral("></script>\r\n"); 362 } 363 WriteLiteral(@" <!-- TrustBox script --> 364 <script type=""text/javascript"" src=""//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js"" async></script> 365 <!-- End TrustBox script --> 366 367 <script type=""application/ld+json""> 368 { 369 ""context"": ""https://schema.org/"", 370 """); 371 WriteLiteral(@"@type"": ""WebSite"", 372 ""name"": ""RealMæglerne"", 373 ""url"": ""https://www.realmaeglerne.dk/"", 374 ""potentialAction"": { 375 ""type"": ""SearchAction"", 376 ""target"": ""https://www.realmaeglerne.dk/find-maegler?q={search_term_string}"", 377 ""query-input"": ""required name=search_term_string"" 378 } 379 } 380 </script> 381 382 <script type=""application/ld+json""> 383 { 384 ""context"": ""https://schema.org"", 385 """); 386 WriteLiteral(@"@type"": ""Corporation"", 387 ""name"": ""RealMæglerne"", 388 ""alternateName"": ""R&B Mægler A/S"", 389 ""url"": ""https://www.realmaeglerne.dk"", 390 ""logo"": ""https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png"", 391 ""contactPoint"": { 392 ""type"": ""ContactPoint"", 393 ""telephone"": ""+4570237153"", 394 ""contactType"": ""sales"", 395 ""areaServed"": ""DK"", 396 ""availableLanguage"": ""Danish"" 397 }, 398 ""sameAs"": [ 399 ""https://www.facebook.com/realmaeglerne/"", 400 ""https://www.linkedin.com/company/realmæglerne/"", 401 ""https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g"", 402 ""https://www.realmaeglerne.dk/"" 403 ] 404 } 405 </script> 406 "); 407 Write(RenderSnippet("StructuredData")); 408 WriteLiteral("\r\n"); 409 WriteLiteral("\r\n"); 410 WriteLiteral(" <link rel=\"stylesheet\""); 411 BeginWriteAttribute("href", " href=\"", 118308, "\"", 118359, 2); 412 WriteAttributeValue("", 118315, TemplateUrl, 118315, 14, false); 413 WriteAttributeValue("", 118329, "assets/fontawesome/css/all.css", 118329, 30, true); 414 EndWriteAttribute(); 415 WriteLiteral(" async />\r\n <link rel=\"stylesheet\""); 416 BeginWriteAttribute("href", " href=\"", 118401, "\"", 118416, 1); 417 WriteAttributeValue("", 118408, mainCSS, 118408, 8, false); 418 EndWriteAttribute(); 419 WriteLiteral(" async />\r\n"); 420 421 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"])) 422 { 423 var cssErhvervFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/erhverv.min.css")); 424 string erhvervCSS = TemplateUrl + $"assets/dist/css/erhverv.min.css?{cssErhvervFileInfo.LastWriteTime.Ticks}"; 425 WriteLiteral(" <link rel=\"stylesheet\""); 426 BeginWriteAttribute("href", " href=\"", 118820, "\"", 118838, 1); 427 WriteAttributeValue("", 118827, erhvervCSS, 118827, 11, false); 428 EndWriteAttribute(); 429 WriteLiteral(" async>\r\n"); 430 } 431 WriteLiteral("\r\n\r\n <link rel=\"icon\" type=\"image/ico\""); 432 BeginWriteAttribute("href", " href=\"", 118907, "\"", 118971, 2); 433 WriteAttributeValue("", 118914, TemplateUrl, 118914, 14, false); 434 WriteAttributeValue("", 118928, "assets/images/favicons/favicon-real.ico?v=1", 118928, 43, true); 435 EndWriteAttribute(); 436 WriteLiteral(">\r\n <link rel=\"icon\" type=\"image/png\""); 437 BeginWriteAttribute("href", " href=\"", 119012, "\"", 119078, 2); 438 WriteAttributeValue("", 119019, TemplateUrl, 119019, 14, false); 439 WriteAttributeValue("", 119033, "assets/images/favicons/favicon-real-16x16.png", 119033, 45, true); 440 EndWriteAttribute(); 441 WriteLiteral(" sizes=\"16x16\">\r\n <link rel=\"icon\" type=\"image/png\""); 442 BeginWriteAttribute("href", " href=\"", 119133, "\"", 119199, 2); 443 WriteAttributeValue("", 119140, TemplateUrl, 119140, 14, false); 444 WriteAttributeValue("", 119154, "assets/images/favicons/favicon-real-32x32.png", 119154, 45, true); 445 EndWriteAttribute(); 446 WriteLiteral(" sizes=\"32x32\">\r\n <link rel=\"icon\" type=\"image/png\""); 447 BeginWriteAttribute("href", " href=\"", 119254, "\"", 119320, 2); 448 WriteAttributeValue("", 119261, TemplateUrl, 119261, 14, false); 449 WriteAttributeValue("", 119275, "assets/images/favicons/favicon-real-96x96.png", 119275, 45, true); 450 EndWriteAttribute(); 451 WriteLiteral(" sizes=\"96x96\">\r\n <meta name=\"google-site-verification\" content=\"hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg\" />\r\n\r\n"); 452 if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString())) 453 { 454 WriteLiteral(@" <script> 455 window.dataLayer = window.dataLayer || []; // must be placed above GTM script 456 </script> 457 <!-- Google Tag Manager --> 458 <script> 459 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 460 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 461 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 462 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 463 })(window,document,'script','dataLayer','"); 464 Write(settings_Google_Tag_Manager_ID); 465 WriteLiteral("\');</script>\r\n <!-- End Google Tag Manager -->\r\n"); 466 } 467 WriteLiteral("\r\n"); 468 if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId)) 469 { 470 WriteLiteral(" <script type=\"text/javascript\""); 471 BeginWriteAttribute("src", " src=\"", 120302, "\"", 120374, 2); 472 WriteAttributeValue("", 120308, "https://call.call-tracking.dk/getJavascript?custid=", 120308, 51, true); 473 WriteAttributeValue("", 120359, callTrackingId, 120359, 15, false); 474 EndWriteAttribute(); 475 WriteLiteral("></script>\r\n"); 476 } 477 WriteLiteral("\r\n"); 478 if (!String.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString())) 479 { 480 WriteLiteral(@" <!-- Begin Leadhub Pixel Code --> 481 <script> 482 (function(w,d,x,n,u,t,f,s,o){ 483 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){ 484 (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) 485 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '"); 486 Write(settings_Leadhub_Pixel_ID); 487 WriteLiteral("\');\r\n lhi(\'pageview\');\r\n </script>\r\n <!-- End Leadhub Pixel Code -->\r\n"); 488 } 489 WriteLiteral("\r\n <script>\r\n // Global namespace used for fetching API feeds from DW\r\n var RMAPI = (RMAPI) ? RMAPI : {};\r\n var ApiPreFix = \"/Default.aspx?ID=\";\r\n RMAPI.BoligCountFeed = ApiPreFix + \""); 490 Write(settings_BoligCountFeed); 491 WriteLiteral("\";\r\n RMAPI.BoligListFeed = ApiPreFix + \""); 492 Write(settings_BoligListFeed); 493 WriteLiteral("\" + \"&refpageid="); 494 Write(Pageview.Page.ID); 495 WriteLiteral("\";\r\n RMAPI.BoligListFeedErhverv = \""); 496 Write(settings_BoligListFeedErhverv); 497 WriteLiteral("\";\r\n RMAPI.BoligListFeedMaegler = ApiPreFix + \""); 498 Write(settings_BoligListFeedMaegler); 499 WriteLiteral("\" + \"&refpageid="); 500 Write(Pageview.Page.ID); 501 WriteLiteral("\";\r\n RMAPI.BoligSearchFeed = ApiPreFix + \""); 502 Write(settings_BoligSearchFeed); 503 WriteLiteral("\";\r\n RMAPI.BoligMapFeed = ApiPreFix + \""); 504 Write(settings_BoligMapFeed); 505 WriteLiteral("\";\r\n RMAPI.Boligagent = \""); 506 Write(settings_Boligagent); 507 WriteLiteral("\";\r\n RMAPI.IsErhverv = "); 508 Write(isErhverv.ToString().ToLower()); 509 WriteLiteral(";\r\n RMAPI.ProductGroupFilter = \""); 510 Write(productGroupFilter); 511 WriteLiteral("\";\r\n RMAPI.ButikId = \""); 512 Write(butikId); 513 WriteLiteral("\";\r\n RMAPI.Boligvisning = false;\r\n RMAPI.RefPageId = \""); 514 Write(Pageview.Page.ID); 515 WriteLiteral("\";\r\n RMAPI.Template = \""); 516 Write(template); 517 WriteLiteral("\";\r\n RMAPI.SliderSettings = "); 518 Write(JsonConvert.SerializeObject(Settings.Site)); 519 WriteLiteral(";\r\n RMAPI.AdvisorSearchFeed = \""); 520 Write(settings_AdvisorSearchFeed); 521 WriteLiteral("\";\r\n RMAPI.LoadingIcon = \""); 522 Write(loadingIcon); 523 WriteLiteral("\";\r\n RMAPI.MarkerColor = \""); 524 Write(markerColor); 525 WriteLiteral("\";\r\n RMAPI.mapMarkerUrl = \""); 526 Write(mapMarkerUrl); 527 WriteLiteral("\";\r\n RMAPI.settings_ForgotPwPage = \""); 528 Write(settings_ForgotPwPage); 529 WriteLiteral("\";\r\n </script>\r\n\r\n"); 530 if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString())) 531 { 532 WriteLiteral(@" <!-- Facebook Pixel Code --> 533 <script> 534 !function (f, b, e, v, n, t, s) { 535 if (f.fbq) return; n = f.fbq = function () { 536 n.callMethod ? 537 n.callMethod.apply(n, arguments) : n.queue.push(arguments) 538 }; 539 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; 540 n.queue = []; t = b.createElement(e); t.async = !0; 541 t.src = v; s = b.getElementsByTagName(e)[0]; 542 s.parentNode.insertBefore(t, s) 543 }(window, document, 'script', 544 'https://connect.facebook.net/en_US/fbevents.js'); 545 fbq('init', '"); 546 Write(settings_Facebook_App_ID); 547 WriteLiteral("\');\r\n fbq(\'track\', \'PageView\');\r\n </script>\r\n <noscript>\r\n <img height=\"1\" width=\"1\""); 548 BeginWriteAttribute("src", " src=\"", 123277, "\"", 123362, 3); 549 WriteAttributeValue("", 123283, "https://www.facebook.com/tr?id=", 123283, 31, true); 550 WriteAttributeValue("", 123314, settings_Facebook_App_ID, 123314, 25, false); 551 WriteAttributeValue("", 123339, "&ev=PageView&noscript=1", 123339, 23, true); 552 EndWriteAttribute(); 553 WriteLiteral(" />\r\n </noscript>\r\n <!-- End Facebook Pixel Code -->\r\n"); 554 } 555 WriteLiteral("\r\n <script type=\'text/javascript\' src=\'https://platform-api.sharethis.com/js/sharethis.js#property=5d68cfaf5fea9f001288d9ac&product=inline-share-buttons\' async=\'async\'></script>\r\n\r\n</head>\r\n\r\n<body"); 556 BeginWriteAttribute("class", " class=\"", 123638, "\"", 123665, 2); 557 WriteAttributeValue("", 123646, template, 123646, 9, false); 558 WriteAttributeValue("", 123655, bodyClass, 123655, 10, false); 559 EndWriteAttribute(); 560 WriteLiteral(" data-spforgotpwtemplate=\""); 561 Write(forgotPwTemplate); 562 WriteLiteral("\" data-spforgotpwsender=\""); 563 Write(forgotPwSender); 564 WriteLiteral("\" data-spforgotpwsubject=\""); 565 Write(forgotPwSubject); 566 WriteLiteral("\" data-spsalesassesmentid=\""); 567 Write(salesAssessmentPageId); 568 WriteLiteral("\">\r\n"); 569 570 string logoUrl = TemplateUrl + (!Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg"); 571 WriteLiteral("\r\n"); 572 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) && GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID) 573 { 574 WriteLiteral(" <div class=\"top-search\">\r\n <div class=\"header logo\">\r\n <div class=\"logo\">\r\n <a href=\"/erhverv\">\r\n <img"); 575 BeginWriteAttribute("src", " src=\"", 124337, "\"", 124351, 1); 576 WriteAttributeValue("", 124343, logoUrl, 124343, 8, false); 577 EndWriteAttribute(); 578 WriteLiteral(" alt=\"RealMæglerne\" />\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"top-form mx-auto\">\r\n <form id=\"main-search-top\" class=\"js-top-search\" action=\"/Default.aspx\" method=\"GET\">\r\n"); 579 580 581 var settings_BoligListErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoliglisteErhverv"])) ? Converter.ToString(SettingsItem["BoliglisteErhverv"]).Replace("Default.aspx?Id=", "") : ""; 582 WriteLiteral(" <input type=\"hidden\" name=\"ID\""); 583 BeginWriteAttribute("value", " value=\'", 124918, "\'", 124952, 1); 584 WriteAttributeValue("", 124926, settings_BoligListErhverv, 124926, 26, false); 585 EndWriteAttribute(); 586 WriteLiteral(" id=\"searchPageId-top\" disabled=\"disabled\" />\r\n\r\n"); 587 if (Context.Current.Request["type"] == "egetforbrug") 588 { 589 WriteLiteral(" <input name=\"type\" type=\"hidden\" value=\"egetforbrug\" />\r\n <input name=\"investeringsejendom\" type=\"hidden\" value=\"0\" />\r\n"); 590 } 591 WriteLiteral(@" <div class=""row form-wrapper no-gutters""> 592 <div class=""col-xs-12 col-md-4 col-lg-5 col-searchbar""> 593 <div class=""searchbar float-label-container text-left""> 594 <label class=""float-label"">"); 595 Write(Translate("Smartpage:Erhver.Postnummer, by, vej eller sagsnummer", "Postnummer, by, vej eller sagsnummer")); 596 WriteLiteral("</label>\r\n <input type=\"text\""); 597 BeginWriteAttribute("name", " name=\"", 125746, "\"", 125773, 1); 598 WriteAttributeValue("", 125753, querySearchNameAttr, 125753, 20, false); 599 EndWriteAttribute(); 600 WriteLiteral(" id=\"searchfield-top\" class=\"search-input js-float-label js-getdata\" tabindex=\"1\""); 601 BeginWriteAttribute("value", " value=\"", 125855, "\"", 125933, 1); 602 WriteAttributeValue("", 125863, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 125863, 70, false); 603 EndWriteAttribute(); 604 WriteLiteral(@" /> 605 </div> 606 </div> 607 <div class=""col-xs-12 col-md-5""> 608 <div class=""row no-gutters""> 609 <div class=""col-xs-12 col-md-6 input-col""> 610 <div class=""dropdown w-overlay float-label-container""> 611 <label class=""float-label"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">"); 612 Write(Translate("Smartpage:Search.Erhverv.Lokaletype", "Lokaletype")); 613 WriteLiteral(@"</label> 614 <button class=""btn btn-dropdown dropdown-toggle reverse position-absolute-md"" type=""button"" id=""Boligtype-frontpage"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""></button> 615 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 616 <ul class=""bolig-dropdown list-unstyled""> 617 "); 618 619 RenderBoligTypeErhverv(); 620 WriteLiteral(@" </ul> 621 <span class=""border-fat""></span> 622 <div class=""d-none d-md-block""> 623 <button class=""btn btn-primary js-close-dropdown"">"); 624 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 625 WriteLiteral(@"</button> 626 </div> 627 <div class=""d-flex row d-md-none""> 628 <div class=""col-6""> 629 <button class=""btn btn-danger js-remove-filter"">"); 630 Write(Translate("Smartpage:Search.Annuller", "Annuller")); 631 WriteLiteral("</button>\r\n </div>\r\n <div class=\"col-6\">\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 632 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 633 WriteLiteral(@"</button> 634 </div> 635 </div> 636 </div> 637 638 </div> 639 </div> 640 <div class=""col-xs-12 col-md-6 input-col""> 641 <div class=""btn-dropdown p-3 border-top-bottom-right""> 642 <ul class=""two-column list-unstyled""> 643 <li> 644 <label class=""checkbox-container""> 645 "); 646 Write(Translate("Smartpage:Search.Erhverv.Leje", "Leje")); 647 WriteLiteral(@" 648 <input type=""checkbox"" name=""propertytype"" value=""leje"" class=""js-input-check"" /> 649 <span class=""checkmark""></span> 650 </label> 651 </li> 652 <li> 653 <label class=""checkbox-container""> 654 "); 655 Write(Translate("Smartpage:Search.Erhverv.Køb", "Køb")); 656 WriteLiteral(@" 657 <input type=""checkbox"" name=""propertytype"" value=""kob"" class=""js-input-check"" /> 658 <span class=""checkmark""></span> 659 </label> 660 </li> 661 </ul> 662 </div> 663 664 </div> 665 </div> 666 </div> 667 <div class=""col-xs-12 col-md-3 col-lg-2 d-none d-md-block""> 668 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 669 Write(Translate("Smartpage:Search.Søg", "Søg")); 670 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n"); 671 } 672 WriteLiteral("\r\n"); 673 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"])) 674 { 675 WriteLiteral(" <div class=\"header shortcuts\">\r\n <div class=\"header-shortcuts float-right\">\r\n"); 676 if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID) 677 { 678 WriteLiteral(" <a"); 679 BeginWriteAttribute("href", " href=\'", 130636, "\'", 130643, 0); 680 EndWriteAttribute(); 681 BeginWriteAttribute("class", " class=\"", 130644, "\"", 130760, 9); 682 WriteAttributeValue("", 130652, "search-menu", 130652, 11, true); 683 WriteAttributeValue(" ", 130663, "d-none", 130664, 7, true); 684 WriteAttributeValue(" ", 130670, "d-xl-flex", 130671, 10, true); 685 WriteAttributeValue(" ", 130680, "align-items-center", 130681, 19, true); 686 WriteAttributeValue(" ", 130699, "float-left", 130700, 11, true); 687 WriteAttributeValue(" ", 130710, "border-right", 130711, 13, true); 688 WriteAttributeValue(" ", 130723, "js-mainsearch", 130724, 14, true); 689 WriteAttributeValue(" ", 130737, "topsearch", 130738, 10, true); 690 WriteAttributeValue(" ", 130747, searchClass, 130748, 12, false); 691 EndWriteAttribute(); 692 WriteLiteral(">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i><span class=\"search-menu-text hidden d-md-block\"> "); 693 Write(Translate("Smartpage:Search.Søg", "Søg")); 694 WriteLiteral("</span>\r\n </a>\r\n"); 695 } 696 WriteLiteral(" <div class=\"menu-slide d-flex align-items-center\">\r\n <b></b>\r\n <span class=\"menu-text hidden d-md-block\">Menu</span>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n"); 697 } 698 else 699 { 700 WriteLiteral(" <div class=\"header__container container\">\r\n <div class=\"header__logo\">\r\n <a href=\"/\""); 701 BeginWriteAttribute("title", " title=\"", 131360, "\"", 131368, 0); 702 EndWriteAttribute(); 703 WriteLiteral(">\r\n <img"); 704 BeginWriteAttribute("src", " src=\"", 131396, "\"", 131412, 1); 705 WriteAttributeValue("", 131402, logoUrl, 131402, 10, false); 706 EndWriteAttribute(); 707 BeginWriteAttribute("alt", " alt=\"", 131413, "\"", 131419, 0); 708 EndWriteAttribute(); 709 WriteLiteral(" />\r\n </a>\r\n </div>\r\n <div class=\"header__title\">\r\n <span>"); 710 Write(Translate("Custom:Header.Title", "RealMæglerne")); 711 WriteLiteral("</span> \r\n </div>\r\n"); 712 if (userID > 0) 713 { 714 WriteLiteral(@" <div class=""header__navigation d-none d-md-flex""> 715 <div class=""header__navigation""> 716 <div class=""header__Link""> 717 <ul> 718 <li class=""d-flex align-items-center""> 719 <svg xmlns=""http://www.w3.org/2000/svg"" width=""20"" height=""20"" viewBox=""0 0 20 20"" fill=""none""> 720 <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"" /> 721 "); 722 WriteLiteral(" </svg>\r\n <a class=\"ml-2\""); 723 BeginWriteAttribute("href", "\r\n href=\"", 132777, "\"", 132859, 2); 724 WriteAttributeValue("", 132825, "/Default.aspx?ID=", 132825, 17, true); 725 WriteAttributeValue("", 132842, settings_MinSide, 132842, 17, false); 726 EndWriteAttribute(); 727 WriteLiteral("\r\n target=\"_blank\""); 728 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 132917, "\"", 133067, 1); 729 WriteAttributeValue("", 132971, Translate("Custom:Accessibility.MyAccountLink", "Gå til Mit RealMæglerne - åbner i nyt vindue"), 132971, 96, false); 730 EndWriteAttribute(); 731 WriteLiteral(">\r\n "); 732 Write(Translate("Mit RealMæglerne")); 733 WriteLiteral("\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n"); 734 735 } 736 else 737 { 738 WriteLiteral(@" <div class=""header__navigation d-none d-md-flex""> 739 <div class=""header__navigation""> 740 <div class=""header__Link""> 741 <ul> 742 <li class=""d-flex align-items-center""> 743 <svg xmlns=""http://www.w3.org/2000/svg"" width=""20"" height=""20"" viewBox=""0 0 20 20"" fill=""none""> 744 <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"" /> 745 "); 746 WriteLiteral(" </svg>\r\n <a class=\"ml-2\"\r\n href=\"javascript:panelLogin()\""); 747 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 134578, "\"", 134701, 1); 748 WriteAttributeValue("", 134632, Translate("Custom:Accessibility.Login", "Login - åbner i sidepanel"), 134632, 69, false); 749 EndWriteAttribute(); 750 WriteLiteral(">\r\n "); 751 Write(Translate("Login")); 752 WriteLiteral("\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n"); 753 } 754 WriteLiteral(" <div class=\"header__search flex-column flex-md-row js-mainsearch\">\r\n "); 755 Write(Translate("Søg bolig")); 756 WriteLiteral("\r\n </div>\r\n <div class=\"header__navigation\">\r\n <div class=\"header__navigation-icon menu-slide\">\r\n <div class=\"d-none d-md-block\">\r\n "); 757 Write(Translate("Menu")); 758 WriteLiteral("\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n"); 759 } 760 WriteLiteral("\r\n <div class=\"search-modal\">\r\n\r\n"); 761 if (Converter.ToString(Pageview.Area.Item["Type"]) == "real") 762 { 763 WriteLiteral(@" <div class=""main-search-form""> 764 <i class=""fal fa-times float-right fa-2x js-close-search close-search""></i> 765 <div class=""row mb-3 align-items-center""> 766 <div class=""col-xs-12 col-md-3 border-right""> 767 <h3>"); 768 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 769 WriteLiteral("</h3>\r\n </div>\r\n <div class=\"col-xs-12 col-md-9 home-count d-none d-md-block\">\r\n <span class=\"search-count\" id=\"searchCounterMain\">0</span> <span class=\"position-relative\">"); 770 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")); 771 WriteLiteral(@"<span class=""loader js-loader""></span></span> 772 773 </div> 774 </div> 775 776 <form id=""main-search"" class=""searchbar-wrapper"" action=""/Default.aspx"" method=""GET""> 777 <input type=""hidden"" name=""ID"""); 778 BeginWriteAttribute("value", " value=\'", 136443, "\'", 136464, 1); 779 WriteAttributeValue("", 136451, searchPageId, 136451, 13, false); 780 EndWriteAttribute(); 781 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" /> 782 <div class=""row form-wrapper no-gutters""> 783 784 <div class=""col-xs-12 col-md-5 col-searchbar""> 785 <div class=""searchbar""> 786 <input type=""text"""); 787 BeginWriteAttribute("name", " name=\"", 136748, "\"", 136775, 1); 788 WriteAttributeValue("", 136755, querySearchNameAttr, 136755, 20, false); 789 EndWriteAttribute(); 790 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\""); 791 BeginWriteAttribute("value", " value=\"", 136878, "\"", 136956, 1); 792 WriteAttributeValue("", 136886, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 136886, 70, false); 793 EndWriteAttribute(); 794 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\""); 795 BeginWriteAttribute("value", " value=\"", 137050, "\"", 137133, 1); 796 WriteAttributeValue("", 137058, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 137058, 75, false); 797 EndWriteAttribute(); 798 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\""); 799 BeginWriteAttribute("value", " value=\"", 137223, "\"", 137304, 1); 800 WriteAttributeValue("", 137231, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 137231, 73, false); 801 EndWriteAttribute(); 802 WriteLiteral(@" /> 803 </div> 804 </div> 805 <div class=""col-xs-12 col-md-5""> 806 <div class=""row no-gutters""> 807 <div class=""col-xs-12 col-md-6 input-col""> 808 <div class=""dropdown""> 809 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 810 "); 811 Write(Translate("Smartpage:Search.Boligtype", "Boligtype")); 812 WriteLiteral(@" 813 </button> 814 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 815 <ul class=""bolig-dropdown list-unstyled""> 816 "); 817 818 RenderBoligtypeCheckboxesDropdown(); 819 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 820 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 821 WriteLiteral(@"</button> 822 </div> 823 824 </div> 825 826 </div> 827 <div class=""col-xs-12 col-md-6 input-col""> 828 <div class=""dropdown""> 829 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 830 "); 831 Write(Translate("Smartpage:Search.Pris", "Pris")); 832 WriteLiteral(@" 833 </button> 834 <div class=""dropdown-menu box-shadow dropdown-price js-dropdown-price"" aria-labelledby=""Pris""> 835 <input name=""pricemin"" type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input"""); 836 BeginWriteAttribute("placeholder", " placeholder=\'", 139555, "\'", 139632, 1); 837 WriteAttributeValue("", 139569, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 139569, 63, false); 838 EndWriteAttribute(); 839 BeginWriteAttribute("value", " value=\'", 139633, "\'", 139769, 1); 840 WriteAttributeValue("", 139641, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemin"]) ? Context.Current.Request.QueryString["pricemin"] : "", 139641, 128, false); 841 EndWriteAttribute(); 842 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 843 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")); 844 WriteLiteral("</option>\r\n"); 845 for (var i = 0; i <= 10000000; i += 100000) 846 { 847 if (i == 10000000) 848 { 849 WriteLiteral(" <option"); 850 BeginWriteAttribute("value", " value=\"", 140406, "\"", 140416, 1); 851 WriteAttributeValue("", 140414, i, 140414, 2, false); 852 EndWriteAttribute(); 853 WriteLiteral(" data-value=\'"); 854 Write(Converter.ToInt32(i).ToString("N0")); 855 WriteLiteral("+\'>"); 856 Write(Convert.ToInt32(i).ToString("N0")); 857 WriteLiteral("+</option>\r\n"); 858 } 859 else 860 { 861 WriteLiteral(" <option"); 862 BeginWriteAttribute("value", " value=\"", 140746, "\"", 140756, 1); 863 WriteAttributeValue("", 140754, i, 140754, 2, false); 864 EndWriteAttribute(); 865 WriteLiteral(" data-value=\'"); 866 Write(Converter.ToInt32(i).ToString("N0")); 867 WriteLiteral("\'>"); 868 Write(Convert.ToInt32(i).ToString("N0")); 869 WriteLiteral("</option>\r\n"); 870 } 871 } 872 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\""); 873 BeginWriteAttribute("placeholder", " placeholder=\'", 141160, "\'", 141237, 1); 874 WriteAttributeValue("", 141174, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 141174, 63, false); 875 EndWriteAttribute(); 876 BeginWriteAttribute("value", " value=\'", 141238, "\'", 141374, 1); 877 WriteAttributeValue("", 141246, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemax"]) ? Context.Current.Request.QueryString["pricemax"] : "", 141246, 128, false); 878 EndWriteAttribute(); 879 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 880 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")); 881 WriteLiteral("</option>\r\n"); 882 for (var i = 0; i <= 10000000; i += 100000) 883 { 884 if (i == 10000000) 885 { 886 WriteLiteral(" <option"); 887 BeginWriteAttribute("value", " value=\"", 142005, "\"", 142015, 1); 888 WriteAttributeValue("", 142013, i, 142013, 2, false); 889 EndWriteAttribute(); 890 WriteLiteral(" data-value=\'"); 891 Write(Converter.ToInt32(i).ToString("N0")); 892 WriteLiteral("+\'>"); 893 Write(Convert.ToInt32(i).ToString("N0")); 894 WriteLiteral("+</option>\r\n"); 895 } 896 else 897 { 898 WriteLiteral(" <option"); 899 BeginWriteAttribute("value", " value=\"", 142345, "\"", 142355, 1); 900 WriteAttributeValue("", 142353, i, 142353, 2, false); 901 EndWriteAttribute(); 902 WriteLiteral(" data-value=\'"); 903 Write(Converter.ToInt32(i).ToString("N0")); 904 WriteLiteral("\'>"); 905 Write(Convert.ToInt32(i).ToString("N0")); 906 WriteLiteral("</option>\r\n"); 907 } 908 } 909 WriteLiteral(@" </select> 910 </div> 911 </div> 912 </div> 913 </div> 914 </div> 915 <div class=""col-xs-12 col-md-2 d-none d-md-block""> 916 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 917 Write(Translate("Smartpage:Search.Søg", "Søg")); 918 WriteLiteral(@"</button> 919 </div> 920 </div> 921 922 <div class=""row moresearch-btn no-gutters""> 923 <div class=""col-sm-12""> 924 <div class=""row align-items-center no-gutters""> 925 <div class=""col-12 col-md-4""> 926 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch""> 927 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open white"">"); 928 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")); 929 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> "); 930 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt")); 931 WriteLiteral(" </span></span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-md-2 mb-xs-4\">\r\n <a class=\"js-reset reset-btn white\">"); 932 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg")); 933 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch-master\">\r\n\r\n <h4 class=\"mt-20\"><b>"); 934 Write(Translate("Smartpage:Search.Bolig", "Bolig")); 935 WriteLiteral(@"</b></h4> 936 <div class=""row align-items-end mb-30""> 937 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 938 <div class=""filter-container row""> 939 <label class=""d-block col-12"">"); 940 Write(Translate("Smartpage:Search.Boligareal", "Boligareal")); 941 WriteLiteral(@"</label> 942 <div class=""col-6 pr-sm-0 pr-2""> 943 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count"""); 944 BeginWriteAttribute("placeholder", " placeholder=\'", 145117, "\'", 145190, 1); 945 WriteAttributeValue("", 145131, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 145131, 59, false); 946 EndWriteAttribute(); 947 BeginWriteAttribute("value", " value=\'", 145191, "\'", 145337, 1); 948 WriteAttributeValue("", 145199, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmin"]) ? Context.Current.Request.QueryString["boligarealmin"] : "", 145199, 138, false); 949 EndWriteAttribute(); 950 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 951 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 952 WriteLiteral("</option>\r\n"); 953 for (var i = 0; i <= 300; i += 10) 954 { 955 if (i == 300) 956 { 957 WriteLiteral(" <option>"); 958 Write(i); 959 WriteLiteral("+</option>\r\n"); 960 } 961 else 962 { 963 WriteLiteral(" <option>"); 964 Write(i); 965 WriteLiteral("</option>\r\n"); 966 } 967 } 968 WriteLiteral(@" </select> 969 970 </div> 971 <div class=""col-6 pl-sm-0 pl-2""> 972 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count"""); 973 BeginWriteAttribute("placeholder", " placeholder=\'", 146722, "\'", 146795, 1); 974 WriteAttributeValue("", 146736, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 146736, 59, false); 975 EndWriteAttribute(); 976 BeginWriteAttribute("value", " value=\'", 146796, "\'", 146942, 1); 977 WriteAttributeValue("", 146804, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmax"]) ? Context.Current.Request.QueryString["boligarealmax"] : "", 146804, 138, false); 978 EndWriteAttribute(); 979 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 980 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 981 WriteLiteral("</option>\r\n"); 982 for (var i = 0; i <= 300; i += 10) 983 { 984 if (i == 300) 985 { 986 WriteLiteral(" <option>"); 987 Write(i); 988 WriteLiteral("+</option>\r\n"); 989 } 990 else 991 { 992 WriteLiteral(" <option>"); 993 Write(i); 994 WriteLiteral("</option>\r\n"); 995 } 996 } 997 WriteLiteral(@" </select> 998 999 </div> 1000 </div> 1001 </div> 1002 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 1003 <div class=""filter-container row""> 1004 <label class=""d-block col-12"">"); 1005 Write(Translate("Smartpage:Search.Grundareal", "Grundareal")); 1006 WriteLiteral(@"</label> 1007 <div class=""col-6 pr-sm-0 pr-2""> 1008 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count"""); 1009 BeginWriteAttribute("placeholder", " placeholder=\'", 148723, "\'", 148796, 1); 1010 WriteAttributeValue("", 148737, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 148737, 59, false); 1011 EndWriteAttribute(); 1012 BeginWriteAttribute("value", " value=\'", 148797, "\'", 148944, 1); 1013 WriteAttributeValue("", 148805, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmin"]) ? Context.Current.Request.QueryString["grundarealmin"] : "", 148805, 139, false); 1014 EndWriteAttribute(); 1015 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1016 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 1017 WriteLiteral("</option>\r\n"); 1018 for (var i = 0; i <= 10000; i += 100) 1019 { 1020 if (i == 10000) 1021 { 1022 WriteLiteral(" <option>"); 1023 Write(i); 1024 WriteLiteral("+</option>\r\n"); 1025 } 1026 else 1027 { 1028 WriteLiteral(" <option>"); 1029 Write(i); 1030 WriteLiteral("</option>\r\n"); 1031 } 1032 } 1033 WriteLiteral(@" </select> 1034 </div> 1035 <div class=""col-6 pl-sm-0 pl-2""> 1036 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count"""); 1037 BeginWriteAttribute("placeholder", " placeholder=\'", 150332, "\'", 150405, 1); 1038 WriteAttributeValue("", 150346, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 150346, 59, false); 1039 EndWriteAttribute(); 1040 BeginWriteAttribute("value", " value=\'", 150406, "\'", 150553, 1); 1041 WriteAttributeValue("", 150414, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmax"]) ? Context.Current.Request.QueryString["grundarealmax"] : "", 150414, 139, false); 1042 EndWriteAttribute(); 1043 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">"); 1044 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 1045 WriteLiteral("</option>\r\n"); 1046 for (var i = 0; i <= 10000; i += 100) 1047 { 1048 if (i == 10000) 1049 { 1050 WriteLiteral(" <option>"); 1051 Write(i); 1052 WriteLiteral("+</option>\r\n"); 1053 } 1054 else 1055 { 1056 WriteLiteral(" <option>"); 1057 Write(i); 1058 WriteLiteral("</option>\r\n"); 1059 } 1060 } 1061 WriteLiteral(@" </select> 1062 </div> 1063 </div> 1064 </div> 1065 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 1066 <div class=""filter-container row""> 1067 <label class=""d-block col-12"">Antal rum</label> 1068 <div class=""col-6 pr-sm-0 pr-2""> 1069 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count""> 1070 <option selected=""selected"" disabled=""disabled"">"); 1071 Write(Translate("Smartpage:Search.Placeholder.Min", "Min")); 1072 WriteLiteral("</option>\r\n"); 1073 1074 RenderSelectValue("1", "1", "roomsmin"); 1075 RenderSelectValue("2", "2", "roomsmin"); 1076 RenderSelectValue("3", "3", "roomsmin"); 1077 RenderSelectValue("4", "4", "roomsmin"); 1078 RenderSelectValue("5+", "5", "roomsmin"); 1079 WriteLiteral(@" </select> 1080 </div> 1081 <div class=""col-6 pl-sm-0 pl-2""> 1082 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count""> 1083 <option selected=""selected"" disabled=""disabled"">"); 1084 Write(Translate("Smartpage:Search.Placeholder.Max", "Max")); 1085 WriteLiteral("</option>\r\n"); 1086 1087 RenderSelectValue("1", "1", "roomsmax"); 1088 RenderSelectValue("2", "2", "roomsmax"); 1089 RenderSelectValue("3", "3", "roomsmax"); 1090 RenderSelectValue("4", "4", "roomsmax"); 1091 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax"); 1092 WriteLiteral(@" </select> 1093 </div> 1094 </div> 1095 </div> 1096 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 1097 <div class=""row""> 1098 <div class=""col-12 pr-2""> 1099 <div class=""filter-container""> 1100 <label class=""d-block"">Energimærke</label> 1101 <select name=""energylabel"" id=""energylabel"" class=""form-control reverse js-energylabel-select js-count""> 1102 <option selected=""selected"" disabled=""disabled"">"); 1103 Write(Translate("Smartpage:Search.Vælg", "Vælg")); 1104 WriteLiteral(@"</option> 1105 <option value=""01"">G</option> 1106 <option value=""02"">F</option> 1107 <option value=""03"">E</option> 1108 <option value=""04"">D</option> 1109 <option value=""05"">C</option> 1110 <option value=""06"">B</option> 1111 <option value=""07"">A</option> 1112 <option value=""08"">A2010</option> 1113 <option value=""09"">A2015</option> 1114 <option value=""10"">A2020+</option> 1115 </select> 1116 </div> 1117 "); 1118 WriteLiteral(@" </div> 1119 </div> 1120 </div> 1121 <div class=""col-12 col-sm-6 col-lg-3 mt-3""> 1122 <h4"); 1123 BeginWriteAttribute("class", " class=\"", 156352, "\"", 156360, 0); 1124 EndWriteAttribute(); 1125 WriteLiteral("><b>"); 1126 Write(Translate("Smartpage:Search.Økonomi", "Økonomi")); 1127 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">"); 1128 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")); 1129 WriteLiteral("</label>\r\n <div class=\"col-6 pr-sm-0 pr-2\">\r\n <input type=\"text\" name=\"subsidymin\" id=\"subsidymin\" class=\"form-control js-subsidymin-frontpage-input js-count\""); 1130 BeginWriteAttribute("placeholder", " placeholder=\'", 156922, "\'", 156997, 1); 1131 WriteAttributeValue("", 156936, Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"), 156936, 61, false); 1132 EndWriteAttribute(); 1133 BeginWriteAttribute("value", " value=\'", 156998, "\'", 157139, 1); 1134 WriteAttributeValue("", 157006, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymin"]) ? Context.Current.Request.QueryString["subsidymin"] : "", 157006, 133, false); 1135 EndWriteAttribute(); 1136 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">"); 1137 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")); 1138 WriteLiteral("</option>\r\n"); 1139 for (var i = 0; i <= 25000; i += 1250) 1140 { 1141 if (i == 25000) 1142 { 1143 WriteLiteral(" <option"); 1144 BeginWriteAttribute("value", " value=\"", 157783, "\"", 157812, 1); 1145 WriteAttributeValue("", 157791, Converter.ToInt32(i), 157791, 21, false); 1146 EndWriteAttribute(); 1147 WriteLiteral(">"); 1148 Write(Converter.ToInt32(i).ToString("N0")); 1149 WriteLiteral("+</option>\r\n"); 1150 } 1151 else 1152 { 1153 WriteLiteral(" <option"); 1154 BeginWriteAttribute("value", " value=\"", 158109, "\"", 158138, 1); 1155 WriteAttributeValue("", 158117, Converter.ToInt32(i), 158117, 21, false); 1156 EndWriteAttribute(); 1157 WriteLiteral(">"); 1158 Write(Converter.ToInt32(i).ToString("N0")); 1159 WriteLiteral("</option>\r\n"); 1160 } 1161 } 1162 WriteLiteral(@" </select> 1163 </div> 1164 <div class=""col-6 pl-sm-0 pl-2""> 1165 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count"""); 1166 BeginWriteAttribute("placeholder", " placeholder=\'", 158650, "\'", 158725, 1); 1167 WriteAttributeValue("", 158664, Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"), 158664, 61, false); 1168 EndWriteAttribute(); 1169 BeginWriteAttribute("value", " value=\'", 158726, "\'", 158867, 1); 1170 WriteAttributeValue("", 158734, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymax"]) ? Context.Current.Request.QueryString["subsidymax"] : "", 158734, 133, false); 1171 EndWriteAttribute(); 1172 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1173 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")); 1174 WriteLiteral("</option>\r\n"); 1175 for (var i = 0; i <= 25000; i += 1250) 1176 { 1177 if (i == 25000) 1178 { 1179 WriteLiteral(" <option"); 1180 BeginWriteAttribute("value", " value=\"", 159507, "\"", 159536, 1); 1181 WriteAttributeValue("", 159515, Converter.ToInt32(i), 159515, 21, false); 1182 EndWriteAttribute(); 1183 WriteLiteral(">"); 1184 Write(Convert.ToInt32(i).ToString("N0")); 1185 WriteLiteral("+</option>\r\n"); 1186 } 1187 else 1188 { 1189 WriteLiteral(" <option"); 1190 BeginWriteAttribute("value", " value=\"", 159831, "\"", 159860, 1); 1191 WriteAttributeValue("", 159839, Converter.ToInt32(i), 159839, 21, false); 1192 EndWriteAttribute(); 1193 WriteLiteral(">"); 1194 Write(Convert.ToInt32(i).ToString("N0")); 1195 WriteLiteral("</option>\r\n"); 1196 } 1197 } 1198 WriteLiteral(@" </select> 1199 </div> 1200 </div> 1201 </div> 1202 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0""> 1203 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1204 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")); 1205 WriteLiteral(@"</button> 1206 </div> 1207 </div> 1208 </div> 1209 </div> 1210 </div> 1211 <div class=""row d-block d-md-none form-wrapper no-gutters""> 1212 <div class=""col-xs-12 col-md-2""> 1213 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1214 Write(Translate("Smartpage:Search.Søg", "Søg")); 1215 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n"); 1216 } 1217 else 1218 { 1219 WriteLiteral(@" <div class=""main-search-form center""> 1220 <i class=""fal fa-times float-right fa-2x js-close-search""></i> 1221 <div class=""row mb-3 align-items-center""> 1222 <div class=""col-xs-12 col-md-5 border-right""> 1223 <h3>"); 1224 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 1225 WriteLiteral("</h3>\r\n </div>\r\n <div class=\"col-xs-12 col-md-7 home-count d-none d-md-block\">\r\n <span class=\"search-count\" id=\"searchCounterMain\">0</span> <span>"); 1226 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")); 1227 WriteLiteral("</span>\r\n </div>\r\n </div>\r\n\r\n <form id=\"main-search\" class=\"searchbar-wrapper\" action=\"/Default.aspx\" method=\"GET\">\r\n <input type=\"hidden\" name=\"ID\""); 1228 BeginWriteAttribute("value", " value=\'", 161974, "\'", 161995, 1); 1229 WriteAttributeValue("", 161982, searchPageId, 161982, 13, false); 1230 EndWriteAttribute(); 1231 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" /> 1232 <div class=""row form-wrapper no-gutters""> 1233 1234 <div class=""col-12 mb-10""> 1235 <div class=""searchbar""> 1236 <input type=""text"""); 1237 BeginWriteAttribute("name", " name=\"", 162259, "\"", 162286, 1); 1238 WriteAttributeValue("", 162266, querySearchNameAttr, 162266, 20, false); 1239 EndWriteAttribute(); 1240 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\""); 1241 BeginWriteAttribute("value", " value=\'", 162389, "\'", 162409, 1); 1242 WriteAttributeValue("", 162397, querySearch, 162397, 12, false); 1243 EndWriteAttribute(); 1244 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\""); 1245 BeginWriteAttribute("value", " value=\'", 162503, "\'", 162528, 1); 1246 WriteAttributeValue("", 162511, queryZipCodeFrom, 162511, 17, false); 1247 EndWriteAttribute(); 1248 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\""); 1249 BeginWriteAttribute("value", " value=\'", 162618, "\'", 162641, 1); 1250 WriteAttributeValue("", 162626, queryZipCodeTo, 162626, 15, false); 1251 EndWriteAttribute(); 1252 WriteLiteral(@" /> 1253 </div> 1254 </div> 1255 <div class=""col-xs-12 col-md-8""> 1256 <div class=""row no-gutters""> 1257 <div class=""col-xs-12 col-md-6 input-col""> 1258 <div class=""dropdown""> 1259 <button class=""btn btn-dropdown dropdown-toggle reverse js-count"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 1260 "); 1261 Write(Translate("Smartpage:Search.Boligtype", "Boligtype")); 1262 WriteLiteral(@" 1263 </button> 1264 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 1265 <ul class=""bolig-dropdown list-unstyled""> 1266 "); 1267 1268 RenderBoligtypeCheckboxesDropdown(); 1269 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 1270 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 1271 WriteLiteral(@"</button> 1272 </div> 1273 1274 </div> 1275 1276 </div> 1277 <div class=""col-xs-12 col-md-6 input-col""> 1278 <div class=""dropdown""> 1279 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 1280 "); 1281 Write(Translate("Smartpage:Search.Pris", "Pris")); 1282 WriteLiteral(@" 1283 </button> 1284 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris""> 1285 <input type=""text"" name=""pricemin"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input"""); 1286 BeginWriteAttribute("placeholder", " placeholder=\'", 164883, "\'", 164960, 1); 1287 WriteAttributeValue("", 164897, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 164897, 63, false); 1288 EndWriteAttribute(); 1289 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1290 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")); 1291 WriteLiteral("</option>\r\n"); 1292 for (var i = 0; i <= 10000000; i += 100000) 1293 { 1294 if (i == 10000000) 1295 { 1296 WriteLiteral(" <option"); 1297 BeginWriteAttribute("value", " value=\"", 165597, "\"", 165607, 1); 1298 WriteAttributeValue("", 165605, i, 165605, 2, false); 1299 EndWriteAttribute(); 1300 WriteLiteral(" data-value=\'"); 1301 Write(Converter.ToInt32(i).ToString("N0")); 1302 WriteLiteral("+\'>"); 1303 Write(Converter.ToInt32(i).ToString("N0")); 1304 WriteLiteral("+</option>\r\n"); 1305 } 1306 else 1307 { 1308 WriteLiteral(" <option"); 1309 BeginWriteAttribute("value", " value=\"", 165939, "\"", 165949, 1); 1310 WriteAttributeValue("", 165947, i, 165947, 2, false); 1311 EndWriteAttribute(); 1312 WriteLiteral(" data-value=\'"); 1313 Write(Converter.ToInt32(i).ToString("N0")); 1314 WriteLiteral("\'>"); 1315 Write(Converter.ToInt32(i).ToString("N0")); 1316 WriteLiteral("</option>\r\n"); 1317 } 1318 } 1319 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\""); 1320 BeginWriteAttribute("placeholder", " placeholder=\'", 166355, "\'", 166432, 1); 1321 WriteAttributeValue("", 166369, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 166369, 63, false); 1322 EndWriteAttribute(); 1323 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1324 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")); 1325 WriteLiteral("</option>\r\n"); 1326 for (var i = 0; i <= 10000000; i += 100000) 1327 { 1328 if (i == 10000000) 1329 { 1330 WriteLiteral(" <option"); 1331 BeginWriteAttribute("value", " value=\"", 167063, "\"", 167073, 1); 1332 WriteAttributeValue("", 167071, i, 167071, 2, false); 1333 EndWriteAttribute(); 1334 WriteLiteral(" data-value=\'"); 1335 Write(Converter.ToInt32(i).ToString("N0")); 1336 WriteLiteral("+\'>"); 1337 Write(Converter.ToInt32(i).ToString("N0")); 1338 WriteLiteral("+</option>\r\n"); 1339 } 1340 else 1341 { 1342 WriteLiteral(" <option"); 1343 BeginWriteAttribute("value", " value=\"", 167405, "\"", 167415, 1); 1344 WriteAttributeValue("", 167413, i, 167413, 2, false); 1345 EndWriteAttribute(); 1346 WriteLiteral(" data-value=\'"); 1347 Write(Converter.ToInt32(i).ToString("N0")); 1348 WriteLiteral("\'>"); 1349 Write(Converter.ToInt32(i).ToString("N0")); 1350 WriteLiteral("</option>\r\n"); 1351 } 1352 } 1353 WriteLiteral(@" </select> 1354 </div> 1355 </div> 1356 </div> 1357 </div> 1358 </div> 1359 <div class=""col-xs-12 col-md-4 d-none d-md-block""> 1360 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1361 Write(Translate("Smartpage:Search.Søg", "Søg")); 1362 WriteLiteral(@"</button> 1363 </div> 1364 </div> 1365 1366 <div class=""row moresearch-btn no-gutters""> 1367 <div class=""col-sm-12""> 1368 <div class=""row align-items-center no-gutters""> 1369 <div class=""col-12 col-md-5""> 1370 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch-master""> 1371 <span class=""moreSearch-text""><i class=""fas fa-plus open-close white""></i> <span class=""not-open white"">"); 1372 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")); 1373 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> "); 1374 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt")); 1375 WriteLiteral(" </span></span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-md-3 mb-xs-4\">\r\n <a class=\"js-reset reset-btn white\">"); 1376 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg")); 1377 WriteLiteral(@"</a> 1378 </div> 1379 <div class=""col-6 col-md-4 mb-xs-4""> 1380 <div class=""parent-purchases""> 1381 <label class=""checkbox-container white""> 1382 "); 1383 Write(Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet")); 1384 WriteLiteral(@" 1385 <input type=""checkbox"" name=""foraeldrekoebegnet"" value=""true"" class=""js-input-check""> 1386 <span class=""checkmark grey""></span> 1387 </label> 1388 </div> 1389 </div> 1390 </div> 1391 1392 <div class=""collapse"" id=""moreSearch-master""> 1393 1394 <h4 class=""mt-20""><b>"); 1395 Write(Translate("Smartpage:Search.Bolig", "Bolig")); 1396 WriteLiteral(@"</b></h4> 1397 <div class=""row align-items-end mb-30""> 1398 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1399 <div class=""filter-container row""> 1400 <label class=""d-block col-12"">"); 1401 Write(Translate("Smartpage:Search.Boligareal", "Boligareal")); 1402 WriteLiteral(@"</label> 1403 <div class=""col-6 pr-sm-0 pr-2""> 1404 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count"""); 1405 BeginWriteAttribute("placeholder", " placeholder=\'", 170872, "\'", 170945, 1); 1406 WriteAttributeValue("", 170886, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 170886, 59, false); 1407 EndWriteAttribute(); 1408 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1409 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 1410 WriteLiteral("</option>\r\n"); 1411 for (var i = 0; i <= 300; i += 10) 1412 { 1413 if (i == 300) 1414 { 1415 WriteLiteral(" <option>"); 1416 Write(i); 1417 WriteLiteral("+</option>\r\n"); 1418 } 1419 else 1420 { 1421 WriteLiteral(" <option>"); 1422 Write(i); 1423 WriteLiteral("</option>\r\n"); 1424 } 1425 } 1426 WriteLiteral(@" </select> 1427 </div> 1428 <div class=""col-6 pl-sm-0 pl-2""> 1429 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count"""); 1430 BeginWriteAttribute("placeholder", " placeholder=\'", 172328, "\'", 172401, 1); 1431 WriteAttributeValue("", 172342, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 172342, 59, false); 1432 EndWriteAttribute(); 1433 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1434 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 1435 WriteLiteral("</option>\r\n"); 1436 for (var i = 0; i <= 300; i += 10) 1437 { 1438 if (i == 300) 1439 { 1440 WriteLiteral(" <option>"); 1441 Write(i); 1442 WriteLiteral("+</option>\r\n"); 1443 } 1444 else 1445 { 1446 WriteLiteral(" <option>"); 1447 Write(i); 1448 WriteLiteral("</option>\r\n"); 1449 } 1450 } 1451 WriteLiteral(@" </select> 1452 </div> 1453 </div> 1454 </div> 1455 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1456 <div class=""filter-container row""> 1457 <label class=""d-block col-12"">"); 1458 Write(Translate("Smartpage:Search.Grundareal", "Grundareal")); 1459 WriteLiteral(@"</label> 1460 <div class=""col-6 pr-sm-0 pr-2""> 1461 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count"""); 1462 BeginWriteAttribute("placeholder", " placeholder=\'", 174180, "\'", 174253, 1); 1463 WriteAttributeValue("", 174194, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 174194, 59, false); 1464 EndWriteAttribute(); 1465 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1466 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 1467 WriteLiteral("</option>\r\n"); 1468 for (var i = 0; i <= 10000; i += 100) 1469 { 1470 if (i == 10000) 1471 { 1472 WriteLiteral(" <option"); 1473 BeginWriteAttribute("value", " value=\"", 174893, "\"", 174922, 1); 1474 WriteAttributeValue("", 174901, Converter.ToInt32(i), 174901, 21, false); 1475 EndWriteAttribute(); 1476 WriteLiteral(">"); 1477 Write(Converter.ToInt32(i).ToString("N0")); 1478 WriteLiteral("+</option>\r\n"); 1479 } 1480 else 1481 { 1482 WriteLiteral(" <option"); 1483 BeginWriteAttribute("value", " value=\"", 175219, "\"", 175248, 1); 1484 WriteAttributeValue("", 175227, Converter.ToInt32(i), 175227, 21, false); 1485 EndWriteAttribute(); 1486 WriteLiteral(">"); 1487 Write(Converter.ToInt32(i).ToString("N0")); 1488 WriteLiteral("</option>\r\n"); 1489 } 1490 } 1491 WriteLiteral(@" </select> 1492 </div> 1493 <div class=""col-6 pl-sm-0 pl-2""> 1494 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count"""); 1495 BeginWriteAttribute("placeholder", " placeholder=\'", 175769, "\'", 175842, 1); 1496 WriteAttributeValue("", 175783, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 175783, 59, false); 1497 EndWriteAttribute(); 1498 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1499 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 1500 WriteLiteral("</option>\r\n"); 1501 for (var i = 0; i <= 10000; i += 100) 1502 { 1503 if (i == 10000) 1504 { 1505 WriteLiteral(" <option"); 1506 BeginWriteAttribute("value", " value=\"", 176473, "\"", 176502, 1); 1507 WriteAttributeValue("", 176481, Converter.ToInt32(i), 176481, 21, false); 1508 EndWriteAttribute(); 1509 WriteLiteral(">"); 1510 Write(Converter.ToInt32(i).ToString("N0")); 1511 WriteLiteral("+</option>\r\n"); 1512 } 1513 else 1514 { 1515 WriteLiteral(" <option"); 1516 BeginWriteAttribute("value", " value=\"", 176799, "\"", 176828, 1); 1517 WriteAttributeValue("", 176807, Converter.ToInt32(i), 176807, 21, false); 1518 EndWriteAttribute(); 1519 WriteLiteral(">"); 1520 Write(Converter.ToInt32(i).ToString("N0")); 1521 WriteLiteral("</option>\r\n"); 1522 } 1523 } 1524 WriteLiteral(@" </select> 1525 </div> 1526 </div> 1527 </div> 1528 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1529 <div class=""filter-container row""> 1530 <label class=""d-block col-12"">Antal rum</label> 1531 1532 <div class=""col-6 pr-sm-0 pr-2""> 1533 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count""> 1534 <option selected=""selected"" disabled=""disabled"">"); 1535 Write(Translate("Smartpage:Search.Placeholder.Min", "Min")); 1536 WriteLiteral(@"</option> 1537 <option value=""1"">1</option> 1538 <option value=""2"">2</option> 1539 <option value=""3"">3</option> 1540 <option value=""4"">4</option> 1541 <option value=""5"">5+</option> 1542 </select> 1543 </div> 1544 <div class=""col-6 pl-sm-0 pl-2""> 1545 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count""> 1546 <option selected=""selected"" disabled=""disabled"">"); 1547 Write(Translate("Smartpage:Search.Placeholder.Max", "Max")); 1548 WriteLiteral(@"</option> 1549 <option value=""1"">1</option> 1550 <option value=""2"">2</option> 1551 <option value=""3"">3</option> 1552 <option value=""4"">4</option> 1553 <option value=""5"">5+</option> 1554 </select> 1555 </div> 1556 </div> 1557 </div> 1558 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1559 <div class=""row""> 1560 <div class=""col-12 pr-2""> 1561 <div class=""filter-container""> 1562 <label class=""d-block"">Energimærke</label> 1563 "); 1564 WriteLiteral(" <select name=\"energylabel\" id=\"energylabel\" class=\"form-control reverse js-energylabel-select js-count\">\r\n <option disabled selected=\"selected\">"); 1565 Write(Translate("Smartpage:Search.Vælg", "Vælg")); 1566 WriteLiteral(@"</option> 1567 <option value=""01"">G</option> 1568 <option value=""02"">F</option> 1569 <option value=""03"">E</option> 1570 <option value=""04"">D</option> 1571 <option value=""05"">C</option> 1572 <option value=""06"">B</option> 1573 <option value=""07"">A</option> 1574 <option value=""08"">A2010</option> 1575 <option value=""09"">A2015</option> 1576 <option value=""10"">A2020+</option> 1577 </select> 1578 </div> 1579 "); 1580 WriteLiteral(@" </div> 1581 </div> 1582 </div> 1583 <div class=""col-12 col-sm-6 col-lg-6 mt-3""> 1584 <h4"); 1585 BeginWriteAttribute("class", " class=\"", 181334, "\"", 181342, 0); 1586 EndWriteAttribute(); 1587 WriteLiteral("><b>"); 1588 Write(Translate("Smartpage:Search.Økonomi", "Økonomi")); 1589 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">"); 1590 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")); 1591 WriteLiteral("</label>\r\n <div class=\"col-6 pr-sm-0 pr-2\">\r\n <input type=\"text\" name=\"subsidymin\" id=\"subsidymin\" class=\"form-control js-subsidymin-frontpage-input js-count\""); 1592 BeginWriteAttribute("placeholder", " placeholder=\'", 181904, "\'", 181971, 1); 1593 WriteAttributeValue("", 181918, Translate("Smartpage:Search.Placeholder.Min", "Min"), 181918, 53, false); 1594 EndWriteAttribute(); 1595 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">"); 1596 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")); 1597 WriteLiteral("</option>\r\n"); 1598 for (var i = 0; i <= 25000; i += 1250) 1599 { 1600 if (i == 25000) 1601 { 1602 WriteLiteral(" <option"); 1603 BeginWriteAttribute("value", " value=\"", 182615, "\"", 182644, 1); 1604 WriteAttributeValue("", 182623, Converter.ToInt32(i), 182623, 21, false); 1605 EndWriteAttribute(); 1606 WriteLiteral(">"); 1607 Write(Converter.ToInt32(i).ToString("N0")); 1608 WriteLiteral("+</option>\r\n"); 1609 } 1610 else 1611 { 1612 WriteLiteral(" <option"); 1613 BeginWriteAttribute("value", " value=\"", 182941, "\"", 182970, 1); 1614 WriteAttributeValue("", 182949, Converter.ToInt32(i), 182949, 21, false); 1615 EndWriteAttribute(); 1616 WriteLiteral(">"); 1617 Write(Converter.ToInt32(i).ToString("N0")); 1618 WriteLiteral("</option>\r\n"); 1619 } 1620 } 1621 WriteLiteral(@" </select> 1622 </div> 1623 <div class=""col-6 pl-sm-0 pl-2""> 1624 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count"""); 1625 BeginWriteAttribute("placeholder", " placeholder=\'", 183482, "\'", 183549, 1); 1626 WriteAttributeValue("", 183496, Translate("Smartpage:Search.Placeholder.Max", "Max"), 183496, 53, false); 1627 EndWriteAttribute(); 1628 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1629 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")); 1630 WriteLiteral("</option>\r\n"); 1631 for (var i = 0; i <= 25000; i += 1250) 1632 { 1633 if (i == 25000) 1634 { 1635 WriteLiteral(" <option"); 1636 BeginWriteAttribute("value", " value=\"", 184189, "\"", 184218, 1); 1637 WriteAttributeValue("", 184197, Converter.ToInt32(i), 184197, 21, false); 1638 EndWriteAttribute(); 1639 WriteLiteral(">"); 1640 Write(Converter.ToInt32(i).ToString("N0")); 1641 WriteLiteral("+</option>\r\n"); 1642 } 1643 else 1644 { 1645 WriteLiteral(" <option"); 1646 BeginWriteAttribute("value", " value=\"", 184515, "\"", 184544, 1); 1647 WriteAttributeValue("", 184523, Converter.ToInt32(i), 184523, 21, false); 1648 EndWriteAttribute(); 1649 WriteLiteral(">"); 1650 Write(Converter.ToInt32(i).ToString("N0")); 1651 WriteLiteral("</option>\r\n"); 1652 } 1653 } 1654 WriteLiteral(@" </select> 1655 </div> 1656 </div> 1657 </div> 1658 <div class=""col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0""> 1659 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1660 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")); 1661 WriteLiteral(@"</button> 1662 </div> 1663 </div> 1664 </div> 1665 </div> 1666 </div> 1667 <div class=""row d-block d-md-none form-wrapper no-gutters""> 1668 <div class=""col-xs-12 col-md-2""> 1669 <button type=""submit"" class=""btn btn-block btn-search dark-red""><i class=""fa fa-search""></i> "); 1670 Write(Translate("Smartpage:Search.Søg", "Søg")); 1671 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n"); 1672 } 1673 WriteLiteral(" </div>\r\n\r\n"); 1674 1675 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning)); 1676 WriteLiteral("\r\n"); 1677 if (isBrokerPage) 1678 { 1679 WriteLiteral(" <section class=\"maegler-navbar\">\r\n "); 1680 Write(RenderNavigation(new 1681 { 1682 id = "navbar-main", 1683 cssclass = "dwnavigation", 1684 template = "ul_li.xslt", 1685 StartLevel = 1, 1686 EndLevel = 1 1687 })); 1688 WriteLiteral("\r\n </section>\r\n"); 1689 } 1690 WriteLiteral("\r\n <div class=\"visual-editor\">\r\n"); 1691 WriteLiteral("\r\n\r\n"); 1692 WriteLiteral("\r\n\r\n"); 1693 WriteLiteral("\r\n"); 1694 1695 int pageId = Model.ID; 1696 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus"); 1697 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles"); 1698 bool showTitle = Model.Item.GetBoolean("ShowTitle"); 1699 bool showFilters = Model.Item.GetBoolean("ShowFilters"); 1700 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter"); 1701 bool showSearch = Model.Item.GetBoolean("ShowSearch"); 1702 string dynamicListWidth = enablePopular ? "8" : "12"; 1703 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle"; 1704 1705 Dictionary<string, string> categoriesList = new Dictionary<string, string>(); 1706 categoriesList.Add(Translate("All"), ""); 1707 1708 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId)) 1709 { 1710 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any()) 1711 { 1712 categoriesList.Add(page.GetDisplayName(), page.ID.ToString()); 1713 } 1714 } 1715 1716 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields; 1717 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : ""; 1718 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : ""; 1719 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : ""; 1720 1721 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null; 1722 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null; 1723 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null; 1724 1725 Block listPageContainer = new Block 1726 { 1727 Id = "ArticleListPageContainer", 1728 SortId = 10, 1729 Design = new Design 1730 { 1731 RenderType = RenderType.Row 1732 }, 1733 BlocksList = new List<Block> { 1734 new Block { 1735 Id = "ArticleListPageHeader", 1736 SortId = 20, 1737 Design = new Design 1738 { 1739 RenderType = RenderType.Column, 1740 Size = "12" 1741 }, 1742 BlocksList = new List<Block> { 1743 new Block { 1744 Id = "ArticleListPageHeaderRow", 1745 SortId = 10, 1746 Design = new Design 1747 { 1748 RenderType = RenderType.Row 1749 }, 1750 BlocksList = new List<Block> { 1751 new Block { 1752 Id = "ArticleListFilters", 1753 SortId = 30, 1754 Design = new Design { 1755 RenderType = RenderType.Column, 1756 Size = "10", 1757 CssClass = "grid__cell" 1758 } 1759 } 1760 } 1761 } 1762 } 1763 } 1764 } 1765 }; 1766 articleListPage.Add(listPageContainer); 1767 1768 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") { 1769 Block listFilters = articleListPage.GetBlockById("ArticleListFilters"); 1770 listFilters.Template = RenderMobileFilters(listFilters.BlocksList); 1771 listFilters.SkipRenderBlocksList = true; 1772 } 1773 1774 if (showTitle) { 1775 Block titleBlock = new Block 1776 { 1777 Id = "ArticleListTitle", 1778 SortId = 10, 1779 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 }, 1780 Design = new Design 1781 { 1782 RenderType = RenderType.Column, 1783 Size = "2" 1784 } 1785 }; 1786 articleListPage.Add("ArticleListPageHeaderRow", titleBlock); 1787 } 1788 1789 if (showSearch) 1790 { 1791 Block searchFilter = new Block 1792 { 1793 Id = "ArticleListSearch", 1794 SortId = 10, 1795 Component = new ArticleListSearch { } 1796 }; 1797 articleListPage.Add("ArticleListFilters", searchFilter); 1798 } 1799 1800 if (showCategoryFilter) 1801 { 1802 Block categoryFilter = new Block 1803 { 1804 Id = "ArticleListCategoryFilter", 1805 SortId = 20, 1806 Component = new ArticleListCategoryFilter { Categories = categoriesList } 1807 }; 1808 articleListPage.Add("ArticleListFilters", categoryFilter); 1809 } 1810 1811 Block listBody = new Block 1812 { 1813 Id = "ArticleListPageBody", 1814 SortId = 30, 1815 Design = new Design 1816 { 1817 RenderType = RenderType.Column, 1818 Size = dynamicListWidth 1819 } 1820 }; 1821 articleListPage.Add("ArticleListPageContainer", listBody); 1822 1823 Block listBodyRow = new Block 1824 { 1825 Id = "ArticleListPageBodyRow", 1826 SortId = 10, 1827 Design = new Design 1828 { 1829 RenderType = RenderType.Row 1830 } 1831 }; 1832 articleListPage.Add("ArticleListPageBody", listBodyRow); 1833 1834 if (enableArticlesInFocus) { 1835 Block listInFocus = new Block 1836 { 1837 Id = "ArticleListInFocus", 1838 SortId = 10, 1839 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType }, 1840 Design = new Design 1841 { 1842 RenderType = RenderType.Column, 1843 Size = "12", 1844 HidePadding = true 1845 } 1846 }; 1847 articleListPage.Add("ArticleListPageBodyRow", listInFocus); 1848 } 1849 1850 Block listMain = new Block 1851 { 1852 Id = "ArticleListMain", 1853 SortId = 20, 1854 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType }, 1855 Design = new Design 1856 { 1857 RenderType = RenderType.Column, 1858 Size = "12", 1859 HidePadding = true 1860 } 1861 }; 1862 articleListPage.Add("ArticleListPageBodyRow", listMain); 1863 1864 if (enablePopular) 1865 { 1866 Block listPopular = new Block 1867 { 1868 Id = "ArticleListPopular", 1869 SortId = 30, 1870 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType }, 1871 Design = new Design 1872 { 1873 RenderType = RenderType.Column, 1874 Size = "4", 1875 CssClass = "u-padding--lg" 1876 } 1877 }; 1878 articleListPage.Add("ArticleListPageContainer", listPopular); 1879 } 1880 1881 if (showFilters) { 1882 if (filterOneOptions != null) 1883 { 1884 Block filterOne = new Block 1885 { 1886 Id = "ArticleListFilterOne", 1887 SortId = 30, 1888 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" } 1889 }; 1890 articleListPage.Add("ArticleListFilters", filterOne); 1891 } 1892 1893 if (filterTwoOptions != null) 1894 { 1895 Block filterTwo = new Block 1896 { 1897 Id = "ArticleListFilterTwo", 1898 SortId = 40, 1899 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" } 1900 }; 1901 articleListPage.Add("ArticleListFilters", filterTwo); 1902 } 1903 1904 if (filterThreeOptions != null) 1905 { 1906 Block filterThree = new Block 1907 { 1908 Id = "ArticleListFilterThree", 1909 SortId = 50, 1910 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" } 1911 }; 1912 articleListPage.Add("ArticleListFilters", filterThree); 1913 } 1914 } 1915 WriteLiteral("\r\n\r\n"); 1916 WriteLiteral("\r\n"); 1917 Write(RenderBlockList(articleListPage.BlocksRoot.BlocksList)); 1918 WriteLiteral("\r\n\r\n\r\n<script>\r\n document.getElementById(\"Page\").classList.add(\"u-color-light-gray--bg\");\r\n</script>\r\n </div>\r\n\r\n"); 1919 if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true) 1920 { 1921 string bName = MyBroker.Broker.Name; 1922 string bClass = "na"; 1923 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png"; 1924 1925 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName)) 1926 { 1927 bName = MyBroker.Broker.CompanyName; 1928 } 1929 try 1930 { 1931 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl"); 1932 if (!string.IsNullOrEmpty(imgUrl)) 1933 { 1934 bImage = imgUrl; 1935 bClass = ""; 1936 } 1937 } 1938 catch 1939 { 1940 // Ignore 1941 } 1942 1943 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId"); 1944 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer"); 1945 1946 WriteLiteral(" <section class=\"din-maegler\">\r\n <div"); 1947 BeginWriteAttribute("class", " class=\"", 196424, "\"", 196451, 2); 1948 WriteAttributeValue("", 196432, "img-wrapper", 196432, 11, true); 1949 WriteAttributeValue(" ", 196443, bClass, 196444, 7, false); 1950 EndWriteAttribute(); 1951 BeginWriteAttribute("style", " style=\"", 196452, "\"", 196491, 3); 1952 WriteAttributeValue("", 196460, "background-image:url(\'", 196460, 22, true); 1953 WriteAttributeValue("", 196482, bImage, 196482, 7, false); 1954 WriteAttributeValue("", 196489, "\')", 196489, 2, true); 1955 EndWriteAttribute(); 1956 WriteLiteral(@"></div> 1957 <div class=""container""> 1958 <div class=""col-12 col-sm-12 col-md-6 offset-md-6""> 1959 <h2>Din personlige mægler</h2> 1960 <div class=""row""> 1961 <div class=""col-12 col-sm-6""> 1962 <p> 1963 <b class=""my-broker-name"">"); 1964 Write(MyBroker.Employee.Name); 1965 WriteLiteral("</b><br>\r\n"); 1966 if (!string.IsNullOrEmpty(MyBroker.Employee.Email)) 1967 { 1968 WriteLiteral("Mail: <a"); 1969 BeginWriteAttribute("href", " href=\"", 197048, "\"", 197108, 2); 1970 WriteAttributeValue("", 197055, "mailto:", 197055, 7, true); 1971 WriteAttributeValue("", 197062, ExtractMaskedEmail(MyBroker.Employee.Email), 197062, 46, false); 1972 EndWriteAttribute(); 1973 WriteLiteral(" class=\"my-broker-email\">"); 1974 Write(ExtractMaskedEmail(MyBroker.Employee.Email)); 1975 WriteLiteral("</a><br>"); 1976 1977 } 1978 if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile)) 1979 { 1980 WriteLiteral("Tlf.: <a"); 1981 BeginWriteAttribute("href", " href=\"", 197407, "\"", 197450, 2); 1982 WriteAttributeValue("", 197414, "tel:", 197414, 4, true); 1983 WriteAttributeValue("", 197418, MyBroker.Employee.PhoneMobile, 197418, 32, false); 1984 EndWriteAttribute(); 1985 WriteLiteral(" class=\"my-broker-phone\">"); 1986 Write(FormatPhoneNumber(MyBroker.Employee.PhoneMobile)); 1987 WriteLiteral("</a>"); 1988 1989 } 1990 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 1991 { 1992 WriteLiteral("Tlf.: <a"); 1993 BeginWriteAttribute("href", " href=\"", 197750, "\"", 197789, 2); 1994 WriteAttributeValue("", 197757, "tel:", 197757, 4, true); 1995 WriteAttributeValue("", 197761, MyBroker.Broker.Telephone, 197761, 28, false); 1996 EndWriteAttribute(); 1997 WriteLiteral(" class=\"my-broker-phone\">"); 1998 Write(FormatPhoneNumber(MyBroker.Broker.Telephone)); 1999 WriteLiteral("</a>"); 2000 2001 } 2002 WriteLiteral(" </p>\r\n </div>\r\n <div class=\"col-12 col-sm-6\">\r\n <p>\r\n <b class=\"my-broker-company-name\">"); 2003 Write(bName); 2004 WriteLiteral("</b><br>\r\n <span class=\"my-broker-company-address\">"); 2005 Write(MyBroker.Broker.Address); 2006 WriteLiteral("</span><br>\r\n <span class=\"my-broker-company-zip\">"); 2007 Write(MyBroker.Broker.ZipCode); 2008 WriteLiteral("</span> <span class=\"my-broker-company-city\">"); 2009 Write(MyBroker.Broker.City); 2010 WriteLiteral("</span><br>\r\n"); 2011 if (!string.IsNullOrEmpty(bEmail)) 2012 { 2013 WriteLiteral("Mail: <a"); 2014 BeginWriteAttribute("href", " href=\"", 198578, "\"", 198601, 2); 2015 WriteAttributeValue("", 198585, "mailto:", 198585, 7, true); 2016 WriteAttributeValue("", 198592, bEmail, 198592, 9, false); 2017 EndWriteAttribute(); 2018 WriteLiteral(" class=\"my-broker-broker-email\">"); 2019 Write(bEmail); 2020 WriteLiteral("</a><br>"); 2021 2022 } 2023 if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 2024 { 2025 WriteLiteral("Tlf.: <a"); 2026 BeginWriteAttribute("href", " href=\"", 198866, "\"", 198905, 2); 2027 WriteAttributeValue("", 198873, "tel:", 198873, 4, true); 2028 WriteAttributeValue("", 198877, MyBroker.Broker.Telephone, 198877, 28, false); 2029 EndWriteAttribute(); 2030 WriteLiteral(" class=\"my-broker-broker-phone\">"); 2031 Write(FormatPhoneNumber(MyBroker.Broker.Telephone)); 2032 WriteLiteral("</a>"); 2033 2034 } 2035 WriteLiteral(" </p>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <br />\r\n <div class=\"col-12 col-sm-6\">\r\n <a"); 2036 BeginWriteAttribute("href", " href=\"", 199281, "\"", 199316, 2); 2037 WriteAttributeValue("", 199288, "/", 199288, 1, true); 2038 WriteAttributeValue("", 199289, medlemsnummer.Substring(1), 199289, 27, false); 2039 EndWriteAttribute(); 2040 WriteLiteral(" class=\"btn btn-primary btn-block my-broker-company-url\">Til mæglerens side</a>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n"); 2041 } 2042 WriteLiteral(" <footer>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n"); 2043 2044 var navigationSettings = new NavigationSettings(); 2045 navigationSettings.StartLevel = 1; 2046 navigationSettings.StopLevel = 3; 2047 navigationSettings.ExpandMode = ExpandMode.All; 2048 navigationSettings.RootAreaId = 1; 2049 navigationSettings.RootNavigationTag = "footer-nav"; 2050 2051 WriteLiteral(" "); 2052 Write(Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings)); 2053 WriteLiteral("\r\n </div>\r\n </div>\r\n </footer>\r\n\r\n"); 2054 if (Model.CurrentUser?.ID <= 0) 2055 { 2056 WriteLiteral(" <div id=\"panel-login\" class=\"panel panel-form\">\r\n <button type=\"button\" class=\"close\" data-dismiss=\"panel-form\" aria-label=\"Close\">\r\n <b></b>\r\n </button>\r\n <div class=\"loginform login\">\r\n"); 2057 if (loginParagraphId > 0) 2058 { 2059 WriteLiteral("\r\n "); 2060 Write(RenderParagraphContent(loginParagraphId)); 2061 WriteLiteral("\r\n "); 2062 2063 } 2064 WriteLiteral(" </div>\r\n <div class=\"loginform register js-register-form-wrapper\" style=\"display: none;\">\r\n"); 2065 if (createUserParagraphId > 0) 2066 { 2067 WriteLiteral("\r\n "); 2068 Write(RenderParagraphContent(createUserParagraphId)); 2069 WriteLiteral("\r\n "); 2070 2071 } 2072 WriteLiteral(" </div>\r\n <div class=\"loginform forgotpw\" style=\"display: none;\">\r\n <h2 class=\"forgotpw-reg\">"); 2073 Write(Translate("forgot-pw-reg-title", "Glemt adgangskode")); 2074 WriteLiteral("</h2>\r\n <h2 class=\"forgotpw-broker\">"); 2075 Write(Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")); 2076 WriteLiteral("</h2>\r\n <form id=\"forgotPwForm\" class=\"form-body\" method=\"post\""); 2077 BeginWriteAttribute("action", " action=\"", 201379, "\"", 201388, 0); 2078 EndWriteAttribute(); 2079 WriteLiteral(">\r\n <input type=\"hidden\" id=\"AccessUserShopID\" name=\"AccessUserShopID\" value=\"SHOP6\" />\r\n <p class=\"forgotpw-reg\">"); 2080 Write(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.")); 2081 WriteLiteral("</p>\r\n <p class=\"forgotpw-broker\">"); 2082 Write(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.")); 2083 WriteLiteral(@"</p> 2084 <div class=""form-group""> 2085 <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 /> 2086 </div> 2087 <button class=""btn btn-primary btn-block"" type=""submit"">"); 2088 Write(Translate("forgot-pw-cta", "Nulstil adgangskode")); 2089 WriteLiteral("</button>\r\n <br />\r\n <div id=\"submitMessage\"></div>\r\n </form>\r\n </div>\r\n </div>\r\n"); 2090 } 2091 WriteLiteral("\r\n"); 2092 WriteLiteral("\r\n"); 2093 2094 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"); 2095 WriteLiteral("\r\n<div id=\"panel-kontakt-koeberraadgivning\" class=\"panel panel-form\">\r\n <button type=\"button\" class=\"close\" data-dismiss=\"panel-form\" aria-label=\"Close\">\r\n <b></b>\r\n </button>\r\n <h2>"); 2096 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")); 2097 WriteLiteral("</h2>\r\n <form id=\"form-koeberraadgivning\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>"); 2098 Write(Translate("form-navn", "Navn")); 2099 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\" tabindex=\"1\""); 2100 BeginWriteAttribute("placeholder", " placeholder=\'", 203628, "\'", 203710, 1); 2101 WriteAttributeValue("", 203642, Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn"), 203642, 68, false); 2102 EndWriteAttribute(); 2103 BeginWriteAttribute("value", " value=\'", 203711, "\'", 203750, 1); 2104 WriteAttributeValue("", 203719, UserContext.Current.User?.Name, 203719, 31, false); 2105 EndWriteAttribute(); 2106 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2107 Write(Translate("form-email", "E-mail")); 2108 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" tabindex=\"2\" pattern=\"[_a-z0-9.%+-]+&#64;[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\""); 2109 BeginWriteAttribute("placeholder", " placeholder=\'", 204027, "\'", 204112, 1); 2110 WriteAttributeValue("", 204041, Translate("Smartpage:Kontakt.Placeholder.Email", "Indtast din e-mail"), 204041, 71, false); 2111 EndWriteAttribute(); 2112 BeginWriteAttribute("value", " value=\'", 204113, "\'", 204153, 1); 2113 WriteAttributeValue("", 204121, UserContext.Current.User?.Email, 204121, 32, false); 2114 EndWriteAttribute(); 2115 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2116 Write(Translate("form-mobile", "Mobil nr.")); 2117 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"3\" maxlength=\"20\" name=\"mobile\""); 2118 BeginWriteAttribute("placeholder", " placeholder=\'", 204464, "\'", 204549, 1); 2119 WriteAttributeValue("", 204478, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 204478, 71, false); 2120 EndWriteAttribute(); 2121 BeginWriteAttribute("value", " value=\'", 204550, "\'", 204590, 1); 2122 WriteAttributeValue("", 204558, UserContext.Current.User?.Phone, 204558, 32, false); 2123 EndWriteAttribute(); 2124 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2125 Write(Translate("form-telephone", "Telefon nr.")); 2126 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"4\" maxlength=\"20\" name=\"telefonnummer\""); 2127 BeginWriteAttribute("placeholder", " placeholder=\'", 204873, "\'", 204957, 1); 2128 WriteAttributeValue("", 204887, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 204887, 70, false); 2129 EndWriteAttribute(); 2130 BeginWriteAttribute("value", " value=\'", 204958, "\'", 204999, 1); 2131 WriteAttributeValue("", 204966, UserContext.Current?.User?.Phone, 204966, 33, false); 2132 EndWriteAttribute(); 2133 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <h3>"); 2134 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")); 2135 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2136 Write(Translate("form-zip", "Post nr")); 2137 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\" tabindex=\"5\""); 2138 BeginWriteAttribute("placeholder", " placeholder=\'", 205407, "\'", 205485, 1); 2139 WriteAttributeValue("", 205421, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 205421, 64, false); 2140 EndWriteAttribute(); 2141 BeginWriteAttribute("value", " value=\"", 205486, "\"", 205502, 1); 2142 WriteAttributeValue("", 205494, userZip, 205494, 8, false); 2143 EndWriteAttribute(); 2144 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2145 Write(Translate("form-city", "By")); 2146 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-city\" type=\"text\" readonly />\r\n </div>\r\n </div>\r\n <div class=\"form-group overflow-unset\">\r\n <label><strong>"); 2147 Write(Translate("form-adresse", "Adresse")); 2148 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\" tabindex=\"6\""); 2149 BeginWriteAttribute("placeholder", " placeholder=\'", 206069, "\'", 206159, 1); 2150 WriteAttributeValue("", 206083, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 206083, 76, false); 2151 EndWriteAttribute(); 2152 WriteLiteral(" required />\r\n\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2153 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2154 WriteLiteral(@"</label> 2155 </div> 2156 <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""> 2157 <strong class=""f-12""><i class=""fas fa-plus""></i> "); 2158 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")); 2159 WriteLiteral("</strong>\r\n </button>\r\n <div class=\"collapse\" id=\"kontaktkoeberrradgiver-collapse\">\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\""); 2160 BeginWriteAttribute("placeholder", " placeholder=\'", 206953, "\'", 207031, 1); 2161 WriteAttributeValue("", 206967, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 206967, 64, false); 2162 EndWriteAttribute(); 2163 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <button type=\"submit\" class=\"btn btn-green btn-block\">"); 2164 Write(Translate("KontaktMægler", "Kontakt Mægler")); 2165 WriteLiteral(@"</button> 2166 </div> 2167 </div> 2168 </div> 2169 <div class=""form-group mt-3""> 2170 <div class=""checkbox""> 2171 <label> 2172 <input type=""checkbox"" name=""kontaktmigok"" required /> 2173 2174 <span>"); 2175 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2176 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2177 Write(privacyPolicyText); 2178 WriteLiteral(" <a"); 2179 BeginWriteAttribute("href", " href=\"", 207844, "\"", 207868, 2); 2180 WriteAttributeValue("", 207851, "mailto:", 207851, 7, true); 2181 WriteAttributeValue("", 207858, termsMail, 207858, 10, false); 2182 EndWriteAttribute(); 2183 WriteLiteral(">"); 2184 Write(termsMail); 2185 WriteLiteral("</a>.\r\n Læs mere på <a"); 2186 BeginWriteAttribute("href", " href=\"", 207913, "\"", 207947, 1); 2187 WriteAttributeValue("", 207920, settings_Persondatapolitik, 207920, 27, false); 2188 EndWriteAttribute(); 2189 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n\r\n <input type=\"hidden\" name=\"fn\" value=\"krk\" />\r\n <input type=\"hidden\" name=\"origin\""); 2190 BeginWriteAttribute("value", " value=\"", 208093, "\"", 208101, 0); 2191 EndWriteAttribute(); 2192 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2193 BeginWriteAttribute("value", " value=\"", 208151, "\"", 208159, 0); 2194 EndWriteAttribute(); 2195 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2196 BeginWriteAttribute("value", " value=\"", 208207, "\"", 208231, 1); 2197 WriteAttributeValue("", 208215, Pageview.AreaID, 208215, 16, false); 2198 EndWriteAttribute(); 2199 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\""); 2200 BeginWriteAttribute("value", " value=\"", 208280, "\"", 208296, 1); 2201 WriteAttributeValue("", 208288, butikId, 208288, 8, false); 2202 EndWriteAttribute(); 2203 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2204 BeginWriteAttribute("value", " value=\"", 208350, "\"", 208358, 0); 2205 EndWriteAttribute(); 2206 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2207 BeginWriteAttribute("value", " value=\"", 208409, "\"", 208417, 0); 2208 EndWriteAttribute(); 2209 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2210 BeginWriteAttribute("value", " value=\"", 208467, "\"", 208475, 0); 2211 EndWriteAttribute(); 2212 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-advisor\" style=\"display:none;\">\r\n <h2>"); 2213 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2214 WriteLiteral("</h2>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2215 BeginWriteAttribute("src", " src=\"", 208708, "\"", 208714, 0); 2216 EndWriteAttribute(); 2217 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2218 </div> 2219 <div class=""col-6""> 2220 <p class=""js-maegler-name""></p> 2221 <p class=""js-maegler-address""></p> 2222 <p class=""js-maegler-phone""></p> 2223 <p class=""js-maegler-mail""></p> 2224 </div> 2225 </div> 2226 <p>"); 2227 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2228 WriteLiteral(@"</p> 2229 </div> 2230 </div> 2231 2232 <!--ÅBENT HUS--> 2233 <div id=""panel-aabenthus"" class=""panel panel-form""> 2234 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2235 <b></b> 2236 </button> 2237 2238 2239 <form id=""form-aabenthus"" method=""POST"" action=""/InboxHandler""> 2240 <h2>"); 2241 Write(Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")); 2242 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>"); 2243 Write(Translate("Smarptage:Adresse", "Adresse:")); 2244 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>"); 2245 Write(Translate("Smarptage:Date", "Dato:")); 2246 WriteLiteral("</strong> <label class=\"js-aabenthus-date mb-0\"></label>\r\n </div>\r\n <div class=\"d-block mb-4\">\r\n <strong>"); 2247 Write(Translate("Smarptage:Time", "Tidspunkt:")); 2248 WriteLiteral("</strong> <label class=\"js-aabenthus-time mb-0\"></label>\r\n </div>\r\n <h3>"); 2249 Write(Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")); 2250 WriteLiteral("</h3>\r\n <div class=\"form-group\">\r\n <label for=\"aabenthus-name\"><strong>"); 2251 Write(Translate("form-navn", "Navn")); 2252 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2253 BeginWriteAttribute("placeholder", " placeholder=\'", 210332, "\'", 210416, 1); 2254 WriteAttributeValue("", 210346, Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn"), 210346, 70, false); 2255 EndWriteAttribute(); 2256 BeginWriteAttribute("value", " value=\'", 210417, "\'", 210457, 1); 2257 WriteAttributeValue("", 210425, UserContext.Current?.User?.Name, 210425, 32, false); 2258 EndWriteAttribute(); 2259 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2260 Write(Translate("form-email", "E-mail")); 2261 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+&#64;[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\""); 2262 BeginWriteAttribute("placeholder", " placeholder=\'", 210721, "\'", 210808, 1); 2263 WriteAttributeValue("", 210735, Translate("Smartpage:Aabenthus.Placeholder.Email", "Indtast din e-mail"), 210735, 73, false); 2264 EndWriteAttribute(); 2265 BeginWriteAttribute("value", " value=\'", 210809, "\'", 210849, 1); 2266 WriteAttributeValue("", 210817, UserContext.Current.User?.Email, 210817, 32, false); 2267 EndWriteAttribute(); 2268 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2269 Write(Translate("form-mobile", "Mobil nr.")); 2270 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2271 BeginWriteAttribute("placeholder", " placeholder=\'", 211142, "\'", 211229, 1); 2272 WriteAttributeValue("", 211156, Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr."), 211156, 73, false); 2273 EndWriteAttribute(); 2274 BeginWriteAttribute("value", " value=\'", 211230, "\'", 211270, 1); 2275 WriteAttributeValue("", 211238, UserContext.Current.User?.Phone, 211238, 32, false); 2276 EndWriteAttribute(); 2277 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2278 Write(Translate("form-telephone", "Telefon nr.")); 2279 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2280 BeginWriteAttribute("placeholder", " placeholder=\'", 211540, "\'", 211626, 1); 2281 WriteAttributeValue("", 211554, Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr."), 211554, 72, false); 2282 EndWriteAttribute(); 2283 BeginWriteAttribute("value", " value=\'", 211627, "\'", 211667, 1); 2284 WriteAttributeValue("", 211635, UserContext.Current.User?.Phone, 211635, 32, false); 2285 EndWriteAttribute(); 2286 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <button type=\"submit\" class=\"btn btn-block btn-green\">"); 2287 Write(Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")); 2288 WriteLiteral(@"</button> 2289 </div> 2290 </div> 2291 </div> 2292 <div class=""form-group""> 2293 <div class=""checkbox""> 2294 <label> 2295 <input type=""checkbox"" name=""kontaktmigok"" required /> 2296 2297 <span class=""base-color"">"); 2298 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2299 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n "); 2300 Write(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>")); 2301 WriteLiteral("\r\n\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"ah\" />\r\n <input type=\"hidden\" name=\"origin\""); 2302 BeginWriteAttribute("value", " value=\"", 212830, "\"", 212838, 0); 2303 EndWriteAttribute(); 2304 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2305 BeginWriteAttribute("value", " value=\"", 212888, "\"", 212903, 1); 2306 WriteAttributeValue("", 212896, userID, 212896, 7, false); 2307 EndWriteAttribute(); 2308 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2309 BeginWriteAttribute("value", " value=\"", 212951, "\"", 212975, 1); 2310 WriteAttributeValue("", 212959, Pageview.AreaID, 212959, 16, false); 2311 EndWriteAttribute(); 2312 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\""); 2313 BeginWriteAttribute("value", " value=\"", 213024, "\"", 213040, 1); 2314 WriteAttributeValue("", 213032, butikId, 213032, 8, false); 2315 EndWriteAttribute(); 2316 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsaddresse\""); 2317 BeginWriteAttribute("value", " value=\"", 213094, "\"", 213102, 0); 2318 EndWriteAttribute(); 2319 WriteLiteral(" class=\"js-aabenthus-address-input\" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2320 BeginWriteAttribute("value", " value=\"", 213191, "\"", 213199, 0); 2321 EndWriteAttribute(); 2322 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2323 BeginWriteAttribute("value", " value=\"", 213250, "\"", 213258, 0); 2324 EndWriteAttribute(); 2325 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2326 BeginWriteAttribute("value", " value=\"", 213308, "\"", 213316, 0); 2327 EndWriteAttribute(); 2328 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2329 BeginWriteAttribute("value", " value=\"", 213366, "\"", 213374, 0); 2330 EndWriteAttribute(); 2331 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsnr\""); 2332 BeginWriteAttribute("value", " value=\"", 213422, "\"", 213430, 0); 2333 EndWriteAttribute(); 2334 WriteLiteral(" class=\"js-sagsnr\" />\r\n <input type=\"hidden\" name=\"productId\""); 2335 BeginWriteAttribute("value", " value=\"", 213499, "\"", 213555, 1); 2336 WriteAttributeValue("", 213507, Dynamicweb.Context.Current.Request["ProductId"], 213507, 48, false); 2337 EndWriteAttribute(); 2338 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"aftaleid\""); 2339 BeginWriteAttribute("value", " value=\"", 213605, "\"", 213613, 0); 2340 EndWriteAttribute(); 2341 WriteLiteral(@" class=""js-aftaleid"" /> 2342 2343 <input type=""hidden"" name=""dateMail"" class=""js-aabenthus-date-input"" /> 2344 <input type=""hidden"" name=""timeMail"" class=""js-aabenthus-time-input"" /> 2345 <input type=""hidden"" name=""brokerImageMail"" class=""property-broker-image-input"" /> 2346 <input type=""hidden"" name=""employeeNameMail"" class=""js-maegler-employee-name-input"" /> 2347 <input type=""hidden"" name=""employeeTitleMail"" class=""js-maegler-employee-title-input"" /> 2348 <input type=""hidden"" name=""employeeMailMail"" class=""js-maegler-mail-input"" /> 2349 <input type=""hidden"" name=""employeeMobileMail"" class=""js-maegler-mobile-input"" /> 2350 <input type=""hidden"" name=""employeePhoneMail"" class=""js-maegler-phone-input"" /> 2351 2352 <input type=""hidden"" name=""brokerNameMail"" class=""js-broker-name-input"" /> 2353 <input type=""hidden"" name=""brokerAddressMail"" class=""js-broker-address-input"" /> 2354 <input type=""hidden"" name=""brokerPhoneMail"" class=""js-broker-phone-input"" /> 2355 </form> 2356 <di"); 2357 WriteLiteral("v id=\"tak-aabenthus\" style=\"display:none;\">\r\n <h2>"); 2358 Write(Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")); 2359 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>"); 2360 Write(Translate("Smarptage:Adresse", "Adresse:")); 2361 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>"); 2362 Write(Translate("Smarptage:Date", "Dato:")); 2363 WriteLiteral("</strong> <label class=\"js-aabenthus-date mb-0\"></label>\r\n\r\n </div>\r\n <div class=\"d-block mb-4\">\r\n <strong>"); 2364 Write(Translate("Smarptage:Time", "Tidspunkt:")); 2365 WriteLiteral("</strong> <label class=\"js-aabenthus-time mb-0\"></label>\r\n\r\n </div>\r\n\r\n <div class=\"js-employee\">\r\n <p>"); 2366 Write(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>")); 2367 WriteLiteral("</p>\r\n </div>\r\n <div class=\"js-not-employee\">\r\n <p>"); 2368 Write(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")); 2369 WriteLiteral("</p>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"js-employee\">\r\n <div class=\"col-12 js-maegler-img aabenthus-image\">\r\n <div class=\"property-broker-image\""); 2370 BeginWriteAttribute("style", " style=\"", 216005, "\"", 216013, 0); 2371 EndWriteAttribute(); 2372 WriteLiteral(@"></div> 2373 2374 </div> 2375 </div> 2376 <div class=""col-12""> 2377 <div class=""bg-base""> 2378 2379 <div class=""js-employee""> 2380 <h4 class=""js-maegler-employee-name""></h4> 2381 <div class=""icon-container""> 2382 <i class=""fas fa-envelope""></i> <span class=""js-maegler-mail""></span> 2383 </div> 2384 <div class=""icon-container""> 2385 <i class=""fas fa-phone""></i> <span class=""js-maegler-mobile""></span> 2386 </div> 2387 </div> 2388 2389 2390 <h4 class=""js-maegler-name""></h4> 2391 <div class=""icon-container""> 2392 <i class=""fas fa-map-marker-alt""></i> <span class=""js-maegler-address""></span> 2393 </div> 2394 <div class=""icon-container""> 2395 <i class=""fas fa-phone""></i> <span class=""js-maegler-phone""></span>"); 2396 WriteLiteral(@" 2397 2398 </div> 2399 <a class=""btn btn-border"" onclick=""panelKontaktmaeglerGuldkoeber()"">KONTAKT MÆGLER</a> 2400 </div> 2401 </div> 2402 </div> 2403 </div> 2404 </div> 2405 2406 <!-- KONTAKT GULDKØBER --> 2407 <div id=""panel-kontakt-guldkoeber"" class=""panel panel-form""> 2408 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2409 <b></b> 2410 </button> 2411 <h2>"); 2412 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")); 2413 WriteLiteral("</h2>\r\n <form id=\"form-kontaktmaegler\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>"); 2414 Write(Translate("form-navn", "Navn")); 2415 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2416 BeginWriteAttribute("placeholder", " placeholder=\'", 217798, "\'", 217843, 1); 2417 WriteAttributeValue("", 217812, Translate("form-navn", "Navn"), 217812, 31, false); 2418 EndWriteAttribute(); 2419 BeginWriteAttribute("value", " value=\'", 217844, "\'", 217883, 1); 2420 WriteAttributeValue("", 217852, UserContext.Current.User?.Name, 217852, 31, false); 2421 EndWriteAttribute(); 2422 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2423 Write(Translate("form-email", "E-mail")); 2424 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+&#64;[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\""); 2425 BeginWriteAttribute("placeholder", " placeholder=\'", 218147, "\'", 218195, 1); 2426 WriteAttributeValue("", 218161, Translate("form-email", "E-mail"), 218161, 34, false); 2427 EndWriteAttribute(); 2428 BeginWriteAttribute("value", " value=\'", 218196, "\'", 218236, 1); 2429 WriteAttributeValue("", 218204, UserContext.Current.User?.Email, 218204, 32, false); 2430 EndWriteAttribute(); 2431 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2432 Write(Translate("form-mobile", "Mobil nr.")); 2433 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2434 BeginWriteAttribute("placeholder", " placeholder=\'", 218534, "\'", 218619, 1); 2435 WriteAttributeValue("", 218548, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 218548, 71, false); 2436 EndWriteAttribute(); 2437 BeginWriteAttribute("value", " value=\'", 218620, "\'", 218660, 1); 2438 WriteAttributeValue("", 218628, UserContext.Current.User?.Phone, 218628, 32, false); 2439 EndWriteAttribute(); 2440 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2441 Write(Translate("form-telephone", "Telefon nr.")); 2442 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2443 BeginWriteAttribute("placeholder", " placeholder=\'", 218930, "\'", 219014, 1); 2444 WriteAttributeValue("", 218944, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 218944, 70, false); 2445 EndWriteAttribute(); 2446 BeginWriteAttribute("value", " value=\'", 219015, "\'", 219055, 1); 2447 WriteAttributeValue("", 219023, UserContext.Current.User?.Phone, 219023, 32, false); 2448 EndWriteAttribute(); 2449 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2450 Write(Translate("form-zip", "Post nr")); 2451 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\""); 2452 BeginWriteAttribute("placeholder", " placeholder=\'", 219371, "\'", 219449, 1); 2453 WriteAttributeValue("", 219385, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 219385, 64, false); 2454 EndWriteAttribute(); 2455 BeginWriteAttribute("value", " value=\"", 219450, "\"", 219466, 1); 2456 WriteAttributeValue("", 219458, userZip, 219458, 8, false); 2457 EndWriteAttribute(); 2458 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2459 Write(Translate("form-city", "By")); 2460 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-city\" type=\"text\" readonly />\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-group overflow-unset\">\r\n <label><strong>"); 2461 Write(Translate("form-adresse", "Adresse")); 2462 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\""); 2463 BeginWriteAttribute("placeholder", " placeholder=\'", 220022, "\'", 220112, 1); 2464 WriteAttributeValue("", 220036, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 220036, 76, false); 2465 EndWriteAttribute(); 2466 BeginWriteAttribute("value", " value=\"", 220113, "\"", 220133, 1); 2467 WriteAttributeValue("", 220121, userAddress, 220121, 12, false); 2468 EndWriteAttribute(); 2469 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2470 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2471 WriteLiteral("</label>\r\n </div>\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\""); 2472 BeginWriteAttribute("placeholder", " placeholder=\'", 220459, "\'", 220537, 1); 2473 WriteAttributeValue("", 220473, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 220473, 64, false); 2474 EndWriteAttribute(); 2475 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n <div class=\"form-group\">\r\n <div class=\"checkbox\">\r\n <label>\r\n <input type=\"checkbox\" name=\"kontaktmigok\" required />\r\n\r\n <span>"); 2476 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2477 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <button type=\"submit\" class=\"btn btn-green btn-block\">"); 2478 Write(Translate("KontaktMægler", "Kontakt Mægler")); 2479 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2480 Write(privacyPolicyText); 2481 WriteLiteral(" <a"); 2482 BeginWriteAttribute("href", " href=\"", 221323, "\"", 221347, 2); 2483 WriteAttributeValue("", 221330, "mailto:", 221330, 7, true); 2484 WriteAttributeValue("", 221337, termsMail, 221337, 10, false); 2485 EndWriteAttribute(); 2486 WriteLiteral(">"); 2487 Write(termsMail); 2488 WriteLiteral("</a>.\r\n Læs mere på <a"); 2489 BeginWriteAttribute("href", " href=\"", 221392, "\"", 221426, 1); 2490 WriteAttributeValue("", 221399, settings_Persondatapolitik, 221399, 27, false); 2491 EndWriteAttribute(); 2492 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"gk\" />\r\n <input type=\"hidden\" name=\"origin\""); 2493 BeginWriteAttribute("value", " value=\"", 221569, "\"", 221577, 0); 2494 EndWriteAttribute(); 2495 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2496 BeginWriteAttribute("value", " value=\"", 221627, "\"", 221642, 1); 2497 WriteAttributeValue("", 221635, userID, 221635, 7, false); 2498 EndWriteAttribute(); 2499 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2500 BeginWriteAttribute("value", " value=\"", 221690, "\"", 221714, 1); 2501 WriteAttributeValue("", 221698, Pageview.AreaID, 221698, 16, false); 2502 EndWriteAttribute(); 2503 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\""); 2504 BeginWriteAttribute("value", " value=\"", 221763, "\"", 221779, 1); 2505 WriteAttributeValue("", 221771, butikId, 221771, 8, false); 2506 EndWriteAttribute(); 2507 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2508 BeginWriteAttribute("value", " value=\"", 221833, "\"", 221841, 0); 2509 EndWriteAttribute(); 2510 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2511 BeginWriteAttribute("value", " value=\"", 221892, "\"", 221900, 0); 2512 EndWriteAttribute(); 2513 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2514 BeginWriteAttribute("value", " value=\"", 221950, "\"", 221958, 0); 2515 EndWriteAttribute(); 2516 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2517 BeginWriteAttribute("value", " value=\"", 222008, "\"", 222016, 0); 2518 EndWriteAttribute(); 2519 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-maegler-guldkoeber\" style=\"display:none;\">\r\n <h2>"); 2520 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2521 WriteLiteral("</h2>\r\n <p>"); 2522 Write(Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")); 2523 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2524 BeginWriteAttribute("src", " src=\"", 222378, "\"", 222384, 0); 2525 EndWriteAttribute(); 2526 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2527 </div> 2528 <div class=""col-6""> 2529 <p class=""js-maegler-name""></p> 2530 <p class=""js-maegler-address""></p> 2531 <p class=""js-maegler-phone""></p> 2532 <p class=""js-maegler-mail""></p> 2533 </div> 2534 </div> 2535 <p>"); 2536 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2537 WriteLiteral(@"</p> 2538 </div> 2539 </div> 2540 2541 <!-- BESTIL SALGSVURDERING --> 2542 <div id=""panel-salgsvurdering"" class=""panel panel-form""> 2543 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2544 <b></b> 2545 </button> 2546 2547 <form id=""bestil-salgsvurdering"" class=""buyer-advisor-form js-buyer-advisor-form"" method=""POST"" action=""/InboxHandler""> 2548 <h2 class=""js-buyer-advisor-header"">"); 2549 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")); 2550 WriteLiteral("</h2>\r\n <p>"); 2551 Write(Translate("form-salgsvurdering-beskrivelse", "")); 2552 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2553 Write(Translate("form-navn", "Navn")); 2554 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2555 BeginWriteAttribute("placeholder", " placeholder=\'", 223541, "\'", 223630, 1); 2556 WriteAttributeValue("", 223555, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 223555, 75, false); 2557 EndWriteAttribute(); 2558 BeginWriteAttribute("value", " value=\'", 223631, "\'", 223670, 1); 2559 WriteAttributeValue("", 223639, UserContext.Current.User?.Name, 223639, 31, false); 2560 EndWriteAttribute(); 2561 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2562 Write(Translate("form-email", "E-mail")); 2563 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+&#64;[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\""); 2564 BeginWriteAttribute("placeholder", " placeholder=\'", 223934, "\'", 224026, 1); 2565 WriteAttributeValue("", 223948, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 223948, 78, false); 2566 EndWriteAttribute(); 2567 BeginWriteAttribute("value", " value=\'", 224027, "\'", 224067, 1); 2568 WriteAttributeValue("", 224035, UserContext.Current.User?.Email, 224035, 32, false); 2569 EndWriteAttribute(); 2570 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2571 Write(Translate("form-mobile", "Mobil nr.")); 2572 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2573 BeginWriteAttribute("placeholder", " placeholder=\'", 224365, "\'", 224457, 1); 2574 WriteAttributeValue("", 224379, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 224379, 78, false); 2575 EndWriteAttribute(); 2576 BeginWriteAttribute("value", " value=\'", 224458, "\'", 224498, 1); 2577 WriteAttributeValue("", 224466, UserContext.Current.User?.Phone, 224466, 32, false); 2578 EndWriteAttribute(); 2579 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2580 Write(Translate("form-telephone", "Telefon nr.")); 2581 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2582 BeginWriteAttribute("placeholder", " placeholder=\'", 224768, "\'", 224859, 1); 2583 WriteAttributeValue("", 224782, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 224782, 77, false); 2584 EndWriteAttribute(); 2585 BeginWriteAttribute("value", " value=\'", 224860, "\'", 224900, 1); 2586 WriteAttributeValue("", 224868, UserContext.Current.User?.Phone, 224868, 32, false); 2587 EndWriteAttribute(); 2588 WriteLiteral(" />\r\n </div>\r\n\r\n </div>\r\n\r\n <h3>"); 2589 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")); 2590 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2591 Write(Translate("form-zip", "Post nr")); 2592 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\""); 2593 BeginWriteAttribute("placeholder", " placeholder=\'", 225320, "\'", 225398, 1); 2594 WriteAttributeValue("", 225334, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 225334, 64, false); 2595 EndWriteAttribute(); 2596 BeginWriteAttribute("value", " value=\"", 225399, "\"", 225415, 1); 2597 WriteAttributeValue("", 225407, userZip, 225407, 8, false); 2598 EndWriteAttribute(); 2599 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2600 Write(Translate("form-city", "By")); 2601 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-city\" type=\"text\" readonly />\r\n </div>\r\n </div>\r\n <div class=\"form-group overflow-unset\">\r\n <label><strong>"); 2602 Write(Translate("form-adresse", "Adresse")); 2603 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\""); 2604 BeginWriteAttribute("placeholder", " placeholder=\'", 225969, "\'", 226059, 1); 2605 WriteAttributeValue("", 225983, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 225983, 76, false); 2606 EndWriteAttribute(); 2607 BeginWriteAttribute("value", " value=\"", 226060, "\"", 226080, 1); 2608 WriteAttributeValue("", 226068, userAddress, 226068, 12, false); 2609 EndWriteAttribute(); 2610 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2611 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2612 WriteLiteral(@"</label> 2613 </div> 2614 2615 <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""> 2616 <strong class=""f-12""><i class=""fas fa-plus""></i> "); 2617 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")); 2618 WriteLiteral("</strong>\r\n </button>\r\n <div class=\"collapse\" id=\"salgsvurdering-collapse\">\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\""); 2619 BeginWriteAttribute("placeholder", " placeholder=\'", 226850, "\'", 226928, 1); 2620 WriteAttributeValue("", 226864, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 226864, 64, false); 2621 EndWriteAttribute(); 2622 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>"); 2623 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")); 2624 WriteLiteral("</h3>\r\n <div class=\"col-12\">\r\n <div class=\"choose-broker row align-items-center active\">\r\n <div class=\"col-2\">\r\n <input class=\"js-broker-radio\" type=\"radio\""); 2625 BeginWriteAttribute("id", " id=\"", 227374, "\"", 227379, 0); 2626 EndWriteAttribute(); 2627 WriteLiteral(" name=\"choose-broker\""); 2628 BeginWriteAttribute("value", " value=\"", 227401, "\"", 227409, 0); 2629 EndWriteAttribute(); 2630 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\""); 2631 BeginWriteAttribute("for", " for=\"", 227475, "\"", 227481, 0); 2632 EndWriteAttribute(); 2633 WriteLiteral("></label><div class=\"check\">\r\n <div class=\"inside\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4\">\r\n <img"); 2634 BeginWriteAttribute("src", " src=\"", 227727, "\"", 227733, 0); 2635 EndWriteAttribute(); 2636 WriteLiteral(@" class=""img-fluid js-broker-image""> 2637 </div> 2638 <div class=""col-6""> 2639 <span class=""d-block""> 2640 <strong class=""js-choose-broker-name""></strong> 2641 </span> 2642 <span class=""js-choose-broker-address""></span> 2643 <input type=""hidden"" class=""js-choose-broker-phone"""); 2644 BeginWriteAttribute("value", " value=\"", 228145, "\"", 228153, 0); 2645 EndWriteAttribute(); 2646 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\""); 2647 BeginWriteAttribute("value", " value=\"", 228234, "\"", 228242, 0); 2648 EndWriteAttribute(); 2649 WriteLiteral(" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"salgsvurdering-broker\">\r\n <h3 class=\"js-brokerh3\">"); 2650 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")); 2651 WriteLiteral(@"</h3> 2652 <div class=""js-choose-broker col-12""> 2653 </div> 2654 2655 </div> 2656 2657 <div class=""form-group mt-4""> 2658 <div class=""checkbox""> 2659 <label> 2660 <input type=""checkbox"" name=""kontaktmigok"" required /> 2661 2662 <span class=""consent-checkbox"">"); 2663 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2664 WriteLiteral(@"</span> 2665 2666 </label> 2667 </div> 2668 </div> 2669 <div class=""form-group""> 2670 <div class=""row""> 2671 <div class=""col-12""> 2672 <button type=""submit"" class=""btn btn-green btn-block js-buyer-advisor-button"">"); 2673 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")); 2674 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2675 Write(privacyPolicyText); 2676 WriteLiteral(" <a"); 2677 BeginWriteAttribute("href", " href=\"", 229402, "\"", 229426, 2); 2678 WriteAttributeValue("", 229409, "mailto:", 229409, 7, true); 2679 WriteAttributeValue("", 229416, termsMail, 229416, 10, false); 2680 EndWriteAttribute(); 2681 WriteLiteral(">"); 2682 Write(termsMail); 2683 WriteLiteral("</a>.\r\n Læs mere på <a"); 2684 BeginWriteAttribute("href", " href=\"", 229471, "\"", 229505, 1); 2685 WriteAttributeValue("", 229478, settings_Persondatapolitik, 229478, 27, false); 2686 EndWriteAttribute(); 2687 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"bsv\" />\r\n <input type=\"hidden\" name=\"origin\" class=\"js-salgsvurdering-origin\""); 2688 BeginWriteAttribute("value", " value=\"", 229682, "\"", 229690, 0); 2689 EndWriteAttribute(); 2690 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2691 BeginWriteAttribute("value", " value=\"", 229740, "\"", 229755, 1); 2692 WriteAttributeValue("", 229748, userID, 229748, 7, false); 2693 EndWriteAttribute(); 2694 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2695 BeginWriteAttribute("value", " value=\"", 229803, "\"", 229827, 1); 2696 WriteAttributeValue("", 229811, Pageview.AreaID, 229811, 16, false); 2697 EndWriteAttribute(); 2698 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning\" name=\"boligvisning\""); 2699 BeginWriteAttribute("value", " value=\"", 229899, "\"", 229907, 0); 2700 EndWriteAttribute(); 2701 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-butikid\" name=\"butikId\""); 2702 BeginWriteAttribute("value", " value=\"", 229990, "\"", 229998, 0); 2703 EndWriteAttribute(); 2704 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-sagsnr\" name=\"sagsnr\""); 2705 BeginWriteAttribute("value", " value=\"", 230079, "\"", 230087, 0); 2706 EndWriteAttribute(); 2707 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\""); 2708 BeginWriteAttribute("value", " value=\"", 230138, "\"", 230194, 1); 2709 WriteAttributeValue("", 230146, Dynamicweb.Context.Current.Request["ProductId"], 230146, 48, false); 2710 EndWriteAttribute(); 2711 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2712 BeginWriteAttribute("value", " value=\"", 230248, "\"", 230256, 0); 2713 EndWriteAttribute(); 2714 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2715 BeginWriteAttribute("value", " value=\"", 230307, "\"", 230315, 0); 2716 EndWriteAttribute(); 2717 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2718 BeginWriteAttribute("value", " value=\"", 230365, "\"", 230373, 0); 2719 EndWriteAttribute(); 2720 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2721 BeginWriteAttribute("value", " value=\"", 230423, "\"", 230431, 0); 2722 EndWriteAttribute(); 2723 WriteLiteral(" />\r\n <input class=\"js-value-check\" type=\"hidden\" name=\"valueCheck\""); 2724 BeginWriteAttribute("value", " value=\"", 230506, "\"", 230514, 0); 2725 EndWriteAttribute(); 2726 WriteLiteral(" />\r\n <input class=\"js-green-appraisal\" type=\"hidden\" name=\"greenAppraisal\""); 2727 BeginWriteAttribute("value", " value=\"", 230597, "\"", 230605, 0); 2728 EndWriteAttribute(); 2729 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>"); 2730 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2731 WriteLiteral("</h2>\r\n <p>"); 2732 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")); 2733 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2734 BeginWriteAttribute("src", " src=\"", 230967, "\"", 230973, 0); 2735 EndWriteAttribute(); 2736 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2737 </div> 2738 <div class=""col-6""> 2739 <p class=""js-maegler-name""></p> 2740 <p class=""js-maegler-address""></p> 2741 <p class=""js-maegler-phone""></p> 2742 <p class=""js-maegler-mail""></p> 2743 </div> 2744 </div> 2745 <p>"); 2746 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2747 WriteLiteral(@"</p> 2748 </div> 2749 </div> 2750 2751 <!-- BESTIL SALGSVURDERING GULDKØBER --> 2752 <div id=""panel-salgsvurdering-guldkoeber"" class=""panel panel-form""> 2753 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2754 <b></b> 2755 </button> 2756 2757 <form id=""bestil-salgsvurdering-guldkoeber"" method=""POST"" action=""/InboxHandler""> 2758 <h2>"); 2759 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")); 2760 WriteLiteral("</h2>\r\n <p>"); 2761 Write(Translate("form-salgsvurdering-beskrivelse", "")); 2762 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2763 Write(Translate("form-navn", "Navn")); 2764 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2765 BeginWriteAttribute("placeholder", " placeholder=\'", 232081, "\'", 232170, 1); 2766 WriteAttributeValue("", 232095, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 232095, 75, false); 2767 EndWriteAttribute(); 2768 BeginWriteAttribute("value", " value=\'", 232171, "\'", 232210, 1); 2769 WriteAttributeValue("", 232179, UserContext.Current.User?.Name, 232179, 31, false); 2770 EndWriteAttribute(); 2771 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2772 Write(Translate("form-email", "E-mail")); 2773 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"email\" pattern=\"[_a-z0-9.%+-]+&#64;[a-z0-9.-]+.[a-z]{2,4}$\" name=\"email\""); 2774 BeginWriteAttribute("placeholder", " placeholder=\'", 232474, "\'", 232566, 1); 2775 WriteAttributeValue("", 232488, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 232488, 78, false); 2776 EndWriteAttribute(); 2777 BeginWriteAttribute("value", " value=\'", 232567, "\'", 232607, 1); 2778 WriteAttributeValue("", 232575, UserContext.Current.User?.Email, 232575, 32, false); 2779 EndWriteAttribute(); 2780 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2781 Write(Translate("form-telephone", "Telefon nr.")); 2782 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2783 BeginWriteAttribute("placeholder", " placeholder=\'", 232916, "\'", 233007, 1); 2784 WriteAttributeValue("", 232930, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 232930, 77, false); 2785 EndWriteAttribute(); 2786 BeginWriteAttribute("value", " value=\'", 233008, "\'", 233048, 1); 2787 WriteAttributeValue("", 233016, UserContext.Current.User?.Phone, 233016, 32, false); 2788 EndWriteAttribute(); 2789 WriteLiteral(" />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2790 Write(Translate("form-mobile", "Mobil nr.")); 2791 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2792 BeginWriteAttribute("placeholder", " placeholder=\'", 233298, "\'", 233390, 1); 2793 WriteAttributeValue("", 233312, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 233312, 78, false); 2794 EndWriteAttribute(); 2795 BeginWriteAttribute("value", " value=\'", 233391, "\'", 233431, 1); 2796 WriteAttributeValue("", 233399, UserContext.Current.User?.Phone, 233399, 32, false); 2797 EndWriteAttribute(); 2798 WriteLiteral(" required />\r\n </div>\r\n </div>\r\n\r\n <h3>"); 2799 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")); 2800 WriteLiteral("</h3>\r\n\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2801 Write(Translate("form-zip", "Post nr")); 2802 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\""); 2803 BeginWriteAttribute("placeholder", " placeholder=\'", 233860, "\'", 233938, 1); 2804 WriteAttributeValue("", 233874, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 233874, 64, false); 2805 EndWriteAttribute(); 2806 BeginWriteAttribute("value", " value=\"", 233939, "\"", 233955, 1); 2807 WriteAttributeValue("", 233947, userZip, 233947, 8, false); 2808 EndWriteAttribute(); 2809 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2810 Write(Translate("form-city", "By")); 2811 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-city\" type=\"text\" readonly />\r\n </div>\r\n </div>\r\n <div class=\"form-group overflow-unset\">\r\n <label><strong>"); 2812 Write(Translate("form-adresse", "Adresse")); 2813 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\""); 2814 BeginWriteAttribute("placeholder", " placeholder=\'", 234509, "\'", 234599, 1); 2815 WriteAttributeValue("", 234523, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 234523, 76, false); 2816 EndWriteAttribute(); 2817 BeginWriteAttribute("value", " value=\"", 234600, "\"", 234620, 1); 2818 WriteAttributeValue("", 234608, userAddress, 234608, 12, false); 2819 EndWriteAttribute(); 2820 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2821 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2822 WriteLiteral(@"</label> 2823 </div> 2824 2825 <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""> 2826 <strong class=""f-12""><i class=""fas fa-plus""></i> "); 2827 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")); 2828 WriteLiteral("</strong>\r\n </button>\r\n <div class=\"collapse\" id=\"salgsvurdering-collapse\">\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\""); 2829 BeginWriteAttribute("placeholder", " placeholder=\'", 235390, "\'", 235468, 1); 2830 WriteAttributeValue("", 235404, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 235404, 64, false); 2831 EndWriteAttribute(); 2832 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>"); 2833 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")); 2834 WriteLiteral("</h3>\r\n <div class=\"col-12\">\r\n <div class=\"choose-broker row align-items-center active\">\r\n <div class=\"col-2\">\r\n <input class=\"js-broker-radio\" type=\"radio\""); 2835 BeginWriteAttribute("id", " id=\"", 235912, "\"", 235917, 0); 2836 EndWriteAttribute(); 2837 WriteLiteral(" name=\"choose-broker-gk\""); 2838 BeginWriteAttribute("value", " value=\"", 235942, "\"", 235950, 0); 2839 EndWriteAttribute(); 2840 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\""); 2841 BeginWriteAttribute("for", " for=\"", 236016, "\"", 236022, 0); 2842 EndWriteAttribute(); 2843 WriteLiteral("></label><div class=\"check\">\r\n <div class=\"inside\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-4\">\r\n <img"); 2844 BeginWriteAttribute("src", " src=\"", 236268, "\"", 236274, 0); 2845 EndWriteAttribute(); 2846 WriteLiteral(@" class=""img-fluid js-broker-image""> 2847 </div> 2848 <div class=""col-6""> 2849 <span class=""d-block""> 2850 <strong class=""js-choose-broker-name""></strong> 2851 </span> 2852 <span class=""js-choose-broker-address""></span> 2853 <input type=""hidden"" class=""js-choose-broker-phone"""); 2854 BeginWriteAttribute("value", " value=\"", 236686, "\"", 236694, 0); 2855 EndWriteAttribute(); 2856 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\""); 2857 BeginWriteAttribute("value", " value=\"", 236775, "\"", 236783, 0); 2858 EndWriteAttribute(); 2859 WriteLiteral(" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"salgsvurdering-broker\">\r\n <h3 class=\"js-brokerh3\">"); 2860 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")); 2861 WriteLiteral(@"</h3> 2862 <div class=""js-choose-broker col-12""> 2863 </div> 2864 2865 </div> 2866 2867 2868 <div class=""form-group""> 2869 <div class=""row""> 2870 <div class=""col-12""> 2871 <button type=""submit"" class=""btn btn-green btn-block"">"); 2872 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")); 2873 WriteLiteral(@"</button> 2874 </div> 2875 </div> 2876 </div> 2877 <div class=""form-group""> 2878 <div class=""checkbox""> 2879 <label> 2880 <input type=""checkbox"" name=""kontaktmigok"" required /> 2881 2882 <span>"); 2883 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2884 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2885 Write(privacyPolicyText); 2886 WriteLiteral(" <a"); 2887 BeginWriteAttribute("href", " href=\"", 237891, "\"", 237915, 2); 2888 WriteAttributeValue("", 237898, "mailto:", 237898, 7, true); 2889 WriteAttributeValue("", 237905, termsMail, 237905, 10, false); 2890 EndWriteAttribute(); 2891 WriteLiteral(">"); 2892 Write(termsMail); 2893 WriteLiteral("</a>.\r\n Læs mere på <a"); 2894 BeginWriteAttribute("href", " href=\"", 237960, "\"", 237994, 1); 2895 WriteAttributeValue("", 237967, settings_Persondatapolitik, 237967, 27, false); 2896 EndWriteAttribute(); 2897 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"bsg\" />\r\n <input type=\"hidden\" name=\"origin\" class=\"js-salgsvurdering-origin\""); 2898 BeginWriteAttribute("value", " value=\"", 238171, "\"", 238179, 0); 2899 EndWriteAttribute(); 2900 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2901 BeginWriteAttribute("value", " value=\"", 238229, "\"", 238244, 1); 2902 WriteAttributeValue("", 238237, userID, 238237, 7, false); 2903 EndWriteAttribute(); 2904 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2905 BeginWriteAttribute("value", " value=\"", 238292, "\"", 238316, 1); 2906 WriteAttributeValue("", 238300, Pageview.AreaID, 238300, 16, false); 2907 EndWriteAttribute(); 2908 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning-gk\" name=\"boligvisning\""); 2909 BeginWriteAttribute("value", " value=\"", 238391, "\"", 238399, 0); 2910 EndWriteAttribute(); 2911 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-butikid\" name=\"butikId\""); 2912 BeginWriteAttribute("value", " value=\"", 238485, "\"", 238493, 0); 2913 EndWriteAttribute(); 2914 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-sagsnr\" name=\"sagsnr\""); 2915 BeginWriteAttribute("value", " value=\"", 238577, "\"", 238585, 0); 2916 EndWriteAttribute(); 2917 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\""); 2918 BeginWriteAttribute("value", " value=\"", 238636, "\"", 238692, 1); 2919 WriteAttributeValue("", 238644, Dynamicweb.Context.Current.Request["ProductId"], 238644, 48, false); 2920 EndWriteAttribute(); 2921 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2922 BeginWriteAttribute("value", " value=\"", 238746, "\"", 238754, 0); 2923 EndWriteAttribute(); 2924 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2925 BeginWriteAttribute("value", " value=\"", 238805, "\"", 238813, 0); 2926 EndWriteAttribute(); 2927 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2928 BeginWriteAttribute("value", " value=\"", 238863, "\"", 238871, 0); 2929 EndWriteAttribute(); 2930 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2931 BeginWriteAttribute("value", " value=\"", 238921, "\"", 238929, 0); 2932 EndWriteAttribute(); 2933 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>"); 2934 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2935 WriteLiteral("</h2>\r\n <p>"); 2936 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")); 2937 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2938 BeginWriteAttribute("src", " src=\"", 239291, "\"", 239297, 0); 2939 EndWriteAttribute(); 2940 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2941 </div> 2942 <div class=""col-6""> 2943 <p class=""js-maegler-name""></p> 2944 <p class=""js-maegler-address""></p> 2945 <p class=""js-maegler-phone""></p> 2946 <p class=""js-maegler-mail""></p> 2947 </div> 2948 </div> 2949 <p>"); 2950 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2951 WriteLiteral("</p>\r\n </div>\r\n</div>\r\n\r\n\r\n <div class=\"overlay-wrapper\"></div>\r\n <div class=\"dropdown-overlay\"></div>\r\n <div class=\"loader-inner ball-pulse\"></div>\r\n\r\n"); 2952 2953 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js")); 2954 WriteLiteral(" <script type=\"text/javascript\""); 2955 BeginWriteAttribute("src", " src=\'", 240098, "\'", 240202, 3); 2956 WriteAttributeValue("", 240104, TemplateUrl, 240104, 14, false); 2957 WriteAttributeValue("", 240118, "assets/webpack/js/3rdparty/viamapstrap.js?", 240118, 42, true); 2958 WriteAttributeValue("", 240160, viamapstrapFileInfo.LastWriteTime.Ticks, 240160, 42, false); 2959 EndWriteAttribute(); 2960 WriteLiteral(" async></script>\r\n"); 2961 2962 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js")); 2963 WriteLiteral(" <script type=\"text/javascript\""); 2964 BeginWriteAttribute("src", " src=\'", 240405, "\'", 240492, 3); 2965 WriteAttributeValue("", 240411, TemplateUrl, 240411, 14, false); 2966 WriteAttributeValue("", 240425, "assets/dist/bundle.app.min.js?", 240425, 30, true); 2967 WriteAttributeValue("", 240455, bundleFileInfo.LastWriteTime.Ticks, 240455, 37, false); 2968 EndWriteAttribute(); 2969 WriteLiteral(" async></script>\r\n"); 2970 WriteLiteral("\r\n "); 2971 Write(RenderSnippet("JavaScriptBottom")); 2972 WriteLiteral("\r\n\r\n"); 2973 if (Context.Current.Request.QueryString["ShowLogin"] == "true") 2974 { 2975 WriteLiteral(" <input class=\"js-showLogin\" value=\"true\" />\r\n"); 2976 } 2977 WriteLiteral("\r\n"); 2978 if (!string.IsNullOrEmpty(settings_ConduzeId)) 2979 { 2980 WriteLiteral(" <script type=\"text/javascript\" id=\"conduze-sdk\""); 2981 BeginWriteAttribute("src", " src=\"", 240816, "\"", 240877, 3); 2982 WriteAttributeValue("", 240822, "https://cdn.conduze.com/", 240822, 24, true); 2983 WriteAttributeValue("", 240846, settings_ConduzeId, 240846, 19, false); 2984 WriteAttributeValue("", 240865, "/tracking.js", 240865, 12, true); 2985 EndWriteAttribute(); 2986 WriteLiteral(" async></script>\r\n"); 2987 } 2988 WriteLiteral("\r\n"); 2989 if (!string.IsNullOrEmpty(settings_Weply)) 2990 { 2991 WriteLiteral(" <script"); 2992 BeginWriteAttribute("src", " src=\"", 240976, "\"", 241027, 2); 2993 WriteAttributeValue("", 240982, "https://app.weply.chat/widget/", 240982, 30, true); 2994 WriteAttributeValue("", 241012, settings_Weply, 241012, 15, false); 2995 EndWriteAttribute(); 2996 WriteLiteral(" async></script>\r\n"); 2997 } 2998 WriteLiteral("\r\n</body>\r\n</html>\r\n\r\n"); 2999 } 3000 #pragma warning restore 1998 3001 3002 void RenderErhvervsTypeCheckboxes(string productGroupFilter) 3003 { 3004 WriteLiteral(@" <div class=""col-xs-6 col-md-4""> 3005 <div class=""checkbox""> 3006 <label> 3007 <input type=""checkbox"" name=""propertytype"" value=""bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)"" /> 3008 <span>Bolig/erhverv</span> 3009 </label> 3010 </div> 3011 <div class=""checkbox""> 3012 <label> 3013 <input type=""checkbox"" name=""propertytype"" value=""erhvervsgrund"" /> 3014 <span>Erhvervsgrund</span> 3015 </label> 3016 </div> 3017 <div class=""checkbox""> 3018 <label> 3019 <input type=""checkbox"" name=""propertytype"" value=""boligudlejning"" /> 3020 <span>Boligudlejningsejendom</span> 3021 </label> 3022 </div> 3023 <div class=""checkbox""> 3024 <label> 3025 <input type=""checkbox"" name=""propertytype"" value=""kontor, klinik, kontorhotel, showroom, under"); 3026 WriteLiteral(@"visningslokaler"" /> 3027 <span>Kontor</span> 3028 </label> 3029 </div> 3030 </div> 3031 <div class=""col-xs-6 col-md-4""> 3032 <div class=""checkbox""> 3033 <label> 3034 <input type=""checkbox"" name=""propertytype"" value=""butik / detail, butik / detailhandel"" /> 3035 <span>Butik/detailhandel</span> 3036 </label> 3037 </div> 3038 <div class=""checkbox""> 3039 <label> 3040 <input type=""checkbox"" name=""propertytype"" value=""industri / logistik, håndværk, industri, kontor / lager, logistik"" /> 3041 <span>Produktion/lager</span> 3042 </label> 3043 </div> 3044 <div class=""checkbox""> 3045 <label> 3046 <input type=""checkbox"" name=""propertytype"" value=""hotel - kursusejendom, restaurant"" /> 3047 <span>Hotel og restaurant</span> 3048 </label> 3049 </div> 3050 <div c"); 3051 WriteLiteral(@"lass=""checkbox""> 3052 <label> 3053 <input type=""checkbox"" name=""propertytype"" value=""projekt ejendom"" /> 3054 <span>Projektejendom</span> 3055 </label> 3056 </div> 3057 </div> 3058 <div class=""col-xs-6 col-md-4""> 3059 <div class=""checkbox""> 3060 <label> 3061 <input type=""checkbox"" name=""propertytype"" value=""andet"" /> 3062 <span>Andet</span> 3063 </label> 3064 </div> 3065 </div> 3066 "); 3067 WriteLiteral(" <input type=\"hidden\" name=\"propertycategory\" value=\"erhverv, udlejning\" />\r\n <input type=\"hidden\" name=\"filtrering\""); 3068 BeginWriteAttribute("value", " value=\"", 3445, "\"", 3472, 1); 3069 WriteAttributeValue("", 3453, productGroupFilter, 3453, 19, false); 3070 EndWriteAttribute(); 3071 WriteLiteral(" />\r\n"); 3072 } 3073 void RenderBoligtypeCheckboxes() 3074 { 3075 WriteLiteral(@" <div class=""col-6 col-md-4""> 3076 <div class=""checkbox""> 3077 <label> 3078 <input type=""checkbox"" name=""propertytype"" value=""villa"" /> 3079 <span>Villa</span> 3080 </label> 3081 </div> 3082 <div class=""checkbox""> 3083 <label> 3084 <input type=""checkbox"" name=""propertytype"" value=""rækkehus"" /> 3085 <span>Rækkehus</span> 3086 </label> 3087 </div> 3088 <div class=""checkbox""> 3089 <label> 3090 <input type=""checkbox"" name=""propertytype"" value=""villalejlighed"" /> 3091 <span>Villalejlighed</span> 3092 </label> 3093 </div> 3094 <div class=""checkbox""> 3095 <label> 3096 <input type=""checkbox"" name=""propertytype"" value=""andelsbolig"" /> 3097 <span>Andelsbolig</span> 3098 </label> 3099 </div> 3100 </div> 3101 <div class=""co"); 3102 WriteLiteral(@"l-6 col-md-4""> 3103 <div class=""checkbox""> 3104 <label> 3105 <input type=""checkbox"" name=""propertytype"" value=""fritidshus, fritidsbolig"" /> 3106 <span>Fritidsbolig</span> 3107 </label> 3108 </div> 3109 <div class=""checkbox""> 3110 <label> 3111 <input type=""checkbox"" name=""propertytype"" value=""ejerlejlighed"" class=""specialOption"" data-disable-slider=""#grundareal"" data-disable-slider-ranges=""#grundarealmin,#grundarealmax"" /> 3112 <span>Ejerlejlighed</span> 3113 </label> 3114 </div> 3115 <div class=""checkbox""> 3116 <label> 3117 <input type=""checkbox"" name=""propertytype"" value=""helårsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" /> 3118 <span>Helårsgrund</span> 3119 </label> 3120 </div> 3121 <div "); 3122 WriteLiteral(@"class=""checkbox""> 3123 <label> 3124 <input type=""checkbox"" name=""propertytype"" value=""fritidsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" /> 3125 <span>Fritidsgrund</span> 3126 </label> 3127 </div> 3128 </div> 3129 <div class=""col-6 col-md-4""> 3130 <div class=""checkbox""> 3131 <label> 3132 <input type=""checkbox"" name=""propertytype"" value=""landejendom, lystejendom"" class=""specialOption"" data-disable-checkbox=""true"" /> 3133 <span>Landejendom</span> 3134 </label> 3135 </div> 3136 <div class=""checkbox""> 3137 <label> 3138 <input type=""checkbox"" name=""propertytype"" value=""erhverv"" class=""specialOption"" data-disable-checkbox=""true"" data-disable-slider=""#roomsslider"" data-disable-slider-ranges=""#roomsmin"" /> 3139 <span>Erhverv<"); 3140 WriteLiteral("/span>\r\n </label>\r\n </div>\r\n </div>\r\n"); 3141 } 3142 3143 void RenderChecked(string queryString) 3144 { 3145 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString) 3146 { 3147 Write("checked"); 3148 3149 } 3150 } 3151 3152 void RenderBoligtypeCheckboxesDropdown() 3153 { 3154 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){ 3155 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" }, 3156 { "Andelsbolig", "andelsbolig" } 3157 }; 3158 foreach (KeyValuePair<string, string> type in propertyTypes) 3159 { 3160 bool ischecked = false; 3161 string[] propertytypeSplit = new string[0]; 3162 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"])) 3163 { 3164 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(','); 3165 } 3166 foreach (var propertytypeParams in propertytypeSplit) 3167 { 3168 if (propertytypeParams == type.Value) 3169 { 3170 ischecked = true; 3171 } 3172 } 3173 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3174 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3175 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertytype\""); 3176 BeginWriteAttribute("value", " value=\"", 8068, "\"", 8087, 1); 3177 WriteAttributeValue("", 8076, type.Value, 8076, 11, false); 3178 EndWriteAttribute(); 3179 WriteLiteral(" class=\"js-input-check datavalue js-datavalue js-count\" data-val=\""); 3180 Write(type.Key); 3181 WriteLiteral("\" onchange=\"submitFilter()\""); 3182 BeginWriteAttribute("checked", " checked=\"", 8190, "\"", 8210, 1); 3183 WriteAttributeValue("", 8200, ischecked, 8200, 10, false); 3184 EndWriteAttribute(); 3185 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3186 } 3187 3188 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3189 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")); 3190 WriteLiteral("\r\n"); 3191 3192 bool blboligcheck = false; 3193 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv") 3194 { 3195 blboligcheck = true; 3196 } 3197 WriteLiteral(" <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\""); 3198 BeginWriteAttribute("checked", " checked=\"", 9043, "\"", 9066, 1); 3199 WriteAttributeValue("", 9053, blboligcheck, 9053, 13, false); 3200 EndWriteAttribute(); 3201 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3202 3203 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){ 3204 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" }, 3205 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" } 3206 }; 3207 foreach (KeyValuePair<string, string> type in propertyTypes2) 3208 { 3209 bool ischecked = false; 3210 string[] propertytypeSplit2 = new string[0]; 3211 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"])) 3212 { 3213 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(','); 3214 } 3215 foreach (var propertytypeParams in propertytypeSplit2) 3216 { 3217 if (propertytypeParams == type.Value) 3218 { 3219 ischecked = true; 3220 } 3221 } 3222 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3223 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3224 WriteLiteral("\r\n"); 3225 if (type.Value == "ejerlejlighed") 3226 { 3227 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3228 BeginWriteAttribute("value", " value=\"", 10467, "\"", 10486, 1); 3229 WriteAttributeValue("", 10475, type.Value, 10475, 11, false); 3230 EndWriteAttribute(); 3231 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#grundareal\" data-disable-slider-ranges=\"#grundarealmin,#grundarealmax\" data-val=\""); 3232 Write(type.Key); 3233 WriteLiteral("\" onchange=\"submitFilter()\""); 3234 BeginWriteAttribute("checked", " checked=\"", 10660, "\"", 10680, 1); 3235 WriteAttributeValue("", 10670, ischecked, 10670, 10, false); 3236 EndWriteAttribute(); 3237 WriteLiteral(" />\r\n"); 3238 } 3239 else if (type.Value == "helårsgrund") 3240 { 3241 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3242 BeginWriteAttribute("value", " value=\"", 10857, "\"", 10876, 1); 3243 WriteAttributeValue("", 10865, type.Value, 10865, 11, false); 3244 EndWriteAttribute(); 3245 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\""); 3246 Write(type.Key); 3247 WriteLiteral("\" onchange=\"submitFilter()\""); 3248 BeginWriteAttribute("checked", " checked=\"", 11073, "\"", 11093, 1); 3249 WriteAttributeValue("", 11083, ischecked, 11083, 10, false); 3250 EndWriteAttribute(); 3251 WriteLiteral(" />\r\n"); 3252 } 3253 else if (type.Value == "fritidsgrund") 3254 { 3255 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3256 BeginWriteAttribute("value", " value=\"", 11271, "\"", 11290, 1); 3257 WriteAttributeValue("", 11279, type.Value, 11279, 11, false); 3258 EndWriteAttribute(); 3259 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\""); 3260 Write(type.Key); 3261 WriteLiteral("\" onchange=\"submitFilter()\""); 3262 BeginWriteAttribute("checked", " checked=\"", 11487, "\"", 11507, 1); 3263 WriteAttributeValue("", 11497, ischecked, 11497, 10, false); 3264 EndWriteAttribute(); 3265 WriteLiteral(" />\r\n"); 3266 } 3267 else 3268 { 3269 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3270 BeginWriteAttribute("value", " value=\"", 11651, "\"", 11670, 1); 3271 WriteAttributeValue("", 11659, type.Value, 11659, 11, false); 3272 EndWriteAttribute(); 3273 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\""); 3274 Write(type.Key); 3275 WriteLiteral("\" onchange=\"submitFilter()\""); 3276 BeginWriteAttribute("checked", " checked=\"", 11751, "\"", 11771, 1); 3277 WriteAttributeValue("", 11761, ischecked, 11761, 10, false); 3278 EndWriteAttribute(); 3279 WriteLiteral(" />\r\n"); 3280 } 3281 WriteLiteral(" <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3282 } 3283 } 3284 3285 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false) 3286 { 3287 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3288 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" }, 3289 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" } 3290 }; 3291 var submitonchange = ""; 3292 if (submitOnChange) 3293 { 3294 submitonchange = "onchange='submitFilter()'"; 3295 } 3296 3297 foreach (KeyValuePair<string, string> type in erhverType) 3298 { 3299 string ischecked = ""; 3300 string[] olineParamsSplit = new string[0]; 3301 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"])) 3302 { 3303 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(','); 3304 } 3305 foreach (var olineParams in olineParamsSplit) 3306 { 3307 if (olineParams == type.Value) 3308 { 3309 ischecked = "checked"; 3310 } 3311 } 3312 3313 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3314 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3315 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\""); 3316 BeginWriteAttribute("value", " value=\"", 13415, "\"", 13434, 1); 3317 WriteAttributeValue("", 13423, type.Value, 13423, 11, false); 3318 EndWriteAttribute(); 3319 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\""); 3320 Write(type.Key); 3321 WriteLiteral("\" "); 3322 Write(submitonchange); 3323 WriteLiteral(" "); 3324 Write(ischecked); 3325 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3326 } 3327 3328 3329 bool ischeckedpropertycat = false; 3330 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"])) 3331 { 3332 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv") 3333 { 3334 ischeckedpropertycat = true; 3335 } 3336 } 3337 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n "); 3338 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")); 3339 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertycategory\" value=\"Blandet Bolig/Erhverv\" class=\"js-input-check datavalue\" data-val=\"Blandet Bolig/Erhverv\" onchange=\"submitFilter()\""); 3340 BeginWriteAttribute("checked", " checked=\"", 14347, "\"", 14378, 1); 3341 WriteAttributeValue("", 14357, ischeckedpropertycat, 14357, 21, false); 3342 EndWriteAttribute(); 3343 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3344 } 3345 3346 void RenderBoligTypeErhvervInvest(bool submitOnChange = false) 3347 { 3348 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3349 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" }, 3350 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" } 3351 }; 3352 3353 foreach (KeyValuePair<string, string> type in erhverType) 3354 { 3355 bool ischecked = false; 3356 string[] olineParamsSplit = new string[0]; 3357 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"])) 3358 { 3359 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(','); 3360 } 3361 foreach (var olineParams in olineParamsSplit) 3362 { 3363 if (olineParams == type.Value) 3364 { 3365 ischecked = true; 3366 } 3367 } 3368 3369 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n "); 3370 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3371 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\""); 3372 BeginWriteAttribute("value", " value=\"", 15865, "\"", 15884, 1); 3373 WriteAttributeValue("", 15873, type.Value, 15873, 11, false); 3374 EndWriteAttribute(); 3375 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\""); 3376 Write(type.Key); 3377 WriteLiteral("\" onchange=\"submitFilter()\""); 3378 BeginWriteAttribute("checked", " checked=\"", 15965, "\"", 15985, 1); 3379 WriteAttributeValue("", 15975, ischecked, 15975, 10, false); 3380 EndWriteAttribute(); 3381 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3382 } 3383 } 3384 int GetWebsiteSettingsPageId(string pageSysName) 3385 { 3386 int sideId = 0; 3387 3388 var pw = Dynamicweb.Frontend.PageView.Current(); 3389 3390 string settingsItemId = "1"; 3391 3392 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true") 3393 { 3394 settingsItemId = "2"; 3395 } 3396 3397 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId); 3398 3399 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName)) 3400 { 3401 return sideId; 3402 } 3403 3404 string boligsideLink = settingsItem[pageSysName] as String; 3405 string linkPrefix = "Default.aspx?ID="; 3406 3407 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower())) 3408 { 3409 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId); 3410 } 3411 3412 return sideId; 3413 } 3414 3415 int GetPageSettingsPageId(string pageSysName) 3416 { 3417 int sideId = 0; 3418 3419 var pw = Dynamicweb.Frontend.PageView.Current(); 3420 3421 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName)) 3422 { 3423 return sideId; 3424 } 3425 3426 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String; 3427 string linkPrefix = "Default.aspx?ID="; 3428 3429 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower())) 3430 { 3431 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId); 3432 } 3433 3434 return sideId; 3435 } 3436 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname) 3437 { 3438 WriteLiteral(" <select"); 3439 BeginWriteAttribute("class", " class=\"", 17928, "\"", 17983, 5); 3440 WriteAttributeValue("", 17936, "form-control", 17936, 12, true); 3441 WriteAttributeValue(" ", 17948, "d-block", 17949, 8, true); 3442 WriteAttributeValue(" ", 17956, "d-lg-none", 17957, 10, true); 3443 WriteAttributeValue(" ", 17966, "mb-10", 17967, 6, true); 3444 WriteAttributeValue(" ", 17972, className, 17973, 10, false); 3445 EndWriteAttribute(); 3446 WriteLiteral(" onchange=\"submitFilter()\""); 3447 BeginWriteAttribute("name", " name=\"", 18010, "\"", 18027, 1); 3448 WriteAttributeValue("", 18017, inputname, 18017, 10, false); 3449 EndWriteAttribute(); 3450 WriteLiteral(">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3451 Write(Translate("Smartpage:Search.Placeholder." + name + "", "" + name + "")); 3452 WriteLiteral("</option>\r\n\r\n"); 3453 for (var i = 0; i <= max; i += step) 3454 { 3455 var selected = string.Empty; 3456 var current = string.Empty; 3457 if (i == max) 3458 { 3459 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i)) 3460 { 3461 WriteLiteral(" <option"); 3462 BeginWriteAttribute("value", " value=\"", 18623, "\"", 18633, 1); 3463 WriteAttributeValue("", 18631, i, 18631, 2, false); 3464 EndWriteAttribute(); 3465 WriteLiteral(" data-value=\'"); 3466 Write(Convert.ToInt32(i).ToString("N0")); 3467 WriteLiteral("\' selected=\"selected\">"); 3468 Write(Convert.ToInt32(i).ToString("N0")); 3469 WriteLiteral("+</option>\r\n"); 3470 } 3471 else 3472 { 3473 WriteLiteral(" <option"); 3474 BeginWriteAttribute("value", " value=\"", 18852, "\"", 18862, 1); 3475 WriteAttributeValue("", 18860, i, 18860, 2, false); 3476 EndWriteAttribute(); 3477 WriteLiteral(" data-value=\'"); 3478 Write(Convert.ToInt32(i).ToString("N0")); 3479 WriteLiteral("\'>"); 3480 Write(Convert.ToInt32(i).ToString("N0")); 3481 WriteLiteral("+</option>\r\n"); 3482 } 3483 } 3484 else 3485 { 3486 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i)) 3487 { 3488 WriteLiteral(" <option"); 3489 BeginWriteAttribute("value", " value=\"", 19286, "\"", 19296, 1); 3490 WriteAttributeValue("", 19294, i, 19294, 2, false); 3491 EndWriteAttribute(); 3492 WriteLiteral(" data-value=\'"); 3493 Write(Convert.ToInt32(i).ToString("N0")); 3494 WriteLiteral("\' selected=\"selected\">"); 3495 Write(Convert.ToInt32(i).ToString("N0")); 3496 WriteLiteral("</option>\r\n"); 3497 } 3498 else 3499 { 3500 WriteLiteral(" <option"); 3501 BeginWriteAttribute("value", " value=\"", 19514, "\"", 19524, 1); 3502 WriteAttributeValue("", 19522, i, 19522, 2, false); 3503 EndWriteAttribute(); 3504 WriteLiteral(" data-value=\'"); 3505 Write(Convert.ToInt32(i).ToString("N0")); 3506 WriteLiteral("\'>"); 3507 Write(Convert.ToInt32(i).ToString("N0")); 3508 WriteLiteral("</option>\r\n"); 3509 } 3510 } 3511 } 3512 WriteLiteral(" </select>\r\n"); 3513 } 3514 3515 void RenderTopFilter(string parameter) 3516 { 3517 if (parameter == "pricemin" || parameter == "pricemax") 3518 { 3519 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"])) 3520 { 3521 if (parameter == "pricemin") 3522 { 3523 Write("<div class='search-terms' id='priceFilter'>"); 3524 Write("Pris "); 3525 Write(Dynamicweb.Context.Current.Request[parameter]); 3526 3527 } 3528 3529 else 3530 { 3531 Write(" - "); 3532 Write(Dynamicweb.Context.Current.Request[parameter]); 3533 Write(" kr."); 3534 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"pricemin,pricemax\"></i>\r\n"); 3535 Write("</div>"); 3536 3537 } 3538 } 3539 } 3540 3541 else if (parameter == "subsidymin" || parameter == "subsidymax") 3542 { 3543 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"])) 3544 { 3545 if (parameter == "subsidymin") 3546 { 3547 Write("<div class='search-terms' id='subsidyFilter'>"); 3548 Write("Årlig leje "); 3549 Write(Dynamicweb.Context.Current.Request[parameter]); 3550 3551 } 3552 3553 else 3554 { 3555 Write(" - "); 3556 Write(Dynamicweb.Context.Current.Request[parameter]); 3557 Write(" kr."); 3558 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidymin,subsidymax\"></i>\r\n"); 3559 Write("</div>"); 3560 3561 } 3562 } 3563 } 3564 else if (parameter == "etagearealmin" || parameter == "etagearealmax") 3565 { 3566 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"])) 3567 { 3568 if (parameter == "etagearealmin") 3569 { 3570 Write("<div class='search-terms' id='etagearealFilter'>"); 3571 Write("Etageareal "); 3572 Write(Dynamicweb.Context.Current.Request[parameter]); 3573 3574 } 3575 3576 else 3577 { 3578 Write(" - "); 3579 Write(Dynamicweb.Context.Current.Request[parameter]); 3580 Write(" kvm."); 3581 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"etagearealmin,etagearealmax\"></i>\r\n"); 3582 Write("</div>"); 3583 3584 } 3585 } 3586 } 3587 3588 else if (parameter == "grundarealmin" || parameter == "grundarealmax") 3589 { 3590 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"])) 3591 { 3592 if (parameter == "grundarealmin") 3593 { 3594 Write("<div class='search-terms' id='grundarealFilter'>"); 3595 Write("Grundareal "); 3596 Write(Dynamicweb.Context.Current.Request[parameter]); 3597 3598 } 3599 3600 else 3601 { 3602 Write(" - "); 3603 Write(Dynamicweb.Context.Current.Request[parameter]); 3604 Write(" kvm."); 3605 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"grundarealmin,grundarealmax\"></i>\r\n"); 3606 Write("</div>"); 3607 3608 } 3609 } 3610 } 3611 3612 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax") 3613 { 3614 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"])) 3615 { 3616 if (parameter == "subsidykvmmin") 3617 { 3618 Write("<div class='search-terms' id='subsidykvmFilter'>"); 3619 Write("Årlig leje kvm "); 3620 Write(Dynamicweb.Context.Current.Request[parameter]); 3621 3622 } 3623 3624 else 3625 { 3626 Write(" - "); 3627 Write(Dynamicweb.Context.Current.Request[parameter]); 3628 Write(" kr."); 3629 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidykvmmin,subsidykvmmax\"></i>\r\n"); 3630 Write("</div>"); 3631 3632 } 3633 } 3634 } 3635 3636 else if (parameter == "olinecategory") 3637 { 3638 3639 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"])) 3640 { 3641 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3642 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" }, 3643 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"}, 3644 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" }, 3645 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" } 3646 }; 3647 3648 3649 foreach (var er in erhverType) 3650 { 3651 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key)) 3652 { 3653 WriteLiteral(" <div class=\"search-terms\""); 3654 BeginWriteAttribute("id", " id=\"", 24694, "\"", 24709, 1); 3655 WriteAttributeValue("", 24699, parameter, 24699, 10, false); 3656 EndWriteAttribute(); 3657 WriteLiteral(">\r\n "); 3658 Write(er.Value); 3659 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3660 Write(parameter); 3661 WriteLiteral("\" data-val=\""); 3662 Write(er.Key); 3663 WriteLiteral("\"></i>\r\n </div>\r\n"); 3664 } 3665 } 3666 } 3667 } 3668 else if (parameter == "propertycategory") 3669 { 3670 3671 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"])) 3672 { 3673 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3674 { "propertycategory", "Blandet Bolig/Erhverv" } 3675 }; 3676 3677 foreach (var er in erhverType) 3678 { 3679 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value) 3680 { 3681 WriteLiteral(" <div class=\"search-terms\""); 3682 BeginWriteAttribute("id", " id=\"", 25615, "\"", 25630, 1); 3683 WriteAttributeValue("", 25620, parameter, 25620, 10, false); 3684 EndWriteAttribute(); 3685 WriteLiteral(">\r\n "); 3686 Write(er.Value); 3687 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3688 Write(parameter); 3689 WriteLiteral("\" data-val=\""); 3690 Write(er.Key); 3691 WriteLiteral("\"></i>\r\n </div>\r\n"); 3692 } 3693 } 3694 } 3695 } 3696 else if (parameter == "search") 3697 { 3698 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"])) 3699 { 3700 WriteLiteral(" <div class=\"search-terms\""); 3701 BeginWriteAttribute("id", " id=\"", 26078, "\"", 26093, 1); 3702 WriteAttributeValue("", 26083, parameter, 26083, 10, false); 3703 EndWriteAttribute(); 3704 WriteLiteral(">\r\n "); 3705 Write(Dynamicweb.Context.Current.Request[parameter]); 3706 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3707 Write(parameter); 3708 WriteLiteral("\"></i>\r\n </div>\r\n"); 3709 } 3710 } 3711 else 3712 { 3713 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter])) 3714 { 3715 Dictionary<string, string> 3716 ubudsform = new Dictionary<string, string> 3717 (){ 3718 {"salg", "Salg" }, { "leje","Leje" } 3719 }; 3720 3721 foreach (var er in ubudsform) 3722 { 3723 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key)) 3724 { 3725 WriteLiteral(" <div class=\"search-terms\""); 3726 BeginWriteAttribute("id", " id=\"", 27242, "\"", 27257, 1); 3727 WriteAttributeValue("", 27247, parameter, 27247, 10, false); 3728 EndWriteAttribute(); 3729 WriteLiteral(">\r\n "); 3730 Write(er.Value); 3731 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3732 Write(parameter); 3733 WriteLiteral("\" data-val=\""); 3734 Write(er.Key); 3735 WriteLiteral("\"></i>\r\n </div>\r\n"); 3736 } 3737 } 3738 3739 3740 } 3741 } 3742 } 3743 3744 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString) 3745 { 3746 var selected = ""; 3747 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue) 3748 { 3749 selected = "selected"; 3750 } 3751 3752 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected); 3753 3754 Write(current); 3755 3756 } 3757 3758 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "") 3759 { 3760 WriteLiteral(" <div"); 3761 BeginWriteAttribute("class", " class=\"", 28261, "\"", 28307, 3); 3762 WriteAttributeValue("", 28269, "main-search-form", 28269, 16, true); 3763 WriteAttributeValue(" ", 28285, "frontpage", 28286, 10, true); 3764 WriteAttributeValue(" ", 28295, cssClasses, 28296, 11, false); 3765 EndWriteAttribute(); 3766 WriteLiteral(">\r\n <div class=\"dropdown-overlay\"></div>\r\n <div class=\"row mb-3 align-items-center\">\r\n <div class=\"col-xs-12 col-md-3 border-right\">\r\n <h3>"); 3767 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 3768 WriteLiteral("</h3>\r\n </div>\r\n <div class=\"col-xs-12 col-md-9 home-count d-none d-md-block\">\r\n <span class=\"search-count\" id=\"searchCounter\">0</span> <span>"); 3769 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")); 3770 WriteLiteral("</span>\r\n </div>\r\n </div>\r\n\r\n <form id=\"main-search-frontpage\" class=\"searchbar-wrapper\" action=\"/Default.aspx\" method=\"GET\">\r\n <input type=\"hidden\" name=\"ID\""); 3771 BeginWriteAttribute("value", " value=\'", 29022, "\'", 29043, 1); 3772 WriteAttributeValue("", 29030, searchPageId, 29030, 13, false); 3773 EndWriteAttribute(); 3774 WriteLiteral(@" id=""searchPageId-frontpage"" disabled=""disabled"" /> 3775 <div class=""row form-wrapper no-gutters""> 3776 3777 <div class=""col-xs-12 col-md-5 col-searchbar""> 3778 <div class=""searchbar""> 3779 <input type=""text"""); 3780 BeginWriteAttribute("name", " name=\"", 29321, "\"", 29348, 1); 3781 WriteAttributeValue("", 29328, querySearchNameAttr, 29328, 20, false); 3782 EndWriteAttribute(); 3783 WriteLiteral(" id=\"searchfield-frontpage\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\""); 3784 BeginWriteAttribute("value", " value=\"", 29461, "\"", 29539, 1); 3785 WriteAttributeValue("", 29469, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 29469, 70, false); 3786 EndWriteAttribute(); 3787 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom-frontpage\" name=\"zipcodefrom\""); 3788 BeginWriteAttribute("value", " value=\"", 29639, "\"", 29722, 1); 3789 WriteAttributeValue("", 29647, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 29647, 75, false); 3790 EndWriteAttribute(); 3791 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto-frontpage\" name=\"zipcodeto\""); 3792 BeginWriteAttribute("value", " value=\"", 29818, "\"", 29899, 1); 3793 WriteAttributeValue("", 29826, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 29826, 73, false); 3794 EndWriteAttribute(); 3795 WriteLiteral(@" /> 3796 </div> 3797 </div> 3798 <div class=""col-xs-12 col-md-5""> 3799 <div class=""row no-gutters""> 3800 <div class=""col-xs-12 col-md-6 input-col""> 3801 <div class=""dropdown w-overlay""> 3802 <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""> 3803 "); 3804 Write(Translate("Smartpage:Search.Boligtype", "Boligtype")); 3805 WriteLiteral(@" 3806 </button> 3807 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 3808 <ul class=""bolig-dropdown list-unstyled""> 3809 "); 3810 3811 RenderBoligtypeCheckboxesDropdown(); 3812 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 3813 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 3814 WriteLiteral(@"</button> 3815 </div> 3816 3817 </div> 3818 3819 </div> 3820 <div class=""col-xs-12 col-md-6 input-col""> 3821 <div class=""dropdown w-overlay""> 3822 <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""> 3823 "); 3824 Write(Translate("Smartpage:Search.Pris", "Pris")); 3825 WriteLiteral(@" 3826 </button> 3827 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris""> 3828 <input type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input"""); 3829 BeginWriteAttribute("placeholder", " placeholder=\'", 32078, "\'", 32154, 1); 3830 WriteAttributeValue("", 32092, Translate("Smartpage:Search.Placeholder.MinPris","Min. pris"), 32092, 62, false); 3831 EndWriteAttribute(); 3832 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3833 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")); 3834 WriteLiteral("</option>\r\n"); 3835 for (var i = 0; i <= 10000000; i += 100000) 3836 { 3837 if (i == 10000000) 3838 { 3839 WriteLiteral(" <option"); 3840 BeginWriteAttribute("value", " value=\"", 32763, "\"", 32773, 1); 3841 WriteAttributeValue("", 32771, i, 32771, 2, false); 3842 EndWriteAttribute(); 3843 WriteLiteral(" data-value=\'"); 3844 Write(Convert.ToInt32(i).ToString("N0")); 3845 WriteLiteral("+\'>"); 3846 Write(Convert.ToInt32(i).ToString("N0")); 3847 WriteLiteral("+</option>\r\n"); 3848 } 3849 else 3850 { 3851 WriteLiteral(" <option"); 3852 BeginWriteAttribute("value", " value=\"", 33085, "\"", 33095, 1); 3853 WriteAttributeValue("", 33093, i, 33093, 2, false); 3854 EndWriteAttribute(); 3855 WriteLiteral(" data-value=\'"); 3856 Write(Convert.ToInt32(i).ToString("N0")); 3857 WriteLiteral("\'>"); 3858 Write(Convert.ToInt32(i).ToString("N0")); 3859 WriteLiteral("</option>\r\n"); 3860 } 3861 } 3862 WriteLiteral(@" </select> 3863 <input type=""hidden"" id=""pricemin-frontpage"" name=""pricemin"" /> 3864 3865 <input type=""text"" class=""form-control js-auto-thousand js-pricemax-frontpage-input"""); 3866 BeginWriteAttribute("placeholder", " placeholder=\'", 33570, "\'", 33646, 1); 3867 WriteAttributeValue("", 33584, Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris"), 33584, 62, false); 3868 EndWriteAttribute(); 3869 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3870 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")); 3871 WriteLiteral("</option>\r\n"); 3872 for (var i = 0; i <= 10000000; i += 100000) 3873 { 3874 if (i == 10000000) 3875 { 3876 WriteLiteral(" <option"); 3877 BeginWriteAttribute("value", " value=\"", 34249, "\"", 34259, 1); 3878 WriteAttributeValue("", 34257, i, 34257, 2, false); 3879 EndWriteAttribute(); 3880 WriteLiteral(" data-value=\'"); 3881 Write(Convert.ToInt32(i).ToString("N0")); 3882 WriteLiteral("+\'>"); 3883 Write(Convert.ToInt32(i).ToString("N0")); 3884 WriteLiteral("+</option>\r\n"); 3885 } 3886 else 3887 { 3888 WriteLiteral(" <option"); 3889 BeginWriteAttribute("value", " value=\"", 34571, "\"", 34581, 1); 3890 WriteAttributeValue("", 34579, i, 34579, 2, false); 3891 EndWriteAttribute(); 3892 WriteLiteral(" data-value=\'"); 3893 Write(Convert.ToInt32(i).ToString("N0")); 3894 WriteLiteral("\'>"); 3895 Write(Convert.ToInt32(i).ToString("N0")); 3896 WriteLiteral("</option>\r\n"); 3897 } 3898 } 3899 WriteLiteral(" </select>\r\n <input type=\"hidden\" id=\"pricemax-frontpage\" name=\"pricemax\" />\r\n <button class=\"btn btn-primary js-close-dropdown mt-3\">"); 3900 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 3901 WriteLiteral(@"</button> 3902 </div> 3903 </div> 3904 </div> 3905 </div> 3906 </div> 3907 <div class=""col-xs-12 col-md-2 d-none d-md-block""> 3908 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 3909 Write(Translate("Smartpage:Search.Søg", "Søg")); 3910 WriteLiteral(@"</button> 3911 </div> 3912 </div> 3913 3914 <div class=""row moresearch-btn no-gutters""> 3915 <div class=""col-sm-12""> 3916 <div class=""row align-items-center no-gutters""> 3917 <div class=""col-12 col-md-4""> 3918 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch"" aria-expanded=""false"" aria-controls=""moreSearch""> 3919 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open"">"); 3920 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")); 3921 WriteLiteral("</span> <span class=\"open\"><span class=\"js-filter-count\">0</span> "); 3922 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt")); 3923 WriteLiteral(" </span></span>\r\n </button>\r\n </div>\r\n <div class=\"col-6 col-md-2 mb-xs-4\">\r\n <a class=\"js-reset reset-btn\">"); 3924 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg")); 3925 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch\">\r\n <h4 class=\"mt-20\"><b>"); 3926 Write(Translate("Smartpage:Search.Bolig", "Bolig")); 3927 WriteLiteral(@"</b></h4> 3928 <div class=""row align-items-end mb-30""> 3929 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 3930 <div class=""filter-container row""> 3931 <label class=""d-block col-12"">"); 3932 Write(Translate("Smartpage:Search.Boligareal", "Boligareal")); 3933 WriteLiteral(@"</label> 3934 <div class=""col-6 pr-sm-0 pr-2""> 3935 <input type=""text"" name=""boligarealmin"" id=""boligarealmin-frontpage"" class=""form-control js-boligarealmin-frontpage-input js-count"""); 3936 BeginWriteAttribute("placeholder", " placeholder=\'", 37447, "\'", 37519, 1); 3937 WriteAttributeValue("", 37461, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 37461, 58, false); 3938 EndWriteAttribute(); 3939 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3940 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 3941 WriteLiteral("</option>\r\n"); 3942 for (var i = 0; i <= 300; i += 10) 3943 { 3944 if (i == 300) 3945 { 3946 WriteLiteral(" <option"); 3947 BeginWriteAttribute("value", " value=\"", 38126, "\"", 38136, 1); 3948 WriteAttributeValue("", 38134, i, 38134, 2, false); 3949 EndWriteAttribute(); 3950 WriteLiteral(">"); 3951 Write(i); 3952 WriteLiteral("+</option>\r\n"); 3953 } 3954 else 3955 { 3956 WriteLiteral(" <option"); 3957 BeginWriteAttribute("value", " value=\"", 38383, "\"", 38393, 1); 3958 WriteAttributeValue("", 38391, i, 38391, 2, false); 3959 EndWriteAttribute(); 3960 WriteLiteral(">"); 3961 Write(i); 3962 WriteLiteral("</option>\r\n"); 3963 } 3964 } 3965 WriteLiteral(@" </select> 3966 </div> 3967 <div class=""col-6 pl-sm-0 pl-2""> 3968 <input type=""text"" name=""boligarealmax"" id=""boligarealmax-frontpage"" class=""form-control js-boligarealmax-frontpage-input js-count"""); 3969 BeginWriteAttribute("placeholder", " placeholder=\'", 38866, "\'", 38938, 1); 3970 WriteAttributeValue("", 38880, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 38880, 58, false); 3971 EndWriteAttribute(); 3972 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3973 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 3974 WriteLiteral("</option>\r\n"); 3975 for (var i = 0; i <= 300; i += 10) 3976 { 3977 if (i == 300) 3978 { 3979 WriteLiteral(" <option"); 3980 BeginWriteAttribute("value", " value=\"", 39545, "\"", 39555, 1); 3981 WriteAttributeValue("", 39553, i, 39553, 2, false); 3982 EndWriteAttribute(); 3983 WriteLiteral(">"); 3984 Write(i); 3985 WriteLiteral("+</option>\r\n"); 3986 } 3987 else 3988 { 3989 WriteLiteral(" <option"); 3990 BeginWriteAttribute("value", " value=\"", 39802, "\"", 39812, 1); 3991 WriteAttributeValue("", 39810, i, 39810, 2, false); 3992 EndWriteAttribute(); 3993 WriteLiteral(">"); 3994 Write(i); 3995 WriteLiteral("</option>\r\n"); 3996 } 3997 } 3998 WriteLiteral(@" </select> 3999 </div> 4000 </div> 4001 </div> 4002 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 4003 <div class=""filter-container row""> 4004 <label class=""d-block col-12"">"); 4005 Write(Translate("Smartpage:Search.Grundareal", "Grundareal")); 4006 WriteLiteral(@"</label> 4007 <div class=""col-6 pr-sm-0 pr-2""> 4008 <input type=""text"" name=""grundarealmin"" id=""grundarealmin-frontpage"" class=""form-control js-grundarealmin-frontpage-input js-count"""); 4009 BeginWriteAttribute("placeholder", " placeholder=\'", 40661, "\'", 40733, 1); 4010 WriteAttributeValue("", 40675, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 40675, 58, false); 4011 EndWriteAttribute(); 4012 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 4013 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 4014 WriteLiteral("</option>\r\n"); 4015 for (var i = 0; i <= 10000; i += 100) 4016 { 4017 if (i == 10000) 4018 { 4019 WriteLiteral(" <option"); 4020 BeginWriteAttribute("value", " value=\"", 41345, "\"", 41355, 1); 4021 WriteAttributeValue("", 41353, i, 41353, 2, false); 4022 EndWriteAttribute(); 4023 WriteLiteral(">"); 4024 Write(i); 4025 WriteLiteral("+</option>\r\n"); 4026 } 4027 else 4028 { 4029 WriteLiteral(" <option"); 4030 BeginWriteAttribute("value", " value=\"", 41602, "\"", 41612, 1); 4031 WriteAttributeValue("", 41610, i, 41610, 2, false); 4032 EndWriteAttribute(); 4033 WriteLiteral(">"); 4034 Write(i); 4035 WriteLiteral("</option>\r\n"); 4036 } 4037 } 4038 WriteLiteral(@" </select> 4039 </div> 4040 <div class=""col-6 pl-sm-0 pl-2""> 4041 <input type=""text"" name=""grundarealmax"" id=""grundarealmax-frontpage"" class=""form-control js-grundarealmax-frontpage-input js-count"""); 4042 BeginWriteAttribute("placeholder", " placeholder=\'", 42085, "\'", 42157, 1); 4043 WriteAttributeValue("", 42099, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 42099, 58, false); 4044 EndWriteAttribute(); 4045 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 4046 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 4047 WriteLiteral("</option>\r\n"); 4048 for (var i = 0; i <= 10000; i += 100) 4049 { 4050 if (i == 10000) 4051 { 4052 WriteLiteral(" <option"); 4053 BeginWriteAttribute("value", " value=\"", 42769, "\"", 42779, 1); 4054 WriteAttributeValue("", 42777, i, 42777, 2, false); 4055 EndWriteAttribute(); 4056 WriteLiteral(">"); 4057 Write(i); 4058 WriteLiteral("+</option>\r\n"); 4059 } 4060 else 4061 { 4062 WriteLiteral(" <option"); 4063 BeginWriteAttribute("value", " value=\"", 43026, "\"", 43036, 1); 4064 WriteAttributeValue("", 43034, i, 43034, 2, false); 4065 EndWriteAttribute(); 4066 WriteLiteral(">"); 4067 Write(i); 4068 WriteLiteral("</option>\r\n"); 4069 } 4070 } 4071 WriteLiteral(@" </select> 4072 </div> 4073 </div> 4074 </div> 4075 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 4076 <div class=""filter-container row""> 4077 <label class=""d-block col-12"">Antal rum</label> 4078 4079 <div class=""col-6 pr-sm-0 pr-2""> 4080 <select name=""roomsmin"" id=""roomsmin-frontpage"" class=""form-control reverse js-count""> 4081 <option selected=""true"" disabled=""disabled"">"); 4082 Write(Translate("Smartpage:Search.Placeholder.Min", "Min")); 4083 WriteLiteral(@"</option> 4084 <option value=""1"">1</option> 4085 <option value=""2"">2</option> 4086 <option value=""3"">3</option> 4087 <option value=""4"">4</option> 4088 <option value=""5+"">5+</option> 4089 </select> 4090 </div> 4091 <div class=""col-6 pl-sm-0 pl-2""> 4092 <select name=""roomsmax"" id=""roomsmax-frontpage"" class=""form-control reverse js-count""> 4093 <option selected=""true"" disabled=""disabled"">"); 4094 Write(Translate("Smartpage:Search.Placeholder.Max", "Max")); 4095 WriteLiteral(@"</option> 4096 <option value=""1"">1</option> 4097 <option value=""2"">2</option> 4098 <option value=""3"">3</option> 4099 <option value=""4"">4</option> 4100 <option value=""5+"">"); 4101 Write(Translate("Smartpage:Rooms.5", "5")); 4102 WriteLiteral(@"</option> 4103 </select> 4104 </div> 4105 </div> 4106 </div> 4107 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 4108 <div class=""row""> 4109 <div class=""col-12""> 4110 <div class=""filter-container""> 4111 <label class=""d-block"">Energimærke</label> 4112 <select name=""energylabel"" id=""energylabel-frontpage"" class=""form-control reverse js-count""> 4113 <option disabled selected=""selected"">"); 4114 Write(Translate("Smartpage:Search.Vælg", "Vælg")); 4115 WriteLiteral(@"</option> 4116 <option value=""01"">G</option> 4117 <option value=""02"">F</option> 4118 <option value=""03"">E</option> 4119 <option value=""04"">D</option> 4120 <option value=""05"">C</option> 4121 <option value=""06"">B</option> 4122 <option value=""07"">A</option> 4123 <option value=""08"">A2010</option> 4124 <option value=""09"">A2015</option> 4125 <option value=""10"">A2020+</option> 4126 </select> 4127 </div> 4128 </div> 4129 "); 4130 WriteLiteral(" </div>\r\n </div>\r\n <div class=\"col-12 col-sm-6 col-lg-3 mt-3\">\r\n <h4"); 4131 BeginWriteAttribute("class", " class=\"", 47281, "\"", 47289, 0); 4132 EndWriteAttribute(); 4133 WriteLiteral("><b>"); 4134 Write(Translate("Smartpage:Search.Økonomi", "Økonomi")); 4135 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">"); 4136 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")); 4137 WriteLiteral("</label>\r\n <div class=\"col-6 pr-sm-0 pr-2\">\r\n <input type=\"text\" name=\"subsidymin\" id=\"subsidymin-frontpage\" class=\"form-control js-subsidymin-frontpage-input js-count\""); 4138 BeginWriteAttribute("placeholder", " placeholder=\'", 47845, "\'", 47919, 1); 4139 WriteAttributeValue("", 47859, Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK"), 47859, 60, false); 4140 EndWriteAttribute(); 4141 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 4142 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")); 4143 WriteLiteral("</option>\r\n"); 4144 for (var i = 0; i <= 25000; i += 1250) 4145 { 4146 if (i == 25000) 4147 { 4148 WriteLiteral(" <option>"); 4149 Write(Convert.ToInt32(i).ToString("N0")); 4150 WriteLiteral("+</option>\r\n"); 4151 } 4152 else 4153 { 4154 WriteLiteral(" <option>"); 4155 Write(Convert.ToInt32(i).ToString("N0")); 4156 WriteLiteral("</option>\r\n"); 4157 } 4158 } 4159 WriteLiteral(@" </select> 4160 </div> 4161 <div class=""col-6 pl-sm-0 pl-2""> 4162 <input type=""text"" name=""subsidymax"" id=""subsidymax-frontpage"" class=""form-control js-subsidymax-frontpage-input js-count"""); 4163 BeginWriteAttribute("placeholder", " placeholder=\'", 49304, "\'", 49378, 1); 4164 WriteAttributeValue("", 49318, Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK"), 49318, 60, false); 4165 EndWriteAttribute(); 4166 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 4167 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")); 4168 WriteLiteral("</option>\r\n"); 4169 for (var i = 0; i <= 25000; i += 1250) 4170 { 4171 if (i == 25000) 4172 { 4173 WriteLiteral(" <option"); 4174 BeginWriteAttribute("value", " value=\"", 49990, "\"", 50017, 1); 4175 WriteAttributeValue("", 49998, Convert.ToInt32(i), 49998, 19, false); 4176 EndWriteAttribute(); 4177 WriteLiteral(">"); 4178 Write(Convert.ToInt32(i).ToString("N0")); 4179 WriteLiteral("+</option>\r\n"); 4180 } 4181 else 4182 { 4183 WriteLiteral(" <option"); 4184 BeginWriteAttribute("value", " value=\"", 50296, "\"", 50323, 1); 4185 WriteAttributeValue("", 50304, Convert.ToInt32(i), 50304, 19, false); 4186 EndWriteAttribute(); 4187 WriteLiteral(">"); 4188 Write(Convert.ToInt32(i).ToString("N0")); 4189 WriteLiteral("</option>\r\n"); 4190 } 4191 } 4192 WriteLiteral(@" </select> 4193 </div> 4194 </div> 4195 </div> 4196 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0""> 4197 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 4198 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")); 4199 WriteLiteral(@"</button> 4200 </div> 4201 </div> 4202 </div> 4203 </div> 4204 </div> 4205 4206 <div class=""row d-block d-md-none form-wrapper no-gutters""> 4207 <div class=""col-xs-12 col-md-2""> 4208 <button type=""submit"" class=""btn btn-block btn-search btn-mobile-search"">"); 4209 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig")); 4210 WriteLiteral(@"<i class=""fa fa-search cta-icon""></i></button> 4211 </div> 4212 </div> 4213 </form> 4214 <div class=""front-page-actions d-md-none""> 4215 <div> 4216 <button class=""btn btn-block btn-search btn-mobile-search js-search-mobile"">"); 4217 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig")); 4218 WriteLiteral("<i class=\"fa fa-search cta-icon\"></i></button>\r\n </div>\r\n <div>\r\n"); 4219 4220 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : ""; 4221 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER"); 4222 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\""); 4223 BeginWriteAttribute("value", " value=\"", 52266, "\"", 52289, 1); 4224 WriteAttributeValue("", 52274, brokerSearchId, 52274, 15, false); 4225 EndWriteAttribute(); 4226 WriteLiteral(@" type=""hidden"" /> 4227 <div class=""icon-wrapper-wclick""> 4228 <i class=""fas fa-search ta-submit-on-icon-click""></i> 4229 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text"""); 4230 BeginWriteAttribute("placeholder", " placeholder=\"", 52593, "\"", 52615, 1); 4231 WriteAttributeValue("", 52607, ctaText, 52607, 8, false); 4232 EndWriteAttribute(); 4233 WriteLiteral(" onfocus=\"this.placeholder = \'\'\""); 4234 BeginWriteAttribute("onblur", " onblur=\"", 52648, "\"", 52684, 3); 4235 WriteAttributeValue("", 52657, "this.placeholder=\'", 52657, 18, true); 4236 WriteAttributeValue("", 52675, ctaText, 52675, 8, false); 4237 WriteAttributeValue("", 52683, "\'", 52683, 1, true); 4238 EndWriteAttribute(); 4239 WriteLiteral(" />\r\n </div>\r\n </form>\r\n"); 4240 WriteLiteral(" </div>\r\n <div>\r\n <a href=\"javascript:panelSalgsvurdering(\'Hovedmenu\')\" class=\"btn btn-orange btn-block\">"); 4241 Write(Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING")); 4242 WriteLiteral("<i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n"); 4243 4244 } 4245 Custom.Integration.Brokers.Models.BrokerEmployee GetBrokerFromCurrentProduct() 4246 { 4247 string productId = Dynamicweb.Context.Current.Request["ProductId"]; 4248 4249 if (string.IsNullOrWhiteSpace(productId)) 4250 { 4251 return null; 4252 } 4253 4254 var propertyProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, string.Empty, true); 4255 if (propertyProduct == null) 4256 { 4257 return null; 4258 } 4259 4260 string employee = Dynamicweb.Core.Converter.ToString( 4261 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xAktoererMaeglerKontaktEmail") 4262 ); 4263 string storeId = Dynamicweb.Core.Converter.ToString( 4264 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xButikID") 4265 ); 4266 4267 if (string.IsNullOrWhiteSpace(employee) || string.IsNullOrWhiteSpace(storeId)) 4268 { 4269 return null; 4270 } 4271 4272 return Custom.Integration.Brokers.Search.GetEmployee(storeId, employee); 4273 } 4274 4275 string GetAgentTitleFromCurrentProduct() 4276 { 4277 var propBroker = GetBrokerFromCurrentProduct(); 4278 4279 if (propBroker?.Broker == null) 4280 { 4281 return string.Empty; 4282 } 4283 4284 if (!string.IsNullOrEmpty(propBroker.Broker.CompanyName)) 4285 { 4286 return propBroker.Broker.CompanyName; 4287 } 4288 4289 return propBroker.Broker.Name ?? string.Empty; 4290 } 4291 4292 string GetMasterBrokerUrlFromCurrentProduct() 4293 { 4294 var propBroker = GetBrokerFromCurrentProduct(); 4295 4296 var itemId = propBroker?.Broker?.ItemId; 4297 var itemType = propBroker?.Broker?.ItemType; 4298 4299 if (string.IsNullOrWhiteSpace(itemId) || string.IsNullOrWhiteSpace(itemType)) 4300 { 4301 return string.Empty; 4302 } 4303 var brokerItem = Dynamicweb.Content.Items.ItemManager.Storage.GetById(itemType, itemId); 4304 4305 if (brokerItem == null) 4306 { 4307 return string.Empty; 4308 } 4309 4310 var websiteId = Dynamicweb.Core.Converter.ToInt32(brokerItem["WebsiteId"]); 4311 var page = Dynamicweb.Content.Services.Pages.GetFirstPageForArea(websiteId); 4312 return Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("Default.aspx?Id=" + page?.ID); 4313 } 4314 4315 void RenderSlideMenu(bool erhverv, string maeglersoegning) 4316 { 4317 WriteLiteral(" <div id=\"menu\" \r\n class=\"main-menu-slide \"\r\n role=\"navigation\""); 4318 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 55864, "\"", 55980, 1); 4319 WriteAttributeValue("", 55891, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.MainMenu", "Hovedmenu")), 55891, 89, false); 4320 EndWriteAttribute(); 4321 WriteLiteral(@" 4322 aria-modal=""true""> 4323 <div class=""container""> 4324 <div class=""row""> 4325 <div class=""col-12""> 4326 <span class=""menu-headline"">MENU</span> 4327 </div> 4328 <div class=""menu-slide"" 4329 role=""button"" 4330 tabindex=""0"""); 4331 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 56345, "\"", 56473, 1); 4332 WriteAttributeValue("", 56384, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.CloseMenu", "Luk menu")), 56384, 89, false); 4333 EndWriteAttribute(); 4334 WriteLiteral(">\r\n <b aria-hidden=\"true\"></b>\r\n </div>\r\n <div class=\"col-12 main-slidemenu\" role=\"region\""); 4335 BeginWriteAttribute("aria-label", " aria-label=\"", 56625, "\"", 56741, 1); 4336 WriteAttributeValue("", 56638, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.NavigationLinks", "Navigationslinks")), 56638, 103, false); 4337 EndWriteAttribute(); 4338 WriteLiteral(">\r\n"); 4339 4340 var navigationSettings = new NavigationSettings(); 4341 navigationSettings.StartLevel = 1; 4342 navigationSettings.StopLevel = 2; 4343 navigationSettings.ExpandMode = ExpandMode.All; 4344 navigationSettings.RootAreaId = Pageview.Area.ID; 4345 4346 Write(Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings)); 4347 WriteLiteral(" </div>\r\n <div class=\"col-12 bottom-btns\">\r\n\r\n"); 4348 4349 string[] maeglerid; 4350 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0"; 4351 4352 if (erhverv) 4353 { 4354 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None); 4355 } 4356 else 4357 { 4358 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None); 4359 } 4360 4361 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\" role=\"search\">\r\n <input name=\"id\""); 4362 BeginWriteAttribute("value", " value=\"", 58238, "\"", 58259, 1); 4363 WriteAttributeValue("", 58246, maeglerid[1], 58246, 13, false); 4364 EndWriteAttribute(); 4365 WriteLiteral(" type=\"hidden\" />\r\n <div class=\"icon-wrapper-wclick\">\r\n <label for=\"broker-search-menu-vm\" class=\"sr-only\">"); 4366 Write(Translate("Custom:Accessibility.FindBroker", "Find mægler")); 4367 WriteLiteral(@"</label> 4368 <i class=""fas fa-search ta-submit-on-icon-click"" 4369 aria-hidden=""true"" 4370 role=""button"" 4371 tabindex=""0"""); 4372 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 58754, "\"", 58907, 1); 4373 WriteAttributeValue("", 58807, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.SearchBroker", "Søg efter mægler")), 58807, 100, false); 4374 EndWriteAttribute(); 4375 WriteLiteral(@"></i> 4376 <input id=""broker-search-menu-vm"" 4377 class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" 4378 name=""q"" 4379 type=""text"""); 4380 BeginWriteAttribute("placeholder", " \r\n placeholder=\"", 59215, "\"", 59366, 1); 4381 WriteAttributeValue("", 59274, HtmlEncoder.HtmlAttributeEncode(Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER")), 59274, 92, false); 4382 EndWriteAttribute(); 4383 BeginWriteAttribute("aria-label", " \r\n aria-label=\"", 59367, "\"", 59563, 1); 4384 WriteAttributeValue("", 59425, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.BrokerSearchField", "Indtast postnummer eller navn for at finde mægler")), 59425, 138, false); 4385 EndWriteAttribute(); 4386 WriteLiteral("\r\n onfocus=\"this.placeholder = \'FIND MÆGLER\'\" />\r\n </div>\r\n </form>\r\n"); 4387 WriteLiteral(" <br />\r\n"); 4388 4389 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + ""; 4390 WriteLiteral(" <a"); 4391 BeginWriteAttribute("href", " href=\"", 59973, "\"", 60044, 5); 4392 WriteAttributeValue("", 59980, "javascript:panelSalgsvurdering(\'", 59980, 32, true); 4393 WriteAttributeValue("", 60012, dpmaegler, 60012, 10, false); 4394 WriteAttributeValue("", 60022, "\',\'", 60022, 3, true); 4395 WriteAttributeValue("", 60025, Pageview.AreaID, 60025, 16, false); 4396 WriteAttributeValue("", 60041, "\');", 60041, 3, true); 4397 EndWriteAttribute(); 4398 WriteLiteral(" \r\n class=\"btn btn-block btn-default-invert js-close-menu\""); 4399 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 60129, "\"", 60285, 1); 4400 WriteAttributeValue("", 60170, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.FreeSalesAssessment", "Få gratis salgsvurdering")), 60170, 115, false); 4401 EndWriteAttribute(); 4402 WriteLiteral(">Gratis salgsvurdering <i class=\"cta-icon fa fa-angle-right\" aria-hidden=\"true\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n"); 4403 } 4404 4405 void RenderBlockList(List<Block> blocks) 4406 { 4407 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false; 4408 blocks = blocks.OrderBy(item => item.SortId).ToList(); 4409 4410 foreach (Block item in blocks) 4411 { 4412 if (debug) { 4413 WriteLiteral(" <!-- Block START: "); 4414 Write(item.Id); 4415 WriteLiteral(" -->\r\n"); 4416 } 4417 4418 if (item.Design == null) 4419 { 4420 RenderBlock(item); 4421 } 4422 else if (item.Design.RenderType == RenderType.None) { 4423 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 4424 4425 WriteLiteral(" <div"); 4426 BeginWriteAttribute("class", " class=\"", 61540, "\"", 61564, 2); 4427 WriteAttributeValue("", 61548, cssClass, 61548, 9, false); 4428 WriteAttributeValue(" ", 61557, "dw-mod", 61558, 7, true); 4429 EndWriteAttribute(); 4430 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4431 } 4432 else if (item.Design.RenderType != RenderType.Hide) 4433 { 4434 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 4435 4436 if (!item.SkipRenderBlocksList) { 4437 if (item.Design.RenderType == RenderType.Row) 4438 { 4439 WriteLiteral(" <div"); 4440 BeginWriteAttribute("class", " class=\"", 61991, "\"", 62046, 4); 4441 WriteAttributeValue("", 61999, "grid", 61999, 4, true); 4442 WriteAttributeValue(" ", 62003, "grid--align-content-start", 62004, 26, true); 4443 WriteAttributeValue(" ", 62029, cssClass, 62030, 9, false); 4444 WriteAttributeValue(" ", 62039, "dw-mod", 62040, 7, true); 4445 EndWriteAttribute(); 4446 BeginWriteAttribute("id", " id=\"", 62047, "\"", 62067, 2); 4447 WriteAttributeValue("", 62052, "Block__", 62052, 7, true); 4448 WriteAttributeValue("", 62059, item.Id, 62059, 8, false); 4449 EndWriteAttribute(); 4450 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4451 } 4452 4453 if (item.Design.RenderType == RenderType.Column) 4454 { 4455 string hidePadding = item.Design.HidePadding ? "u-no-padding" : ""; 4456 string size = item.Design.Size ?? "12"; 4457 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size; 4458 4459 WriteLiteral(" <div"); 4460 BeginWriteAttribute("class", " class=\"", 62563, "\"", 62694, 9); 4461 WriteAttributeValue("", 62571, "grid__col-lg-", 62571, 13, true); 4462 WriteAttributeValue("", 62584, item.Design.Size, 62584, 17, false); 4463 WriteAttributeValue(" ", 62601, "grid__col-md-", 62602, 14, true); 4464 WriteAttributeValue("", 62615, item.Design.Size, 62615, 17, false); 4465 WriteAttributeValue(" ", 62632, "grid__col-sm-12", 62633, 16, true); 4466 WriteAttributeValue(" ", 62648, "grid__col-xs-12", 62649, 16, true); 4467 WriteAttributeValue(" ", 62664, hidePadding, 62665, 12, false); 4468 WriteAttributeValue(" ", 62677, cssClass, 62678, 9, false); 4469 WriteAttributeValue(" ", 62687, "dw-mod", 62688, 7, true); 4470 EndWriteAttribute(); 4471 BeginWriteAttribute("id", " id=\"", 62695, "\"", 62715, 2); 4472 WriteAttributeValue("", 62700, "Block__", 62700, 7, true); 4473 WriteAttributeValue("", 62707, item.Id, 62707, 8, false); 4474 EndWriteAttribute(); 4475 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4476 } 4477 4478 if (item.Design.RenderType == RenderType.Table) 4479 { 4480 WriteLiteral(" <table"); 4481 BeginWriteAttribute("class", " class=\"", 62946, "\"", 62976, 3); 4482 WriteAttributeValue("", 62954, "table", 62954, 5, true); 4483 WriteAttributeValue(" ", 62959, cssClass, 62960, 9, false); 4484 WriteAttributeValue(" ", 62969, "dw-mod", 62970, 7, true); 4485 EndWriteAttribute(); 4486 BeginWriteAttribute("id", " id=\"", 62977, "\"", 62997, 2); 4487 WriteAttributeValue("", 62982, "Block__", 62982, 7, true); 4488 WriteAttributeValue("", 62989, item.Id, 62989, 8, false); 4489 EndWriteAttribute(); 4490 WriteLiteral(">\r\n RenderBlock(item);\r\n </table>\r\n"); 4491 } 4492 4493 if (item.Design.RenderType == RenderType.TableRow) 4494 { 4495 WriteLiteral(" <tr"); 4496 BeginWriteAttribute("class", " class=\"", 63230, "\"", 63254, 2); 4497 WriteAttributeValue("", 63238, cssClass, 63238, 9, false); 4498 WriteAttributeValue(" ", 63247, "dw-mod", 63248, 7, true); 4499 EndWriteAttribute(); 4500 BeginWriteAttribute("id", " id=\"", 63255, "\"", 63275, 2); 4501 WriteAttributeValue("", 63260, "Block__", 63260, 7, true); 4502 WriteAttributeValue("", 63267, item.Id, 63267, 8, false); 4503 EndWriteAttribute(); 4504 WriteLiteral(">\r\n RenderBlock(item);\r\n </tr>\r\n"); 4505 } 4506 4507 if (item.Design.RenderType == RenderType.TableColumn) 4508 { 4509 WriteLiteral(" <td"); 4510 BeginWriteAttribute("class", " class=\"", 63508, "\"", 63532, 2); 4511 WriteAttributeValue("", 63516, cssClass, 63516, 9, false); 4512 WriteAttributeValue(" ", 63525, "dw-mod", 63526, 7, true); 4513 EndWriteAttribute(); 4514 BeginWriteAttribute("id", " id=\"", 63533, "\"", 63553, 2); 4515 WriteAttributeValue("", 63538, "Block__", 63538, 7, true); 4516 WriteAttributeValue("", 63545, item.Id, 63545, 8, false); 4517 EndWriteAttribute(); 4518 WriteLiteral(">\r\n RenderBlock(item);\r\n </td>\r\n"); 4519 } 4520 4521 if (item.Design.RenderType == RenderType.CardHeader) 4522 { 4523 WriteLiteral(" <div"); 4524 BeginWriteAttribute("class", " class=\"", 63786, "\"", 63822, 3); 4525 WriteAttributeValue("", 63794, "card-header", 63794, 11, true); 4526 WriteAttributeValue(" ", 63805, cssClass, 63806, 9, false); 4527 WriteAttributeValue(" ", 63815, "dw-mod", 63816, 7, true); 4528 EndWriteAttribute(); 4529 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4530 } 4531 4532 if (item.Design.RenderType == RenderType.CardBody) 4533 { 4534 WriteLiteral(" <div"); 4535 BeginWriteAttribute("class", " class=\"", 64054, "\"", 64083, 3); 4536 WriteAttributeValue("", 64062, "card", 64062, 4, true); 4537 WriteAttributeValue(" ", 64066, cssClass, 64067, 9, false); 4538 WriteAttributeValue(" ", 64076, "dw-mod", 64077, 7, true); 4539 EndWriteAttribute(); 4540 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4541 } 4542 4543 if (item.Design.RenderType == RenderType.CardFooter) 4544 { 4545 WriteLiteral(" <div"); 4546 BeginWriteAttribute("class", " class=\"", 64317, "\"", 64353, 3); 4547 WriteAttributeValue("", 64325, "card-footer", 64325, 11, true); 4548 WriteAttributeValue(" ", 64336, cssClass, 64337, 9, false); 4549 WriteAttributeValue(" ", 64346, "dw-mod", 64347, 7, true); 4550 EndWriteAttribute(); 4551 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4552 } 4553 } 4554 else 4555 { 4556 RenderBlock(item); 4557 } 4558 } 4559 4560 if (debug) { 4561 WriteLiteral(" <!-- Block END: "); 4562 Write(item.Id); 4563 WriteLiteral(" -->\r\n"); 4564 } 4565 } 4566 } 4567 4568 void RenderBlock(Block item) 4569 { 4570 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false; 4571 4572 if (item.Template != null) 4573 { 4574 Write(BlocksPage.RenderTemplate(item.Template)); 4575 4576 } 4577 4578 if (item.Component != null) 4579 { 4580 string customSufix = "Custom"; 4581 string methodName = item.Component.HelperName; 4582 4583 ComponentBase[] methodParameters = new ComponentBase[1]; 4584 methodParameters[0] = item.Component; 4585 Type methodType = this.GetType(); 4586 4587 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix); 4588 MethodInfo generalMethod = methodType.GetMethod(methodName); 4589 4590 try { 4591 if (debug) { 4592 WriteLiteral(" <!-- Component: "); 4593 Write(methodName.Replace("Render", "")); 4594 WriteLiteral(" -->\r\n"); 4595 } 4596 Write(customMethod.Invoke(this, methodParameters).ToString()); 4597 ; 4598 } catch { 4599 try { 4600 Write(generalMethod.Invoke(this, methodParameters).ToString()); 4601 4602 ; 4603 } catch(Exception ex) { 4604 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex); 4605 } 4606 } 4607 } 4608 4609 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList) 4610 { 4611 RenderBlockList(item.BlocksList); 4612 } 4613 } 4614 4615 void Render(ComponentBase component) 4616 { 4617 if (component != null) 4618 { 4619 Write(component.Render(this)); 4620 4621 } 4622 } 4623 4624 void RenderIcon(Icon settings) 4625 { 4626 if (settings != null) 4627 { 4628 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 4629 4630 if (settings.Name != null) 4631 { 4632 if (string.IsNullOrEmpty(settings.Label)) 4633 { 4634 WriteLiteral(" <i"); 4635 BeginWriteAttribute("class", " class=\"", 67249, "\"", 67307, 3); 4636 WriteAttributeValue("", 67257, settings.Prefix, 67257, 16, false); 4637 WriteAttributeValue(" ", 67273, settings.Name, 67274, 14, false); 4638 WriteAttributeValue(" ", 67288, settings.CssClass, 67289, 18, false); 4639 EndWriteAttribute(); 4640 WriteLiteral(" "); 4641 Write(color); 4642 WriteLiteral("></i>\r\n"); 4643 } 4644 else 4645 { 4646 if (settings.LabelPosition == IconLabelPosition.Before) 4647 { 4648 WriteLiteral(" <div"); 4649 BeginWriteAttribute("class", " class=\"", 67510, "\"", 67570, 3); 4650 WriteAttributeValue("", 67518, "u-flex", 67518, 6, true); 4651 WriteAttributeValue(" ", 67524, "u-flex--align-items-center", 67525, 27, true); 4652 WriteAttributeValue(" ", 67551, settings.CssClass, 67552, 18, false); 4653 EndWriteAttribute(); 4654 WriteLiteral(">"); 4655 Write(settings.Label); 4656 WriteLiteral(" <i"); 4657 BeginWriteAttribute("class", " class=\"", 67590, "\"", 67643, 3); 4658 WriteAttributeValue("", 67598, settings.Prefix, 67598, 16, false); 4659 WriteAttributeValue(" ", 67614, settings.Name, 67615, 14, false); 4660 WriteAttributeValue(" ", 67629, "u-margin-left", 67630, 14, true); 4661 EndWriteAttribute(); 4662 WriteLiteral(" "); 4663 Write(color); 4664 WriteLiteral("></i></div>\r\n"); 4665 } 4666 else 4667 { 4668 WriteLiteral(" <div"); 4669 BeginWriteAttribute("class", " class=\"", 67764, "\"", 67824, 3); 4670 WriteAttributeValue("", 67772, "u-flex", 67772, 6, true); 4671 WriteAttributeValue(" ", 67778, "u-flex--align-items-center", 67779, 27, true); 4672 WriteAttributeValue(" ", 67805, settings.CssClass, 67806, 18, false); 4673 EndWriteAttribute(); 4674 WriteLiteral("><i"); 4675 BeginWriteAttribute("class", " class=\"", 67828, "\"", 67894, 4); 4676 WriteAttributeValue("", 67836, settings.Prefix, 67836, 16, false); 4677 WriteAttributeValue(" ", 67852, settings.Name, 67853, 14, false); 4678 WriteAttributeValue(" ", 67867, "u-margin-right--lg", 67868, 19, true); 4679 WriteAttributeValue(" ", 67886, "u-w20px", 67887, 8, true); 4680 EndWriteAttribute(); 4681 WriteLiteral(" "); 4682 Write(color); 4683 WriteLiteral("></i>"); 4684 Write(settings.Label); 4685 WriteLiteral("</div>\r\n"); 4686 } 4687 } 4688 } 4689 else if (!string.IsNullOrEmpty(settings.Label)) 4690 { 4691 Write(settings.Label); 4692 4693 } 4694 } 4695 } 4696 4697 void RenderButton(Button settings) 4698 { 4699 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 4700 { 4701 Dictionary<string, string> attributes = new Dictionary<string, string>(); 4702 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 4703 if (settings.Disabled) { 4704 attributes.Add("disabled", "true"); 4705 classList.Add("disabled"); 4706 } 4707 4708 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle)) 4709 { 4710 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 4711 RenderConfirmDialog(settings); 4712 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true"; 4713 } 4714 4715 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 4716 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 4717 if (!string.IsNullOrEmpty(settings.AltText)) 4718 { 4719 attributes.Add("title", settings.AltText); 4720 } 4721 else if (!string.IsNullOrEmpty(settings.Title)) 4722 { 4723 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty); 4724 cleanTitle = cleanTitle.Replace("&nbsp;", " "); 4725 attributes.Add("title", cleanTitle); 4726 } 4727 4728 var onClickEvents = new List<string>(); 4729 if (!string.IsNullOrEmpty(settings.OnClick)) 4730 { 4731 onClickEvents.Add(settings.OnClick); 4732 } 4733 if (!string.IsNullOrEmpty(settings.Href)) 4734 { 4735 if (settings.Href.Contains("javascript")) 4736 { 4737 settings.Href = settings.Href.Replace("http://", ""); 4738 } 4739 onClickEvents.Add("location.href='" + settings.Href + "'"); 4740 } 4741 if (onClickEvents.Count > 0) 4742 { 4743 attributes.Add("onClick", string.Join(";", onClickEvents)); 4744 } 4745 4746 if (settings.ButtonLayout != ButtonLayout.None) 4747 { 4748 classList.Add("btn"); 4749 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 4750 if (btnLayout == "linkclean") 4751 { 4752 btnLayout = "link-clean"; //fix 4753 } 4754 classList.Add("btn--" + btnLayout); 4755 } 4756 4757 if (settings.Icon == null) 4758 { 4759 settings.Icon = new Icon(); 4760 } 4761 4762 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : ""; 4763 settings.Icon.Label = settings.Title; 4764 4765 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower()); 4766 4767 WriteLiteral(" <button"); 4768 BeginWriteAttribute("class", " class=\"", 71487, "\"", 71530, 2); 4769 WriteAttributeValue("", 71495, string.Join(" ", classList), 71495, 28, false); 4770 WriteAttributeValue(" ", 71523, "dw-mod", 71524, 7, true); 4771 EndWriteAttribute(); 4772 WriteLiteral(" "); 4773 Write(ComponentMethods.AddAttributes(attributes)); 4774 WriteLiteral(" "); 4775 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 4776 WriteLiteral(">"); 4777 RenderIcon(settings.Icon);WriteLiteral("</button>\r\n"); 4778 } 4779 } 4780 4781 void RenderConfirmDialog(Button settings) 4782 { 4783 Modal confirmDialog = new Modal { 4784 Id = settings.Id, 4785 Width = ModalWidth.Sm, 4786 Heading = new Heading 4787 { 4788 Level = 2, 4789 Title = settings.ConfirmTitle 4790 }, 4791 BodyText = settings.ConfirmText 4792 }; 4793 4794 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"}); 4795 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick }); 4796 4797 RenderModal(confirmDialog); 4798 } 4799 4800 void RenderLink(Link settings) 4801 { 4802 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 4803 { 4804 Dictionary<string, string> attributes = new Dictionary<string, string>(); 4805 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 4806 if (settings.Disabled) 4807 { 4808 attributes.Add("disabled", "true"); 4809 classList.Add("disabled"); 4810 } 4811 4812 if (!string.IsNullOrEmpty(settings.AltText)) 4813 { 4814 attributes.Add("title", settings.AltText); 4815 } 4816 else if (!string.IsNullOrEmpty(settings.Title)) 4817 { 4818 attributes.Add("title", settings.Title); 4819 } 4820 4821 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 4822 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 4823 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); } 4824 attributes.Add("href", settings.Href); 4825 4826 if (settings.ButtonLayout != ButtonLayout.None) 4827 { 4828 classList.Add("btn"); 4829 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 4830 if (btnLayout == "linkclean") 4831 { 4832 btnLayout = "link-clean"; //fix 4833 } 4834 classList.Add("btn--" + btnLayout); 4835 } 4836 4837 if (settings.Icon == null) 4838 { 4839 settings.Icon = new Icon(); 4840 } 4841 settings.Icon.Label = settings.Title; 4842 4843 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None) 4844 { 4845 settings.Rel = LinkRelType.Noopener; 4846 } 4847 if (settings.Target != LinkTargetType.None) 4848 { 4849 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower()); 4850 } 4851 if (settings.Download) 4852 { 4853 attributes.Add("download", "true"); 4854 } 4855 if (settings.Rel != LinkRelType.None) 4856 { 4857 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower()); 4858 } 4859 4860 WriteLiteral(" <a"); 4861 BeginWriteAttribute("class", " class=\"", 75262, "\"", 75305, 2); 4862 WriteAttributeValue("", 75270, string.Join(" ", classList), 75270, 28, false); 4863 WriteAttributeValue(" ", 75298, "dw-mod", 75299, 7, true); 4864 EndWriteAttribute(); 4865 WriteLiteral(" "); 4866 Write(ComponentMethods.AddAttributes(attributes)); 4867 WriteLiteral(" "); 4868 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 4869 WriteLiteral(">Render(settings.Icon);</a>\r\n"); 4870 } 4871 } 4872 4873 void RenderRating(Rating settings) 4874 { 4875 if (settings.Score > 0) 4876 { 4877 int rating = settings.Score; 4878 string iconType = "fa-star"; 4879 4880 switch (settings.Type.ToString()) { 4881 case "Stars": 4882 iconType = "fa-star"; 4883 break; 4884 case "Hearts": 4885 iconType = "fa-heart"; 4886 break; 4887 case "Lemons": 4888 iconType = "fa-lemon"; 4889 break; 4890 case "Bombs": 4891 iconType = "fa-bomb"; 4892 break; 4893 } 4894 4895 WriteLiteral(" <div class=\"u-ta-right\">\r\n"); 4896 for (int i = 0; i < settings.OutOf; i++) 4897 { 4898 WriteLiteral(" <i"); 4899 BeginWriteAttribute("class", " class=\"", 76439, "\"", 76486, 2); 4900 WriteAttributeValue("", 76447, rating > i ? "fas" : "far", 76447, 29, false); 4901 WriteAttributeValue(" ", 76476, iconType, 76477, 9, false); 4902 EndWriteAttribute(); 4903 WriteLiteral("></i>\r\n"); 4904 } 4905 WriteLiteral(" </div>\r\n"); 4906 } 4907 } 4908 4909 void RenderNavigation(Navigation settings) { 4910 RenderNavigation(new 4911 { 4912 id = settings.Id, 4913 cssclass = settings.CssClass, 4914 startLevel = settings.StartLevel, 4915 endlevel = settings.EndLevel, 4916 expandmode = settings.Expandmode, 4917 sitemapmode = settings.SitemapMode, 4918 template = settings.Template 4919 }); 4920 } 4921 4922 void RenderLeftNavigation(LeftNavigation settings) { 4923 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id; 4924 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template; 4925 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel; 4926 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel; 4927 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode; 4928 4929 WriteLiteral(" <div class=\"grid__cell\">\r\n RenderNavigation(settings);\r\n </div> \r\n"); 4930 } 4931 4932 void RenderHeading(Heading settings) 4933 { 4934 if (settings != null && !string.IsNullOrEmpty(settings.Title)) 4935 { 4936 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 4937 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div"; 4938 4939 Write("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">"); 4940 4941 if (!string.IsNullOrEmpty(settings.Link)) 4942 { 4943 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None }); 4944 } 4945 else 4946 { 4947 if (settings.Icon == null) 4948 { 4949 settings.Icon = new Icon(); 4950 } 4951 settings.Icon.Label = settings.Title; 4952 RenderIcon(settings.Icon); 4953 } 4954 Write("</" + tagName + ">"); 4955 ; 4956 } 4957 } 4958 4959 void RenderImage(Image settings) 4960 { 4961 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None) 4962 { 4963 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 4964 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); } 4965 4966 if (settings.Caption != null) 4967 { 4968 WriteLiteral(" "); 4969 WriteLiteral("<div>\r\n"); 4970 } 4971 4972 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower(); 4973 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower(); 4974 4975 WriteLiteral(" <div"); 4976 BeginWriteAttribute("class", " class=\"", 79967, "\"", 80048, 5); 4977 WriteAttributeValue("", 79975, "image-filter", 79975, 12, true); 4978 WriteAttributeValue(" ", 79987, "image-filter--", 79988, 15, true); 4979 WriteAttributeValue("", 80002, primaryFilterClass, 80002, 19, false); 4980 WriteAttributeValue(" ", 80021, "u-position-relative", 80022, 20, true); 4981 WriteAttributeValue(" ", 80041, "dw-mod", 80042, 7, true); 4982 EndWriteAttribute(); 4983 WriteLiteral(" "); 4984 Write(ComponentMethods.AddAttributes(optionalAttributes)); 4985 WriteLiteral(">\r\n <div"); 4986 BeginWriteAttribute("class", " class=\"", 80128, "\"", 80191, 4); 4987 WriteAttributeValue("", 80136, "image-filter", 80136, 12, true); 4988 WriteAttributeValue(" ", 80148, "image-filter--", 80149, 15, true); 4989 WriteAttributeValue("", 80163, secondaryFilterClass, 80163, 21, false); 4990 WriteAttributeValue(" ", 80184, "dw-mod", 80185, 7, true); 4991 EndWriteAttribute(); 4992 WriteLiteral(">\r\n"); 4993 if (settings.Link != null) 4994 { 4995 WriteLiteral(" <a"); 4996 BeginWriteAttribute("href", " href=\"", 80305, "\"", 80326, 1); 4997 WriteAttributeValue("", 80312, settings.Link, 80312, 14, false); 4998 EndWriteAttribute(); 4999 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n"); 5000 } 5001 else 5002 { 5003 RenderTheImage(settings); 5004 } 5005 WriteLiteral(" </div>\r\n </div>\r\n"); 5006 5007 if (settings.Caption != null) 5008 { 5009 WriteLiteral(" <span class=\"image-caption dw-mod\">"); 5010 Write(settings.Caption); 5011 WriteLiteral("</span>\r\n "); 5012 WriteLiteral("</div>\r\n"); 5013 } 5014 } 5015 else 5016 { 5017 if (settings.Caption != null) 5018 { 5019 WriteLiteral(" "); 5020 WriteLiteral("<div>\r\n"); 5021 } 5022 if (!string.IsNullOrEmpty(settings.Link)) 5023 { 5024 WriteLiteral(" <a"); 5025 BeginWriteAttribute("href", " href=\"", 81069, "\"", 81090, 1); 5026 WriteAttributeValue("", 81076, settings.Link, 81076, 14, false); 5027 EndWriteAttribute(); 5028 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n"); 5029 } 5030 else 5031 { 5032 RenderTheImage(settings); 5033 } 5034 5035 if (settings.Caption != null) 5036 { 5037 WriteLiteral(" <span class=\"image-caption dw-mod\">"); 5038 Write(settings.Caption); 5039 WriteLiteral("</span>\r\n "); 5040 WriteLiteral("</div>\r\n"); 5041 } 5042 } 5043 } 5044 5045 void RenderTheImage(Image settings) 5046 { 5047 if (settings != null) 5048 { 5049 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg"; 5050 string placeholderImage = "/Files/Images/placeholder.gif"; 5051 string imageEngine = "/Admin/Public/GetImage.ashx?"; 5052 5053 string imageStyle = ""; 5054 5055 switch (settings.Style) 5056 { 5057 case ImageStyle.Ball: 5058 imageStyle = "grid__cell-img--ball"; 5059 break; 5060 5061 case ImageStyle.Triangle: 5062 imageStyle = "grid__cell-img--triangle"; 5063 break; 5064 } 5065 5066 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle) 5067 { 5068 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop; 5069 5070 if (settings.ImageDefault != null) 5071 { 5072 settings.ImageDefault.Height = settings.ImageDefault.Width; 5073 } 5074 if (settings.ImageMedium != null) 5075 { 5076 settings.ImageMedium.Height = settings.ImageMedium.Width; 5077 } 5078 if (settings.ImageSmall != null) 5079 { 5080 settings.ImageSmall.Height = settings.ImageSmall.Width; 5081 } 5082 } 5083 5084 string defaultImage = imageEngine; 5085 string imageSmall = ""; 5086 string imageMedium = ""; 5087 5088 if (settings.DisableImageEngine) 5089 { 5090 defaultImage = settings.Path; 5091 } 5092 else 5093 { 5094 if (settings.ImageDefault != null) 5095 { 5096 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault); 5097 5098 if (settings.Path.GetType() != typeof(string)) 5099 { 5100 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 5101 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 5102 } 5103 else 5104 { 5105 defaultImage += settings.Path != null ? "Image=" + settings.Path : ""; 5106 } 5107 5108 defaultImage += "&AlternativeImage=" + alternativeImage; 5109 } 5110 5111 if (settings.ImageSmall != null) 5112 { 5113 imageSmall = "data-src-small=\"" + imageEngine; 5114 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall); 5115 5116 if (settings.Path.GetType() != typeof(string)) 5117 { 5118 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 5119 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 5120 } 5121 else 5122 { 5123 imageSmall += settings.Path != null ? "Image=" + settings.Path : ""; 5124 } 5125 5126 imageSmall += "&alternativeImage=" + alternativeImage; 5127 5128 imageSmall += "\""; 5129 } 5130 5131 if (settings.ImageMedium != null) 5132 { 5133 imageMedium = "data-src-medium=\"" + imageEngine; 5134 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium); 5135 5136 if (settings.Path.GetType() != typeof(string)) 5137 { 5138 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 5139 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 5140 } 5141 else 5142 { 5143 imageMedium += settings.Path != null ? "Image=" + settings.Path : ""; 5144 } 5145 5146 imageMedium += "&alternativeImage=" + alternativeImage; 5147 5148 imageMedium += "\""; 5149 } 5150 } 5151 5152 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 5153 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); } 5154 if (!string.IsNullOrEmpty(settings.Title)) 5155 { 5156 optionalAttributes.Add("alt", settings.Title); 5157 optionalAttributes.Add("title", settings.Title); 5158 } 5159 5160 if (settings.DisableLazyLoad) 5161 { 5162 WriteLiteral(" <img"); 5163 BeginWriteAttribute("id", " id=\"", 86569, "\"", 86586, 1); 5164 WriteAttributeValue("", 86574, settings.Id, 86574, 12, false); 5165 EndWriteAttribute(); 5166 BeginWriteAttribute("class", " class=\"", 86587, "\"", 86632, 3); 5167 WriteAttributeValue("", 86595, imageStyle, 86595, 11, false); 5168 WriteAttributeValue(" ", 86606, settings.CssClass, 86607, 18, false); 5169 WriteAttributeValue(" ", 86625, "dw-mod", 86626, 7, true); 5170 EndWriteAttribute(); 5171 BeginWriteAttribute("src", " src=\"", 86633, "\"", 86652, 1); 5172 WriteAttributeValue("", 86639, defaultImage, 86639, 13, false); 5173 EndWriteAttribute(); 5174 WriteLiteral(" "); 5175 Write(ComponentMethods.AddAttributes(optionalAttributes)); 5176 WriteLiteral(" "); 5177 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5178 WriteLiteral(" />\r\n"); 5179 } 5180 else 5181 { 5182 5183 WriteLiteral(" <img"); 5184 BeginWriteAttribute("id", " id=\"", 86850, "\"", 86867, 1); 5185 WriteAttributeValue("", 86855, settings.Id, 86855, 12, false); 5186 EndWriteAttribute(); 5187 BeginWriteAttribute("class", " class=\"", 86868, "\"", 86913, 3); 5188 WriteAttributeValue("", 86876, imageStyle, 86876, 11, false); 5189 WriteAttributeValue(" ", 86887, settings.CssClass, 86888, 18, false); 5190 WriteAttributeValue(" ", 86906, "dw-mod", 86907, 7, true); 5191 EndWriteAttribute(); 5192 WriteLiteral(" loading=\"lazy\""); 5193 BeginWriteAttribute("src", " src=\"", 86929, "\"", 86948, 1); 5194 WriteAttributeValue("", 86935, defaultImage, 86935, 13, false); 5195 EndWriteAttribute(); 5196 WriteLiteral(" "); 5197 Write(ComponentMethods.AddAttributes(optionalAttributes)); 5198 WriteLiteral(" "); 5199 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5200 WriteLiteral(" />\r\n"); 5201 } 5202 } 5203 } 5204 5205 void RenderHiddenField(HiddenField settings) { 5206 var attributes = new Dictionary<string, string>(); 5207 attributes.Add("type", "hidden"); 5208 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5209 if (settings.Value != null) { attributes.Add("value", settings.Value); } 5210 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 5211 5212 WriteLiteral(" <input "); 5213 Write(ComponentMethods.AddAttributes(attributes)); 5214 WriteLiteral(" "); 5215 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5216 WriteLiteral("/>\r\n"); 5217 } 5218 5219 void RenderRadioButtonField(RadioButtonField settings) 5220 { 5221 var attributes = new Dictionary<string, string>(); 5222 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 5223 { 5224 settings.Id = Guid.NewGuid().ToString("N"); 5225 } 5226 5227 /*base settings*/ 5228 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5229 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 5230 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 5231 if (settings.Disabled) { attributes.Add("disabled", "true"); } 5232 if (settings.Required) { attributes.Add("required", "true"); } 5233 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 5234 /*end*/ 5235 5236 attributes.Add("type", "radio"); 5237 if (settings.Checked) { attributes.Add("checked", "true"); } 5238 settings.CssClass = "form__control " + settings.CssClass; 5239 if (settings.Value != null) { attributes.Add("value", settings.Value); } 5240 5241 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 5242 5243 WriteLiteral(" <div"); 5244 BeginWriteAttribute("class", " class=\"", 89268, "\"", 89326, 3); 5245 WriteAttributeValue("", 89276, "form__field-group", 89276, 17, true); 5246 WriteAttributeValue(" ", 89293, settings.WrapperCssClass, 89294, 25, false); 5247 WriteAttributeValue(" ", 89319, "dw-mod", 89320, 7, true); 5248 EndWriteAttribute(); 5249 WriteLiteral(">\r\n <input "); 5250 Write(ComponentMethods.AddAttributes(resultAttributes)); 5251 WriteLiteral(" class=\""); 5252 Write(settings.CssClass); 5253 WriteLiteral(" dw-mod\" />\r\n"); 5254 if (!string.IsNullOrEmpty(settings.Label)) 5255 { 5256 WriteLiteral(" <label"); 5257 BeginWriteAttribute("for", " for=\"", 89531, "\"", 89549, 1); 5258 WriteAttributeValue("", 89537, settings.Id, 89537, 12, false); 5259 EndWriteAttribute(); 5260 WriteLiteral(" class=\"dw-mod\">"); 5261 Write(settings.Label); 5262 WriteLiteral("</label>\r\n"); 5263 } 5264 if (!string.IsNullOrEmpty(settings.HelpText)) 5265 { 5266 WriteLiteral(" <small class=\"form__help-text\">"); 5267 Write(settings.HelpText); 5268 WriteLiteral("</small>\r\n"); 5269 } 5270 WriteLiteral(" Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n"); 5271 } 5272 5273 void RenderRadioButtonListField(RadioButtonListField settings) 5274 { 5275 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 5276 5277 WriteLiteral(" <div"); 5278 BeginWriteAttribute("class", " class=\"", 90264, "\"", 90338, 4); 5279 WriteAttributeValue("", 90272, "form__field-group", 90272, 17, true); 5280 WriteAttributeValue(" ", 90289, settings.WrapperCssClass, 90290, 25, false); 5281 WriteAttributeValue(" ", 90315, "u-margin-bottom", 90316, 16, true); 5282 WriteAttributeValue(" ", 90331, "dw-mod", 90332, 7, true); 5283 EndWriteAttribute(); 5284 WriteLiteral(" "); 5285 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5286 WriteLiteral(">\r\n"); 5287 if (!string.IsNullOrEmpty(settings.Label)) 5288 { 5289 WriteLiteral(" <label>"); 5290 Write(settings.Label); 5291 WriteLiteral("</label>\r\n"); 5292 } 5293 if (!string.IsNullOrEmpty(settings.HelpText)) 5294 { 5295 WriteLiteral(" <small class=\"form__help-text\">"); 5296 Write(settings.HelpText); 5297 WriteLiteral("</small>\r\n"); 5298 } 5299 WriteLiteral("\r\n"); 5300 foreach (var item in settings.Options) 5301 { 5302 if (settings.Required) 5303 { 5304 item.Required = true; 5305 } 5306 if (settings.Disabled) 5307 { 5308 item.Disabled = true; 5309 } 5310 if (!string.IsNullOrEmpty(settings.Name)) 5311 { 5312 item.Name = settings.Name; 5313 } 5314 if (settings.Value != null && settings.Value == item.Value) 5315 { 5316 item.Checked = true; 5317 } 5318 if (!string.IsNullOrEmpty(settings.OnClick)) 5319 { 5320 item.OnClick += settings.OnClick; 5321 } 5322 if (!string.IsNullOrEmpty(settings.OnChange)) 5323 { 5324 item.OnChange += settings.OnChange; 5325 } 5326 if (!string.IsNullOrEmpty(settings.CssClass)) 5327 { 5328 item.CssClass += settings.CssClass; 5329 } 5330 Render(item); 5331 } 5332 WriteLiteral("\r\n Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n"); 5333 } 5334 5335 void RenderForm(Form settings) { 5336 if (settings != null) 5337 { 5338 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 5339 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); }; 5340 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); }; 5341 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); }; 5342 var enctypes = new Dictionary<string, string> 5343 { 5344 { "multipart", "multipart/form-data" }, 5345 { "text", "text/plain" }, 5346 { "application", "application/x-www-form-urlencoded" } 5347 }; 5348 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); }; 5349 optionalAttributes.Add("method", settings.Method.ToString()); 5350 5351 if (!string.IsNullOrEmpty(settings.FormStartMarkup)) 5352 { 5353 Write(settings.FormStartMarkup); 5354 5355 } 5356 else 5357 { 5358 WriteLiteral(" "); 5359 WriteLiteral("<form class=\""); 5360 Write(settings.CssClass); 5361 WriteLiteral(" u-no-margin dw-mod\" "); 5362 Write(ComponentMethods.AddAttributes(optionalAttributes)); 5363 WriteLiteral(" "); 5364 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5365 WriteLiteral(">\r\n"); 5366 } 5367 5368 foreach (var field in settings.GetFields()) 5369 { 5370 Render(field); 5371 } 5372 5373 WriteLiteral(" "); 5374 WriteLiteral("</form>\r\n"); 5375 } 5376 } 5377 5378 void RenderText(Text settings) 5379 { 5380 Write(settings.Content); 5381 5382 } 5383 5384 void RenderContentModule(ContentModule settings) { 5385 if (!string.IsNullOrEmpty(settings.Content)) 5386 { 5387 Write(settings.Content); 5388 5389 } 5390 } 5391 5392 void RenderModal(Modal settings) { 5393 if (settings != null) 5394 { 5395 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 5396 5397 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : ""; 5398 5399 WriteLiteral(" <input type=\"checkbox\""); 5400 BeginWriteAttribute("id", " id=\"", 94734, "\"", 94761, 2); 5401 WriteAttributeValue("", 94739, modalId, 94739, 10, false); 5402 WriteAttributeValue("", 94749, "ModalTrigger", 94749, 12, true); 5403 EndWriteAttribute(); 5404 WriteLiteral(" class=\"modal-trigger\" "); 5405 Write(onchange); 5406 WriteLiteral(" />\r\n"); 5407 WriteLiteral(" <div class=\"modal-container\">\r\n"); 5408 if (!settings.DisableDarkOverlay) 5409 { 5410 WriteLiteral(" <label"); 5411 BeginWriteAttribute("for", " for=\"", 94941, "\"", 94969, 2); 5412 WriteAttributeValue("", 94947, modalId, 94947, 10, false); 5413 WriteAttributeValue("", 94957, "ModalTrigger", 94957, 12, true); 5414 EndWriteAttribute(); 5415 BeginWriteAttribute("id", " id=\"", 94970, "\"", 94997, 2); 5416 WriteAttributeValue("", 94975, modalId, 94975, 10, false); 5417 WriteAttributeValue("", 94985, "ModalOverlay", 94985, 12, true); 5418 EndWriteAttribute(); 5419 WriteLiteral(" class=\"modal-overlay\"></label>\r\n"); 5420 } 5421 WriteLiteral(" <div"); 5422 BeginWriteAttribute("class", " class=\"", 95070, "\"", 95179, 5); 5423 WriteAttributeValue("", 95078, "modal", 95078, 5, true); 5424 WriteAttributeValue(" ", 95083, "modal--", 95084, 8, true); 5425 WriteAttributeValue("", 95091, settings.Width.ToString().ToLower(), 95091, 36, false); 5426 WriteAttributeValue(" ", 95127, "modal-height--", 95128, 15, true); 5427 WriteAttributeValue("", 95142, settings.Height.ToString().ToLower(), 95142, 37, false); 5428 EndWriteAttribute(); 5429 BeginWriteAttribute("id", " id=\"", 95180, "\"", 95200, 2); 5430 WriteAttributeValue("", 95185, modalId, 95185, 10, false); 5431 WriteAttributeValue("", 95195, "Modal", 95195, 5, true); 5432 EndWriteAttribute(); 5433 WriteLiteral(">\r\n"); 5434 if (settings.Heading != null) 5435 { 5436 if (!string.IsNullOrEmpty(settings.Heading.Title)) 5437 { 5438 WriteLiteral(" <div class=\"modal__header\">\r\n RenderHeading(settings.Heading);\r\n </div>\r\n"); 5439 } 5440 } 5441 WriteLiteral(" <div"); 5442 BeginWriteAttribute("class", " class=\"", 95615, "\"", 95710, 2); 5443 WriteAttributeValue("", 95623, "modal__body", 95623, 11, true); 5444 WriteAttributeValue(" ", 95634, settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "", 95635, 75, false); 5445 EndWriteAttribute(); 5446 WriteLiteral(">\r\n"); 5447 if (!string.IsNullOrEmpty(settings.BodyText)) 5448 { 5449 Write(settings.BodyText); 5450 5451 } 5452 if (settings.BodyTemplate != null) 5453 { 5454 Write(settings.BodyTemplate); 5455 5456 } 5457 5458 var actions = settings.GetActions(); 5459 WriteLiteral(" </div>\r\n"); 5460 if (actions.Length > 0) 5461 { 5462 WriteLiteral(" <div class=\"modal__footer\">\r\n"); 5463 foreach (var action in actions) 5464 { 5465 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") { 5466 action.CssClass += " u-no-margin"; 5467 } else { 5468 action.CssClass += " u-full-width u-margin-bottom"; 5469 } 5470 5471 Render(action); 5472 } 5473 WriteLiteral(" </div>\r\n"); 5474 } 5475 WriteLiteral(" <label class=\"modal__close-btn\""); 5476 BeginWriteAttribute("for", " for=\"", 96954, "\"", 96982, 2); 5477 WriteAttributeValue("", 96960, modalId, 96960, 10, false); 5478 WriteAttributeValue("", 96970, "ModalTrigger", 96970, 12, true); 5479 EndWriteAttribute(); 5480 WriteLiteral("></label>\r\n </div>\r\n </div>\r\n"); 5481 } 5482 } 5483 5484 void RenderMediaListItem(MediaListItem settings) 5485 { 5486 WriteLiteral(" <div"); 5487 BeginWriteAttribute("class", " class=\"", 97220, "\"", 97269, 3); 5488 WriteAttributeValue("", 97228, "media-list-item", 97228, 15, true); 5489 WriteAttributeValue(" ", 97243, settings.CssClass, 97244, 18, false); 5490 WriteAttributeValue(" ", 97262, "dw-mod", 97263, 7, true); 5491 EndWriteAttribute(); 5492 WriteLiteral(" "); 5493 Write(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : ""); 5494 WriteLiteral(">\r\n"); 5495 if (!string.IsNullOrEmpty(settings.Label)) 5496 { 5497 if (!string.IsNullOrEmpty(settings.Link)) 5498 { 5499 Render(new Link 5500 { 5501 Href = settings.Link, 5502 CssClass = "media-list-item__sticker dw-mod", 5503 ButtonLayout = ButtonLayout.None, 5504 Title = settings.Label, 5505 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 5506 }); 5507 } 5508 else if (!string.IsNullOrEmpty(settings.OnClick)) 5509 { 5510 WriteLiteral(" <span class=\"media-list-item__sticker dw-mod\""); 5511 BeginWriteAttribute("onclick", " onclick=\"", 98077, "\"", 98106, 1); 5512 WriteAttributeValue("", 98087, settings.OnClick, 98087, 19, false); 5513 EndWriteAttribute(); 5514 WriteLiteral(">\r\n <span class=\"u-uppercase\">"); 5515 Write(settings.Label); 5516 WriteLiteral("</span>\r\n </span>\r\n"); 5517 } 5518 else 5519 { 5520 WriteLiteral(" <span class=\"media-list-item__sticker media-list-item__sticker--no-link dw-mod\">\r\n <span class=\"u-uppercase\">"); 5521 Write(settings.Label); 5522 WriteLiteral("</span>\r\n </span>\r\n"); 5523 } 5524 } 5525 WriteLiteral(" <div class=\"media-list-item__wrap\">\r\n <div class=\"media-list-item__info dw-mod\">\r\n <div class=\"media-list-item__header dw-mod\">\r\n"); 5526 if (!string.IsNullOrEmpty(settings.Title)) 5527 { 5528 if (!string.IsNullOrEmpty(settings.Link)) 5529 { 5530 Render(new Link 5531 { 5532 Href = settings.Link, 5533 CssClass = "media-list-item__name dw-mod", 5534 ButtonLayout = ButtonLayout.None, 5535 Title = settings.Title, 5536 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 5537 }); 5538 } 5539 else if (!string.IsNullOrEmpty(settings.OnClick)) 5540 { 5541 WriteLiteral(" <span class=\"media-list-item__name dw-mod\""); 5542 BeginWriteAttribute("onclick", " onclick=\"", 99603, "\"", 99632, 1); 5543 WriteAttributeValue("", 99613, settings.OnClick, 99613, 19, false); 5544 EndWriteAttribute(); 5545 WriteLiteral(">"); 5546 Write(settings.Title); 5547 WriteLiteral("</span>\r\n"); 5548 } 5549 else 5550 { 5551 WriteLiteral(" <span class=\"media-list-item__name media-list-item__name--no-link dw-mod\">"); 5552 Write(settings.Title); 5553 WriteLiteral("</span>\r\n"); 5554 } 5555 } 5556 WriteLiteral("\r\n"); 5557 if (!string.IsNullOrEmpty(settings.Status)) 5558 { 5559 WriteLiteral(" <div class=\"media-list-item__state dw-mod\">"); 5560 Write(settings.Status); 5561 WriteLiteral("</div>\r\n"); 5562 } 5563 WriteLiteral(" </div>\r\n"); 5564 5565 settings.InfoTable.CssClass += " media-list-item__parameters-table"; 5566 WriteLiteral("\r\n Render(settings.InfoTable);\r\n </div>\r\n <div class=\"media-list-item__actions dw-mod\">\r\n <div class=\"media-list-item__actions-list dw-mod\">\r\n"); 5567 5568 var actions = settings.GetActions(); 5569 5570 foreach (ButtonBase action in actions) 5571 { 5572 action.ButtonLayout = ButtonLayout.None; 5573 action.CssClass += " media-list-item__action link"; 5574 5575 Render(action); 5576 } 5577 WriteLiteral(" </div>\r\n\r\n"); 5578 if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title)) 5579 { 5580 settings.SelectButton.CssClass += " u-no-margin"; 5581 5582 WriteLiteral(" <div class=\"media-list-item__action-button\">\r\n Render(settings.SelectButton);\r\n </div>\r\n"); 5583 } 5584 WriteLiteral(" </div>\r\n </div>\r\n </div>\r\n"); 5585 } 5586 5587 void RenderTable(Table settings) 5588 { 5589 Dictionary<string, string> attributes = new Dictionary<string, string>(); 5590 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5591 5592 var enumToClasses = new Dictionary<TableDesign, string> 5593 { 5594 { TableDesign.Clean, "table--clean" }, 5595 { TableDesign.Bordered, "table--bordered" }, 5596 { TableDesign.Striped, "table--striped" }, 5597 { TableDesign.Hover, "table--hover" }, 5598 { TableDesign.Compact, "table--compact" }, 5599 { TableDesign.Condensed, "table--condensed" }, 5600 { TableDesign.NoTopBorder, "table--no-top-border" } 5601 }; 5602 string tableDesignClass = ""; 5603 if (settings.Design != TableDesign.None) 5604 { 5605 tableDesignClass = enumToClasses[settings.Design]; 5606 } 5607 5608 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); } 5609 5610 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 5611 5612 WriteLiteral(" <table "); 5613 Write(ComponentMethods.AddAttributes(resultAttributes)); 5614 WriteLiteral(">\r\n"); 5615 if (settings.Header != null) 5616 { 5617 WriteLiteral(" <thead>\r\n Render(settings.Header);\r\n </thead>\r\n"); 5618 } 5619 WriteLiteral(" <tbody>\r\n"); 5620 foreach (var row in settings.Rows) 5621 { 5622 Render(row); 5623 } 5624 WriteLiteral(" </tbody>\r\n"); 5625 if (settings.Footer != null) 5626 { 5627 WriteLiteral(" <tfoot>\r\n Render(settings.Footer);\r\n </tfoot>\r\n"); 5628 } 5629 WriteLiteral(" </table>\r\n"); 5630 } 5631 5632 void RenderTableRow(TableRow settings) 5633 { 5634 Dictionary<string, string> attributes = new Dictionary<string, string>(); 5635 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5636 5637 var enumToClasses = new Dictionary<TableRowDesign, string> 5638 { 5639 { TableRowDesign.NoBorder, "table__row--no-border" }, 5640 { TableRowDesign.Border, "table__row--border" }, 5641 { TableRowDesign.TopBorder, "table__row--top-line" }, 5642 { TableRowDesign.BottomBorder, "table__row--bottom-line" }, 5643 { TableRowDesign.Solid, "table__row--solid" } 5644 }; 5645 5646 string tableRowDesignClass = ""; 5647 if (settings.Design != TableRowDesign.None) 5648 { 5649 tableRowDesignClass = enumToClasses[settings.Design]; 5650 } 5651 5652 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); } 5653 5654 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 5655 5656 WriteLiteral(" <tr "); 5657 Write(ComponentMethods.AddAttributes(resultAttributes)); 5658 WriteLiteral(">\r\n"); 5659 foreach (var cell in settings.Cells) 5660 { 5661 if (settings.IsHeaderRow) 5662 { 5663 cell.IsHeader = true; 5664 } 5665 Render(cell); 5666 } 5667 WriteLiteral(" </tr>\r\n"); 5668 } 5669 5670 void RenderTableCell(TableCell settings) 5671 { 5672 Dictionary<string, string> attributes = new Dictionary<string, string>(); 5673 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5674 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); } 5675 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); } 5676 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); } 5677 5678 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 5679 5680 string tagName = settings.IsHeader ? "th" : "td"; 5681 5682 Write("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">"); 5683 Write(settings.Content); 5684 Write("</" + tagName + ">"); 5685 ; 5686 } 5687 5688 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage"); 5689 } 5690 } 5691 #pragma warning restore 1591 5692

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 2 @using System 3 @using System.Globalization; 4 @using System.Text.RegularExpressions; 5 @using Custom.Integration.Brokers; 6 @using RealMaeglerne.Dynamicweb; 7 @using Dynamicweb.Content.Items; 8 @using Dynamicweb.Environment; 9 @using Newtonsoft.Json; 10 @using Dynamicweb.Logging; 11 @using Dynamicweb.Core; 12 @using Dynamicweb.Frontend.Navigation; 13 @using Dynamicweb; 14 @using static RealMaeglerne.Library.Helper; 15 16 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 17 @using Dynamicweb.Content.Items; 18 19 @functions{ 20 void RenderErhvervsTypeCheckboxes(string productGroupFilter) 21 { 22 <div class="col-xs-6 col-md-4"> 23 <div class="checkbox"> 24 <label> 25 <input type="checkbox" name="propertytype" value="bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)" /> 26 <span>Bolig/erhverv</span> 27 </label> 28 </div> 29 <div class="checkbox"> 30 <label> 31 <input type="checkbox" name="propertytype" value="erhvervsgrund" /> 32 <span>Erhvervsgrund</span> 33 </label> 34 </div> 35 <div class="checkbox"> 36 <label> 37 <input type="checkbox" name="propertytype" value="boligudlejning" /> 38 <span>Boligudlejningsejendom</span> 39 </label> 40 </div> 41 <div class="checkbox"> 42 <label> 43 <input type="checkbox" name="propertytype" value="kontor, klinik, kontorhotel, showroom, undervisningslokaler" /> 44 <span>Kontor</span> 45 </label> 46 </div> 47 </div> 48 <div class="col-xs-6 col-md-4"> 49 <div class="checkbox"> 50 <label> 51 <input type="checkbox" name="propertytype" value="butik / detail, butik / detailhandel" /> 52 <span>Butik/detailhandel</span> 53 </label> 54 </div> 55 <div class="checkbox"> 56 <label> 57 <input type="checkbox" name="propertytype" value="industri / logistik, håndværk, industri, kontor / lager, logistik" /> 58 <span>Produktion/lager</span> 59 </label> 60 </div> 61 <div class="checkbox"> 62 <label> 63 <input type="checkbox" name="propertytype" value="hotel - kursusejendom, restaurant" /> 64 <span>Hotel og restaurant</span> 65 </label> 66 </div> 67 <div class="checkbox"> 68 <label> 69 <input type="checkbox" name="propertytype" value="projekt ejendom" /> 70 <span>Projektejendom</span> 71 </label> 72 </div> 73 </div> 74 <div class="col-xs-6 col-md-4"> 75 <div class="checkbox"> 76 <label> 77 <input type="checkbox" name="propertytype" value="andet" /> 78 <span>Andet</span> 79 </label> 80 </div> 81 </div> 82 83 <input type="hidden" name="propertycategory" value="erhverv, udlejning" /> 84 <input type="hidden" name="filtrering" value="@productGroupFilter" /> 85 } 86 void RenderBoligtypeCheckboxes() 87 { 88 <div class="col-6 col-md-4"> 89 <div class="checkbox"> 90 <label> 91 <input type="checkbox" name="propertytype" value="villa" /> 92 <span>Villa</span> 93 </label> 94 </div> 95 <div class="checkbox"> 96 <label> 97 <input type="checkbox" name="propertytype" value="rækkehus" /> 98 <span>Rækkehus</span> 99 </label> 100 </div> 101 <div class="checkbox"> 102 <label> 103 <input type="checkbox" name="propertytype" value="villalejlighed" /> 104 <span>Villalejlighed</span> 105 </label> 106 </div> 107 <div class="checkbox"> 108 <label> 109 <input type="checkbox" name="propertytype" value="andelsbolig" /> 110 <span>Andelsbolig</span> 111 </label> 112 </div> 113 </div> 114 <div class="col-6 col-md-4"> 115 <div class="checkbox"> 116 <label> 117 <input type="checkbox" name="propertytype" value="fritidshus, fritidsbolig" /> 118 <span>Fritidsbolig</span> 119 </label> 120 </div> 121 <div class="checkbox"> 122 <label> 123 <input type="checkbox" name="propertytype" value="ejerlejlighed" class="specialOption" data-disable-slider="#grundareal" data-disable-slider-ranges="#grundarealmin,#grundarealmax" /> 124 <span>Ejerlejlighed</span> 125 </label> 126 </div> 127 <div class="checkbox"> 128 <label> 129 <input type="checkbox" name="propertytype" value="helårsgrund" class="specialOption" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" /> 130 <span>Helårsgrund</span> 131 </label> 132 </div> 133 <div class="checkbox"> 134 <label> 135 <input type="checkbox" name="propertytype" value="fritidsgrund" class="specialOption" data-disable-slider="#boligareal,#roomsslider" data-disable-slider-ranges="#boligarealmin,#boligarealmax,#roomsmin" /> 136 <span>Fritidsgrund</span> 137 </label> 138 </div> 139 </div> 140 <div class="col-6 col-md-4"> 141 <div class="checkbox"> 142 <label> 143 <input type="checkbox" name="propertytype" value="landejendom, lystejendom" class="specialOption" data-disable-checkbox="true" /> 144 <span>Landejendom</span> 145 </label> 146 </div> 147 <div class="checkbox"> 148 <label> 149 <input type="checkbox" name="propertytype" value="erhverv" class="specialOption" data-disable-checkbox="true" data-disable-slider="#roomsslider" data-disable-slider-ranges="#roomsmin" /> 150 <span>Erhverv</span> 151 </label> 152 </div> 153 </div> 154 } 155 156 void RenderChecked(string queryString) 157 { 158 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString) 159 { 160 @("checked") 161 } 162 } 163 164 void RenderBoligtypeCheckboxesDropdown() 165 { 166 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){ 167 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" }, 168 { "Andelsbolig", "andelsbolig" } 169 }; 170 foreach (KeyValuePair<string, string> type in propertyTypes) 171 { 172 bool ischecked = false; 173 string[] propertytypeSplit = new string[0]; 174 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"])) 175 { 176 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(','); 177 } 178 foreach (var propertytypeParams in propertytypeSplit) 179 { 180 if (propertytypeParams == type.Value) 181 { 182 ischecked = true; 183 } 184 } 185 <li> 186 <label class="checkbox-container d-flex"> 187 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "") 188 <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" /> 189 <span class="checkmark grey"></span> 190 </label> 191 </li> 192 } 193 194 <li> 195 <label class="checkbox-container d-flex"> 196 @Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv") 197 @{ 198 bool blboligcheck = false; 199 } 200 @if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv") 201 { 202 blboligcheck = true; 203 } 204 <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" /> 205 <span class="checkmark grey"></span> 206 </label> 207 </li> 208 209 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){ 210 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" }, 211 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" } 212 }; 213 foreach (KeyValuePair<string, string> type in propertyTypes2) 214 { 215 bool ischecked = false; 216 string[] propertytypeSplit2 = new string[0]; 217 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"])) 218 { 219 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(','); 220 } 221 foreach (var propertytypeParams in propertytypeSplit2) 222 { 223 if (propertytypeParams == type.Value) 224 { 225 ischecked = true; 226 } 227 } 228 <li> 229 <label class="checkbox-container d-flex"> 230 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "") 231 @if (type.Value == "ejerlejlighed") 232 { 233 <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" /> 234 } 235 else if (type.Value == "helårsgrund") 236 { 237 <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" /> 238 } 239 else if (type.Value == "fritidsgrund") 240 { 241 <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" /> 242 } 243 else 244 { 245 <input type="checkbox" name="propertytype" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" /> 246 } 247 <span class="checkmark grey"></span> 248 </label> 249 </li> 250 } 251 } 252 253 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false) 254 { 255 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 256 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" }, 257 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" } 258 }; 259 var submitonchange = ""; 260 if (submitOnChange) 261 { 262 submitonchange = "onchange='submitFilter()'"; 263 } 264 265 foreach (KeyValuePair<string, string> type in erhverType) 266 { 267 string ischecked = ""; 268 string[] olineParamsSplit = new string[0]; 269 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"])) 270 { 271 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(','); 272 } 273 foreach (var olineParams in olineParamsSplit) 274 { 275 if (olineParams == type.Value) 276 { 277 ischecked = "checked"; 278 } 279 } 280 281 <li> 282 <label class="checkbox-container d-flex"> 283 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "") 284 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" @submitonchange @ischecked /> 285 <span class="checkmark grey"></span> 286 </label> 287 </li> 288 } 289 290 291 bool ischeckedpropertycat = false; 292 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"])) 293 { 294 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv") 295 { 296 ischeckedpropertycat = true; 297 } 298 } 299 <li> 300 <label class="checkbox-container"> 301 @Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv") 302 <input type="checkbox" name="propertycategory" value="Blandet Bolig/Erhverv" class="js-input-check datavalue" data-val="Blandet Bolig/Erhverv" onchange="submitFilter()" checked="@ischeckedpropertycat" /> 303 <span class="checkmark grey"></span> 304 </label> 305 </li> 306 } 307 308 void RenderBoligTypeErhvervInvest(bool submitOnChange = false) 309 { 310 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 311 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" }, 312 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" } 313 }; 314 315 foreach (KeyValuePair<string, string> type in erhverType) 316 { 317 bool ischecked = false; 318 string[] olineParamsSplit = new string[0]; 319 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"])) 320 { 321 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(','); 322 } 323 foreach (var olineParams in olineParamsSplit) 324 { 325 if (olineParams == type.Value) 326 { 327 ischecked = true; 328 } 329 } 330 331 <li> 332 <label class="checkbox-container"> 333 @Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "") 334 <input type="checkbox" name="olinecategory" value="@type.Value" class="js-input-check datavalue" data-val="@type.Key" onchange="submitFilter()" checked="@ischecked" /> 335 <span class="checkmark grey"></span> 336 </label> 337 </li> 338 } 339 } 340 int GetWebsiteSettingsPageId(string pageSysName) 341 { 342 int sideId = 0; 343 344 var pw = Dynamicweb.Frontend.PageView.Current(); 345 346 string settingsItemId = "1"; 347 348 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true") 349 { 350 settingsItemId = "2"; 351 } 352 353 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId); 354 355 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName)) 356 { 357 return sideId; 358 } 359 360 string boligsideLink = settingsItem[pageSysName] as String; 361 string linkPrefix = "Default.aspx?ID="; 362 363 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower())) 364 { 365 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId); 366 } 367 368 return sideId; 369 } 370 371 int GetPageSettingsPageId(string pageSysName) 372 { 373 int sideId = 0; 374 375 var pw = Dynamicweb.Frontend.PageView.Current(); 376 377 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName)) 378 { 379 return sideId; 380 } 381 382 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String; 383 string linkPrefix = "Default.aspx?ID="; 384 385 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower())) 386 { 387 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId); 388 } 389 390 return sideId; 391 } 392 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname) 393 { 394 <select class="form-control d-block d-lg-none mb-10 @className" onchange="submitFilter()" name="@inputname"> 395 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder." + name + "", "" + name + "")</option> 396 397 @for (var i = 0; i <= max; i += step) 398 { 399 var selected = string.Empty; 400 var current = string.Empty; 401 if (i == max) 402 { 403 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i)) 404 { 405 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")+</option> 406 } 407 else 408 { 409 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")+</option> 410 } 411 } 412 else 413 { 414 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i)) 415 { 416 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")' selected="selected">@Convert.ToInt32(i).ToString("N0")</option> 417 } 418 else 419 { 420 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option> 421 } 422 } 423 } 424 </select> 425 } 426 427 void RenderTopFilter(string parameter) 428 { 429 if (parameter == "pricemin" || parameter == "pricemax") 430 { 431 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"])) 432 { 433 if (parameter == "pricemin") 434 { 435 @("<div class='search-terms' id='priceFilter'>") 436 @("Pris ") @Dynamicweb.Context.Current.Request[parameter] 437 } 438 439 else 440 { 441 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="pricemin,pricemax"></i> 442 @("</div>") 443 } 444 } 445 } 446 447 else if (parameter == "subsidymin" || parameter == "subsidymax") 448 { 449 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"])) 450 { 451 if (parameter == "subsidymin") 452 { 453 @("<div class='search-terms' id='subsidyFilter'>") 454 @("Årlig leje ") @Dynamicweb.Context.Current.Request[parameter] 455 } 456 457 else 458 { 459 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidymin,subsidymax"></i> 460 @("</div>") 461 } 462 } 463 } 464 else if (parameter == "etagearealmin" || parameter == "etagearealmax") 465 { 466 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"])) 467 { 468 if (parameter == "etagearealmin") 469 { 470 @("<div class='search-terms' id='etagearealFilter'>") 471 @("Etageareal ") @Dynamicweb.Context.Current.Request[parameter] 472 } 473 474 else 475 { 476 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="etagearealmin,etagearealmax"></i> 477 @("</div>") 478 } 479 } 480 } 481 482 else if (parameter == "grundarealmin" || parameter == "grundarealmax") 483 { 484 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"])) 485 { 486 if (parameter == "grundarealmin") 487 { 488 @("<div class='search-terms' id='grundarealFilter'>") 489 @("Grundareal ") @Dynamicweb.Context.Current.Request[parameter] 490 } 491 492 else 493 { 494 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kvm.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="grundarealmin,grundarealmax"></i> 495 @("</div>") 496 } 497 } 498 } 499 500 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax") 501 { 502 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"])) 503 { 504 if (parameter == "subsidykvmmin") 505 { 506 @("<div class='search-terms' id='subsidykvmFilter'>") 507 @("Årlig leje kvm ") @Dynamicweb.Context.Current.Request[parameter] 508 } 509 510 else 511 { 512 @(" - ") @Dynamicweb.Context.Current.Request[parameter] @(" kr.") <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="subsidykvmmin,subsidykvmmax"></i> 513 @("</div>") 514 } 515 } 516 } 517 518 else if (parameter == "olinecategory") 519 { 520 521 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"])) 522 { 523 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 524 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" }, 525 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"}, 526 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" }, 527 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" } 528 }; 529 530 531 foreach (var er in erhverType) 532 { 533 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key)) 534 { 535 <div class="search-terms" id="@parameter"> 536 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i> 537 </div> 538 } 539 } 540 } 541 } 542 else if (parameter == "propertycategory") 543 { 544 545 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"])) 546 { 547 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 548 { "propertycategory", "Blandet Bolig/Erhverv" } 549 }; 550 551 foreach (var er in erhverType) 552 { 553 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value) 554 { 555 <div class="search-terms" id="@parameter"> 556 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i> 557 </div> 558 } 559 } 560 } 561 } 562 else if (parameter == "search") 563 { 564 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"])) 565 { 566 <div class="search-terms" id="@parameter"> 567 @Dynamicweb.Context.Current.Request[parameter] <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter"></i> 568 </div> 569 } 570 } 571 else 572 { 573 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter])) 574 { 575 Dictionary<string, string> 576 ubudsform = new Dictionary<string, string> 577 (){ 578 {"salg", "Salg" }, { "leje","Leje" } 579 }; 580 581 foreach (var er in ubudsform) 582 { 583 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key)) 584 { 585 <div class="search-terms" id="@parameter"> 586 @er.Value <i class="fa fa-times ml-2 pointer" onclick="removeParams(this)" data-tag="@parameter" data-val="@er.Key"></i> 587 </div> 588 } 589 } 590 591 592 } 593 } 594 } 595 596 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString) 597 { 598 var selected = ""; 599 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue) 600 { 601 selected = "selected"; 602 } 603 604 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected); 605 606 @current 607 } 608 609 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "") 610 { 611 <div class="main-search-form frontpage @cssClasses"> 612 <div class="dropdown-overlay"></div> 613 <div class="row mb-3 align-items-center"> 614 <div class="col-xs-12 col-md-3 border-right"> 615 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3> 616 </div> 617 <div class="col-xs-12 col-md-9 home-count d-none d-md-block"> 618 <span class="search-count" id="searchCounter">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span> 619 </div> 620 </div> 621 622 <form id="main-search-frontpage" class="searchbar-wrapper" action="/Default.aspx" method="GET"> 623 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId-frontpage" disabled="disabled" /> 624 <div class="row form-wrapper no-gutters"> 625 626 <div class="col-xs-12 col-md-5 col-searchbar"> 627 <div class="searchbar"> 628 <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)" /> 629 <input type="hidden" id="zipcodefrom-frontpage" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" /> 630 <input type="hidden" id="zipcodeto-frontpage" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" /> 631 </div> 632 </div> 633 <div class="col-xs-12 col-md-5"> 634 <div class="row no-gutters"> 635 <div class="col-xs-12 col-md-6 input-col"> 636 <div class="dropdown w-overlay"> 637 <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"> 638 @Translate("Smartpage:Search.Boligtype", "Boligtype") 639 </button> 640 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype"> 641 <ul class="bolig-dropdown list-unstyled"> 642 @{ 643 RenderBoligtypeCheckboxesDropdown(); 644 } 645 </ul> 646 <span class="border-fat"></span> 647 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button> 648 </div> 649 650 </div> 651 652 </div> 653 <div class="col-xs-12 col-md-6 input-col"> 654 <div class="dropdown w-overlay"> 655 <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"> 656 @Translate("Smartpage:Search.Pris", "Pris") 657 </button> 658 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris"> 659 <input type="text" class="form-control mb-10 js-auto-thousand js-pricemin-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MinPris","Min. pris")' /> 660 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10"> 661 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option> 662 @for (var i = 0; i <= 10000000; i += 100000) 663 { 664 if (i == 10000000) 665 { 666 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option> 667 } 668 else 669 { 670 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option> 671 } 672 } 673 </select> 674 <input type="hidden" id="pricemin-frontpage" name="pricemin" /> 675 676 <input type="text" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris")' /> 677 <select class="form-control js-pricemax-frontpage-select js-input-max-select"> 678 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option> 679 @for (var i = 0; i <= 10000000; i += 100000) 680 { 681 if (i == 10000000) 682 { 683 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option> 684 } 685 else 686 { 687 <option value="@i" data-value='@Convert.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option> 688 } 689 } 690 </select> 691 <input type="hidden" id="pricemax-frontpage" name="pricemax" /> 692 <button class="btn btn-primary js-close-dropdown mt-3">@Translate("Smartpage:Search.Anvend", "Anvend")</button> 693 </div> 694 </div> 695 </div> 696 </div> 697 </div> 698 <div class="col-xs-12 col-md-2 d-none d-md-block"> 699 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button> 700 </div> 701 </div> 702 703 <div class="row moresearch-btn no-gutters"> 704 <div class="col-sm-12"> 705 <div class="row align-items-center no-gutters"> 706 <div class="col-12 col-md-4"> 707 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch" aria-expanded="false" aria-controls="moreSearch"> 708 <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> 709 </button> 710 </div> 711 <div class="col-6 col-md-2 mb-xs-4"> 712 <a class="js-reset reset-btn">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a> 713 </div> 714 </div> 715 716 <div class="collapse" id="moreSearch"> 717 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4> 718 <div class="row align-items-end mb-30"> 719 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"> 720 <div class="filter-container row"> 721 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label> 722 <div class="col-6 pr-sm-0 pr-2"> 723 <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")' /> 724 <select class="form-control js-boligarealmin-frontpage-select js-count"> 725 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option> 726 @for (var i = 0; i <= 300; i += 10) 727 { 728 if (i == 300) 729 { 730 <option value="@i">@i+</option> 731 } 732 else 733 { 734 <option value="@i">@i</option> 735 } 736 } 737 </select> 738 </div> 739 <div class="col-6 pl-sm-0 pl-2"> 740 <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")' /> 741 <select class="form-control js-boligarealmax-frontpage-select js-count"> 742 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option> 743 @for (var i = 0; i <= 300; i += 10) 744 { 745 if (i == 300) 746 { 747 <option value="@i">@i+</option> 748 } 749 else 750 { 751 <option value="@i">@i</option> 752 } 753 } 754 </select> 755 </div> 756 </div> 757 </div> 758 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"> 759 <div class="filter-container row"> 760 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label> 761 <div class="col-6 pr-sm-0 pr-2"> 762 <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")' /> 763 <select class="form-control js-grundarealmin-frontpage-select js-count"> 764 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option> 765 @for (var i = 0; i <= 10000; i += 100) 766 { 767 if (i == 10000) 768 { 769 <option value="@i">@i+</option> 770 } 771 else 772 { 773 <option value="@i">@i</option> 774 } 775 } 776 </select> 777 </div> 778 <div class="col-6 pl-sm-0 pl-2"> 779 <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")' /> 780 <select class="form-control js-grundarealmax-frontpage-select js-count"> 781 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option> 782 @for (var i = 0; i <= 10000; i += 100) 783 { 784 if (i == 10000) 785 { 786 <option value="@i">@i+</option> 787 } 788 else 789 { 790 <option value="@i">@i</option> 791 } 792 } 793 </select> 794 </div> 795 </div> 796 </div> 797 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"> 798 <div class="filter-container row"> 799 <label class="d-block col-12">Antal rum</label> 800 801 <div class="col-6 pr-sm-0 pr-2"> 802 <select name="roomsmin" id="roomsmin-frontpage" class="form-control reverse js-count"> 803 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option> 804 <option value="1">1</option> 805 <option value="2">2</option> 806 <option value="3">3</option> 807 <option value="4">4</option> 808 <option value="5+">5+</option> 809 </select> 810 </div> 811 <div class="col-6 pl-sm-0 pl-2"> 812 <select name="roomsmax" id="roomsmax-frontpage" class="form-control reverse js-count"> 813 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option> 814 <option value="1">1</option> 815 <option value="2">2</option> 816 <option value="3">3</option> 817 <option value="4">4</option> 818 <option value="5+">@Translate("Smartpage:Rooms.5", "5")</option> 819 </select> 820 </div> 821 </div> 822 </div> 823 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"> 824 <div class="row"> 825 <div class="col-12"> 826 <div class="filter-container"> 827 <label class="d-block">Energimærke</label> 828 <select name="energylabel" id="energylabel-frontpage" class="form-control reverse js-count"> 829 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option> 830 <option value="01">G</option> 831 <option value="02">F</option> 832 <option value="03">E</option> 833 <option value="04">D</option> 834 <option value="05">C</option> 835 <option value="06">B</option> 836 <option value="07">A</option> 837 <option value="08">A2010</option> 838 <option value="09">A2015</option> 839 <option value="10">A2020+</option> 840 </select> 841 </div> 842 </div> 843 </div> 844 </div> 845 <div class="col-12 col-sm-6 col-lg-3 mt-3"> 846 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4> 847 <div class="filter-container row"> 848 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label> 849 <div class="col-6 pr-sm-0 pr-2"> 850 <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")' /> 851 <select class="form-control js-subsidymin-frontpage-select js-count"> 852 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option> 853 @for (var i = 0; i <= 25000; i += 1250) 854 { 855 if (i == 25000) 856 { 857 <option>@Convert.ToInt32(i).ToString("N0")+</option> 858 } 859 else 860 { 861 <option>@Convert.ToInt32(i).ToString("N0")</option> 862 } 863 } 864 </select> 865 </div> 866 <div class="col-6 pl-sm-0 pl-2"> 867 <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")' /> 868 <select class="form-control js-subsidymax-frontpage-select js-count"> 869 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option> 870 @for (var i = 0; i <= 25000; i += 1250) 871 { 872 if (i == 25000) 873 { 874 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option> 875 } 876 else 877 { 878 <option value="@Convert.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option> 879 } 880 } 881 </select> 882 </div> 883 </div> 884 </div> 885 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"> 886 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button> 887 </div> 888 </div> 889 </div> 890 </div> 891 </div> 892 893 <div class="row d-block d-md-none form-wrapper no-gutters"> 894 <div class="col-xs-12 col-md-2"> 895 <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> 896 </div> 897 </div> 898 </form> 899 <div class="front-page-actions d-md-none"> 900 <div> 901 <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> 902 </div> 903 <div> 904 @{ 905 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : ""; 906 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER"); 907 <form method="GET" action="/Default.aspx"> 908 <input name="id" value="@brokerSearchId" type="hidden" /> 909 <div class="icon-wrapper-wclick"> 910 <i class="fas fa-search ta-submit-on-icon-click"></i> 911 <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'" /> 912 </div> 913 </form> 914 } 915 </div> 916 <div> 917 <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> 918 </div> 919 </div> 920 </div> 921 922 } 923 Custom.Integration.Brokers.Models.BrokerEmployee GetBrokerFromCurrentProduct() 924 { 925 string productId = Dynamicweb.Context.Current.Request["ProductId"]; 926 927 if (string.IsNullOrWhiteSpace(productId)) 928 { 929 return null; 930 } 931 932 var propertyProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, string.Empty, true); 933 if (propertyProduct == null) 934 { 935 return null; 936 } 937 938 string employee = Dynamicweb.Core.Converter.ToString( 939 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xAktoererMaeglerKontaktEmail") 940 ); 941 string storeId = Dynamicweb.Core.Converter.ToString( 942 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xButikID") 943 ); 944 945 if (string.IsNullOrWhiteSpace(employee) || string.IsNullOrWhiteSpace(storeId)) 946 { 947 return null; 948 } 949 950 return Custom.Integration.Brokers.Search.GetEmployee(storeId, employee); 951 } 952 953 string GetAgentTitleFromCurrentProduct() 954 { 955 var propBroker = GetBrokerFromCurrentProduct(); 956 957 if (propBroker?.Broker == null) 958 { 959 return string.Empty; 960 } 961 962 if (!string.IsNullOrEmpty(propBroker.Broker.CompanyName)) 963 { 964 return propBroker.Broker.CompanyName; 965 } 966 967 return propBroker.Broker.Name ?? string.Empty; 968 } 969 970 string GetMasterBrokerUrlFromCurrentProduct() 971 { 972 var propBroker = GetBrokerFromCurrentProduct(); 973 974 var itemId = propBroker?.Broker?.ItemId; 975 var itemType = propBroker?.Broker?.ItemType; 976 977 if (string.IsNullOrWhiteSpace(itemId) || string.IsNullOrWhiteSpace(itemType)) 978 { 979 return string.Empty; 980 } 981 var brokerItem = Dynamicweb.Content.Items.ItemManager.Storage.GetById(itemType, itemId); 982 983 if (brokerItem == null) 984 { 985 return string.Empty; 986 } 987 988 var websiteId = Dynamicweb.Core.Converter.ToInt32(brokerItem["WebsiteId"]); 989 var page = Dynamicweb.Content.Services.Pages.GetFirstPageForArea(websiteId); 990 return Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("Default.aspx?Id=" + page?.ID); 991 } 992 } 993 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 994 @using Dynamicweb.Frontend.Navigation 995 @using Dynamicweb.Core 996 @using Dynamicweb.Core.Encoders 997 @using Dynamicweb 998 999 @functions { 1000 void RenderSlideMenu(bool erhverv, string maeglersoegning) 1001 { 1002 <div id="menu" 1003 class="main-menu-slide " 1004 role="navigation" 1005 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.MainMenu", "Hovedmenu"))" 1006 aria-modal="true"> 1007 <div class="container"> 1008 <div class="row"> 1009 <div class="col-12"> 1010 <span class="menu-headline">MENU</span> 1011 </div> 1012 <div class="menu-slide" 1013 role="button" 1014 tabindex="0" 1015 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.CloseMenu", "Luk menu"))"> 1016 <b aria-hidden="true"></b> 1017 </div> 1018 <div class="col-12 main-slidemenu" role="region" aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.NavigationLinks", "Navigationslinks"))"> 1019 @{ 1020 var navigationSettings = new NavigationSettings(); 1021 navigationSettings.StartLevel = 1; 1022 navigationSettings.StopLevel = 2; 1023 navigationSettings.ExpandMode = ExpandMode.All; 1024 navigationSettings.RootAreaId = Pageview.Area.ID; 1025 1026 @Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings) 1027 } 1028 </div> 1029 <div class="col-12 bottom-btns"> 1030 1031 @{ 1032 string[] maeglerid; 1033 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0"; 1034 1035 if (erhverv) 1036 { 1037 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None); 1038 } 1039 else 1040 { 1041 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None); 1042 } 1043 1044 <form method="GET" action="/Default.aspx" role="search"> 1045 <input name="id" value="@maeglerid[1]" type="hidden" /> 1046 <div class="icon-wrapper-wclick"> 1047 <label for="broker-search-menu-vm" class="sr-only">@Translate("Custom:Accessibility.FindBroker", "Find mægler")</label> 1048 <i class="fas fa-search ta-submit-on-icon-click" 1049 aria-hidden="true" 1050 role="button" 1051 tabindex="0" 1052 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.SearchBroker", "Søg efter mægler"))"></i> 1053 <input id="broker-search-menu-vm" 1054 class="box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter" 1055 name="q" 1056 type="text" 1057 placeholder="@HtmlEncoder.HtmlAttributeEncode(Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER"))" 1058 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.BrokerSearchField", "Indtast postnummer eller navn for at finde mægler"))" 1059 onfocus="this.placeholder = 'FIND MÆGLER'" /> 1060 </div> 1061 </form> 1062 } 1063 <br /> 1064 @{ 1065 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + ""; 1066 } 1067 <a href="javascript:panelSalgsvurdering('@dpmaegler','@Pageview.AreaID');" 1068 class="btn btn-block btn-default-invert js-close-menu" 1069 aria-label="@HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.FreeSalesAssessment", "Få gratis salgsvurdering"))">Gratis salgsvurdering <i class="cta-icon fa fa-angle-right" aria-hidden="true"></i></a> 1070 </div> 1071 </div> 1072 </div> 1073 </div> 1074 } 1075 } 1076 @using System.Text.RegularExpressions 1077 @using System.Collections.Generic 1078 @using System.Reflection 1079 @using Dynamicweb.Rapido.Blocks.Components 1080 @using Dynamicweb.Rapido.Blocks.Components.Articles 1081 @using Dynamicweb.Rapido.Blocks.Components.Documentation 1082 @using Dynamicweb.Rapido.Blocks 1083 @using Dynamicweb; 1084 1085 @functions { 1086 void RenderBlockList(List<Block> blocks) 1087 { 1088 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false; 1089 blocks = blocks.OrderBy(item => item.SortId).ToList(); 1090 1091 foreach (Block item in blocks) 1092 { 1093 if (debug) { 1094 <!-- Block START: @item.Id --> 1095 } 1096 1097 if (item.Design == null) 1098 { 1099 RenderBlock(item); 1100 } 1101 else if (item.Design.RenderType == RenderType.None) { 1102 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 1103 1104 <div class="@cssClass dw-mod"> 1105 RenderBlock(item); 1106 </div> 1107 } 1108 else if (item.Design.RenderType != RenderType.Hide) 1109 { 1110 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 1111 1112 if (!item.SkipRenderBlocksList) { 1113 if (item.Design.RenderType == RenderType.Row) 1114 { 1115 <div class="grid grid--align-content-start @cssClass dw-mod" id="Block__@item.Id"> 1116 RenderBlock(item); 1117 </div> 1118 } 1119 1120 if (item.Design.RenderType == RenderType.Column) 1121 { 1122 string hidePadding = item.Design.HidePadding ? "u-no-padding" : ""; 1123 string size = item.Design.Size ?? "12"; 1124 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size; 1125 1126 <div class="grid__col-lg-@item.Design.Size grid__col-md-@item.Design.Size grid__col-sm-12 grid__col-xs-12 @hidePadding @cssClass dw-mod" id="Block__@item.Id"> 1127 RenderBlock(item); 1128 </div> 1129 } 1130 1131 if (item.Design.RenderType == RenderType.Table) 1132 { 1133 <table class="table @cssClass dw-mod" id="Block__@item.Id"> 1134 RenderBlock(item); 1135 </table> 1136 } 1137 1138 if (item.Design.RenderType == RenderType.TableRow) 1139 { 1140 <tr class="@cssClass dw-mod" id="Block__@item.Id"> 1141 RenderBlock(item); 1142 </tr> 1143 } 1144 1145 if (item.Design.RenderType == RenderType.TableColumn) 1146 { 1147 <td class="@cssClass dw-mod" id="Block__@item.Id"> 1148 RenderBlock(item); 1149 </td> 1150 } 1151 1152 if (item.Design.RenderType == RenderType.CardHeader) 1153 { 1154 <div class="card-header @cssClass dw-mod"> 1155 RenderBlock(item); 1156 </div> 1157 } 1158 1159 if (item.Design.RenderType == RenderType.CardBody) 1160 { 1161 <div class="card @cssClass dw-mod"> 1162 RenderBlock(item); 1163 </div> 1164 } 1165 1166 if (item.Design.RenderType == RenderType.CardFooter) 1167 { 1168 <div class="card-footer @cssClass dw-mod"> 1169 RenderBlock(item); 1170 </div> 1171 } 1172 } 1173 else 1174 { 1175 RenderBlock(item); 1176 } 1177 } 1178 1179 if (debug) { 1180 <!-- Block END: @item.Id --> 1181 } 1182 } 1183 } 1184 1185 void RenderBlock(Block item) 1186 { 1187 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false; 1188 1189 if (item.Template != null) 1190 { 1191 @BlocksPage.RenderTemplate(item.Template) 1192 } 1193 1194 if (item.Component != null) 1195 { 1196 string customSufix = "Custom"; 1197 string methodName = item.Component.HelperName; 1198 1199 ComponentBase[] methodParameters = new ComponentBase[1]; 1200 methodParameters[0] = item.Component; 1201 Type methodType = this.GetType(); 1202 1203 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix); 1204 MethodInfo generalMethod = methodType.GetMethod(methodName); 1205 1206 try { 1207 if (debug) { 1208 <!-- Component: @methodName.Replace("Render", "") --> 1209 } 1210 @customMethod.Invoke(this, methodParameters).ToString(); 1211 } catch { 1212 try { 1213 @generalMethod.Invoke(this, methodParameters).ToString() 1214 ; 1215 } catch(Exception ex) { 1216 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex); 1217 } 1218 } 1219 } 1220 1221 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList) 1222 { 1223 RenderBlockList(item.BlocksList); 1224 } 1225 } 1226 } 1227 1228 1229 1230 @* Include the components *@ 1231 @using Dynamicweb.Rapido.Blocks.Components 1232 @using Dynamicweb.Rapido.Blocks.Components.General 1233 @using Dynamicweb.Rapido.Blocks 1234 @using System.IO 1235 1236 @* Required *@ 1237 @using Dynamicweb.Rapido.Blocks.Components 1238 @using Dynamicweb.Rapido.Blocks.Components.General 1239 @using Dynamicweb.Rapido.Blocks 1240 1241 @functions { 1242 void Render(ComponentBase component) 1243 { 1244 if (component != null) 1245 { 1246 @component.Render(this) 1247 } 1248 } 1249 } 1250 1251 @* Components *@ 1252 @using System.Reflection 1253 @using Dynamicweb.Rapido.Blocks.Components.General 1254 1255 @* Component *@ 1256 1257 @functions { 1258 void RenderIcon(Icon settings) 1259 { 1260 if (settings != null) 1261 { 1262 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 1263 1264 if (settings.Name != null) 1265 { 1266 if (string.IsNullOrEmpty(settings.Label)) 1267 { 1268 <i class="@settings.Prefix @settings.Name @settings.CssClass" @color></i> 1269 } 1270 else 1271 { 1272 if (settings.LabelPosition == IconLabelPosition.Before) 1273 { 1274 <div class="u-flex u-flex--align-items-center @settings.CssClass">@settings.Label <i class="@settings.Prefix @settings.Name u-margin-left" @color></i></div> 1275 } 1276 else 1277 { 1278 <div class="u-flex u-flex--align-items-center @settings.CssClass"><i class="@settings.Prefix @settings.Name u-margin-right--lg u-w20px" @color></i>@settings.Label</div> 1279 } 1280 } 1281 } 1282 else if (!string.IsNullOrEmpty(settings.Label)) 1283 { 1284 @settings.Label 1285 } 1286 } 1287 } 1288 } 1289 1290 @using System.Reflection 1291 @using Dynamicweb.Rapido.Blocks.Components.General 1292 @using Dynamicweb.Rapido.Blocks.Components 1293 @using Dynamicweb.Core 1294 @using System.Text.RegularExpressions 1295 1296 @* Component *@ 1297 1298 @functions { 1299 void RenderButton(Button settings) 1300 { 1301 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 1302 { 1303 Dictionary<string, string> attributes = new Dictionary<string, string>(); 1304 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 1305 if (settings.Disabled) { 1306 attributes.Add("disabled", "true"); 1307 classList.Add("disabled"); 1308 } 1309 1310 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle)) 1311 { 1312 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 1313 RenderConfirmDialog(settings); 1314 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true"; 1315 } 1316 1317 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1318 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1319 if (!string.IsNullOrEmpty(settings.AltText)) 1320 { 1321 attributes.Add("title", settings.AltText); 1322 } 1323 else if (!string.IsNullOrEmpty(settings.Title)) 1324 { 1325 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty); 1326 cleanTitle = cleanTitle.Replace("&nbsp;", " "); 1327 attributes.Add("title", cleanTitle); 1328 } 1329 1330 var onClickEvents = new List<string>(); 1331 if (!string.IsNullOrEmpty(settings.OnClick)) 1332 { 1333 onClickEvents.Add(settings.OnClick); 1334 } 1335 if (!string.IsNullOrEmpty(settings.Href)) 1336 { 1337 if (settings.Href.Contains("javascript")) 1338 { 1339 settings.Href = settings.Href.Replace("http://", ""); 1340 } 1341 onClickEvents.Add("location.href='" + settings.Href + "'"); 1342 } 1343 if (onClickEvents.Count > 0) 1344 { 1345 attributes.Add("onClick", string.Join(";", onClickEvents)); 1346 } 1347 1348 if (settings.ButtonLayout != ButtonLayout.None) 1349 { 1350 classList.Add("btn"); 1351 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 1352 if (btnLayout == "linkclean") 1353 { 1354 btnLayout = "link-clean"; //fix 1355 } 1356 classList.Add("btn--" + btnLayout); 1357 } 1358 1359 if (settings.Icon == null) 1360 { 1361 settings.Icon = new Icon(); 1362 } 1363 1364 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : ""; 1365 settings.Icon.Label = settings.Title; 1366 1367 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower()); 1368 1369 <button class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>@{RenderIcon(settings.Icon);}</button> 1370 } 1371 } 1372 1373 void RenderConfirmDialog(Button settings) 1374 { 1375 Modal confirmDialog = new Modal { 1376 Id = settings.Id, 1377 Width = ModalWidth.Sm, 1378 Heading = new Heading 1379 { 1380 Level = 2, 1381 Title = settings.ConfirmTitle 1382 }, 1383 BodyText = settings.ConfirmText 1384 }; 1385 1386 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"}); 1387 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick }); 1388 1389 RenderModal(confirmDialog); 1390 } 1391 } 1392 @using System.Reflection 1393 @using Dynamicweb.Rapido.Blocks.Components.General 1394 @using Dynamicweb.Rapido.Blocks.Components 1395 @using Dynamicweb.Core 1396 1397 @* Component *@ 1398 1399 @functions{ 1400 void RenderLink(Link settings) 1401 { 1402 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 1403 { 1404 Dictionary<string, string> attributes = new Dictionary<string, string>(); 1405 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 1406 if (settings.Disabled) 1407 { 1408 attributes.Add("disabled", "true"); 1409 classList.Add("disabled"); 1410 } 1411 1412 if (!string.IsNullOrEmpty(settings.AltText)) 1413 { 1414 attributes.Add("title", settings.AltText); 1415 } 1416 else if (!string.IsNullOrEmpty(settings.Title)) 1417 { 1418 attributes.Add("title", settings.Title); 1419 } 1420 1421 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1422 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1423 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); } 1424 attributes.Add("href", settings.Href); 1425 1426 if (settings.ButtonLayout != ButtonLayout.None) 1427 { 1428 classList.Add("btn"); 1429 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 1430 if (btnLayout == "linkclean") 1431 { 1432 btnLayout = "link-clean"; //fix 1433 } 1434 classList.Add("btn--" + btnLayout); 1435 } 1436 1437 if (settings.Icon == null) 1438 { 1439 settings.Icon = new Icon(); 1440 } 1441 settings.Icon.Label = settings.Title; 1442 1443 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None) 1444 { 1445 settings.Rel = LinkRelType.Noopener; 1446 } 1447 if (settings.Target != LinkTargetType.None) 1448 { 1449 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower()); 1450 } 1451 if (settings.Download) 1452 { 1453 attributes.Add("download", "true"); 1454 } 1455 if (settings.Rel != LinkRelType.None) 1456 { 1457 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower()); 1458 } 1459 1460 <a class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>Render(settings.Icon);</a> 1461 } 1462 } 1463 } 1464 1465 @using System.Reflection 1466 @using Dynamicweb.Rapido.Blocks.Components 1467 @using Dynamicweb.Rapido.Blocks.Components.General 1468 @using Dynamicweb.Rapido.Blocks 1469 1470 @* Component *@ 1471 1472 @functions{ 1473 void RenderRating(Rating settings) 1474 { 1475 if (settings.Score > 0) 1476 { 1477 int rating = settings.Score; 1478 string iconType = "fa-star"; 1479 1480 switch (settings.Type.ToString()) { 1481 case "Stars": 1482 iconType = "fa-star"; 1483 break; 1484 case "Hearts": 1485 iconType = "fa-heart"; 1486 break; 1487 case "Lemons": 1488 iconType = "fa-lemon"; 1489 break; 1490 case "Bombs": 1491 iconType = "fa-bomb"; 1492 break; 1493 } 1494 1495 <div class="u-ta-right"> 1496 @for (int i = 0; i < settings.OutOf; i++) 1497 { 1498 <i class="@(rating > i ? "fas" : "far") @iconType"></i> 1499 } 1500 </div> 1501 } 1502 } 1503 } 1504 @using System.Reflection 1505 @using Dynamicweb.Rapido.Blocks.Components.General 1506 @using Dynamicweb.Rapido.Blocks.Components 1507 1508 1509 @* Component *@ 1510 1511 @functions{ 1512 void RenderNavigation(Navigation settings) { 1513 RenderNavigation(new 1514 { 1515 id = settings.Id, 1516 cssclass = settings.CssClass, 1517 startLevel = settings.StartLevel, 1518 endlevel = settings.EndLevel, 1519 expandmode = settings.Expandmode, 1520 sitemapmode = settings.SitemapMode, 1521 template = settings.Template 1522 }); 1523 } 1524 } 1525 1526 @using Dynamicweb.Rapido.Blocks.Components.General 1527 @using Dynamicweb.Rapido.Blocks.Components 1528 1529 @* Component *@ 1530 1531 @functions { 1532 void RenderLeftNavigation(LeftNavigation settings) { 1533 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id; 1534 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template; 1535 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel; 1536 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel; 1537 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode; 1538 1539 <div class="grid__cell"> 1540 RenderNavigation(settings); 1541 </div> 1542 } 1543 } 1544 1545 @using System.Reflection 1546 @using Dynamicweb.Rapido.Blocks.Components.General 1547 @using Dynamicweb.Core 1548 1549 @* Component *@ 1550 1551 @functions { 1552 void RenderHeading(Heading settings) 1553 { 1554 if (settings != null && !string.IsNullOrEmpty(settings.Title)) 1555 { 1556 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 1557 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div"; 1558 1559 @("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">") 1560 if (!string.IsNullOrEmpty(settings.Link)) 1561 { 1562 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None }); 1563 } 1564 else 1565 { 1566 if (settings.Icon == null) 1567 { 1568 settings.Icon = new Icon(); 1569 } 1570 settings.Icon.Label = settings.Title; 1571 RenderIcon(settings.Icon); 1572 } 1573 @("</" + tagName + ">"); 1574 } 1575 } 1576 } 1577 1578 @using Dynamicweb.Rapido.Blocks.Components 1579 @using Dynamicweb.Rapido.Blocks.Components.General 1580 @using Dynamicweb.Rapido.Blocks 1581 @using Dynamicweb.Frontend 1582 1583 @* Component *@ 1584 1585 @functions { 1586 void RenderImage(Image settings) 1587 { 1588 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None) 1589 { 1590 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 1591 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); } 1592 1593 if (settings.Caption != null) 1594 { 1595 @:<div> 1596 } 1597 1598 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower(); 1599 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower(); 1600 1601 <div class="image-filter image-filter--@primaryFilterClass u-position-relative dw-mod" @ComponentMethods.AddAttributes(optionalAttributes)> 1602 <div class="image-filter image-filter--@secondaryFilterClass dw-mod"> 1603 @if (settings.Link != null) 1604 { 1605 <a href="@settings.Link"> 1606 RenderTheImage(settings); 1607 </a> 1608 } 1609 else 1610 { 1611 RenderTheImage(settings); 1612 } 1613 </div> 1614 </div> 1615 1616 if (settings.Caption != null) 1617 { 1618 <span class="image-caption dw-mod">@settings.Caption</span> 1619 @:</div> 1620 } 1621 } 1622 else 1623 { 1624 if (settings.Caption != null) 1625 { 1626 @:<div> 1627 } 1628 if (!string.IsNullOrEmpty(settings.Link)) 1629 { 1630 <a href="@settings.Link"> 1631 RenderTheImage(settings); 1632 </a> 1633 } 1634 else 1635 { 1636 RenderTheImage(settings); 1637 } 1638 1639 if (settings.Caption != null) 1640 { 1641 <span class="image-caption dw-mod">@settings.Caption</span> 1642 @:</div> 1643 } 1644 } 1645 } 1646 1647 void RenderTheImage(Image settings) 1648 { 1649 if (settings != null) 1650 { 1651 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg"; 1652 string placeholderImage = "/Files/Images/placeholder.gif"; 1653 string imageEngine = "/Admin/Public/GetImage.ashx?"; 1654 1655 string imageStyle = ""; 1656 1657 switch (settings.Style) 1658 { 1659 case ImageStyle.Ball: 1660 imageStyle = "grid__cell-img--ball"; 1661 break; 1662 1663 case ImageStyle.Triangle: 1664 imageStyle = "grid__cell-img--triangle"; 1665 break; 1666 } 1667 1668 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle) 1669 { 1670 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop; 1671 1672 if (settings.ImageDefault != null) 1673 { 1674 settings.ImageDefault.Height = settings.ImageDefault.Width; 1675 } 1676 if (settings.ImageMedium != null) 1677 { 1678 settings.ImageMedium.Height = settings.ImageMedium.Width; 1679 } 1680 if (settings.ImageSmall != null) 1681 { 1682 settings.ImageSmall.Height = settings.ImageSmall.Width; 1683 } 1684 } 1685 1686 string defaultImage = imageEngine; 1687 string imageSmall = ""; 1688 string imageMedium = ""; 1689 1690 if (settings.DisableImageEngine) 1691 { 1692 defaultImage = settings.Path; 1693 } 1694 else 1695 { 1696 if (settings.ImageDefault != null) 1697 { 1698 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault); 1699 1700 if (settings.Path.GetType() != typeof(string)) 1701 { 1702 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 1703 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 1704 } 1705 else 1706 { 1707 defaultImage += settings.Path != null ? "Image=" + settings.Path : ""; 1708 } 1709 1710 defaultImage += "&AlternativeImage=" + alternativeImage; 1711 } 1712 1713 if (settings.ImageSmall != null) 1714 { 1715 imageSmall = "data-src-small=\"" + imageEngine; 1716 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall); 1717 1718 if (settings.Path.GetType() != typeof(string)) 1719 { 1720 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 1721 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 1722 } 1723 else 1724 { 1725 imageSmall += settings.Path != null ? "Image=" + settings.Path : ""; 1726 } 1727 1728 imageSmall += "&alternativeImage=" + alternativeImage; 1729 1730 imageSmall += "\""; 1731 } 1732 1733 if (settings.ImageMedium != null) 1734 { 1735 imageMedium = "data-src-medium=\"" + imageEngine; 1736 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium); 1737 1738 if (settings.Path.GetType() != typeof(string)) 1739 { 1740 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 1741 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 1742 } 1743 else 1744 { 1745 imageMedium += settings.Path != null ? "Image=" + settings.Path : ""; 1746 } 1747 1748 imageMedium += "&alternativeImage=" + alternativeImage; 1749 1750 imageMedium += "\""; 1751 } 1752 } 1753 1754 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 1755 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); } 1756 if (!string.IsNullOrEmpty(settings.Title)) 1757 { 1758 optionalAttributes.Add("alt", settings.Title); 1759 optionalAttributes.Add("title", settings.Title); 1760 } 1761 1762 if (settings.DisableLazyLoad) 1763 { 1764 <img id="@settings.Id" class="@imageStyle @settings.CssClass dw-mod" src="@defaultImage" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) /> 1765 } 1766 else 1767 { 1768 1769 <img id="@settings.Id" class="@imageStyle @settings.CssClass dw-mod" loading="lazy" src="@defaultImage" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) /> 1770 } 1771 } 1772 } 1773 } 1774 @using System.Reflection 1775 @using Dynamicweb.Rapido.Blocks.Components.General 1776 @using Dynamicweb.Rapido.Blocks.Components 1777 1778 @* Component *@ 1779 1780 @functions { 1781 void RenderHiddenField(HiddenField settings) { 1782 var attributes = new Dictionary<string, string>(); 1783 attributes.Add("type", "hidden"); 1784 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1785 if (settings.Value != null) { attributes.Add("value", settings.Value); } 1786 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1787 1788 <input @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)/> 1789 } 1790 } 1791 1792 @using System.Reflection 1793 @using Dynamicweb.Rapido.Blocks.Components.General 1794 @using Dynamicweb.Rapido.Blocks.Components 1795 1796 @* Component *@ 1797 1798 @functions { 1799 void RenderRadioButtonField(RadioButtonField settings) 1800 { 1801 var attributes = new Dictionary<string, string>(); 1802 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 1803 { 1804 settings.Id = Guid.NewGuid().ToString("N"); 1805 } 1806 1807 /*base settings*/ 1808 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1809 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 1810 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 1811 if (settings.Disabled) { attributes.Add("disabled", "true"); } 1812 if (settings.Required) { attributes.Add("required", "true"); } 1813 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1814 /*end*/ 1815 1816 attributes.Add("type", "radio"); 1817 if (settings.Checked) { attributes.Add("checked", "true"); } 1818 settings.CssClass = "form__control " + settings.CssClass; 1819 if (settings.Value != null) { attributes.Add("value", settings.Value); } 1820 1821 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 1822 1823 <div class="form__field-group @settings.WrapperCssClass dw-mod"> 1824 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" /> 1825 @if (!string.IsNullOrEmpty(settings.Label)) 1826 { 1827 <label for="@settings.Id" class="dw-mod">@settings.Label</label> 1828 } 1829 @if (!string.IsNullOrEmpty(settings.HelpText)) 1830 { 1831 <small class="form__help-text">@settings.HelpText</small> 1832 } 1833 Render(new NotificationMessage { Message = settings.ErrorMessage }); 1834 </div> 1835 } 1836 } 1837 @using System.Reflection 1838 @using Dynamicweb.Rapido.Blocks.Components.General 1839 @using Dynamicweb.Rapido.Blocks.Components 1840 1841 @* Component *@ 1842 1843 @functions{ 1844 void RenderRadioButtonListField(RadioButtonListField settings) 1845 { 1846 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 1847 1848 <div class="form__field-group @settings.WrapperCssClass u-margin-bottom dw-mod" @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 1849 @if (!string.IsNullOrEmpty(settings.Label)) 1850 { 1851 <label>@settings.Label</label> 1852 } 1853 @if (!string.IsNullOrEmpty(settings.HelpText)) 1854 { 1855 <small class="form__help-text">@settings.HelpText</small> 1856 } 1857 1858 @foreach (var item in settings.Options) 1859 { 1860 if (settings.Required) 1861 { 1862 item.Required = true; 1863 } 1864 if (settings.Disabled) 1865 { 1866 item.Disabled = true; 1867 } 1868 if (!string.IsNullOrEmpty(settings.Name)) 1869 { 1870 item.Name = settings.Name; 1871 } 1872 if (settings.Value != null && settings.Value == item.Value) 1873 { 1874 item.Checked = true; 1875 } 1876 if (!string.IsNullOrEmpty(settings.OnClick)) 1877 { 1878 item.OnClick += settings.OnClick; 1879 } 1880 if (!string.IsNullOrEmpty(settings.OnChange)) 1881 { 1882 item.OnChange += settings.OnChange; 1883 } 1884 if (!string.IsNullOrEmpty(settings.CssClass)) 1885 { 1886 item.CssClass += settings.CssClass; 1887 } 1888 Render(item); 1889 } 1890 1891 Render(new NotificationMessage { Message = settings.ErrorMessage }); 1892 </div> 1893 } 1894 } 1895 @using Dynamicweb.Rapido.Blocks.Components.General 1896 @using Dynamicweb.Rapido.Blocks.Components 1897 1898 @* Component *@ 1899 1900 @functions { 1901 void RenderForm(Form settings) { 1902 if (settings != null) 1903 { 1904 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 1905 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); }; 1906 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); }; 1907 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); }; 1908 var enctypes = new Dictionary<string, string> 1909 { 1910 { "multipart", "multipart/form-data" }, 1911 { "text", "text/plain" }, 1912 { "application", "application/x-www-form-urlencoded" } 1913 }; 1914 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); }; 1915 optionalAttributes.Add("method", settings.Method.ToString()); 1916 1917 if (!string.IsNullOrEmpty(settings.FormStartMarkup)) 1918 { 1919 @settings.FormStartMarkup 1920 } 1921 else 1922 { 1923 @:<form class="@settings.CssClass u-no-margin dw-mod" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 1924 } 1925 1926 foreach (var field in settings.GetFields()) 1927 { 1928 Render(field); 1929 } 1930 1931 @:</form> 1932 } 1933 } 1934 } 1935 1936 @using System.Reflection 1937 @using Dynamicweb.Rapido.Blocks.Components.General 1938 @using Dynamicweb.Rapido.Blocks.Components 1939 1940 @* Component *@ 1941 1942 @functions { 1943 void RenderText(Text settings) 1944 { 1945 @settings.Content 1946 } 1947 } 1948 1949 @using System.Reflection 1950 @using Dynamicweb.Rapido.Blocks.Components.General 1951 @using Dynamicweb.Rapido.Blocks.Components 1952 1953 1954 @* Component *@ 1955 1956 @functions { 1957 void RenderContentModule(ContentModule settings) { 1958 if (!string.IsNullOrEmpty(settings.Content)) 1959 { 1960 @settings.Content 1961 } 1962 } 1963 } 1964 1965 @using System.Reflection 1966 @using Dynamicweb.Rapido.Blocks.Components.General 1967 @using Dynamicweb.Rapido.Blocks.Components 1968 1969 1970 @* Component *@ 1971 1972 @functions { 1973 void RenderModal(Modal settings) { 1974 if (settings != null) 1975 { 1976 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 1977 1978 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : ""; 1979 1980 <input type="checkbox" id="@(modalId)ModalTrigger" class="modal-trigger" @onchange /> 1981 1982 <div class="modal-container"> 1983 @if (!settings.DisableDarkOverlay) 1984 { 1985 <label for="@(modalId)ModalTrigger" id="@(modalId)ModalOverlay" class="modal-overlay"></label> 1986 } 1987 <div class="modal modal--@settings.Width.ToString().ToLower() modal-height--@settings.Height.ToString().ToLower()" id="@(modalId)Modal"> 1988 @if (settings.Heading != null) 1989 { 1990 if (!string.IsNullOrEmpty(settings.Heading.Title)) 1991 { 1992 <div class="modal__header"> 1993 RenderHeading(settings.Heading); 1994 </div> 1995 } 1996 } 1997 <div class="modal__body @(settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "")"> 1998 @if (!string.IsNullOrEmpty(settings.BodyText)) 1999 { 2000 @settings.BodyText 2001 } 2002 @if (settings.BodyTemplate != null) 2003 { 2004 @settings.BodyTemplate 2005 } 2006 @{ 2007 var actions = settings.GetActions(); 2008 } 2009 </div> 2010 @if (actions.Length > 0) 2011 { 2012 <div class="modal__footer"> 2013 @foreach (var action in actions) 2014 { 2015 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") { 2016 action.CssClass += " u-no-margin"; 2017 } else { 2018 action.CssClass += " u-full-width u-margin-bottom"; 2019 } 2020 2021 Render(action); 2022 } 2023 </div> 2024 } 2025 <label class="modal__close-btn" for="@(modalId)ModalTrigger"></label> 2026 </div> 2027 </div> 2028 } 2029 } 2030 } 2031 @using Dynamicweb.Rapido.Blocks.Components.General 2032 2033 @* Component *@ 2034 2035 @functions { 2036 void RenderMediaListItem(MediaListItem settings) 2037 { 2038 <div class="media-list-item @settings.CssClass dw-mod" @(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "")> 2039 @if (!string.IsNullOrEmpty(settings.Label)) 2040 { 2041 if (!string.IsNullOrEmpty(settings.Link)) 2042 { 2043 Render(new Link 2044 { 2045 Href = settings.Link, 2046 CssClass = "media-list-item__sticker dw-mod", 2047 ButtonLayout = ButtonLayout.None, 2048 Title = settings.Label, 2049 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 2050 }); 2051 } 2052 else if (!string.IsNullOrEmpty(settings.OnClick)) 2053 { 2054 <span class="media-list-item__sticker dw-mod" onclick="@(settings.OnClick)"> 2055 <span class="u-uppercase">@settings.Label</span> 2056 </span> 2057 } 2058 else 2059 { 2060 <span class="media-list-item__sticker media-list-item__sticker--no-link dw-mod"> 2061 <span class="u-uppercase">@settings.Label</span> 2062 </span> 2063 } 2064 } 2065 <div class="media-list-item__wrap"> 2066 <div class="media-list-item__info dw-mod"> 2067 <div class="media-list-item__header dw-mod"> 2068 @if (!string.IsNullOrEmpty(settings.Title)) 2069 { 2070 if (!string.IsNullOrEmpty(settings.Link)) 2071 { 2072 Render(new Link 2073 { 2074 Href = settings.Link, 2075 CssClass = "media-list-item__name dw-mod", 2076 ButtonLayout = ButtonLayout.None, 2077 Title = settings.Title, 2078 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 2079 }); 2080 } 2081 else if (!string.IsNullOrEmpty(settings.OnClick)) 2082 { 2083 <span class="media-list-item__name dw-mod" onclick="@(settings.OnClick)">@settings.Title</span> 2084 } 2085 else 2086 { 2087 <span class="media-list-item__name media-list-item__name--no-link dw-mod">@settings.Title</span> 2088 } 2089 } 2090 2091 @if (!string.IsNullOrEmpty(settings.Status)) 2092 { 2093 <div class="media-list-item__state dw-mod">@settings.Status</div> 2094 } 2095 </div> 2096 @{ 2097 settings.InfoTable.CssClass += " media-list-item__parameters-table"; 2098 } 2099 2100 Render(settings.InfoTable); 2101 </div> 2102 <div class="media-list-item__actions dw-mod"> 2103 <div class="media-list-item__actions-list dw-mod"> 2104 @{ 2105 var actions = settings.GetActions(); 2106 2107 foreach (ButtonBase action in actions) 2108 { 2109 action.ButtonLayout = ButtonLayout.None; 2110 action.CssClass += " media-list-item__action link"; 2111 2112 Render(action); 2113 } 2114 } 2115 </div> 2116 2117 @if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title)) 2118 { 2119 settings.SelectButton.CssClass += " u-no-margin"; 2120 2121 <div class="media-list-item__action-button"> 2122 Render(settings.SelectButton); 2123 </div> 2124 } 2125 </div> 2126 </div> 2127 </div> 2128 } 2129 } 2130 2131 2132 @using Dynamicweb.Rapido.Blocks.Components.General 2133 @using Dynamicweb.Rapido.Blocks.Components 2134 2135 @functions { 2136 void RenderTable(Table settings) 2137 { 2138 Dictionary<string, string> attributes = new Dictionary<string, string>(); 2139 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 2140 2141 var enumToClasses = new Dictionary<TableDesign, string> 2142 { 2143 { TableDesign.Clean, "table--clean" }, 2144 { TableDesign.Bordered, "table--bordered" }, 2145 { TableDesign.Striped, "table--striped" }, 2146 { TableDesign.Hover, "table--hover" }, 2147 { TableDesign.Compact, "table--compact" }, 2148 { TableDesign.Condensed, "table--condensed" }, 2149 { TableDesign.NoTopBorder, "table--no-top-border" } 2150 }; 2151 string tableDesignClass = ""; 2152 if (settings.Design != TableDesign.None) 2153 { 2154 tableDesignClass = enumToClasses[settings.Design]; 2155 } 2156 2157 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); } 2158 2159 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 2160 2161 <table @ComponentMethods.AddAttributes(resultAttributes)> 2162 @if (settings.Header != null) 2163 { 2164 <thead> 2165 Render(settings.Header); 2166 </thead> 2167 } 2168 <tbody> 2169 @foreach (var row in settings.Rows) 2170 { 2171 Render(row); 2172 } 2173 </tbody> 2174 @if (settings.Footer != null) 2175 { 2176 <tfoot> 2177 Render(settings.Footer); 2178 </tfoot> 2179 } 2180 </table> 2181 } 2182 } 2183 @using Dynamicweb.Rapido.Blocks.Components.General 2184 @using Dynamicweb.Rapido.Blocks.Components 2185 2186 @functions { 2187 void RenderTableRow(TableRow settings) 2188 { 2189 Dictionary<string, string> attributes = new Dictionary<string, string>(); 2190 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 2191 2192 var enumToClasses = new Dictionary<TableRowDesign, string> 2193 { 2194 { TableRowDesign.NoBorder, "table__row--no-border" }, 2195 { TableRowDesign.Border, "table__row--border" }, 2196 { TableRowDesign.TopBorder, "table__row--top-line" }, 2197 { TableRowDesign.BottomBorder, "table__row--bottom-line" }, 2198 { TableRowDesign.Solid, "table__row--solid" } 2199 }; 2200 2201 string tableRowDesignClass = ""; 2202 if (settings.Design != TableRowDesign.None) 2203 { 2204 tableRowDesignClass = enumToClasses[settings.Design]; 2205 } 2206 2207 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); } 2208 2209 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 2210 2211 <tr @ComponentMethods.AddAttributes(resultAttributes)> 2212 @foreach (var cell in settings.Cells) 2213 { 2214 if (settings.IsHeaderRow) 2215 { 2216 cell.IsHeader = true; 2217 } 2218 Render(cell); 2219 } 2220 </tr> 2221 } 2222 } 2223 @using Dynamicweb.Rapido.Blocks.Components.General 2224 @using Dynamicweb.Rapido.Blocks.Components 2225 @using Dynamicweb.Core 2226 2227 @functions { 2228 void RenderTableCell(TableCell settings) 2229 { 2230 Dictionary<string, string> attributes = new Dictionary<string, string>(); 2231 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 2232 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); } 2233 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); } 2234 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); } 2235 2236 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 2237 2238 string tagName = settings.IsHeader ? "th" : "td"; 2239 2240 @("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">") 2241 @settings.Content 2242 @("</" + tagName + ">"); 2243 } 2244 } 2245 @* <h1>ArticleComponents.cshtml</h1> *@ 2246 2247 @{ 2248 Context.Current.Response.AddHeader("access-control-allow-origin", "*"); 2249 2250 string bodyClass = ""; 2251 string template = "real"; 2252 string TemplateUrl = "/Files/Templates/Designs/rm/"; 2253 string MetaTitle = Model.Title; 2254 string MetaDescription = Model.Description; 2255 string MetaKeywords = Model.Keywords; 2256 string searchClass = ""; 2257 2258 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css")); 2259 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}"; 2260 2261 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg"; 2262 2263 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2"); 2264 2265 // Indstillinger 2266 var settings_Frontpage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : ""; 2267 var settings_Boligside = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : ""; 2268 var settings_Maeglersogning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : ""; 2269 var settings_MinSide = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : ""; 2270 var settings_Sibling_Site = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : ""; 2271 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : ""; 2272 var settings_Product_Group = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : ""; 2273 var settings_Boligagent = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : ""; 2274 var settings_Persondatapolitik = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : ""; 2275 2276 // API 2277 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : ""; 2278 var settings_BoligListFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : ""; 2279 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : ""; 2280 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : ""; 2281 var settings_BoligCountFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : ""; 2282 var settings_BoligMapFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : ""; 2283 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"]; 2284 2285 // Forside 2286 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : ""; 2287 var settings_FrontpageVideo = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : ""; 2288 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : ""; 2289 2290 // Tracking 2291 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : ""; 2292 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]))) 2293 { 2294 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]); 2295 } 2296 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : ""; 2297 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : ""; 2298 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : ""; 2299 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]); 2300 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]); 2301 var settings_Google_Optimize_Id = Converter.ToString(SettingsItem["Google_Optimize_Id"]); 2302 2303 // Indstillinger for brugerfunktioner 2304 var settings_ForgotPwPage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : ""; 2305 var settings_NewsletterSignup = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : ""; 2306 var settings_CreateUserModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : ""; 2307 var settings_LoginModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : ""; 2308 2309 int createUserParagraphId = 0; 2310 int loginParagraphId = 0; 2311 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId); 2312 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId); 2313 2314 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv. 2315 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv) 2316 int searchPageId = GetPageSettingsPageId("Boligside"); 2317 if (searchPageId == 0) 2318 { 2319 searchPageId = GetWebsiteSettingsPageId("Boligside"); 2320 } 2321 2322 int boligsideId = GetPageSettingsPageId("Boligside"); 2323 if (boligsideId == 0) 2324 { 2325 boligsideId = GetWebsiteSettingsPageId("Boligside"); 2326 } 2327 2328 string productGroupFilter = String.Empty; 2329 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null) 2330 { 2331 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString(); 2332 } 2333 2334 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"])) 2335 { 2336 searchClass = "is-frontpage"; 2337 } 2338 2339 bool isErhverv = false; 2340 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null) 2341 { 2342 var s = Pageview.Page.PropertyItem["Erhverv"].ToString(); 2343 Boolean.TryParse(s, out isErhverv); 2344 } 2345 2346 bool isBrokerPage = false; 2347 if (!string.IsNullOrEmpty(Model.Area.Item.GetString("M_glerGruppeId"))) 2348 { 2349 isBrokerPage = true; 2350 bodyClass = ""; // Get rid of transparent header on brokerPage 2351 } 2352 2353 string callTrackingId = Model.Item.GetString("CallTrackingId"); 2354 2355 RealEstate.User.Model.BrokerEmployee MyBroker = null; 2356 try 2357 { 2358 var MyB = new RealEstate.User.MyBroker(); 2359 MyBroker = MyB.GetMyBroker(); 2360 } 2361 catch 2362 { 2363 // Ignore 2364 } 2365 2366 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : ""); 2367 string querySearchNameAttr = "search"; 2368 2369 // Overwrite search with zipcodeinterval if set 2370 if (Context.Current.Request.QueryString["zipcodeinterval"] != null) 2371 { 2372 querySearch = Context.Current.Request.QueryString["zipcodeinterval"]; 2373 querySearchNameAttr = "zipcodeinterval"; 2374 } 2375 2376 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : ""); 2377 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : ""); 2378 2379 Dynamicweb.Security.UserManagement.User user = null; 2380 int userID = 0; 2381 string userName = ""; 2382 string userEmail = ""; 2383 string userPhone = ""; 2384 string userZip = ""; 2385 string userAddress = ""; 2386 2387 if (Dynamicweb.Security.UserManagement.UserContext.Current.IsLoggedOn) 2388 { 2389 user = Dynamicweb.Security.UserManagement.UserContext.Current.User; 2390 userName = user.Name; 2391 userEmail = user.Email; 2392 userPhone = user.Phone; 2393 userZip = user.Zip; 2394 userAddress = user.Address; 2395 userID = user.ID; 2396 } 2397 2398 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode"); 2399 string forgotPwTemplate = ""; 2400 string forgotPwSender = ""; 2401 string markerColor = ""; 2402 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png"; 2403 2404 // Important - e-mail templates for forgotPw must be placed in "UserManagement/Login" folder 2405 forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml"; 2406 forgotPwSender = "noreply@mailreal.dk"; 2407 markerColor = "#213960"; 2408 2409 var butikId = string.Empty; 2410 string bEmail = string.Empty; 2411 if (MyBroker != null && MyBroker.Broker != null) 2412 { 2413 butikId = MyBroker.Broker.Item().GetString("CBMedlemsnummer"); 2414 bEmail = MyBroker.Broker.Item().GetString("Email"); 2415 } 2416 2417 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment")); 2418 2419 var termsMail = "info@realmaeglerne.dk"; 2420 } 2421 2422 <!DOCTYPE html> 2423 <html> 2424 <head> 2425 <meta charset="utf-8"> 2426 <title>@MetaTitle</title> 2427 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1"> 2428 <meta name="description" content="@MetaDescription"> 2429 <meta name="keywords" content="@MetaKeywords"> 2430 <meta name="format-detection" content="telephone=no"> 2431 <meta http-equiv="Expires" content="60"> 2432 <meta name="robots" content="@(Pageview.Area.Noindex ? "noindex" : "index"),@(Pageview.Area.Nofollow ? "nofollow" : "follow")"> 2433 2434 @*RICH SNIPPETS*@ 2435 2436 @RenderSnippet("OpenGraphTags") 2437 @if (!string.IsNullOrEmpty(settings_Google_Optimize_Id)) 2438 { 2439 <!-- Google optimize script--> 2440 <script src="https://www.googleoptimize.com/optimize.js?id=@settings_Google_Optimize_Id"></script> 2441 } 2442 <!-- TrustBox script --> 2443 <script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script> 2444 <!-- End TrustBox script --> 2445 2446 <script type="application/ld+json"> 2447 { 2448 "context": "https://schema.org/", 2449 "@@type": "WebSite", 2450 "name": "RealMæglerne", 2451 "url": "https://www.realmaeglerne.dk/", 2452 "potentialAction": { 2453 "type": "SearchAction", 2454 "target": "https://www.realmaeglerne.dk/find-maegler?q={search_term_string}", 2455 "query-input": "required name=search_term_string" 2456 } 2457 } 2458 </script> 2459 2460 <script type="application/ld+json"> 2461 { 2462 "context": "https://schema.org", 2463 "@@type": "Corporation", 2464 "name": "RealMæglerne", 2465 "alternateName": "R&B Mægler A/S", 2466 "url": "https://www.realmaeglerne.dk", 2467 "logo": "https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png", 2468 "contactPoint": { 2469 "type": "ContactPoint", 2470 "telephone": "+4570237153", 2471 "contactType": "sales", 2472 "areaServed": "DK", 2473 "availableLanguage": "Danish" 2474 }, 2475 "sameAs": [ 2476 "https://www.facebook.com/realmaeglerne/", 2477 "https://www.linkedin.com/company/realmæglerne/", 2478 "https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g", 2479 "https://www.realmaeglerne.dk/" 2480 ] 2481 } 2482 </script> 2483 @RenderSnippet("StructuredData") 2484 @*RICH SNIPPETS END*@ 2485 2486 @*FONT AWESOME*@ 2487 @{ 2488 <link rel="stylesheet" href="@(TemplateUrl)assets/fontawesome/css/all.css" async /> 2489 <link rel="stylesheet" href="@mainCSS" async /> 2490 2491 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"])) 2492 { 2493 var cssErhvervFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/erhverv.min.css")); 2494 string erhvervCSS = TemplateUrl + $"assets/dist/css/erhverv.min.css?{cssErhvervFileInfo.LastWriteTime.Ticks}"; 2495 <link rel="stylesheet" href="@erhvervCSS" async> 2496 } 2497 } 2498 2499 2500 <link rel="icon" type="image/ico" href="@(TemplateUrl)assets/images/favicons/favicon-real.ico?v=1"> 2501 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-16x16.png" sizes="16x16"> 2502 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-32x32.png" sizes="32x32"> 2503 <link rel="icon" type="image/png" href="@(TemplateUrl)assets/images/favicons/favicon-real-96x96.png" sizes="96x96"> 2504 <meta name="google-site-verification" content="hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg" /> 2505 2506 @if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString())) 2507 { 2508 <script> 2509 window.dataLayer = window.dataLayer || []; // must be placed above GTM script 2510 </script> 2511 <!-- Google Tag Manager --> 2512 <script> 2513 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 2514 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 2515 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 2516 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 2517 })(window,document,'script','dataLayer','@settings_Google_Tag_Manager_ID');</script> 2518 <!-- End Google Tag Manager --> 2519 } 2520 2521 @if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId)) 2522 { 2523 <script type="text/javascript" src="https://call.call-tracking.dk/getJavascript?custid=@callTrackingId"></script> 2524 } 2525 2526 @if (!String.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString())) 2527 { 2528 <!-- Begin Leadhub Pixel Code --> 2529 <script> 2530 (function(w,d,x,n,u,t,f,s,o){ 2531 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){ 2532 (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) 2533 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '@settings_Leadhub_Pixel_ID'); 2534 lhi('pageview'); 2535 </script> 2536 <!-- End Leadhub Pixel Code --> 2537 } 2538 2539 <script> 2540 // Global namespace used for fetching API feeds from DW 2541 var RMAPI = (RMAPI) ? RMAPI : {}; 2542 var ApiPreFix = "/Default.aspx?ID="; 2543 RMAPI.BoligCountFeed = ApiPreFix + "@settings_BoligCountFeed"; 2544 RMAPI.BoligListFeed = ApiPreFix + "@settings_BoligListFeed" + "&refpageid=@Pageview.Page.ID"; 2545 RMAPI.BoligListFeedErhverv = "@settings_BoligListFeedErhverv"; 2546 RMAPI.BoligListFeedMaegler = ApiPreFix + "@settings_BoligListFeedMaegler" + "&refpageid=@Pageview.Page.ID"; 2547 RMAPI.BoligSearchFeed = ApiPreFix + "@settings_BoligSearchFeed"; 2548 RMAPI.BoligMapFeed = ApiPreFix + "@settings_BoligMapFeed"; 2549 RMAPI.Boligagent = "@settings_Boligagent"; 2550 RMAPI.IsErhverv = @isErhverv.ToString().ToLower(); 2551 RMAPI.ProductGroupFilter = "@productGroupFilter"; 2552 RMAPI.ButikId = "@butikId"; 2553 RMAPI.Boligvisning = false; 2554 RMAPI.RefPageId = "@Pageview.Page.ID"; 2555 RMAPI.Template = "@template"; 2556 RMAPI.SliderSettings = @JsonConvert.SerializeObject(Settings.Site); 2557 RMAPI.AdvisorSearchFeed = "@settings_AdvisorSearchFeed"; 2558 RMAPI.LoadingIcon = "@loadingIcon"; 2559 RMAPI.MarkerColor = "@markerColor"; 2560 RMAPI.mapMarkerUrl = "@mapMarkerUrl"; 2561 RMAPI.settings_ForgotPwPage = "@settings_ForgotPwPage"; 2562 </script> 2563 2564 @if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString())) 2565 { 2566 <!-- Facebook Pixel Code --> 2567 <script> 2568 !function (f, b, e, v, n, t, s) { 2569 if (f.fbq) return; n = f.fbq = function () { 2570 n.callMethod ? 2571 n.callMethod.apply(n, arguments) : n.queue.push(arguments) 2572 }; 2573 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; 2574 n.queue = []; t = b.createElement(e); t.async = !0; 2575 t.src = v; s = b.getElementsByTagName(e)[0]; 2576 s.parentNode.insertBefore(t, s) 2577 }(window, document, 'script', 2578 'https://connect.facebook.net/en_US/fbevents.js'); 2579 fbq('init', '@settings_Facebook_App_ID'); 2580 fbq('track', 'PageView'); 2581 </script> 2582 <noscript> 2583 <img height="1" width="1" src="https://www.facebook.com/tr?id=@settings_Facebook_App_ID&ev=PageView&noscript=1" /> 2584 </noscript> 2585 <!-- End Facebook Pixel Code --> 2586 } 2587 2588 <script type='text/javascript' src='https://platform-api.sharethis.com/js/sharethis.js#property=5d68cfaf5fea9f001288d9ac&product=inline-share-buttons' async='async'></script> 2589 2590 </head> 2591 2592 <body class="@template@bodyClass" data-spforgotpwtemplate="@forgotPwTemplate" data-spforgotpwsender="@forgotPwSender" data-spforgotpwsubject="@forgotPwSubject" data-spsalesassesmentid="@salesAssessmentPageId"> 2593 @{ 2594 string logoUrl = TemplateUrl + (!Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg"); 2595 } 2596 2597 @if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) && GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID) 2598 { 2599 <div class="top-search"> 2600 <div class="header logo"> 2601 <div class="logo"> 2602 <a href="/erhverv"> 2603 <img src="@logoUrl" alt="RealMæglerne" /> 2604 </a> 2605 </div> 2606 </div> 2607 <div class="top-form mx-auto"> 2608 <form id="main-search-top" class="js-top-search" action="/Default.aspx" method="GET"> 2609 @{ 2610 2611 var settings_BoligListErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoliglisteErhverv"])) ? Converter.ToString(SettingsItem["BoliglisteErhverv"]).Replace("Default.aspx?Id=", "") : ""; 2612 } 2613 <input type="hidden" name="ID" value='@settings_BoligListErhverv' id="searchPageId-top" disabled="disabled" /> 2614 2615 @if (Context.Current.Request["type"] == "egetforbrug") 2616 { 2617 <input name="type" type="hidden" value="egetforbrug" /> 2618 <input name="investeringsejendom" type="hidden" value="0" /> 2619 } 2620 <div class="row form-wrapper no-gutters"> 2621 <div class="col-xs-12 col-md-4 col-lg-5 col-searchbar"> 2622 <div class="searchbar float-label-container text-left"> 2623 <label class="float-label">@Translate("Smartpage:Erhver.Postnummer, by, vej eller sagsnummer", "Postnummer, by, vej eller sagsnummer")</label> 2624 <input type="text" name="@querySearchNameAttr" id="searchfield-top" class="search-input js-float-label js-getdata" tabindex="1" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch)" /> 2625 </div> 2626 </div> 2627 <div class="col-xs-12 col-md-5"> 2628 <div class="row no-gutters"> 2629 <div class="col-xs-12 col-md-6 input-col"> 2630 <div class="dropdown w-overlay float-label-container"> 2631 <label class="float-label" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">@Translate("Smartpage:Search.Erhverv.Lokaletype", "Lokaletype")</label> 2632 <button class="btn btn-dropdown dropdown-toggle reverse position-absolute-md" type="button" id="Boligtype-frontpage" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button> 2633 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype"> 2634 <ul class="bolig-dropdown list-unstyled"> 2635 @{ 2636 RenderBoligTypeErhverv(); 2637 } 2638 </ul> 2639 <span class="border-fat"></span> 2640 <div class="d-none d-md-block"> 2641 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button> 2642 </div> 2643 <div class="d-flex row d-md-none"> 2644 <div class="col-6"> 2645 <button class="btn btn-danger js-remove-filter">@Translate("Smartpage:Search.Annuller", "Annuller")</button> 2646 </div> 2647 <div class="col-6"> 2648 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button> 2649 </div> 2650 </div> 2651 </div> 2652 2653 </div> 2654 </div> 2655 <div class="col-xs-12 col-md-6 input-col"> 2656 <div class="btn-dropdown p-3 border-top-bottom-right"> 2657 <ul class="two-column list-unstyled"> 2658 <li> 2659 <label class="checkbox-container"> 2660 @Translate("Smartpage:Search.Erhverv.Leje", "Leje") 2661 <input type="checkbox" name="propertytype" value="leje" class="js-input-check" /> 2662 <span class="checkmark"></span> 2663 </label> 2664 </li> 2665 <li> 2666 <label class="checkbox-container"> 2667 @Translate("Smartpage:Search.Erhverv.Køb", "Køb") 2668 <input type="checkbox" name="propertytype" value="kob" class="js-input-check" /> 2669 <span class="checkmark"></span> 2670 </label> 2671 </li> 2672 </ul> 2673 </div> 2674 2675 </div> 2676 </div> 2677 </div> 2678 <div class="col-xs-12 col-md-3 col-lg-2 d-none d-md-block"> 2679 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button> 2680 </div> 2681 </div> 2682 </form> 2683 </div> 2684 </div> 2685 } 2686 2687 @if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"])) 2688 { 2689 <div class="header shortcuts"> 2690 <div class="header-shortcuts float-right"> 2691 @if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID) 2692 { 2693 <a href='' class="search-menu d-none d-xl-flex align-items-center float-left border-right js-mainsearch topsearch @searchClass"> 2694 <i class="fa fa-search" aria-hidden="true"></i><span class="search-menu-text hidden d-md-block"> @Translate("Smartpage:Search.Søg", "Søg")</span> 2695 </a> 2696 } 2697 <div class="menu-slide d-flex align-items-center"> 2698 <b></b> 2699 <span class="menu-text hidden d-md-block">Menu</span> 2700 </div> 2701 </div> 2702 2703 2704 </div> 2705 } 2706 else 2707 { 2708 <div class="header__container container"> 2709 <div class="header__logo"> 2710 <a href="/" title=""> 2711 <img src="@(logoUrl)" alt="" /> 2712 </a> 2713 </div> 2714 <div class="header__title"> 2715 <span>@Translate("Custom:Header.Title", "RealMæglerne")</span> 2716 </div> 2717 @if (userID > 0) 2718 { 2719 <div class="header__navigation d-none d-md-flex"> 2720 <div class="header__navigation"> 2721 <div class="header__Link"> 2722 <ul> 2723 <li class="d-flex align-items-center"> 2724 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"> 2725 <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" /> 2726 </svg> 2727 <a class="ml-2" 2728 href="/Default.aspx?ID=@settings_MinSide" 2729 target="_blank" 2730 aria-label="@Translate("Custom:Accessibility.MyAccountLink", "Gå til Mit RealMæglerne - åbner i nyt vindue")"> 2731 @Translate("Mit RealMæglerne") 2732 </a> 2733 </li> 2734 </ul> 2735 </div> 2736 </div> 2737 </div> 2738 2739 } 2740 else 2741 { 2742 <div class="header__navigation d-none d-md-flex"> 2743 <div class="header__navigation"> 2744 <div class="header__Link"> 2745 <ul> 2746 <li class="d-flex align-items-center"> 2747 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"> 2748 <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" /> 2749 </svg> 2750 <a class="ml-2" 2751 href="javascript:panelLogin()" 2752 aria-label="@Translate("Custom:Accessibility.Login", "Login - åbner i sidepanel")"> 2753 @Translate("Login") 2754 </a> 2755 </li> 2756 </ul> 2757 </div> 2758 </div> 2759 </div> 2760 } 2761 <div class="header__search flex-column flex-md-row js-mainsearch"> 2762 @Translate("Søg bolig") 2763 </div> 2764 <div class="header__navigation"> 2765 <div class="header__navigation-icon menu-slide"> 2766 <div class="d-none d-md-block"> 2767 @Translate("Menu") 2768 </div> 2769 </div> 2770 </div> 2771 </div> 2772 } 2773 2774 <div class="search-modal"> 2775 2776 @if (Converter.ToString(Pageview.Area.Item["Type"]) == "real") 2777 { 2778 <div class="main-search-form"> 2779 <i class="fal fa-times float-right fa-2x js-close-search close-search"></i> 2780 <div class="row mb-3 align-items-center"> 2781 <div class="col-xs-12 col-md-3 border-right"> 2782 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3> 2783 </div> 2784 <div class="col-xs-12 col-md-9 home-count d-none d-md-block"> 2785 <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> 2786 2787 </div> 2788 </div> 2789 2790 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET"> 2791 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" /> 2792 <div class="row form-wrapper no-gutters"> 2793 2794 <div class="col-xs-12 col-md-5 col-searchbar"> 2795 <div class="searchbar"> 2796 <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)" /> 2797 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom)" /> 2798 <input type="hidden" id="zipcodeto" name="zipcodeto" value="@Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo)" /> 2799 </div> 2800 </div> 2801 <div class="col-xs-12 col-md-5"> 2802 <div class="row no-gutters"> 2803 <div class="col-xs-12 col-md-6 input-col"> 2804 <div class="dropdown"> 2805 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 2806 @Translate("Smartpage:Search.Boligtype", "Boligtype") 2807 </button> 2808 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype"> 2809 <ul class="bolig-dropdown list-unstyled"> 2810 @{ 2811 RenderBoligtypeCheckboxesDropdown(); 2812 } 2813 </ul> 2814 <span class="border-fat"></span> 2815 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button> 2816 </div> 2817 2818 </div> 2819 2820 </div> 2821 <div class="col-xs-12 col-md-6 input-col"> 2822 <div class="dropdown"> 2823 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 2824 @Translate("Smartpage:Search.Pris", "Pris") 2825 </button> 2826 <div class="dropdown-menu box-shadow dropdown-price js-dropdown-price" aria-labelledby="Pris"> 2827 <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"] : "")' /> 2828 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10"> 2829 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option> 2830 @for (var i = 0; i <= 10000000; i += 100000) 2831 { 2832 if (i == 10000000) 2833 { 2834 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option> 2835 } 2836 else 2837 { 2838 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option> 2839 } 2840 } 2841 </select> 2842 2843 <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"] : "")' /> 2844 <select class="form-control js-pricemax-frontpage-select js-input-max-select"> 2845 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option> 2846 @for (var i = 0; i <= 10000000; i += 100000) 2847 { 2848 if (i == 10000000) 2849 { 2850 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Convert.ToInt32(i).ToString("N0")+</option> 2851 } 2852 else 2853 { 2854 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Convert.ToInt32(i).ToString("N0")</option> 2855 } 2856 } 2857 </select> 2858 </div> 2859 </div> 2860 </div> 2861 </div> 2862 </div> 2863 <div class="col-xs-12 col-md-2 d-none d-md-block"> 2864 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button> 2865 </div> 2866 </div> 2867 2868 <div class="row moresearch-btn no-gutters"> 2869 <div class="col-sm-12"> 2870 <div class="row align-items-center no-gutters"> 2871 <div class="col-12 col-md-4"> 2872 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch"> 2873 <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> 2874 </button> 2875 </div> 2876 <div class="col-6 col-md-2 mb-xs-4"> 2877 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a> 2878 </div> 2879 </div> 2880 2881 <div class="collapse" id="moreSearch-master"> 2882 2883 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4> 2884 <div class="row align-items-end mb-30"> 2885 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"> 2886 <div class="filter-container row"> 2887 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label> 2888 <div class="col-6 pr-sm-0 pr-2"> 2889 <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"] : "")' /> 2890 <select class="form-control js-boligarealmin-frontpage-select js-count"> 2891 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option> 2892 @for (var i = 0; i <= 300; i += 10) 2893 { 2894 if (i == 300) 2895 { 2896 <option>@i+</option> 2897 } 2898 else 2899 { 2900 <option>@i</option> 2901 } 2902 } 2903 </select> 2904 2905 </div> 2906 <div class="col-6 pl-sm-0 pl-2"> 2907 <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"] : "")' /> 2908 <select class="form-control js-boligarealmax-frontpage-select js-count"> 2909 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option> 2910 @for (var i = 0; i <= 300; i += 10) 2911 { 2912 if (i == 300) 2913 { 2914 <option>@i+</option> 2915 } 2916 else 2917 { 2918 <option>@i</option> 2919 } 2920 } 2921 </select> 2922 2923 </div> 2924 </div> 2925 </div> 2926 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"> 2927 <div class="filter-container row"> 2928 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label> 2929 <div class="col-6 pr-sm-0 pr-2"> 2930 <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"] : "")' /> 2931 <select class="form-control js-grundarealmin-frontpage-select js-count"> 2932 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option> 2933 @for (var i = 0; i <= 10000; i += 100) 2934 { 2935 if (i == 10000) 2936 { 2937 <option>@i+</option> 2938 } 2939 else 2940 { 2941 <option>@i</option> 2942 } 2943 } 2944 </select> 2945 </div> 2946 <div class="col-6 pl-sm-0 pl-2"> 2947 <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"] : "")' /> 2948 <select class="form-control js-grundarealmax-frontpage-select js-count"> 2949 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option> 2950 @for (var i = 0; i <= 10000; i += 100) 2951 { 2952 if (i == 10000) 2953 { 2954 <option>@i+</option> 2955 } 2956 else 2957 { 2958 <option>@i</option> 2959 } 2960 } 2961 </select> 2962 </div> 2963 </div> 2964 </div> 2965 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"> 2966 <div class="filter-container row"> 2967 <label class="d-block col-12">Antal rum</label> 2968 <div class="col-6 pr-sm-0 pr-2"> 2969 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count"> 2970 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option> 2971 @{ 2972 RenderSelectValue("1", "1", "roomsmin"); 2973 RenderSelectValue("2", "2", "roomsmin"); 2974 RenderSelectValue("3", "3", "roomsmin"); 2975 RenderSelectValue("4", "4", "roomsmin"); 2976 RenderSelectValue("5+", "5", "roomsmin"); 2977 } 2978 </select> 2979 </div> 2980 <div class="col-6 pl-sm-0 pl-2"> 2981 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count"> 2982 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option> 2983 @{ 2984 RenderSelectValue("1", "1", "roomsmax"); 2985 RenderSelectValue("2", "2", "roomsmax"); 2986 RenderSelectValue("3", "3", "roomsmax"); 2987 RenderSelectValue("4", "4", "roomsmax"); 2988 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax"); 2989 } 2990 </select> 2991 </div> 2992 </div> 2993 </div> 2994 <div class="col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0"> 2995 <div class="row"> 2996 <div class="col-12 pr-2"> 2997 <div class="filter-container"> 2998 <label class="d-block">Energimærke</label> 2999 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count"> 3000 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Vælg", "Vælg")</option> 3001 <option value="01">G</option> 3002 <option value="02">F</option> 3003 <option value="03">E</option> 3004 <option value="04">D</option> 3005 <option value="05">C</option> 3006 <option value="06">B</option> 3007 <option value="07">A</option> 3008 <option value="08">A2010</option> 3009 <option value="09">A2015</option> 3010 <option value="10">A2020+</option> 3011 </select> 3012 </div> 3013 </div> 3014 </div> 3015 </div> 3016 <div class="col-12 col-sm-6 col-lg-3 mt-3"> 3017 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4> 3018 <div class="filter-container row"> 3019 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label> 3020 <div class="col-6 pr-sm-0 pr-2"> 3021 <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"] : "")' /> 3022 <select class="form-control js-subsidymin-frontpage-select js-count"> 3023 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option> 3024 @for (var i = 0; i <= 25000; i += 1250) 3025 { 3026 if (i == 25000) 3027 { 3028 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option> 3029 } 3030 else 3031 { 3032 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option> 3033 } 3034 } 3035 </select> 3036 </div> 3037 <div class="col-6 pl-sm-0 pl-2"> 3038 <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"] : "")' /> 3039 <select class="form-control js-subsidymax-frontpage-select js-count"> 3040 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option> 3041 @for (var i = 0; i <= 25000; i += 1250) 3042 { 3043 if (i == 25000) 3044 { 3045 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")+</option> 3046 } 3047 else 3048 { 3049 <option value="@Converter.ToInt32(i)">@Convert.ToInt32(i).ToString("N0")</option> 3050 } 3051 } 3052 </select> 3053 </div> 3054 </div> 3055 </div> 3056 <div class="col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0"> 3057 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button> 3058 </div> 3059 </div> 3060 </div> 3061 </div> 3062 </div> 3063 <div class="row d-block d-md-none form-wrapper no-gutters"> 3064 <div class="col-xs-12 col-md-2"> 3065 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button> 3066 </div> 3067 </div> 3068 3069 3070 </form> 3071 </div> 3072 } 3073 else 3074 { 3075 <div class="main-search-form center"> 3076 <i class="fal fa-times float-right fa-2x js-close-search"></i> 3077 <div class="row mb-3 align-items-center"> 3078 <div class="col-xs-12 col-md-5 border-right"> 3079 <h3>@Translate("Smartpage:Search.Søg bolig", "Søg bolig")</h3> 3080 </div> 3081 <div class="col-xs-12 col-md-7 home-count d-none d-md-block"> 3082 <span class="search-count" id="searchCounterMain">0</span> <span>@Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")</span> 3083 </div> 3084 </div> 3085 3086 <form id="main-search" class="searchbar-wrapper" action="/Default.aspx" method="GET"> 3087 <input type="hidden" name="ID" value='@searchPageId' id="searchPageId" disabled="disabled" /> 3088 <div class="row form-wrapper no-gutters"> 3089 3090 <div class="col-12 mb-10"> 3091 <div class="searchbar"> 3092 <input type="text" name="@querySearchNameAttr" id="searchfield" class="search-input" placeholder="Postnummer, by, vej eller sagsnummer" tabindex="1" value='@querySearch' /> 3093 <input type="hidden" id="zipcodefrom" name="zipcodefrom" value='@queryZipCodeFrom' /> 3094 <input type="hidden" id="zipcodeto" name="zipcodeto" value='@queryZipCodeTo' /> 3095 </div> 3096 </div> 3097 <div class="col-xs-12 col-md-8"> 3098 <div class="row no-gutters"> 3099 <div class="col-xs-12 col-md-6 input-col"> 3100 <div class="dropdown"> 3101 <button class="btn btn-dropdown dropdown-toggle reverse js-count" type="button" id="Boligtype" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 3102 @Translate("Smartpage:Search.Boligtype", "Boligtype") 3103 </button> 3104 <div class="dropdown-menu box-shadow bolig-dropdown-container" aria-labelledby="Boligtype"> 3105 <ul class="bolig-dropdown list-unstyled"> 3106 @{ 3107 RenderBoligtypeCheckboxesDropdown(); 3108 } 3109 </ul> 3110 <span class="border-fat"></span> 3111 <button class="btn btn-primary js-close-dropdown">@Translate("Smartpage:Search.Anvend", "Anvend")</button> 3112 </div> 3113 3114 </div> 3115 3116 </div> 3117 <div class="col-xs-12 col-md-6 input-col"> 3118 <div class="dropdown"> 3119 <button class="btn btn-dropdown dropdown-toggle reverse" type="button" id="Pris" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 3120 @Translate("Smartpage:Search.Pris", "Pris") 3121 </button> 3122 <div class="dropdown-menu box-shadow dropdown-price" aria-labelledby="Pris"> 3123 <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")' /> 3124 <select class="form-control js-pricemin-frontpage-select js-input-min-select mb-10"> 3125 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")</option> 3126 @for (var i = 0; i <= 10000000; i += 100000) 3127 { 3128 if (i == 10000000) 3129 { 3130 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option> 3131 } 3132 else 3133 { 3134 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option> 3135 } 3136 } 3137 </select> 3138 3139 <input type="text" name="pricemax" class="form-control js-auto-thousand js-pricemax-frontpage-input" placeholder='@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")' /> 3140 <select class="form-control js-pricemax-frontpage-select js-input-max-select"> 3141 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")</option> 3142 @for (var i = 0; i <= 10000000; i += 100000) 3143 { 3144 if (i == 10000000) 3145 { 3146 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")+'>@Converter.ToInt32(i).ToString("N0")+</option> 3147 } 3148 else 3149 { 3150 <option value="@i" data-value='@Converter.ToInt32(i).ToString("N0")'>@Converter.ToInt32(i).ToString("N0")</option> 3151 } 3152 } 3153 </select> 3154 </div> 3155 </div> 3156 </div> 3157 </div> 3158 </div> 3159 <div class="col-xs-12 col-md-4 d-none d-md-block"> 3160 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.Søg", "Søg")</button> 3161 </div> 3162 </div> 3163 3164 <div class="row moresearch-btn no-gutters"> 3165 <div class="col-sm-12"> 3166 <div class="row align-items-center no-gutters"> 3167 <div class="col-12 col-md-5"> 3168 <button class="btn-blank js-search-collapse" type="button" data-toggle="collapse" data-target="#moreSearch-master" aria-expanded="false" aria-controls="moreSearch-master"> 3169 <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> 3170 </button> 3171 </div> 3172 <div class="col-6 col-md-3 mb-xs-4"> 3173 <a class="js-reset reset-btn white">@Translate("Smartpage:Search.NulstilValg", "Nulstil valg")</a> 3174 </div> 3175 <div class="col-6 col-md-4 mb-xs-4"> 3176 <div class="parent-purchases"> 3177 <label class="checkbox-container white"> 3178 @Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet") 3179 <input type="checkbox" name="foraeldrekoebegnet" value="true" class="js-input-check"> 3180 <span class="checkmark grey"></span> 3181 </label> 3182 </div> 3183 </div> 3184 </div> 3185 3186 <div class="collapse" id="moreSearch-master"> 3187 3188 <h4 class="mt-20"><b>@Translate("Smartpage:Search.Bolig", "Bolig")</b></h4> 3189 <div class="row align-items-end mb-30"> 3190 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"> 3191 <div class="filter-container row"> 3192 <label class="d-block col-12">@Translate("Smartpage:Search.Boligareal", "Boligareal")</label> 3193 <div class="col-6 pr-sm-0 pr-2"> 3194 <input type="text" name="boligarealmin" id="boligarealmin" class="form-control js-boligarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' /> 3195 <select class="form-control js-boligarealmin-frontpage-select js-count"> 3196 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option> 3197 @for (var i = 0; i <= 300; i += 10) 3198 { 3199 if (i == 300) 3200 { 3201 <option>@i+</option> 3202 } 3203 else 3204 { 3205 <option>@i</option> 3206 } 3207 } 3208 </select> 3209 </div> 3210 <div class="col-6 pl-sm-0 pl-2"> 3211 <input type="text" name="boligarealmax" id="boligarealmax" class="form-control js-boligarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' /> 3212 <select class="form-control js-boligarealmax-frontpage-select js-count"> 3213 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option> 3214 @for (var i = 0; i <= 300; i += 10) 3215 { 3216 if (i == 300) 3217 { 3218 <option>@i+</option> 3219 } 3220 else 3221 { 3222 <option>@i</option> 3223 } 3224 } 3225 </select> 3226 </div> 3227 </div> 3228 </div> 3229 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"> 3230 <div class="filter-container row"> 3231 <label class="d-block col-12">@Translate("Smartpage:Search.Grundareal", "Grundareal")</label> 3232 <div class="col-6 pr-sm-0 pr-2"> 3233 <input type="text" name="grundarealmin" id="grundarealmin" class="form-control js-grundarealmin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")' /> 3234 <select class="form-control js-grundarealmin-frontpage-select js-count"> 3235 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")</option> 3236 @for (var i = 0; i <= 10000; i += 100) 3237 { 3238 if (i == 10000) 3239 { 3240 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option> 3241 } 3242 else 3243 { 3244 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option> 3245 } 3246 } 3247 </select> 3248 </div> 3249 <div class="col-6 pl-sm-0 pl-2"> 3250 <input type="text" name="grundarealmax" id="grundarealmax" class="form-control js-grundarealmax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")' /> 3251 <select class="form-control js-grundarealmax-frontpage-select"> 3252 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")</option> 3253 @for (var i = 0; i <= 10000; i += 100) 3254 { 3255 if (i == 10000) 3256 { 3257 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option> 3258 } 3259 else 3260 { 3261 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option> 3262 } 3263 } 3264 </select> 3265 </div> 3266 </div> 3267 </div> 3268 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"> 3269 <div class="filter-container row"> 3270 <label class="d-block col-12">Antal rum</label> 3271 3272 <div class="col-6 pr-sm-0 pr-2"> 3273 <select name="roomsmin" id="roomsmin" class="form-control reverse js-roomsmin-select js-count"> 3274 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Min", "Min")</option> 3275 <option value="1">1</option> 3276 <option value="2">2</option> 3277 <option value="3">3</option> 3278 <option value="4">4</option> 3279 <option value="5">5+</option> 3280 </select> 3281 </div> 3282 <div class="col-6 pl-sm-0 pl-2"> 3283 <select name="roomsmax" id="roomsmax" class="form-control reverse js-roomsmax-select js-count"> 3284 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.Max", "Max")</option> 3285 <option value="1">1</option> 3286 <option value="2">2</option> 3287 <option value="3">3</option> 3288 <option value="4">4</option> 3289 <option value="5">5+</option> 3290 </select> 3291 </div> 3292 </div> 3293 </div> 3294 <div class="col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0"> 3295 <div class="row"> 3296 <div class="col-12 pr-2"> 3297 <div class="filter-container"> 3298 <label class="d-block">Energimærke</label> 3299 <select name="energylabel" id="energylabel" class="form-control reverse js-energylabel-select js-count"> 3300 <option disabled selected="selected">@Translate("Smartpage:Search.Vælg", "Vælg")</option> 3301 <option value="01">G</option> 3302 <option value="02">F</option> 3303 <option value="03">E</option> 3304 <option value="04">D</option> 3305 <option value="05">C</option> 3306 <option value="06">B</option> 3307 <option value="07">A</option> 3308 <option value="08">A2010</option> 3309 <option value="09">A2015</option> 3310 <option value="10">A2020+</option> 3311 </select> 3312 </div> 3313 </div> 3314 </div> 3315 </div> 3316 <div class="col-12 col-sm-6 col-lg-6 mt-3"> 3317 <h4 class=""><b>@Translate("Smartpage:Search.Økonomi", "Økonomi")</b></h4> 3318 <div class="filter-container row"> 3319 <label class="d-block col-12">@Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")</label> 3320 <div class="col-6 pr-sm-0 pr-2"> 3321 <input type="text" name="subsidymin" id="subsidymin" class="form-control js-subsidymin-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Min", "Min")' /> 3322 <select class="form-control js-subsidymin-frontpage-select js-count"> 3323 <option selected="selected" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")</option> 3324 @for (var i = 0; i <= 25000; i += 1250) 3325 { 3326 if (i == 25000) 3327 { 3328 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option> 3329 } 3330 else 3331 { 3332 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option> 3333 } 3334 } 3335 </select> 3336 </div> 3337 <div class="col-6 pl-sm-0 pl-2"> 3338 <input type="text" name="subsidymax" id="subsidymax" class="form-control js-subsidymax-frontpage-input js-count" placeholder='@Translate("Smartpage:Search.Placeholder.Max", "Max")' /> 3339 <select class="form-control js-subsidymax-frontpage-select js-count"> 3340 <option selected="true" disabled="disabled">@Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")</option> 3341 @for (var i = 0; i <= 25000; i += 1250) 3342 { 3343 if (i == 25000) 3344 { 3345 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")+</option> 3346 } 3347 else 3348 { 3349 <option value="@Converter.ToInt32(i)">@Converter.ToInt32(i).ToString("N0")</option> 3350 } 3351 } 3352 </select> 3353 </div> 3354 </div> 3355 </div> 3356 <div class="col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0"> 3357 <button type="submit" class="btn btn-block btn-search"><i class="fa fa-search"></i> @Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")</button> 3358 </div> 3359 </div> 3360 </div> 3361 </div> 3362 </div> 3363 <div class="row d-block d-md-none form-wrapper no-gutters"> 3364 <div class="col-xs-12 col-md-2"> 3365 <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> 3366 </div> 3367 </div> 3368 3369 3370 </form> 3371 </div> 3372 } 3373 </div> 3374 3375 @{ 3376 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning)); 3377 } 3378 3379 @if (isBrokerPage) 3380 { 3381 <section class="maegler-navbar"> 3382 @RenderNavigation(new 3383 { 3384 id = "navbar-main", 3385 cssclass = "dwnavigation", 3386 template = "ul_li.xslt", 3387 StartLevel = 1, 3388 EndLevel = 1 3389 }) 3390 </section> 3391 } 3392 3393 <div class="visual-editor"> 3394 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 3395 3396 3397 @using Dynamicweb.Content.Items 3398 @using Dynamicweb.Rapido.Blocks.Components 3399 @using Dynamicweb.Rapido.Blocks.Components.Articles 3400 @using Dynamicweb.Rapido.Blocks.Components.General 3401 @using Dynamicweb.Rapido.Blocks 3402 3403 3404 @functions { 3405 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage"); 3406 } 3407 3408 @{ 3409 int pageId = Model.ID; 3410 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus"); 3411 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles"); 3412 bool showTitle = Model.Item.GetBoolean("ShowTitle"); 3413 bool showFilters = Model.Item.GetBoolean("ShowFilters"); 3414 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter"); 3415 bool showSearch = Model.Item.GetBoolean("ShowSearch"); 3416 string dynamicListWidth = enablePopular ? "8" : "12"; 3417 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle"; 3418 3419 Dictionary<string, string> categoriesList = new Dictionary<string, string>(); 3420 categoriesList.Add(Translate("All"), ""); 3421 3422 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId)) 3423 { 3424 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any()) 3425 { 3426 categoriesList.Add(page.GetDisplayName(), page.ID.ToString()); 3427 } 3428 } 3429 3430 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields; 3431 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : ""; 3432 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : ""; 3433 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : ""; 3434 3435 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null; 3436 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null; 3437 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null; 3438 3439 Block listPageContainer = new Block 3440 { 3441 Id = "ArticleListPageContainer", 3442 SortId = 10, 3443 Design = new Design 3444 { 3445 RenderType = RenderType.Row 3446 }, 3447 BlocksList = new List<Block> { 3448 new Block { 3449 Id = "ArticleListPageHeader", 3450 SortId = 20, 3451 Design = new Design 3452 { 3453 RenderType = RenderType.Column, 3454 Size = "12" 3455 }, 3456 BlocksList = new List<Block> { 3457 new Block { 3458 Id = "ArticleListPageHeaderRow", 3459 SortId = 10, 3460 Design = new Design 3461 { 3462 RenderType = RenderType.Row 3463 }, 3464 BlocksList = new List<Block> { 3465 new Block { 3466 Id = "ArticleListFilters", 3467 SortId = 30, 3468 Design = new Design { 3469 RenderType = RenderType.Column, 3470 Size = "10", 3471 CssClass = "grid__cell" 3472 } 3473 } 3474 } 3475 } 3476 } 3477 } 3478 } 3479 }; 3480 articleListPage.Add(listPageContainer); 3481 3482 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") { 3483 Block listFilters = articleListPage.GetBlockById("ArticleListFilters"); 3484 listFilters.Template = RenderMobileFilters(listFilters.BlocksList); 3485 listFilters.SkipRenderBlocksList = true; 3486 } 3487 3488 if (showTitle) { 3489 Block titleBlock = new Block 3490 { 3491 Id = "ArticleListTitle", 3492 SortId = 10, 3493 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 }, 3494 Design = new Design 3495 { 3496 RenderType = RenderType.Column, 3497 Size = "2" 3498 } 3499 }; 3500 articleListPage.Add("ArticleListPageHeaderRow", titleBlock); 3501 } 3502 3503 if (showSearch) 3504 { 3505 Block searchFilter = new Block 3506 { 3507 Id = "ArticleListSearch", 3508 SortId = 10, 3509 Component = new ArticleListSearch { } 3510 }; 3511 articleListPage.Add("ArticleListFilters", searchFilter); 3512 } 3513 3514 if (showCategoryFilter) 3515 { 3516 Block categoryFilter = new Block 3517 { 3518 Id = "ArticleListCategoryFilter", 3519 SortId = 20, 3520 Component = new ArticleListCategoryFilter { Categories = categoriesList } 3521 }; 3522 articleListPage.Add("ArticleListFilters", categoryFilter); 3523 } 3524 3525 Block listBody = new Block 3526 { 3527 Id = "ArticleListPageBody", 3528 SortId = 30, 3529 Design = new Design 3530 { 3531 RenderType = RenderType.Column, 3532 Size = dynamicListWidth 3533 } 3534 }; 3535 articleListPage.Add("ArticleListPageContainer", listBody); 3536 3537 Block listBodyRow = new Block 3538 { 3539 Id = "ArticleListPageBodyRow", 3540 SortId = 10, 3541 Design = new Design 3542 { 3543 RenderType = RenderType.Row 3544 } 3545 }; 3546 articleListPage.Add("ArticleListPageBody", listBodyRow); 3547 3548 if (enableArticlesInFocus) { 3549 Block listInFocus = new Block 3550 { 3551 Id = "ArticleListInFocus", 3552 SortId = 10, 3553 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType }, 3554 Design = new Design 3555 { 3556 RenderType = RenderType.Column, 3557 Size = "12", 3558 HidePadding = true 3559 } 3560 }; 3561 articleListPage.Add("ArticleListPageBodyRow", listInFocus); 3562 } 3563 3564 Block listMain = new Block 3565 { 3566 Id = "ArticleListMain", 3567 SortId = 20, 3568 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType }, 3569 Design = new Design 3570 { 3571 RenderType = RenderType.Column, 3572 Size = "12", 3573 HidePadding = true 3574 } 3575 }; 3576 articleListPage.Add("ArticleListPageBodyRow", listMain); 3577 3578 if (enablePopular) 3579 { 3580 Block listPopular = new Block 3581 { 3582 Id = "ArticleListPopular", 3583 SortId = 30, 3584 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType }, 3585 Design = new Design 3586 { 3587 RenderType = RenderType.Column, 3588 Size = "4", 3589 CssClass = "u-padding--lg" 3590 } 3591 }; 3592 articleListPage.Add("ArticleListPageContainer", listPopular); 3593 } 3594 3595 if (showFilters) { 3596 if (filterOneOptions != null) 3597 { 3598 Block filterOne = new Block 3599 { 3600 Id = "ArticleListFilterOne", 3601 SortId = 30, 3602 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" } 3603 }; 3604 articleListPage.Add("ArticleListFilters", filterOne); 3605 } 3606 3607 if (filterTwoOptions != null) 3608 { 3609 Block filterTwo = new Block 3610 { 3611 Id = "ArticleListFilterTwo", 3612 SortId = 40, 3613 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" } 3614 }; 3615 articleListPage.Add("ArticleListFilters", filterTwo); 3616 } 3617 3618 if (filterThreeOptions != null) 3619 { 3620 Block filterThree = new Block 3621 { 3622 Id = "ArticleListFilterThree", 3623 SortId = 50, 3624 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" } 3625 }; 3626 articleListPage.Add("ArticleListFilters", filterThree); 3627 } 3628 } 3629 } 3630 3631 3632 @* The @RenderBlockList base helper is included in Components/GridBuilder.cshtml *@ 3633 3634 @RenderBlockList(articleListPage.BlocksRoot.BlocksList) 3635 3636 3637 <script> 3638 document.getElementById("Page").classList.add("u-color-light-gray--bg"); 3639 </script> 3640 </div> 3641 3642 @if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true) 3643 { 3644 string bName = MyBroker.Broker.Name; 3645 string bClass = "na"; 3646 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png"; 3647 3648 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName)) 3649 { 3650 bName = MyBroker.Broker.CompanyName; 3651 } 3652 try 3653 { 3654 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl"); 3655 if (!string.IsNullOrEmpty(imgUrl)) 3656 { 3657 bImage = imgUrl; 3658 bClass = ""; 3659 } 3660 } 3661 catch 3662 { 3663 // Ignore 3664 } 3665 3666 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId"); 3667 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer"); 3668 3669 <section class="din-maegler"> 3670 <div class="img-wrapper @bClass" style="background-image:url('@bImage')"></div> 3671 <div class="container"> 3672 <div class="col-12 col-sm-12 col-md-6 offset-md-6"> 3673 <h2>Din personlige mægler</h2> 3674 <div class="row"> 3675 <div class="col-12 col-sm-6"> 3676 <p> 3677 <b class="my-broker-name">@MyBroker.Employee.Name</b><br> 3678 @if (!string.IsNullOrEmpty(MyBroker.Employee.Email)) 3679 { 3680 <text>Mail: <a href="mailto:@(ExtractMaskedEmail(MyBroker.Employee.Email))" class="my-broker-email">@ExtractMaskedEmail(MyBroker.Employee.Email)</a><br></text> 3681 } 3682 @if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile)) 3683 { 3684 <text>Tlf.: <a href="tel:@(MyBroker.Employee.PhoneMobile)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Employee.PhoneMobile)</a></text> 3685 } 3686 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 3687 { 3688 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text> 3689 } 3690 </p> 3691 </div> 3692 <div class="col-12 col-sm-6"> 3693 <p> 3694 <b class="my-broker-company-name">@bName</b><br> 3695 <span class="my-broker-company-address">@MyBroker.Broker.Address</span><br> 3696 <span class="my-broker-company-zip">@MyBroker.Broker.ZipCode</span> <span class="my-broker-company-city">@MyBroker.Broker.City</span><br> 3697 @if (!string.IsNullOrEmpty(bEmail)) 3698 { 3699 <text>Mail: <a href="mailto:@(bEmail)" class="my-broker-broker-email">@bEmail</a><br></text> 3700 } 3701 @if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 3702 { 3703 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text> 3704 } 3705 </p> 3706 </div> 3707 </div> 3708 <div class="row"> 3709 <br /> 3710 <div class="col-12 col-sm-6"> 3711 <a href="/@medlemsnummer.Substring(1)" class="btn btn-primary btn-block my-broker-company-url">Til mæglerens side</a> 3712 </div> 3713 3714 </div> 3715 </div> 3716 </div> 3717 </section> 3718 } 3719 <footer> 3720 <div class="container"> 3721 <div class="row"> 3722 @{ 3723 var navigationSettings = new NavigationSettings(); 3724 navigationSettings.StartLevel = 1; 3725 navigationSettings.StopLevel = 3; 3726 navigationSettings.ExpandMode = ExpandMode.All; 3727 navigationSettings.RootAreaId = 1; 3728 navigationSettings.RootNavigationTag = "footer-nav"; 3729 3730 } 3731 @Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings) 3732 </div> 3733 </div> 3734 </footer> 3735 3736 @if (Model.CurrentUser?.ID <= 0) 3737 { 3738 <div id="panel-login" class="panel panel-form"> 3739 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 3740 <b></b> 3741 </button> 3742 <div class="loginform login"> 3743 @if (loginParagraphId > 0) 3744 { 3745 <text> 3746 @RenderParagraphContent(loginParagraphId) 3747 </text> 3748 } 3749 </div> 3750 <div class="loginform register js-register-form-wrapper" style="display: none;"> 3751 @if (createUserParagraphId > 0) 3752 { 3753 <text> 3754 @RenderParagraphContent(createUserParagraphId) 3755 </text> 3756 } 3757 </div> 3758 <div class="loginform forgotpw" style="display: none;"> 3759 <h2 class="forgotpw-reg">@Translate("forgot-pw-reg-title", "Glemt adgangskode")</h2> 3760 <h2 class="forgotpw-broker">@Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")</h2> 3761 <form id="forgotPwForm" class="form-body" method="post" action=""> 3762 <input type="hidden" id="AccessUserShopID" name="AccessUserShopID" value="SHOP6" /> 3763 <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> 3764 <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> 3765 <div class="form-group"> 3766 <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 /> 3767 </div> 3768 <button class="btn btn-primary btn-block" type="submit">@Translate("forgot-pw-cta", "Nulstil adgangskode")</button> 3769 <br /> 3770 <div id="submitMessage"></div> 3771 </form> 3772 </div> 3773 </div> 3774 } 3775 3776 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 3777 @using Dynamicweb.Security.UserManagement 3778 3779 @{ 3780 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"); 3781 } 3782 3783 <div id="panel-kontakt-koeberraadgivning" class="panel panel-form"> 3784 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 3785 <b></b> 3786 </button> 3787 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2> 3788 <form id="form-koeberraadgivning" method="POST" action="/InboxHandler"> 3789 <div class="form-group"> 3790 <label><strong>@Translate("form-navn", "Navn")*</strong></label> 3791 <input class="form-control" type="text" name="navn" tabindex="1" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required /> 3792 </div> 3793 <div class="form-group"> 3794 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 3795 <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='@UserContext.Current.User?.Email' required /> 3796 </div> 3797 <div class="form-group row mb-4"> 3798 <div class="col-6"> 3799 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 3800 <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='@UserContext.Current.User?.Phone' required /> 3801 </div> 3802 <div class="col-6"> 3803 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 3804 <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='@UserContext.Current?.User?.Phone' /> 3805 </div> 3806 </div> 3807 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3> 3808 <div class="form-group row"> 3809 <div class="col-4"> 3810 <label><strong>@Translate("form-zip", "Post nr")*</strong></label> 3811 <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 /> 3812 <input type="hidden" class="js-postnummer-validation" /> 3813 </div> 3814 <div class="col-8"> 3815 <label><strong>@Translate("form-city", "By")*</strong></label> 3816 <input class="form-control js-city" type="text" readonly /> 3817 </div> 3818 </div> 3819 <div class="form-group overflow-unset"> 3820 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label> 3821 <input class="form-control js-validate-address" type="text" name="adresse" tabindex="6" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' required /> 3822 3823 <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> 3824 </div> 3825 <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"> 3826 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong> 3827 </button> 3828 <div class="collapse" id="kontaktkoeberrradgiver-collapse"> 3829 <div class="form-group"> 3830 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea> 3831 </div> 3832 </div> 3833 3834 <div class="form-group"> 3835 <div class="row"> 3836 <div class="col-12"> 3837 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button> 3838 </div> 3839 </div> 3840 </div> 3841 <div class="form-group mt-3"> 3842 <div class="checkbox"> 3843 <label> 3844 <input type="checkbox" name="kontaktmigok" required /> 3845 3846 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 3847 3848 </label> 3849 </div> 3850 </div> 3851 <div class="form-group form-group-terms"> 3852 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>. 3853 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>. 3854 </div> 3855 3856 <input type="hidden" name="fn" value="krk" /> 3857 <input type="hidden" name="origin" value="" /> 3858 <input type="hidden" name="brugerId" value="" /> 3859 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 3860 <input type="hidden" name="butikId" value="@butikId" /> 3861 <input type="hidden" name="ejendomstype" value="" /> 3862 <input type="hidden" name="salgspris" value="" /> 3863 <input type="hidden" name="modtager" value="" /> 3864 </form> 3865 <div id="tak-kontakt-advisor" style="display:none;"> 3866 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2> 3867 <div class="row"> 3868 <div class="col-6"> 3869 <img src="" class="img-fluid js-maegler-img" /> 3870 </div> 3871 <div class="col-6"> 3872 <p class="js-maegler-name"></p> 3873 <p class="js-maegler-address"></p> 3874 <p class="js-maegler-phone"></p> 3875 <p class="js-maegler-mail"></p> 3876 </div> 3877 </div> 3878 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p> 3879 </div> 3880 </div> 3881 3882 <!--ÅBENT HUS--> 3883 <div id="panel-aabenthus" class="panel panel-form"> 3884 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 3885 <b></b> 3886 </button> 3887 3888 3889 <form id="form-aabenthus" method="POST" action="/InboxHandler"> 3890 <h2>@Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")</h2> 3891 <div class="d-block"> 3892 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label> 3893 </div> 3894 <div class="d-block"> 3895 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label> 3896 </div> 3897 <div class="d-block mb-4"> 3898 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label> 3899 </div> 3900 <h3>@Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")</h3> 3901 <div class="form-group"> 3902 <label for="aabenthus-name"><strong>@Translate("form-navn", "Navn")*</strong></label> 3903 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current?.User?.Name' required /> 3904 </div> 3905 <div class="form-group"> 3906 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 3907 <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='@UserContext.Current.User?.Email' required /> 3908 </div> 3909 <div class="form-group row"> 3910 <div class="col-6"> 3911 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 3912 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr.")' value='@UserContext.Current.User?.Phone' required /> 3913 </div> 3914 <div class="col-6"> 3915 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 3916 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr.")' value='@UserContext.Current.User?.Phone' /> 3917 </div> 3918 </div> 3919 <div class="form-group"> 3920 <div class="row"> 3921 <div class="col-12"> 3922 <button type="submit" class="btn btn-block btn-green">@Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")</button> 3923 </div> 3924 </div> 3925 </div> 3926 <div class="form-group"> 3927 <div class="checkbox"> 3928 <label> 3929 <input type="checkbox" name="kontaktmigok" required /> 3930 3931 <span class="base-color">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 3932 3933 </label> 3934 </div> 3935 </div> 3936 <div class="form-group"> 3937 @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>") 3938 3939 </div> 3940 <input type="hidden" name="fn" value="ah" /> 3941 <input type="hidden" name="origin" value="" /> 3942 <input type="hidden" name="brugerId" value="@userID" /> 3943 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 3944 <input type="hidden" name="butikId" value="@butikId" /> 3945 <input type="hidden" name="sagsaddresse" value="" class="js-aabenthus-address-input" /> 3946 <input type="hidden" name="ejendomstype" value="" /> 3947 <input type="hidden" name="salgspris" value="" /> 3948 <input type="hidden" name="modtager" value="" /> 3949 <input type="hidden" name="employee" value="" /> 3950 <input type="hidden" name="sagsnr" value="" class="js-sagsnr" /> 3951 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" /> 3952 <input type="hidden" name="aftaleid" value="" class="js-aftaleid" /> 3953 3954 <input type="hidden" name="dateMail" class="js-aabenthus-date-input" /> 3955 <input type="hidden" name="timeMail" class="js-aabenthus-time-input" /> 3956 <input type="hidden" name="brokerImageMail" class="property-broker-image-input" /> 3957 <input type="hidden" name="employeeNameMail" class="js-maegler-employee-name-input" /> 3958 <input type="hidden" name="employeeTitleMail" class="js-maegler-employee-title-input" /> 3959 <input type="hidden" name="employeeMailMail" class="js-maegler-mail-input" /> 3960 <input type="hidden" name="employeeMobileMail" class="js-maegler-mobile-input" /> 3961 <input type="hidden" name="employeePhoneMail" class="js-maegler-phone-input" /> 3962 3963 <input type="hidden" name="brokerNameMail" class="js-broker-name-input" /> 3964 <input type="hidden" name="brokerAddressMail" class="js-broker-address-input" /> 3965 <input type="hidden" name="brokerPhoneMail" class="js-broker-phone-input" /> 3966 </form> 3967 <div id="tak-aabenthus" style="display:none;"> 3968 <h2>@Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")</h2> 3969 <div class="d-block"> 3970 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label> 3971 </div> 3972 <div class="d-block"> 3973 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label> 3974 3975 </div> 3976 <div class="d-block mb-4"> 3977 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label> 3978 3979 </div> 3980 3981 <div class="js-employee"> 3982 <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> 3983 </div> 3984 <div class="js-not-employee"> 3985 <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> 3986 </div> 3987 3988 <div class="row"> 3989 <div class="js-employee"> 3990 <div class="col-12 js-maegler-img aabenthus-image"> 3991 <div class="property-broker-image" style=""></div> 3992 3993 </div> 3994 </div> 3995 <div class="col-12"> 3996 <div class="bg-base"> 3997 3998 <div class="js-employee"> 3999 <h4 class="js-maegler-employee-name"></h4> 4000 <div class="icon-container"> 4001 <i class="fas fa-envelope"></i> <span class="js-maegler-mail"></span> 4002 </div> 4003 <div class="icon-container"> 4004 <i class="fas fa-phone"></i> <span class="js-maegler-mobile"></span> 4005 </div> 4006 </div> 4007 4008 4009 <h4 class="js-maegler-name"></h4> 4010 <div class="icon-container"> 4011 <i class="fas fa-map-marker-alt"></i> <span class="js-maegler-address"></span> 4012 </div> 4013 <div class="icon-container"> 4014 <i class="fas fa-phone"></i> <span class="js-maegler-phone"></span> 4015 4016 </div> 4017 <a class="btn btn-border" onclick="panelKontaktmaeglerGuldkoeber()">KONTAKT MÆGLER</a> 4018 </div> 4019 </div> 4020 </div> 4021 </div> 4022 </div> 4023 4024 <!-- KONTAKT GULDKØBER --> 4025 <div id="panel-kontakt-guldkoeber" class="panel panel-form"> 4026 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 4027 <b></b> 4028 </button> 4029 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2> 4030 <form id="form-kontaktmaegler" method="POST" action="/InboxHandler"> 4031 <div class="form-group"> 4032 <label><strong>@Translate("form-navn", "Navn")*</strong></label> 4033 <input class="form-control" type="text" name="navn" placeholder='@Translate("form-navn", "Navn")' value='@UserContext.Current.User?.Name' required /> 4034 </div> 4035 <div class="form-group"> 4036 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 4037 <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='@UserContext.Current.User?.Email' required /> 4038 </div> 4039 <div class="form-group row mb-4"> 4040 <div class="col-6"> 4041 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 4042 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr.")' value='@UserContext.Current.User?.Phone' required /> 4043 </div> 4044 <div class="col-6"> 4045 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 4046 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr.")' value='@UserContext.Current.User?.Phone' /> 4047 </div> 4048 </div> 4049 <div class="form-group row"> 4050 <div class="col-4"> 4051 <label><strong>@Translate("form-zip", "Post nr")*</strong></label> 4052 <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 /> 4053 <input type="hidden" class="js-postnummer-validation" /> 4054 </div> 4055 <div class="col-8"> 4056 <label><strong>@Translate("form-city", "By")*</strong></label> 4057 <input class="form-control js-city" type="text" readonly /> 4058 </div> 4059 </div> 4060 4061 <div class="form-group overflow-unset"> 4062 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label> 4063 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required /> 4064 <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> 4065 </div> 4066 <div class="form-group"> 4067 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea> 4068 </div> 4069 <div class="form-group"> 4070 <div class="checkbox"> 4071 <label> 4072 <input type="checkbox" name="kontaktmigok" required /> 4073 4074 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 4075 4076 </label> 4077 </div> 4078 </div> 4079 <div class="form-group"> 4080 <div class="row"> 4081 <div class="col-12"> 4082 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button> 4083 </div> 4084 </div> 4085 </div> 4086 <div class="form-group form-group-terms"> 4087 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>. 4088 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>. 4089 </div> 4090 <input type="hidden" name="fn" value="gk" /> 4091 <input type="hidden" name="origin" value="" /> 4092 <input type="hidden" name="brugerId" value="@userID" /> 4093 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 4094 <input type="hidden" name="butikId" value="@butikId" /> 4095 <input type="hidden" name="ejendomstype" value="" /> 4096 <input type="hidden" name="salgspris" value="" /> 4097 <input type="hidden" name="modtager" value="" /> 4098 <input type="hidden" name="employee" value="" /> 4099 </form> 4100 <div id="tak-kontakt-maegler-guldkoeber" style="display:none;"> 4101 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2> 4102 <p>@Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")</p> 4103 <div class="row"> 4104 <div class="col-6"> 4105 <img src="" class="img-fluid js-maegler-img" /> 4106 </div> 4107 <div class="col-6"> 4108 <p class="js-maegler-name"></p> 4109 <p class="js-maegler-address"></p> 4110 <p class="js-maegler-phone"></p> 4111 <p class="js-maegler-mail"></p> 4112 </div> 4113 </div> 4114 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p> 4115 </div> 4116 </div> 4117 4118 <!-- BESTIL SALGSVURDERING --> 4119 <div id="panel-salgsvurdering" class="panel panel-form"> 4120 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 4121 <b></b> 4122 </button> 4123 4124 <form id="bestil-salgsvurdering" class="buyer-advisor-form js-buyer-advisor-form" method="POST" action="/InboxHandler"> 4125 <h2 class="js-buyer-advisor-header">@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2> 4126 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p> 4127 <div class="form-group"> 4128 <label><strong>@Translate("form-navn", "Navn")*</strong></label> 4129 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required /> 4130 </div> 4131 <div class="form-group"> 4132 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 4133 <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='@UserContext.Current.User?.Email' required /> 4134 </div> 4135 <div class="form-group row mb-4"> 4136 <div class="col-6"> 4137 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 4138 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr.")' value='@UserContext.Current.User?.Phone' required /> 4139 </div> 4140 <div class="col-6"> 4141 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 4142 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr.")' value='@UserContext.Current.User?.Phone' /> 4143 </div> 4144 4145 </div> 4146 4147 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3> 4148 <div class="form-group row"> 4149 <div class="col-4"> 4150 <label><strong>@Translate("form-zip", "Post nr")*</strong></label> 4151 <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 /> 4152 <input type="hidden" class="js-postnummer-validation" /> 4153 </div> 4154 <div class="col-8"> 4155 <label><strong>@Translate("form-city", "By")*</strong></label> 4156 <input class="form-control js-city" type="text" readonly /> 4157 </div> 4158 </div> 4159 <div class="form-group overflow-unset"> 4160 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label> 4161 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required /> 4162 <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> 4163 </div> 4164 4165 <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"> 4166 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong> 4167 </button> 4168 <div class="collapse" id="salgsvurdering-collapse"> 4169 <div class="form-group"> 4170 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea> 4171 </div> 4172 </div> 4173 4174 4175 <div class="salgsvurdering-precheck"> 4176 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3> 4177 <div class="col-12"> 4178 <div class="choose-broker row align-items-center active"> 4179 <div class="col-2"> 4180 <input class="js-broker-radio" type="radio" id="" name="choose-broker" value="" checked> 4181 <label class="js-broker-label" for=""></label><div class="check"> 4182 <div class="inside"> 4183 </div> 4184 </div> 4185 </div> 4186 <div class="col-4"> 4187 <img src="" class="img-fluid js-broker-image"> 4188 </div> 4189 <div class="col-6"> 4190 <span class="d-block"> 4191 <strong class="js-choose-broker-name"></strong> 4192 </span> 4193 <span class="js-choose-broker-address"></span> 4194 <input type="hidden" class="js-choose-broker-phone" value="" /> 4195 <input type="hidden" class="js-choose-broker-email" value="" /> 4196 </div> 4197 </div> 4198 </div> 4199 </div> 4200 <div class="salgsvurdering-broker"> 4201 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3> 4202 <div class="js-choose-broker col-12"> 4203 </div> 4204 4205 </div> 4206 4207 <div class="form-group mt-4"> 4208 <div class="checkbox"> 4209 <label> 4210 <input type="checkbox" name="kontaktmigok" required /> 4211 4212 <span class="consent-checkbox">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 4213 4214 </label> 4215 </div> 4216 </div> 4217 <div class="form-group"> 4218 <div class="row"> 4219 <div class="col-12"> 4220 <button type="submit" class="btn btn-green btn-block js-buyer-advisor-button">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button> 4221 </div> 4222 </div> 4223 </div> 4224 <div class="form-group form-group-terms"> 4225 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>. 4226 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>. 4227 </div> 4228 <input type="hidden" name="fn" value="bsv" /> 4229 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" /> 4230 <input type="hidden" name="brugerId" value="@userID" /> 4231 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 4232 <input type="hidden" id="boligvisning" name="boligvisning" value="" /> 4233 <input type="hidden" id="panel-salgsvurdering-butikid" name="butikId" value="" /> 4234 <input type="hidden" id="panel-salgsvurdering-sagsnr" name="sagsnr" value="" /> 4235 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" /> 4236 <input type="hidden" name="ejendomstype" value="" /> 4237 <input type="hidden" name="salgspris" value="" /> 4238 <input type="hidden" name="employee" value="" /> 4239 <input type="hidden" name="modtager" value="" /> 4240 <input class="js-value-check" type="hidden" name="valueCheck" value="" /> 4241 <input class="js-green-appraisal" type="hidden" name="greenAppraisal" value="" /> 4242 </form> 4243 <div id="tak-salgsvurdering" style="display:none;"> 4244 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2> 4245 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p> 4246 <div class="row"> 4247 <div class="col-6"> 4248 <img src="" class="img-fluid js-maegler-img" /> 4249 </div> 4250 <div class="col-6"> 4251 <p class="js-maegler-name"></p> 4252 <p class="js-maegler-address"></p> 4253 <p class="js-maegler-phone"></p> 4254 <p class="js-maegler-mail"></p> 4255 </div> 4256 </div> 4257 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p> 4258 </div> 4259 </div> 4260 4261 <!-- BESTIL SALGSVURDERING GULDKØBER --> 4262 <div id="panel-salgsvurdering-guldkoeber" class="panel panel-form"> 4263 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 4264 <b></b> 4265 </button> 4266 4267 <form id="bestil-salgsvurdering-guldkoeber" method="POST" action="/InboxHandler"> 4268 <h2>@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2> 4269 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p> 4270 <div class="form-group"> 4271 <label><strong>@Translate("form-navn", "Navn")*</strong></label> 4272 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required /> 4273 </div> 4274 <div class="form-group"> 4275 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 4276 <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='@UserContext.Current.User?.Email' required /> 4277 </div> 4278 <div class="form-group row mb-4"> 4279 <div class="col-6"> 4280 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 4281 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="telefonnummer" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr.")' value='@UserContext.Current.User?.Phone' /> 4282 </div> 4283 <div class="col-6"> 4284 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 4285 <input class="form-control" type="tel" pattern="^[0-9]*$" maxlength="20" name="mobile" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr.")' value='@UserContext.Current.User?.Phone' required /> 4286 </div> 4287 </div> 4288 4289 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3> 4290 4291 <div class="form-group row"> 4292 <div class="col-4"> 4293 <label><strong>@Translate("form-zip", "Post nr")*</strong></label> 4294 <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 /> 4295 <input type="hidden" class="js-postnummer-validation" /> 4296 </div> 4297 <div class="col-8"> 4298 <label><strong>@Translate("form-city", "By")*</strong></label> 4299 <input class="form-control js-city" type="text" readonly /> 4300 </div> 4301 </div> 4302 <div class="form-group overflow-unset"> 4303 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label> 4304 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required /> 4305 <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> 4306 </div> 4307 4308 <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"> 4309 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong> 4310 </button> 4311 <div class="collapse" id="salgsvurdering-collapse"> 4312 <div class="form-group"> 4313 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea> 4314 </div> 4315 </div> 4316 4317 <div class="salgsvurdering-precheck"> 4318 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3> 4319 <div class="col-12"> 4320 <div class="choose-broker row align-items-center active"> 4321 <div class="col-2"> 4322 <input class="js-broker-radio" type="radio" id="" name="choose-broker-gk" value="" checked> 4323 <label class="js-broker-label" for=""></label><div class="check"> 4324 <div class="inside"> 4325 </div> 4326 </div> 4327 </div> 4328 <div class="col-4"> 4329 <img src="" class="img-fluid js-broker-image"> 4330 </div> 4331 <div class="col-6"> 4332 <span class="d-block"> 4333 <strong class="js-choose-broker-name"></strong> 4334 </span> 4335 <span class="js-choose-broker-address"></span> 4336 <input type="hidden" class="js-choose-broker-phone" value="" /> 4337 <input type="hidden" class="js-choose-broker-email" value="" /> 4338 </div> 4339 </div> 4340 </div> 4341 </div> 4342 <div class="salgsvurdering-broker"> 4343 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3> 4344 <div class="js-choose-broker col-12"> 4345 </div> 4346 4347 </div> 4348 4349 4350 <div class="form-group"> 4351 <div class="row"> 4352 <div class="col-12"> 4353 <button type="submit" class="btn btn-green btn-block">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button> 4354 </div> 4355 </div> 4356 </div> 4357 <div class="form-group"> 4358 <div class="checkbox"> 4359 <label> 4360 <input type="checkbox" name="kontaktmigok" required /> 4361 4362 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 4363 4364 </label> 4365 </div> 4366 </div> 4367 <div class="form-group form-group-terms"> 4368 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>. 4369 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>. 4370 </div> 4371 <input type="hidden" name="fn" value="bsg" /> 4372 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" /> 4373 <input type="hidden" name="brugerId" value="@userID" /> 4374 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 4375 <input type="hidden" id="boligvisning-gk" name="boligvisning" value="" /> 4376 <input type="hidden" id="panel-salgsvurdering-gk-butikid" name="butikId" value="" /> 4377 <input type="hidden" id="panel-salgsvurdering-gk-sagsnr" name="sagsnr" value="" /> 4378 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" /> 4379 <input type="hidden" name="ejendomstype" value="" /> 4380 <input type="hidden" name="salgspris" value="" /> 4381 <input type="hidden" name="employee" value="" /> 4382 <input type="hidden" name="modtager" value="" /> 4383 </form> 4384 <div id="tak-salgsvurdering" style="display:none;"> 4385 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2> 4386 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p> 4387 <div class="row"> 4388 <div class="col-6"> 4389 <img src="" class="img-fluid js-maegler-img" /> 4390 </div> 4391 <div class="col-6"> 4392 <p class="js-maegler-name"></p> 4393 <p class="js-maegler-address"></p> 4394 <p class="js-maegler-phone"></p> 4395 <p class="js-maegler-mail"></p> 4396 </div> 4397 </div> 4398 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p> 4399 </div> 4400 </div> 4401 4402 4403 <div class="overlay-wrapper"></div> 4404 <div class="dropdown-overlay"></div> 4405 <div class="loader-inner ball-pulse"></div> 4406 4407 @{ 4408 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js")); 4409 <script type="text/javascript" src='@(TemplateUrl)assets/webpack/js/3rdparty/viamapstrap.js?@(viamapstrapFileInfo.LastWriteTime.Ticks)' async></script> 4410 4411 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js")); 4412 <script type="text/javascript" src='@(TemplateUrl)assets/dist/bundle.app.min.js?@(bundleFileInfo.LastWriteTime.Ticks)' async></script> 4413 } 4414 4415 @RenderSnippet("JavaScriptBottom") 4416 4417 @if (Context.Current.Request.QueryString["ShowLogin"] == "true") 4418 { 4419 <input class="js-showLogin" value="true" /> 4420 } 4421 4422 @if (!string.IsNullOrEmpty(settings_ConduzeId)) 4423 { 4424 <script type="text/javascript" id="conduze-sdk" src="https://cdn.conduze.com/@settings_ConduzeId/tracking.js" async></script> 4425 } 4426 4427 @if (!string.IsNullOrEmpty(settings_Weply)) 4428 { 4429 <script src="https://app.weply.chat/widget/@settings_Weply" async></script> 4430 } 4431 4432 </body> 4433 </html> 4434 4435