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 1704: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1704: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1709: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1711: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1771: The name 'RenderMobileFilters' does not exist in the current context
Line 1780: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1840: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1855: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1871: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1918: Argument 1: cannot convert from 'void' to 'object'
Line 4991: 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_6b2e4f6da09f44d3afcce03db6d80bc6 : 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"); 112 WriteLiteral("\r\n\r\n\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"); 126 WriteLiteral("\r\n\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"); 150 WriteLiteral("\r\n\r\n"); 151 WriteLiteral("\r\n"); 152 WriteLiteral("\r\n"); 153 WriteLiteral("\r\n\r\n"); 154 WriteLiteral("\r\n"); 155 WriteLiteral("\r\n"); 156 WriteLiteral("\r\n"); 157 WriteLiteral("\r\n\r\n"); 158 WriteLiteral("\r\n"); 159 WriteLiteral("\r\n"); 160 WriteLiteral("\r\n"); 161 WriteLiteral("\r\n"); 162 163 Context.Current.Response.AddHeader("access-control-allow-origin", "*"); 164 165 string bodyClass = ""; 166 string template = "real"; 167 string TemplateUrl = "/Files/Templates/Designs/rm/"; 168 string MetaTitle = Model.Title; 169 string MetaDescription = Model.Description; 170 string MetaKeywords = Model.Keywords; 171 string searchClass = ""; 172 173 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css")); 174 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}"; 175 176 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg"; 177 178 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2"); 179 180 // Indstillinger 181 var settings_Frontpage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : ""; 182 var settings_Boligside = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : ""; 183 var settings_Maeglersogning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : ""; 184 var settings_MinSide = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : ""; 185 var settings_Sibling_Site = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : ""; 186 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : ""; 187 var settings_Product_Group = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : ""; 188 var settings_Boligagent = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : ""; 189 var settings_Persondatapolitik = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : ""; 190 191 // API 192 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : ""; 193 var settings_BoligListFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : ""; 194 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : ""; 195 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : ""; 196 var settings_BoligCountFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : ""; 197 var settings_BoligMapFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : ""; 198 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"]; 199 200 // Forside 201 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : ""; 202 var settings_FrontpageVideo = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : ""; 203 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : ""; 204 205 // Tracking 206 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : ""; 207 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]))) 208 { 209 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]); 210 } 211 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : ""; 212 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : ""; 213 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : ""; 214 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]); 215 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]); 216 var settings_Google_Optimize_Id = Converter.ToString(SettingsItem["Google_Optimize_Id"]); 217 218 // Indstillinger for brugerfunktioner 219 var settings_ForgotPwPage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : ""; 220 var settings_NewsletterSignup = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : ""; 221 var settings_CreateUserModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : ""; 222 var settings_LoginModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : ""; 223 224 int createUserParagraphId = 0; 225 int loginParagraphId = 0; 226 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId); 227 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId); 228 229 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv. 230 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv) 231 int searchPageId = GetPageSettingsPageId("Boligside"); 232 if (searchPageId == 0) 233 { 234 searchPageId = GetWebsiteSettingsPageId("Boligside"); 235 } 236 237 int boligsideId = GetPageSettingsPageId("Boligside"); 238 if (boligsideId == 0) 239 { 240 boligsideId = GetWebsiteSettingsPageId("Boligside"); 241 } 242 243 string productGroupFilter = String.Empty; 244 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null) 245 { 246 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString(); 247 } 248 249 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"])) 250 { 251 searchClass = "is-frontpage"; 252 } 253 254 bool isErhverv = false; 255 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null) 256 { 257 var s = Pageview.Page.PropertyItem["Erhverv"].ToString(); 258 Boolean.TryParse(s, out isErhverv); 259 } 260 261 bool isBrokerPage = false; 262 if (!string.IsNullOrEmpty(Model.Area.Item.GetString("M_glerGruppeId"))) 263 { 264 isBrokerPage = true; 265 bodyClass = ""; // Get rid of transparent header on brokerPage 266 } 267 268 string callTrackingId = Model.Item.GetString("CallTrackingId"); 269 270 RealEstate.User.Model.BrokerEmployee MyBroker = null; 271 try 272 { 273 var MyB = new RealEstate.User.MyBroker(); 274 MyBroker = MyB.GetMyBroker(); 275 } 276 catch 277 { 278 // Ignore 279 } 280 281 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : ""); 282 string querySearchNameAttr = "search"; 283 284 // Overwrite search with zipcodeinterval if set 285 if (Context.Current.Request.QueryString["zipcodeinterval"] != null) 286 { 287 querySearch = Context.Current.Request.QueryString["zipcodeinterval"]; 288 querySearchNameAttr = "zipcodeinterval"; 289 } 290 291 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : ""); 292 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : ""); 293 294 Dynamicweb.Security.UserManagement.User user = null; 295 int userID = 0; 296 string userName = ""; 297 string userEmail = ""; 298 string userPhone = ""; 299 string userZip = ""; 300 string userAddress = ""; 301 302 if (Dynamicweb.Security.UserManagement.UserContext.Current.IsLoggedOn) 303 { 304 user = Dynamicweb.Security.UserManagement.UserContext.Current.User; 305 userName = user.Name; 306 userEmail = user.Email; 307 userPhone = user.Phone; 308 userZip = user.Zip; 309 userAddress = user.Address; 310 userID = user.ID; 311 } 312 313 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode"); 314 string forgotPwTemplate = ""; 315 string forgotPwSender = ""; 316 string markerColor = ""; 317 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png"; 318 319 // Important - e-mail templates for forgotPw must be placed in "UserManagement/Login" folder 320 forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml"; 321 forgotPwSender = "noreply@mailreal.dk"; 322 markerColor = "#213960"; 323 324 var butikId = string.Empty; 325 string bEmail = string.Empty; 326 if (MyBroker != null && MyBroker.Broker != null) 327 { 328 butikId = MyBroker.Broker.Item().GetString("CBMedlemsnummer"); 329 bEmail = MyBroker.Broker.Item().GetString("Email"); 330 } 331 332 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment")); 333 334 var termsMail = "info@realmaeglerne.dk"; 335 WriteLiteral("\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta charset=\"utf-8\">\r\n <title>"); 336 Write(MetaTitle); 337 WriteLiteral("</title>\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n <meta name=\"description\""); 338 BeginWriteAttribute("content", " content=\"", 113489, "\"", 113515, 1); 339 WriteAttributeValue("", 113499, MetaDescription, 113499, 16, false); 340 EndWriteAttribute(); 341 WriteLiteral(">\r\n <meta name=\"keywords\""); 342 BeginWriteAttribute("content", " content=\"", 113544, "\"", 113567, 1); 343 WriteAttributeValue("", 113554, MetaKeywords, 113554, 13, false); 344 EndWriteAttribute(); 345 WriteLiteral(">\r\n <meta name=\"format-detection\" content=\"telephone=no\">\r\n <meta http-equiv=\"Expires\" content=\"60\">\r\n <meta name=\"robots\""); 346 BeginWriteAttribute("content", " content=\"", 113699, "\"", 113805, 3); 347 WriteAttributeValue("", 113709, Pageview.Area.Noindex ? "noindex" : "index", 113709, 46, false); 348 WriteAttributeValue("", 113755, ",", 113755, 1, true); 349 WriteAttributeValue("", 113756, Pageview.Area.Nofollow ? "nofollow" : "follow", 113756, 49, false); 350 EndWriteAttribute(); 351 WriteLiteral(">\r\n\r\n"); 352 WriteLiteral("\r\n "); 353 Write(RenderSnippet("OpenGraphTags")); 354 WriteLiteral("\r\n"); 355 if (!string.IsNullOrEmpty(settings_Google_Optimize_Id)) 356 { 357 WriteLiteral(" <!-- Google optimize script-->\r\n <script"); 358 BeginWriteAttribute("src", " src=\"", 113997, "\"", 114077, 2); 359 WriteAttributeValue("", 114003, "https://www.googleoptimize.com/optimize.js?id=", 114003, 46, true); 360 WriteAttributeValue("", 114049, settings_Google_Optimize_Id, 114049, 28, false); 361 EndWriteAttribute(); 362 WriteLiteral("></script>\r\n"); 363 } 364 WriteLiteral(@" <!-- TrustBox script --> 365 <script type=""text/javascript"" src=""//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js"" async></script> 366 <!-- End TrustBox script --> 367 368 <script type=""application/ld+json""> 369 { 370 ""context"": ""https://schema.org/"", 371 """); 372 WriteLiteral(@"@type"": ""WebSite"", 373 ""name"": ""RealMæglerne"", 374 ""url"": ""https://www.realmaeglerne.dk/"", 375 ""potentialAction"": { 376 ""type"": ""SearchAction"", 377 ""target"": ""https://www.realmaeglerne.dk/find-maegler?q={search_term_string}"", 378 ""query-input"": ""required name=search_term_string"" 379 } 380 } 381 </script> 382 383 <script type=""application/ld+json""> 384 { 385 ""context"": ""https://schema.org"", 386 """); 387 WriteLiteral(@"@type"": ""Corporation"", 388 ""name"": ""RealMæglerne"", 389 ""alternateName"": ""R&B Mægler A/S"", 390 ""url"": ""https://www.realmaeglerne.dk"", 391 ""logo"": ""https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png"", 392 ""contactPoint"": { 393 ""type"": ""ContactPoint"", 394 ""telephone"": ""+4570237153"", 395 ""contactType"": ""sales"", 396 ""areaServed"": ""DK"", 397 ""availableLanguage"": ""Danish"" 398 }, 399 ""sameAs"": [ 400 ""https://www.facebook.com/realmaeglerne/"", 401 ""https://www.linkedin.com/company/realmæglerne/"", 402 ""https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g"", 403 ""https://www.realmaeglerne.dk/"" 404 ] 405 } 406 </script> 407 "); 408 Write(RenderSnippet("StructuredData")); 409 WriteLiteral("\r\n"); 410 WriteLiteral("\r\n"); 411 WriteLiteral(" <link rel=\"stylesheet\""); 412 BeginWriteAttribute("href", " href=\"", 115699, "\"", 115750, 2); 413 WriteAttributeValue("", 115706, TemplateUrl, 115706, 14, false); 414 WriteAttributeValue("", 115720, "assets/fontawesome/css/all.css", 115720, 30, true); 415 EndWriteAttribute(); 416 WriteLiteral(" async />\r\n <link rel=\"stylesheet\""); 417 BeginWriteAttribute("href", " href=\"", 115792, "\"", 115807, 1); 418 WriteAttributeValue("", 115799, mainCSS, 115799, 8, false); 419 EndWriteAttribute(); 420 WriteLiteral(" async />\r\n"); 421 422 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"])) 423 { 424 var cssErhvervFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/erhverv.min.css")); 425 string erhvervCSS = TemplateUrl + $"assets/dist/css/erhverv.min.css?{cssErhvervFileInfo.LastWriteTime.Ticks}"; 426 WriteLiteral(" <link rel=\"stylesheet\""); 427 BeginWriteAttribute("href", " href=\"", 116211, "\"", 116229, 1); 428 WriteAttributeValue("", 116218, erhvervCSS, 116218, 11, false); 429 EndWriteAttribute(); 430 WriteLiteral(" async>\r\n"); 431 } 432 WriteLiteral("\r\n\r\n <link rel=\"icon\" type=\"image/ico\""); 433 BeginWriteAttribute("href", " href=\"", 116298, "\"", 116362, 2); 434 WriteAttributeValue("", 116305, TemplateUrl, 116305, 14, false); 435 WriteAttributeValue("", 116319, "assets/images/favicons/favicon-real.ico?v=1", 116319, 43, true); 436 EndWriteAttribute(); 437 WriteLiteral(">\r\n <link rel=\"icon\" type=\"image/png\""); 438 BeginWriteAttribute("href", " href=\"", 116403, "\"", 116469, 2); 439 WriteAttributeValue("", 116410, TemplateUrl, 116410, 14, false); 440 WriteAttributeValue("", 116424, "assets/images/favicons/favicon-real-16x16.png", 116424, 45, true); 441 EndWriteAttribute(); 442 WriteLiteral(" sizes=\"16x16\">\r\n <link rel=\"icon\" type=\"image/png\""); 443 BeginWriteAttribute("href", " href=\"", 116524, "\"", 116590, 2); 444 WriteAttributeValue("", 116531, TemplateUrl, 116531, 14, false); 445 WriteAttributeValue("", 116545, "assets/images/favicons/favicon-real-32x32.png", 116545, 45, true); 446 EndWriteAttribute(); 447 WriteLiteral(" sizes=\"32x32\">\r\n <link rel=\"icon\" type=\"image/png\""); 448 BeginWriteAttribute("href", " href=\"", 116645, "\"", 116711, 2); 449 WriteAttributeValue("", 116652, TemplateUrl, 116652, 14, false); 450 WriteAttributeValue("", 116666, "assets/images/favicons/favicon-real-96x96.png", 116666, 45, true); 451 EndWriteAttribute(); 452 WriteLiteral(" sizes=\"96x96\">\r\n <meta name=\"google-site-verification\" content=\"hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg\" />\r\n\r\n"); 453 if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString())) 454 { 455 WriteLiteral(@" <script> 456 window.dataLayer = window.dataLayer || []; // must be placed above GTM script 457 </script> 458 <!-- Google Tag Manager --> 459 <script> 460 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 461 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 462 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 463 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 464 })(window,document,'script','dataLayer','"); 465 Write(settings_Google_Tag_Manager_ID); 466 WriteLiteral("\');</script>\r\n <!-- End Google Tag Manager -->\r\n"); 467 } 468 WriteLiteral("\r\n"); 469 if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId)) 470 { 471 WriteLiteral(" <script type=\"text/javascript\""); 472 BeginWriteAttribute("src", " src=\"", 117693, "\"", 117765, 2); 473 WriteAttributeValue("", 117699, "https://call.call-tracking.dk/getJavascript?custid=", 117699, 51, true); 474 WriteAttributeValue("", 117750, callTrackingId, 117750, 15, false); 475 EndWriteAttribute(); 476 WriteLiteral("></script>\r\n"); 477 } 478 WriteLiteral("\r\n"); 479 if (!String.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString())) 480 { 481 WriteLiteral(@" <!-- Begin Leadhub Pixel Code --> 482 <script> 483 (function(w,d,x,n,u,t,f,s,o){ 484 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){ 485 (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) 486 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '"); 487 Write(settings_Leadhub_Pixel_ID); 488 WriteLiteral("\');\r\n lhi(\'pageview\');\r\n </script>\r\n <!-- End Leadhub Pixel Code -->\r\n"); 489 } 490 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 + \""); 491 Write(settings_BoligCountFeed); 492 WriteLiteral("\";\r\n RMAPI.BoligListFeed = ApiPreFix + \""); 493 Write(settings_BoligListFeed); 494 WriteLiteral("\" + \"&refpageid="); 495 Write(Pageview.Page.ID); 496 WriteLiteral("\";\r\n RMAPI.BoligListFeedErhverv = \""); 497 Write(settings_BoligListFeedErhverv); 498 WriteLiteral("\";\r\n RMAPI.BoligListFeedMaegler = ApiPreFix + \""); 499 Write(settings_BoligListFeedMaegler); 500 WriteLiteral("\" + \"&refpageid="); 501 Write(Pageview.Page.ID); 502 WriteLiteral("\";\r\n RMAPI.BoligSearchFeed = ApiPreFix + \""); 503 Write(settings_BoligSearchFeed); 504 WriteLiteral("\";\r\n RMAPI.BoligMapFeed = ApiPreFix + \""); 505 Write(settings_BoligMapFeed); 506 WriteLiteral("\";\r\n RMAPI.Boligagent = \""); 507 Write(settings_Boligagent); 508 WriteLiteral("\";\r\n RMAPI.IsErhverv = "); 509 Write(isErhverv.ToString().ToLower()); 510 WriteLiteral(";\r\n RMAPI.ProductGroupFilter = \""); 511 Write(productGroupFilter); 512 WriteLiteral("\";\r\n RMAPI.ButikId = \""); 513 Write(butikId); 514 WriteLiteral("\";\r\n RMAPI.Boligvisning = false;\r\n RMAPI.RefPageId = \""); 515 Write(Pageview.Page.ID); 516 WriteLiteral("\";\r\n RMAPI.Template = \""); 517 Write(template); 518 WriteLiteral("\";\r\n RMAPI.SliderSettings = "); 519 Write(JsonConvert.SerializeObject(Settings.Site)); 520 WriteLiteral(";\r\n RMAPI.AdvisorSearchFeed = \""); 521 Write(settings_AdvisorSearchFeed); 522 WriteLiteral("\";\r\n RMAPI.LoadingIcon = \""); 523 Write(loadingIcon); 524 WriteLiteral("\";\r\n RMAPI.MarkerColor = \""); 525 Write(markerColor); 526 WriteLiteral("\";\r\n RMAPI.mapMarkerUrl = \""); 527 Write(mapMarkerUrl); 528 WriteLiteral("\";\r\n RMAPI.settings_ForgotPwPage = \""); 529 Write(settings_ForgotPwPage); 530 WriteLiteral("\";\r\n </script>\r\n\r\n"); 531 if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString())) 532 { 533 WriteLiteral(@" <!-- Facebook Pixel Code --> 534 <script> 535 !function (f, b, e, v, n, t, s) { 536 if (f.fbq) return; n = f.fbq = function () { 537 n.callMethod ? 538 n.callMethod.apply(n, arguments) : n.queue.push(arguments) 539 }; 540 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; 541 n.queue = []; t = b.createElement(e); t.async = !0; 542 t.src = v; s = b.getElementsByTagName(e)[0]; 543 s.parentNode.insertBefore(t, s) 544 }(window, document, 'script', 545 'https://connect.facebook.net/en_US/fbevents.js'); 546 fbq('init', '"); 547 Write(settings_Facebook_App_ID); 548 WriteLiteral("\');\r\n fbq(\'track\', \'PageView\');\r\n </script>\r\n <noscript>\r\n <img height=\"1\" width=\"1\""); 549 BeginWriteAttribute("src", " src=\"", 120668, "\"", 120753, 3); 550 WriteAttributeValue("", 120674, "https://www.facebook.com/tr?id=", 120674, 31, true); 551 WriteAttributeValue("", 120705, settings_Facebook_App_ID, 120705, 25, false); 552 WriteAttributeValue("", 120730, "&ev=PageView&noscript=1", 120730, 23, true); 553 EndWriteAttribute(); 554 WriteLiteral(" />\r\n </noscript>\r\n <!-- End Facebook Pixel Code -->\r\n"); 555 } 556 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"); 557 BeginWriteAttribute("class", " class=\"", 121029, "\"", 121056, 2); 558 WriteAttributeValue("", 121037, template, 121037, 9, false); 559 WriteAttributeValue("", 121046, bodyClass, 121046, 10, false); 560 EndWriteAttribute(); 561 WriteLiteral(" data-spforgotpwtemplate=\""); 562 Write(forgotPwTemplate); 563 WriteLiteral("\" data-spforgotpwsender=\""); 564 Write(forgotPwSender); 565 WriteLiteral("\" data-spforgotpwsubject=\""); 566 Write(forgotPwSubject); 567 WriteLiteral("\" data-spsalesassesmentid=\""); 568 Write(salesAssessmentPageId); 569 WriteLiteral("\">\r\n"); 570 571 string logoUrl = TemplateUrl + (!Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg"); 572 WriteLiteral("\r\n"); 573 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) && GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID) 574 { 575 WriteLiteral(" <div class=\"top-search\">\r\n <div class=\"header logo\">\r\n <div class=\"logo\">\r\n <a href=\"/erhverv\">\r\n <img"); 576 BeginWriteAttribute("src", " src=\"", 121728, "\"", 121742, 1); 577 WriteAttributeValue("", 121734, logoUrl, 121734, 8, false); 578 EndWriteAttribute(); 579 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"); 580 581 582 var settings_BoligListErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoliglisteErhverv"])) ? Converter.ToString(SettingsItem["BoliglisteErhverv"]).Replace("Default.aspx?Id=", "") : ""; 583 WriteLiteral(" <input type=\"hidden\" name=\"ID\""); 584 BeginWriteAttribute("value", " value=\'", 122309, "\'", 122343, 1); 585 WriteAttributeValue("", 122317, settings_BoligListErhverv, 122317, 26, false); 586 EndWriteAttribute(); 587 WriteLiteral(" id=\"searchPageId-top\" disabled=\"disabled\" />\r\n\r\n"); 588 if (Context.Current.Request["type"] == "egetforbrug") 589 { 590 WriteLiteral(" <input name=\"type\" type=\"hidden\" value=\"egetforbrug\" />\r\n <input name=\"investeringsejendom\" type=\"hidden\" value=\"0\" />\r\n"); 591 } 592 WriteLiteral(@" <div class=""row form-wrapper no-gutters""> 593 <div class=""col-xs-12 col-md-4 col-lg-5 col-searchbar""> 594 <div class=""searchbar float-label-container text-left""> 595 <label class=""float-label"">"); 596 Write(Translate("Smartpage:Erhver.Postnummer, by, vej eller sagsnummer", "Postnummer, by, vej eller sagsnummer")); 597 WriteLiteral("</label>\r\n <input type=\"text\""); 598 BeginWriteAttribute("name", " name=\"", 123137, "\"", 123164, 1); 599 WriteAttributeValue("", 123144, querySearchNameAttr, 123144, 20, false); 600 EndWriteAttribute(); 601 WriteLiteral(" id=\"searchfield-top\" class=\"search-input js-float-label js-getdata\" tabindex=\"1\""); 602 BeginWriteAttribute("value", " value=\"", 123246, "\"", 123324, 1); 603 WriteAttributeValue("", 123254, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 123254, 70, false); 604 EndWriteAttribute(); 605 WriteLiteral(@" /> 606 </div> 607 </div> 608 <div class=""col-xs-12 col-md-5""> 609 <div class=""row no-gutters""> 610 <div class=""col-xs-12 col-md-6 input-col""> 611 <div class=""dropdown w-overlay float-label-container""> 612 <label class=""float-label"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">"); 613 Write(Translate("Smartpage:Search.Erhverv.Lokaletype", "Lokaletype")); 614 WriteLiteral(@"</label> 615 <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> 616 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 617 <ul class=""bolig-dropdown list-unstyled""> 618 "); 619 620 RenderBoligTypeErhverv(); 621 WriteLiteral(@" </ul> 622 <span class=""border-fat""></span> 623 <div class=""d-none d-md-block""> 624 <button class=""btn btn-primary js-close-dropdown"">"); 625 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 626 WriteLiteral(@"</button> 627 </div> 628 <div class=""d-flex row d-md-none""> 629 <div class=""col-6""> 630 <button class=""btn btn-danger js-remove-filter"">"); 631 Write(Translate("Smartpage:Search.Annuller", "Annuller")); 632 WriteLiteral("</button>\r\n </div>\r\n <div class=\"col-6\">\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 633 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 634 WriteLiteral(@"</button> 635 </div> 636 </div> 637 </div> 638 639 </div> 640 </div> 641 <div class=""col-xs-12 col-md-6 input-col""> 642 <div class=""btn-dropdown p-3 border-top-bottom-right""> 643 <ul class=""two-column list-unstyled""> 644 <li> 645 <label class=""checkbox-container""> 646 "); 647 Write(Translate("Smartpage:Search.Erhverv.Leje", "Leje")); 648 WriteLiteral(@" 649 <input type=""checkbox"" name=""propertytype"" value=""leje"" class=""js-input-check"" /> 650 <span class=""checkmark""></span> 651 </label> 652 </li> 653 <li> 654 <label class=""checkbox-container""> 655 "); 656 Write(Translate("Smartpage:Search.Erhverv.Køb", "Køb")); 657 WriteLiteral(@" 658 <input type=""checkbox"" name=""propertytype"" value=""kob"" class=""js-input-check"" /> 659 <span class=""checkmark""></span> 660 </label> 661 </li> 662 </ul> 663 </div> 664 665 </div> 666 </div> 667 </div> 668 <div class=""col-xs-12 col-md-3 col-lg-2 d-none d-md-block""> 669 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 670 Write(Translate("Smartpage:Search.Søg", "Søg")); 671 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n"); 672 } 673 WriteLiteral("\r\n"); 674 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"])) 675 { 676 WriteLiteral(" <div class=\"header shortcuts\">\r\n <div class=\"header-shortcuts float-right\">\r\n"); 677 if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID) 678 { 679 WriteLiteral(" <a"); 680 BeginWriteAttribute("href", " href=\'", 128027, "\'", 128034, 0); 681 EndWriteAttribute(); 682 BeginWriteAttribute("class", " class=\"", 128035, "\"", 128151, 9); 683 WriteAttributeValue("", 128043, "search-menu", 128043, 11, true); 684 WriteAttributeValue(" ", 128054, "d-none", 128055, 7, true); 685 WriteAttributeValue(" ", 128061, "d-xl-flex", 128062, 10, true); 686 WriteAttributeValue(" ", 128071, "align-items-center", 128072, 19, true); 687 WriteAttributeValue(" ", 128090, "float-left", 128091, 11, true); 688 WriteAttributeValue(" ", 128101, "border-right", 128102, 13, true); 689 WriteAttributeValue(" ", 128114, "js-mainsearch", 128115, 14, true); 690 WriteAttributeValue(" ", 128128, "topsearch", 128129, 10, true); 691 WriteAttributeValue(" ", 128138, searchClass, 128139, 12, false); 692 EndWriteAttribute(); 693 WriteLiteral(">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i><span class=\"search-menu-text hidden d-md-block\"> "); 694 Write(Translate("Smartpage:Search.Søg", "Søg")); 695 WriteLiteral("</span>\r\n </a>\r\n"); 696 } 697 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"); 698 } 699 else 700 { 701 WriteLiteral(" <div class=\"header__container container\">\r\n <div class=\"header__logo\">\r\n <a href=\"/\""); 702 BeginWriteAttribute("title", " title=\"", 128751, "\"", 128759, 0); 703 EndWriteAttribute(); 704 WriteLiteral(">\r\n <img"); 705 BeginWriteAttribute("src", " src=\"", 128787, "\"", 128803, 1); 706 WriteAttributeValue("", 128793, logoUrl, 128793, 10, false); 707 EndWriteAttribute(); 708 BeginWriteAttribute("alt", " alt=\"", 128804, "\"", 128810, 0); 709 EndWriteAttribute(); 710 WriteLiteral(" />\r\n </a>\r\n </div>\r\n <div class=\"header__title\">\r\n <span>"); 711 Write(Translate("Custom:Header.Title", "RealMæglerne")); 712 WriteLiteral("</span> \r\n </div>\r\n"); 713 if (userID > 0) 714 { 715 WriteLiteral(@" <div class=""header__navigation d-none d-md-flex""> 716 <div class=""header__navigation""> 717 <div class=""header__Link""> 718 <ul> 719 <li class=""d-flex align-items-center""> 720 <svg xmlns=""http://www.w3.org/2000/svg"" width=""20"" height=""20"" viewBox=""0 0 20 20"" fill=""none""> 721 <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"" /> 722 "); 723 WriteLiteral(" </svg>\r\n <a class=\"ml-2\""); 724 BeginWriteAttribute("href", "\r\n href=\"", 130168, "\"", 130250, 2); 725 WriteAttributeValue("", 130216, "/Default.aspx?ID=", 130216, 17, true); 726 WriteAttributeValue("", 130233, settings_MinSide, 130233, 17, false); 727 EndWriteAttribute(); 728 WriteLiteral("\r\n target=\"_blank\""); 729 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 130308, "\"", 130458, 1); 730 WriteAttributeValue("", 130362, Translate("Custom:Accessibility.MyAccountLink", "Gå til Mit RealMæglerne - åbner i nyt vindue"), 130362, 96, false); 731 EndWriteAttribute(); 732 WriteLiteral(">\r\n "); 733 Write(Translate("Mit RealMæglerne")); 734 WriteLiteral("\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n"); 735 736 } 737 else 738 { 739 WriteLiteral(@" <div class=""header__navigation d-none d-md-flex""> 740 <div class=""header__navigation""> 741 <div class=""header__Link""> 742 <ul> 743 <li class=""d-flex align-items-center""> 744 <svg xmlns=""http://www.w3.org/2000/svg"" width=""20"" height=""20"" viewBox=""0 0 20 20"" fill=""none""> 745 <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"" /> 746 "); 747 WriteLiteral(" </svg>\r\n <a class=\"ml-2\"\r\n href=\"javascript:panelLogin()\""); 748 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 131969, "\"", 132092, 1); 749 WriteAttributeValue("", 132023, Translate("Custom:Accessibility.Login", "Login - åbner i sidepanel"), 132023, 69, false); 750 EndWriteAttribute(); 751 WriteLiteral(">\r\n "); 752 Write(Translate("Login")); 753 WriteLiteral("\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n"); 754 } 755 WriteLiteral(" <div class=\"header__search flex-column flex-md-row js-mainsearch\">\r\n "); 756 Write(Translate("Søg bolig")); 757 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 "); 758 Write(Translate("Menu")); 759 WriteLiteral("\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n"); 760 } 761 WriteLiteral("\r\n <div class=\"search-modal\">\r\n\r\n"); 762 if (Converter.ToString(Pageview.Area.Item["Type"]) == "real") 763 { 764 WriteLiteral(@" <div class=""main-search-form""> 765 <i class=""fal fa-times float-right fa-2x js-close-search close-search""></i> 766 <div class=""row mb-3 align-items-center""> 767 <div class=""col-xs-12 col-md-3 border-right""> 768 <h3>"); 769 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 770 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\">"); 771 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")); 772 WriteLiteral(@"<span class=""loader js-loader""></span></span> 773 774 </div> 775 </div> 776 777 <form id=""main-search"" class=""searchbar-wrapper"" action=""/Default.aspx"" method=""GET""> 778 <input type=""hidden"" name=""ID"""); 779 BeginWriteAttribute("value", " value=\'", 133834, "\'", 133855, 1); 780 WriteAttributeValue("", 133842, searchPageId, 133842, 13, false); 781 EndWriteAttribute(); 782 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" /> 783 <div class=""row form-wrapper no-gutters""> 784 785 <div class=""col-xs-12 col-md-5 col-searchbar""> 786 <div class=""searchbar""> 787 <input type=""text"""); 788 BeginWriteAttribute("name", " name=\"", 134139, "\"", 134166, 1); 789 WriteAttributeValue("", 134146, querySearchNameAttr, 134146, 20, false); 790 EndWriteAttribute(); 791 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\""); 792 BeginWriteAttribute("value", " value=\"", 134269, "\"", 134347, 1); 793 WriteAttributeValue("", 134277, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 134277, 70, false); 794 EndWriteAttribute(); 795 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\""); 796 BeginWriteAttribute("value", " value=\"", 134441, "\"", 134524, 1); 797 WriteAttributeValue("", 134449, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 134449, 75, false); 798 EndWriteAttribute(); 799 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\""); 800 BeginWriteAttribute("value", " value=\"", 134614, "\"", 134695, 1); 801 WriteAttributeValue("", 134622, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 134622, 73, false); 802 EndWriteAttribute(); 803 WriteLiteral(@" /> 804 </div> 805 </div> 806 <div class=""col-xs-12 col-md-5""> 807 <div class=""row no-gutters""> 808 <div class=""col-xs-12 col-md-6 input-col""> 809 <div class=""dropdown""> 810 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 811 "); 812 Write(Translate("Smartpage:Search.Boligtype", "Boligtype")); 813 WriteLiteral(@" 814 </button> 815 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 816 <ul class=""bolig-dropdown list-unstyled""> 817 "); 818 819 RenderBoligtypeCheckboxesDropdown(); 820 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 821 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 822 WriteLiteral(@"</button> 823 </div> 824 825 </div> 826 827 </div> 828 <div class=""col-xs-12 col-md-6 input-col""> 829 <div class=""dropdown""> 830 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 831 "); 832 Write(Translate("Smartpage:Search.Pris", "Pris")); 833 WriteLiteral(@" 834 </button> 835 <div class=""dropdown-menu box-shadow dropdown-price js-dropdown-price"" aria-labelledby=""Pris""> 836 <input name=""pricemin"" type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input"""); 837 BeginWriteAttribute("placeholder", " placeholder=\'", 136946, "\'", 137023, 1); 838 WriteAttributeValue("", 136960, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 136960, 63, false); 839 EndWriteAttribute(); 840 BeginWriteAttribute("value", " value=\'", 137024, "\'", 137160, 1); 841 WriteAttributeValue("", 137032, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemin"]) ? Context.Current.Request.QueryString["pricemin"] : "", 137032, 128, false); 842 EndWriteAttribute(); 843 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 844 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")); 845 WriteLiteral("</option>\r\n"); 846 for (var i = 0; i <= 10000000; i += 100000) 847 { 848 if (i == 10000000) 849 { 850 WriteLiteral(" <option"); 851 BeginWriteAttribute("value", " value=\"", 137797, "\"", 137807, 1); 852 WriteAttributeValue("", 137805, i, 137805, 2, false); 853 EndWriteAttribute(); 854 WriteLiteral(" data-value=\'"); 855 Write(Converter.ToInt32(i).ToString("N0")); 856 WriteLiteral("+\'>"); 857 Write(Convert.ToInt32(i).ToString("N0")); 858 WriteLiteral("+</option>\r\n"); 859 } 860 else 861 { 862 WriteLiteral(" <option"); 863 BeginWriteAttribute("value", " value=\"", 138137, "\"", 138147, 1); 864 WriteAttributeValue("", 138145, i, 138145, 2, false); 865 EndWriteAttribute(); 866 WriteLiteral(" data-value=\'"); 867 Write(Converter.ToInt32(i).ToString("N0")); 868 WriteLiteral("\'>"); 869 Write(Convert.ToInt32(i).ToString("N0")); 870 WriteLiteral("</option>\r\n"); 871 } 872 } 873 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\""); 874 BeginWriteAttribute("placeholder", " placeholder=\'", 138551, "\'", 138628, 1); 875 WriteAttributeValue("", 138565, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 138565, 63, false); 876 EndWriteAttribute(); 877 BeginWriteAttribute("value", " value=\'", 138629, "\'", 138765, 1); 878 WriteAttributeValue("", 138637, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemax"]) ? Context.Current.Request.QueryString["pricemax"] : "", 138637, 128, false); 879 EndWriteAttribute(); 880 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 881 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")); 882 WriteLiteral("</option>\r\n"); 883 for (var i = 0; i <= 10000000; i += 100000) 884 { 885 if (i == 10000000) 886 { 887 WriteLiteral(" <option"); 888 BeginWriteAttribute("value", " value=\"", 139396, "\"", 139406, 1); 889 WriteAttributeValue("", 139404, i, 139404, 2, false); 890 EndWriteAttribute(); 891 WriteLiteral(" data-value=\'"); 892 Write(Converter.ToInt32(i).ToString("N0")); 893 WriteLiteral("+\'>"); 894 Write(Convert.ToInt32(i).ToString("N0")); 895 WriteLiteral("+</option>\r\n"); 896 } 897 else 898 { 899 WriteLiteral(" <option"); 900 BeginWriteAttribute("value", " value=\"", 139736, "\"", 139746, 1); 901 WriteAttributeValue("", 139744, i, 139744, 2, false); 902 EndWriteAttribute(); 903 WriteLiteral(" data-value=\'"); 904 Write(Converter.ToInt32(i).ToString("N0")); 905 WriteLiteral("\'>"); 906 Write(Convert.ToInt32(i).ToString("N0")); 907 WriteLiteral("</option>\r\n"); 908 } 909 } 910 WriteLiteral(@" </select> 911 </div> 912 </div> 913 </div> 914 </div> 915 </div> 916 <div class=""col-xs-12 col-md-2 d-none d-md-block""> 917 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 918 Write(Translate("Smartpage:Search.Søg", "Søg")); 919 WriteLiteral(@"</button> 920 </div> 921 </div> 922 923 <div class=""row moresearch-btn no-gutters""> 924 <div class=""col-sm-12""> 925 <div class=""row align-items-center no-gutters""> 926 <div class=""col-12 col-md-4""> 927 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch""> 928 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open white"">"); 929 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")); 930 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> "); 931 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt")); 932 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\">"); 933 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg")); 934 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>"); 935 Write(Translate("Smartpage:Search.Bolig", "Bolig")); 936 WriteLiteral(@"</b></h4> 937 <div class=""row align-items-end mb-30""> 938 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 939 <div class=""filter-container row""> 940 <label class=""d-block col-12"">"); 941 Write(Translate("Smartpage:Search.Boligareal", "Boligareal")); 942 WriteLiteral(@"</label> 943 <div class=""col-6 pr-sm-0 pr-2""> 944 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count"""); 945 BeginWriteAttribute("placeholder", " placeholder=\'", 142508, "\'", 142581, 1); 946 WriteAttributeValue("", 142522, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 142522, 59, false); 947 EndWriteAttribute(); 948 BeginWriteAttribute("value", " value=\'", 142582, "\'", 142728, 1); 949 WriteAttributeValue("", 142590, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmin"]) ? Context.Current.Request.QueryString["boligarealmin"] : "", 142590, 138, false); 950 EndWriteAttribute(); 951 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 952 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 953 WriteLiteral("</option>\r\n"); 954 for (var i = 0; i <= 300; i += 10) 955 { 956 if (i == 300) 957 { 958 WriteLiteral(" <option>"); 959 Write(i); 960 WriteLiteral("+</option>\r\n"); 961 } 962 else 963 { 964 WriteLiteral(" <option>"); 965 Write(i); 966 WriteLiteral("</option>\r\n"); 967 } 968 } 969 WriteLiteral(@" </select> 970 971 </div> 972 <div class=""col-6 pl-sm-0 pl-2""> 973 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count"""); 974 BeginWriteAttribute("placeholder", " placeholder=\'", 144113, "\'", 144186, 1); 975 WriteAttributeValue("", 144127, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 144127, 59, false); 976 EndWriteAttribute(); 977 BeginWriteAttribute("value", " value=\'", 144187, "\'", 144333, 1); 978 WriteAttributeValue("", 144195, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmax"]) ? Context.Current.Request.QueryString["boligarealmax"] : "", 144195, 138, false); 979 EndWriteAttribute(); 980 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 981 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 982 WriteLiteral("</option>\r\n"); 983 for (var i = 0; i <= 300; i += 10) 984 { 985 if (i == 300) 986 { 987 WriteLiteral(" <option>"); 988 Write(i); 989 WriteLiteral("+</option>\r\n"); 990 } 991 else 992 { 993 WriteLiteral(" <option>"); 994 Write(i); 995 WriteLiteral("</option>\r\n"); 996 } 997 } 998 WriteLiteral(@" </select> 999 1000 </div> 1001 </div> 1002 </div> 1003 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 1004 <div class=""filter-container row""> 1005 <label class=""d-block col-12"">"); 1006 Write(Translate("Smartpage:Search.Grundareal", "Grundareal")); 1007 WriteLiteral(@"</label> 1008 <div class=""col-6 pr-sm-0 pr-2""> 1009 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count"""); 1010 BeginWriteAttribute("placeholder", " placeholder=\'", 146114, "\'", 146187, 1); 1011 WriteAttributeValue("", 146128, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 146128, 59, false); 1012 EndWriteAttribute(); 1013 BeginWriteAttribute("value", " value=\'", 146188, "\'", 146335, 1); 1014 WriteAttributeValue("", 146196, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmin"]) ? Context.Current.Request.QueryString["grundarealmin"] : "", 146196, 139, false); 1015 EndWriteAttribute(); 1016 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1017 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 1018 WriteLiteral("</option>\r\n"); 1019 for (var i = 0; i <= 10000; i += 100) 1020 { 1021 if (i == 10000) 1022 { 1023 WriteLiteral(" <option>"); 1024 Write(i); 1025 WriteLiteral("+</option>\r\n"); 1026 } 1027 else 1028 { 1029 WriteLiteral(" <option>"); 1030 Write(i); 1031 WriteLiteral("</option>\r\n"); 1032 } 1033 } 1034 WriteLiteral(@" </select> 1035 </div> 1036 <div class=""col-6 pl-sm-0 pl-2""> 1037 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count"""); 1038 BeginWriteAttribute("placeholder", " placeholder=\'", 147723, "\'", 147796, 1); 1039 WriteAttributeValue("", 147737, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 147737, 59, false); 1040 EndWriteAttribute(); 1041 BeginWriteAttribute("value", " value=\'", 147797, "\'", 147944, 1); 1042 WriteAttributeValue("", 147805, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmax"]) ? Context.Current.Request.QueryString["grundarealmax"] : "", 147805, 139, false); 1043 EndWriteAttribute(); 1044 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">"); 1045 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 1046 WriteLiteral("</option>\r\n"); 1047 for (var i = 0; i <= 10000; i += 100) 1048 { 1049 if (i == 10000) 1050 { 1051 WriteLiteral(" <option>"); 1052 Write(i); 1053 WriteLiteral("+</option>\r\n"); 1054 } 1055 else 1056 { 1057 WriteLiteral(" <option>"); 1058 Write(i); 1059 WriteLiteral("</option>\r\n"); 1060 } 1061 } 1062 WriteLiteral(@" </select> 1063 </div> 1064 </div> 1065 </div> 1066 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 1067 <div class=""filter-container row""> 1068 <label class=""d-block col-12"">Antal rum</label> 1069 <div class=""col-6 pr-sm-0 pr-2""> 1070 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count""> 1071 <option selected=""selected"" disabled=""disabled"">"); 1072 Write(Translate("Smartpage:Search.Placeholder.Min", "Min")); 1073 WriteLiteral("</option>\r\n"); 1074 1075 RenderSelectValue("1", "1", "roomsmin"); 1076 RenderSelectValue("2", "2", "roomsmin"); 1077 RenderSelectValue("3", "3", "roomsmin"); 1078 RenderSelectValue("4", "4", "roomsmin"); 1079 RenderSelectValue("5+", "5", "roomsmin"); 1080 WriteLiteral(@" </select> 1081 </div> 1082 <div class=""col-6 pl-sm-0 pl-2""> 1083 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count""> 1084 <option selected=""selected"" disabled=""disabled"">"); 1085 Write(Translate("Smartpage:Search.Placeholder.Max", "Max")); 1086 WriteLiteral("</option>\r\n"); 1087 1088 RenderSelectValue("1", "1", "roomsmax"); 1089 RenderSelectValue("2", "2", "roomsmax"); 1090 RenderSelectValue("3", "3", "roomsmax"); 1091 RenderSelectValue("4", "4", "roomsmax"); 1092 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax"); 1093 WriteLiteral(@" </select> 1094 </div> 1095 </div> 1096 </div> 1097 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 1098 <div class=""row""> 1099 <div class=""col-12 pr-2""> 1100 <div class=""filter-container""> 1101 <label class=""d-block"">Energimærke</label> 1102 <select name=""energylabel"" id=""energylabel"" class=""form-control reverse js-energylabel-select js-count""> 1103 <option selected=""selected"" disabled=""disabled"">"); 1104 Write(Translate("Smartpage:Search.Vælg", "Vælg")); 1105 WriteLiteral(@"</option> 1106 <option value=""01"">G</option> 1107 <option value=""02"">F</option> 1108 <option value=""03"">E</option> 1109 <option value=""04"">D</option> 1110 <option value=""05"">C</option> 1111 <option value=""06"">B</option> 1112 <option value=""07"">A</option> 1113 <option value=""08"">A2010</option> 1114 <option value=""09"">A2015</option> 1115 <option value=""10"">A2020+</option> 1116 </select> 1117 </div> 1118 "); 1119 WriteLiteral(@" </div> 1120 </div> 1121 </div> 1122 <div class=""col-12 col-sm-6 col-lg-3 mt-3""> 1123 <h4"); 1124 BeginWriteAttribute("class", " class=\"", 153743, "\"", 153751, 0); 1125 EndWriteAttribute(); 1126 WriteLiteral("><b>"); 1127 Write(Translate("Smartpage:Search.Økonomi", "Økonomi")); 1128 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">"); 1129 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")); 1130 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\""); 1131 BeginWriteAttribute("placeholder", " placeholder=\'", 154313, "\'", 154388, 1); 1132 WriteAttributeValue("", 154327, Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"), 154327, 61, false); 1133 EndWriteAttribute(); 1134 BeginWriteAttribute("value", " value=\'", 154389, "\'", 154530, 1); 1135 WriteAttributeValue("", 154397, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymin"]) ? Context.Current.Request.QueryString["subsidymin"] : "", 154397, 133, false); 1136 EndWriteAttribute(); 1137 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">"); 1138 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")); 1139 WriteLiteral("</option>\r\n"); 1140 for (var i = 0; i <= 25000; i += 1250) 1141 { 1142 if (i == 25000) 1143 { 1144 WriteLiteral(" <option"); 1145 BeginWriteAttribute("value", " value=\"", 155174, "\"", 155203, 1); 1146 WriteAttributeValue("", 155182, Converter.ToInt32(i), 155182, 21, false); 1147 EndWriteAttribute(); 1148 WriteLiteral(">"); 1149 Write(Converter.ToInt32(i).ToString("N0")); 1150 WriteLiteral("+</option>\r\n"); 1151 } 1152 else 1153 { 1154 WriteLiteral(" <option"); 1155 BeginWriteAttribute("value", " value=\"", 155500, "\"", 155529, 1); 1156 WriteAttributeValue("", 155508, Converter.ToInt32(i), 155508, 21, false); 1157 EndWriteAttribute(); 1158 WriteLiteral(">"); 1159 Write(Converter.ToInt32(i).ToString("N0")); 1160 WriteLiteral("</option>\r\n"); 1161 } 1162 } 1163 WriteLiteral(@" </select> 1164 </div> 1165 <div class=""col-6 pl-sm-0 pl-2""> 1166 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count"""); 1167 BeginWriteAttribute("placeholder", " placeholder=\'", 156041, "\'", 156116, 1); 1168 WriteAttributeValue("", 156055, Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"), 156055, 61, false); 1169 EndWriteAttribute(); 1170 BeginWriteAttribute("value", " value=\'", 156117, "\'", 156258, 1); 1171 WriteAttributeValue("", 156125, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymax"]) ? Context.Current.Request.QueryString["subsidymax"] : "", 156125, 133, false); 1172 EndWriteAttribute(); 1173 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1174 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")); 1175 WriteLiteral("</option>\r\n"); 1176 for (var i = 0; i <= 25000; i += 1250) 1177 { 1178 if (i == 25000) 1179 { 1180 WriteLiteral(" <option"); 1181 BeginWriteAttribute("value", " value=\"", 156898, "\"", 156927, 1); 1182 WriteAttributeValue("", 156906, Converter.ToInt32(i), 156906, 21, false); 1183 EndWriteAttribute(); 1184 WriteLiteral(">"); 1185 Write(Convert.ToInt32(i).ToString("N0")); 1186 WriteLiteral("+</option>\r\n"); 1187 } 1188 else 1189 { 1190 WriteLiteral(" <option"); 1191 BeginWriteAttribute("value", " value=\"", 157222, "\"", 157251, 1); 1192 WriteAttributeValue("", 157230, Converter.ToInt32(i), 157230, 21, false); 1193 EndWriteAttribute(); 1194 WriteLiteral(">"); 1195 Write(Convert.ToInt32(i).ToString("N0")); 1196 WriteLiteral("</option>\r\n"); 1197 } 1198 } 1199 WriteLiteral(@" </select> 1200 </div> 1201 </div> 1202 </div> 1203 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0""> 1204 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1205 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")); 1206 WriteLiteral(@"</button> 1207 </div> 1208 </div> 1209 </div> 1210 </div> 1211 </div> 1212 <div class=""row d-block d-md-none form-wrapper no-gutters""> 1213 <div class=""col-xs-12 col-md-2""> 1214 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1215 Write(Translate("Smartpage:Search.Søg", "Søg")); 1216 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n"); 1217 } 1218 else 1219 { 1220 WriteLiteral(@" <div class=""main-search-form center""> 1221 <i class=""fal fa-times float-right fa-2x js-close-search""></i> 1222 <div class=""row mb-3 align-items-center""> 1223 <div class=""col-xs-12 col-md-5 border-right""> 1224 <h3>"); 1225 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 1226 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>"); 1227 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")); 1228 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\""); 1229 BeginWriteAttribute("value", " value=\'", 159365, "\'", 159386, 1); 1230 WriteAttributeValue("", 159373, searchPageId, 159373, 13, false); 1231 EndWriteAttribute(); 1232 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" /> 1233 <div class=""row form-wrapper no-gutters""> 1234 1235 <div class=""col-12 mb-10""> 1236 <div class=""searchbar""> 1237 <input type=""text"""); 1238 BeginWriteAttribute("name", " name=\"", 159650, "\"", 159677, 1); 1239 WriteAttributeValue("", 159657, querySearchNameAttr, 159657, 20, false); 1240 EndWriteAttribute(); 1241 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\""); 1242 BeginWriteAttribute("value", " value=\'", 159780, "\'", 159800, 1); 1243 WriteAttributeValue("", 159788, querySearch, 159788, 12, false); 1244 EndWriteAttribute(); 1245 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\""); 1246 BeginWriteAttribute("value", " value=\'", 159894, "\'", 159919, 1); 1247 WriteAttributeValue("", 159902, queryZipCodeFrom, 159902, 17, false); 1248 EndWriteAttribute(); 1249 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\""); 1250 BeginWriteAttribute("value", " value=\'", 160009, "\'", 160032, 1); 1251 WriteAttributeValue("", 160017, queryZipCodeTo, 160017, 15, false); 1252 EndWriteAttribute(); 1253 WriteLiteral(@" /> 1254 </div> 1255 </div> 1256 <div class=""col-xs-12 col-md-8""> 1257 <div class=""row no-gutters""> 1258 <div class=""col-xs-12 col-md-6 input-col""> 1259 <div class=""dropdown""> 1260 <button class=""btn btn-dropdown dropdown-toggle reverse js-count"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 1261 "); 1262 Write(Translate("Smartpage:Search.Boligtype", "Boligtype")); 1263 WriteLiteral(@" 1264 </button> 1265 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 1266 <ul class=""bolig-dropdown list-unstyled""> 1267 "); 1268 1269 RenderBoligtypeCheckboxesDropdown(); 1270 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 1271 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 1272 WriteLiteral(@"</button> 1273 </div> 1274 1275 </div> 1276 1277 </div> 1278 <div class=""col-xs-12 col-md-6 input-col""> 1279 <div class=""dropdown""> 1280 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 1281 "); 1282 Write(Translate("Smartpage:Search.Pris", "Pris")); 1283 WriteLiteral(@" 1284 </button> 1285 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris""> 1286 <input type=""text"" name=""pricemin"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input"""); 1287 BeginWriteAttribute("placeholder", " placeholder=\'", 162274, "\'", 162351, 1); 1288 WriteAttributeValue("", 162288, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 162288, 63, false); 1289 EndWriteAttribute(); 1290 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1291 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")); 1292 WriteLiteral("</option>\r\n"); 1293 for (var i = 0; i <= 10000000; i += 100000) 1294 { 1295 if (i == 10000000) 1296 { 1297 WriteLiteral(" <option"); 1298 BeginWriteAttribute("value", " value=\"", 162988, "\"", 162998, 1); 1299 WriteAttributeValue("", 162996, i, 162996, 2, false); 1300 EndWriteAttribute(); 1301 WriteLiteral(" data-value=\'"); 1302 Write(Converter.ToInt32(i).ToString("N0")); 1303 WriteLiteral("+\'>"); 1304 Write(Converter.ToInt32(i).ToString("N0")); 1305 WriteLiteral("+</option>\r\n"); 1306 } 1307 else 1308 { 1309 WriteLiteral(" <option"); 1310 BeginWriteAttribute("value", " value=\"", 163330, "\"", 163340, 1); 1311 WriteAttributeValue("", 163338, i, 163338, 2, false); 1312 EndWriteAttribute(); 1313 WriteLiteral(" data-value=\'"); 1314 Write(Converter.ToInt32(i).ToString("N0")); 1315 WriteLiteral("\'>"); 1316 Write(Converter.ToInt32(i).ToString("N0")); 1317 WriteLiteral("</option>\r\n"); 1318 } 1319 } 1320 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\""); 1321 BeginWriteAttribute("placeholder", " placeholder=\'", 163746, "\'", 163823, 1); 1322 WriteAttributeValue("", 163760, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 163760, 63, false); 1323 EndWriteAttribute(); 1324 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1325 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")); 1326 WriteLiteral("</option>\r\n"); 1327 for (var i = 0; i <= 10000000; i += 100000) 1328 { 1329 if (i == 10000000) 1330 { 1331 WriteLiteral(" <option"); 1332 BeginWriteAttribute("value", " value=\"", 164454, "\"", 164464, 1); 1333 WriteAttributeValue("", 164462, i, 164462, 2, false); 1334 EndWriteAttribute(); 1335 WriteLiteral(" data-value=\'"); 1336 Write(Converter.ToInt32(i).ToString("N0")); 1337 WriteLiteral("+\'>"); 1338 Write(Converter.ToInt32(i).ToString("N0")); 1339 WriteLiteral("+</option>\r\n"); 1340 } 1341 else 1342 { 1343 WriteLiteral(" <option"); 1344 BeginWriteAttribute("value", " value=\"", 164796, "\"", 164806, 1); 1345 WriteAttributeValue("", 164804, i, 164804, 2, false); 1346 EndWriteAttribute(); 1347 WriteLiteral(" data-value=\'"); 1348 Write(Converter.ToInt32(i).ToString("N0")); 1349 WriteLiteral("\'>"); 1350 Write(Converter.ToInt32(i).ToString("N0")); 1351 WriteLiteral("</option>\r\n"); 1352 } 1353 } 1354 WriteLiteral(@" </select> 1355 </div> 1356 </div> 1357 </div> 1358 </div> 1359 </div> 1360 <div class=""col-xs-12 col-md-4 d-none d-md-block""> 1361 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1362 Write(Translate("Smartpage:Search.Søg", "Søg")); 1363 WriteLiteral(@"</button> 1364 </div> 1365 </div> 1366 1367 <div class=""row moresearch-btn no-gutters""> 1368 <div class=""col-sm-12""> 1369 <div class=""row align-items-center no-gutters""> 1370 <div class=""col-12 col-md-5""> 1371 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch-master""> 1372 <span class=""moreSearch-text""><i class=""fas fa-plus open-close white""></i> <span class=""not-open white"">"); 1373 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")); 1374 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> "); 1375 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt")); 1376 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\">"); 1377 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg")); 1378 WriteLiteral(@"</a> 1379 </div> 1380 <div class=""col-6 col-md-4 mb-xs-4""> 1381 <div class=""parent-purchases""> 1382 <label class=""checkbox-container white""> 1383 "); 1384 Write(Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet")); 1385 WriteLiteral(@" 1386 <input type=""checkbox"" name=""foraeldrekoebegnet"" value=""true"" class=""js-input-check""> 1387 <span class=""checkmark grey""></span> 1388 </label> 1389 </div> 1390 </div> 1391 </div> 1392 1393 <div class=""collapse"" id=""moreSearch-master""> 1394 1395 <h4 class=""mt-20""><b>"); 1396 Write(Translate("Smartpage:Search.Bolig", "Bolig")); 1397 WriteLiteral(@"</b></h4> 1398 <div class=""row align-items-end mb-30""> 1399 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1400 <div class=""filter-container row""> 1401 <label class=""d-block col-12"">"); 1402 Write(Translate("Smartpage:Search.Boligareal", "Boligareal")); 1403 WriteLiteral(@"</label> 1404 <div class=""col-6 pr-sm-0 pr-2""> 1405 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count"""); 1406 BeginWriteAttribute("placeholder", " placeholder=\'", 168263, "\'", 168336, 1); 1407 WriteAttributeValue("", 168277, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 168277, 59, false); 1408 EndWriteAttribute(); 1409 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1410 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 1411 WriteLiteral("</option>\r\n"); 1412 for (var i = 0; i <= 300; i += 10) 1413 { 1414 if (i == 300) 1415 { 1416 WriteLiteral(" <option>"); 1417 Write(i); 1418 WriteLiteral("+</option>\r\n"); 1419 } 1420 else 1421 { 1422 WriteLiteral(" <option>"); 1423 Write(i); 1424 WriteLiteral("</option>\r\n"); 1425 } 1426 } 1427 WriteLiteral(@" </select> 1428 </div> 1429 <div class=""col-6 pl-sm-0 pl-2""> 1430 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count"""); 1431 BeginWriteAttribute("placeholder", " placeholder=\'", 169719, "\'", 169792, 1); 1432 WriteAttributeValue("", 169733, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 169733, 59, false); 1433 EndWriteAttribute(); 1434 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1435 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 1436 WriteLiteral("</option>\r\n"); 1437 for (var i = 0; i <= 300; i += 10) 1438 { 1439 if (i == 300) 1440 { 1441 WriteLiteral(" <option>"); 1442 Write(i); 1443 WriteLiteral("+</option>\r\n"); 1444 } 1445 else 1446 { 1447 WriteLiteral(" <option>"); 1448 Write(i); 1449 WriteLiteral("</option>\r\n"); 1450 } 1451 } 1452 WriteLiteral(@" </select> 1453 </div> 1454 </div> 1455 </div> 1456 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1457 <div class=""filter-container row""> 1458 <label class=""d-block col-12"">"); 1459 Write(Translate("Smartpage:Search.Grundareal", "Grundareal")); 1460 WriteLiteral(@"</label> 1461 <div class=""col-6 pr-sm-0 pr-2""> 1462 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count"""); 1463 BeginWriteAttribute("placeholder", " placeholder=\'", 171571, "\'", 171644, 1); 1464 WriteAttributeValue("", 171585, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 171585, 59, false); 1465 EndWriteAttribute(); 1466 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1467 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 1468 WriteLiteral("</option>\r\n"); 1469 for (var i = 0; i <= 10000; i += 100) 1470 { 1471 if (i == 10000) 1472 { 1473 WriteLiteral(" <option"); 1474 BeginWriteAttribute("value", " value=\"", 172284, "\"", 172313, 1); 1475 WriteAttributeValue("", 172292, Converter.ToInt32(i), 172292, 21, false); 1476 EndWriteAttribute(); 1477 WriteLiteral(">"); 1478 Write(Converter.ToInt32(i).ToString("N0")); 1479 WriteLiteral("+</option>\r\n"); 1480 } 1481 else 1482 { 1483 WriteLiteral(" <option"); 1484 BeginWriteAttribute("value", " value=\"", 172610, "\"", 172639, 1); 1485 WriteAttributeValue("", 172618, Converter.ToInt32(i), 172618, 21, false); 1486 EndWriteAttribute(); 1487 WriteLiteral(">"); 1488 Write(Converter.ToInt32(i).ToString("N0")); 1489 WriteLiteral("</option>\r\n"); 1490 } 1491 } 1492 WriteLiteral(@" </select> 1493 </div> 1494 <div class=""col-6 pl-sm-0 pl-2""> 1495 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count"""); 1496 BeginWriteAttribute("placeholder", " placeholder=\'", 173160, "\'", 173233, 1); 1497 WriteAttributeValue("", 173174, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 173174, 59, false); 1498 EndWriteAttribute(); 1499 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1500 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 1501 WriteLiteral("</option>\r\n"); 1502 for (var i = 0; i <= 10000; i += 100) 1503 { 1504 if (i == 10000) 1505 { 1506 WriteLiteral(" <option"); 1507 BeginWriteAttribute("value", " value=\"", 173864, "\"", 173893, 1); 1508 WriteAttributeValue("", 173872, Converter.ToInt32(i), 173872, 21, false); 1509 EndWriteAttribute(); 1510 WriteLiteral(">"); 1511 Write(Converter.ToInt32(i).ToString("N0")); 1512 WriteLiteral("+</option>\r\n"); 1513 } 1514 else 1515 { 1516 WriteLiteral(" <option"); 1517 BeginWriteAttribute("value", " value=\"", 174190, "\"", 174219, 1); 1518 WriteAttributeValue("", 174198, Converter.ToInt32(i), 174198, 21, false); 1519 EndWriteAttribute(); 1520 WriteLiteral(">"); 1521 Write(Converter.ToInt32(i).ToString("N0")); 1522 WriteLiteral("</option>\r\n"); 1523 } 1524 } 1525 WriteLiteral(@" </select> 1526 </div> 1527 </div> 1528 </div> 1529 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1530 <div class=""filter-container row""> 1531 <label class=""d-block col-12"">Antal rum</label> 1532 1533 <div class=""col-6 pr-sm-0 pr-2""> 1534 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count""> 1535 <option selected=""selected"" disabled=""disabled"">"); 1536 Write(Translate("Smartpage:Search.Placeholder.Min", "Min")); 1537 WriteLiteral(@"</option> 1538 <option value=""1"">1</option> 1539 <option value=""2"">2</option> 1540 <option value=""3"">3</option> 1541 <option value=""4"">4</option> 1542 <option value=""5"">5+</option> 1543 </select> 1544 </div> 1545 <div class=""col-6 pl-sm-0 pl-2""> 1546 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count""> 1547 <option selected=""selected"" disabled=""disabled"">"); 1548 Write(Translate("Smartpage:Search.Placeholder.Max", "Max")); 1549 WriteLiteral(@"</option> 1550 <option value=""1"">1</option> 1551 <option value=""2"">2</option> 1552 <option value=""3"">3</option> 1553 <option value=""4"">4</option> 1554 <option value=""5"">5+</option> 1555 </select> 1556 </div> 1557 </div> 1558 </div> 1559 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1560 <div class=""row""> 1561 <div class=""col-12 pr-2""> 1562 <div class=""filter-container""> 1563 <label class=""d-block"">Energimærke</label> 1564 "); 1565 WriteLiteral(" <select name=\"energylabel\" id=\"energylabel\" class=\"form-control reverse js-energylabel-select js-count\">\r\n <option disabled selected=\"selected\">"); 1566 Write(Translate("Smartpage:Search.Vælg", "Vælg")); 1567 WriteLiteral(@"</option> 1568 <option value=""01"">G</option> 1569 <option value=""02"">F</option> 1570 <option value=""03"">E</option> 1571 <option value=""04"">D</option> 1572 <option value=""05"">C</option> 1573 <option value=""06"">B</option> 1574 <option value=""07"">A</option> 1575 <option value=""08"">A2010</option> 1576 <option value=""09"">A2015</option> 1577 <option value=""10"">A2020+</option> 1578 </select> 1579 </div> 1580 "); 1581 WriteLiteral(@" </div> 1582 </div> 1583 </div> 1584 <div class=""col-12 col-sm-6 col-lg-6 mt-3""> 1585 <h4"); 1586 BeginWriteAttribute("class", " class=\"", 178725, "\"", 178733, 0); 1587 EndWriteAttribute(); 1588 WriteLiteral("><b>"); 1589 Write(Translate("Smartpage:Search.Økonomi", "Økonomi")); 1590 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">"); 1591 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")); 1592 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\""); 1593 BeginWriteAttribute("placeholder", " placeholder=\'", 179295, "\'", 179362, 1); 1594 WriteAttributeValue("", 179309, Translate("Smartpage:Search.Placeholder.Min", "Min"), 179309, 53, false); 1595 EndWriteAttribute(); 1596 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">"); 1597 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")); 1598 WriteLiteral("</option>\r\n"); 1599 for (var i = 0; i <= 25000; i += 1250) 1600 { 1601 if (i == 25000) 1602 { 1603 WriteLiteral(" <option"); 1604 BeginWriteAttribute("value", " value=\"", 180006, "\"", 180035, 1); 1605 WriteAttributeValue("", 180014, Converter.ToInt32(i), 180014, 21, false); 1606 EndWriteAttribute(); 1607 WriteLiteral(">"); 1608 Write(Converter.ToInt32(i).ToString("N0")); 1609 WriteLiteral("+</option>\r\n"); 1610 } 1611 else 1612 { 1613 WriteLiteral(" <option"); 1614 BeginWriteAttribute("value", " value=\"", 180332, "\"", 180361, 1); 1615 WriteAttributeValue("", 180340, Converter.ToInt32(i), 180340, 21, false); 1616 EndWriteAttribute(); 1617 WriteLiteral(">"); 1618 Write(Converter.ToInt32(i).ToString("N0")); 1619 WriteLiteral("</option>\r\n"); 1620 } 1621 } 1622 WriteLiteral(@" </select> 1623 </div> 1624 <div class=""col-6 pl-sm-0 pl-2""> 1625 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count"""); 1626 BeginWriteAttribute("placeholder", " placeholder=\'", 180873, "\'", 180940, 1); 1627 WriteAttributeValue("", 180887, Translate("Smartpage:Search.Placeholder.Max", "Max"), 180887, 53, false); 1628 EndWriteAttribute(); 1629 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1630 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")); 1631 WriteLiteral("</option>\r\n"); 1632 for (var i = 0; i <= 25000; i += 1250) 1633 { 1634 if (i == 25000) 1635 { 1636 WriteLiteral(" <option"); 1637 BeginWriteAttribute("value", " value=\"", 181580, "\"", 181609, 1); 1638 WriteAttributeValue("", 181588, Converter.ToInt32(i), 181588, 21, false); 1639 EndWriteAttribute(); 1640 WriteLiteral(">"); 1641 Write(Converter.ToInt32(i).ToString("N0")); 1642 WriteLiteral("+</option>\r\n"); 1643 } 1644 else 1645 { 1646 WriteLiteral(" <option"); 1647 BeginWriteAttribute("value", " value=\"", 181906, "\"", 181935, 1); 1648 WriteAttributeValue("", 181914, Converter.ToInt32(i), 181914, 21, false); 1649 EndWriteAttribute(); 1650 WriteLiteral(">"); 1651 Write(Converter.ToInt32(i).ToString("N0")); 1652 WriteLiteral("</option>\r\n"); 1653 } 1654 } 1655 WriteLiteral(@" </select> 1656 </div> 1657 </div> 1658 </div> 1659 <div class=""col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0""> 1660 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1661 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")); 1662 WriteLiteral(@"</button> 1663 </div> 1664 </div> 1665 </div> 1666 </div> 1667 </div> 1668 <div class=""row d-block d-md-none form-wrapper no-gutters""> 1669 <div class=""col-xs-12 col-md-2""> 1670 <button type=""submit"" class=""btn btn-block btn-search dark-red""><i class=""fa fa-search""></i> "); 1671 Write(Translate("Smartpage:Search.Søg", "Søg")); 1672 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n"); 1673 } 1674 WriteLiteral(" </div>\r\n\r\n"); 1675 1676 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning)); 1677 WriteLiteral("\r\n"); 1678 if (isBrokerPage) 1679 { 1680 WriteLiteral(" <section class=\"maegler-navbar\">\r\n "); 1681 Write(RenderNavigation(new 1682 { 1683 id = "navbar-main", 1684 cssclass = "dwnavigation", 1685 template = "ul_li.xslt", 1686 StartLevel = 1, 1687 EndLevel = 1 1688 })); 1689 WriteLiteral("\r\n </section>\r\n"); 1690 } 1691 WriteLiteral("\r\n <div class=\"visual-editor\">\r\n"); 1692 WriteLiteral("\r\n\r\n"); 1693 WriteLiteral("\r\n\r\n"); 1694 WriteLiteral("\r\n"); 1695 1696 int pageId = Model.ID; 1697 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus"); 1698 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles"); 1699 bool showTitle = Model.Item.GetBoolean("ShowTitle"); 1700 bool showFilters = Model.Item.GetBoolean("ShowFilters"); 1701 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter"); 1702 bool showSearch = Model.Item.GetBoolean("ShowSearch"); 1703 string dynamicListWidth = enablePopular ? "8" : "12"; 1704 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle"; 1705 1706 Dictionary<string, string> categoriesList = new Dictionary<string, string>(); 1707 categoriesList.Add(Translate("All"), ""); 1708 1709 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId)) 1710 { 1711 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any()) 1712 { 1713 categoriesList.Add(page.GetDisplayName(), page.ID.ToString()); 1714 } 1715 } 1716 1717 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields; 1718 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : ""; 1719 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : ""; 1720 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : ""; 1721 1722 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null; 1723 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null; 1724 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null; 1725 1726 Block listPageContainer = new Block 1727 { 1728 Id = "ArticleListPageContainer", 1729 SortId = 10, 1730 Design = new Design 1731 { 1732 RenderType = RenderType.Row 1733 }, 1734 BlocksList = new List<Block> { 1735 new Block { 1736 Id = "ArticleListPageHeader", 1737 SortId = 20, 1738 Design = new Design 1739 { 1740 RenderType = RenderType.Column, 1741 Size = "12" 1742 }, 1743 BlocksList = new List<Block> { 1744 new Block { 1745 Id = "ArticleListPageHeaderRow", 1746 SortId = 10, 1747 Design = new Design 1748 { 1749 RenderType = RenderType.Row 1750 }, 1751 BlocksList = new List<Block> { 1752 new Block { 1753 Id = "ArticleListFilters", 1754 SortId = 30, 1755 Design = new Design { 1756 RenderType = RenderType.Column, 1757 Size = "10", 1758 CssClass = "grid__cell" 1759 } 1760 } 1761 } 1762 } 1763 } 1764 } 1765 } 1766 }; 1767 articleListPage.Add(listPageContainer); 1768 1769 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") { 1770 Block listFilters = articleListPage.GetBlockById("ArticleListFilters"); 1771 listFilters.Template = RenderMobileFilters(listFilters.BlocksList); 1772 listFilters.SkipRenderBlocksList = true; 1773 } 1774 1775 if (showTitle) { 1776 Block titleBlock = new Block 1777 { 1778 Id = "ArticleListTitle", 1779 SortId = 10, 1780 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 }, 1781 Design = new Design 1782 { 1783 RenderType = RenderType.Column, 1784 Size = "2" 1785 } 1786 }; 1787 articleListPage.Add("ArticleListPageHeaderRow", titleBlock); 1788 } 1789 1790 if (showSearch) 1791 { 1792 Block searchFilter = new Block 1793 { 1794 Id = "ArticleListSearch", 1795 SortId = 10, 1796 Component = new ArticleListSearch { } 1797 }; 1798 articleListPage.Add("ArticleListFilters", searchFilter); 1799 } 1800 1801 if (showCategoryFilter) 1802 { 1803 Block categoryFilter = new Block 1804 { 1805 Id = "ArticleListCategoryFilter", 1806 SortId = 20, 1807 Component = new ArticleListCategoryFilter { Categories = categoriesList } 1808 }; 1809 articleListPage.Add("ArticleListFilters", categoryFilter); 1810 } 1811 1812 Block listBody = new Block 1813 { 1814 Id = "ArticleListPageBody", 1815 SortId = 30, 1816 Design = new Design 1817 { 1818 RenderType = RenderType.Column, 1819 Size = dynamicListWidth 1820 } 1821 }; 1822 articleListPage.Add("ArticleListPageContainer", listBody); 1823 1824 Block listBodyRow = new Block 1825 { 1826 Id = "ArticleListPageBodyRow", 1827 SortId = 10, 1828 Design = new Design 1829 { 1830 RenderType = RenderType.Row 1831 } 1832 }; 1833 articleListPage.Add("ArticleListPageBody", listBodyRow); 1834 1835 if (enableArticlesInFocus) { 1836 Block listInFocus = new Block 1837 { 1838 Id = "ArticleListInFocus", 1839 SortId = 10, 1840 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType }, 1841 Design = new Design 1842 { 1843 RenderType = RenderType.Column, 1844 Size = "12", 1845 HidePadding = true 1846 } 1847 }; 1848 articleListPage.Add("ArticleListPageBodyRow", listInFocus); 1849 } 1850 1851 Block listMain = new Block 1852 { 1853 Id = "ArticleListMain", 1854 SortId = 20, 1855 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType }, 1856 Design = new Design 1857 { 1858 RenderType = RenderType.Column, 1859 Size = "12", 1860 HidePadding = true 1861 } 1862 }; 1863 articleListPage.Add("ArticleListPageBodyRow", listMain); 1864 1865 if (enablePopular) 1866 { 1867 Block listPopular = new Block 1868 { 1869 Id = "ArticleListPopular", 1870 SortId = 30, 1871 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType }, 1872 Design = new Design 1873 { 1874 RenderType = RenderType.Column, 1875 Size = "4", 1876 CssClass = "u-padding--lg" 1877 } 1878 }; 1879 articleListPage.Add("ArticleListPageContainer", listPopular); 1880 } 1881 1882 if (showFilters) { 1883 if (filterOneOptions != null) 1884 { 1885 Block filterOne = new Block 1886 { 1887 Id = "ArticleListFilterOne", 1888 SortId = 30, 1889 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" } 1890 }; 1891 articleListPage.Add("ArticleListFilters", filterOne); 1892 } 1893 1894 if (filterTwoOptions != null) 1895 { 1896 Block filterTwo = new Block 1897 { 1898 Id = "ArticleListFilterTwo", 1899 SortId = 40, 1900 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" } 1901 }; 1902 articleListPage.Add("ArticleListFilters", filterTwo); 1903 } 1904 1905 if (filterThreeOptions != null) 1906 { 1907 Block filterThree = new Block 1908 { 1909 Id = "ArticleListFilterThree", 1910 SortId = 50, 1911 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" } 1912 }; 1913 articleListPage.Add("ArticleListFilters", filterThree); 1914 } 1915 } 1916 WriteLiteral("\r\n\r\n"); 1917 WriteLiteral("\r\n"); 1918 Write(RenderBlockList(articleListPage.BlocksRoot.BlocksList)); 1919 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"); 1920 if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true) 1921 { 1922 string bName = MyBroker.Broker.Name; 1923 string bClass = "na"; 1924 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png"; 1925 1926 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName)) 1927 { 1928 bName = MyBroker.Broker.CompanyName; 1929 } 1930 try 1931 { 1932 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl"); 1933 if (!string.IsNullOrEmpty(imgUrl)) 1934 { 1935 bImage = imgUrl; 1936 bClass = ""; 1937 } 1938 } 1939 catch 1940 { 1941 // Ignore 1942 } 1943 1944 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId"); 1945 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer"); 1946 1947 WriteLiteral(" <section class=\"din-maegler\">\r\n <div"); 1948 BeginWriteAttribute("class", " class=\"", 193815, "\"", 193842, 2); 1949 WriteAttributeValue("", 193823, "img-wrapper", 193823, 11, true); 1950 WriteAttributeValue(" ", 193834, bClass, 193835, 7, false); 1951 EndWriteAttribute(); 1952 BeginWriteAttribute("style", " style=\"", 193843, "\"", 193882, 3); 1953 WriteAttributeValue("", 193851, "background-image:url(\'", 193851, 22, true); 1954 WriteAttributeValue("", 193873, bImage, 193873, 7, false); 1955 WriteAttributeValue("", 193880, "\')", 193880, 2, true); 1956 EndWriteAttribute(); 1957 WriteLiteral(@"></div> 1958 <div class=""container""> 1959 <div class=""col-12 col-sm-12 col-md-6 offset-md-6""> 1960 <h2>Din personlige mægler</h2> 1961 <div class=""row""> 1962 <div class=""col-12 col-sm-6""> 1963 <p> 1964 <b class=""my-broker-name"">"); 1965 Write(MyBroker.Employee.Name); 1966 WriteLiteral("</b><br>\r\n"); 1967 if (!string.IsNullOrEmpty(MyBroker.Employee.Email)) 1968 { 1969 WriteLiteral("Mail: <a"); 1970 BeginWriteAttribute("href", " href=\"", 194439, "\"", 194499, 2); 1971 WriteAttributeValue("", 194446, "mailto:", 194446, 7, true); 1972 WriteAttributeValue("", 194453, ExtractMaskedEmail(MyBroker.Employee.Email), 194453, 46, false); 1973 EndWriteAttribute(); 1974 WriteLiteral(" class=\"my-broker-email\">"); 1975 Write(ExtractMaskedEmail(MyBroker.Employee.Email)); 1976 WriteLiteral("</a><br>"); 1977 1978 } 1979 if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile)) 1980 { 1981 WriteLiteral("Tlf.: <a"); 1982 BeginWriteAttribute("href", " href=\"", 194798, "\"", 194841, 2); 1983 WriteAttributeValue("", 194805, "tel:", 194805, 4, true); 1984 WriteAttributeValue("", 194809, MyBroker.Employee.PhoneMobile, 194809, 32, false); 1985 EndWriteAttribute(); 1986 WriteLiteral(" class=\"my-broker-phone\">"); 1987 Write(FormatPhoneNumber(MyBroker.Employee.PhoneMobile)); 1988 WriteLiteral("</a>"); 1989 1990 } 1991 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 1992 { 1993 WriteLiteral("Tlf.: <a"); 1994 BeginWriteAttribute("href", " href=\"", 195141, "\"", 195180, 2); 1995 WriteAttributeValue("", 195148, "tel:", 195148, 4, true); 1996 WriteAttributeValue("", 195152, MyBroker.Broker.Telephone, 195152, 28, false); 1997 EndWriteAttribute(); 1998 WriteLiteral(" class=\"my-broker-phone\">"); 1999 Write(FormatPhoneNumber(MyBroker.Broker.Telephone)); 2000 WriteLiteral("</a>"); 2001 2002 } 2003 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\">"); 2004 Write(bName); 2005 WriteLiteral("</b><br>\r\n <span class=\"my-broker-company-address\">"); 2006 Write(MyBroker.Broker.Address); 2007 WriteLiteral("</span><br>\r\n <span class=\"my-broker-company-zip\">"); 2008 Write(MyBroker.Broker.ZipCode); 2009 WriteLiteral("</span> <span class=\"my-broker-company-city\">"); 2010 Write(MyBroker.Broker.City); 2011 WriteLiteral("</span><br>\r\n"); 2012 if (!string.IsNullOrEmpty(bEmail)) 2013 { 2014 WriteLiteral("Mail: <a"); 2015 BeginWriteAttribute("href", " href=\"", 195969, "\"", 195992, 2); 2016 WriteAttributeValue("", 195976, "mailto:", 195976, 7, true); 2017 WriteAttributeValue("", 195983, bEmail, 195983, 9, false); 2018 EndWriteAttribute(); 2019 WriteLiteral(" class=\"my-broker-broker-email\">"); 2020 Write(bEmail); 2021 WriteLiteral("</a><br>"); 2022 2023 } 2024 if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 2025 { 2026 WriteLiteral("Tlf.: <a"); 2027 BeginWriteAttribute("href", " href=\"", 196257, "\"", 196296, 2); 2028 WriteAttributeValue("", 196264, "tel:", 196264, 4, true); 2029 WriteAttributeValue("", 196268, MyBroker.Broker.Telephone, 196268, 28, false); 2030 EndWriteAttribute(); 2031 WriteLiteral(" class=\"my-broker-broker-phone\">"); 2032 Write(FormatPhoneNumber(MyBroker.Broker.Telephone)); 2033 WriteLiteral("</a>"); 2034 2035 } 2036 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"); 2037 BeginWriteAttribute("href", " href=\"", 196672, "\"", 196707, 2); 2038 WriteAttributeValue("", 196679, "/", 196679, 1, true); 2039 WriteAttributeValue("", 196680, medlemsnummer.Substring(1), 196680, 27, false); 2040 EndWriteAttribute(); 2041 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"); 2042 } 2043 WriteLiteral(" <footer>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n"); 2044 2045 var navigationSettings = new NavigationSettings(); 2046 navigationSettings.StartLevel = 1; 2047 navigationSettings.StopLevel = 3; 2048 navigationSettings.ExpandMode = ExpandMode.All; 2049 navigationSettings.RootAreaId = 1; 2050 navigationSettings.RootNavigationTag = "footer-nav"; 2051 2052 WriteLiteral(" "); 2053 Write(Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings)); 2054 WriteLiteral("\r\n </div>\r\n </div>\r\n </footer>\r\n\r\n"); 2055 if (Model.CurrentUser?.ID <= 0) 2056 { 2057 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"); 2058 if (loginParagraphId > 0) 2059 { 2060 WriteLiteral("\r\n "); 2061 Write(RenderParagraphContent(loginParagraphId)); 2062 WriteLiteral("\r\n "); 2063 2064 } 2065 WriteLiteral(" </div>\r\n <div class=\"loginform register js-register-form-wrapper\" style=\"display: none;\">\r\n"); 2066 if (createUserParagraphId > 0) 2067 { 2068 WriteLiteral("\r\n "); 2069 Write(RenderParagraphContent(createUserParagraphId)); 2070 WriteLiteral("\r\n "); 2071 2072 } 2073 WriteLiteral(" </div>\r\n <div class=\"loginform forgotpw\" style=\"display: none;\">\r\n <h2 class=\"forgotpw-reg\">"); 2074 Write(Translate("forgot-pw-reg-title", "Glemt adgangskode")); 2075 WriteLiteral("</h2>\r\n <h2 class=\"forgotpw-broker\">"); 2076 Write(Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")); 2077 WriteLiteral("</h2>\r\n <form id=\"forgotPwForm\" class=\"form-body\" method=\"post\""); 2078 BeginWriteAttribute("action", " action=\"", 198770, "\"", 198779, 0); 2079 EndWriteAttribute(); 2080 WriteLiteral(">\r\n <input type=\"hidden\" id=\"AccessUserShopID\" name=\"AccessUserShopID\" value=\"SHOP6\" />\r\n <p class=\"forgotpw-reg\">"); 2081 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.")); 2082 WriteLiteral("</p>\r\n <p class=\"forgotpw-broker\">"); 2083 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.")); 2084 WriteLiteral(@"</p> 2085 <div class=""form-group""> 2086 <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 /> 2087 </div> 2088 <button class=""btn btn-primary btn-block"" type=""submit"">"); 2089 Write(Translate("forgot-pw-cta", "Nulstil adgangskode")); 2090 WriteLiteral("</button>\r\n <br />\r\n <div id=\"submitMessage\"></div>\r\n </form>\r\n </div>\r\n </div>\r\n"); 2091 } 2092 WriteLiteral("\r\n"); 2093 WriteLiteral("\r\n"); 2094 2095 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"); 2096 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>"); 2097 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")); 2098 WriteLiteral("</h2>\r\n <form id=\"form-koeberraadgivning\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>"); 2099 Write(Translate("form-navn", "Navn")); 2100 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\" tabindex=\"1\""); 2101 BeginWriteAttribute("placeholder", " placeholder=\'", 201019, "\'", 201101, 1); 2102 WriteAttributeValue("", 201033, Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn"), 201033, 68, false); 2103 EndWriteAttribute(); 2104 BeginWriteAttribute("value", " value=\'", 201102, "\'", 201141, 1); 2105 WriteAttributeValue("", 201110, UserContext.Current.User?.Name, 201110, 31, false); 2106 EndWriteAttribute(); 2107 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2108 Write(Translate("form-email", "E-mail")); 2109 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\""); 2110 BeginWriteAttribute("placeholder", " placeholder=\'", 201418, "\'", 201503, 1); 2111 WriteAttributeValue("", 201432, Translate("Smartpage:Kontakt.Placeholder.Email", "Indtast din e-mail"), 201432, 71, false); 2112 EndWriteAttribute(); 2113 BeginWriteAttribute("value", " value=\'", 201504, "\'", 201544, 1); 2114 WriteAttributeValue("", 201512, UserContext.Current.User?.Email, 201512, 32, false); 2115 EndWriteAttribute(); 2116 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2117 Write(Translate("form-mobile", "Mobil nr.")); 2118 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"3\" maxlength=\"20\" name=\"mobile\""); 2119 BeginWriteAttribute("placeholder", " placeholder=\'", 201855, "\'", 201940, 1); 2120 WriteAttributeValue("", 201869, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 201869, 71, false); 2121 EndWriteAttribute(); 2122 BeginWriteAttribute("value", " value=\'", 201941, "\'", 201981, 1); 2123 WriteAttributeValue("", 201949, UserContext.Current.User?.Phone, 201949, 32, false); 2124 EndWriteAttribute(); 2125 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2126 Write(Translate("form-telephone", "Telefon nr.")); 2127 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"4\" maxlength=\"20\" name=\"telefonnummer\""); 2128 BeginWriteAttribute("placeholder", " placeholder=\'", 202264, "\'", 202348, 1); 2129 WriteAttributeValue("", 202278, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 202278, 70, false); 2130 EndWriteAttribute(); 2131 BeginWriteAttribute("value", " value=\'", 202349, "\'", 202390, 1); 2132 WriteAttributeValue("", 202357, UserContext.Current?.User?.Phone, 202357, 33, false); 2133 EndWriteAttribute(); 2134 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <h3>"); 2135 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")); 2136 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2137 Write(Translate("form-zip", "Post nr")); 2138 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\" tabindex=\"5\""); 2139 BeginWriteAttribute("placeholder", " placeholder=\'", 202798, "\'", 202876, 1); 2140 WriteAttributeValue("", 202812, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 202812, 64, false); 2141 EndWriteAttribute(); 2142 BeginWriteAttribute("value", " value=\"", 202877, "\"", 202893, 1); 2143 WriteAttributeValue("", 202885, userZip, 202885, 8, false); 2144 EndWriteAttribute(); 2145 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2146 Write(Translate("form-city", "By")); 2147 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>"); 2148 Write(Translate("form-adresse", "Adresse")); 2149 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\" tabindex=\"6\""); 2150 BeginWriteAttribute("placeholder", " placeholder=\'", 203460, "\'", 203550, 1); 2151 WriteAttributeValue("", 203474, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 203474, 76, false); 2152 EndWriteAttribute(); 2153 WriteLiteral(" required />\r\n\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2154 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2155 WriteLiteral(@"</label> 2156 </div> 2157 <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""> 2158 <strong class=""f-12""><i class=""fas fa-plus""></i> "); 2159 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")); 2160 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\""); 2161 BeginWriteAttribute("placeholder", " placeholder=\'", 204344, "\'", 204422, 1); 2162 WriteAttributeValue("", 204358, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 204358, 64, false); 2163 EndWriteAttribute(); 2164 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\">"); 2165 Write(Translate("KontaktMægler", "Kontakt Mægler")); 2166 WriteLiteral(@"</button> 2167 </div> 2168 </div> 2169 </div> 2170 <div class=""form-group mt-3""> 2171 <div class=""checkbox""> 2172 <label> 2173 <input type=""checkbox"" name=""kontaktmigok"" required /> 2174 2175 <span>"); 2176 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2177 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2178 Write(privacyPolicyText); 2179 WriteLiteral(" <a"); 2180 BeginWriteAttribute("href", " href=\"", 205235, "\"", 205259, 2); 2181 WriteAttributeValue("", 205242, "mailto:", 205242, 7, true); 2182 WriteAttributeValue("", 205249, termsMail, 205249, 10, false); 2183 EndWriteAttribute(); 2184 WriteLiteral(">"); 2185 Write(termsMail); 2186 WriteLiteral("</a>.\r\n Læs mere på <a"); 2187 BeginWriteAttribute("href", " href=\"", 205304, "\"", 205338, 1); 2188 WriteAttributeValue("", 205311, settings_Persondatapolitik, 205311, 27, false); 2189 EndWriteAttribute(); 2190 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n\r\n <input type=\"hidden\" name=\"fn\" value=\"krk\" />\r\n <input type=\"hidden\" name=\"origin\""); 2191 BeginWriteAttribute("value", " value=\"", 205484, "\"", 205492, 0); 2192 EndWriteAttribute(); 2193 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2194 BeginWriteAttribute("value", " value=\"", 205542, "\"", 205550, 0); 2195 EndWriteAttribute(); 2196 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2197 BeginWriteAttribute("value", " value=\"", 205598, "\"", 205622, 1); 2198 WriteAttributeValue("", 205606, Pageview.AreaID, 205606, 16, false); 2199 EndWriteAttribute(); 2200 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\""); 2201 BeginWriteAttribute("value", " value=\"", 205671, "\"", 205687, 1); 2202 WriteAttributeValue("", 205679, butikId, 205679, 8, false); 2203 EndWriteAttribute(); 2204 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2205 BeginWriteAttribute("value", " value=\"", 205741, "\"", 205749, 0); 2206 EndWriteAttribute(); 2207 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2208 BeginWriteAttribute("value", " value=\"", 205800, "\"", 205808, 0); 2209 EndWriteAttribute(); 2210 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2211 BeginWriteAttribute("value", " value=\"", 205858, "\"", 205866, 0); 2212 EndWriteAttribute(); 2213 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-advisor\" style=\"display:none;\">\r\n <h2>"); 2214 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2215 WriteLiteral("</h2>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2216 BeginWriteAttribute("src", " src=\"", 206099, "\"", 206105, 0); 2217 EndWriteAttribute(); 2218 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2219 </div> 2220 <div class=""col-6""> 2221 <p class=""js-maegler-name""></p> 2222 <p class=""js-maegler-address""></p> 2223 <p class=""js-maegler-phone""></p> 2224 <p class=""js-maegler-mail""></p> 2225 </div> 2226 </div> 2227 <p>"); 2228 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2229 WriteLiteral(@"</p> 2230 </div> 2231 </div> 2232 2233 <!--ÅBENT HUS--> 2234 <div id=""panel-aabenthus"" class=""panel panel-form""> 2235 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2236 <b></b> 2237 </button> 2238 2239 2240 <form id=""form-aabenthus"" method=""POST"" action=""/InboxHandler""> 2241 <h2>"); 2242 Write(Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")); 2243 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>"); 2244 Write(Translate("Smarptage:Adresse", "Adresse:")); 2245 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>"); 2246 Write(Translate("Smarptage:Date", "Dato:")); 2247 WriteLiteral("</strong> <label class=\"js-aabenthus-date mb-0\"></label>\r\n </div>\r\n <div class=\"d-block mb-4\">\r\n <strong>"); 2248 Write(Translate("Smarptage:Time", "Tidspunkt:")); 2249 WriteLiteral("</strong> <label class=\"js-aabenthus-time mb-0\"></label>\r\n </div>\r\n <h3>"); 2250 Write(Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")); 2251 WriteLiteral("</h3>\r\n <div class=\"form-group\">\r\n <label for=\"aabenthus-name\"><strong>"); 2252 Write(Translate("form-navn", "Navn")); 2253 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2254 BeginWriteAttribute("placeholder", " placeholder=\'", 207723, "\'", 207807, 1); 2255 WriteAttributeValue("", 207737, Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn"), 207737, 70, false); 2256 EndWriteAttribute(); 2257 BeginWriteAttribute("value", " value=\'", 207808, "\'", 207848, 1); 2258 WriteAttributeValue("", 207816, UserContext.Current?.User?.Name, 207816, 32, false); 2259 EndWriteAttribute(); 2260 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2261 Write(Translate("form-email", "E-mail")); 2262 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\""); 2263 BeginWriteAttribute("placeholder", " placeholder=\'", 208112, "\'", 208199, 1); 2264 WriteAttributeValue("", 208126, Translate("Smartpage:Aabenthus.Placeholder.Email", "Indtast din e-mail"), 208126, 73, false); 2265 EndWriteAttribute(); 2266 BeginWriteAttribute("value", " value=\'", 208200, "\'", 208240, 1); 2267 WriteAttributeValue("", 208208, UserContext.Current.User?.Email, 208208, 32, false); 2268 EndWriteAttribute(); 2269 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2270 Write(Translate("form-mobile", "Mobil nr.")); 2271 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2272 BeginWriteAttribute("placeholder", " placeholder=\'", 208533, "\'", 208620, 1); 2273 WriteAttributeValue("", 208547, Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr."), 208547, 73, false); 2274 EndWriteAttribute(); 2275 BeginWriteAttribute("value", " value=\'", 208621, "\'", 208661, 1); 2276 WriteAttributeValue("", 208629, UserContext.Current.User?.Phone, 208629, 32, false); 2277 EndWriteAttribute(); 2278 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2279 Write(Translate("form-telephone", "Telefon nr.")); 2280 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2281 BeginWriteAttribute("placeholder", " placeholder=\'", 208931, "\'", 209017, 1); 2282 WriteAttributeValue("", 208945, Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr."), 208945, 72, false); 2283 EndWriteAttribute(); 2284 BeginWriteAttribute("value", " value=\'", 209018, "\'", 209058, 1); 2285 WriteAttributeValue("", 209026, UserContext.Current.User?.Phone, 209026, 32, false); 2286 EndWriteAttribute(); 2287 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\">"); 2288 Write(Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")); 2289 WriteLiteral(@"</button> 2290 </div> 2291 </div> 2292 </div> 2293 <div class=""form-group""> 2294 <div class=""checkbox""> 2295 <label> 2296 <input type=""checkbox"" name=""kontaktmigok"" required /> 2297 2298 <span class=""base-color"">"); 2299 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2300 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n "); 2301 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>")); 2302 WriteLiteral("\r\n\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"ah\" />\r\n <input type=\"hidden\" name=\"origin\""); 2303 BeginWriteAttribute("value", " value=\"", 210221, "\"", 210229, 0); 2304 EndWriteAttribute(); 2305 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2306 BeginWriteAttribute("value", " value=\"", 210279, "\"", 210294, 1); 2307 WriteAttributeValue("", 210287, userID, 210287, 7, false); 2308 EndWriteAttribute(); 2309 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2310 BeginWriteAttribute("value", " value=\"", 210342, "\"", 210366, 1); 2311 WriteAttributeValue("", 210350, Pageview.AreaID, 210350, 16, false); 2312 EndWriteAttribute(); 2313 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\""); 2314 BeginWriteAttribute("value", " value=\"", 210415, "\"", 210431, 1); 2315 WriteAttributeValue("", 210423, butikId, 210423, 8, false); 2316 EndWriteAttribute(); 2317 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsaddresse\""); 2318 BeginWriteAttribute("value", " value=\"", 210485, "\"", 210493, 0); 2319 EndWriteAttribute(); 2320 WriteLiteral(" class=\"js-aabenthus-address-input\" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2321 BeginWriteAttribute("value", " value=\"", 210582, "\"", 210590, 0); 2322 EndWriteAttribute(); 2323 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2324 BeginWriteAttribute("value", " value=\"", 210641, "\"", 210649, 0); 2325 EndWriteAttribute(); 2326 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2327 BeginWriteAttribute("value", " value=\"", 210699, "\"", 210707, 0); 2328 EndWriteAttribute(); 2329 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2330 BeginWriteAttribute("value", " value=\"", 210757, "\"", 210765, 0); 2331 EndWriteAttribute(); 2332 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsnr\""); 2333 BeginWriteAttribute("value", " value=\"", 210813, "\"", 210821, 0); 2334 EndWriteAttribute(); 2335 WriteLiteral(" class=\"js-sagsnr\" />\r\n <input type=\"hidden\" name=\"productId\""); 2336 BeginWriteAttribute("value", " value=\"", 210890, "\"", 210946, 1); 2337 WriteAttributeValue("", 210898, Dynamicweb.Context.Current.Request["ProductId"], 210898, 48, false); 2338 EndWriteAttribute(); 2339 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"aftaleid\""); 2340 BeginWriteAttribute("value", " value=\"", 210996, "\"", 211004, 0); 2341 EndWriteAttribute(); 2342 WriteLiteral(@" class=""js-aftaleid"" /> 2343 2344 <input type=""hidden"" name=""dateMail"" class=""js-aabenthus-date-input"" /> 2345 <input type=""hidden"" name=""timeMail"" class=""js-aabenthus-time-input"" /> 2346 <input type=""hidden"" name=""brokerImageMail"" class=""property-broker-image-input"" /> 2347 <input type=""hidden"" name=""employeeNameMail"" class=""js-maegler-employee-name-input"" /> 2348 <input type=""hidden"" name=""employeeTitleMail"" class=""js-maegler-employee-title-input"" /> 2349 <input type=""hidden"" name=""employeeMailMail"" class=""js-maegler-mail-input"" /> 2350 <input type=""hidden"" name=""employeeMobileMail"" class=""js-maegler-mobile-input"" /> 2351 <input type=""hidden"" name=""employeePhoneMail"" class=""js-maegler-phone-input"" /> 2352 2353 <input type=""hidden"" name=""brokerNameMail"" class=""js-broker-name-input"" /> 2354 <input type=""hidden"" name=""brokerAddressMail"" class=""js-broker-address-input"" /> 2355 <input type=""hidden"" name=""brokerPhoneMail"" class=""js-broker-phone-input"" /> 2356 </form> 2357 <di"); 2358 WriteLiteral("v id=\"tak-aabenthus\" style=\"display:none;\">\r\n <h2>"); 2359 Write(Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")); 2360 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>"); 2361 Write(Translate("Smarptage:Adresse", "Adresse:")); 2362 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>"); 2363 Write(Translate("Smarptage:Date", "Dato:")); 2364 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>"); 2365 Write(Translate("Smarptage:Time", "Tidspunkt:")); 2366 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>"); 2367 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>")); 2368 WriteLiteral("</p>\r\n </div>\r\n <div class=\"js-not-employee\">\r\n <p>"); 2369 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")); 2370 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\""); 2371 BeginWriteAttribute("style", " style=\"", 213396, "\"", 213404, 0); 2372 EndWriteAttribute(); 2373 WriteLiteral(@"></div> 2374 2375 </div> 2376 </div> 2377 <div class=""col-12""> 2378 <div class=""bg-base""> 2379 2380 <div class=""js-employee""> 2381 <h4 class=""js-maegler-employee-name""></h4> 2382 <div class=""icon-container""> 2383 <i class=""fas fa-envelope""></i> <span class=""js-maegler-mail""></span> 2384 </div> 2385 <div class=""icon-container""> 2386 <i class=""fas fa-phone""></i> <span class=""js-maegler-mobile""></span> 2387 </div> 2388 </div> 2389 2390 2391 <h4 class=""js-maegler-name""></h4> 2392 <div class=""icon-container""> 2393 <i class=""fas fa-map-marker-alt""></i> <span class=""js-maegler-address""></span> 2394 </div> 2395 <div class=""icon-container""> 2396 <i class=""fas fa-phone""></i> <span class=""js-maegler-phone""></span>"); 2397 WriteLiteral(@" 2398 2399 </div> 2400 <a class=""btn btn-border"" onclick=""panelKontaktmaeglerGuldkoeber()"">KONTAKT MÆGLER</a> 2401 </div> 2402 </div> 2403 </div> 2404 </div> 2405 </div> 2406 2407 <!-- KONTAKT GULDKØBER --> 2408 <div id=""panel-kontakt-guldkoeber"" class=""panel panel-form""> 2409 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2410 <b></b> 2411 </button> 2412 <h2>"); 2413 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")); 2414 WriteLiteral("</h2>\r\n <form id=\"form-kontaktmaegler\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>"); 2415 Write(Translate("form-navn", "Navn")); 2416 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2417 BeginWriteAttribute("placeholder", " placeholder=\'", 215189, "\'", 215234, 1); 2418 WriteAttributeValue("", 215203, Translate("form-navn", "Navn"), 215203, 31, false); 2419 EndWriteAttribute(); 2420 BeginWriteAttribute("value", " value=\'", 215235, "\'", 215274, 1); 2421 WriteAttributeValue("", 215243, UserContext.Current.User?.Name, 215243, 31, false); 2422 EndWriteAttribute(); 2423 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2424 Write(Translate("form-email", "E-mail")); 2425 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\""); 2426 BeginWriteAttribute("placeholder", " placeholder=\'", 215538, "\'", 215586, 1); 2427 WriteAttributeValue("", 215552, Translate("form-email", "E-mail"), 215552, 34, false); 2428 EndWriteAttribute(); 2429 BeginWriteAttribute("value", " value=\'", 215587, "\'", 215627, 1); 2430 WriteAttributeValue("", 215595, UserContext.Current.User?.Email, 215595, 32, false); 2431 EndWriteAttribute(); 2432 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2433 Write(Translate("form-mobile", "Mobil nr.")); 2434 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2435 BeginWriteAttribute("placeholder", " placeholder=\'", 215925, "\'", 216010, 1); 2436 WriteAttributeValue("", 215939, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 215939, 71, false); 2437 EndWriteAttribute(); 2438 BeginWriteAttribute("value", " value=\'", 216011, "\'", 216051, 1); 2439 WriteAttributeValue("", 216019, UserContext.Current.User?.Phone, 216019, 32, false); 2440 EndWriteAttribute(); 2441 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2442 Write(Translate("form-telephone", "Telefon nr.")); 2443 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2444 BeginWriteAttribute("placeholder", " placeholder=\'", 216321, "\'", 216405, 1); 2445 WriteAttributeValue("", 216335, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 216335, 70, false); 2446 EndWriteAttribute(); 2447 BeginWriteAttribute("value", " value=\'", 216406, "\'", 216446, 1); 2448 WriteAttributeValue("", 216414, UserContext.Current.User?.Phone, 216414, 32, false); 2449 EndWriteAttribute(); 2450 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2451 Write(Translate("form-zip", "Post nr")); 2452 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\""); 2453 BeginWriteAttribute("placeholder", " placeholder=\'", 216762, "\'", 216840, 1); 2454 WriteAttributeValue("", 216776, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 216776, 64, false); 2455 EndWriteAttribute(); 2456 BeginWriteAttribute("value", " value=\"", 216841, "\"", 216857, 1); 2457 WriteAttributeValue("", 216849, userZip, 216849, 8, false); 2458 EndWriteAttribute(); 2459 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2460 Write(Translate("form-city", "By")); 2461 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>"); 2462 Write(Translate("form-adresse", "Adresse")); 2463 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\""); 2464 BeginWriteAttribute("placeholder", " placeholder=\'", 217413, "\'", 217503, 1); 2465 WriteAttributeValue("", 217427, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 217427, 76, false); 2466 EndWriteAttribute(); 2467 BeginWriteAttribute("value", " value=\"", 217504, "\"", 217524, 1); 2468 WriteAttributeValue("", 217512, userAddress, 217512, 12, false); 2469 EndWriteAttribute(); 2470 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2471 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2472 WriteLiteral("</label>\r\n </div>\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\""); 2473 BeginWriteAttribute("placeholder", " placeholder=\'", 217850, "\'", 217928, 1); 2474 WriteAttributeValue("", 217864, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 217864, 64, false); 2475 EndWriteAttribute(); 2476 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>"); 2477 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2478 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\">"); 2479 Write(Translate("KontaktMægler", "Kontakt Mægler")); 2480 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2481 Write(privacyPolicyText); 2482 WriteLiteral(" <a"); 2483 BeginWriteAttribute("href", " href=\"", 218714, "\"", 218738, 2); 2484 WriteAttributeValue("", 218721, "mailto:", 218721, 7, true); 2485 WriteAttributeValue("", 218728, termsMail, 218728, 10, false); 2486 EndWriteAttribute(); 2487 WriteLiteral(">"); 2488 Write(termsMail); 2489 WriteLiteral("</a>.\r\n Læs mere på <a"); 2490 BeginWriteAttribute("href", " href=\"", 218783, "\"", 218817, 1); 2491 WriteAttributeValue("", 218790, settings_Persondatapolitik, 218790, 27, false); 2492 EndWriteAttribute(); 2493 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"gk\" />\r\n <input type=\"hidden\" name=\"origin\""); 2494 BeginWriteAttribute("value", " value=\"", 218960, "\"", 218968, 0); 2495 EndWriteAttribute(); 2496 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2497 BeginWriteAttribute("value", " value=\"", 219018, "\"", 219033, 1); 2498 WriteAttributeValue("", 219026, userID, 219026, 7, false); 2499 EndWriteAttribute(); 2500 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2501 BeginWriteAttribute("value", " value=\"", 219081, "\"", 219105, 1); 2502 WriteAttributeValue("", 219089, Pageview.AreaID, 219089, 16, false); 2503 EndWriteAttribute(); 2504 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\""); 2505 BeginWriteAttribute("value", " value=\"", 219154, "\"", 219170, 1); 2506 WriteAttributeValue("", 219162, butikId, 219162, 8, false); 2507 EndWriteAttribute(); 2508 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2509 BeginWriteAttribute("value", " value=\"", 219224, "\"", 219232, 0); 2510 EndWriteAttribute(); 2511 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2512 BeginWriteAttribute("value", " value=\"", 219283, "\"", 219291, 0); 2513 EndWriteAttribute(); 2514 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2515 BeginWriteAttribute("value", " value=\"", 219341, "\"", 219349, 0); 2516 EndWriteAttribute(); 2517 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2518 BeginWriteAttribute("value", " value=\"", 219399, "\"", 219407, 0); 2519 EndWriteAttribute(); 2520 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-maegler-guldkoeber\" style=\"display:none;\">\r\n <h2>"); 2521 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2522 WriteLiteral("</h2>\r\n <p>"); 2523 Write(Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")); 2524 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2525 BeginWriteAttribute("src", " src=\"", 219769, "\"", 219775, 0); 2526 EndWriteAttribute(); 2527 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2528 </div> 2529 <div class=""col-6""> 2530 <p class=""js-maegler-name""></p> 2531 <p class=""js-maegler-address""></p> 2532 <p class=""js-maegler-phone""></p> 2533 <p class=""js-maegler-mail""></p> 2534 </div> 2535 </div> 2536 <p>"); 2537 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2538 WriteLiteral(@"</p> 2539 </div> 2540 </div> 2541 2542 <!-- BESTIL SALGSVURDERING --> 2543 <div id=""panel-salgsvurdering"" class=""panel panel-form""> 2544 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2545 <b></b> 2546 </button> 2547 2548 <form id=""bestil-salgsvurdering"" class=""buyer-advisor-form js-buyer-advisor-form"" method=""POST"" action=""/InboxHandler""> 2549 <h2 class=""js-buyer-advisor-header"">"); 2550 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")); 2551 WriteLiteral("</h2>\r\n <p>"); 2552 Write(Translate("form-salgsvurdering-beskrivelse", "")); 2553 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2554 Write(Translate("form-navn", "Navn")); 2555 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2556 BeginWriteAttribute("placeholder", " placeholder=\'", 220932, "\'", 221021, 1); 2557 WriteAttributeValue("", 220946, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 220946, 75, false); 2558 EndWriteAttribute(); 2559 BeginWriteAttribute("value", " value=\'", 221022, "\'", 221061, 1); 2560 WriteAttributeValue("", 221030, UserContext.Current.User?.Name, 221030, 31, false); 2561 EndWriteAttribute(); 2562 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2563 Write(Translate("form-email", "E-mail")); 2564 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\""); 2565 BeginWriteAttribute("placeholder", " placeholder=\'", 221325, "\'", 221417, 1); 2566 WriteAttributeValue("", 221339, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 221339, 78, false); 2567 EndWriteAttribute(); 2568 BeginWriteAttribute("value", " value=\'", 221418, "\'", 221458, 1); 2569 WriteAttributeValue("", 221426, UserContext.Current.User?.Email, 221426, 32, false); 2570 EndWriteAttribute(); 2571 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2572 Write(Translate("form-mobile", "Mobil nr.")); 2573 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2574 BeginWriteAttribute("placeholder", " placeholder=\'", 221756, "\'", 221848, 1); 2575 WriteAttributeValue("", 221770, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 221770, 78, false); 2576 EndWriteAttribute(); 2577 BeginWriteAttribute("value", " value=\'", 221849, "\'", 221889, 1); 2578 WriteAttributeValue("", 221857, UserContext.Current.User?.Phone, 221857, 32, false); 2579 EndWriteAttribute(); 2580 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2581 Write(Translate("form-telephone", "Telefon nr.")); 2582 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2583 BeginWriteAttribute("placeholder", " placeholder=\'", 222159, "\'", 222250, 1); 2584 WriteAttributeValue("", 222173, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 222173, 77, false); 2585 EndWriteAttribute(); 2586 BeginWriteAttribute("value", " value=\'", 222251, "\'", 222291, 1); 2587 WriteAttributeValue("", 222259, UserContext.Current.User?.Phone, 222259, 32, false); 2588 EndWriteAttribute(); 2589 WriteLiteral(" />\r\n </div>\r\n\r\n </div>\r\n\r\n <h3>"); 2590 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")); 2591 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2592 Write(Translate("form-zip", "Post nr")); 2593 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\""); 2594 BeginWriteAttribute("placeholder", " placeholder=\'", 222711, "\'", 222789, 1); 2595 WriteAttributeValue("", 222725, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 222725, 64, false); 2596 EndWriteAttribute(); 2597 BeginWriteAttribute("value", " value=\"", 222790, "\"", 222806, 1); 2598 WriteAttributeValue("", 222798, userZip, 222798, 8, false); 2599 EndWriteAttribute(); 2600 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2601 Write(Translate("form-city", "By")); 2602 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>"); 2603 Write(Translate("form-adresse", "Adresse")); 2604 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\""); 2605 BeginWriteAttribute("placeholder", " placeholder=\'", 223360, "\'", 223450, 1); 2606 WriteAttributeValue("", 223374, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 223374, 76, false); 2607 EndWriteAttribute(); 2608 BeginWriteAttribute("value", " value=\"", 223451, "\"", 223471, 1); 2609 WriteAttributeValue("", 223459, userAddress, 223459, 12, false); 2610 EndWriteAttribute(); 2611 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2612 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2613 WriteLiteral(@"</label> 2614 </div> 2615 2616 <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""> 2617 <strong class=""f-12""><i class=""fas fa-plus""></i> "); 2618 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")); 2619 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\""); 2620 BeginWriteAttribute("placeholder", " placeholder=\'", 224241, "\'", 224319, 1); 2621 WriteAttributeValue("", 224255, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 224255, 64, false); 2622 EndWriteAttribute(); 2623 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>"); 2624 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")); 2625 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\""); 2626 BeginWriteAttribute("id", " id=\"", 224765, "\"", 224770, 0); 2627 EndWriteAttribute(); 2628 WriteLiteral(" name=\"choose-broker\""); 2629 BeginWriteAttribute("value", " value=\"", 224792, "\"", 224800, 0); 2630 EndWriteAttribute(); 2631 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\""); 2632 BeginWriteAttribute("for", " for=\"", 224866, "\"", 224872, 0); 2633 EndWriteAttribute(); 2634 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"); 2635 BeginWriteAttribute("src", " src=\"", 225118, "\"", 225124, 0); 2636 EndWriteAttribute(); 2637 WriteLiteral(@" class=""img-fluid js-broker-image""> 2638 </div> 2639 <div class=""col-6""> 2640 <span class=""d-block""> 2641 <strong class=""js-choose-broker-name""></strong> 2642 </span> 2643 <span class=""js-choose-broker-address""></span> 2644 <input type=""hidden"" class=""js-choose-broker-phone"""); 2645 BeginWriteAttribute("value", " value=\"", 225536, "\"", 225544, 0); 2646 EndWriteAttribute(); 2647 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\""); 2648 BeginWriteAttribute("value", " value=\"", 225625, "\"", 225633, 0); 2649 EndWriteAttribute(); 2650 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\">"); 2651 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")); 2652 WriteLiteral(@"</h3> 2653 <div class=""js-choose-broker col-12""> 2654 </div> 2655 2656 </div> 2657 2658 <div class=""form-group mt-4""> 2659 <div class=""checkbox""> 2660 <label> 2661 <input type=""checkbox"" name=""kontaktmigok"" required /> 2662 2663 <span class=""consent-checkbox"">"); 2664 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2665 WriteLiteral(@"</span> 2666 2667 </label> 2668 </div> 2669 </div> 2670 <div class=""form-group""> 2671 <div class=""row""> 2672 <div class=""col-12""> 2673 <button type=""submit"" class=""btn btn-green btn-block js-buyer-advisor-button"">"); 2674 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")); 2675 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2676 Write(privacyPolicyText); 2677 WriteLiteral(" <a"); 2678 BeginWriteAttribute("href", " href=\"", 226793, "\"", 226817, 2); 2679 WriteAttributeValue("", 226800, "mailto:", 226800, 7, true); 2680 WriteAttributeValue("", 226807, termsMail, 226807, 10, false); 2681 EndWriteAttribute(); 2682 WriteLiteral(">"); 2683 Write(termsMail); 2684 WriteLiteral("</a>.\r\n Læs mere på <a"); 2685 BeginWriteAttribute("href", " href=\"", 226862, "\"", 226896, 1); 2686 WriteAttributeValue("", 226869, settings_Persondatapolitik, 226869, 27, false); 2687 EndWriteAttribute(); 2688 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\""); 2689 BeginWriteAttribute("value", " value=\"", 227073, "\"", 227081, 0); 2690 EndWriteAttribute(); 2691 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2692 BeginWriteAttribute("value", " value=\"", 227131, "\"", 227146, 1); 2693 WriteAttributeValue("", 227139, userID, 227139, 7, false); 2694 EndWriteAttribute(); 2695 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2696 BeginWriteAttribute("value", " value=\"", 227194, "\"", 227218, 1); 2697 WriteAttributeValue("", 227202, Pageview.AreaID, 227202, 16, false); 2698 EndWriteAttribute(); 2699 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning\" name=\"boligvisning\""); 2700 BeginWriteAttribute("value", " value=\"", 227290, "\"", 227298, 0); 2701 EndWriteAttribute(); 2702 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-butikid\" name=\"butikId\""); 2703 BeginWriteAttribute("value", " value=\"", 227381, "\"", 227389, 0); 2704 EndWriteAttribute(); 2705 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-sagsnr\" name=\"sagsnr\""); 2706 BeginWriteAttribute("value", " value=\"", 227470, "\"", 227478, 0); 2707 EndWriteAttribute(); 2708 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\""); 2709 BeginWriteAttribute("value", " value=\"", 227529, "\"", 227585, 1); 2710 WriteAttributeValue("", 227537, Dynamicweb.Context.Current.Request["ProductId"], 227537, 48, false); 2711 EndWriteAttribute(); 2712 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2713 BeginWriteAttribute("value", " value=\"", 227639, "\"", 227647, 0); 2714 EndWriteAttribute(); 2715 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2716 BeginWriteAttribute("value", " value=\"", 227698, "\"", 227706, 0); 2717 EndWriteAttribute(); 2718 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2719 BeginWriteAttribute("value", " value=\"", 227756, "\"", 227764, 0); 2720 EndWriteAttribute(); 2721 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2722 BeginWriteAttribute("value", " value=\"", 227814, "\"", 227822, 0); 2723 EndWriteAttribute(); 2724 WriteLiteral(" />\r\n <input class=\"js-value-check\" type=\"hidden\" name=\"valueCheck\""); 2725 BeginWriteAttribute("value", " value=\"", 227897, "\"", 227905, 0); 2726 EndWriteAttribute(); 2727 WriteLiteral(" />\r\n <input class=\"js-green-appraisal\" type=\"hidden\" name=\"greenAppraisal\""); 2728 BeginWriteAttribute("value", " value=\"", 227988, "\"", 227996, 0); 2729 EndWriteAttribute(); 2730 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>"); 2731 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2732 WriteLiteral("</h2>\r\n <p>"); 2733 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")); 2734 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2735 BeginWriteAttribute("src", " src=\"", 228358, "\"", 228364, 0); 2736 EndWriteAttribute(); 2737 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2738 </div> 2739 <div class=""col-6""> 2740 <p class=""js-maegler-name""></p> 2741 <p class=""js-maegler-address""></p> 2742 <p class=""js-maegler-phone""></p> 2743 <p class=""js-maegler-mail""></p> 2744 </div> 2745 </div> 2746 <p>"); 2747 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2748 WriteLiteral(@"</p> 2749 </div> 2750 </div> 2751 2752 <!-- BESTIL SALGSVURDERING GULDKØBER --> 2753 <div id=""panel-salgsvurdering-guldkoeber"" class=""panel panel-form""> 2754 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2755 <b></b> 2756 </button> 2757 2758 <form id=""bestil-salgsvurdering-guldkoeber"" method=""POST"" action=""/InboxHandler""> 2759 <h2>"); 2760 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")); 2761 WriteLiteral("</h2>\r\n <p>"); 2762 Write(Translate("form-salgsvurdering-beskrivelse", "")); 2763 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2764 Write(Translate("form-navn", "Navn")); 2765 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2766 BeginWriteAttribute("placeholder", " placeholder=\'", 229472, "\'", 229561, 1); 2767 WriteAttributeValue("", 229486, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 229486, 75, false); 2768 EndWriteAttribute(); 2769 BeginWriteAttribute("value", " value=\'", 229562, "\'", 229601, 1); 2770 WriteAttributeValue("", 229570, UserContext.Current.User?.Name, 229570, 31, false); 2771 EndWriteAttribute(); 2772 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2773 Write(Translate("form-email", "E-mail")); 2774 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\""); 2775 BeginWriteAttribute("placeholder", " placeholder=\'", 229865, "\'", 229957, 1); 2776 WriteAttributeValue("", 229879, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 229879, 78, false); 2777 EndWriteAttribute(); 2778 BeginWriteAttribute("value", " value=\'", 229958, "\'", 229998, 1); 2779 WriteAttributeValue("", 229966, UserContext.Current.User?.Email, 229966, 32, false); 2780 EndWriteAttribute(); 2781 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2782 Write(Translate("form-telephone", "Telefon nr.")); 2783 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2784 BeginWriteAttribute("placeholder", " placeholder=\'", 230307, "\'", 230398, 1); 2785 WriteAttributeValue("", 230321, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 230321, 77, false); 2786 EndWriteAttribute(); 2787 BeginWriteAttribute("value", " value=\'", 230399, "\'", 230439, 1); 2788 WriteAttributeValue("", 230407, UserContext.Current.User?.Phone, 230407, 32, false); 2789 EndWriteAttribute(); 2790 WriteLiteral(" />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2791 Write(Translate("form-mobile", "Mobil nr.")); 2792 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2793 BeginWriteAttribute("placeholder", " placeholder=\'", 230689, "\'", 230781, 1); 2794 WriteAttributeValue("", 230703, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 230703, 78, false); 2795 EndWriteAttribute(); 2796 BeginWriteAttribute("value", " value=\'", 230782, "\'", 230822, 1); 2797 WriteAttributeValue("", 230790, UserContext.Current.User?.Phone, 230790, 32, false); 2798 EndWriteAttribute(); 2799 WriteLiteral(" required />\r\n </div>\r\n </div>\r\n\r\n <h3>"); 2800 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")); 2801 WriteLiteral("</h3>\r\n\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2802 Write(Translate("form-zip", "Post nr")); 2803 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\""); 2804 BeginWriteAttribute("placeholder", " placeholder=\'", 231251, "\'", 231329, 1); 2805 WriteAttributeValue("", 231265, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 231265, 64, false); 2806 EndWriteAttribute(); 2807 BeginWriteAttribute("value", " value=\"", 231330, "\"", 231346, 1); 2808 WriteAttributeValue("", 231338, userZip, 231338, 8, false); 2809 EndWriteAttribute(); 2810 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2811 Write(Translate("form-city", "By")); 2812 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>"); 2813 Write(Translate("form-adresse", "Adresse")); 2814 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\""); 2815 BeginWriteAttribute("placeholder", " placeholder=\'", 231900, "\'", 231990, 1); 2816 WriteAttributeValue("", 231914, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 231914, 76, false); 2817 EndWriteAttribute(); 2818 BeginWriteAttribute("value", " value=\"", 231991, "\"", 232011, 1); 2819 WriteAttributeValue("", 231999, userAddress, 231999, 12, false); 2820 EndWriteAttribute(); 2821 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2822 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2823 WriteLiteral(@"</label> 2824 </div> 2825 2826 <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""> 2827 <strong class=""f-12""><i class=""fas fa-plus""></i> "); 2828 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")); 2829 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\""); 2830 BeginWriteAttribute("placeholder", " placeholder=\'", 232781, "\'", 232859, 1); 2831 WriteAttributeValue("", 232795, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 232795, 64, false); 2832 EndWriteAttribute(); 2833 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>"); 2834 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")); 2835 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\""); 2836 BeginWriteAttribute("id", " id=\"", 233303, "\"", 233308, 0); 2837 EndWriteAttribute(); 2838 WriteLiteral(" name=\"choose-broker-gk\""); 2839 BeginWriteAttribute("value", " value=\"", 233333, "\"", 233341, 0); 2840 EndWriteAttribute(); 2841 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\""); 2842 BeginWriteAttribute("for", " for=\"", 233407, "\"", 233413, 0); 2843 EndWriteAttribute(); 2844 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"); 2845 BeginWriteAttribute("src", " src=\"", 233659, "\"", 233665, 0); 2846 EndWriteAttribute(); 2847 WriteLiteral(@" class=""img-fluid js-broker-image""> 2848 </div> 2849 <div class=""col-6""> 2850 <span class=""d-block""> 2851 <strong class=""js-choose-broker-name""></strong> 2852 </span> 2853 <span class=""js-choose-broker-address""></span> 2854 <input type=""hidden"" class=""js-choose-broker-phone"""); 2855 BeginWriteAttribute("value", " value=\"", 234077, "\"", 234085, 0); 2856 EndWriteAttribute(); 2857 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\""); 2858 BeginWriteAttribute("value", " value=\"", 234166, "\"", 234174, 0); 2859 EndWriteAttribute(); 2860 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\">"); 2861 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")); 2862 WriteLiteral(@"</h3> 2863 <div class=""js-choose-broker col-12""> 2864 </div> 2865 2866 </div> 2867 2868 2869 <div class=""form-group""> 2870 <div class=""row""> 2871 <div class=""col-12""> 2872 <button type=""submit"" class=""btn btn-green btn-block"">"); 2873 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")); 2874 WriteLiteral(@"</button> 2875 </div> 2876 </div> 2877 </div> 2878 <div class=""form-group""> 2879 <div class=""checkbox""> 2880 <label> 2881 <input type=""checkbox"" name=""kontaktmigok"" required /> 2882 2883 <span>"); 2884 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2885 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2886 Write(privacyPolicyText); 2887 WriteLiteral(" <a"); 2888 BeginWriteAttribute("href", " href=\"", 235282, "\"", 235306, 2); 2889 WriteAttributeValue("", 235289, "mailto:", 235289, 7, true); 2890 WriteAttributeValue("", 235296, termsMail, 235296, 10, false); 2891 EndWriteAttribute(); 2892 WriteLiteral(">"); 2893 Write(termsMail); 2894 WriteLiteral("</a>.\r\n Læs mere på <a"); 2895 BeginWriteAttribute("href", " href=\"", 235351, "\"", 235385, 1); 2896 WriteAttributeValue("", 235358, settings_Persondatapolitik, 235358, 27, false); 2897 EndWriteAttribute(); 2898 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\""); 2899 BeginWriteAttribute("value", " value=\"", 235562, "\"", 235570, 0); 2900 EndWriteAttribute(); 2901 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2902 BeginWriteAttribute("value", " value=\"", 235620, "\"", 235635, 1); 2903 WriteAttributeValue("", 235628, userID, 235628, 7, false); 2904 EndWriteAttribute(); 2905 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2906 BeginWriteAttribute("value", " value=\"", 235683, "\"", 235707, 1); 2907 WriteAttributeValue("", 235691, Pageview.AreaID, 235691, 16, false); 2908 EndWriteAttribute(); 2909 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning-gk\" name=\"boligvisning\""); 2910 BeginWriteAttribute("value", " value=\"", 235782, "\"", 235790, 0); 2911 EndWriteAttribute(); 2912 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-butikid\" name=\"butikId\""); 2913 BeginWriteAttribute("value", " value=\"", 235876, "\"", 235884, 0); 2914 EndWriteAttribute(); 2915 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-sagsnr\" name=\"sagsnr\""); 2916 BeginWriteAttribute("value", " value=\"", 235968, "\"", 235976, 0); 2917 EndWriteAttribute(); 2918 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\""); 2919 BeginWriteAttribute("value", " value=\"", 236027, "\"", 236083, 1); 2920 WriteAttributeValue("", 236035, Dynamicweb.Context.Current.Request["ProductId"], 236035, 48, false); 2921 EndWriteAttribute(); 2922 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2923 BeginWriteAttribute("value", " value=\"", 236137, "\"", 236145, 0); 2924 EndWriteAttribute(); 2925 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2926 BeginWriteAttribute("value", " value=\"", 236196, "\"", 236204, 0); 2927 EndWriteAttribute(); 2928 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2929 BeginWriteAttribute("value", " value=\"", 236254, "\"", 236262, 0); 2930 EndWriteAttribute(); 2931 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2932 BeginWriteAttribute("value", " value=\"", 236312, "\"", 236320, 0); 2933 EndWriteAttribute(); 2934 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>"); 2935 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2936 WriteLiteral("</h2>\r\n <p>"); 2937 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")); 2938 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2939 BeginWriteAttribute("src", " src=\"", 236682, "\"", 236688, 0); 2940 EndWriteAttribute(); 2941 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2942 </div> 2943 <div class=""col-6""> 2944 <p class=""js-maegler-name""></p> 2945 <p class=""js-maegler-address""></p> 2946 <p class=""js-maegler-phone""></p> 2947 <p class=""js-maegler-mail""></p> 2948 </div> 2949 </div> 2950 <p>"); 2951 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2952 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"); 2953 2954 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js")); 2955 WriteLiteral(" <script type=\"text/javascript\""); 2956 BeginWriteAttribute("src", " src=\'", 237489, "\'", 237593, 3); 2957 WriteAttributeValue("", 237495, TemplateUrl, 237495, 14, false); 2958 WriteAttributeValue("", 237509, "assets/webpack/js/3rdparty/viamapstrap.js?", 237509, 42, true); 2959 WriteAttributeValue("", 237551, viamapstrapFileInfo.LastWriteTime.Ticks, 237551, 42, false); 2960 EndWriteAttribute(); 2961 WriteLiteral(" async></script>\r\n"); 2962 2963 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js")); 2964 WriteLiteral(" <script type=\"text/javascript\""); 2965 BeginWriteAttribute("src", " src=\'", 237796, "\'", 237883, 3); 2966 WriteAttributeValue("", 237802, TemplateUrl, 237802, 14, false); 2967 WriteAttributeValue("", 237816, "assets/dist/bundle.app.min.js?", 237816, 30, true); 2968 WriteAttributeValue("", 237846, bundleFileInfo.LastWriteTime.Ticks, 237846, 37, false); 2969 EndWriteAttribute(); 2970 WriteLiteral(" async></script>\r\n"); 2971 WriteLiteral("\r\n "); 2972 Write(RenderSnippet("JavaScriptBottom")); 2973 WriteLiteral("\r\n\r\n"); 2974 if (Context.Current.Request.QueryString["ShowLogin"] == "true") 2975 { 2976 WriteLiteral(" <input class=\"js-showLogin\" value=\"true\" />\r\n"); 2977 } 2978 WriteLiteral("\r\n"); 2979 if (!string.IsNullOrEmpty(settings_ConduzeId)) 2980 { 2981 WriteLiteral(" <script type=\"text/javascript\" id=\"conduze-sdk\""); 2982 BeginWriteAttribute("src", " src=\"", 238207, "\"", 238268, 3); 2983 WriteAttributeValue("", 238213, "https://cdn.conduze.com/", 238213, 24, true); 2984 WriteAttributeValue("", 238237, settings_ConduzeId, 238237, 19, false); 2985 WriteAttributeValue("", 238256, "/tracking.js", 238256, 12, true); 2986 EndWriteAttribute(); 2987 WriteLiteral(" async></script>\r\n"); 2988 } 2989 WriteLiteral("\r\n"); 2990 if (!string.IsNullOrEmpty(settings_Weply)) 2991 { 2992 WriteLiteral(" <script"); 2993 BeginWriteAttribute("src", " src=\"", 238367, "\"", 238418, 2); 2994 WriteAttributeValue("", 238373, "https://app.weply.chat/widget/", 238373, 30, true); 2995 WriteAttributeValue("", 238403, settings_Weply, 238403, 15, false); 2996 EndWriteAttribute(); 2997 WriteLiteral(" async></script>\r\n"); 2998 } 2999 WriteLiteral("\r\n</body>\r\n</html>\r\n\r\n"); 3000 } 3001 #pragma warning restore 1998 3002 3003 void RenderErhvervsTypeCheckboxes(string productGroupFilter) 3004 { 3005 WriteLiteral(@" <div class=""col-xs-6 col-md-4""> 3006 <div class=""checkbox""> 3007 <label> 3008 <input type=""checkbox"" name=""propertytype"" value=""bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)"" /> 3009 <span>Bolig/erhverv</span> 3010 </label> 3011 </div> 3012 <div class=""checkbox""> 3013 <label> 3014 <input type=""checkbox"" name=""propertytype"" value=""erhvervsgrund"" /> 3015 <span>Erhvervsgrund</span> 3016 </label> 3017 </div> 3018 <div class=""checkbox""> 3019 <label> 3020 <input type=""checkbox"" name=""propertytype"" value=""boligudlejning"" /> 3021 <span>Boligudlejningsejendom</span> 3022 </label> 3023 </div> 3024 <div class=""checkbox""> 3025 <label> 3026 <input type=""checkbox"" name=""propertytype"" value=""kontor, klinik, kontorhotel, showroom, under"); 3027 WriteLiteral(@"visningslokaler"" /> 3028 <span>Kontor</span> 3029 </label> 3030 </div> 3031 </div> 3032 <div class=""col-xs-6 col-md-4""> 3033 <div class=""checkbox""> 3034 <label> 3035 <input type=""checkbox"" name=""propertytype"" value=""butik / detail, butik / detailhandel"" /> 3036 <span>Butik/detailhandel</span> 3037 </label> 3038 </div> 3039 <div class=""checkbox""> 3040 <label> 3041 <input type=""checkbox"" name=""propertytype"" value=""industri / logistik, håndværk, industri, kontor / lager, logistik"" /> 3042 <span>Produktion/lager</span> 3043 </label> 3044 </div> 3045 <div class=""checkbox""> 3046 <label> 3047 <input type=""checkbox"" name=""propertytype"" value=""hotel - kursusejendom, restaurant"" /> 3048 <span>Hotel og restaurant</span> 3049 </label> 3050 </div> 3051 <div c"); 3052 WriteLiteral(@"lass=""checkbox""> 3053 <label> 3054 <input type=""checkbox"" name=""propertytype"" value=""projekt ejendom"" /> 3055 <span>Projektejendom</span> 3056 </label> 3057 </div> 3058 </div> 3059 <div class=""col-xs-6 col-md-4""> 3060 <div class=""checkbox""> 3061 <label> 3062 <input type=""checkbox"" name=""propertytype"" value=""andet"" /> 3063 <span>Andet</span> 3064 </label> 3065 </div> 3066 </div> 3067 "); 3068 WriteLiteral(" <input type=\"hidden\" name=\"propertycategory\" value=\"erhverv, udlejning\" />\r\n <input type=\"hidden\" name=\"filtrering\""); 3069 BeginWriteAttribute("value", " value=\"", 3445, "\"", 3472, 1); 3070 WriteAttributeValue("", 3453, productGroupFilter, 3453, 19, false); 3071 EndWriteAttribute(); 3072 WriteLiteral(" />\r\n"); 3073 } 3074 void RenderBoligtypeCheckboxes() 3075 { 3076 WriteLiteral(@" <div class=""col-6 col-md-4""> 3077 <div class=""checkbox""> 3078 <label> 3079 <input type=""checkbox"" name=""propertytype"" value=""villa"" /> 3080 <span>Villa</span> 3081 </label> 3082 </div> 3083 <div class=""checkbox""> 3084 <label> 3085 <input type=""checkbox"" name=""propertytype"" value=""rækkehus"" /> 3086 <span>Rækkehus</span> 3087 </label> 3088 </div> 3089 <div class=""checkbox""> 3090 <label> 3091 <input type=""checkbox"" name=""propertytype"" value=""villalejlighed"" /> 3092 <span>Villalejlighed</span> 3093 </label> 3094 </div> 3095 <div class=""checkbox""> 3096 <label> 3097 <input type=""checkbox"" name=""propertytype"" value=""andelsbolig"" /> 3098 <span>Andelsbolig</span> 3099 </label> 3100 </div> 3101 </div> 3102 <div class=""co"); 3103 WriteLiteral(@"l-6 col-md-4""> 3104 <div class=""checkbox""> 3105 <label> 3106 <input type=""checkbox"" name=""propertytype"" value=""fritidshus, fritidsbolig"" /> 3107 <span>Fritidsbolig</span> 3108 </label> 3109 </div> 3110 <div class=""checkbox""> 3111 <label> 3112 <input type=""checkbox"" name=""propertytype"" value=""ejerlejlighed"" class=""specialOption"" data-disable-slider=""#grundareal"" data-disable-slider-ranges=""#grundarealmin,#grundarealmax"" /> 3113 <span>Ejerlejlighed</span> 3114 </label> 3115 </div> 3116 <div class=""checkbox""> 3117 <label> 3118 <input type=""checkbox"" name=""propertytype"" value=""helårsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" /> 3119 <span>Helårsgrund</span> 3120 </label> 3121 </div> 3122 <div "); 3123 WriteLiteral(@"class=""checkbox""> 3124 <label> 3125 <input type=""checkbox"" name=""propertytype"" value=""fritidsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" /> 3126 <span>Fritidsgrund</span> 3127 </label> 3128 </div> 3129 </div> 3130 <div class=""col-6 col-md-4""> 3131 <div class=""checkbox""> 3132 <label> 3133 <input type=""checkbox"" name=""propertytype"" value=""landejendom, lystejendom"" class=""specialOption"" data-disable-checkbox=""true"" /> 3134 <span>Landejendom</span> 3135 </label> 3136 </div> 3137 <div class=""checkbox""> 3138 <label> 3139 <input type=""checkbox"" name=""propertytype"" value=""erhverv"" class=""specialOption"" data-disable-checkbox=""true"" data-disable-slider=""#roomsslider"" data-disable-slider-ranges=""#roomsmin"" /> 3140 <span>Erhverv<"); 3141 WriteLiteral("/span>\r\n </label>\r\n </div>\r\n </div>\r\n"); 3142 } 3143 3144 void RenderChecked(string queryString) 3145 { 3146 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString) 3147 { 3148 Write("checked"); 3149 3150 } 3151 } 3152 3153 void RenderBoligtypeCheckboxesDropdown() 3154 { 3155 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){ 3156 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" }, 3157 { "Andelsbolig", "andelsbolig" } 3158 }; 3159 foreach (KeyValuePair<string, string> type in propertyTypes) 3160 { 3161 bool ischecked = false; 3162 string[] propertytypeSplit = new string[0]; 3163 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"])) 3164 { 3165 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(','); 3166 } 3167 foreach (var propertytypeParams in propertytypeSplit) 3168 { 3169 if (propertytypeParams == type.Value) 3170 { 3171 ischecked = true; 3172 } 3173 } 3174 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3175 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3176 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertytype\""); 3177 BeginWriteAttribute("value", " value=\"", 8068, "\"", 8087, 1); 3178 WriteAttributeValue("", 8076, type.Value, 8076, 11, false); 3179 EndWriteAttribute(); 3180 WriteLiteral(" class=\"js-input-check datavalue js-datavalue js-count\" data-val=\""); 3181 Write(type.Key); 3182 WriteLiteral("\" onchange=\"submitFilter()\""); 3183 BeginWriteAttribute("checked", " checked=\"", 8190, "\"", 8210, 1); 3184 WriteAttributeValue("", 8200, ischecked, 8200, 10, false); 3185 EndWriteAttribute(); 3186 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3187 } 3188 3189 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){ 3190 { "Fritidsbolig", "fritidshus, fritidsbolig" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" }, 3191 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" } 3192 }; 3193 foreach (KeyValuePair<string, string> type in propertyTypes2) 3194 { 3195 bool ischecked = false; 3196 string[] propertytypeSplit2 = new string[0]; 3197 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"])) 3198 { 3199 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(','); 3200 } 3201 foreach (var propertytypeParams in propertytypeSplit2) 3202 { 3203 if (propertytypeParams == type.Value) 3204 { 3205 ischecked = true; 3206 } 3207 } 3208 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3209 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3210 WriteLiteral("\r\n"); 3211 if (type.Value == "ejerlejlighed") 3212 { 3213 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3214 BeginWriteAttribute("value", " value=\"", 9634, "\"", 9653, 1); 3215 WriteAttributeValue("", 9642, type.Value, 9642, 11, false); 3216 EndWriteAttribute(); 3217 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#grundareal\" data-disable-slider-ranges=\"#grundarealmin,#grundarealmax\" data-val=\""); 3218 Write(type.Key); 3219 WriteLiteral("\" onchange=\"submitFilter()\""); 3220 BeginWriteAttribute("checked", " checked=\"", 9827, "\"", 9847, 1); 3221 WriteAttributeValue("", 9837, ischecked, 9837, 10, false); 3222 EndWriteAttribute(); 3223 WriteLiteral(" />\r\n"); 3224 } 3225 else if (type.Value == "helårsgrund") 3226 { 3227 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3228 BeginWriteAttribute("value", " value=\"", 10024, "\"", 10043, 1); 3229 WriteAttributeValue("", 10032, type.Value, 10032, 11, false); 3230 EndWriteAttribute(); 3231 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\""); 3232 Write(type.Key); 3233 WriteLiteral("\" onchange=\"submitFilter()\""); 3234 BeginWriteAttribute("checked", " checked=\"", 10240, "\"", 10260, 1); 3235 WriteAttributeValue("", 10250, ischecked, 10250, 10, false); 3236 EndWriteAttribute(); 3237 WriteLiteral(" />\r\n"); 3238 } 3239 else if (type.Value == "fritidsgrund") 3240 { 3241 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3242 BeginWriteAttribute("value", " value=\"", 10438, "\"", 10457, 1); 3243 WriteAttributeValue("", 10446, type.Value, 10446, 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=\"", 10654, "\"", 10674, 1); 3249 WriteAttributeValue("", 10664, ischecked, 10664, 10, false); 3250 EndWriteAttribute(); 3251 WriteLiteral(" />\r\n"); 3252 } 3253 else 3254 { 3255 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3256 BeginWriteAttribute("value", " value=\"", 10818, "\"", 10837, 1); 3257 WriteAttributeValue("", 10826, type.Value, 10826, 11, false); 3258 EndWriteAttribute(); 3259 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\""); 3260 Write(type.Key); 3261 WriteLiteral("\" onchange=\"submitFilter()\""); 3262 BeginWriteAttribute("checked", " checked=\"", 10918, "\"", 10938, 1); 3263 WriteAttributeValue("", 10928, ischecked, 10928, 10, false); 3264 EndWriteAttribute(); 3265 WriteLiteral(" />\r\n"); 3266 } 3267 WriteLiteral(" <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3268 } 3269 } 3270 3271 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false) 3272 { 3273 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3274 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" }, 3275 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" } 3276 }; 3277 var submitonchange = ""; 3278 if (submitOnChange) 3279 { 3280 submitonchange = "onchange='submitFilter()'"; 3281 } 3282 3283 foreach (KeyValuePair<string, string> type in erhverType) 3284 { 3285 string ischecked = ""; 3286 string[] olineParamsSplit = new string[0]; 3287 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"])) 3288 { 3289 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(','); 3290 } 3291 foreach (var olineParams in olineParamsSplit) 3292 { 3293 if (olineParams == type.Value) 3294 { 3295 ischecked = "checked"; 3296 } 3297 } 3298 3299 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3300 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3301 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\""); 3302 BeginWriteAttribute("value", " value=\"", 12582, "\"", 12601, 1); 3303 WriteAttributeValue("", 12590, type.Value, 12590, 11, false); 3304 EndWriteAttribute(); 3305 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\""); 3306 Write(type.Key); 3307 WriteLiteral("\" "); 3308 Write(submitonchange); 3309 WriteLiteral(" "); 3310 Write(ischecked); 3311 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3312 } 3313 } 3314 3315 void RenderBoligTypeErhvervInvest(bool submitOnChange = false) 3316 { 3317 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3318 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" }, 3319 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" } 3320 }; 3321 3322 foreach (KeyValuePair<string, string> type in erhverType) 3323 { 3324 bool ischecked = false; 3325 string[] olineParamsSplit = new string[0]; 3326 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"])) 3327 { 3328 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(','); 3329 } 3330 foreach (var olineParams in olineParamsSplit) 3331 { 3332 if (olineParams == type.Value) 3333 { 3334 ischecked = true; 3335 } 3336 } 3337 3338 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n "); 3339 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3340 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\""); 3341 BeginWriteAttribute("value", " value=\"", 14192, "\"", 14211, 1); 3342 WriteAttributeValue("", 14200, type.Value, 14200, 11, false); 3343 EndWriteAttribute(); 3344 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\""); 3345 Write(type.Key); 3346 WriteLiteral("\" onchange=\"submitFilter()\""); 3347 BeginWriteAttribute("checked", " checked=\"", 14292, "\"", 14312, 1); 3348 WriteAttributeValue("", 14302, ischecked, 14302, 10, false); 3349 EndWriteAttribute(); 3350 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3351 } 3352 } 3353 int GetWebsiteSettingsPageId(string pageSysName) 3354 { 3355 int sideId = 0; 3356 3357 var pw = Dynamicweb.Frontend.PageView.Current(); 3358 3359 string settingsItemId = "1"; 3360 3361 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true") 3362 { 3363 settingsItemId = "2"; 3364 } 3365 3366 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId); 3367 3368 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName)) 3369 { 3370 return sideId; 3371 } 3372 3373 string boligsideLink = settingsItem[pageSysName] as String; 3374 string linkPrefix = "Default.aspx?ID="; 3375 3376 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower())) 3377 { 3378 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId); 3379 } 3380 3381 return sideId; 3382 } 3383 3384 int GetPageSettingsPageId(string pageSysName) 3385 { 3386 int sideId = 0; 3387 3388 var pw = Dynamicweb.Frontend.PageView.Current(); 3389 3390 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName)) 3391 { 3392 return sideId; 3393 } 3394 3395 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String; 3396 string linkPrefix = "Default.aspx?ID="; 3397 3398 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower())) 3399 { 3400 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId); 3401 } 3402 3403 return sideId; 3404 } 3405 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname) 3406 { 3407 WriteLiteral(" <select"); 3408 BeginWriteAttribute("class", " class=\"", 16255, "\"", 16310, 5); 3409 WriteAttributeValue("", 16263, "form-control", 16263, 12, true); 3410 WriteAttributeValue(" ", 16275, "d-block", 16276, 8, true); 3411 WriteAttributeValue(" ", 16283, "d-lg-none", 16284, 10, true); 3412 WriteAttributeValue(" ", 16293, "mb-10", 16294, 6, true); 3413 WriteAttributeValue(" ", 16299, className, 16300, 10, false); 3414 EndWriteAttribute(); 3415 WriteLiteral(" onchange=\"submitFilter()\""); 3416 BeginWriteAttribute("name", " name=\"", 16337, "\"", 16354, 1); 3417 WriteAttributeValue("", 16344, inputname, 16344, 10, false); 3418 EndWriteAttribute(); 3419 WriteLiteral(">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3420 Write(Translate("Smartpage:Search.Placeholder." + name + "", "" + name + "")); 3421 WriteLiteral("</option>\r\n\r\n"); 3422 for (var i = 0; i <= max; i += step) 3423 { 3424 var selected = string.Empty; 3425 var current = string.Empty; 3426 if (i == max) 3427 { 3428 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i)) 3429 { 3430 WriteLiteral(" <option"); 3431 BeginWriteAttribute("value", " value=\"", 16950, "\"", 16960, 1); 3432 WriteAttributeValue("", 16958, i, 16958, 2, false); 3433 EndWriteAttribute(); 3434 WriteLiteral(" data-value=\'"); 3435 Write(Convert.ToInt32(i).ToString("N0")); 3436 WriteLiteral("\' selected=\"selected\">"); 3437 Write(Convert.ToInt32(i).ToString("N0")); 3438 WriteLiteral("+</option>\r\n"); 3439 } 3440 else 3441 { 3442 WriteLiteral(" <option"); 3443 BeginWriteAttribute("value", " value=\"", 17179, "\"", 17189, 1); 3444 WriteAttributeValue("", 17187, i, 17187, 2, false); 3445 EndWriteAttribute(); 3446 WriteLiteral(" data-value=\'"); 3447 Write(Convert.ToInt32(i).ToString("N0")); 3448 WriteLiteral("\'>"); 3449 Write(Convert.ToInt32(i).ToString("N0")); 3450 WriteLiteral("+</option>\r\n"); 3451 } 3452 } 3453 else 3454 { 3455 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i)) 3456 { 3457 WriteLiteral(" <option"); 3458 BeginWriteAttribute("value", " value=\"", 17613, "\"", 17623, 1); 3459 WriteAttributeValue("", 17621, i, 17621, 2, false); 3460 EndWriteAttribute(); 3461 WriteLiteral(" data-value=\'"); 3462 Write(Convert.ToInt32(i).ToString("N0")); 3463 WriteLiteral("\' selected=\"selected\">"); 3464 Write(Convert.ToInt32(i).ToString("N0")); 3465 WriteLiteral("</option>\r\n"); 3466 } 3467 else 3468 { 3469 WriteLiteral(" <option"); 3470 BeginWriteAttribute("value", " value=\"", 17841, "\"", 17851, 1); 3471 WriteAttributeValue("", 17849, i, 17849, 2, false); 3472 EndWriteAttribute(); 3473 WriteLiteral(" data-value=\'"); 3474 Write(Convert.ToInt32(i).ToString("N0")); 3475 WriteLiteral("\'>"); 3476 Write(Convert.ToInt32(i).ToString("N0")); 3477 WriteLiteral("</option>\r\n"); 3478 } 3479 } 3480 } 3481 WriteLiteral(" </select>\r\n"); 3482 } 3483 3484 void RenderTopFilter(string parameter) 3485 { 3486 if (parameter == "pricemin" || parameter == "pricemax") 3487 { 3488 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"])) 3489 { 3490 if (parameter == "pricemin") 3491 { 3492 Write("<div class='search-terms' id='priceFilter'>"); 3493 Write("Pris "); 3494 Write(Dynamicweb.Context.Current.Request[parameter]); 3495 3496 } 3497 3498 else 3499 { 3500 Write(" - "); 3501 Write(Dynamicweb.Context.Current.Request[parameter]); 3502 Write(" kr."); 3503 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"pricemin,pricemax\"></i>\r\n"); 3504 Write("</div>"); 3505 3506 } 3507 } 3508 } 3509 3510 else if (parameter == "subsidymin" || parameter == "subsidymax") 3511 { 3512 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"])) 3513 { 3514 if (parameter == "subsidymin") 3515 { 3516 Write("<div class='search-terms' id='subsidyFilter'>"); 3517 Write("Årlig leje "); 3518 Write(Dynamicweb.Context.Current.Request[parameter]); 3519 3520 } 3521 3522 else 3523 { 3524 Write(" - "); 3525 Write(Dynamicweb.Context.Current.Request[parameter]); 3526 Write(" kr."); 3527 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidymin,subsidymax\"></i>\r\n"); 3528 Write("</div>"); 3529 3530 } 3531 } 3532 } 3533 else if (parameter == "etagearealmin" || parameter == "etagearealmax") 3534 { 3535 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"])) 3536 { 3537 if (parameter == "etagearealmin") 3538 { 3539 Write("<div class='search-terms' id='etagearealFilter'>"); 3540 Write("Etageareal "); 3541 Write(Dynamicweb.Context.Current.Request[parameter]); 3542 3543 } 3544 3545 else 3546 { 3547 Write(" - "); 3548 Write(Dynamicweb.Context.Current.Request[parameter]); 3549 Write(" kvm."); 3550 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"etagearealmin,etagearealmax\"></i>\r\n"); 3551 Write("</div>"); 3552 3553 } 3554 } 3555 } 3556 3557 else if (parameter == "grundarealmin" || parameter == "grundarealmax") 3558 { 3559 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"])) 3560 { 3561 if (parameter == "grundarealmin") 3562 { 3563 Write("<div class='search-terms' id='grundarealFilter'>"); 3564 Write("Grundareal "); 3565 Write(Dynamicweb.Context.Current.Request[parameter]); 3566 3567 } 3568 3569 else 3570 { 3571 Write(" - "); 3572 Write(Dynamicweb.Context.Current.Request[parameter]); 3573 Write(" kvm."); 3574 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"grundarealmin,grundarealmax\"></i>\r\n"); 3575 Write("</div>"); 3576 3577 } 3578 } 3579 } 3580 3581 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax") 3582 { 3583 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"])) 3584 { 3585 if (parameter == "subsidykvmmin") 3586 { 3587 Write("<div class='search-terms' id='subsidykvmFilter'>"); 3588 Write("Årlig leje kvm "); 3589 Write(Dynamicweb.Context.Current.Request[parameter]); 3590 3591 } 3592 3593 else 3594 { 3595 Write(" - "); 3596 Write(Dynamicweb.Context.Current.Request[parameter]); 3597 Write(" kr."); 3598 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidykvmmin,subsidykvmmax\"></i>\r\n"); 3599 Write("</div>"); 3600 3601 } 3602 } 3603 } 3604 3605 else if (parameter == "olinecategory") 3606 { 3607 3608 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"])) 3609 { 3610 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3611 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" }, 3612 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"}, 3613 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" }, 3614 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" } 3615 }; 3616 3617 3618 foreach (var er in erhverType) 3619 { 3620 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key)) 3621 { 3622 WriteLiteral(" <div class=\"search-terms\""); 3623 BeginWriteAttribute("id", " id=\"", 23021, "\"", 23036, 1); 3624 WriteAttributeValue("", 23026, parameter, 23026, 10, false); 3625 EndWriteAttribute(); 3626 WriteLiteral(">\r\n "); 3627 Write(er.Value); 3628 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3629 Write(parameter); 3630 WriteLiteral("\" data-val=\""); 3631 Write(er.Key); 3632 WriteLiteral("\"></i>\r\n </div>\r\n"); 3633 } 3634 } 3635 } 3636 } 3637 else if (parameter == "search") 3638 { 3639 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"])) 3640 { 3641 WriteLiteral(" <div class=\"search-terms\""); 3642 BeginWriteAttribute("id", " id=\"", 23484, "\"", 23499, 1); 3643 WriteAttributeValue("", 23489, parameter, 23489, 10, false); 3644 EndWriteAttribute(); 3645 WriteLiteral(">\r\n "); 3646 Write(Dynamicweb.Context.Current.Request[parameter]); 3647 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3648 Write(parameter); 3649 WriteLiteral("\"></i>\r\n </div>\r\n"); 3650 } 3651 } 3652 else 3653 { 3654 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter])) 3655 { 3656 Dictionary<string, string> 3657 ubudsform = new Dictionary<string, string> 3658 (){ 3659 {"salg", "Salg" }, { "leje","Leje" } 3660 }; 3661 3662 foreach (var er in ubudsform) 3663 { 3664 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key)) 3665 { 3666 WriteLiteral(" <div class=\"search-terms\""); 3667 BeginWriteAttribute("id", " id=\"", 24648, "\"", 24663, 1); 3668 WriteAttributeValue("", 24653, parameter, 24653, 10, false); 3669 EndWriteAttribute(); 3670 WriteLiteral(">\r\n "); 3671 Write(er.Value); 3672 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3673 Write(parameter); 3674 WriteLiteral("\" data-val=\""); 3675 Write(er.Key); 3676 WriteLiteral("\"></i>\r\n </div>\r\n"); 3677 } 3678 } 3679 3680 3681 } 3682 } 3683 } 3684 3685 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString) 3686 { 3687 var selected = ""; 3688 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue) 3689 { 3690 selected = "selected"; 3691 } 3692 3693 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected); 3694 3695 Write(current); 3696 3697 } 3698 3699 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "") 3700 { 3701 WriteLiteral(" <div"); 3702 BeginWriteAttribute("class", " class=\"", 25667, "\"", 25713, 3); 3703 WriteAttributeValue("", 25675, "main-search-form", 25675, 16, true); 3704 WriteAttributeValue(" ", 25691, "frontpage", 25692, 10, true); 3705 WriteAttributeValue(" ", 25701, cssClasses, 25702, 11, false); 3706 EndWriteAttribute(); 3707 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>"); 3708 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 3709 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>"); 3710 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")); 3711 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\""); 3712 BeginWriteAttribute("value", " value=\'", 26428, "\'", 26449, 1); 3713 WriteAttributeValue("", 26436, searchPageId, 26436, 13, false); 3714 EndWriteAttribute(); 3715 WriteLiteral(@" id=""searchPageId-frontpage"" disabled=""disabled"" /> 3716 <div class=""row form-wrapper no-gutters""> 3717 3718 <div class=""col-xs-12 col-md-5 col-searchbar""> 3719 <div class=""searchbar""> 3720 <input type=""text"""); 3721 BeginWriteAttribute("name", " name=\"", 26727, "\"", 26754, 1); 3722 WriteAttributeValue("", 26734, querySearchNameAttr, 26734, 20, false); 3723 EndWriteAttribute(); 3724 WriteLiteral(" id=\"searchfield-frontpage\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\""); 3725 BeginWriteAttribute("value", " value=\"", 26867, "\"", 26945, 1); 3726 WriteAttributeValue("", 26875, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 26875, 70, false); 3727 EndWriteAttribute(); 3728 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom-frontpage\" name=\"zipcodefrom\""); 3729 BeginWriteAttribute("value", " value=\"", 27045, "\"", 27128, 1); 3730 WriteAttributeValue("", 27053, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 27053, 75, false); 3731 EndWriteAttribute(); 3732 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto-frontpage\" name=\"zipcodeto\""); 3733 BeginWriteAttribute("value", " value=\"", 27224, "\"", 27305, 1); 3734 WriteAttributeValue("", 27232, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 27232, 73, false); 3735 EndWriteAttribute(); 3736 WriteLiteral(@" /> 3737 </div> 3738 </div> 3739 <div class=""col-xs-12 col-md-5""> 3740 <div class=""row no-gutters""> 3741 <div class=""col-xs-12 col-md-6 input-col""> 3742 <div class=""dropdown w-overlay""> 3743 <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""> 3744 "); 3745 Write(Translate("Smartpage:Search.Boligtype", "Boligtype")); 3746 WriteLiteral(@" 3747 </button> 3748 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 3749 <ul class=""bolig-dropdown list-unstyled""> 3750 "); 3751 3752 RenderBoligtypeCheckboxesDropdown(); 3753 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 3754 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 3755 WriteLiteral(@"</button> 3756 </div> 3757 3758 </div> 3759 3760 </div> 3761 <div class=""col-xs-12 col-md-6 input-col""> 3762 <div class=""dropdown w-overlay""> 3763 <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""> 3764 "); 3765 Write(Translate("Smartpage:Search.Pris", "Pris")); 3766 WriteLiteral(@" 3767 </button> 3768 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris""> 3769 <input type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input"""); 3770 BeginWriteAttribute("placeholder", " placeholder=\'", 29484, "\'", 29560, 1); 3771 WriteAttributeValue("", 29498, Translate("Smartpage:Search.Placeholder.MinPris","Min. pris"), 29498, 62, false); 3772 EndWriteAttribute(); 3773 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3774 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")); 3775 WriteLiteral("</option>\r\n"); 3776 for (var i = 0; i <= 10000000; i += 100000) 3777 { 3778 if (i == 10000000) 3779 { 3780 WriteLiteral(" <option"); 3781 BeginWriteAttribute("value", " value=\"", 30169, "\"", 30179, 1); 3782 WriteAttributeValue("", 30177, i, 30177, 2, false); 3783 EndWriteAttribute(); 3784 WriteLiteral(" data-value=\'"); 3785 Write(Convert.ToInt32(i).ToString("N0")); 3786 WriteLiteral("+\'>"); 3787 Write(Convert.ToInt32(i).ToString("N0")); 3788 WriteLiteral("+</option>\r\n"); 3789 } 3790 else 3791 { 3792 WriteLiteral(" <option"); 3793 BeginWriteAttribute("value", " value=\"", 30491, "\"", 30501, 1); 3794 WriteAttributeValue("", 30499, i, 30499, 2, false); 3795 EndWriteAttribute(); 3796 WriteLiteral(" data-value=\'"); 3797 Write(Convert.ToInt32(i).ToString("N0")); 3798 WriteLiteral("\'>"); 3799 Write(Convert.ToInt32(i).ToString("N0")); 3800 WriteLiteral("</option>\r\n"); 3801 } 3802 } 3803 WriteLiteral(@" </select> 3804 <input type=""hidden"" id=""pricemin-frontpage"" name=""pricemin"" /> 3805 3806 <input type=""text"" class=""form-control js-auto-thousand js-pricemax-frontpage-input"""); 3807 BeginWriteAttribute("placeholder", " placeholder=\'", 30976, "\'", 31052, 1); 3808 WriteAttributeValue("", 30990, Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris"), 30990, 62, false); 3809 EndWriteAttribute(); 3810 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3811 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")); 3812 WriteLiteral("</option>\r\n"); 3813 for (var i = 0; i <= 10000000; i += 100000) 3814 { 3815 if (i == 10000000) 3816 { 3817 WriteLiteral(" <option"); 3818 BeginWriteAttribute("value", " value=\"", 31655, "\"", 31665, 1); 3819 WriteAttributeValue("", 31663, i, 31663, 2, false); 3820 EndWriteAttribute(); 3821 WriteLiteral(" data-value=\'"); 3822 Write(Convert.ToInt32(i).ToString("N0")); 3823 WriteLiteral("+\'>"); 3824 Write(Convert.ToInt32(i).ToString("N0")); 3825 WriteLiteral("+</option>\r\n"); 3826 } 3827 else 3828 { 3829 WriteLiteral(" <option"); 3830 BeginWriteAttribute("value", " value=\"", 31977, "\"", 31987, 1); 3831 WriteAttributeValue("", 31985, i, 31985, 2, false); 3832 EndWriteAttribute(); 3833 WriteLiteral(" data-value=\'"); 3834 Write(Convert.ToInt32(i).ToString("N0")); 3835 WriteLiteral("\'>"); 3836 Write(Convert.ToInt32(i).ToString("N0")); 3837 WriteLiteral("</option>\r\n"); 3838 } 3839 } 3840 WriteLiteral(" </select>\r\n <input type=\"hidden\" id=\"pricemax-frontpage\" name=\"pricemax\" />\r\n <button class=\"btn btn-primary js-close-dropdown mt-3\">"); 3841 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 3842 WriteLiteral(@"</button> 3843 </div> 3844 </div> 3845 </div> 3846 </div> 3847 </div> 3848 <div class=""col-xs-12 col-md-2 d-none d-md-block""> 3849 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 3850 Write(Translate("Smartpage:Search.Søg", "Søg")); 3851 WriteLiteral(@"</button> 3852 </div> 3853 </div> 3854 3855 <div class=""row moresearch-btn no-gutters""> 3856 <div class=""col-sm-12""> 3857 <div class=""row align-items-center no-gutters""> 3858 <div class=""col-12 col-md-4""> 3859 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch"" aria-expanded=""false"" aria-controls=""moreSearch""> 3860 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open"">"); 3861 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")); 3862 WriteLiteral("</span> <span class=\"open\"><span class=\"js-filter-count\">0</span> "); 3863 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt")); 3864 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\">"); 3865 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg")); 3866 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch\">\r\n <h4 class=\"mt-20\"><b>"); 3867 Write(Translate("Smartpage:Search.Bolig", "Bolig")); 3868 WriteLiteral(@"</b></h4> 3869 <div class=""row align-items-end mb-30""> 3870 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 3871 <div class=""filter-container row""> 3872 <label class=""d-block col-12"">"); 3873 Write(Translate("Smartpage:Search.Boligareal", "Boligareal")); 3874 WriteLiteral(@"</label> 3875 <div class=""col-6 pr-sm-0 pr-2""> 3876 <input type=""text"" name=""boligarealmin"" id=""boligarealmin-frontpage"" class=""form-control js-boligarealmin-frontpage-input js-count"""); 3877 BeginWriteAttribute("placeholder", " placeholder=\'", 34853, "\'", 34925, 1); 3878 WriteAttributeValue("", 34867, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 34867, 58, false); 3879 EndWriteAttribute(); 3880 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3881 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 3882 WriteLiteral("</option>\r\n"); 3883 for (var i = 0; i <= 300; i += 10) 3884 { 3885 if (i == 300) 3886 { 3887 WriteLiteral(" <option"); 3888 BeginWriteAttribute("value", " value=\"", 35532, "\"", 35542, 1); 3889 WriteAttributeValue("", 35540, i, 35540, 2, false); 3890 EndWriteAttribute(); 3891 WriteLiteral(">"); 3892 Write(i); 3893 WriteLiteral("+</option>\r\n"); 3894 } 3895 else 3896 { 3897 WriteLiteral(" <option"); 3898 BeginWriteAttribute("value", " value=\"", 35789, "\"", 35799, 1); 3899 WriteAttributeValue("", 35797, i, 35797, 2, false); 3900 EndWriteAttribute(); 3901 WriteLiteral(">"); 3902 Write(i); 3903 WriteLiteral("</option>\r\n"); 3904 } 3905 } 3906 WriteLiteral(@" </select> 3907 </div> 3908 <div class=""col-6 pl-sm-0 pl-2""> 3909 <input type=""text"" name=""boligarealmax"" id=""boligarealmax-frontpage"" class=""form-control js-boligarealmax-frontpage-input js-count"""); 3910 BeginWriteAttribute("placeholder", " placeholder=\'", 36272, "\'", 36344, 1); 3911 WriteAttributeValue("", 36286, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 36286, 58, false); 3912 EndWriteAttribute(); 3913 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3914 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 3915 WriteLiteral("</option>\r\n"); 3916 for (var i = 0; i <= 300; i += 10) 3917 { 3918 if (i == 300) 3919 { 3920 WriteLiteral(" <option"); 3921 BeginWriteAttribute("value", " value=\"", 36951, "\"", 36961, 1); 3922 WriteAttributeValue("", 36959, i, 36959, 2, false); 3923 EndWriteAttribute(); 3924 WriteLiteral(">"); 3925 Write(i); 3926 WriteLiteral("+</option>\r\n"); 3927 } 3928 else 3929 { 3930 WriteLiteral(" <option"); 3931 BeginWriteAttribute("value", " value=\"", 37208, "\"", 37218, 1); 3932 WriteAttributeValue("", 37216, i, 37216, 2, false); 3933 EndWriteAttribute(); 3934 WriteLiteral(">"); 3935 Write(i); 3936 WriteLiteral("</option>\r\n"); 3937 } 3938 } 3939 WriteLiteral(@" </select> 3940 </div> 3941 </div> 3942 </div> 3943 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 3944 <div class=""filter-container row""> 3945 <label class=""d-block col-12"">"); 3946 Write(Translate("Smartpage:Search.Grundareal", "Grundareal")); 3947 WriteLiteral(@"</label> 3948 <div class=""col-6 pr-sm-0 pr-2""> 3949 <input type=""text"" name=""grundarealmin"" id=""grundarealmin-frontpage"" class=""form-control js-grundarealmin-frontpage-input js-count"""); 3950 BeginWriteAttribute("placeholder", " placeholder=\'", 38067, "\'", 38139, 1); 3951 WriteAttributeValue("", 38081, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 38081, 58, false); 3952 EndWriteAttribute(); 3953 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3954 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 3955 WriteLiteral("</option>\r\n"); 3956 for (var i = 0; i <= 10000; i += 100) 3957 { 3958 if (i == 10000) 3959 { 3960 WriteLiteral(" <option"); 3961 BeginWriteAttribute("value", " value=\"", 38751, "\"", 38761, 1); 3962 WriteAttributeValue("", 38759, i, 38759, 2, false); 3963 EndWriteAttribute(); 3964 WriteLiteral(">"); 3965 Write(i); 3966 WriteLiteral("+</option>\r\n"); 3967 } 3968 else 3969 { 3970 WriteLiteral(" <option"); 3971 BeginWriteAttribute("value", " value=\"", 39008, "\"", 39018, 1); 3972 WriteAttributeValue("", 39016, i, 39016, 2, false); 3973 EndWriteAttribute(); 3974 WriteLiteral(">"); 3975 Write(i); 3976 WriteLiteral("</option>\r\n"); 3977 } 3978 } 3979 WriteLiteral(@" </select> 3980 </div> 3981 <div class=""col-6 pl-sm-0 pl-2""> 3982 <input type=""text"" name=""grundarealmax"" id=""grundarealmax-frontpage"" class=""form-control js-grundarealmax-frontpage-input js-count"""); 3983 BeginWriteAttribute("placeholder", " placeholder=\'", 39491, "\'", 39563, 1); 3984 WriteAttributeValue("", 39505, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 39505, 58, false); 3985 EndWriteAttribute(); 3986 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3987 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 3988 WriteLiteral("</option>\r\n"); 3989 for (var i = 0; i <= 10000; i += 100) 3990 { 3991 if (i == 10000) 3992 { 3993 WriteLiteral(" <option"); 3994 BeginWriteAttribute("value", " value=\"", 40175, "\"", 40185, 1); 3995 WriteAttributeValue("", 40183, i, 40183, 2, false); 3996 EndWriteAttribute(); 3997 WriteLiteral(">"); 3998 Write(i); 3999 WriteLiteral("+</option>\r\n"); 4000 } 4001 else 4002 { 4003 WriteLiteral(" <option"); 4004 BeginWriteAttribute("value", " value=\"", 40432, "\"", 40442, 1); 4005 WriteAttributeValue("", 40440, i, 40440, 2, false); 4006 EndWriteAttribute(); 4007 WriteLiteral(">"); 4008 Write(i); 4009 WriteLiteral("</option>\r\n"); 4010 } 4011 } 4012 WriteLiteral(@" </select> 4013 </div> 4014 </div> 4015 </div> 4016 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 4017 <div class=""filter-container row""> 4018 <label class=""d-block col-12"">Antal rum</label> 4019 4020 <div class=""col-6 pr-sm-0 pr-2""> 4021 <select name=""roomsmin"" id=""roomsmin-frontpage"" class=""form-control reverse js-count""> 4022 <option selected=""true"" disabled=""disabled"">"); 4023 Write(Translate("Smartpage:Search.Placeholder.Min", "Min")); 4024 WriteLiteral(@"</option> 4025 <option value=""1"">1</option> 4026 <option value=""2"">2</option> 4027 <option value=""3"">3</option> 4028 <option value=""4"">4</option> 4029 <option value=""5+"">5+</option> 4030 </select> 4031 </div> 4032 <div class=""col-6 pl-sm-0 pl-2""> 4033 <select name=""roomsmax"" id=""roomsmax-frontpage"" class=""form-control reverse js-count""> 4034 <option selected=""true"" disabled=""disabled"">"); 4035 Write(Translate("Smartpage:Search.Placeholder.Max", "Max")); 4036 WriteLiteral(@"</option> 4037 <option value=""1"">1</option> 4038 <option value=""2"">2</option> 4039 <option value=""3"">3</option> 4040 <option value=""4"">4</option> 4041 <option value=""5+"">"); 4042 Write(Translate("Smartpage:Rooms.5", "5")); 4043 WriteLiteral(@"</option> 4044 </select> 4045 </div> 4046 </div> 4047 </div> 4048 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 4049 <div class=""row""> 4050 <div class=""col-12""> 4051 <div class=""filter-container""> 4052 <label class=""d-block"">Energimærke</label> 4053 <select name=""energylabel"" id=""energylabel-frontpage"" class=""form-control reverse js-count""> 4054 <option disabled selected=""selected"">"); 4055 Write(Translate("Smartpage:Search.Vælg", "Vælg")); 4056 WriteLiteral(@"</option> 4057 <option value=""01"">G</option> 4058 <option value=""02"">F</option> 4059 <option value=""03"">E</option> 4060 <option value=""04"">D</option> 4061 <option value=""05"">C</option> 4062 <option value=""06"">B</option> 4063 <option value=""07"">A</option> 4064 <option value=""08"">A2010</option> 4065 <option value=""09"">A2015</option> 4066 <option value=""10"">A2020+</option> 4067 </select> 4068 </div> 4069 </div> 4070 "); 4071 WriteLiteral(" </div>\r\n </div>\r\n <div class=\"col-12 col-sm-6 col-lg-3 mt-3\">\r\n <h4"); 4072 BeginWriteAttribute("class", " class=\"", 44687, "\"", 44695, 0); 4073 EndWriteAttribute(); 4074 WriteLiteral("><b>"); 4075 Write(Translate("Smartpage:Search.Økonomi", "Økonomi")); 4076 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">"); 4077 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")); 4078 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\""); 4079 BeginWriteAttribute("placeholder", " placeholder=\'", 45251, "\'", 45325, 1); 4080 WriteAttributeValue("", 45265, Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK"), 45265, 60, false); 4081 EndWriteAttribute(); 4082 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 4083 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")); 4084 WriteLiteral("</option>\r\n"); 4085 for (var i = 0; i <= 25000; i += 1250) 4086 { 4087 if (i == 25000) 4088 { 4089 WriteLiteral(" <option>"); 4090 Write(Convert.ToInt32(i).ToString("N0")); 4091 WriteLiteral("+</option>\r\n"); 4092 } 4093 else 4094 { 4095 WriteLiteral(" <option>"); 4096 Write(Convert.ToInt32(i).ToString("N0")); 4097 WriteLiteral("</option>\r\n"); 4098 } 4099 } 4100 WriteLiteral(@" </select> 4101 </div> 4102 <div class=""col-6 pl-sm-0 pl-2""> 4103 <input type=""text"" name=""subsidymax"" id=""subsidymax-frontpage"" class=""form-control js-subsidymax-frontpage-input js-count"""); 4104 BeginWriteAttribute("placeholder", " placeholder=\'", 46710, "\'", 46784, 1); 4105 WriteAttributeValue("", 46724, Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK"), 46724, 60, false); 4106 EndWriteAttribute(); 4107 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 4108 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")); 4109 WriteLiteral("</option>\r\n"); 4110 for (var i = 0; i <= 25000; i += 1250) 4111 { 4112 if (i == 25000) 4113 { 4114 WriteLiteral(" <option"); 4115 BeginWriteAttribute("value", " value=\"", 47396, "\"", 47423, 1); 4116 WriteAttributeValue("", 47404, Convert.ToInt32(i), 47404, 19, false); 4117 EndWriteAttribute(); 4118 WriteLiteral(">"); 4119 Write(Convert.ToInt32(i).ToString("N0")); 4120 WriteLiteral("+</option>\r\n"); 4121 } 4122 else 4123 { 4124 WriteLiteral(" <option"); 4125 BeginWriteAttribute("value", " value=\"", 47702, "\"", 47729, 1); 4126 WriteAttributeValue("", 47710, Convert.ToInt32(i), 47710, 19, false); 4127 EndWriteAttribute(); 4128 WriteLiteral(">"); 4129 Write(Convert.ToInt32(i).ToString("N0")); 4130 WriteLiteral("</option>\r\n"); 4131 } 4132 } 4133 WriteLiteral(@" </select> 4134 </div> 4135 </div> 4136 </div> 4137 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0""> 4138 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 4139 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")); 4140 WriteLiteral(@"</button> 4141 </div> 4142 </div> 4143 </div> 4144 </div> 4145 </div> 4146 4147 <div class=""row d-block d-md-none form-wrapper no-gutters""> 4148 <div class=""col-xs-12 col-md-2""> 4149 <button type=""submit"" class=""btn btn-block btn-search btn-mobile-search"">"); 4150 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig")); 4151 WriteLiteral(@"<i class=""fa fa-search cta-icon""></i></button> 4152 </div> 4153 </div> 4154 </form> 4155 <div class=""front-page-actions d-md-none""> 4156 <div> 4157 <button class=""btn btn-block btn-search btn-mobile-search js-search-mobile"">"); 4158 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig")); 4159 WriteLiteral("<i class=\"fa fa-search cta-icon\"></i></button>\r\n </div>\r\n <div>\r\n"); 4160 4161 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : ""; 4162 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER"); 4163 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\""); 4164 BeginWriteAttribute("value", " value=\"", 49672, "\"", 49695, 1); 4165 WriteAttributeValue("", 49680, brokerSearchId, 49680, 15, false); 4166 EndWriteAttribute(); 4167 WriteLiteral(@" type=""hidden"" /> 4168 <div class=""icon-wrapper-wclick""> 4169 <i class=""fas fa-search ta-submit-on-icon-click""></i> 4170 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text"""); 4171 BeginWriteAttribute("placeholder", " placeholder=\"", 49999, "\"", 50021, 1); 4172 WriteAttributeValue("", 50013, ctaText, 50013, 8, false); 4173 EndWriteAttribute(); 4174 WriteLiteral(" onfocus=\"this.placeholder = \'\'\""); 4175 BeginWriteAttribute("onblur", " onblur=\"", 50054, "\"", 50090, 3); 4176 WriteAttributeValue("", 50063, "this.placeholder=\'", 50063, 18, true); 4177 WriteAttributeValue("", 50081, ctaText, 50081, 8, false); 4178 WriteAttributeValue("", 50089, "\'", 50089, 1, true); 4179 EndWriteAttribute(); 4180 WriteLiteral(" />\r\n </div>\r\n </form>\r\n"); 4181 WriteLiteral(" </div>\r\n <div>\r\n <a href=\"javascript:panelSalgsvurdering(\'Hovedmenu\')\" class=\"btn btn-orange btn-block\">"); 4182 Write(Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING")); 4183 WriteLiteral("<i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n"); 4184 4185 } 4186 Custom.Integration.Brokers.Models.BrokerEmployee GetBrokerFromCurrentProduct() 4187 { 4188 string productId = Dynamicweb.Context.Current.Request["ProductId"]; 4189 4190 if (string.IsNullOrWhiteSpace(productId)) 4191 { 4192 return null; 4193 } 4194 4195 var propertyProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, string.Empty, true); 4196 if (propertyProduct == null) 4197 { 4198 return null; 4199 } 4200 4201 string employee = Dynamicweb.Core.Converter.ToString( 4202 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xAktoererMaeglerKontaktEmail") 4203 ); 4204 string storeId = Dynamicweb.Core.Converter.ToString( 4205 Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(propertyProduct, "xButikID") 4206 ); 4207 4208 if (string.IsNullOrWhiteSpace(employee) || string.IsNullOrWhiteSpace(storeId)) 4209 { 4210 return null; 4211 } 4212 4213 return Custom.Integration.Brokers.Search.GetEmployee(storeId, employee); 4214 } 4215 4216 string GetAgentTitleFromCurrentProduct() 4217 { 4218 var propBroker = GetBrokerFromCurrentProduct(); 4219 4220 if (propBroker?.Broker == null) 4221 { 4222 return string.Empty; 4223 } 4224 4225 if (!string.IsNullOrEmpty(propBroker.Broker.CompanyName)) 4226 { 4227 return propBroker.Broker.CompanyName; 4228 } 4229 4230 return propBroker.Broker.Name ?? string.Empty; 4231 } 4232 4233 string GetMasterBrokerUrlFromCurrentProduct() 4234 { 4235 var propBroker = GetBrokerFromCurrentProduct(); 4236 4237 var itemId = propBroker?.Broker?.ItemId; 4238 var itemType = propBroker?.Broker?.ItemType; 4239 4240 if (string.IsNullOrWhiteSpace(itemId) || string.IsNullOrWhiteSpace(itemType)) 4241 { 4242 return string.Empty; 4243 } 4244 var brokerItem = Dynamicweb.Content.Items.ItemManager.Storage.GetById(itemType, itemId); 4245 4246 if (brokerItem == null) 4247 { 4248 return string.Empty; 4249 } 4250 4251 var websiteId = Dynamicweb.Core.Converter.ToInt32(brokerItem["WebsiteId"]); 4252 var page = Dynamicweb.Content.Services.Pages.GetFirstPageForArea(websiteId); 4253 return Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("Default.aspx?Id=" + page?.ID); 4254 } 4255 4256 void RenderSlideMenu(bool erhverv, string maeglersoegning) 4257 { 4258 WriteLiteral(" <div id=\"menu\" \r\n class=\"main-menu-slide \"\r\n role=\"navigation\""); 4259 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 53272, "\"", 53388, 1); 4260 WriteAttributeValue("", 53299, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.MainMenu", "Hovedmenu")), 53299, 89, false); 4261 EndWriteAttribute(); 4262 WriteLiteral(@" 4263 aria-modal=""true""> 4264 <div class=""container""> 4265 <div class=""row""> 4266 <div class=""col-12""> 4267 <span class=""menu-headline"">MENU</span> 4268 </div> 4269 <div class=""menu-slide"" 4270 role=""button"" 4271 tabindex=""0"""); 4272 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 53753, "\"", 53881, 1); 4273 WriteAttributeValue("", 53792, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.CloseMenu", "Luk menu")), 53792, 89, false); 4274 EndWriteAttribute(); 4275 WriteLiteral(">\r\n <b aria-hidden=\"true\"></b>\r\n </div>\r\n <div class=\"col-12 main-slidemenu\" role=\"region\""); 4276 BeginWriteAttribute("aria-label", " aria-label=\"", 54033, "\"", 54149, 1); 4277 WriteAttributeValue("", 54046, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.NavigationLinks", "Navigationslinks")), 54046, 103, false); 4278 EndWriteAttribute(); 4279 WriteLiteral(">\r\n"); 4280 4281 var navigationSettings = new NavigationSettings(); 4282 navigationSettings.StartLevel = 1; 4283 navigationSettings.StopLevel = 2; 4284 navigationSettings.ExpandMode = ExpandMode.All; 4285 navigationSettings.RootAreaId = Pageview.Area.ID; 4286 4287 Write(Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings)); 4288 WriteLiteral(" </div>\r\n <div class=\"col-12 bottom-btns\">\r\n\r\n"); 4289 4290 string[] maeglerid; 4291 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0"; 4292 4293 if (erhverv) 4294 { 4295 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None); 4296 } 4297 else 4298 { 4299 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None); 4300 } 4301 4302 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\" role=\"search\">\r\n <input name=\"id\""); 4303 BeginWriteAttribute("value", " value=\"", 55646, "\"", 55667, 1); 4304 WriteAttributeValue("", 55654, maeglerid[1], 55654, 13, false); 4305 EndWriteAttribute(); 4306 WriteLiteral(" type=\"hidden\" />\r\n <div class=\"icon-wrapper-wclick\">\r\n <label for=\"broker-search-menu-vm\" class=\"sr-only\">"); 4307 Write(Translate("Custom:Accessibility.FindBroker", "Find mægler")); 4308 WriteLiteral(@"</label> 4309 <i class=""fas fa-search ta-submit-on-icon-click"" 4310 aria-hidden=""true"" 4311 role=""button"" 4312 tabindex=""0"""); 4313 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 56162, "\"", 56315, 1); 4314 WriteAttributeValue("", 56215, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.SearchBroker", "Søg efter mægler")), 56215, 100, false); 4315 EndWriteAttribute(); 4316 WriteLiteral(@"></i> 4317 <input id=""broker-search-menu-vm"" 4318 class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" 4319 name=""q"" 4320 type=""text"""); 4321 BeginWriteAttribute("placeholder", " \r\n placeholder=\"", 56623, "\"", 56774, 1); 4322 WriteAttributeValue("", 56682, HtmlEncoder.HtmlAttributeEncode(Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER")), 56682, 92, false); 4323 EndWriteAttribute(); 4324 BeginWriteAttribute("aria-label", " \r\n aria-label=\"", 56775, "\"", 56971, 1); 4325 WriteAttributeValue("", 56833, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.BrokerSearchField", "Indtast postnummer eller navn for at finde mægler")), 56833, 138, false); 4326 EndWriteAttribute(); 4327 WriteLiteral("\r\n onfocus=\"this.placeholder = \'FIND MÆGLER\'\" />\r\n </div>\r\n </form>\r\n"); 4328 WriteLiteral(" <br />\r\n"); 4329 4330 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + ""; 4331 WriteLiteral(" <a"); 4332 BeginWriteAttribute("href", " href=\"", 57381, "\"", 57452, 5); 4333 WriteAttributeValue("", 57388, "javascript:panelSalgsvurdering(\'", 57388, 32, true); 4334 WriteAttributeValue("", 57420, dpmaegler, 57420, 10, false); 4335 WriteAttributeValue("", 57430, "\',\'", 57430, 3, true); 4336 WriteAttributeValue("", 57433, Pageview.AreaID, 57433, 16, false); 4337 WriteAttributeValue("", 57449, "\');", 57449, 3, true); 4338 EndWriteAttribute(); 4339 WriteLiteral(" \r\n class=\"btn btn-block btn-default-invert js-close-menu\""); 4340 BeginWriteAttribute("aria-label", "\r\n aria-label=\"", 57537, "\"", 57693, 1); 4341 WriteAttributeValue("", 57578, HtmlEncoder.HtmlAttributeEncode(Translate("Custom:Accessibility.FreeSalesAssessment", "Få gratis salgsvurdering")), 57578, 115, false); 4342 EndWriteAttribute(); 4343 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"); 4344 } 4345 4346 void RenderBlockList(List<Block> blocks) 4347 { 4348 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false; 4349 blocks = blocks.OrderBy(item => item.SortId).ToList(); 4350 4351 foreach (Block item in blocks) 4352 { 4353 if (debug) { 4354 WriteLiteral(" <!-- Block START: "); 4355 Write(item.Id); 4356 WriteLiteral(" -->\r\n"); 4357 } 4358 4359 if (item.Design == null) 4360 { 4361 RenderBlock(item); 4362 } 4363 else if (item.Design.RenderType == RenderType.None) { 4364 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 4365 4366 WriteLiteral(" <div"); 4367 BeginWriteAttribute("class", " class=\"", 58948, "\"", 58972, 2); 4368 WriteAttributeValue("", 58956, cssClass, 58956, 9, false); 4369 WriteAttributeValue(" ", 58965, "dw-mod", 58966, 7, true); 4370 EndWriteAttribute(); 4371 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4372 } 4373 else if (item.Design.RenderType != RenderType.Hide) 4374 { 4375 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 4376 4377 if (!item.SkipRenderBlocksList) { 4378 if (item.Design.RenderType == RenderType.Row) 4379 { 4380 WriteLiteral(" <div"); 4381 BeginWriteAttribute("class", " class=\"", 59399, "\"", 59454, 4); 4382 WriteAttributeValue("", 59407, "grid", 59407, 4, true); 4383 WriteAttributeValue(" ", 59411, "grid--align-content-start", 59412, 26, true); 4384 WriteAttributeValue(" ", 59437, cssClass, 59438, 9, false); 4385 WriteAttributeValue(" ", 59447, "dw-mod", 59448, 7, true); 4386 EndWriteAttribute(); 4387 BeginWriteAttribute("id", " id=\"", 59455, "\"", 59475, 2); 4388 WriteAttributeValue("", 59460, "Block__", 59460, 7, true); 4389 WriteAttributeValue("", 59467, item.Id, 59467, 8, false); 4390 EndWriteAttribute(); 4391 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4392 } 4393 4394 if (item.Design.RenderType == RenderType.Column) 4395 { 4396 string hidePadding = item.Design.HidePadding ? "u-no-padding" : ""; 4397 string size = item.Design.Size ?? "12"; 4398 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size; 4399 4400 WriteLiteral(" <div"); 4401 BeginWriteAttribute("class", " class=\"", 59971, "\"", 60102, 9); 4402 WriteAttributeValue("", 59979, "grid__col-lg-", 59979, 13, true); 4403 WriteAttributeValue("", 59992, item.Design.Size, 59992, 17, false); 4404 WriteAttributeValue(" ", 60009, "grid__col-md-", 60010, 14, true); 4405 WriteAttributeValue("", 60023, item.Design.Size, 60023, 17, false); 4406 WriteAttributeValue(" ", 60040, "grid__col-sm-12", 60041, 16, true); 4407 WriteAttributeValue(" ", 60056, "grid__col-xs-12", 60057, 16, true); 4408 WriteAttributeValue(" ", 60072, hidePadding, 60073, 12, false); 4409 WriteAttributeValue(" ", 60085, cssClass, 60086, 9, false); 4410 WriteAttributeValue(" ", 60095, "dw-mod", 60096, 7, true); 4411 EndWriteAttribute(); 4412 BeginWriteAttribute("id", " id=\"", 60103, "\"", 60123, 2); 4413 WriteAttributeValue("", 60108, "Block__", 60108, 7, true); 4414 WriteAttributeValue("", 60115, item.Id, 60115, 8, false); 4415 EndWriteAttribute(); 4416 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4417 } 4418 4419 if (item.Design.RenderType == RenderType.Table) 4420 { 4421 WriteLiteral(" <table"); 4422 BeginWriteAttribute("class", " class=\"", 60354, "\"", 60384, 3); 4423 WriteAttributeValue("", 60362, "table", 60362, 5, true); 4424 WriteAttributeValue(" ", 60367, cssClass, 60368, 9, false); 4425 WriteAttributeValue(" ", 60377, "dw-mod", 60378, 7, true); 4426 EndWriteAttribute(); 4427 BeginWriteAttribute("id", " id=\"", 60385, "\"", 60405, 2); 4428 WriteAttributeValue("", 60390, "Block__", 60390, 7, true); 4429 WriteAttributeValue("", 60397, item.Id, 60397, 8, false); 4430 EndWriteAttribute(); 4431 WriteLiteral(">\r\n RenderBlock(item);\r\n </table>\r\n"); 4432 } 4433 4434 if (item.Design.RenderType == RenderType.TableRow) 4435 { 4436 WriteLiteral(" <tr"); 4437 BeginWriteAttribute("class", " class=\"", 60638, "\"", 60662, 2); 4438 WriteAttributeValue("", 60646, cssClass, 60646, 9, false); 4439 WriteAttributeValue(" ", 60655, "dw-mod", 60656, 7, true); 4440 EndWriteAttribute(); 4441 BeginWriteAttribute("id", " id=\"", 60663, "\"", 60683, 2); 4442 WriteAttributeValue("", 60668, "Block__", 60668, 7, true); 4443 WriteAttributeValue("", 60675, item.Id, 60675, 8, false); 4444 EndWriteAttribute(); 4445 WriteLiteral(">\r\n RenderBlock(item);\r\n </tr>\r\n"); 4446 } 4447 4448 if (item.Design.RenderType == RenderType.TableColumn) 4449 { 4450 WriteLiteral(" <td"); 4451 BeginWriteAttribute("class", " class=\"", 60916, "\"", 60940, 2); 4452 WriteAttributeValue("", 60924, cssClass, 60924, 9, false); 4453 WriteAttributeValue(" ", 60933, "dw-mod", 60934, 7, true); 4454 EndWriteAttribute(); 4455 BeginWriteAttribute("id", " id=\"", 60941, "\"", 60961, 2); 4456 WriteAttributeValue("", 60946, "Block__", 60946, 7, true); 4457 WriteAttributeValue("", 60953, item.Id, 60953, 8, false); 4458 EndWriteAttribute(); 4459 WriteLiteral(">\r\n RenderBlock(item);\r\n </td>\r\n"); 4460 } 4461 4462 if (item.Design.RenderType == RenderType.CardHeader) 4463 { 4464 WriteLiteral(" <div"); 4465 BeginWriteAttribute("class", " class=\"", 61194, "\"", 61230, 3); 4466 WriteAttributeValue("", 61202, "card-header", 61202, 11, true); 4467 WriteAttributeValue(" ", 61213, cssClass, 61214, 9, false); 4468 WriteAttributeValue(" ", 61223, "dw-mod", 61224, 7, true); 4469 EndWriteAttribute(); 4470 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4471 } 4472 4473 if (item.Design.RenderType == RenderType.CardBody) 4474 { 4475 WriteLiteral(" <div"); 4476 BeginWriteAttribute("class", " class=\"", 61462, "\"", 61491, 3); 4477 WriteAttributeValue("", 61470, "card", 61470, 4, true); 4478 WriteAttributeValue(" ", 61474, cssClass, 61475, 9, false); 4479 WriteAttributeValue(" ", 61484, "dw-mod", 61485, 7, true); 4480 EndWriteAttribute(); 4481 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4482 } 4483 4484 if (item.Design.RenderType == RenderType.CardFooter) 4485 { 4486 WriteLiteral(" <div"); 4487 BeginWriteAttribute("class", " class=\"", 61725, "\"", 61761, 3); 4488 WriteAttributeValue("", 61733, "card-footer", 61733, 11, true); 4489 WriteAttributeValue(" ", 61744, cssClass, 61745, 9, false); 4490 WriteAttributeValue(" ", 61754, "dw-mod", 61755, 7, true); 4491 EndWriteAttribute(); 4492 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4493 } 4494 } 4495 else 4496 { 4497 RenderBlock(item); 4498 } 4499 } 4500 4501 if (debug) { 4502 WriteLiteral(" <!-- Block END: "); 4503 Write(item.Id); 4504 WriteLiteral(" -->\r\n"); 4505 } 4506 } 4507 } 4508 4509 void RenderBlock(Block item) 4510 { 4511 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false; 4512 4513 if (item.Template != null) 4514 { 4515 Write(BlocksPage.RenderTemplate(item.Template)); 4516 4517 } 4518 4519 if (item.Component != null) 4520 { 4521 string customSufix = "Custom"; 4522 string methodName = item.Component.HelperName; 4523 4524 ComponentBase[] methodParameters = new ComponentBase[1]; 4525 methodParameters[0] = item.Component; 4526 Type methodType = this.GetType(); 4527 4528 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix); 4529 MethodInfo generalMethod = methodType.GetMethod(methodName); 4530 4531 try { 4532 if (debug) { 4533 WriteLiteral(" <!-- Component: "); 4534 Write(methodName.Replace("Render", "")); 4535 WriteLiteral(" -->\r\n"); 4536 } 4537 Write(customMethod.Invoke(this, methodParameters).ToString()); 4538 ; 4539 } catch { 4540 try { 4541 Write(generalMethod.Invoke(this, methodParameters).ToString()); 4542 4543 ; 4544 } catch(Exception ex) { 4545 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex); 4546 } 4547 } 4548 } 4549 4550 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList) 4551 { 4552 RenderBlockList(item.BlocksList); 4553 } 4554 } 4555 4556 void Render(ComponentBase component) 4557 { 4558 if (component != null) 4559 { 4560 Write(component.Render(this)); 4561 4562 } 4563 } 4564 4565 void RenderIcon(Icon settings) 4566 { 4567 if (settings != null) 4568 { 4569 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 4570 4571 if (settings.Name != null) 4572 { 4573 if (string.IsNullOrEmpty(settings.Label)) 4574 { 4575 WriteLiteral(" <i"); 4576 BeginWriteAttribute("class", " class=\"", 64657, "\"", 64715, 3); 4577 WriteAttributeValue("", 64665, settings.Prefix, 64665, 16, false); 4578 WriteAttributeValue(" ", 64681, settings.Name, 64682, 14, false); 4579 WriteAttributeValue(" ", 64696, settings.CssClass, 64697, 18, false); 4580 EndWriteAttribute(); 4581 WriteLiteral(" "); 4582 Write(color); 4583 WriteLiteral("></i>\r\n"); 4584 } 4585 else 4586 { 4587 if (settings.LabelPosition == IconLabelPosition.Before) 4588 { 4589 WriteLiteral(" <div"); 4590 BeginWriteAttribute("class", " class=\"", 64918, "\"", 64978, 3); 4591 WriteAttributeValue("", 64926, "u-flex", 64926, 6, true); 4592 WriteAttributeValue(" ", 64932, "u-flex--align-items-center", 64933, 27, true); 4593 WriteAttributeValue(" ", 64959, settings.CssClass, 64960, 18, false); 4594 EndWriteAttribute(); 4595 WriteLiteral(">"); 4596 Write(settings.Label); 4597 WriteLiteral(" <i"); 4598 BeginWriteAttribute("class", " class=\"", 64998, "\"", 65051, 3); 4599 WriteAttributeValue("", 65006, settings.Prefix, 65006, 16, false); 4600 WriteAttributeValue(" ", 65022, settings.Name, 65023, 14, false); 4601 WriteAttributeValue(" ", 65037, "u-margin-left", 65038, 14, true); 4602 EndWriteAttribute(); 4603 WriteLiteral(" "); 4604 Write(color); 4605 WriteLiteral("></i></div>\r\n"); 4606 } 4607 else 4608 { 4609 WriteLiteral(" <div"); 4610 BeginWriteAttribute("class", " class=\"", 65172, "\"", 65232, 3); 4611 WriteAttributeValue("", 65180, "u-flex", 65180, 6, true); 4612 WriteAttributeValue(" ", 65186, "u-flex--align-items-center", 65187, 27, true); 4613 WriteAttributeValue(" ", 65213, settings.CssClass, 65214, 18, false); 4614 EndWriteAttribute(); 4615 WriteLiteral("><i"); 4616 BeginWriteAttribute("class", " class=\"", 65236, "\"", 65302, 4); 4617 WriteAttributeValue("", 65244, settings.Prefix, 65244, 16, false); 4618 WriteAttributeValue(" ", 65260, settings.Name, 65261, 14, false); 4619 WriteAttributeValue(" ", 65275, "u-margin-right--lg", 65276, 19, true); 4620 WriteAttributeValue(" ", 65294, "u-w20px", 65295, 8, true); 4621 EndWriteAttribute(); 4622 WriteLiteral(" "); 4623 Write(color); 4624 WriteLiteral("></i>"); 4625 Write(settings.Label); 4626 WriteLiteral("</div>\r\n"); 4627 } 4628 } 4629 } 4630 else if (!string.IsNullOrEmpty(settings.Label)) 4631 { 4632 Write(settings.Label); 4633 4634 } 4635 } 4636 } 4637 4638 void RenderButton(Button settings) 4639 { 4640 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 4641 { 4642 Dictionary<string, string> attributes = new Dictionary<string, string>(); 4643 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 4644 if (settings.Disabled) { 4645 attributes.Add("disabled", "true"); 4646 classList.Add("disabled"); 4647 } 4648 4649 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle)) 4650 { 4651 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 4652 RenderConfirmDialog(settings); 4653 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true"; 4654 } 4655 4656 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 4657 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 4658 if (!string.IsNullOrEmpty(settings.AltText)) 4659 { 4660 attributes.Add("title", settings.AltText); 4661 } 4662 else if (!string.IsNullOrEmpty(settings.Title)) 4663 { 4664 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty); 4665 cleanTitle = cleanTitle.Replace("&nbsp;", " "); 4666 attributes.Add("title", cleanTitle); 4667 } 4668 4669 var onClickEvents = new List<string>(); 4670 if (!string.IsNullOrEmpty(settings.OnClick)) 4671 { 4672 onClickEvents.Add(settings.OnClick); 4673 } 4674 if (!string.IsNullOrEmpty(settings.Href)) 4675 { 4676 if (settings.Href.Contains("javascript")) 4677 { 4678 settings.Href = settings.Href.Replace("http://", ""); 4679 } 4680 onClickEvents.Add("location.href='" + settings.Href + "'"); 4681 } 4682 if (onClickEvents.Count > 0) 4683 { 4684 attributes.Add("onClick", string.Join(";", onClickEvents)); 4685 } 4686 4687 if (settings.ButtonLayout != ButtonLayout.None) 4688 { 4689 classList.Add("btn"); 4690 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 4691 if (btnLayout == "linkclean") 4692 { 4693 btnLayout = "link-clean"; //fix 4694 } 4695 classList.Add("btn--" + btnLayout); 4696 } 4697 4698 if (settings.Icon == null) 4699 { 4700 settings.Icon = new Icon(); 4701 } 4702 4703 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : ""; 4704 settings.Icon.Label = settings.Title; 4705 4706 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower()); 4707 4708 WriteLiteral(" <button"); 4709 BeginWriteAttribute("class", " class=\"", 68895, "\"", 68938, 2); 4710 WriteAttributeValue("", 68903, string.Join(" ", classList), 68903, 28, false); 4711 WriteAttributeValue(" ", 68931, "dw-mod", 68932, 7, true); 4712 EndWriteAttribute(); 4713 WriteLiteral(" "); 4714 Write(ComponentMethods.AddAttributes(attributes)); 4715 WriteLiteral(" "); 4716 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 4717 WriteLiteral(">"); 4718 RenderIcon(settings.Icon);WriteLiteral("</button>\r\n"); 4719 } 4720 } 4721 4722 void RenderConfirmDialog(Button settings) 4723 { 4724 Modal confirmDialog = new Modal { 4725 Id = settings.Id, 4726 Width = ModalWidth.Sm, 4727 Heading = new Heading 4728 { 4729 Level = 2, 4730 Title = settings.ConfirmTitle 4731 }, 4732 BodyText = settings.ConfirmText 4733 }; 4734 4735 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"}); 4736 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick }); 4737 4738 RenderModal(confirmDialog); 4739 } 4740 4741 void RenderLink(Link settings) 4742 { 4743 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 4744 { 4745 Dictionary<string, string> attributes = new Dictionary<string, string>(); 4746 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 4747 if (settings.Disabled) 4748 { 4749 attributes.Add("disabled", "true"); 4750 classList.Add("disabled"); 4751 } 4752 4753 if (!string.IsNullOrEmpty(settings.AltText)) 4754 { 4755 attributes.Add("title", settings.AltText); 4756 } 4757 else if (!string.IsNullOrEmpty(settings.Title)) 4758 { 4759 attributes.Add("title", settings.Title); 4760 } 4761 4762 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 4763 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 4764 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); } 4765 attributes.Add("href", settings.Href); 4766 4767 if (settings.ButtonLayout != ButtonLayout.None) 4768 { 4769 classList.Add("btn"); 4770 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 4771 if (btnLayout == "linkclean") 4772 { 4773 btnLayout = "link-clean"; //fix 4774 } 4775 classList.Add("btn--" + btnLayout); 4776 } 4777 4778 if (settings.Icon == null) 4779 { 4780 settings.Icon = new Icon(); 4781 } 4782 settings.Icon.Label = settings.Title; 4783 4784 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None) 4785 { 4786 settings.Rel = LinkRelType.Noopener; 4787 } 4788 if (settings.Target != LinkTargetType.None) 4789 { 4790 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower()); 4791 } 4792 if (settings.Download) 4793 { 4794 attributes.Add("download", "true"); 4795 } 4796 if (settings.Rel != LinkRelType.None) 4797 { 4798 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower()); 4799 } 4800 4801 WriteLiteral(" <a"); 4802 BeginWriteAttribute("class", " class=\"", 72670, "\"", 72713, 2); 4803 WriteAttributeValue("", 72678, string.Join(" ", classList), 72678, 28, false); 4804 WriteAttributeValue(" ", 72706, "dw-mod", 72707, 7, true); 4805 EndWriteAttribute(); 4806 WriteLiteral(" "); 4807 Write(ComponentMethods.AddAttributes(attributes)); 4808 WriteLiteral(" "); 4809 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 4810 WriteLiteral(">Render(settings.Icon);</a>\r\n"); 4811 } 4812 } 4813 4814 void RenderRating(Rating settings) 4815 { 4816 if (settings.Score > 0) 4817 { 4818 int rating = settings.Score; 4819 string iconType = "fa-star"; 4820 4821 switch (settings.Type.ToString()) { 4822 case "Stars": 4823 iconType = "fa-star"; 4824 break; 4825 case "Hearts": 4826 iconType = "fa-heart"; 4827 break; 4828 case "Lemons": 4829 iconType = "fa-lemon"; 4830 break; 4831 case "Bombs": 4832 iconType = "fa-bomb"; 4833 break; 4834 } 4835 4836 WriteLiteral(" <div class=\"u-ta-right\">\r\n"); 4837 for (int i = 0; i < settings.OutOf; i++) 4838 { 4839 WriteLiteral(" <i"); 4840 BeginWriteAttribute("class", " class=\"", 73847, "\"", 73894, 2); 4841 WriteAttributeValue("", 73855, rating > i ? "fas" : "far", 73855, 29, false); 4842 WriteAttributeValue(" ", 73884, iconType, 73885, 9, false); 4843 EndWriteAttribute(); 4844 WriteLiteral("></i>\r\n"); 4845 } 4846 WriteLiteral(" </div>\r\n"); 4847 } 4848 } 4849 4850 void RenderNavigation(Navigation settings) { 4851 RenderNavigation(new 4852 { 4853 id = settings.Id, 4854 cssclass = settings.CssClass, 4855 startLevel = settings.StartLevel, 4856 endlevel = settings.EndLevel, 4857 expandmode = settings.Expandmode, 4858 sitemapmode = settings.SitemapMode, 4859 template = settings.Template 4860 }); 4861 } 4862 4863 void RenderLeftNavigation(LeftNavigation settings) { 4864 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id; 4865 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template; 4866 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel; 4867 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel; 4868 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode; 4869 4870 WriteLiteral(" <div class=\"grid__cell\">\r\n RenderNavigation(settings);\r\n </div> \r\n"); 4871 } 4872 4873 void RenderHeading(Heading settings) 4874 { 4875 if (settings != null && !string.IsNullOrEmpty(settings.Title)) 4876 { 4877 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 4878 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div"; 4879 4880 Write("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">"); 4881 4882 if (!string.IsNullOrEmpty(settings.Link)) 4883 { 4884 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None }); 4885 } 4886 else 4887 { 4888 if (settings.Icon == null) 4889 { 4890 settings.Icon = new Icon(); 4891 } 4892 settings.Icon.Label = settings.Title; 4893 RenderIcon(settings.Icon); 4894 } 4895 Write("</" + tagName + ">"); 4896 ; 4897 } 4898 } 4899 4900 void RenderImage(Image settings) 4901 { 4902 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None) 4903 { 4904 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 4905 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); } 4906 4907 if (settings.Caption != null) 4908 { 4909 WriteLiteral(" "); 4910 WriteLiteral("<div>\r\n"); 4911 } 4912 4913 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower(); 4914 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower(); 4915 4916 WriteLiteral(" <div"); 4917 BeginWriteAttribute("class", " class=\"", 77375, "\"", 77456, 5); 4918 WriteAttributeValue("", 77383, "image-filter", 77383, 12, true); 4919 WriteAttributeValue(" ", 77395, "image-filter--", 77396, 15, true); 4920 WriteAttributeValue("", 77410, primaryFilterClass, 77410, 19, false); 4921 WriteAttributeValue(" ", 77429, "u-position-relative", 77430, 20, true); 4922 WriteAttributeValue(" ", 77449, "dw-mod", 77450, 7, true); 4923 EndWriteAttribute(); 4924 WriteLiteral(" "); 4925 Write(ComponentMethods.AddAttributes(optionalAttributes)); 4926 WriteLiteral(">\r\n <div"); 4927 BeginWriteAttribute("class", " class=\"", 77536, "\"", 77599, 4); 4928 WriteAttributeValue("", 77544, "image-filter", 77544, 12, true); 4929 WriteAttributeValue(" ", 77556, "image-filter--", 77557, 15, true); 4930 WriteAttributeValue("", 77571, secondaryFilterClass, 77571, 21, false); 4931 WriteAttributeValue(" ", 77592, "dw-mod", 77593, 7, true); 4932 EndWriteAttribute(); 4933 WriteLiteral(">\r\n"); 4934 if (settings.Link != null) 4935 { 4936 WriteLiteral(" <a"); 4937 BeginWriteAttribute("href", " href=\"", 77713, "\"", 77734, 1); 4938 WriteAttributeValue("", 77720, settings.Link, 77720, 14, false); 4939 EndWriteAttribute(); 4940 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n"); 4941 } 4942 else 4943 { 4944 RenderTheImage(settings); 4945 } 4946 WriteLiteral(" </div>\r\n </div>\r\n"); 4947 4948 if (settings.Caption != null) 4949 { 4950 WriteLiteral(" <span class=\"image-caption dw-mod\">"); 4951 Write(settings.Caption); 4952 WriteLiteral("</span>\r\n "); 4953 WriteLiteral("</div>\r\n"); 4954 } 4955 } 4956 else 4957 { 4958 if (settings.Caption != null) 4959 { 4960 WriteLiteral(" "); 4961 WriteLiteral("<div>\r\n"); 4962 } 4963 if (!string.IsNullOrEmpty(settings.Link)) 4964 { 4965 WriteLiteral(" <a"); 4966 BeginWriteAttribute("href", " href=\"", 78477, "\"", 78498, 1); 4967 WriteAttributeValue("", 78484, settings.Link, 78484, 14, false); 4968 EndWriteAttribute(); 4969 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n"); 4970 } 4971 else 4972 { 4973 RenderTheImage(settings); 4974 } 4975 4976 if (settings.Caption != null) 4977 { 4978 WriteLiteral(" <span class=\"image-caption dw-mod\">"); 4979 Write(settings.Caption); 4980 WriteLiteral("</span>\r\n "); 4981 WriteLiteral("</div>\r\n"); 4982 } 4983 } 4984 } 4985 4986 void RenderTheImage(Image settings) 4987 { 4988 if (settings != null) 4989 { 4990 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg"; 4991 string placeholderImage = "/Files/Images/placeholder.gif"; 4992 string imageEngine = "/Admin/Public/GetImage.ashx?"; 4993 4994 string imageStyle = ""; 4995 4996 switch (settings.Style) 4997 { 4998 case ImageStyle.Ball: 4999 imageStyle = "grid__cell-img--ball"; 5000 break; 5001 5002 case ImageStyle.Triangle: 5003 imageStyle = "grid__cell-img--triangle"; 5004 break; 5005 } 5006 5007 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle) 5008 { 5009 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop; 5010 5011 if (settings.ImageDefault != null) 5012 { 5013 settings.ImageDefault.Height = settings.ImageDefault.Width; 5014 } 5015 if (settings.ImageMedium != null) 5016 { 5017 settings.ImageMedium.Height = settings.ImageMedium.Width; 5018 } 5019 if (settings.ImageSmall != null) 5020 { 5021 settings.ImageSmall.Height = settings.ImageSmall.Width; 5022 } 5023 } 5024 5025 string defaultImage = imageEngine; 5026 string imageSmall = ""; 5027 string imageMedium = ""; 5028 5029 if (settings.DisableImageEngine) 5030 { 5031 defaultImage = settings.Path; 5032 } 5033 else 5034 { 5035 if (settings.ImageDefault != null) 5036 { 5037 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault); 5038 5039 if (settings.Path.GetType() != typeof(string)) 5040 { 5041 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 5042 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 5043 } 5044 else 5045 { 5046 defaultImage += settings.Path != null ? "Image=" + settings.Path : ""; 5047 } 5048 5049 defaultImage += "&AlternativeImage=" + alternativeImage; 5050 } 5051 5052 if (settings.ImageSmall != null) 5053 { 5054 imageSmall = "data-src-small=\"" + imageEngine; 5055 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall); 5056 5057 if (settings.Path.GetType() != typeof(string)) 5058 { 5059 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 5060 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 5061 } 5062 else 5063 { 5064 imageSmall += settings.Path != null ? "Image=" + settings.Path : ""; 5065 } 5066 5067 imageSmall += "&alternativeImage=" + alternativeImage; 5068 5069 imageSmall += "\""; 5070 } 5071 5072 if (settings.ImageMedium != null) 5073 { 5074 imageMedium = "data-src-medium=\"" + imageEngine; 5075 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium); 5076 5077 if (settings.Path.GetType() != typeof(string)) 5078 { 5079 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 5080 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 5081 } 5082 else 5083 { 5084 imageMedium += settings.Path != null ? "Image=" + settings.Path : ""; 5085 } 5086 5087 imageMedium += "&alternativeImage=" + alternativeImage; 5088 5089 imageMedium += "\""; 5090 } 5091 } 5092 5093 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 5094 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); } 5095 if (!string.IsNullOrEmpty(settings.Title)) 5096 { 5097 optionalAttributes.Add("alt", settings.Title); 5098 optionalAttributes.Add("title", settings.Title); 5099 } 5100 5101 if (settings.DisableLazyLoad) 5102 { 5103 WriteLiteral(" <img"); 5104 BeginWriteAttribute("id", " id=\"", 83977, "\"", 83994, 1); 5105 WriteAttributeValue("", 83982, settings.Id, 83982, 12, false); 5106 EndWriteAttribute(); 5107 BeginWriteAttribute("class", " class=\"", 83995, "\"", 84040, 3); 5108 WriteAttributeValue("", 84003, imageStyle, 84003, 11, false); 5109 WriteAttributeValue(" ", 84014, settings.CssClass, 84015, 18, false); 5110 WriteAttributeValue(" ", 84033, "dw-mod", 84034, 7, true); 5111 EndWriteAttribute(); 5112 BeginWriteAttribute("src", " src=\"", 84041, "\"", 84060, 1); 5113 WriteAttributeValue("", 84047, defaultImage, 84047, 13, false); 5114 EndWriteAttribute(); 5115 WriteLiteral(" "); 5116 Write(ComponentMethods.AddAttributes(optionalAttributes)); 5117 WriteLiteral(" "); 5118 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5119 WriteLiteral(" />\r\n"); 5120 } 5121 else 5122 { 5123 5124 WriteLiteral(" <img"); 5125 BeginWriteAttribute("id", " id=\"", 84258, "\"", 84275, 1); 5126 WriteAttributeValue("", 84263, settings.Id, 84263, 12, false); 5127 EndWriteAttribute(); 5128 BeginWriteAttribute("class", " class=\"", 84276, "\"", 84321, 3); 5129 WriteAttributeValue("", 84284, imageStyle, 84284, 11, false); 5130 WriteAttributeValue(" ", 84295, settings.CssClass, 84296, 18, false); 5131 WriteAttributeValue(" ", 84314, "dw-mod", 84315, 7, true); 5132 EndWriteAttribute(); 5133 WriteLiteral(" loading=\"lazy\""); 5134 BeginWriteAttribute("src", " src=\"", 84337, "\"", 84356, 1); 5135 WriteAttributeValue("", 84343, defaultImage, 84343, 13, false); 5136 EndWriteAttribute(); 5137 WriteLiteral(" "); 5138 Write(ComponentMethods.AddAttributes(optionalAttributes)); 5139 WriteLiteral(" "); 5140 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5141 WriteLiteral(" />\r\n"); 5142 } 5143 } 5144 } 5145 5146 void RenderHiddenField(HiddenField settings) { 5147 var attributes = new Dictionary<string, string>(); 5148 attributes.Add("type", "hidden"); 5149 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5150 if (settings.Value != null) { attributes.Add("value", settings.Value); } 5151 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 5152 5153 WriteLiteral(" <input "); 5154 Write(ComponentMethods.AddAttributes(attributes)); 5155 WriteLiteral(" "); 5156 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5157 WriteLiteral("/>\r\n"); 5158 } 5159 5160 void RenderRadioButtonField(RadioButtonField settings) 5161 { 5162 var attributes = new Dictionary<string, string>(); 5163 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 5164 { 5165 settings.Id = Guid.NewGuid().ToString("N"); 5166 } 5167 5168 /*base settings*/ 5169 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5170 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 5171 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 5172 if (settings.Disabled) { attributes.Add("disabled", "true"); } 5173 if (settings.Required) { attributes.Add("required", "true"); } 5174 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 5175 /*end*/ 5176 5177 attributes.Add("type", "radio"); 5178 if (settings.Checked) { attributes.Add("checked", "true"); } 5179 settings.CssClass = "form__control " + settings.CssClass; 5180 if (settings.Value != null) { attributes.Add("value", settings.Value); } 5181 5182 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 5183 5184 WriteLiteral(" <div"); 5185 BeginWriteAttribute("class", " class=\"", 86676, "\"", 86734, 3); 5186 WriteAttributeValue("", 86684, "form__field-group", 86684, 17, true); 5187 WriteAttributeValue(" ", 86701, settings.WrapperCssClass, 86702, 25, false); 5188 WriteAttributeValue(" ", 86727, "dw-mod", 86728, 7, true); 5189 EndWriteAttribute(); 5190 WriteLiteral(">\r\n <input "); 5191 Write(ComponentMethods.AddAttributes(resultAttributes)); 5192 WriteLiteral(" class=\""); 5193 Write(settings.CssClass); 5194 WriteLiteral(" dw-mod\" />\r\n"); 5195 if (!string.IsNullOrEmpty(settings.Label)) 5196 { 5197 WriteLiteral(" <label"); 5198 BeginWriteAttribute("for", " for=\"", 86939, "\"", 86957, 1); 5199 WriteAttributeValue("", 86945, settings.Id, 86945, 12, false); 5200 EndWriteAttribute(); 5201 WriteLiteral(" class=\"dw-mod\">"); 5202 Write(settings.Label); 5203 WriteLiteral("</label>\r\n"); 5204 } 5205 if (!string.IsNullOrEmpty(settings.HelpText)) 5206 { 5207 WriteLiteral(" <small class=\"form__help-text\">"); 5208 Write(settings.HelpText); 5209 WriteLiteral("</small>\r\n"); 5210 } 5211 WriteLiteral(" Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n"); 5212 } 5213 5214 void RenderRadioButtonListField(RadioButtonListField settings) 5215 { 5216 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 5217 5218 WriteLiteral(" <div"); 5219 BeginWriteAttribute("class", " class=\"", 87672, "\"", 87746, 4); 5220 WriteAttributeValue("", 87680, "form__field-group", 87680, 17, true); 5221 WriteAttributeValue(" ", 87697, settings.WrapperCssClass, 87698, 25, false); 5222 WriteAttributeValue(" ", 87723, "u-margin-bottom", 87724, 16, true); 5223 WriteAttributeValue(" ", 87739, "dw-mod", 87740, 7, true); 5224 EndWriteAttribute(); 5225 WriteLiteral(" "); 5226 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5227 WriteLiteral(">\r\n"); 5228 if (!string.IsNullOrEmpty(settings.Label)) 5229 { 5230 WriteLiteral(" <label>"); 5231 Write(settings.Label); 5232 WriteLiteral("</label>\r\n"); 5233 } 5234 if (!string.IsNullOrEmpty(settings.HelpText)) 5235 { 5236 WriteLiteral(" <small class=\"form__help-text\">"); 5237 Write(settings.HelpText); 5238 WriteLiteral("</small>\r\n"); 5239 } 5240 WriteLiteral("\r\n"); 5241 foreach (var item in settings.Options) 5242 { 5243 if (settings.Required) 5244 { 5245 item.Required = true; 5246 } 5247 if (settings.Disabled) 5248 { 5249 item.Disabled = true; 5250 } 5251 if (!string.IsNullOrEmpty(settings.Name)) 5252 { 5253 item.Name = settings.Name; 5254 } 5255 if (settings.Value != null && settings.Value == item.Value) 5256 { 5257 item.Checked = true; 5258 } 5259 if (!string.IsNullOrEmpty(settings.OnClick)) 5260 { 5261 item.OnClick += settings.OnClick; 5262 } 5263 if (!string.IsNullOrEmpty(settings.OnChange)) 5264 { 5265 item.OnChange += settings.OnChange; 5266 } 5267 if (!string.IsNullOrEmpty(settings.CssClass)) 5268 { 5269 item.CssClass += settings.CssClass; 5270 } 5271 Render(item); 5272 } 5273 WriteLiteral("\r\n Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n"); 5274 } 5275 5276 void RenderForm(Form settings) { 5277 if (settings != null) 5278 { 5279 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 5280 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); }; 5281 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); }; 5282 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); }; 5283 var enctypes = new Dictionary<string, string> 5284 { 5285 { "multipart", "multipart/form-data" }, 5286 { "text", "text/plain" }, 5287 { "application", "application/x-www-form-urlencoded" } 5288 }; 5289 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); }; 5290 optionalAttributes.Add("method", settings.Method.ToString()); 5291 5292 if (!string.IsNullOrEmpty(settings.FormStartMarkup)) 5293 { 5294 Write(settings.FormStartMarkup); 5295 5296 } 5297 else 5298 { 5299 WriteLiteral(" "); 5300 WriteLiteral("<form class=\""); 5301 Write(settings.CssClass); 5302 WriteLiteral(" u-no-margin dw-mod\" "); 5303 Write(ComponentMethods.AddAttributes(optionalAttributes)); 5304 WriteLiteral(" "); 5305 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5306 WriteLiteral(">\r\n"); 5307 } 5308 5309 foreach (var field in settings.GetFields()) 5310 { 5311 Render(field); 5312 } 5313 5314 WriteLiteral(" "); 5315 WriteLiteral("</form>\r\n"); 5316 } 5317 } 5318 5319 void RenderText(Text settings) 5320 { 5321 Write(settings.Content); 5322 5323 } 5324 5325 void RenderContentModule(ContentModule settings) { 5326 if (!string.IsNullOrEmpty(settings.Content)) 5327 { 5328 Write(settings.Content); 5329 5330 } 5331 } 5332 5333 void RenderModal(Modal settings) { 5334 if (settings != null) 5335 { 5336 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 5337 5338 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : ""; 5339 5340 WriteLiteral(" <input type=\"checkbox\""); 5341 BeginWriteAttribute("id", " id=\"", 92142, "\"", 92169, 2); 5342 WriteAttributeValue("", 92147, modalId, 92147, 10, false); 5343 WriteAttributeValue("", 92157, "ModalTrigger", 92157, 12, true); 5344 EndWriteAttribute(); 5345 WriteLiteral(" class=\"modal-trigger\" "); 5346 Write(onchange); 5347 WriteLiteral(" />\r\n"); 5348 WriteLiteral(" <div class=\"modal-container\">\r\n"); 5349 if (!settings.DisableDarkOverlay) 5350 { 5351 WriteLiteral(" <label"); 5352 BeginWriteAttribute("for", " for=\"", 92349, "\"", 92377, 2); 5353 WriteAttributeValue("", 92355, modalId, 92355, 10, false); 5354 WriteAttributeValue("", 92365, "ModalTrigger", 92365, 12, true); 5355 EndWriteAttribute(); 5356 BeginWriteAttribute("id", " id=\"", 92378, "\"", 92405, 2); 5357 WriteAttributeValue("", 92383, modalId, 92383, 10, false); 5358 WriteAttributeValue("", 92393, "ModalOverlay", 92393, 12, true); 5359 EndWriteAttribute(); 5360 WriteLiteral(" class=\"modal-overlay\"></label>\r\n"); 5361 } 5362 WriteLiteral(" <div"); 5363 BeginWriteAttribute("class", " class=\"", 92478, "\"", 92587, 5); 5364 WriteAttributeValue("", 92486, "modal", 92486, 5, true); 5365 WriteAttributeValue(" ", 92491, "modal--", 92492, 8, true); 5366 WriteAttributeValue("", 92499, settings.Width.ToString().ToLower(), 92499, 36, false); 5367 WriteAttributeValue(" ", 92535, "modal-height--", 92536, 15, true); 5368 WriteAttributeValue("", 92550, settings.Height.ToString().ToLower(), 92550, 37, false); 5369 EndWriteAttribute(); 5370 BeginWriteAttribute("id", " id=\"", 92588, "\"", 92608, 2); 5371 WriteAttributeValue("", 92593, modalId, 92593, 10, false); 5372 WriteAttributeValue("", 92603, "Modal", 92603, 5, true); 5373 EndWriteAttribute(); 5374 WriteLiteral(">\r\n"); 5375 if (settings.Heading != null) 5376 { 5377 if (!string.IsNullOrEmpty(settings.Heading.Title)) 5378 { 5379 WriteLiteral(" <div class=\"modal__header\">\r\n RenderHeading(settings.Heading);\r\n </div>\r\n"); 5380 } 5381 } 5382 WriteLiteral(" <div"); 5383 BeginWriteAttribute("class", " class=\"", 93023, "\"", 93118, 2); 5384 WriteAttributeValue("", 93031, "modal__body", 93031, 11, true); 5385 WriteAttributeValue(" ", 93042, settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "", 93043, 75, false); 5386 EndWriteAttribute(); 5387 WriteLiteral(">\r\n"); 5388 if (!string.IsNullOrEmpty(settings.BodyText)) 5389 { 5390 Write(settings.BodyText); 5391 5392 } 5393 if (settings.BodyTemplate != null) 5394 { 5395 Write(settings.BodyTemplate); 5396 5397 } 5398 5399 var actions = settings.GetActions(); 5400 WriteLiteral(" </div>\r\n"); 5401 if (actions.Length > 0) 5402 { 5403 WriteLiteral(" <div class=\"modal__footer\">\r\n"); 5404 foreach (var action in actions) 5405 { 5406 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") { 5407 action.CssClass += " u-no-margin"; 5408 } else { 5409 action.CssClass += " u-full-width u-margin-bottom"; 5410 } 5411 5412 Render(action); 5413 } 5414 WriteLiteral(" </div>\r\n"); 5415 } 5416 WriteLiteral(" <label class=\"modal__close-btn\""); 5417 BeginWriteAttribute("for", " for=\"", 94362, "\"", 94390, 2); 5418 WriteAttributeValue("", 94368, modalId, 94368, 10, false); 5419 WriteAttributeValue("", 94378, "ModalTrigger", 94378, 12, true); 5420 EndWriteAttribute(); 5421 WriteLiteral("></label>\r\n </div>\r\n </div>\r\n"); 5422 } 5423 } 5424 5425 void RenderMediaListItem(MediaListItem settings) 5426 { 5427 WriteLiteral(" <div"); 5428 BeginWriteAttribute("class", " class=\"", 94628, "\"", 94677, 3); 5429 WriteAttributeValue("", 94636, "media-list-item", 94636, 15, true); 5430 WriteAttributeValue(" ", 94651, settings.CssClass, 94652, 18, false); 5431 WriteAttributeValue(" ", 94670, "dw-mod", 94671, 7, true); 5432 EndWriteAttribute(); 5433 WriteLiteral(" "); 5434 Write(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : ""); 5435 WriteLiteral(">\r\n"); 5436 if (!string.IsNullOrEmpty(settings.Label)) 5437 { 5438 if (!string.IsNullOrEmpty(settings.Link)) 5439 { 5440 Render(new Link 5441 { 5442 Href = settings.Link, 5443 CssClass = "media-list-item__sticker dw-mod", 5444 ButtonLayout = ButtonLayout.None, 5445 Title = settings.Label, 5446 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 5447 }); 5448 } 5449 else if (!string.IsNullOrEmpty(settings.OnClick)) 5450 { 5451 WriteLiteral(" <span class=\"media-list-item__sticker dw-mod\""); 5452 BeginWriteAttribute("onclick", " onclick=\"", 95485, "\"", 95514, 1); 5453 WriteAttributeValue("", 95495, settings.OnClick, 95495, 19, false); 5454 EndWriteAttribute(); 5455 WriteLiteral(">\r\n <span class=\"u-uppercase\">"); 5456 Write(settings.Label); 5457 WriteLiteral("</span>\r\n </span>\r\n"); 5458 } 5459 else 5460 { 5461 WriteLiteral(" <span class=\"media-list-item__sticker media-list-item__sticker--no-link dw-mod\">\r\n <span class=\"u-uppercase\">"); 5462 Write(settings.Label); 5463 WriteLiteral("</span>\r\n </span>\r\n"); 5464 } 5465 } 5466 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"); 5467 if (!string.IsNullOrEmpty(settings.Title)) 5468 { 5469 if (!string.IsNullOrEmpty(settings.Link)) 5470 { 5471 Render(new Link 5472 { 5473 Href = settings.Link, 5474 CssClass = "media-list-item__name dw-mod", 5475 ButtonLayout = ButtonLayout.None, 5476 Title = settings.Title, 5477 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 5478 }); 5479 } 5480 else if (!string.IsNullOrEmpty(settings.OnClick)) 5481 { 5482 WriteLiteral(" <span class=\"media-list-item__name dw-mod\""); 5483 BeginWriteAttribute("onclick", " onclick=\"", 97011, "\"", 97040, 1); 5484 WriteAttributeValue("", 97021, settings.OnClick, 97021, 19, false); 5485 EndWriteAttribute(); 5486 WriteLiteral(">"); 5487 Write(settings.Title); 5488 WriteLiteral("</span>\r\n"); 5489 } 5490 else 5491 { 5492 WriteLiteral(" <span class=\"media-list-item__name media-list-item__name--no-link dw-mod\">"); 5493 Write(settings.Title); 5494 WriteLiteral("</span>\r\n"); 5495 } 5496 } 5497 WriteLiteral("\r\n"); 5498 if (!string.IsNullOrEmpty(settings.Status)) 5499 { 5500 WriteLiteral(" <div class=\"media-list-item__state dw-mod\">"); 5501 Write(settings.Status); 5502 WriteLiteral("</div>\r\n"); 5503 } 5504 WriteLiteral(" </div>\r\n"); 5505 5506 settings.InfoTable.CssClass += " media-list-item__parameters-table"; 5507 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"); 5508 5509 var actions = settings.GetActions(); 5510 5511 foreach (ButtonBase action in actions) 5512 { 5513 action.ButtonLayout = ButtonLayout.None; 5514 action.CssClass += " media-list-item__action link"; 5515 5516 Render(action); 5517 } 5518 WriteLiteral(" </div>\r\n\r\n"); 5519 if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title)) 5520 { 5521 settings.SelectButton.CssClass += " u-no-margin"; 5522 5523 WriteLiteral(" <div class=\"media-list-item__action-button\">\r\n Render(settings.SelectButton);\r\n </div>\r\n"); 5524 } 5525 WriteLiteral(" </div>\r\n </div>\r\n </div>\r\n"); 5526 } 5527 5528 void RenderTable(Table settings) 5529 { 5530 Dictionary<string, string> attributes = new Dictionary<string, string>(); 5531 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5532 5533 var enumToClasses = new Dictionary<TableDesign, string> 5534 { 5535 { TableDesign.Clean, "table--clean" }, 5536 { TableDesign.Bordered, "table--bordered" }, 5537 { TableDesign.Striped, "table--striped" }, 5538 { TableDesign.Hover, "table--hover" }, 5539 { TableDesign.Compact, "table--compact" }, 5540 { TableDesign.Condensed, "table--condensed" }, 5541 { TableDesign.NoTopBorder, "table--no-top-border" } 5542 }; 5543 string tableDesignClass = ""; 5544 if (settings.Design != TableDesign.None) 5545 { 5546 tableDesignClass = enumToClasses[settings.Design]; 5547 } 5548 5549 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); } 5550 5551 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 5552 5553 WriteLiteral(" <table "); 5554 Write(ComponentMethods.AddAttributes(resultAttributes)); 5555 WriteLiteral(">\r\n"); 5556 if (settings.Header != null) 5557 { 5558 WriteLiteral(" <thead>\r\n Render(settings.Header);\r\n </thead>\r\n"); 5559 } 5560 WriteLiteral(" <tbody>\r\n"); 5561 foreach (var row in settings.Rows) 5562 { 5563 Render(row); 5564 } 5565 WriteLiteral(" </tbody>\r\n"); 5566 if (settings.Footer != null) 5567 { 5568 WriteLiteral(" <tfoot>\r\n Render(settings.Footer);\r\n </tfoot>\r\n"); 5569 } 5570 WriteLiteral(" </table>\r\n"); 5571 } 5572 5573 void RenderTableRow(TableRow settings) 5574 { 5575 Dictionary<string, string> attributes = new Dictionary<string, string>(); 5576 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5577 5578 var enumToClasses = new Dictionary<TableRowDesign, string> 5579 { 5580 { TableRowDesign.NoBorder, "table__row--no-border" }, 5581 { TableRowDesign.Border, "table__row--border" }, 5582 { TableRowDesign.TopBorder, "table__row--top-line" }, 5583 { TableRowDesign.BottomBorder, "table__row--bottom-line" }, 5584 { TableRowDesign.Solid, "table__row--solid" } 5585 }; 5586 5587 string tableRowDesignClass = ""; 5588 if (settings.Design != TableRowDesign.None) 5589 { 5590 tableRowDesignClass = enumToClasses[settings.Design]; 5591 } 5592 5593 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); } 5594 5595 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 5596 5597 WriteLiteral(" <tr "); 5598 Write(ComponentMethods.AddAttributes(resultAttributes)); 5599 WriteLiteral(">\r\n"); 5600 foreach (var cell in settings.Cells) 5601 { 5602 if (settings.IsHeaderRow) 5603 { 5604 cell.IsHeader = true; 5605 } 5606 Render(cell); 5607 } 5608 WriteLiteral(" </tr>\r\n"); 5609 } 5610 5611 void RenderTableCell(TableCell settings) 5612 { 5613 Dictionary<string, string> attributes = new Dictionary<string, string>(); 5614 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5615 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); } 5616 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); } 5617 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); } 5618 5619 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 5620 5621 string tagName = settings.IsHeader ? "th" : "td"; 5622 5623 Write("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">"); 5624 Write(settings.Content); 5625 Write("</" + tagName + ">"); 5626 ; 5627 } 5628 5629 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage"); 5630 } 5631 } 5632 #pragma warning restore 1591 5633

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