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 24: The using directive for 'Dynamicweb' appeared previously in this namespace
Line 25: The using directive for 'System.Text.RegularExpressions' appeared previously in this namespace
Line 32: The using directive for 'Dynamicweb' appeared previously in this namespace
Line 33: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 35: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 37: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 38: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 39: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 40: The using directive for 'System.Reflection' appeared previously in this namespace
Line 41: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 42: The using directive for 'System.Reflection' appeared previously in this namespace
Line 43: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 44: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 45: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 46: The using directive for 'System.Text.RegularExpressions' appeared previously in this namespace
Line 47: The using directive for 'System.Reflection' appeared previously in this namespace
Line 48: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 49: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 50: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 51: The using directive for 'System.Reflection' appeared previously in this namespace
Line 52: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 53: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 54: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 55: The using directive for 'System.Reflection' appeared previously in this namespace
Line 56: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 57: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 58: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 59: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 60: The using directive for 'System.Reflection' appeared previously in this namespace
Line 61: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 62: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 63: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 64: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 65: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 67: The using directive for 'System.Reflection' appeared previously in this namespace
Line 68: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 69: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 70: The using directive for 'System.Reflection' appeared previously in this namespace
Line 71: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 72: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 73: The using directive for 'System.Reflection' appeared previously in this namespace
Line 74: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 75: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 76: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 77: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 78: The using directive for 'System.Reflection' appeared previously in this namespace
Line 79: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 80: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 81: The using directive for 'System.Reflection' appeared previously in this namespace
Line 82: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 83: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 84: The using directive for 'System.Reflection' appeared previously in this namespace
Line 85: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 86: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 87: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' 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' appeared previously in this namespace
Line 90: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 91: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 92: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 93: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 94: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 95: The using directive for 'Dynamicweb.Content.Items' appeared previously in this namespace
Line 96: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 97: The using directive for 'Dynamicweb.Rapido.Blocks.Components.Articles' appeared previously in this namespace
Line 98: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 99: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 1679: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1679: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1684: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1686: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1746: The name 'RenderMobileFilters' does not exist in the current context
Line 1755: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1815: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1830: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1846: 'PageView.Item' is obsolete: 'Use 'Page.Item' instead'
Line 1893: Argument 1: cannot convert from 'void' to 'object'
Line 4930: 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; 25 using System.Text.RegularExpressions; 26 using System.Collections.Generic; 27 using System.Reflection; 28 using Dynamicweb.Rapido.Blocks.Components; 29 using Dynamicweb.Rapido.Blocks.Components.Articles; 30 using Dynamicweb.Rapido.Blocks.Components.Documentation; 31 using Dynamicweb.Rapido.Blocks; 32 using Dynamicweb; 33 using Dynamicweb.Rapido.Blocks.Components; 34 using Dynamicweb.Rapido.Blocks.Components.General; 35 using Dynamicweb.Rapido.Blocks; 36 using System.IO; 37 using Dynamicweb.Rapido.Blocks.Components; 38 using Dynamicweb.Rapido.Blocks.Components.General; 39 using Dynamicweb.Rapido.Blocks; 40 using System.Reflection; 41 using Dynamicweb.Rapido.Blocks.Components.General; 42 using System.Reflection; 43 using Dynamicweb.Rapido.Blocks.Components.General; 44 using Dynamicweb.Rapido.Blocks.Components; 45 using Dynamicweb.Core; 46 using System.Text.RegularExpressions; 47 using System.Reflection; 48 using Dynamicweb.Rapido.Blocks.Components.General; 49 using Dynamicweb.Rapido.Blocks.Components; 50 using Dynamicweb.Core; 51 using System.Reflection; 52 using Dynamicweb.Rapido.Blocks.Components; 53 using Dynamicweb.Rapido.Blocks.Components.General; 54 using Dynamicweb.Rapido.Blocks; 55 using System.Reflection; 56 using Dynamicweb.Rapido.Blocks.Components.General; 57 using Dynamicweb.Rapido.Blocks.Components; 58 using Dynamicweb.Rapido.Blocks.Components.General; 59 using Dynamicweb.Rapido.Blocks.Components; 60 using System.Reflection; 61 using Dynamicweb.Rapido.Blocks.Components.General; 62 using Dynamicweb.Core; 63 using Dynamicweb.Rapido.Blocks.Components; 64 using Dynamicweb.Rapido.Blocks.Components.General; 65 using Dynamicweb.Rapido.Blocks; 66 using Dynamicweb.Frontend; 67 using System.Reflection; 68 using Dynamicweb.Rapido.Blocks.Components.General; 69 using Dynamicweb.Rapido.Blocks.Components; 70 using System.Reflection; 71 using Dynamicweb.Rapido.Blocks.Components.General; 72 using Dynamicweb.Rapido.Blocks.Components; 73 using System.Reflection; 74 using Dynamicweb.Rapido.Blocks.Components.General; 75 using Dynamicweb.Rapido.Blocks.Components; 76 using Dynamicweb.Rapido.Blocks.Components.General; 77 using Dynamicweb.Rapido.Blocks.Components; 78 using System.Reflection; 79 using Dynamicweb.Rapido.Blocks.Components.General; 80 using Dynamicweb.Rapido.Blocks.Components; 81 using System.Reflection; 82 using Dynamicweb.Rapido.Blocks.Components.General; 83 using Dynamicweb.Rapido.Blocks.Components; 84 using System.Reflection; 85 using Dynamicweb.Rapido.Blocks.Components.General; 86 using Dynamicweb.Rapido.Blocks.Components; 87 using Dynamicweb.Rapido.Blocks.Components.General; 88 using Dynamicweb.Rapido.Blocks.Components.General; 89 using Dynamicweb.Rapido.Blocks.Components; 90 using Dynamicweb.Rapido.Blocks.Components.General; 91 using Dynamicweb.Rapido.Blocks.Components; 92 using Dynamicweb.Rapido.Blocks.Components.General; 93 using Dynamicweb.Rapido.Blocks.Components; 94 using Dynamicweb.Core; 95 using Dynamicweb.Content.Items; 96 using Dynamicweb.Rapido.Blocks.Components; 97 using Dynamicweb.Rapido.Blocks.Components.Articles; 98 using Dynamicweb.Rapido.Blocks.Components.General; 99 using Dynamicweb.Rapido.Blocks; 100 using Dynamicweb.Security.UserManagement; 101 internal class RazorEngine_fd8eb6dd282c4294844432f550cb529d : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 102 { 103 #pragma warning disable 1998 104 public async override global::System.Threading.Tasks.Task ExecuteAsync() 105 { 106 WriteLiteral("\r\n"); 107 WriteLiteral("\r\n"); 108 WriteLiteral("\r\n"); 109 WriteLiteral("\r\n"); 110 WriteLiteral("\r\n\r\n\r\n"); 111 WriteLiteral("\r\n"); 112 WriteLiteral("\r\n"); 113 WriteLiteral("\r\n"); 114 WriteLiteral("\r\n"); 115 WriteLiteral("\r\n"); 116 WriteLiteral("\r\n"); 117 WriteLiteral("\r\n"); 118 WriteLiteral("\r\n"); 119 WriteLiteral("\r\n"); 120 WriteLiteral("\r\n"); 121 WriteLiteral("\r\n"); 122 WriteLiteral("\r\n"); 123 WriteLiteral("\r\n"); 124 WriteLiteral("\r\n\r\n"); 125 WriteLiteral("\r\n"); 126 WriteLiteral("\r\n"); 127 WriteLiteral("\r\n"); 128 WriteLiteral("\r\n"); 129 WriteLiteral("\r\n"); 130 WriteLiteral("\r\n"); 131 WriteLiteral("\r\n"); 132 WriteLiteral("\r\n"); 133 WriteLiteral("\r\n"); 134 WriteLiteral("\r\n"); 135 WriteLiteral("\r\n"); 136 WriteLiteral("\r\n"); 137 WriteLiteral("\r\n"); 138 WriteLiteral("\r\n"); 139 WriteLiteral("\r\n"); 140 WriteLiteral("\r\n"); 141 WriteLiteral("\r\n"); 142 WriteLiteral("\r\n"); 143 WriteLiteral("\r\n"); 144 WriteLiteral("\r\n"); 145 WriteLiteral("\r\n"); 146 WriteLiteral("\r\n"); 147 WriteLiteral("\r\n"); 148 WriteLiteral("\r\n\r\n"); 149 WriteLiteral("\r\n"); 150 WriteLiteral("\r\n"); 151 WriteLiteral("\r\n\r\n"); 152 WriteLiteral("\r\n"); 153 WriteLiteral("\r\n"); 154 WriteLiteral("\r\n"); 155 WriteLiteral("\r\n\r\n"); 156 WriteLiteral("\r\n"); 157 WriteLiteral("\r\n"); 158 WriteLiteral("\r\n"); 159 WriteLiteral("\r\n"); 160 161 Context.Current.Response.AddHeader("access-control-allow-origin", "*"); 162 163 string bodyClass = ""; 164 string template = "real"; 165 string TemplateUrl = "/Files/Templates/Designs/rm/"; 166 string MetaTitle = Model.Title; 167 string MetaDescription = Model.Description; 168 string MetaKeywords = Model.Keywords; 169 string searchClass = ""; 170 171 var cssFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/main.min.css")); 172 string mainCSS = TemplateUrl + $"assets/dist/css/main.min.css?{cssFileInfo.LastWriteTime.Ticks}"; 173 174 string loadingIcon = "/Files/Images/real-maeglerne-loading.svg"; 175 176 var SettingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", template != "bone" ? "1" : "2"); 177 178 // Indstillinger 179 var settings_Frontpage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Frontpage"])) ? SettingsItem["Frontpage"] : ""; 180 var settings_Boligside = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligside"])) ? SettingsItem["Boligside"] : ""; 181 var settings_Maeglersogning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Maeglersogning"])) ? SettingsItem["Maeglersogning"] : ""; 182 var settings_MinSide = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["MinSide"])) ? SettingsItem["MinSide"] : ""; 183 var settings_Sibling_Site = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Site"])) ? SettingsItem["Sibling_Site"] : ""; 184 var settings_Sibling_Boligvisning = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Sibling_Boligvisning"])) ? SettingsItem["Sibling_Boligvisning"] : ""; 185 var settings_Product_Group = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Product_Group"])) ? SettingsItem["Product_Group"] : ""; 186 var settings_Boligagent = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Boligagent"])) ? SettingsItem["Boligagent"] : ""; 187 var settings_Persondatapolitik = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Persondatapolitik"])) ? SettingsItem["Persondatapolitik"] : ""; 188 189 // API 190 var settings_BoligSearchFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligSearchFeed"])) ? SettingsItem["BoligSearchFeed"] : ""; 191 var settings_BoligListFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeed"])) ? SettingsItem["BoligListFeed"] : ""; 192 var settings_BoligListFeedErhverv = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedErhverv"])) ? SettingsItem["BoligListFeedErhverv"] : ""; 193 var settings_BoligListFeedMaegler = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligListFeedMaegler"])) ? SettingsItem["BoligListFeedMaegler"] : ""; 194 var settings_BoligCountFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligCountFeed"])) ? SettingsItem["BoligCountFeed"] : ""; 195 var settings_BoligMapFeed = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["BoligMapFeed"])) ? SettingsItem["BoligMapFeed"] : ""; 196 var settings_AdvisorSearchFeed = "Default.aspx?ID=" + Pageview.Area.Item["AdvisorSearchFeed"]; 197 198 // Forside 199 var settings_FrontpageOverskrift = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageOverskrift"])) ? SettingsItem["FrontpageOverskrift"] : ""; 200 var settings_FrontpageVideo = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideo"])) ? SettingsItem["FrontpageVideo"] : ""; 201 var settings_FrontpageVideoImage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["FrontpageVideoImage"])) ? SettingsItem["FrontpageVideoImage"] : ""; 202 203 // Tracking 204 var settings_Google_Tag_Manager_ID = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["Google_Tag_Manager_ID"])) ? SettingsItem["Google_Tag_Manager_ID"] : ""; 205 if (!string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]))) 206 { 207 settings_Google_Tag_Manager_ID = Converter.ToString(Pageview.Area.Item["BrokerGoogleTagManagerId"]); 208 } 209 var settings_Facebook_App_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Facebook_App_ID"])) ? SettingsItem["Facebook_App_ID"] : ""; 210 var settings_Leadhub_Pixel_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["Leadhub_Pixel_ID"])) ? SettingsItem["Leadhub_Pixel_ID"] : ""; 211 var settings_AntiFlicker_ID = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["AntiFlicker_ID"])) ? SettingsItem["AntiFlicker_ID"] : ""; 212 var settings_ConduzeId = Converter.ToString(SettingsItem["SpConduzeId"]); 213 var settings_Weply = Converter.ToString(SettingsItem["SpWeplyId"]); 214 var settings_Google_Optimize_Id = Converter.ToString(SettingsItem["Google_Optimize_Id"]); 215 216 // Indstillinger for brugerfunktioner 217 var settings_ForgotPwPage = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["ForgotPwPage"])) ? SettingsItem["ForgotPwPage"] : ""; 218 var settings_NewsletterSignup = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["NewsletterSignup"])) ? SettingsItem["NewsletterSignup"] : ""; 219 var settings_CreateUserModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["CreateUserModal"])) ? SettingsItem["CreateUserModal"] : ""; 220 var settings_LoginModal = !string.IsNullOrEmpty(Converter.ToString(SettingsItem["LoginModal"])) ? SettingsItem["LoginModal"] : ""; 221 222 int createUserParagraphId = 0; 223 int loginParagraphId = 0; 224 Int32.TryParse(settings_CreateUserModal.ToString(), out createUserParagraphId); 225 Int32.TryParse(settings_LoginModal.ToString(), out loginParagraphId); 226 227 // Use configured search page id for search action which depends on the context. Context can currently be one of: rm, boligone or erhverv. 228 // Subsequent calls to search page via ajax (sorting, loading, etc) should preserve search context. (vv) 229 int searchPageId = GetPageSettingsPageId("Boligside"); 230 if (searchPageId == 0) 231 { 232 searchPageId = GetWebsiteSettingsPageId("Boligside"); 233 } 234 235 int boligsideId = GetPageSettingsPageId("Boligside"); 236 if (boligsideId == 0) 237 { 238 boligsideId = GetWebsiteSettingsPageId("Boligside"); 239 } 240 241 string productGroupFilter = String.Empty; 242 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Product_Group") && Pageview.Page.PropertyItem["Product_Group"] != null) 243 { 244 productGroupFilter = Pageview.Page.PropertyItem["Product_Group"].ToString(); 245 } 246 247 if (Pageview.Page.PropertyItem != null && Convert.ToBoolean(Pageview.Page.PropertyItem["IsRealFrontpage"])) 248 { 249 searchClass = "is-frontpage"; 250 } 251 252 bool isErhverv = false; 253 if (Pageview.Page.PropertyItem != null && Pageview.Page.PropertyItem.ContainsKey("Erhverv") && Pageview.Page.PropertyItem["Erhverv"] != null) 254 { 255 var s = Pageview.Page.PropertyItem["Erhverv"].ToString(); 256 Boolean.TryParse(s, out isErhverv); 257 } 258 259 bool isBrokerPage = false; 260 if (!string.IsNullOrEmpty(Model.Area.Item.GetString("M_glerGruppeId"))) 261 { 262 isBrokerPage = true; 263 bodyClass = ""; // Get rid of transparent header on brokerPage 264 } 265 266 string callTrackingId = Model.Item.GetString("CallTrackingId"); 267 268 RealEstate.User.Model.BrokerEmployee MyBroker = null; 269 try 270 { 271 var MyB = new RealEstate.User.MyBroker(); 272 MyBroker = MyB.GetMyBroker(); 273 } 274 catch 275 { 276 // Ignore 277 } 278 279 string querySearch = (Context.Current.Request.QueryString["search"] != null ? Context.Current.Request.QueryString["search"] : ""); 280 string querySearchNameAttr = "search"; 281 282 // Overwrite search with zipcodeinterval if set 283 if (Context.Current.Request.QueryString["zipcodeinterval"] != null) 284 { 285 querySearch = Context.Current.Request.QueryString["zipcodeinterval"]; 286 querySearchNameAttr = "zipcodeinterval"; 287 } 288 289 string queryZipCodeFrom = (Context.Current.Request.QueryString["zipcodefrom"] != null ? Context.Current.Request.QueryString["zipcodefrom"] : ""); 290 string queryZipCodeTo = (Context.Current.Request.QueryString["zipcodeto"] != null ? Context.Current.Request.QueryString["zipcodeto"] : ""); 291 292 Dynamicweb.Security.UserManagement.User user = null; 293 int userID = 0; 294 string userName = ""; 295 string userEmail = ""; 296 string userPhone = ""; 297 string userZip = ""; 298 string userAddress = ""; 299 300 if (Dynamicweb.Security.UserManagement.UserContext.Current.IsLoggedOn) 301 { 302 user = Dynamicweb.Security.UserManagement.UserContext.Current.User; 303 userName = user.Name; 304 userEmail = user.Email; 305 userPhone = user.Phone; 306 userZip = user.Zip; 307 userAddress = user.Address; 308 userID = user.ID; 309 } 310 311 string forgotPwSubject = Translate("email-forgot-pw-subject", "Glemt adgangskode"); 312 string forgotPwTemplate = ""; 313 string forgotPwSender = ""; 314 string markerColor = ""; 315 string mapMarkerUrl = TemplateUrl + "assets/images/logo-real.png"; 316 317 // Important - e-mail templates for forgotPw must be placed in "UserManagement/Login" folder 318 forgotPwTemplate = "/Login/email_template_forgotpw_RM.cshtml"; 319 forgotPwSender = "noreply@mailreal.dk"; 320 markerColor = "#213960"; 321 322 var butikId = string.Empty; 323 string bEmail = string.Empty; 324 if (MyBroker != null && MyBroker.Broker != null) 325 { 326 butikId = MyBroker.Broker.Item().GetString("CBMedlemsnummer"); 327 bEmail = MyBroker.Broker.Item().GetString("Email"); 328 } 329 330 var salesAssessmentPageId = Converter.ToString(GetPageIdByNavigationTag("OrderSalesAssessment")); 331 332 var termsMail = "info@realmaeglerne.dk"; 333 WriteLiteral("\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta charset=\"utf-8\">\r\n <title>"); 334 Write(MetaTitle); 335 WriteLiteral("</title>\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1\">\r\n <meta name=\"description\""); 336 BeginWriteAttribute("content", " content=\"", 111966, "\"", 111992, 1); 337 WriteAttributeValue("", 111976, MetaDescription, 111976, 16, false); 338 EndWriteAttribute(); 339 WriteLiteral(">\r\n <meta name=\"keywords\""); 340 BeginWriteAttribute("content", " content=\"", 112021, "\"", 112044, 1); 341 WriteAttributeValue("", 112031, MetaKeywords, 112031, 13, false); 342 EndWriteAttribute(); 343 WriteLiteral(">\r\n <meta name=\"format-detection\" content=\"telephone=no\">\r\n <meta http-equiv=\"Expires\" content=\"60\">\r\n <meta name=\"robots\""); 344 BeginWriteAttribute("content", " content=\"", 112176, "\"", 112282, 3); 345 WriteAttributeValue("", 112186, Pageview.Area.Noindex ? "noindex" : "index", 112186, 46, false); 346 WriteAttributeValue("", 112232, ",", 112232, 1, true); 347 WriteAttributeValue("", 112233, Pageview.Area.Nofollow ? "nofollow" : "follow", 112233, 49, false); 348 EndWriteAttribute(); 349 WriteLiteral(">\r\n\r\n"); 350 WriteLiteral("\r\n "); 351 Write(RenderSnippet("OpenGraphTags")); 352 WriteLiteral("\r\n"); 353 if (!string.IsNullOrEmpty(settings_Google_Optimize_Id)) 354 { 355 WriteLiteral(" <!-- Google optimize script-->\r\n <script"); 356 BeginWriteAttribute("src", " src=\"", 112474, "\"", 112554, 2); 357 WriteAttributeValue("", 112480, "https://www.googleoptimize.com/optimize.js?id=", 112480, 46, true); 358 WriteAttributeValue("", 112526, settings_Google_Optimize_Id, 112526, 28, false); 359 EndWriteAttribute(); 360 WriteLiteral("></script>\r\n"); 361 } 362 WriteLiteral(@" <!-- TrustBox script --> 363 <script type=""text/javascript"" src=""//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js"" async></script> 364 <!-- End TrustBox script --> 365 366 <script type=""application/ld+json""> 367 { 368 ""context"": ""https://schema.org/"", 369 """); 370 WriteLiteral(@"@type"": ""WebSite"", 371 ""name"": ""RealMæglerne"", 372 ""url"": ""https://www.realmaeglerne.dk/"", 373 ""potentialAction"": { 374 ""type"": ""SearchAction"", 375 ""target"": ""https://www.realmaeglerne.dk/find-maegler?q={search_term_string}"", 376 ""query-input"": ""required name=search_term_string"" 377 } 378 } 379 </script> 380 381 <script type=""application/ld+json""> 382 { 383 ""context"": ""https://schema.org"", 384 """); 385 WriteLiteral(@"@type"": ""Corporation"", 386 ""name"": ""RealMæglerne"", 387 ""alternateName"": ""R&B Mægler A/S"", 388 ""url"": ""https://www.realmaeglerne.dk"", 389 ""logo"": ""https://www.realmaeglerne.dk/Files/Images/RealM_Logo_NY_MBlaa_RGB.png"", 390 ""contactPoint"": { 391 ""type"": ""ContactPoint"", 392 ""telephone"": ""+4570237153"", 393 ""contactType"": ""sales"", 394 ""areaServed"": ""DK"", 395 ""availableLanguage"": ""Danish"" 396 }, 397 ""sameAs"": [ 398 ""https://www.facebook.com/realmaeglerne/"", 399 ""https://www.linkedin.com/company/realmæglerne/"", 400 ""https://www.youtube.com/channel/UCLHYWIUcNtFitvSsbBJnI3g"", 401 ""https://www.realmaeglerne.dk/"" 402 ] 403 } 404 </script> 405 "); 406 Write(RenderSnippet("StructuredData")); 407 WriteLiteral("\r\n"); 408 WriteLiteral("\r\n"); 409 WriteLiteral(" <link rel=\"stylesheet\""); 410 BeginWriteAttribute("href", " href=\"", 114176, "\"", 114227, 2); 411 WriteAttributeValue("", 114183, TemplateUrl, 114183, 14, false); 412 WriteAttributeValue("", 114197, "assets/fontawesome/css/all.css", 114197, 30, true); 413 EndWriteAttribute(); 414 WriteLiteral(" async />\r\n <link rel=\"stylesheet\""); 415 BeginWriteAttribute("href", " href=\"", 114269, "\"", 114284, 1); 416 WriteAttributeValue("", 114276, mainCSS, 114276, 8, false); 417 EndWriteAttribute(); 418 WriteLiteral(" async />\r\n"); 419 420 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"])) 421 { 422 var cssErhvervFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/css/erhverv.min.css")); 423 string erhvervCSS = TemplateUrl + $"assets/dist/css/erhverv.min.css?{cssErhvervFileInfo.LastWriteTime.Ticks}"; 424 WriteLiteral(" <link rel=\"stylesheet\""); 425 BeginWriteAttribute("href", " href=\"", 114688, "\"", 114706, 1); 426 WriteAttributeValue("", 114695, erhvervCSS, 114695, 11, false); 427 EndWriteAttribute(); 428 WriteLiteral(" async>\r\n"); 429 } 430 WriteLiteral("\r\n\r\n <link rel=\"icon\" type=\"image/ico\""); 431 BeginWriteAttribute("href", " href=\"", 114775, "\"", 114839, 2); 432 WriteAttributeValue("", 114782, TemplateUrl, 114782, 14, false); 433 WriteAttributeValue("", 114796, "assets/images/favicons/favicon-real.ico?v=1", 114796, 43, true); 434 EndWriteAttribute(); 435 WriteLiteral(">\r\n <link rel=\"icon\" type=\"image/png\""); 436 BeginWriteAttribute("href", " href=\"", 114880, "\"", 114946, 2); 437 WriteAttributeValue("", 114887, TemplateUrl, 114887, 14, false); 438 WriteAttributeValue("", 114901, "assets/images/favicons/favicon-real-16x16.png", 114901, 45, true); 439 EndWriteAttribute(); 440 WriteLiteral(" sizes=\"16x16\">\r\n <link rel=\"icon\" type=\"image/png\""); 441 BeginWriteAttribute("href", " href=\"", 115001, "\"", 115067, 2); 442 WriteAttributeValue("", 115008, TemplateUrl, 115008, 14, false); 443 WriteAttributeValue("", 115022, "assets/images/favicons/favicon-real-32x32.png", 115022, 45, true); 444 EndWriteAttribute(); 445 WriteLiteral(" sizes=\"32x32\">\r\n <link rel=\"icon\" type=\"image/png\""); 446 BeginWriteAttribute("href", " href=\"", 115122, "\"", 115188, 2); 447 WriteAttributeValue("", 115129, TemplateUrl, 115129, 14, false); 448 WriteAttributeValue("", 115143, "assets/images/favicons/favicon-real-96x96.png", 115143, 45, true); 449 EndWriteAttribute(); 450 WriteLiteral(" sizes=\"96x96\">\r\n <meta name=\"google-site-verification\" content=\"hsV-j5ENQp9iR1Kpd6h9uYGqfD6YqOE5zg-jsWjRPOg\" />\r\n\r\n"); 451 if (!string.IsNullOrEmpty(settings_Google_Tag_Manager_ID.ToString())) 452 { 453 WriteLiteral(@" <script> 454 window.dataLayer = window.dataLayer || []; // must be placed above GTM script 455 </script> 456 <!-- Google Tag Manager --> 457 <script> 458 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 459 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 460 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 461 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 462 })(window,document,'script','dataLayer','"); 463 Write(settings_Google_Tag_Manager_ID); 464 WriteLiteral("\');</script>\r\n <!-- End Google Tag Manager -->\r\n"); 465 } 466 WriteLiteral("\r\n"); 467 if (isBrokerPage && !String.IsNullOrEmpty(callTrackingId)) 468 { 469 WriteLiteral(" <script type=\"text/javascript\""); 470 BeginWriteAttribute("src", " src=\"", 116170, "\"", 116242, 2); 471 WriteAttributeValue("", 116176, "https://call.call-tracking.dk/getJavascript?custid=", 116176, 51, true); 472 WriteAttributeValue("", 116227, callTrackingId, 116227, 15, false); 473 EndWriteAttribute(); 474 WriteLiteral("></script>\r\n"); 475 } 476 WriteLiteral("\r\n"); 477 if (!String.IsNullOrEmpty(settings_Leadhub_Pixel_ID.ToString())) 478 { 479 WriteLiteral(@" <!-- Begin Leadhub Pixel Code --> 480 <script> 481 (function(w,d,x,n,u,t,f,s,o){ 482 f='LHInsights';w[n]=w[f]=w[f]||function(n,d){ 483 (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) 484 })(window,document, 'script', 'lhi', '//www.lhinsights.com/agent.js', '"); 485 Write(settings_Leadhub_Pixel_ID); 486 WriteLiteral("\');\r\n lhi(\'pageview\');\r\n </script>\r\n <!-- End Leadhub Pixel Code -->\r\n"); 487 } 488 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 + \""); 489 Write(settings_BoligCountFeed); 490 WriteLiteral("\";\r\n RMAPI.BoligListFeed = ApiPreFix + \""); 491 Write(settings_BoligListFeed); 492 WriteLiteral("\" + \"&refpageid="); 493 Write(Pageview.Page.ID); 494 WriteLiteral("\";\r\n RMAPI.BoligListFeedErhverv = \""); 495 Write(settings_BoligListFeedErhverv); 496 WriteLiteral("\";\r\n RMAPI.BoligListFeedMaegler = ApiPreFix + \""); 497 Write(settings_BoligListFeedMaegler); 498 WriteLiteral("\" + \"&refpageid="); 499 Write(Pageview.Page.ID); 500 WriteLiteral("\";\r\n RMAPI.BoligSearchFeed = ApiPreFix + \""); 501 Write(settings_BoligSearchFeed); 502 WriteLiteral("\";\r\n RMAPI.BoligMapFeed = ApiPreFix + \""); 503 Write(settings_BoligMapFeed); 504 WriteLiteral("\";\r\n RMAPI.Boligagent = \""); 505 Write(settings_Boligagent); 506 WriteLiteral("\";\r\n RMAPI.IsErhverv = "); 507 Write(isErhverv.ToString().ToLower()); 508 WriteLiteral(";\r\n RMAPI.ProductGroupFilter = \""); 509 Write(productGroupFilter); 510 WriteLiteral("\";\r\n RMAPI.ButikId = \""); 511 Write(butikId); 512 WriteLiteral("\";\r\n RMAPI.Boligvisning = false;\r\n RMAPI.RefPageId = \""); 513 Write(Pageview.Page.ID); 514 WriteLiteral("\";\r\n RMAPI.Template = \""); 515 Write(template); 516 WriteLiteral("\";\r\n RMAPI.SliderSettings = "); 517 Write(JsonConvert.SerializeObject(Settings.Site)); 518 WriteLiteral(";\r\n RMAPI.AdvisorSearchFeed = \""); 519 Write(settings_AdvisorSearchFeed); 520 WriteLiteral("\";\r\n RMAPI.LoadingIcon = \""); 521 Write(loadingIcon); 522 WriteLiteral("\";\r\n RMAPI.MarkerColor = \""); 523 Write(markerColor); 524 WriteLiteral("\";\r\n RMAPI.mapMarkerUrl = \""); 525 Write(mapMarkerUrl); 526 WriteLiteral("\";\r\n RMAPI.settings_ForgotPwPage = \""); 527 Write(settings_ForgotPwPage); 528 WriteLiteral("\";\r\n </script>\r\n\r\n"); 529 if (!string.IsNullOrEmpty(settings_Facebook_App_ID.ToString())) 530 { 531 WriteLiteral(@" <!-- Facebook Pixel Code --> 532 <script> 533 !function (f, b, e, v, n, t, s) { 534 if (f.fbq) return; n = f.fbq = function () { 535 n.callMethod ? 536 n.callMethod.apply(n, arguments) : n.queue.push(arguments) 537 }; 538 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; 539 n.queue = []; t = b.createElement(e); t.async = !0; 540 t.src = v; s = b.getElementsByTagName(e)[0]; 541 s.parentNode.insertBefore(t, s) 542 }(window, document, 'script', 543 'https://connect.facebook.net/en_US/fbevents.js'); 544 fbq('init', '"); 545 Write(settings_Facebook_App_ID); 546 WriteLiteral("\');\r\n fbq(\'track\', \'PageView\');\r\n </script>\r\n <noscript>\r\n <img height=\"1\" width=\"1\""); 547 BeginWriteAttribute("src", " src=\"", 119145, "\"", 119230, 3); 548 WriteAttributeValue("", 119151, "https://www.facebook.com/tr?id=", 119151, 31, true); 549 WriteAttributeValue("", 119182, settings_Facebook_App_ID, 119182, 25, false); 550 WriteAttributeValue("", 119207, "&ev=PageView&noscript=1", 119207, 23, true); 551 EndWriteAttribute(); 552 WriteLiteral(" />\r\n </noscript>\r\n <!-- End Facebook Pixel Code -->\r\n"); 553 } 554 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"); 555 BeginWriteAttribute("class", " class=\"", 119506, "\"", 119533, 2); 556 WriteAttributeValue("", 119514, template, 119514, 9, false); 557 WriteAttributeValue("", 119523, bodyClass, 119523, 10, false); 558 EndWriteAttribute(); 559 WriteLiteral(" data-spforgotpwtemplate=\""); 560 Write(forgotPwTemplate); 561 WriteLiteral("\" data-spforgotpwsender=\""); 562 Write(forgotPwSender); 563 WriteLiteral("\" data-spforgotpwsubject=\""); 564 Write(forgotPwSubject); 565 WriteLiteral("\" data-spsalesassesmentid=\""); 566 Write(salesAssessmentPageId); 567 WriteLiteral("\">\r\n"); 568 569 string logoUrl = TemplateUrl + (!Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) ? "assets/images/logo-real.svg" : "assets/images/logo-erhverv.svg"); 570 WriteLiteral("\r\n"); 571 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"]) && GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID) 572 { 573 WriteLiteral(" <div class=\"top-search\">\r\n <div class=\"header logo\">\r\n <div class=\"logo\">\r\n <a href=\"/erhverv\">\r\n <img"); 574 BeginWriteAttribute("src", " src=\"", 120206, "\"", 120220, 1); 575 WriteAttributeValue("", 120212, logoUrl, 120212, 8, false); 576 EndWriteAttribute(); 577 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"); 578 579 580 var settings_BoligListErhverv = !string.IsNullOrEmpty(Convert.ToString(SettingsItem["BoliglisteErhverv"])) ? Converter.ToString(SettingsItem["BoliglisteErhverv"]).Replace("Default.aspx?Id=", "") : ""; 581 WriteLiteral(" <input type=\"hidden\" name=\"ID\""); 582 BeginWriteAttribute("value", " value=\'", 120787, "\'", 120821, 1); 583 WriteAttributeValue("", 120795, settings_BoligListErhverv, 120795, 26, false); 584 EndWriteAttribute(); 585 WriteLiteral(" id=\"searchPageId-top\" disabled=\"disabled\" />\r\n\r\n"); 586 if (Context.Current.Request["type"] == "egetforbrug") 587 { 588 WriteLiteral(" <input name=\"type\" type=\"hidden\" value=\"egetforbrug\" />\r\n <input name=\"investeringsejendom\" type=\"hidden\" value=\"0\" />\r\n"); 589 } 590 WriteLiteral(@" <div class=""row form-wrapper no-gutters""> 591 <div class=""col-xs-12 col-md-4 col-lg-5 col-searchbar""> 592 <div class=""searchbar float-label-container text-left""> 593 <label class=""float-label"">"); 594 Write(Translate("Smartpage:Erhver.Postnummer, by, vej eller sagsnummer", "Postnummer, by, vej eller sagsnummer")); 595 WriteLiteral("</label>\r\n <input type=\"text\""); 596 BeginWriteAttribute("name", " name=\"", 121615, "\"", 121642, 1); 597 WriteAttributeValue("", 121622, querySearchNameAttr, 121622, 20, false); 598 EndWriteAttribute(); 599 WriteLiteral(" id=\"searchfield-top\" class=\"search-input js-float-label js-getdata\" tabindex=\"1\""); 600 BeginWriteAttribute("value", " value=\"", 121724, "\"", 121802, 1); 601 WriteAttributeValue("", 121732, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 121732, 70, false); 602 EndWriteAttribute(); 603 WriteLiteral(@" /> 604 </div> 605 </div> 606 <div class=""col-xs-12 col-md-5""> 607 <div class=""row no-gutters""> 608 <div class=""col-xs-12 col-md-6 input-col""> 609 <div class=""dropdown w-overlay float-label-container""> 610 <label class=""float-label"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false"">"); 611 Write(Translate("Smartpage:Search.Erhverv.Lokaletype", "Lokaletype")); 612 WriteLiteral(@"</label> 613 <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> 614 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 615 <ul class=""bolig-dropdown list-unstyled""> 616 "); 617 618 RenderBoligTypeErhverv(); 619 WriteLiteral(@" </ul> 620 <span class=""border-fat""></span> 621 <div class=""d-none d-md-block""> 622 <button class=""btn btn-primary js-close-dropdown"">"); 623 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 624 WriteLiteral(@"</button> 625 </div> 626 <div class=""d-flex row d-md-none""> 627 <div class=""col-6""> 628 <button class=""btn btn-danger js-remove-filter"">"); 629 Write(Translate("Smartpage:Search.Annuller", "Annuller")); 630 WriteLiteral("</button>\r\n </div>\r\n <div class=\"col-6\">\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 631 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 632 WriteLiteral(@"</button> 633 </div> 634 </div> 635 </div> 636 637 </div> 638 </div> 639 <div class=""col-xs-12 col-md-6 input-col""> 640 <div class=""btn-dropdown p-3 border-top-bottom-right""> 641 <ul class=""two-column list-unstyled""> 642 <li> 643 <label class=""checkbox-container""> 644 "); 645 Write(Translate("Smartpage:Search.Erhverv.Leje", "Leje")); 646 WriteLiteral(@" 647 <input type=""checkbox"" name=""propertytype"" value=""leje"" class=""js-input-check"" /> 648 <span class=""checkmark""></span> 649 </label> 650 </li> 651 <li> 652 <label class=""checkbox-container""> 653 "); 654 Write(Translate("Smartpage:Search.Erhverv.Køb", "Køb")); 655 WriteLiteral(@" 656 <input type=""checkbox"" name=""propertytype"" value=""kob"" class=""js-input-check"" /> 657 <span class=""checkmark""></span> 658 </label> 659 </li> 660 </ul> 661 </div> 662 663 </div> 664 </div> 665 </div> 666 <div class=""col-xs-12 col-md-3 col-lg-2 d-none d-md-block""> 667 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 668 Write(Translate("Smartpage:Search.Søg", "Søg")); 669 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n"); 670 } 671 WriteLiteral("\r\n <div class=\"header logo\">\r\n <div class=\"logo\">\r\n <a href=\"/\">\r\n <img"); 672 BeginWriteAttribute("src", " src=\"", 126319, "\"", 126333, 1); 673 WriteAttributeValue("", 126325, logoUrl, 126325, 8, false); 674 EndWriteAttribute(); 675 WriteLiteral(" alt=\"RealMæglerne\" />\r\n </a>\r\n </div>\r\n </div>\r\n\r\n"); 676 if (Converter.ToBoolean(Pageview.Area.Item["IsErhverv"])) 677 { 678 WriteLiteral(" <div class=\"header shortcuts\">\r\n <div class=\"header-shortcuts float-right\">\r\n"); 679 if (GetPageIdByNavigationTag("ErhvervFrontPage") != Pageview.ID) 680 { 681 WriteLiteral(" <a"); 682 BeginWriteAttribute("href", " href=\'", 126697, "\'", 126704, 0); 683 EndWriteAttribute(); 684 BeginWriteAttribute("class", " class=\"", 126705, "\"", 126821, 9); 685 WriteAttributeValue("", 126713, "search-menu", 126713, 11, true); 686 WriteAttributeValue(" ", 126724, "d-none", 126725, 7, true); 687 WriteAttributeValue(" ", 126731, "d-xl-flex", 126732, 10, true); 688 WriteAttributeValue(" ", 126741, "align-items-center", 126742, 19, true); 689 WriteAttributeValue(" ", 126760, "float-left", 126761, 11, true); 690 WriteAttributeValue(" ", 126771, "border-right", 126772, 13, true); 691 WriteAttributeValue(" ", 126784, "js-mainsearch", 126785, 14, true); 692 WriteAttributeValue(" ", 126798, "topsearch", 126799, 10, true); 693 WriteAttributeValue(" ", 126808, searchClass, 126809, 12, false); 694 EndWriteAttribute(); 695 WriteLiteral(">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i><span class=\"search-menu-text hidden d-md-block\"> "); 696 Write(Translate("Smartpage:Search.Søg", "Søg")); 697 WriteLiteral("</span>\r\n </a>\r\n"); 698 } 699 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"); 700 } 701 else 702 { 703 WriteLiteral(" <div class=\"header shortcuts\">\r\n <div class=\"header-shortcuts float-right\">\r\n"); 704 if (Model.CurrentUser?.ID > 0) 705 { 706 WriteLiteral(" <a"); 707 BeginWriteAttribute("href", " href=\'", 127487, "\'", 127511, 1); 708 WriteAttributeValue("", 127494, settings_MinSide, 127494, 17, false); 709 EndWriteAttribute(); 710 WriteLiteral(" class=\"login extra d-flex align-items-center float-left border-right\">\r\n <i class=\"fa fa-user-circle\" aria-hidden=\"true\"></i><span class=\"hidden d-md-block\">"); 711 Write(Translate("Smartpage:Shortcuts.MinProfil", "Min profil")); 712 WriteLiteral("</span>\r\n </a>\r\n"); 713 } 714 else 715 { 716 WriteLiteral(" <a href=\'javascript:panelLogin()\' class=\"login d-flex align-items-center float-left border-right\">\r\n <i class=\"fa fa-user-circle\" aria-hidden=\"true\"></i><span class=\"login-text hidden d-md-block\"> "); 717 Write(Translate("Smartpage:Shortcuts.Login", "Login")); 718 WriteLiteral("</span>\r\n </a>\r\n"); 719 } 720 WriteLiteral("\r\n <a"); 721 BeginWriteAttribute("href", " href=\'", 128207, "\'", 128214, 0); 722 EndWriteAttribute(); 723 BeginWriteAttribute("class", " class=\"", 128215, "\"", 128311, 7); 724 WriteAttributeValue("", 128223, "search-menu", 128223, 11, true); 725 WriteAttributeValue(" ", 128234, "d-flex", 128235, 7, true); 726 WriteAttributeValue(" ", 128241, "align-items-center", 128242, 19, true); 727 WriteAttributeValue(" ", 128260, "float-left", 128261, 11, true); 728 WriteAttributeValue(" ", 128271, "border-right", 128272, 13, true); 729 WriteAttributeValue(" ", 128284, "js-mainsearch", 128285, 14, true); 730 WriteAttributeValue(" ", 128298, searchClass, 128299, 12, false); 731 EndWriteAttribute(); 732 WriteLiteral(">\r\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i><span class=\"search-menu-text hidden d-md-block\"> "); 733 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 734 WriteLiteral("</span>\r\n </a>\r\n\r\n <div class=\"menu-slide d-flex align-items-center\">\r\n <b></b>\r\n <span class=\"menu-text\">Menu</span>\r\n </div>\r\n </div>\r\n </div>\r\n"); 735 } 736 WriteLiteral("\r\n <div class=\"search-modal\">\r\n\r\n"); 737 if (Converter.ToString(Pageview.Area.Item["Type"]) == "real") 738 { 739 WriteLiteral(@" <div class=""main-search-form""> 740 <i class=""fal fa-times float-right fa-2x js-close-search close-search""></i> 741 <div class=""row mb-3 align-items-center""> 742 <div class=""col-xs-12 col-md-3 border-right""> 743 <h3>"); 744 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 745 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\">"); 746 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")); 747 WriteLiteral(@"<span class=""loader js-loader""></span></span> 748 749 </div> 750 </div> 751 752 <form id=""main-search"" class=""searchbar-wrapper"" action=""/Default.aspx"" method=""GET""> 753 <input type=""hidden"" name=""ID"""); 754 BeginWriteAttribute("value", " value=\'", 129756, "\'", 129777, 1); 755 WriteAttributeValue("", 129764, searchPageId, 129764, 13, false); 756 EndWriteAttribute(); 757 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" /> 758 <div class=""row form-wrapper no-gutters""> 759 760 <div class=""col-xs-12 col-md-5 col-searchbar""> 761 <div class=""searchbar""> 762 <input type=""text"""); 763 BeginWriteAttribute("name", " name=\"", 130061, "\"", 130088, 1); 764 WriteAttributeValue("", 130068, querySearchNameAttr, 130068, 20, false); 765 EndWriteAttribute(); 766 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\""); 767 BeginWriteAttribute("value", " value=\"", 130191, "\"", 130269, 1); 768 WriteAttributeValue("", 130199, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 130199, 70, false); 769 EndWriteAttribute(); 770 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\""); 771 BeginWriteAttribute("value", " value=\"", 130363, "\"", 130446, 1); 772 WriteAttributeValue("", 130371, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 130371, 75, false); 773 EndWriteAttribute(); 774 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\""); 775 BeginWriteAttribute("value", " value=\"", 130536, "\"", 130617, 1); 776 WriteAttributeValue("", 130544, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 130544, 73, false); 777 EndWriteAttribute(); 778 WriteLiteral(@" /> 779 </div> 780 </div> 781 <div class=""col-xs-12 col-md-5""> 782 <div class=""row no-gutters""> 783 <div class=""col-xs-12 col-md-6 input-col""> 784 <div class=""dropdown""> 785 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 786 "); 787 Write(Translate("Smartpage:Search.Boligtype", "Boligtype")); 788 WriteLiteral(@" 789 </button> 790 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 791 <ul class=""bolig-dropdown list-unstyled""> 792 "); 793 794 RenderBoligtypeCheckboxesDropdown(); 795 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 796 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 797 WriteLiteral(@"</button> 798 </div> 799 800 </div> 801 802 </div> 803 <div class=""col-xs-12 col-md-6 input-col""> 804 <div class=""dropdown""> 805 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 806 "); 807 Write(Translate("Smartpage:Search.Pris", "Pris")); 808 WriteLiteral(@" 809 </button> 810 <div class=""dropdown-menu box-shadow dropdown-price js-dropdown-price"" aria-labelledby=""Pris""> 811 <input name=""pricemin"" type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input"""); 812 BeginWriteAttribute("placeholder", " placeholder=\'", 132868, "\'", 132945, 1); 813 WriteAttributeValue("", 132882, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 132882, 63, false); 814 EndWriteAttribute(); 815 BeginWriteAttribute("value", " value=\'", 132946, "\'", 133082, 1); 816 WriteAttributeValue("", 132954, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemin"]) ? Context.Current.Request.QueryString["pricemin"] : "", 132954, 128, false); 817 EndWriteAttribute(); 818 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 819 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")); 820 WriteLiteral("</option>\r\n"); 821 for (var i = 0; i <= 10000000; i += 100000) 822 { 823 if (i == 10000000) 824 { 825 WriteLiteral(" <option"); 826 BeginWriteAttribute("value", " value=\"", 133719, "\"", 133729, 1); 827 WriteAttributeValue("", 133727, i, 133727, 2, false); 828 EndWriteAttribute(); 829 WriteLiteral(" data-value=\'"); 830 Write(Converter.ToInt32(i).ToString("N0")); 831 WriteLiteral("+\'>"); 832 Write(Convert.ToInt32(i).ToString("N0")); 833 WriteLiteral("+</option>\r\n"); 834 } 835 else 836 { 837 WriteLiteral(" <option"); 838 BeginWriteAttribute("value", " value=\"", 134059, "\"", 134069, 1); 839 WriteAttributeValue("", 134067, i, 134067, 2, false); 840 EndWriteAttribute(); 841 WriteLiteral(" data-value=\'"); 842 Write(Converter.ToInt32(i).ToString("N0")); 843 WriteLiteral("\'>"); 844 Write(Convert.ToInt32(i).ToString("N0")); 845 WriteLiteral("</option>\r\n"); 846 } 847 } 848 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\""); 849 BeginWriteAttribute("placeholder", " placeholder=\'", 134473, "\'", 134550, 1); 850 WriteAttributeValue("", 134487, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 134487, 63, false); 851 EndWriteAttribute(); 852 BeginWriteAttribute("value", " value=\'", 134551, "\'", 134687, 1); 853 WriteAttributeValue("", 134559, !string.IsNullOrEmpty(Context.Current.Request.QueryString["pricemax"]) ? Context.Current.Request.QueryString["pricemax"] : "", 134559, 128, false); 854 EndWriteAttribute(); 855 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 856 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")); 857 WriteLiteral("</option>\r\n"); 858 for (var i = 0; i <= 10000000; i += 100000) 859 { 860 if (i == 10000000) 861 { 862 WriteLiteral(" <option"); 863 BeginWriteAttribute("value", " value=\"", 135318, "\"", 135328, 1); 864 WriteAttributeValue("", 135326, i, 135326, 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 else 873 { 874 WriteLiteral(" <option"); 875 BeginWriteAttribute("value", " value=\"", 135658, "\"", 135668, 1); 876 WriteAttributeValue("", 135666, i, 135666, 2, false); 877 EndWriteAttribute(); 878 WriteLiteral(" data-value=\'"); 879 Write(Converter.ToInt32(i).ToString("N0")); 880 WriteLiteral("\'>"); 881 Write(Convert.ToInt32(i).ToString("N0")); 882 WriteLiteral("</option>\r\n"); 883 } 884 } 885 WriteLiteral(@" </select> 886 </div> 887 </div> 888 </div> 889 </div> 890 </div> 891 <div class=""col-xs-12 col-md-2 d-none d-md-block""> 892 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 893 Write(Translate("Smartpage:Search.Søg", "Søg")); 894 WriteLiteral(@"</button> 895 </div> 896 </div> 897 898 <div class=""row moresearch-btn no-gutters""> 899 <div class=""col-sm-12""> 900 <div class=""row align-items-center no-gutters""> 901 <div class=""col-12 col-md-4""> 902 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch""> 903 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open white"">"); 904 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")); 905 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> "); 906 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt")); 907 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\">"); 908 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg")); 909 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>"); 910 Write(Translate("Smartpage:Search.Bolig", "Bolig")); 911 WriteLiteral(@"</b></h4> 912 <div class=""row align-items-end mb-30""> 913 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 914 <div class=""filter-container row""> 915 <label class=""d-block col-12"">"); 916 Write(Translate("Smartpage:Search.Boligareal", "Boligareal")); 917 WriteLiteral(@"</label> 918 <div class=""col-6 pr-sm-0 pr-2""> 919 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count"""); 920 BeginWriteAttribute("placeholder", " placeholder=\'", 138430, "\'", 138503, 1); 921 WriteAttributeValue("", 138444, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 138444, 59, false); 922 EndWriteAttribute(); 923 BeginWriteAttribute("value", " value=\'", 138504, "\'", 138650, 1); 924 WriteAttributeValue("", 138512, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmin"]) ? Context.Current.Request.QueryString["boligarealmin"] : "", 138512, 138, false); 925 EndWriteAttribute(); 926 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 927 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 928 WriteLiteral("</option>\r\n"); 929 for (var i = 0; i <= 300; i += 10) 930 { 931 if (i == 300) 932 { 933 WriteLiteral(" <option>"); 934 Write(i); 935 WriteLiteral("+</option>\r\n"); 936 } 937 else 938 { 939 WriteLiteral(" <option>"); 940 Write(i); 941 WriteLiteral("</option>\r\n"); 942 } 943 } 944 WriteLiteral(@" </select> 945 946 </div> 947 <div class=""col-6 pl-sm-0 pl-2""> 948 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count"""); 949 BeginWriteAttribute("placeholder", " placeholder=\'", 140035, "\'", 140108, 1); 950 WriteAttributeValue("", 140049, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 140049, 59, false); 951 EndWriteAttribute(); 952 BeginWriteAttribute("value", " value=\'", 140109, "\'", 140255, 1); 953 WriteAttributeValue("", 140117, !string.IsNullOrEmpty(Context.Current.Request.QueryString["boligarealmax"]) ? Context.Current.Request.QueryString["boligarealmax"] : "", 140117, 138, false); 954 EndWriteAttribute(); 955 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 956 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 957 WriteLiteral("</option>\r\n"); 958 for (var i = 0; i <= 300; i += 10) 959 { 960 if (i == 300) 961 { 962 WriteLiteral(" <option>"); 963 Write(i); 964 WriteLiteral("+</option>\r\n"); 965 } 966 else 967 { 968 WriteLiteral(" <option>"); 969 Write(i); 970 WriteLiteral("</option>\r\n"); 971 } 972 } 973 WriteLiteral(@" </select> 974 975 </div> 976 </div> 977 </div> 978 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 979 <div class=""filter-container row""> 980 <label class=""d-block col-12"">"); 981 Write(Translate("Smartpage:Search.Grundareal", "Grundareal")); 982 WriteLiteral(@"</label> 983 <div class=""col-6 pr-sm-0 pr-2""> 984 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count"""); 985 BeginWriteAttribute("placeholder", " placeholder=\'", 142036, "\'", 142109, 1); 986 WriteAttributeValue("", 142050, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 142050, 59, false); 987 EndWriteAttribute(); 988 BeginWriteAttribute("value", " value=\'", 142110, "\'", 142257, 1); 989 WriteAttributeValue("", 142118, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmin"]) ? Context.Current.Request.QueryString["grundarealmin"] : "", 142118, 139, false); 990 EndWriteAttribute(); 991 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 992 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 993 WriteLiteral("</option>\r\n"); 994 for (var i = 0; i <= 10000; i += 100) 995 { 996 if (i == 10000) 997 { 998 WriteLiteral(" <option>"); 999 Write(i); 1000 WriteLiteral("+</option>\r\n"); 1001 } 1002 else 1003 { 1004 WriteLiteral(" <option>"); 1005 Write(i); 1006 WriteLiteral("</option>\r\n"); 1007 } 1008 } 1009 WriteLiteral(@" </select> 1010 </div> 1011 <div class=""col-6 pl-sm-0 pl-2""> 1012 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count"""); 1013 BeginWriteAttribute("placeholder", " placeholder=\'", 143645, "\'", 143718, 1); 1014 WriteAttributeValue("", 143659, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 143659, 59, false); 1015 EndWriteAttribute(); 1016 BeginWriteAttribute("value", " value=\'", 143719, "\'", 143866, 1); 1017 WriteAttributeValue("", 143727, !string.IsNullOrEmpty(Context.Current.Request.QueryString["grundarealmax"]) ? Context.Current.Request.QueryString["grundarealmax"] : "", 143727, 139, false); 1018 EndWriteAttribute(); 1019 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">"); 1020 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 1021 WriteLiteral("</option>\r\n"); 1022 for (var i = 0; i <= 10000; i += 100) 1023 { 1024 if (i == 10000) 1025 { 1026 WriteLiteral(" <option>"); 1027 Write(i); 1028 WriteLiteral("+</option>\r\n"); 1029 } 1030 else 1031 { 1032 WriteLiteral(" <option>"); 1033 Write(i); 1034 WriteLiteral("</option>\r\n"); 1035 } 1036 } 1037 WriteLiteral(@" </select> 1038 </div> 1039 </div> 1040 </div> 1041 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 1042 <div class=""filter-container row""> 1043 <label class=""d-block col-12"">Antal rum</label> 1044 <div class=""col-6 pr-sm-0 pr-2""> 1045 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count""> 1046 <option selected=""selected"" disabled=""disabled"">"); 1047 Write(Translate("Smartpage:Search.Placeholder.Min", "Min")); 1048 WriteLiteral("</option>\r\n"); 1049 1050 RenderSelectValue("1", "1", "roomsmin"); 1051 RenderSelectValue("2", "2", "roomsmin"); 1052 RenderSelectValue("3", "3", "roomsmin"); 1053 RenderSelectValue("4", "4", "roomsmin"); 1054 RenderSelectValue("5+", "5", "roomsmin"); 1055 WriteLiteral(@" </select> 1056 </div> 1057 <div class=""col-6 pl-sm-0 pl-2""> 1058 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count""> 1059 <option selected=""selected"" disabled=""disabled"">"); 1060 Write(Translate("Smartpage:Search.Placeholder.Max", "Max")); 1061 WriteLiteral("</option>\r\n"); 1062 1063 RenderSelectValue("1", "1", "roomsmax"); 1064 RenderSelectValue("2", "2", "roomsmax"); 1065 RenderSelectValue("3", "3", "roomsmax"); 1066 RenderSelectValue("4", "4", "roomsmax"); 1067 RenderSelectValue(Translate("Smartpage:Rooms.5", "5"), "5", "roomsmax"); 1068 WriteLiteral(@" </select> 1069 </div> 1070 </div> 1071 </div> 1072 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 1073 <div class=""row""> 1074 <div class=""col-12 pr-2""> 1075 <div class=""filter-container""> 1076 <label class=""d-block"">Energimærke</label> 1077 <select name=""energylabel"" id=""energylabel"" class=""form-control reverse js-energylabel-select js-count""> 1078 <option selected=""selected"" disabled=""disabled"">"); 1079 Write(Translate("Smartpage:Search.Vælg", "Vælg")); 1080 WriteLiteral(@"</option> 1081 <option value=""01"">G</option> 1082 <option value=""02"">F</option> 1083 <option value=""03"">E</option> 1084 <option value=""04"">D</option> 1085 <option value=""05"">C</option> 1086 <option value=""06"">B</option> 1087 <option value=""07"">A</option> 1088 <option value=""08"">A2010</option> 1089 <option value=""09"">A2015</option> 1090 <option value=""10"">A2020+</option> 1091 </select> 1092 </div> 1093 "); 1094 WriteLiteral(@" </div> 1095 </div> 1096 </div> 1097 <div class=""col-12 col-sm-6 col-lg-3 mt-3""> 1098 <h4"); 1099 BeginWriteAttribute("class", " class=\"", 149665, "\"", 149673, 0); 1100 EndWriteAttribute(); 1101 WriteLiteral("><b>"); 1102 Write(Translate("Smartpage:Search.Økonomi", "Økonomi")); 1103 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">"); 1104 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")); 1105 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\""); 1106 BeginWriteAttribute("placeholder", " placeholder=\'", 150235, "\'", 150310, 1); 1107 WriteAttributeValue("", 150249, Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK"), 150249, 61, false); 1108 EndWriteAttribute(); 1109 BeginWriteAttribute("value", " value=\'", 150311, "\'", 150452, 1); 1110 WriteAttributeValue("", 150319, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymin"]) ? Context.Current.Request.QueryString["subsidymin"] : "", 150319, 133, false); 1111 EndWriteAttribute(); 1112 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">"); 1113 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")); 1114 WriteLiteral("</option>\r\n"); 1115 for (var i = 0; i <= 25000; i += 1250) 1116 { 1117 if (i == 25000) 1118 { 1119 WriteLiteral(" <option"); 1120 BeginWriteAttribute("value", " value=\"", 151096, "\"", 151125, 1); 1121 WriteAttributeValue("", 151104, Converter.ToInt32(i), 151104, 21, false); 1122 EndWriteAttribute(); 1123 WriteLiteral(">"); 1124 Write(Converter.ToInt32(i).ToString("N0")); 1125 WriteLiteral("+</option>\r\n"); 1126 } 1127 else 1128 { 1129 WriteLiteral(" <option"); 1130 BeginWriteAttribute("value", " value=\"", 151422, "\"", 151451, 1); 1131 WriteAttributeValue("", 151430, Converter.ToInt32(i), 151430, 21, false); 1132 EndWriteAttribute(); 1133 WriteLiteral(">"); 1134 Write(Converter.ToInt32(i).ToString("N0")); 1135 WriteLiteral("</option>\r\n"); 1136 } 1137 } 1138 WriteLiteral(@" </select> 1139 </div> 1140 <div class=""col-6 pl-sm-0 pl-2""> 1141 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count"""); 1142 BeginWriteAttribute("placeholder", " placeholder=\'", 151963, "\'", 152038, 1); 1143 WriteAttributeValue("", 151977, Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK"), 151977, 61, false); 1144 EndWriteAttribute(); 1145 BeginWriteAttribute("value", " value=\'", 152039, "\'", 152180, 1); 1146 WriteAttributeValue("", 152047, !string.IsNullOrEmpty(Context.Current.Request.QueryString["subsidymax"]) ? Context.Current.Request.QueryString["subsidymax"] : "", 152047, 133, false); 1147 EndWriteAttribute(); 1148 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1149 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")); 1150 WriteLiteral("</option>\r\n"); 1151 for (var i = 0; i <= 25000; i += 1250) 1152 { 1153 if (i == 25000) 1154 { 1155 WriteLiteral(" <option"); 1156 BeginWriteAttribute("value", " value=\"", 152820, "\"", 152849, 1); 1157 WriteAttributeValue("", 152828, Converter.ToInt32(i), 152828, 21, false); 1158 EndWriteAttribute(); 1159 WriteLiteral(">"); 1160 Write(Convert.ToInt32(i).ToString("N0")); 1161 WriteLiteral("+</option>\r\n"); 1162 } 1163 else 1164 { 1165 WriteLiteral(" <option"); 1166 BeginWriteAttribute("value", " value=\"", 153144, "\"", 153173, 1); 1167 WriteAttributeValue("", 153152, Converter.ToInt32(i), 153152, 21, false); 1168 EndWriteAttribute(); 1169 WriteLiteral(">"); 1170 Write(Convert.ToInt32(i).ToString("N0")); 1171 WriteLiteral("</option>\r\n"); 1172 } 1173 } 1174 WriteLiteral(@" </select> 1175 </div> 1176 </div> 1177 </div> 1178 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0""> 1179 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1180 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")); 1181 WriteLiteral(@"</button> 1182 </div> 1183 </div> 1184 </div> 1185 </div> 1186 </div> 1187 <div class=""row d-block d-md-none form-wrapper no-gutters""> 1188 <div class=""col-xs-12 col-md-2""> 1189 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1190 Write(Translate("Smartpage:Search.Søg", "Søg")); 1191 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n"); 1192 } 1193 else 1194 { 1195 WriteLiteral(@" <div class=""main-search-form center""> 1196 <i class=""fal fa-times float-right fa-2x js-close-search""></i> 1197 <div class=""row mb-3 align-items-center""> 1198 <div class=""col-xs-12 col-md-5 border-right""> 1199 <h3>"); 1200 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 1201 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>"); 1202 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")); 1203 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\""); 1204 BeginWriteAttribute("value", " value=\'", 155287, "\'", 155308, 1); 1205 WriteAttributeValue("", 155295, searchPageId, 155295, 13, false); 1206 EndWriteAttribute(); 1207 WriteLiteral(@" id=""searchPageId"" disabled=""disabled"" /> 1208 <div class=""row form-wrapper no-gutters""> 1209 1210 <div class=""col-12 mb-10""> 1211 <div class=""searchbar""> 1212 <input type=""text"""); 1213 BeginWriteAttribute("name", " name=\"", 155572, "\"", 155599, 1); 1214 WriteAttributeValue("", 155579, querySearchNameAttr, 155579, 20, false); 1215 EndWriteAttribute(); 1216 WriteLiteral(" id=\"searchfield\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\""); 1217 BeginWriteAttribute("value", " value=\'", 155702, "\'", 155722, 1); 1218 WriteAttributeValue("", 155710, querySearch, 155710, 12, false); 1219 EndWriteAttribute(); 1220 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom\" name=\"zipcodefrom\""); 1221 BeginWriteAttribute("value", " value=\'", 155816, "\'", 155841, 1); 1222 WriteAttributeValue("", 155824, queryZipCodeFrom, 155824, 17, false); 1223 EndWriteAttribute(); 1224 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto\" name=\"zipcodeto\""); 1225 BeginWriteAttribute("value", " value=\'", 155931, "\'", 155954, 1); 1226 WriteAttributeValue("", 155939, queryZipCodeTo, 155939, 15, false); 1227 EndWriteAttribute(); 1228 WriteLiteral(@" /> 1229 </div> 1230 </div> 1231 <div class=""col-xs-12 col-md-8""> 1232 <div class=""row no-gutters""> 1233 <div class=""col-xs-12 col-md-6 input-col""> 1234 <div class=""dropdown""> 1235 <button class=""btn btn-dropdown dropdown-toggle reverse js-count"" type=""button"" id=""Boligtype"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 1236 "); 1237 Write(Translate("Smartpage:Search.Boligtype", "Boligtype")); 1238 WriteLiteral(@" 1239 </button> 1240 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 1241 <ul class=""bolig-dropdown list-unstyled""> 1242 "); 1243 1244 RenderBoligtypeCheckboxesDropdown(); 1245 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 1246 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 1247 WriteLiteral(@"</button> 1248 </div> 1249 1250 </div> 1251 1252 </div> 1253 <div class=""col-xs-12 col-md-6 input-col""> 1254 <div class=""dropdown""> 1255 <button class=""btn btn-dropdown dropdown-toggle reverse"" type=""button"" id=""Pris"" data-toggle=""dropdown"" aria-haspopup=""true"" aria-expanded=""false""> 1256 "); 1257 Write(Translate("Smartpage:Search.Pris", "Pris")); 1258 WriteLiteral(@" 1259 </button> 1260 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris""> 1261 <input type=""text"" name=""pricemin"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input"""); 1262 BeginWriteAttribute("placeholder", " placeholder=\'", 158196, "\'", 158273, 1); 1263 WriteAttributeValue("", 158210, Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris"), 158210, 63, false); 1264 EndWriteAttribute(); 1265 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1266 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")); 1267 WriteLiteral("</option>\r\n"); 1268 for (var i = 0; i <= 10000000; i += 100000) 1269 { 1270 if (i == 10000000) 1271 { 1272 WriteLiteral(" <option"); 1273 BeginWriteAttribute("value", " value=\"", 158910, "\"", 158920, 1); 1274 WriteAttributeValue("", 158918, i, 158918, 2, false); 1275 EndWriteAttribute(); 1276 WriteLiteral(" data-value=\'"); 1277 Write(Converter.ToInt32(i).ToString("N0")); 1278 WriteLiteral("+\'>"); 1279 Write(Converter.ToInt32(i).ToString("N0")); 1280 WriteLiteral("+</option>\r\n"); 1281 } 1282 else 1283 { 1284 WriteLiteral(" <option"); 1285 BeginWriteAttribute("value", " value=\"", 159252, "\"", 159262, 1); 1286 WriteAttributeValue("", 159260, i, 159260, 2, false); 1287 EndWriteAttribute(); 1288 WriteLiteral(" data-value=\'"); 1289 Write(Converter.ToInt32(i).ToString("N0")); 1290 WriteLiteral("\'>"); 1291 Write(Converter.ToInt32(i).ToString("N0")); 1292 WriteLiteral("</option>\r\n"); 1293 } 1294 } 1295 WriteLiteral(" </select>\r\n\r\n <input type=\"text\" name=\"pricemax\" class=\"form-control js-auto-thousand js-pricemax-frontpage-input\""); 1296 BeginWriteAttribute("placeholder", " placeholder=\'", 159668, "\'", 159745, 1); 1297 WriteAttributeValue("", 159682, Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris"), 159682, 63, false); 1298 EndWriteAttribute(); 1299 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1300 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")); 1301 WriteLiteral("</option>\r\n"); 1302 for (var i = 0; i <= 10000000; i += 100000) 1303 { 1304 if (i == 10000000) 1305 { 1306 WriteLiteral(" <option"); 1307 BeginWriteAttribute("value", " value=\"", 160376, "\"", 160386, 1); 1308 WriteAttributeValue("", 160384, i, 160384, 2, false); 1309 EndWriteAttribute(); 1310 WriteLiteral(" data-value=\'"); 1311 Write(Converter.ToInt32(i).ToString("N0")); 1312 WriteLiteral("+\'>"); 1313 Write(Converter.ToInt32(i).ToString("N0")); 1314 WriteLiteral("+</option>\r\n"); 1315 } 1316 else 1317 { 1318 WriteLiteral(" <option"); 1319 BeginWriteAttribute("value", " value=\"", 160718, "\"", 160728, 1); 1320 WriteAttributeValue("", 160726, i, 160726, 2, false); 1321 EndWriteAttribute(); 1322 WriteLiteral(" data-value=\'"); 1323 Write(Converter.ToInt32(i).ToString("N0")); 1324 WriteLiteral("\'>"); 1325 Write(Converter.ToInt32(i).ToString("N0")); 1326 WriteLiteral("</option>\r\n"); 1327 } 1328 } 1329 WriteLiteral(@" </select> 1330 </div> 1331 </div> 1332 </div> 1333 </div> 1334 </div> 1335 <div class=""col-xs-12 col-md-4 d-none d-md-block""> 1336 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1337 Write(Translate("Smartpage:Search.Søg", "Søg")); 1338 WriteLiteral(@"</button> 1339 </div> 1340 </div> 1341 1342 <div class=""row moresearch-btn no-gutters""> 1343 <div class=""col-sm-12""> 1344 <div class=""row align-items-center no-gutters""> 1345 <div class=""col-12 col-md-5""> 1346 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch-master"" aria-expanded=""false"" aria-controls=""moreSearch-master""> 1347 <span class=""moreSearch-text""><i class=""fas fa-plus open-close white""></i> <span class=""not-open white"">"); 1348 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")); 1349 WriteLiteral("</span> <span class=\"open white\"><span class=\"js-filter-count\">0</span> "); 1350 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt")); 1351 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\">"); 1352 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg")); 1353 WriteLiteral(@"</a> 1354 </div> 1355 <div class=""col-6 col-md-4 mb-xs-4""> 1356 <div class=""parent-purchases""> 1357 <label class=""checkbox-container white""> 1358 "); 1359 Write(Translate("Smartpage:Search.Forældrekøbegnet", "Forældrekøbegnet")); 1360 WriteLiteral(@" 1361 <input type=""checkbox"" name=""foraeldrekoebegnet"" value=""true"" class=""js-input-check""> 1362 <span class=""checkmark grey""></span> 1363 </label> 1364 </div> 1365 </div> 1366 </div> 1367 1368 <div class=""collapse"" id=""moreSearch-master""> 1369 1370 <h4 class=""mt-20""><b>"); 1371 Write(Translate("Smartpage:Search.Bolig", "Bolig")); 1372 WriteLiteral(@"</b></h4> 1373 <div class=""row align-items-end mb-30""> 1374 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1375 <div class=""filter-container row""> 1376 <label class=""d-block col-12"">"); 1377 Write(Translate("Smartpage:Search.Boligareal", "Boligareal")); 1378 WriteLiteral(@"</label> 1379 <div class=""col-6 pr-sm-0 pr-2""> 1380 <input type=""text"" name=""boligarealmin"" id=""boligarealmin"" class=""form-control js-boligarealmin-frontpage-input js-count"""); 1381 BeginWriteAttribute("placeholder", " placeholder=\'", 164185, "\'", 164258, 1); 1382 WriteAttributeValue("", 164199, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 164199, 59, false); 1383 EndWriteAttribute(); 1384 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1385 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 1386 WriteLiteral("</option>\r\n"); 1387 for (var i = 0; i <= 300; i += 10) 1388 { 1389 if (i == 300) 1390 { 1391 WriteLiteral(" <option>"); 1392 Write(i); 1393 WriteLiteral("+</option>\r\n"); 1394 } 1395 else 1396 { 1397 WriteLiteral(" <option>"); 1398 Write(i); 1399 WriteLiteral("</option>\r\n"); 1400 } 1401 } 1402 WriteLiteral(@" </select> 1403 </div> 1404 <div class=""col-6 pl-sm-0 pl-2""> 1405 <input type=""text"" name=""boligarealmax"" id=""boligarealmax"" class=""form-control js-boligarealmax-frontpage-input js-count"""); 1406 BeginWriteAttribute("placeholder", " placeholder=\'", 165641, "\'", 165714, 1); 1407 WriteAttributeValue("", 165655, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 165655, 59, false); 1408 EndWriteAttribute(); 1409 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1410 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. 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> 1430 </div> 1431 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1432 <div class=""filter-container row""> 1433 <label class=""d-block col-12"">"); 1434 Write(Translate("Smartpage:Search.Grundareal", "Grundareal")); 1435 WriteLiteral(@"</label> 1436 <div class=""col-6 pr-sm-0 pr-2""> 1437 <input type=""text"" name=""grundarealmin"" id=""grundarealmin"" class=""form-control js-grundarealmin-frontpage-input js-count"""); 1438 BeginWriteAttribute("placeholder", " placeholder=\'", 167493, "\'", 167566, 1); 1439 WriteAttributeValue("", 167507, Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2"), 167507, 59, false); 1440 EndWriteAttribute(); 1441 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1442 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 1443 WriteLiteral("</option>\r\n"); 1444 for (var i = 0; i <= 10000; i += 100) 1445 { 1446 if (i == 10000) 1447 { 1448 WriteLiteral(" <option"); 1449 BeginWriteAttribute("value", " value=\"", 168206, "\"", 168235, 1); 1450 WriteAttributeValue("", 168214, Converter.ToInt32(i), 168214, 21, false); 1451 EndWriteAttribute(); 1452 WriteLiteral(">"); 1453 Write(Converter.ToInt32(i).ToString("N0")); 1454 WriteLiteral("+</option>\r\n"); 1455 } 1456 else 1457 { 1458 WriteLiteral(" <option"); 1459 BeginWriteAttribute("value", " value=\"", 168532, "\"", 168561, 1); 1460 WriteAttributeValue("", 168540, Converter.ToInt32(i), 168540, 21, false); 1461 EndWriteAttribute(); 1462 WriteLiteral(">"); 1463 Write(Converter.ToInt32(i).ToString("N0")); 1464 WriteLiteral("</option>\r\n"); 1465 } 1466 } 1467 WriteLiteral(@" </select> 1468 </div> 1469 <div class=""col-6 pl-sm-0 pl-2""> 1470 <input type=""text"" name=""grundarealmax"" id=""grundarealmax"" class=""form-control js-grundarealmax-frontpage-input js-count"""); 1471 BeginWriteAttribute("placeholder", " placeholder=\'", 169082, "\'", 169155, 1); 1472 WriteAttributeValue("", 169096, Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2"), 169096, 59, false); 1473 EndWriteAttribute(); 1474 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1475 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 1476 WriteLiteral("</option>\r\n"); 1477 for (var i = 0; i <= 10000; i += 100) 1478 { 1479 if (i == 10000) 1480 { 1481 WriteLiteral(" <option"); 1482 BeginWriteAttribute("value", " value=\"", 169786, "\"", 169815, 1); 1483 WriteAttributeValue("", 169794, Converter.ToInt32(i), 169794, 21, false); 1484 EndWriteAttribute(); 1485 WriteLiteral(">"); 1486 Write(Converter.ToInt32(i).ToString("N0")); 1487 WriteLiteral("+</option>\r\n"); 1488 } 1489 else 1490 { 1491 WriteLiteral(" <option"); 1492 BeginWriteAttribute("value", " value=\"", 170112, "\"", 170141, 1); 1493 WriteAttributeValue("", 170120, Converter.ToInt32(i), 170120, 21, false); 1494 EndWriteAttribute(); 1495 WriteLiteral(">"); 1496 Write(Converter.ToInt32(i).ToString("N0")); 1497 WriteLiteral("</option>\r\n"); 1498 } 1499 } 1500 WriteLiteral(@" </select> 1501 </div> 1502 </div> 1503 </div> 1504 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1505 <div class=""filter-container row""> 1506 <label class=""d-block col-12"">Antal rum</label> 1507 1508 <div class=""col-6 pr-sm-0 pr-2""> 1509 <select name=""roomsmin"" id=""roomsmin"" class=""form-control reverse js-roomsmin-select js-count""> 1510 <option selected=""selected"" disabled=""disabled"">"); 1511 Write(Translate("Smartpage:Search.Placeholder.Min", "Min")); 1512 WriteLiteral(@"</option> 1513 <option value=""1"">1</option> 1514 <option value=""2"">2</option> 1515 <option value=""3"">3</option> 1516 <option value=""4"">4</option> 1517 <option value=""5"">5+</option> 1518 </select> 1519 </div> 1520 <div class=""col-6 pl-sm-0 pl-2""> 1521 <select name=""roomsmax"" id=""roomsmax"" class=""form-control reverse js-roomsmax-select js-count""> 1522 <option selected=""selected"" disabled=""disabled"">"); 1523 Write(Translate("Smartpage:Search.Placeholder.Max", "Max")); 1524 WriteLiteral(@"</option> 1525 <option value=""1"">1</option> 1526 <option value=""2"">2</option> 1527 <option value=""3"">3</option> 1528 <option value=""4"">4</option> 1529 <option value=""5"">5+</option> 1530 </select> 1531 </div> 1532 </div> 1533 </div> 1534 <div class=""col-12 col-sm-6 col-lg-6 mb-3 mb-lg-0""> 1535 <div class=""row""> 1536 <div class=""col-12 pr-2""> 1537 <div class=""filter-container""> 1538 <label class=""d-block"">Energimærke</label> 1539 "); 1540 WriteLiteral(" <select name=\"energylabel\" id=\"energylabel\" class=\"form-control reverse js-energylabel-select js-count\">\r\n <option disabled selected=\"selected\">"); 1541 Write(Translate("Smartpage:Search.Vælg", "Vælg")); 1542 WriteLiteral(@"</option> 1543 <option value=""01"">G</option> 1544 <option value=""02"">F</option> 1545 <option value=""03"">E</option> 1546 <option value=""04"">D</option> 1547 <option value=""05"">C</option> 1548 <option value=""06"">B</option> 1549 <option value=""07"">A</option> 1550 <option value=""08"">A2010</option> 1551 <option value=""09"">A2015</option> 1552 <option value=""10"">A2020+</option> 1553 </select> 1554 </div> 1555 "); 1556 WriteLiteral(@" </div> 1557 </div> 1558 </div> 1559 <div class=""col-12 col-sm-6 col-lg-6 mt-3""> 1560 <h4"); 1561 BeginWriteAttribute("class", " class=\"", 174647, "\"", 174655, 0); 1562 EndWriteAttribute(); 1563 WriteLiteral("><b>"); 1564 Write(Translate("Smartpage:Search.Økonomi", "Økonomi")); 1565 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">"); 1566 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")); 1567 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\""); 1568 BeginWriteAttribute("placeholder", " placeholder=\'", 175217, "\'", 175284, 1); 1569 WriteAttributeValue("", 175231, Translate("Smartpage:Search.Placeholder.Min", "Min"), 175231, 53, false); 1570 EndWriteAttribute(); 1571 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"selected\" disabled=\"disabled\">"); 1572 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")); 1573 WriteLiteral("</option>\r\n"); 1574 for (var i = 0; i <= 25000; i += 1250) 1575 { 1576 if (i == 25000) 1577 { 1578 WriteLiteral(" <option"); 1579 BeginWriteAttribute("value", " value=\"", 175928, "\"", 175957, 1); 1580 WriteAttributeValue("", 175936, Converter.ToInt32(i), 175936, 21, false); 1581 EndWriteAttribute(); 1582 WriteLiteral(">"); 1583 Write(Converter.ToInt32(i).ToString("N0")); 1584 WriteLiteral("+</option>\r\n"); 1585 } 1586 else 1587 { 1588 WriteLiteral(" <option"); 1589 BeginWriteAttribute("value", " value=\"", 176254, "\"", 176283, 1); 1590 WriteAttributeValue("", 176262, Converter.ToInt32(i), 176262, 21, false); 1591 EndWriteAttribute(); 1592 WriteLiteral(">"); 1593 Write(Converter.ToInt32(i).ToString("N0")); 1594 WriteLiteral("</option>\r\n"); 1595 } 1596 } 1597 WriteLiteral(@" </select> 1598 </div> 1599 <div class=""col-6 pl-sm-0 pl-2""> 1600 <input type=""text"" name=""subsidymax"" id=""subsidymax"" class=""form-control js-subsidymax-frontpage-input js-count"""); 1601 BeginWriteAttribute("placeholder", " placeholder=\'", 176795, "\'", 176862, 1); 1602 WriteAttributeValue("", 176809, Translate("Smartpage:Search.Placeholder.Max", "Max"), 176809, 53, false); 1603 EndWriteAttribute(); 1604 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 1605 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")); 1606 WriteLiteral("</option>\r\n"); 1607 for (var i = 0; i <= 25000; i += 1250) 1608 { 1609 if (i == 25000) 1610 { 1611 WriteLiteral(" <option"); 1612 BeginWriteAttribute("value", " value=\"", 177502, "\"", 177531, 1); 1613 WriteAttributeValue("", 177510, Converter.ToInt32(i), 177510, 21, false); 1614 EndWriteAttribute(); 1615 WriteLiteral(">"); 1616 Write(Converter.ToInt32(i).ToString("N0")); 1617 WriteLiteral("+</option>\r\n"); 1618 } 1619 else 1620 { 1621 WriteLiteral(" <option"); 1622 BeginWriteAttribute("value", " value=\"", 177828, "\"", 177857, 1); 1623 WriteAttributeValue("", 177836, Converter.ToInt32(i), 177836, 21, false); 1624 EndWriteAttribute(); 1625 WriteLiteral(">"); 1626 Write(Converter.ToInt32(i).ToString("N0")); 1627 WriteLiteral("</option>\r\n"); 1628 } 1629 } 1630 WriteLiteral(@" </select> 1631 </div> 1632 </div> 1633 </div> 1634 <div class=""col-12 col-sm-6 col-lg-6 mt-3 mt-sm-0""> 1635 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 1636 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")); 1637 WriteLiteral(@"</button> 1638 </div> 1639 </div> 1640 </div> 1641 </div> 1642 </div> 1643 <div class=""row d-block d-md-none form-wrapper no-gutters""> 1644 <div class=""col-xs-12 col-md-2""> 1645 <button type=""submit"" class=""btn btn-block btn-search dark-red""><i class=""fa fa-search""></i> "); 1646 Write(Translate("Smartpage:Search.Søg", "Søg")); 1647 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </form>\r\n </div>\r\n"); 1648 } 1649 WriteLiteral(" </div>\r\n\r\n"); 1650 1651 RenderSlideMenu(false, Convert.ToString(settings_Maeglersogning)); 1652 WriteLiteral("\r\n"); 1653 if (isBrokerPage) 1654 { 1655 WriteLiteral(" <section class=\"maegler-navbar\">\r\n "); 1656 Write(RenderNavigation(new 1657 { 1658 id = "navbar-main", 1659 cssclass = "dwnavigation", 1660 template = "ul_li.xslt", 1661 StartLevel = 1, 1662 EndLevel = 1 1663 })); 1664 WriteLiteral("\r\n </section>\r\n"); 1665 } 1666 WriteLiteral("\r\n <div class=\"visual-editor\">\r\n"); 1667 WriteLiteral("\r\n\r\n"); 1668 WriteLiteral("\r\n\r\n"); 1669 WriteLiteral("\r\n"); 1670 1671 int pageId = Model.ID; 1672 bool enableArticlesInFocus = Model.Item.GetBoolean("EnableArticlesInFocus"); 1673 bool enablePopular = Model.Item.GetBoolean("EnablePopularArticles"); 1674 bool showTitle = Model.Item.GetBoolean("ShowTitle"); 1675 bool showFilters = Model.Item.GetBoolean("ShowFilters"); 1676 bool showCategoryFilter = Model.Item.GetBoolean("ShowCategoryFilter"); 1677 bool showSearch = Model.Item.GetBoolean("ShowSearch"); 1678 string dynamicListWidth = enablePopular ? "8" : "12"; 1679 string itemType = Pageview.Item["ItemTypeName"] != null ? Pageview.Item["ItemTypeName"].ToString() : "DynamicArticle"; 1680 1681 Dictionary<string, string> categoriesList = new Dictionary<string, string>(); 1682 categoriesList.Add(Translate("All"), ""); 1683 1684 foreach (Dynamicweb.Content.Page page in Dynamicweb.Services.Pages.GetPagesByParentID(pageId)) 1685 { 1686 if (Dynamicweb.Services.Pages.GetPagesByParentID(page.ID).Any()) 1687 { 1688 categoriesList.Add(page.GetDisplayName(), page.ID.ToString()); 1689 } 1690 } 1691 1692 var articleItemTypeFields = ItemManager.Metadata.GetItemType("DynamicArticle").Fields; 1693 string filterOneLabel = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Name : ""; 1694 string filterTwoLabel = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Name : ""; 1695 string filterThreeLabel = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Name : ""; 1696 1697 var filterOneOptions = articleItemTypeFields.Find("FilterOne") != null ? articleItemTypeFields.Find("FilterOne").Options.Values : null; 1698 var filterTwoOptions = articleItemTypeFields.Find("FilterTwo") != null ? articleItemTypeFields.Find("FilterTwo").Options.Values : null; 1699 var filterThreeOptions = articleItemTypeFields.Find("FilterThree") != null ? articleItemTypeFields.Find("FilterThree").Options.Values : null; 1700 1701 Block listPageContainer = new Block 1702 { 1703 Id = "ArticleListPageContainer", 1704 SortId = 10, 1705 Design = new Design 1706 { 1707 RenderType = RenderType.Row 1708 }, 1709 BlocksList = new List<Block> { 1710 new Block { 1711 Id = "ArticleListPageHeader", 1712 SortId = 20, 1713 Design = new Design 1714 { 1715 RenderType = RenderType.Column, 1716 Size = "12" 1717 }, 1718 BlocksList = new List<Block> { 1719 new Block { 1720 Id = "ArticleListPageHeaderRow", 1721 SortId = 10, 1722 Design = new Design 1723 { 1724 RenderType = RenderType.Row 1725 }, 1726 BlocksList = new List<Block> { 1727 new Block { 1728 Id = "ArticleListFilters", 1729 SortId = 30, 1730 Design = new Design { 1731 RenderType = RenderType.Column, 1732 Size = "10", 1733 CssClass = "grid__cell" 1734 } 1735 } 1736 } 1737 } 1738 } 1739 } 1740 } 1741 }; 1742 articleListPage.Add(listPageContainer); 1743 1744 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") { 1745 Block listFilters = articleListPage.GetBlockById("ArticleListFilters"); 1746 listFilters.Template = RenderMobileFilters(listFilters.BlocksList); 1747 listFilters.SkipRenderBlocksList = true; 1748 } 1749 1750 if (showTitle) { 1751 Block titleBlock = new Block 1752 { 1753 Id = "ArticleListTitle", 1754 SortId = 10, 1755 Component = new Heading { Title = Pageview.Item["Title"].ToString(), Level = 2 }, 1756 Design = new Design 1757 { 1758 RenderType = RenderType.Column, 1759 Size = "2" 1760 } 1761 }; 1762 articleListPage.Add("ArticleListPageHeaderRow", titleBlock); 1763 } 1764 1765 if (showSearch) 1766 { 1767 Block searchFilter = new Block 1768 { 1769 Id = "ArticleListSearch", 1770 SortId = 10, 1771 Component = new ArticleListSearch { } 1772 }; 1773 articleListPage.Add("ArticleListFilters", searchFilter); 1774 } 1775 1776 if (showCategoryFilter) 1777 { 1778 Block categoryFilter = new Block 1779 { 1780 Id = "ArticleListCategoryFilter", 1781 SortId = 20, 1782 Component = new ArticleListCategoryFilter { Categories = categoriesList } 1783 }; 1784 articleListPage.Add("ArticleListFilters", categoryFilter); 1785 } 1786 1787 Block listBody = new Block 1788 { 1789 Id = "ArticleListPageBody", 1790 SortId = 30, 1791 Design = new Design 1792 { 1793 RenderType = RenderType.Column, 1794 Size = dynamicListWidth 1795 } 1796 }; 1797 articleListPage.Add("ArticleListPageContainer", listBody); 1798 1799 Block listBodyRow = new Block 1800 { 1801 Id = "ArticleListPageBodyRow", 1802 SortId = 10, 1803 Design = new Design 1804 { 1805 RenderType = RenderType.Row 1806 } 1807 }; 1808 articleListPage.Add("ArticleListPageBody", listBodyRow); 1809 1810 if (enableArticlesInFocus) { 1811 Block listInFocus = new Block 1812 { 1813 Id = "ArticleListInFocus", 1814 SortId = 10, 1815 Component = new ArticleList { Filter = "InFocus=True", Template = "ItemPublisher/List/FocusList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesInFocusListSize"].ToString()), ItemType = itemType }, 1816 Design = new Design 1817 { 1818 RenderType = RenderType.Column, 1819 Size = "12", 1820 HidePadding = true 1821 } 1822 }; 1823 articleListPage.Add("ArticleListPageBodyRow", listInFocus); 1824 } 1825 1826 Block listMain = new Block 1827 { 1828 Id = "ArticleListMain", 1829 SortId = 20, 1830 Component = new ArticleList { Template = "ItemPublisher/List/DynamicList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["ArticlesListSize"].ToString()), ItemType = itemType }, 1831 Design = new Design 1832 { 1833 RenderType = RenderType.Column, 1834 Size = "12", 1835 HidePadding = true 1836 } 1837 }; 1838 articleListPage.Add("ArticleListPageBodyRow", listMain); 1839 1840 if (enablePopular) 1841 { 1842 Block listPopular = new Block 1843 { 1844 Id = "ArticleListPopular", 1845 SortId = 30, 1846 Component = new ArticleList { Template = "ItemPublisher/List/SimpleList.cshtml", PageSize = Convert.ToInt32(Pageview.Item["PopularArticlesListSize"].ToString()), ItemType = itemType }, 1847 Design = new Design 1848 { 1849 RenderType = RenderType.Column, 1850 Size = "4", 1851 CssClass = "u-padding--lg" 1852 } 1853 }; 1854 articleListPage.Add("ArticleListPageContainer", listPopular); 1855 } 1856 1857 if (showFilters) { 1858 if (filterOneOptions != null) 1859 { 1860 Block filterOne = new Block 1861 { 1862 Id = "ArticleListFilterOne", 1863 SortId = 30, 1864 Component = new ArticleListFilter { Options = filterOneOptions, Label = filterOneLabel, SystemName = "FilterOne" } 1865 }; 1866 articleListPage.Add("ArticleListFilters", filterOne); 1867 } 1868 1869 if (filterTwoOptions != null) 1870 { 1871 Block filterTwo = new Block 1872 { 1873 Id = "ArticleListFilterTwo", 1874 SortId = 40, 1875 Component = new ArticleListFilter { Options = filterTwoOptions, Label = filterTwoLabel, SystemName = "FilterTwo" } 1876 }; 1877 articleListPage.Add("ArticleListFilters", filterTwo); 1878 } 1879 1880 if (filterThreeOptions != null) 1881 { 1882 Block filterThree = new Block 1883 { 1884 Id = "ArticleListFilterThree", 1885 SortId = 50, 1886 Component = new ArticleListFilter { Options = filterThreeOptions, Label = filterThreeLabel, SystemName = "FilterThree" } 1887 }; 1888 articleListPage.Add("ArticleListFilters", filterThree); 1889 } 1890 } 1891 WriteLiteral("\r\n\r\n"); 1892 WriteLiteral("\r\n"); 1893 Write(RenderBlockList(articleListPage.BlocksRoot.BlocksList)); 1894 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"); 1895 if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true) 1896 { 1897 string bName = MyBroker.Broker.Name; 1898 string bClass = "na"; 1899 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png"; 1900 1901 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName)) 1902 { 1903 bName = MyBroker.Broker.CompanyName; 1904 } 1905 try 1906 { 1907 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl"); 1908 if (!string.IsNullOrEmpty(imgUrl)) 1909 { 1910 bImage = imgUrl; 1911 bClass = ""; 1912 } 1913 } 1914 catch 1915 { 1916 // Ignore 1917 } 1918 1919 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId"); 1920 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer"); 1921 1922 WriteLiteral(" <section class=\"din-maegler\">\r\n <div"); 1923 BeginWriteAttribute("class", " class=\"", 189737, "\"", 189764, 2); 1924 WriteAttributeValue("", 189745, "img-wrapper", 189745, 11, true); 1925 WriteAttributeValue(" ", 189756, bClass, 189757, 7, false); 1926 EndWriteAttribute(); 1927 BeginWriteAttribute("style", " style=\"", 189765, "\"", 189804, 3); 1928 WriteAttributeValue("", 189773, "background-image:url(\'", 189773, 22, true); 1929 WriteAttributeValue("", 189795, bImage, 189795, 7, false); 1930 WriteAttributeValue("", 189802, "\')", 189802, 2, true); 1931 EndWriteAttribute(); 1932 WriteLiteral(@"></div> 1933 <div class=""container""> 1934 <div class=""col-12 col-sm-12 col-md-6 offset-md-6""> 1935 <h2>Din personlige mægler</h2> 1936 <div class=""row""> 1937 <div class=""col-12 col-sm-6""> 1938 <p> 1939 <b class=""my-broker-name"">"); 1940 Write(MyBroker.Employee.Name); 1941 WriteLiteral("</b><br>\r\n"); 1942 if (!string.IsNullOrEmpty(MyBroker.Employee.Email)) 1943 { 1944 WriteLiteral("Mail: <a"); 1945 BeginWriteAttribute("href", " href=\"", 190361, "\"", 190421, 2); 1946 WriteAttributeValue("", 190368, "mailto:", 190368, 7, true); 1947 WriteAttributeValue("", 190375, ExtractMaskedEmail(MyBroker.Employee.Email), 190375, 46, false); 1948 EndWriteAttribute(); 1949 WriteLiteral(" class=\"my-broker-email\">"); 1950 Write(ExtractMaskedEmail(MyBroker.Employee.Email)); 1951 WriteLiteral("</a><br>"); 1952 1953 } 1954 if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile)) 1955 { 1956 WriteLiteral("Tlf.: <a"); 1957 BeginWriteAttribute("href", " href=\"", 190720, "\"", 190763, 2); 1958 WriteAttributeValue("", 190727, "tel:", 190727, 4, true); 1959 WriteAttributeValue("", 190731, MyBroker.Employee.PhoneMobile, 190731, 32, false); 1960 EndWriteAttribute(); 1961 WriteLiteral(" class=\"my-broker-phone\">"); 1962 Write(FormatPhoneNumber(MyBroker.Employee.PhoneMobile)); 1963 WriteLiteral("</a>"); 1964 1965 } 1966 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 1967 { 1968 WriteLiteral("Tlf.: <a"); 1969 BeginWriteAttribute("href", " href=\"", 191063, "\"", 191102, 2); 1970 WriteAttributeValue("", 191070, "tel:", 191070, 4, true); 1971 WriteAttributeValue("", 191074, MyBroker.Broker.Telephone, 191074, 28, false); 1972 EndWriteAttribute(); 1973 WriteLiteral(" class=\"my-broker-phone\">"); 1974 Write(FormatPhoneNumber(MyBroker.Broker.Telephone)); 1975 WriteLiteral("</a>"); 1976 1977 } 1978 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\">"); 1979 Write(bName); 1980 WriteLiteral("</b><br>\r\n <span class=\"my-broker-company-address\">"); 1981 Write(MyBroker.Broker.Address); 1982 WriteLiteral("</span><br>\r\n <span class=\"my-broker-company-zip\">"); 1983 Write(MyBroker.Broker.ZipCode); 1984 WriteLiteral("</span> <span class=\"my-broker-company-city\">"); 1985 Write(MyBroker.Broker.City); 1986 WriteLiteral("</span><br>\r\n"); 1987 if (!string.IsNullOrEmpty(bEmail)) 1988 { 1989 WriteLiteral("Mail: <a"); 1990 BeginWriteAttribute("href", " href=\"", 191891, "\"", 191914, 2); 1991 WriteAttributeValue("", 191898, "mailto:", 191898, 7, true); 1992 WriteAttributeValue("", 191905, bEmail, 191905, 9, false); 1993 EndWriteAttribute(); 1994 WriteLiteral(" class=\"my-broker-broker-email\">"); 1995 Write(bEmail); 1996 WriteLiteral("</a><br>"); 1997 1998 } 1999 if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 2000 { 2001 WriteLiteral("Tlf.: <a"); 2002 BeginWriteAttribute("href", " href=\"", 192179, "\"", 192218, 2); 2003 WriteAttributeValue("", 192186, "tel:", 192186, 4, true); 2004 WriteAttributeValue("", 192190, MyBroker.Broker.Telephone, 192190, 28, false); 2005 EndWriteAttribute(); 2006 WriteLiteral(" class=\"my-broker-broker-phone\">"); 2007 Write(FormatPhoneNumber(MyBroker.Broker.Telephone)); 2008 WriteLiteral("</a>"); 2009 2010 } 2011 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"); 2012 BeginWriteAttribute("href", " href=\"", 192594, "\"", 192629, 2); 2013 WriteAttributeValue("", 192601, "/", 192601, 1, true); 2014 WriteAttributeValue("", 192602, medlemsnummer.Substring(1), 192602, 27, false); 2015 EndWriteAttribute(); 2016 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"); 2017 } 2018 WriteLiteral(" <footer>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n"); 2019 2020 var navigationSettings = new NavigationSettings(); 2021 navigationSettings.StartLevel = 1; 2022 navigationSettings.StopLevel = 3; 2023 navigationSettings.ExpandMode = ExpandMode.All; 2024 navigationSettings.RootAreaId = 1; 2025 navigationSettings.RootNavigationTag = "footer-nav"; 2026 2027 WriteLiteral(" "); 2028 Write(Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings)); 2029 WriteLiteral("\r\n </div>\r\n </div>\r\n </footer>\r\n\r\n"); 2030 if (Model.CurrentUser?.ID <= 0) 2031 { 2032 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"); 2033 if (loginParagraphId > 0) 2034 { 2035 WriteLiteral("\r\n "); 2036 Write(RenderParagraphContent(loginParagraphId)); 2037 WriteLiteral("\r\n "); 2038 2039 } 2040 WriteLiteral(" </div>\r\n <div class=\"loginform register js-register-form-wrapper\" style=\"display: none;\">\r\n"); 2041 if (createUserParagraphId > 0) 2042 { 2043 WriteLiteral("\r\n "); 2044 Write(RenderParagraphContent(createUserParagraphId)); 2045 WriteLiteral("\r\n "); 2046 2047 } 2048 WriteLiteral(" </div>\r\n <div class=\"loginform forgotpw\" style=\"display: none;\">\r\n <h2 class=\"forgotpw-reg\">"); 2049 Write(Translate("forgot-pw-reg-title", "Glemt adgangskode")); 2050 WriteLiteral("</h2>\r\n <h2 class=\"forgotpw-broker\">"); 2051 Write(Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")); 2052 WriteLiteral("</h2>\r\n <form id=\"forgotPwForm\" class=\"form-body\" method=\"post\""); 2053 BeginWriteAttribute("action", " action=\"", 194692, "\"", 194701, 0); 2054 EndWriteAttribute(); 2055 WriteLiteral(">\r\n <input type=\"hidden\" id=\"AccessUserShopID\" name=\"AccessUserShopID\" value=\"SHOP6\" />\r\n <p class=\"forgotpw-reg\">"); 2056 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.")); 2057 WriteLiteral("</p>\r\n <p class=\"forgotpw-broker\">"); 2058 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.")); 2059 WriteLiteral(@"</p> 2060 <div class=""form-group""> 2061 <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 /> 2062 </div> 2063 <button class=""btn btn-primary btn-block"" type=""submit"">"); 2064 Write(Translate("forgot-pw-cta", "Nulstil adgangskode")); 2065 WriteLiteral("</button>\r\n <br />\r\n <div id=\"submitMessage\"></div>\r\n </form>\r\n </div>\r\n </div>\r\n"); 2066 } 2067 WriteLiteral("\r\n"); 2068 WriteLiteral("\r\n"); 2069 2070 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"); 2071 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>"); 2072 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")); 2073 WriteLiteral("</h2>\r\n <form id=\"form-koeberraadgivning\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>"); 2074 Write(Translate("form-navn", "Navn")); 2075 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\" tabindex=\"1\""); 2076 BeginWriteAttribute("placeholder", " placeholder=\'", 196941, "\'", 197023, 1); 2077 WriteAttributeValue("", 196955, Translate("Smartpage:Kontakt.Placeholder.Navn", "Indtast dit navn"), 196955, 68, false); 2078 EndWriteAttribute(); 2079 BeginWriteAttribute("value", " value=\'", 197024, "\'", 197063, 1); 2080 WriteAttributeValue("", 197032, UserContext.Current.User?.Name, 197032, 31, false); 2081 EndWriteAttribute(); 2082 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2083 Write(Translate("form-email", "E-mail")); 2084 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\""); 2085 BeginWriteAttribute("placeholder", " placeholder=\'", 197340, "\'", 197425, 1); 2086 WriteAttributeValue("", 197354, Translate("Smartpage:Kontakt.Placeholder.Email", "Indtast din e-mail"), 197354, 71, false); 2087 EndWriteAttribute(); 2088 BeginWriteAttribute("value", " value=\'", 197426, "\'", 197466, 1); 2089 WriteAttributeValue("", 197434, UserContext.Current.User?.Email, 197434, 32, false); 2090 EndWriteAttribute(); 2091 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2092 Write(Translate("form-mobile", "Mobil nr.")); 2093 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"3\" maxlength=\"20\" name=\"mobile\""); 2094 BeginWriteAttribute("placeholder", " placeholder=\'", 197777, "\'", 197862, 1); 2095 WriteAttributeValue("", 197791, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 197791, 71, false); 2096 EndWriteAttribute(); 2097 BeginWriteAttribute("value", " value=\'", 197863, "\'", 197903, 1); 2098 WriteAttributeValue("", 197871, UserContext.Current.User?.Phone, 197871, 32, false); 2099 EndWriteAttribute(); 2100 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2101 Write(Translate("form-telephone", "Telefon nr.")); 2102 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" tabindex=\"4\" maxlength=\"20\" name=\"telefonnummer\""); 2103 BeginWriteAttribute("placeholder", " placeholder=\'", 198186, "\'", 198270, 1); 2104 WriteAttributeValue("", 198200, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 198200, 70, false); 2105 EndWriteAttribute(); 2106 BeginWriteAttribute("value", " value=\'", 198271, "\'", 198312, 1); 2107 WriteAttributeValue("", 198279, UserContext.Current?.User?.Phone, 198279, 33, false); 2108 EndWriteAttribute(); 2109 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <h3>"); 2110 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")); 2111 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2112 Write(Translate("form-zip", "Post nr")); 2113 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\" tabindex=\"5\""); 2114 BeginWriteAttribute("placeholder", " placeholder=\'", 198720, "\'", 198798, 1); 2115 WriteAttributeValue("", 198734, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 198734, 64, false); 2116 EndWriteAttribute(); 2117 BeginWriteAttribute("value", " value=\"", 198799, "\"", 198815, 1); 2118 WriteAttributeValue("", 198807, userZip, 198807, 8, false); 2119 EndWriteAttribute(); 2120 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2121 Write(Translate("form-city", "By")); 2122 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>"); 2123 Write(Translate("form-adresse", "Adresse")); 2124 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\" tabindex=\"6\""); 2125 BeginWriteAttribute("placeholder", " placeholder=\'", 199382, "\'", 199472, 1); 2126 WriteAttributeValue("", 199396, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 199396, 76, false); 2127 EndWriteAttribute(); 2128 WriteLiteral(" required />\r\n\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2129 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2130 WriteLiteral(@"</label> 2131 </div> 2132 <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""> 2133 <strong class=""f-12""><i class=""fas fa-plus""></i> "); 2134 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")); 2135 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\""); 2136 BeginWriteAttribute("placeholder", " placeholder=\'", 200266, "\'", 200344, 1); 2137 WriteAttributeValue("", 200280, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 200280, 64, false); 2138 EndWriteAttribute(); 2139 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\">"); 2140 Write(Translate("KontaktMægler", "Kontakt Mægler")); 2141 WriteLiteral(@"</button> 2142 </div> 2143 </div> 2144 </div> 2145 <div class=""form-group mt-3""> 2146 <div class=""checkbox""> 2147 <label> 2148 <input type=""checkbox"" name=""kontaktmigok"" required /> 2149 2150 <span>"); 2151 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2152 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2153 Write(privacyPolicyText); 2154 WriteLiteral(" <a"); 2155 BeginWriteAttribute("href", " href=\"", 201157, "\"", 201181, 2); 2156 WriteAttributeValue("", 201164, "mailto:", 201164, 7, true); 2157 WriteAttributeValue("", 201171, termsMail, 201171, 10, false); 2158 EndWriteAttribute(); 2159 WriteLiteral(">"); 2160 Write(termsMail); 2161 WriteLiteral("</a>.\r\n Læs mere på <a"); 2162 BeginWriteAttribute("href", " href=\"", 201226, "\"", 201260, 1); 2163 WriteAttributeValue("", 201233, settings_Persondatapolitik, 201233, 27, false); 2164 EndWriteAttribute(); 2165 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n\r\n <input type=\"hidden\" name=\"fn\" value=\"krk\" />\r\n <input type=\"hidden\" name=\"origin\""); 2166 BeginWriteAttribute("value", " value=\"", 201406, "\"", 201414, 0); 2167 EndWriteAttribute(); 2168 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2169 BeginWriteAttribute("value", " value=\"", 201464, "\"", 201472, 0); 2170 EndWriteAttribute(); 2171 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2172 BeginWriteAttribute("value", " value=\"", 201520, "\"", 201544, 1); 2173 WriteAttributeValue("", 201528, Pageview.AreaID, 201528, 16, false); 2174 EndWriteAttribute(); 2175 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\""); 2176 BeginWriteAttribute("value", " value=\"", 201593, "\"", 201609, 1); 2177 WriteAttributeValue("", 201601, butikId, 201601, 8, false); 2178 EndWriteAttribute(); 2179 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2180 BeginWriteAttribute("value", " value=\"", 201663, "\"", 201671, 0); 2181 EndWriteAttribute(); 2182 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2183 BeginWriteAttribute("value", " value=\"", 201722, "\"", 201730, 0); 2184 EndWriteAttribute(); 2185 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2186 BeginWriteAttribute("value", " value=\"", 201780, "\"", 201788, 0); 2187 EndWriteAttribute(); 2188 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-advisor\" style=\"display:none;\">\r\n <h2>"); 2189 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2190 WriteLiteral("</h2>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2191 BeginWriteAttribute("src", " src=\"", 202021, "\"", 202027, 0); 2192 EndWriteAttribute(); 2193 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2194 </div> 2195 <div class=""col-6""> 2196 <p class=""js-maegler-name""></p> 2197 <p class=""js-maegler-address""></p> 2198 <p class=""js-maegler-phone""></p> 2199 <p class=""js-maegler-mail""></p> 2200 </div> 2201 </div> 2202 <p>"); 2203 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2204 WriteLiteral(@"</p> 2205 </div> 2206 </div> 2207 2208 <!--ÅBENT HUS--> 2209 <div id=""panel-aabenthus"" class=""panel panel-form""> 2210 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2211 <b></b> 2212 </button> 2213 2214 2215 <form id=""form-aabenthus"" method=""POST"" action=""/InboxHandler""> 2216 <h2>"); 2217 Write(Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")); 2218 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>"); 2219 Write(Translate("Smarptage:Adresse", "Adresse:")); 2220 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>"); 2221 Write(Translate("Smarptage:Date", "Dato:")); 2222 WriteLiteral("</strong> <label class=\"js-aabenthus-date mb-0\"></label>\r\n </div>\r\n <div class=\"d-block mb-4\">\r\n <strong>"); 2223 Write(Translate("Smarptage:Time", "Tidspunkt:")); 2224 WriteLiteral("</strong> <label class=\"js-aabenthus-time mb-0\"></label>\r\n </div>\r\n <h3>"); 2225 Write(Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")); 2226 WriteLiteral("</h3>\r\n <div class=\"form-group\">\r\n <label for=\"aabenthus-name\"><strong>"); 2227 Write(Translate("form-navn", "Navn")); 2228 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2229 BeginWriteAttribute("placeholder", " placeholder=\'", 203645, "\'", 203729, 1); 2230 WriteAttributeValue("", 203659, Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn"), 203659, 70, false); 2231 EndWriteAttribute(); 2232 BeginWriteAttribute("value", " value=\'", 203730, "\'", 203770, 1); 2233 WriteAttributeValue("", 203738, UserContext.Current?.User?.Name, 203738, 32, false); 2234 EndWriteAttribute(); 2235 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2236 Write(Translate("form-email", "E-mail")); 2237 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\""); 2238 BeginWriteAttribute("placeholder", " placeholder=\'", 204034, "\'", 204121, 1); 2239 WriteAttributeValue("", 204048, Translate("Smartpage:Aabenthus.Placeholder.Email", "Indtast din e-mail"), 204048, 73, false); 2240 EndWriteAttribute(); 2241 BeginWriteAttribute("value", " value=\'", 204122, "\'", 204162, 1); 2242 WriteAttributeValue("", 204130, UserContext.Current.User?.Email, 204130, 32, false); 2243 EndWriteAttribute(); 2244 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2245 Write(Translate("form-mobile", "Mobil nr.")); 2246 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2247 BeginWriteAttribute("placeholder", " placeholder=\'", 204455, "\'", 204542, 1); 2248 WriteAttributeValue("", 204469, Translate("Smartpage:Aabenthus.Placeholder.Mobile", "Indtast mobil nr."), 204469, 73, false); 2249 EndWriteAttribute(); 2250 BeginWriteAttribute("value", " value=\'", 204543, "\'", 204583, 1); 2251 WriteAttributeValue("", 204551, UserContext.Current.User?.Phone, 204551, 32, false); 2252 EndWriteAttribute(); 2253 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2254 Write(Translate("form-telephone", "Telefon nr.")); 2255 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2256 BeginWriteAttribute("placeholder", " placeholder=\'", 204853, "\'", 204939, 1); 2257 WriteAttributeValue("", 204867, Translate("Smartpage:Aabenthus.Placeholder.Telefon", "Indtast tlf nr."), 204867, 72, false); 2258 EndWriteAttribute(); 2259 BeginWriteAttribute("value", " value=\'", 204940, "\'", 204980, 1); 2260 WriteAttributeValue("", 204948, UserContext.Current.User?.Phone, 204948, 32, false); 2261 EndWriteAttribute(); 2262 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\">"); 2263 Write(Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")); 2264 WriteLiteral(@"</button> 2265 </div> 2266 </div> 2267 </div> 2268 <div class=""form-group""> 2269 <div class=""checkbox""> 2270 <label> 2271 <input type=""checkbox"" name=""kontaktmigok"" required /> 2272 2273 <span class=""base-color"">"); 2274 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2275 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group\">\r\n "); 2276 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>")); 2277 WriteLiteral("\r\n\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"ah\" />\r\n <input type=\"hidden\" name=\"origin\""); 2278 BeginWriteAttribute("value", " value=\"", 206143, "\"", 206151, 0); 2279 EndWriteAttribute(); 2280 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2281 BeginWriteAttribute("value", " value=\"", 206201, "\"", 206216, 1); 2282 WriteAttributeValue("", 206209, userID, 206209, 7, false); 2283 EndWriteAttribute(); 2284 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2285 BeginWriteAttribute("value", " value=\"", 206264, "\"", 206288, 1); 2286 WriteAttributeValue("", 206272, Pageview.AreaID, 206272, 16, false); 2287 EndWriteAttribute(); 2288 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\""); 2289 BeginWriteAttribute("value", " value=\"", 206337, "\"", 206353, 1); 2290 WriteAttributeValue("", 206345, butikId, 206345, 8, false); 2291 EndWriteAttribute(); 2292 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsaddresse\""); 2293 BeginWriteAttribute("value", " value=\"", 206407, "\"", 206415, 0); 2294 EndWriteAttribute(); 2295 WriteLiteral(" class=\"js-aabenthus-address-input\" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2296 BeginWriteAttribute("value", " value=\"", 206504, "\"", 206512, 0); 2297 EndWriteAttribute(); 2298 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2299 BeginWriteAttribute("value", " value=\"", 206563, "\"", 206571, 0); 2300 EndWriteAttribute(); 2301 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2302 BeginWriteAttribute("value", " value=\"", 206621, "\"", 206629, 0); 2303 EndWriteAttribute(); 2304 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2305 BeginWriteAttribute("value", " value=\"", 206679, "\"", 206687, 0); 2306 EndWriteAttribute(); 2307 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"sagsnr\""); 2308 BeginWriteAttribute("value", " value=\"", 206735, "\"", 206743, 0); 2309 EndWriteAttribute(); 2310 WriteLiteral(" class=\"js-sagsnr\" />\r\n <input type=\"hidden\" name=\"productId\""); 2311 BeginWriteAttribute("value", " value=\"", 206812, "\"", 206868, 1); 2312 WriteAttributeValue("", 206820, Dynamicweb.Context.Current.Request["ProductId"], 206820, 48, false); 2313 EndWriteAttribute(); 2314 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"aftaleid\""); 2315 BeginWriteAttribute("value", " value=\"", 206918, "\"", 206926, 0); 2316 EndWriteAttribute(); 2317 WriteLiteral(@" class=""js-aftaleid"" /> 2318 2319 <input type=""hidden"" name=""dateMail"" class=""js-aabenthus-date-input"" /> 2320 <input type=""hidden"" name=""timeMail"" class=""js-aabenthus-time-input"" /> 2321 <input type=""hidden"" name=""brokerImageMail"" class=""property-broker-image-input"" /> 2322 <input type=""hidden"" name=""employeeNameMail"" class=""js-maegler-employee-name-input"" /> 2323 <input type=""hidden"" name=""employeeTitleMail"" class=""js-maegler-employee-title-input"" /> 2324 <input type=""hidden"" name=""employeeMailMail"" class=""js-maegler-mail-input"" /> 2325 <input type=""hidden"" name=""employeeMobileMail"" class=""js-maegler-mobile-input"" /> 2326 <input type=""hidden"" name=""employeePhoneMail"" class=""js-maegler-phone-input"" /> 2327 2328 <input type=""hidden"" name=""brokerNameMail"" class=""js-broker-name-input"" /> 2329 <input type=""hidden"" name=""brokerAddressMail"" class=""js-broker-address-input"" /> 2330 <input type=""hidden"" name=""brokerPhoneMail"" class=""js-broker-phone-input"" /> 2331 </form> 2332 <di"); 2333 WriteLiteral("v id=\"tak-aabenthus\" style=\"display:none;\">\r\n <h2>"); 2334 Write(Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")); 2335 WriteLiteral("</h2>\r\n <div class=\"d-block\">\r\n <strong>"); 2336 Write(Translate("Smarptage:Adresse", "Adresse:")); 2337 WriteLiteral("</strong> <label class=\"js-aabenthus-address mb-0\"></label>\r\n </div>\r\n <div class=\"d-block\">\r\n <strong>"); 2338 Write(Translate("Smarptage:Date", "Dato:")); 2339 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>"); 2340 Write(Translate("Smarptage:Time", "Tidspunkt:")); 2341 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>"); 2342 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>")); 2343 WriteLiteral("</p>\r\n </div>\r\n <div class=\"js-not-employee\">\r\n <p>"); 2344 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")); 2345 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\""); 2346 BeginWriteAttribute("style", " style=\"", 209318, "\"", 209326, 0); 2347 EndWriteAttribute(); 2348 WriteLiteral(@"></div> 2349 2350 </div> 2351 </div> 2352 <div class=""col-12""> 2353 <div class=""bg-base""> 2354 2355 <div class=""js-employee""> 2356 <h4 class=""js-maegler-employee-name""></h4> 2357 <div class=""icon-container""> 2358 <i class=""fas fa-envelope""></i> <span class=""js-maegler-mail""></span> 2359 </div> 2360 <div class=""icon-container""> 2361 <i class=""fas fa-phone""></i> <span class=""js-maegler-mobile""></span> 2362 </div> 2363 </div> 2364 2365 2366 <h4 class=""js-maegler-name""></h4> 2367 <div class=""icon-container""> 2368 <i class=""fas fa-map-marker-alt""></i> <span class=""js-maegler-address""></span> 2369 </div> 2370 <div class=""icon-container""> 2371 <i class=""fas fa-phone""></i> <span class=""js-maegler-phone""></span>"); 2372 WriteLiteral(@" 2373 2374 </div> 2375 <a class=""btn btn-border"" onclick=""panelKontaktmaeglerGuldkoeber()"">KONTAKT MÆGLER</a> 2376 </div> 2377 </div> 2378 </div> 2379 </div> 2380 </div> 2381 2382 <!-- KONTAKT GULDKØBER --> 2383 <div id=""panel-kontakt-guldkoeber"" class=""panel panel-form""> 2384 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2385 <b></b> 2386 </button> 2387 <h2>"); 2388 Write(Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")); 2389 WriteLiteral("</h2>\r\n <form id=\"form-kontaktmaegler\" method=\"POST\" action=\"/InboxHandler\">\r\n <div class=\"form-group\">\r\n <label><strong>"); 2390 Write(Translate("form-navn", "Navn")); 2391 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2392 BeginWriteAttribute("placeholder", " placeholder=\'", 211111, "\'", 211156, 1); 2393 WriteAttributeValue("", 211125, Translate("form-navn", "Navn"), 211125, 31, false); 2394 EndWriteAttribute(); 2395 BeginWriteAttribute("value", " value=\'", 211157, "\'", 211196, 1); 2396 WriteAttributeValue("", 211165, UserContext.Current.User?.Name, 211165, 31, false); 2397 EndWriteAttribute(); 2398 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2399 Write(Translate("form-email", "E-mail")); 2400 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\""); 2401 BeginWriteAttribute("placeholder", " placeholder=\'", 211460, "\'", 211508, 1); 2402 WriteAttributeValue("", 211474, Translate("form-email", "E-mail"), 211474, 34, false); 2403 EndWriteAttribute(); 2404 BeginWriteAttribute("value", " value=\'", 211509, "\'", 211549, 1); 2405 WriteAttributeValue("", 211517, UserContext.Current.User?.Email, 211517, 32, false); 2406 EndWriteAttribute(); 2407 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2408 Write(Translate("form-mobile", "Mobil nr.")); 2409 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2410 BeginWriteAttribute("placeholder", " placeholder=\'", 211847, "\'", 211932, 1); 2411 WriteAttributeValue("", 211861, Translate("Smartpage:Kontakt.Placeholder.Mobile", "Indtast mobil nr."), 211861, 71, false); 2412 EndWriteAttribute(); 2413 BeginWriteAttribute("value", " value=\'", 211933, "\'", 211973, 1); 2414 WriteAttributeValue("", 211941, UserContext.Current.User?.Phone, 211941, 32, false); 2415 EndWriteAttribute(); 2416 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2417 Write(Translate("form-telephone", "Telefon nr.")); 2418 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2419 BeginWriteAttribute("placeholder", " placeholder=\'", 212243, "\'", 212327, 1); 2420 WriteAttributeValue("", 212257, Translate("Smartpage:Kontakt.Placeholder.Telefon", "Indtast tlf nr."), 212257, 70, false); 2421 EndWriteAttribute(); 2422 BeginWriteAttribute("value", " value=\'", 212328, "\'", 212368, 1); 2423 WriteAttributeValue("", 212336, UserContext.Current.User?.Phone, 212336, 32, false); 2424 EndWriteAttribute(); 2425 WriteLiteral(" />\r\n </div>\r\n </div>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2426 Write(Translate("form-zip", "Post nr")); 2427 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\""); 2428 BeginWriteAttribute("placeholder", " placeholder=\'", 212684, "\'", 212762, 1); 2429 WriteAttributeValue("", 212698, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 212698, 64, false); 2430 EndWriteAttribute(); 2431 BeginWriteAttribute("value", " value=\"", 212763, "\"", 212779, 1); 2432 WriteAttributeValue("", 212771, userZip, 212771, 8, false); 2433 EndWriteAttribute(); 2434 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2435 Write(Translate("form-city", "By")); 2436 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>"); 2437 Write(Translate("form-adresse", "Adresse")); 2438 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\""); 2439 BeginWriteAttribute("placeholder", " placeholder=\'", 213335, "\'", 213425, 1); 2440 WriteAttributeValue("", 213349, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 213349, 76, false); 2441 EndWriteAttribute(); 2442 BeginWriteAttribute("value", " value=\"", 213426, "\"", 213446, 1); 2443 WriteAttributeValue("", 213434, userAddress, 213434, 12, false); 2444 EndWriteAttribute(); 2445 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2446 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2447 WriteLiteral("</label>\r\n </div>\r\n <div class=\"form-group\">\r\n <textarea class=\"form-control\" name=\"besked\""); 2448 BeginWriteAttribute("placeholder", " placeholder=\'", 213772, "\'", 213850, 1); 2449 WriteAttributeValue("", 213786, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 213786, 64, false); 2450 EndWriteAttribute(); 2451 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>"); 2452 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2453 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\">"); 2454 Write(Translate("KontaktMægler", "Kontakt Mægler")); 2455 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2456 Write(privacyPolicyText); 2457 WriteLiteral(" <a"); 2458 BeginWriteAttribute("href", " href=\"", 214636, "\"", 214660, 2); 2459 WriteAttributeValue("", 214643, "mailto:", 214643, 7, true); 2460 WriteAttributeValue("", 214650, termsMail, 214650, 10, false); 2461 EndWriteAttribute(); 2462 WriteLiteral(">"); 2463 Write(termsMail); 2464 WriteLiteral("</a>.\r\n Læs mere på <a"); 2465 BeginWriteAttribute("href", " href=\"", 214705, "\"", 214739, 1); 2466 WriteAttributeValue("", 214712, settings_Persondatapolitik, 214712, 27, false); 2467 EndWriteAttribute(); 2468 WriteLiteral(">privatlivspolitikkerne</a>.\r\n </div>\r\n <input type=\"hidden\" name=\"fn\" value=\"gk\" />\r\n <input type=\"hidden\" name=\"origin\""); 2469 BeginWriteAttribute("value", " value=\"", 214882, "\"", 214890, 0); 2470 EndWriteAttribute(); 2471 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2472 BeginWriteAttribute("value", " value=\"", 214940, "\"", 214955, 1); 2473 WriteAttributeValue("", 214948, userID, 214948, 7, false); 2474 EndWriteAttribute(); 2475 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2476 BeginWriteAttribute("value", " value=\"", 215003, "\"", 215027, 1); 2477 WriteAttributeValue("", 215011, Pageview.AreaID, 215011, 16, false); 2478 EndWriteAttribute(); 2479 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"butikId\""); 2480 BeginWriteAttribute("value", " value=\"", 215076, "\"", 215092, 1); 2481 WriteAttributeValue("", 215084, butikId, 215084, 8, false); 2482 EndWriteAttribute(); 2483 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2484 BeginWriteAttribute("value", " value=\"", 215146, "\"", 215154, 0); 2485 EndWriteAttribute(); 2486 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2487 BeginWriteAttribute("value", " value=\"", 215205, "\"", 215213, 0); 2488 EndWriteAttribute(); 2489 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2490 BeginWriteAttribute("value", " value=\"", 215263, "\"", 215271, 0); 2491 EndWriteAttribute(); 2492 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2493 BeginWriteAttribute("value", " value=\"", 215321, "\"", 215329, 0); 2494 EndWriteAttribute(); 2495 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-kontakt-maegler-guldkoeber\" style=\"display:none;\">\r\n <h2>"); 2496 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2497 WriteLiteral("</h2>\r\n <p>"); 2498 Write(Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")); 2499 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2500 BeginWriteAttribute("src", " src=\"", 215691, "\"", 215697, 0); 2501 EndWriteAttribute(); 2502 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2503 </div> 2504 <div class=""col-6""> 2505 <p class=""js-maegler-name""></p> 2506 <p class=""js-maegler-address""></p> 2507 <p class=""js-maegler-phone""></p> 2508 <p class=""js-maegler-mail""></p> 2509 </div> 2510 </div> 2511 <p>"); 2512 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2513 WriteLiteral(@"</p> 2514 </div> 2515 </div> 2516 2517 <!-- BESTIL SALGSVURDERING --> 2518 <div id=""panel-salgsvurdering"" class=""panel panel-form""> 2519 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2520 <b></b> 2521 </button> 2522 2523 <form id=""bestil-salgsvurdering"" class=""buyer-advisor-form js-buyer-advisor-form"" method=""POST"" action=""/InboxHandler""> 2524 <h2 class=""js-buyer-advisor-header"">"); 2525 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")); 2526 WriteLiteral("</h2>\r\n <p>"); 2527 Write(Translate("form-salgsvurdering-beskrivelse", "")); 2528 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2529 Write(Translate("form-navn", "Navn")); 2530 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2531 BeginWriteAttribute("placeholder", " placeholder=\'", 216854, "\'", 216943, 1); 2532 WriteAttributeValue("", 216868, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 216868, 75, false); 2533 EndWriteAttribute(); 2534 BeginWriteAttribute("value", " value=\'", 216944, "\'", 216983, 1); 2535 WriteAttributeValue("", 216952, UserContext.Current.User?.Name, 216952, 31, false); 2536 EndWriteAttribute(); 2537 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2538 Write(Translate("form-email", "E-mail")); 2539 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\""); 2540 BeginWriteAttribute("placeholder", " placeholder=\'", 217247, "\'", 217339, 1); 2541 WriteAttributeValue("", 217261, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 217261, 78, false); 2542 EndWriteAttribute(); 2543 BeginWriteAttribute("value", " value=\'", 217340, "\'", 217380, 1); 2544 WriteAttributeValue("", 217348, UserContext.Current.User?.Email, 217348, 32, false); 2545 EndWriteAttribute(); 2546 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2547 Write(Translate("form-mobile", "Mobil nr.")); 2548 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2549 BeginWriteAttribute("placeholder", " placeholder=\'", 217678, "\'", 217770, 1); 2550 WriteAttributeValue("", 217692, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 217692, 78, false); 2551 EndWriteAttribute(); 2552 BeginWriteAttribute("value", " value=\'", 217771, "\'", 217811, 1); 2553 WriteAttributeValue("", 217779, UserContext.Current.User?.Phone, 217779, 32, false); 2554 EndWriteAttribute(); 2555 WriteLiteral(" required />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2556 Write(Translate("form-telephone", "Telefon nr.")); 2557 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2558 BeginWriteAttribute("placeholder", " placeholder=\'", 218081, "\'", 218172, 1); 2559 WriteAttributeValue("", 218095, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 218095, 77, false); 2560 EndWriteAttribute(); 2561 BeginWriteAttribute("value", " value=\'", 218173, "\'", 218213, 1); 2562 WriteAttributeValue("", 218181, UserContext.Current.User?.Phone, 218181, 32, false); 2563 EndWriteAttribute(); 2564 WriteLiteral(" />\r\n </div>\r\n\r\n </div>\r\n\r\n <h3>"); 2565 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")); 2566 WriteLiteral("</h3>\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2567 Write(Translate("form-zip", "Post nr")); 2568 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\""); 2569 BeginWriteAttribute("placeholder", " placeholder=\'", 218633, "\'", 218711, 1); 2570 WriteAttributeValue("", 218647, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 218647, 64, false); 2571 EndWriteAttribute(); 2572 BeginWriteAttribute("value", " value=\"", 218712, "\"", 218728, 1); 2573 WriteAttributeValue("", 218720, userZip, 218720, 8, false); 2574 EndWriteAttribute(); 2575 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2576 Write(Translate("form-city", "By")); 2577 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>"); 2578 Write(Translate("form-adresse", "Adresse")); 2579 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\""); 2580 BeginWriteAttribute("placeholder", " placeholder=\'", 219282, "\'", 219372, 1); 2581 WriteAttributeValue("", 219296, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 219296, 76, false); 2582 EndWriteAttribute(); 2583 BeginWriteAttribute("value", " value=\"", 219373, "\"", 219393, 1); 2584 WriteAttributeValue("", 219381, userAddress, 219381, 12, false); 2585 EndWriteAttribute(); 2586 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2587 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2588 WriteLiteral(@"</label> 2589 </div> 2590 2591 <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""> 2592 <strong class=""f-12""><i class=""fas fa-plus""></i> "); 2593 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")); 2594 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\""); 2595 BeginWriteAttribute("placeholder", " placeholder=\'", 220163, "\'", 220241, 1); 2596 WriteAttributeValue("", 220177, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 220177, 64, false); 2597 EndWriteAttribute(); 2598 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>"); 2599 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")); 2600 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\""); 2601 BeginWriteAttribute("id", " id=\"", 220687, "\"", 220692, 0); 2602 EndWriteAttribute(); 2603 WriteLiteral(" name=\"choose-broker\""); 2604 BeginWriteAttribute("value", " value=\"", 220714, "\"", 220722, 0); 2605 EndWriteAttribute(); 2606 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\""); 2607 BeginWriteAttribute("for", " for=\"", 220788, "\"", 220794, 0); 2608 EndWriteAttribute(); 2609 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"); 2610 BeginWriteAttribute("src", " src=\"", 221040, "\"", 221046, 0); 2611 EndWriteAttribute(); 2612 WriteLiteral(@" class=""img-fluid js-broker-image""> 2613 </div> 2614 <div class=""col-6""> 2615 <span class=""d-block""> 2616 <strong class=""js-choose-broker-name""></strong> 2617 </span> 2618 <span class=""js-choose-broker-address""></span> 2619 <input type=""hidden"" class=""js-choose-broker-phone"""); 2620 BeginWriteAttribute("value", " value=\"", 221458, "\"", 221466, 0); 2621 EndWriteAttribute(); 2622 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\""); 2623 BeginWriteAttribute("value", " value=\"", 221547, "\"", 221555, 0); 2624 EndWriteAttribute(); 2625 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\">"); 2626 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")); 2627 WriteLiteral(@"</h3> 2628 <div class=""js-choose-broker col-12""> 2629 </div> 2630 2631 </div> 2632 2633 <div class=""form-group mt-4""> 2634 <div class=""checkbox""> 2635 <label> 2636 <input type=""checkbox"" name=""kontaktmigok"" required /> 2637 2638 <span class=""consent-checkbox"">"); 2639 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2640 WriteLiteral(@"</span> 2641 2642 </label> 2643 </div> 2644 </div> 2645 <div class=""form-group""> 2646 <div class=""row""> 2647 <div class=""col-12""> 2648 <button type=""submit"" class=""btn btn-green btn-block js-buyer-advisor-button"">"); 2649 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")); 2650 WriteLiteral("</button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2651 Write(privacyPolicyText); 2652 WriteLiteral(" <a"); 2653 BeginWriteAttribute("href", " href=\"", 222715, "\"", 222739, 2); 2654 WriteAttributeValue("", 222722, "mailto:", 222722, 7, true); 2655 WriteAttributeValue("", 222729, termsMail, 222729, 10, false); 2656 EndWriteAttribute(); 2657 WriteLiteral(">"); 2658 Write(termsMail); 2659 WriteLiteral("</a>.\r\n Læs mere på <a"); 2660 BeginWriteAttribute("href", " href=\"", 222784, "\"", 222818, 1); 2661 WriteAttributeValue("", 222791, settings_Persondatapolitik, 222791, 27, false); 2662 EndWriteAttribute(); 2663 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\""); 2664 BeginWriteAttribute("value", " value=\"", 222995, "\"", 223003, 0); 2665 EndWriteAttribute(); 2666 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2667 BeginWriteAttribute("value", " value=\"", 223053, "\"", 223068, 1); 2668 WriteAttributeValue("", 223061, userID, 223061, 7, false); 2669 EndWriteAttribute(); 2670 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2671 BeginWriteAttribute("value", " value=\"", 223116, "\"", 223140, 1); 2672 WriteAttributeValue("", 223124, Pageview.AreaID, 223124, 16, false); 2673 EndWriteAttribute(); 2674 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning\" name=\"boligvisning\""); 2675 BeginWriteAttribute("value", " value=\"", 223212, "\"", 223220, 0); 2676 EndWriteAttribute(); 2677 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-butikid\" name=\"butikId\""); 2678 BeginWriteAttribute("value", " value=\"", 223303, "\"", 223311, 0); 2679 EndWriteAttribute(); 2680 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-sagsnr\" name=\"sagsnr\""); 2681 BeginWriteAttribute("value", " value=\"", 223392, "\"", 223400, 0); 2682 EndWriteAttribute(); 2683 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\""); 2684 BeginWriteAttribute("value", " value=\"", 223451, "\"", 223507, 1); 2685 WriteAttributeValue("", 223459, Dynamicweb.Context.Current.Request["ProductId"], 223459, 48, false); 2686 EndWriteAttribute(); 2687 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2688 BeginWriteAttribute("value", " value=\"", 223561, "\"", 223569, 0); 2689 EndWriteAttribute(); 2690 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2691 BeginWriteAttribute("value", " value=\"", 223620, "\"", 223628, 0); 2692 EndWriteAttribute(); 2693 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2694 BeginWriteAttribute("value", " value=\"", 223678, "\"", 223686, 0); 2695 EndWriteAttribute(); 2696 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2697 BeginWriteAttribute("value", " value=\"", 223736, "\"", 223744, 0); 2698 EndWriteAttribute(); 2699 WriteLiteral(" />\r\n <input class=\"js-value-check\" type=\"hidden\" name=\"valueCheck\""); 2700 BeginWriteAttribute("value", " value=\"", 223819, "\"", 223827, 0); 2701 EndWriteAttribute(); 2702 WriteLiteral(" />\r\n <input class=\"js-green-appraisal\" type=\"hidden\" name=\"greenAppraisal\""); 2703 BeginWriteAttribute("value", " value=\"", 223910, "\"", 223918, 0); 2704 EndWriteAttribute(); 2705 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>"); 2706 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2707 WriteLiteral("</h2>\r\n <p>"); 2708 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")); 2709 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2710 BeginWriteAttribute("src", " src=\"", 224280, "\"", 224286, 0); 2711 EndWriteAttribute(); 2712 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2713 </div> 2714 <div class=""col-6""> 2715 <p class=""js-maegler-name""></p> 2716 <p class=""js-maegler-address""></p> 2717 <p class=""js-maegler-phone""></p> 2718 <p class=""js-maegler-mail""></p> 2719 </div> 2720 </div> 2721 <p>"); 2722 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2723 WriteLiteral(@"</p> 2724 </div> 2725 </div> 2726 2727 <!-- BESTIL SALGSVURDERING GULDKØBER --> 2728 <div id=""panel-salgsvurdering-guldkoeber"" class=""panel panel-form""> 2729 <button type=""button"" class=""close"" data-dismiss=""panel-form"" aria-label=""Close""> 2730 <b></b> 2731 </button> 2732 2733 <form id=""bestil-salgsvurdering-guldkoeber"" method=""POST"" action=""/InboxHandler""> 2734 <h2>"); 2735 Write(Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")); 2736 WriteLiteral("</h2>\r\n <p>"); 2737 Write(Translate("form-salgsvurdering-beskrivelse", "")); 2738 WriteLiteral("</p>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2739 Write(Translate("form-navn", "Navn")); 2740 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"text\" name=\"navn\""); 2741 BeginWriteAttribute("placeholder", " placeholder=\'", 225394, "\'", 225483, 1); 2742 WriteAttributeValue("", 225408, Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn"), 225408, 75, false); 2743 EndWriteAttribute(); 2744 BeginWriteAttribute("value", " value=\'", 225484, "\'", 225523, 1); 2745 WriteAttributeValue("", 225492, UserContext.Current.User?.Name, 225492, 31, false); 2746 EndWriteAttribute(); 2747 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group\">\r\n <label><strong>"); 2748 Write(Translate("form-email", "E-mail")); 2749 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\""); 2750 BeginWriteAttribute("placeholder", " placeholder=\'", 225787, "\'", 225879, 1); 2751 WriteAttributeValue("", 225801, Translate("Smartpage:Salgsvurdering.Placeholder.Email", "Indtast din e-mail"), 225801, 78, false); 2752 EndWriteAttribute(); 2753 BeginWriteAttribute("value", " value=\'", 225880, "\'", 225920, 1); 2754 WriteAttributeValue("", 225888, UserContext.Current.User?.Email, 225888, 32, false); 2755 EndWriteAttribute(); 2756 WriteLiteral(" required />\r\n </div>\r\n <div class=\"form-group row mb-4\">\r\n <div class=\"col-6\">\r\n <label><strong>"); 2757 Write(Translate("form-telephone", "Telefon nr.")); 2758 WriteLiteral("</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"telefonnummer\""); 2759 BeginWriteAttribute("placeholder", " placeholder=\'", 226229, "\'", 226320, 1); 2760 WriteAttributeValue("", 226243, Translate("Smartpage:Salgsvurdering.Placeholder.Telefon", "Indtast tlf nr."), 226243, 77, false); 2761 EndWriteAttribute(); 2762 BeginWriteAttribute("value", " value=\'", 226321, "\'", 226361, 1); 2763 WriteAttributeValue("", 226329, UserContext.Current.User?.Phone, 226329, 32, false); 2764 EndWriteAttribute(); 2765 WriteLiteral(" />\r\n </div>\r\n <div class=\"col-6\">\r\n <label><strong>"); 2766 Write(Translate("form-mobile", "Mobil nr.")); 2767 WriteLiteral("*</strong></label>\r\n <input class=\"form-control\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"20\" name=\"mobile\""); 2768 BeginWriteAttribute("placeholder", " placeholder=\'", 226611, "\'", 226703, 1); 2769 WriteAttributeValue("", 226625, Translate("Smartpage:Salgsvurdering.Placeholder.Mobile", "Indtast mobil nr."), 226625, 78, false); 2770 EndWriteAttribute(); 2771 BeginWriteAttribute("value", " value=\'", 226704, "\'", 226744, 1); 2772 WriteAttributeValue("", 226712, UserContext.Current.User?.Phone, 226712, 32, false); 2773 EndWriteAttribute(); 2774 WriteLiteral(" required />\r\n </div>\r\n </div>\r\n\r\n <h3>"); 2775 Write(Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")); 2776 WriteLiteral("</h3>\r\n\r\n <div class=\"form-group row\">\r\n <div class=\"col-4\">\r\n <label><strong>"); 2777 Write(Translate("form-zip", "Post nr")); 2778 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-postnummer js-updatebroker-list\" type=\"tel\" pattern=\"^[0-9]*$\" maxlength=\"4\" name=\"postnummer\""); 2779 BeginWriteAttribute("placeholder", " placeholder=\'", 227173, "\'", 227251, 1); 2780 WriteAttributeValue("", 227187, Translate("Smartpage:Aabenthus.Placeholder.Adresse", "Post nr"), 227187, 64, false); 2781 EndWriteAttribute(); 2782 BeginWriteAttribute("value", " value=\"", 227252, "\"", 227268, 1); 2783 WriteAttributeValue("", 227260, userZip, 227260, 8, false); 2784 EndWriteAttribute(); 2785 WriteLiteral(" required />\r\n <input type=\"hidden\" class=\"js-postnummer-validation\" />\r\n </div>\r\n <div class=\"col-8\">\r\n <label><strong>"); 2786 Write(Translate("form-city", "By")); 2787 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>"); 2788 Write(Translate("form-adresse", "Adresse")); 2789 WriteLiteral("*</strong></label>\r\n <input class=\"form-control js-validate-address\" type=\"text\" name=\"adresse\""); 2790 BeginWriteAttribute("placeholder", " placeholder=\'", 227822, "\'", 227912, 1); 2791 WriteAttributeValue("", 227836, Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse"), 227836, 76, false); 2792 EndWriteAttribute(); 2793 BeginWriteAttribute("value", " value=\"", 227913, "\"", 227933, 1); 2794 WriteAttributeValue("", 227921, userAddress, 227921, 12, false); 2795 EndWriteAttribute(); 2796 WriteLiteral(" required />\r\n <label class=\"form-validate-error js-address-error d-none\" for=\"adresse\">"); 2797 Write(Translate("Smarptage:Kontakt.Forkert adresse", "Den indtastede adresse matchede ikke en kendt dansk adresse")); 2798 WriteLiteral(@"</label> 2799 </div> 2800 2801 <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""> 2802 <strong class=""f-12""><i class=""fas fa-plus""></i> "); 2803 Write(Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")); 2804 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\""); 2805 BeginWriteAttribute("placeholder", " placeholder=\'", 228703, "\'", 228781, 1); 2806 WriteAttributeValue("", 228717, Translate("form-besked-max", "Skriv en besked på max 150 tegn"), 228717, 64, false); 2807 EndWriteAttribute(); 2808 WriteLiteral(" maxlength=\"150\"></textarea>\r\n </div>\r\n </div>\r\n\r\n <div class=\"salgsvurdering-precheck\">\r\n <h3>"); 2809 Write(Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")); 2810 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\""); 2811 BeginWriteAttribute("id", " id=\"", 229225, "\"", 229230, 0); 2812 EndWriteAttribute(); 2813 WriteLiteral(" name=\"choose-broker-gk\""); 2814 BeginWriteAttribute("value", " value=\"", 229255, "\"", 229263, 0); 2815 EndWriteAttribute(); 2816 WriteLiteral(" checked>\r\n <label class=\"js-broker-label\""); 2817 BeginWriteAttribute("for", " for=\"", 229329, "\"", 229335, 0); 2818 EndWriteAttribute(); 2819 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"); 2820 BeginWriteAttribute("src", " src=\"", 229581, "\"", 229587, 0); 2821 EndWriteAttribute(); 2822 WriteLiteral(@" class=""img-fluid js-broker-image""> 2823 </div> 2824 <div class=""col-6""> 2825 <span class=""d-block""> 2826 <strong class=""js-choose-broker-name""></strong> 2827 </span> 2828 <span class=""js-choose-broker-address""></span> 2829 <input type=""hidden"" class=""js-choose-broker-phone"""); 2830 BeginWriteAttribute("value", " value=\"", 229999, "\"", 230007, 0); 2831 EndWriteAttribute(); 2832 WriteLiteral(" />\r\n <input type=\"hidden\" class=\"js-choose-broker-email\""); 2833 BeginWriteAttribute("value", " value=\"", 230088, "\"", 230096, 0); 2834 EndWriteAttribute(); 2835 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\">"); 2836 Write(Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")); 2837 WriteLiteral(@"</h3> 2838 <div class=""js-choose-broker col-12""> 2839 </div> 2840 2841 </div> 2842 2843 2844 <div class=""form-group""> 2845 <div class=""row""> 2846 <div class=""col-12""> 2847 <button type=""submit"" class=""btn btn-green btn-block"">"); 2848 Write(Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")); 2849 WriteLiteral(@"</button> 2850 </div> 2851 </div> 2852 </div> 2853 <div class=""form-group""> 2854 <div class=""checkbox""> 2855 <label> 2856 <input type=""checkbox"" name=""kontaktmigok"" required /> 2857 2858 <span>"); 2859 Write(Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")); 2860 WriteLiteral("</span>\r\n\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"form-group form-group-terms\">\r\n "); 2861 Write(privacyPolicyText); 2862 WriteLiteral(" <a"); 2863 BeginWriteAttribute("href", " href=\"", 231204, "\"", 231228, 2); 2864 WriteAttributeValue("", 231211, "mailto:", 231211, 7, true); 2865 WriteAttributeValue("", 231218, termsMail, 231218, 10, false); 2866 EndWriteAttribute(); 2867 WriteLiteral(">"); 2868 Write(termsMail); 2869 WriteLiteral("</a>.\r\n Læs mere på <a"); 2870 BeginWriteAttribute("href", " href=\"", 231273, "\"", 231307, 1); 2871 WriteAttributeValue("", 231280, settings_Persondatapolitik, 231280, 27, false); 2872 EndWriteAttribute(); 2873 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\""); 2874 BeginWriteAttribute("value", " value=\"", 231484, "\"", 231492, 0); 2875 EndWriteAttribute(); 2876 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"brugerId\""); 2877 BeginWriteAttribute("value", " value=\"", 231542, "\"", 231557, 1); 2878 WriteAttributeValue("", 231550, userID, 231550, 7, false); 2879 EndWriteAttribute(); 2880 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"areaid\""); 2881 BeginWriteAttribute("value", " value=\"", 231605, "\"", 231629, 1); 2882 WriteAttributeValue("", 231613, Pageview.AreaID, 231613, 16, false); 2883 EndWriteAttribute(); 2884 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"boligvisning-gk\" name=\"boligvisning\""); 2885 BeginWriteAttribute("value", " value=\"", 231704, "\"", 231712, 0); 2886 EndWriteAttribute(); 2887 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-butikid\" name=\"butikId\""); 2888 BeginWriteAttribute("value", " value=\"", 231798, "\"", 231806, 0); 2889 EndWriteAttribute(); 2890 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"panel-salgsvurdering-gk-sagsnr\" name=\"sagsnr\""); 2891 BeginWriteAttribute("value", " value=\"", 231890, "\"", 231898, 0); 2892 EndWriteAttribute(); 2893 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"productId\""); 2894 BeginWriteAttribute("value", " value=\"", 231949, "\"", 232005, 1); 2895 WriteAttributeValue("", 231957, Dynamicweb.Context.Current.Request["ProductId"], 231957, 48, false); 2896 EndWriteAttribute(); 2897 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"ejendomstype\""); 2898 BeginWriteAttribute("value", " value=\"", 232059, "\"", 232067, 0); 2899 EndWriteAttribute(); 2900 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"salgspris\""); 2901 BeginWriteAttribute("value", " value=\"", 232118, "\"", 232126, 0); 2902 EndWriteAttribute(); 2903 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"employee\""); 2904 BeginWriteAttribute("value", " value=\"", 232176, "\"", 232184, 0); 2905 EndWriteAttribute(); 2906 WriteLiteral(" />\r\n <input type=\"hidden\" name=\"modtager\""); 2907 BeginWriteAttribute("value", " value=\"", 232234, "\"", 232242, 0); 2908 EndWriteAttribute(); 2909 WriteLiteral(" />\r\n </form>\r\n <div id=\"tak-salgsvurdering\" style=\"display:none;\">\r\n <h2>"); 2910 Write(Translate("TakForDinInteresse", "Tak for din interesse")); 2911 WriteLiteral("</h2>\r\n <p>"); 2912 Write(Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")); 2913 WriteLiteral("</p>\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <img"); 2914 BeginWriteAttribute("src", " src=\"", 232604, "\"", 232610, 0); 2915 EndWriteAttribute(); 2916 WriteLiteral(@" class=""img-fluid js-maegler-img"" /> 2917 </div> 2918 <div class=""col-6""> 2919 <p class=""js-maegler-name""></p> 2920 <p class=""js-maegler-address""></p> 2921 <p class=""js-maegler-phone""></p> 2922 <p class=""js-maegler-mail""></p> 2923 </div> 2924 </div> 2925 <p>"); 2926 Write(Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")); 2927 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"); 2928 2929 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js")); 2930 WriteLiteral(" <script type=\"text/javascript\""); 2931 BeginWriteAttribute("src", " src=\'", 233415, "\'", 233519, 3); 2932 WriteAttributeValue("", 233421, TemplateUrl, 233421, 14, false); 2933 WriteAttributeValue("", 233435, "assets/webpack/js/3rdparty/viamapstrap.js?", 233435, 42, true); 2934 WriteAttributeValue("", 233477, viamapstrapFileInfo.LastWriteTime.Ticks, 233477, 42, false); 2935 EndWriteAttribute(); 2936 WriteLiteral(" async></script>\r\n"); 2937 2938 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js")); 2939 WriteLiteral(" <script type=\"text/javascript\""); 2940 BeginWriteAttribute("src", " src=\'", 233722, "\'", 233809, 3); 2941 WriteAttributeValue("", 233728, TemplateUrl, 233728, 14, false); 2942 WriteAttributeValue("", 233742, "assets/dist/bundle.app.min.js?", 233742, 30, true); 2943 WriteAttributeValue("", 233772, bundleFileInfo.LastWriteTime.Ticks, 233772, 37, false); 2944 EndWriteAttribute(); 2945 WriteLiteral(" async></script>\r\n"); 2946 WriteLiteral("\r\n "); 2947 Write(RenderSnippet("JavaScriptBottom")); 2948 WriteLiteral("\r\n\r\n"); 2949 if (Context.Current.Request.QueryString["ShowLogin"] == "true") 2950 { 2951 WriteLiteral(" <input class=\"js-showLogin\" value=\"true\" />\r\n"); 2952 } 2953 WriteLiteral("\r\n"); 2954 if (!string.IsNullOrEmpty(settings_ConduzeId)) 2955 { 2956 WriteLiteral(" <script type=\"text/javascript\" id=\"conduze-sdk\""); 2957 BeginWriteAttribute("src", " src=\"", 234133, "\"", 234194, 3); 2958 WriteAttributeValue("", 234139, "https://cdn.conduze.com/", 234139, 24, true); 2959 WriteAttributeValue("", 234163, settings_ConduzeId, 234163, 19, false); 2960 WriteAttributeValue("", 234182, "/tracking.js", 234182, 12, true); 2961 EndWriteAttribute(); 2962 WriteLiteral(" async></script>\r\n"); 2963 } 2964 WriteLiteral("\r\n"); 2965 if (!string.IsNullOrEmpty(settings_Weply)) 2966 { 2967 WriteLiteral(" <script"); 2968 BeginWriteAttribute("src", " src=\"", 234293, "\"", 234344, 2); 2969 WriteAttributeValue("", 234299, "https://app.weply.chat/widget/", 234299, 30, true); 2970 WriteAttributeValue("", 234329, settings_Weply, 234329, 15, false); 2971 EndWriteAttribute(); 2972 WriteLiteral(" async></script>\r\n"); 2973 } 2974 WriteLiteral("\r\n</body>\r\n</html>\r\n\r\n"); 2975 } 2976 #pragma warning restore 1998 2977 2978 void RenderErhvervsTypeCheckboxes(string productGroupFilter) 2979 { 2980 WriteLiteral(@" <div class=""col-xs-6 col-md-4""> 2981 <div class=""checkbox""> 2982 <label> 2983 <input type=""checkbox"" name=""propertytype"" value=""bolig/erhverv, kombineret erhverv og bolig, byejendom (kontor, butik, beboelse)"" /> 2984 <span>Bolig/erhverv</span> 2985 </label> 2986 </div> 2987 <div class=""checkbox""> 2988 <label> 2989 <input type=""checkbox"" name=""propertytype"" value=""erhvervsgrund"" /> 2990 <span>Erhvervsgrund</span> 2991 </label> 2992 </div> 2993 <div class=""checkbox""> 2994 <label> 2995 <input type=""checkbox"" name=""propertytype"" value=""boligudlejning"" /> 2996 <span>Boligudlejningsejendom</span> 2997 </label> 2998 </div> 2999 <div class=""checkbox""> 3000 <label> 3001 <input type=""checkbox"" name=""propertytype"" value=""kontor, klinik, kontorhotel, showroom, under"); 3002 WriteLiteral(@"visningslokaler"" /> 3003 <span>Kontor</span> 3004 </label> 3005 </div> 3006 </div> 3007 <div class=""col-xs-6 col-md-4""> 3008 <div class=""checkbox""> 3009 <label> 3010 <input type=""checkbox"" name=""propertytype"" value=""butik / detail, butik / detailhandel"" /> 3011 <span>Butik/detailhandel</span> 3012 </label> 3013 </div> 3014 <div class=""checkbox""> 3015 <label> 3016 <input type=""checkbox"" name=""propertytype"" value=""industri / logistik, håndværk, industri, kontor / lager, logistik"" /> 3017 <span>Produktion/lager</span> 3018 </label> 3019 </div> 3020 <div class=""checkbox""> 3021 <label> 3022 <input type=""checkbox"" name=""propertytype"" value=""hotel - kursusejendom, restaurant"" /> 3023 <span>Hotel og restaurant</span> 3024 </label> 3025 </div> 3026 <div c"); 3027 WriteLiteral(@"lass=""checkbox""> 3028 <label> 3029 <input type=""checkbox"" name=""propertytype"" value=""projekt ejendom"" /> 3030 <span>Projektejendom</span> 3031 </label> 3032 </div> 3033 </div> 3034 <div class=""col-xs-6 col-md-4""> 3035 <div class=""checkbox""> 3036 <label> 3037 <input type=""checkbox"" name=""propertytype"" value=""andet"" /> 3038 <span>Andet</span> 3039 </label> 3040 </div> 3041 </div> 3042 "); 3043 WriteLiteral(" <input type=\"hidden\" name=\"propertycategory\" value=\"erhverv, udlejning\" />\r\n <input type=\"hidden\" name=\"filtrering\""); 3044 BeginWriteAttribute("value", " value=\"", 3445, "\"", 3472, 1); 3045 WriteAttributeValue("", 3453, productGroupFilter, 3453, 19, false); 3046 EndWriteAttribute(); 3047 WriteLiteral(" />\r\n"); 3048 } 3049 void RenderBoligtypeCheckboxes() 3050 { 3051 WriteLiteral(@" <div class=""col-6 col-md-4""> 3052 <div class=""checkbox""> 3053 <label> 3054 <input type=""checkbox"" name=""propertytype"" value=""villa"" /> 3055 <span>Villa</span> 3056 </label> 3057 </div> 3058 <div class=""checkbox""> 3059 <label> 3060 <input type=""checkbox"" name=""propertytype"" value=""rækkehus"" /> 3061 <span>Rækkehus</span> 3062 </label> 3063 </div> 3064 <div class=""checkbox""> 3065 <label> 3066 <input type=""checkbox"" name=""propertytype"" value=""villalejlighed"" /> 3067 <span>Villalejlighed</span> 3068 </label> 3069 </div> 3070 <div class=""checkbox""> 3071 <label> 3072 <input type=""checkbox"" name=""propertytype"" value=""andelsbolig"" /> 3073 <span>Andelsbolig</span> 3074 </label> 3075 </div> 3076 </div> 3077 <div class=""co"); 3078 WriteLiteral(@"l-6 col-md-4""> 3079 <div class=""checkbox""> 3080 <label> 3081 <input type=""checkbox"" name=""propertytype"" value=""fritidshus"" /> 3082 <span>Fritidsbolig</span> 3083 </label> 3084 </div> 3085 <div class=""checkbox""> 3086 <label> 3087 <input type=""checkbox"" name=""propertytype"" value=""ejerlejlighed"" class=""specialOption"" data-disable-slider=""#grundareal"" data-disable-slider-ranges=""#grundarealmin,#grundarealmax"" /> 3088 <span>Ejerlejlighed</span> 3089 </label> 3090 </div> 3091 <div class=""checkbox""> 3092 <label> 3093 <input type=""checkbox"" name=""propertytype"" value=""helårsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" /> 3094 <span>Helårsgrund</span> 3095 </label> 3096 </div> 3097 <div class=""checkbo"); 3098 WriteLiteral(@"x""> 3099 <label> 3100 <input type=""checkbox"" name=""propertytype"" value=""fritidsgrund"" class=""specialOption"" data-disable-slider=""#boligareal,#roomsslider"" data-disable-slider-ranges=""#boligarealmin,#boligarealmax,#roomsmin"" /> 3101 <span>Fritidsgrund</span> 3102 </label> 3103 </div> 3104 </div> 3105 <div class=""col-6 col-md-4""> 3106 <div class=""checkbox""> 3107 <label> 3108 <input type=""checkbox"" name=""propertytype"" value=""landejendom, lystejendom"" class=""specialOption"" data-disable-checkbox=""true"" /> 3109 <span>Landejendom</span> 3110 </label> 3111 </div> 3112 <div class=""checkbox""> 3113 <label> 3114 <input type=""checkbox"" name=""propertytype"" value=""erhverv"" class=""specialOption"" data-disable-checkbox=""true"" data-disable-slider=""#roomsslider"" data-disable-slider-ranges=""#roomsmin"" /> 3115 <span>Erhverv</span> 3116 "); 3117 WriteLiteral(" </label>\r\n </div>\r\n </div>\r\n"); 3118 } 3119 3120 void RenderChecked(string queryString) 3121 { 3122 if (Dynamicweb.Context.Current.Request.QueryString["propertytype"] == queryString) 3123 { 3124 Write("checked"); 3125 3126 } 3127 } 3128 3129 void RenderBoligtypeCheckboxesDropdown() 3130 { 3131 Dictionary<string, string> propertyTypes = new Dictionary<string, string>(){ 3132 { "Villa", "villa" }, { "Rækkehus", "rækkehus" }, { "Villalejlighed", "villalejlighed" }, 3133 { "Andelsbolig", "andelsbolig" } 3134 }; 3135 foreach (KeyValuePair<string, string> type in propertyTypes) 3136 { 3137 bool ischecked = false; 3138 string[] propertytypeSplit = new string[0]; 3139 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"])) 3140 { 3141 propertytypeSplit = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(','); 3142 } 3143 foreach (var propertytypeParams in propertytypeSplit) 3144 { 3145 if (propertytypeParams == type.Value) 3146 { 3147 ischecked = true; 3148 } 3149 } 3150 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3151 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3152 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertytype\""); 3153 BeginWriteAttribute("value", " value=\"", 8054, "\"", 8073, 1); 3154 WriteAttributeValue("", 8062, type.Value, 8062, 11, false); 3155 EndWriteAttribute(); 3156 WriteLiteral(" class=\"js-input-check datavalue js-datavalue js-count\" data-val=\""); 3157 Write(type.Key); 3158 WriteLiteral("\" onchange=\"submitFilter()\""); 3159 BeginWriteAttribute("checked", " checked=\"", 8176, "\"", 8196, 1); 3160 WriteAttributeValue("", 8186, ischecked, 8186, 10, false); 3161 EndWriteAttribute(); 3162 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3163 } 3164 3165 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3166 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")); 3167 WriteLiteral("\r\n"); 3168 3169 bool blboligcheck = false; 3170 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv") 3171 { 3172 blboligcheck = true; 3173 } 3174 WriteLiteral(" <input type=\"checkbox\" name=\"propertycategory\" value=\"Blandet Bolig/Erhverv\" class=\"specialOption js-input-check js-datavalue js-count\" data-disable-checkbox=\"true\" data-disable-slider=\"#roomsslider\" data-disable-slider-ranges=\"#roomsmin\""); 3175 BeginWriteAttribute("checked", " checked=\"", 9029, "\"", 9052, 1); 3176 WriteAttributeValue("", 9039, blboligcheck, 9039, 13, false); 3177 EndWriteAttribute(); 3178 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3179 3180 Dictionary<string, string> propertyTypes2 = new Dictionary<string, string>(){ 3181 { "Fritidsbolig", "fritidshus" }, { "Ejerlejlighed", "ejerlejlighed" }, { "Helårsgrund", "helårsgrund" }, 3182 { "Fritidsgrund", "fritidsgrund" }, { "Landejendom", "landejendom, lystejendom" } 3183 }; 3184 foreach (KeyValuePair<string, string> type in propertyTypes2) 3185 { 3186 bool ischecked = false; 3187 string[] propertytypeSplit2 = new string[0]; 3188 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertytype"])) 3189 { 3190 propertytypeSplit2 = Dynamicweb.Context.Current.Request.QueryString["propertytype"].Split(','); 3191 } 3192 foreach (var propertytypeParams in propertytypeSplit2) 3193 { 3194 if (propertytypeParams == type.Value) 3195 { 3196 ischecked = true; 3197 } 3198 } 3199 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3200 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3201 WriteLiteral("\r\n"); 3202 if (type.Value == "ejerlejlighed") 3203 { 3204 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3205 BeginWriteAttribute("value", " value=\"", 10439, "\"", 10458, 1); 3206 WriteAttributeValue("", 10447, type.Value, 10447, 11, false); 3207 EndWriteAttribute(); 3208 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#grundareal\" data-disable-slider-ranges=\"#grundarealmin,#grundarealmax\" data-val=\""); 3209 Write(type.Key); 3210 WriteLiteral("\" onchange=\"submitFilter()\""); 3211 BeginWriteAttribute("checked", " checked=\"", 10632, "\"", 10652, 1); 3212 WriteAttributeValue("", 10642, ischecked, 10642, 10, false); 3213 EndWriteAttribute(); 3214 WriteLiteral(" />\r\n"); 3215 } 3216 else if (type.Value == "helårsgrund") 3217 { 3218 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3219 BeginWriteAttribute("value", " value=\"", 10829, "\"", 10848, 1); 3220 WriteAttributeValue("", 10837, type.Value, 10837, 11, false); 3221 EndWriteAttribute(); 3222 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\""); 3223 Write(type.Key); 3224 WriteLiteral("\" onchange=\"submitFilter()\""); 3225 BeginWriteAttribute("checked", " checked=\"", 11045, "\"", 11065, 1); 3226 WriteAttributeValue("", 11055, ischecked, 11055, 10, false); 3227 EndWriteAttribute(); 3228 WriteLiteral(" />\r\n"); 3229 } 3230 else if (type.Value == "fritidsgrund") 3231 { 3232 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3233 BeginWriteAttribute("value", " value=\"", 11243, "\"", 11262, 1); 3234 WriteAttributeValue("", 11251, type.Value, 11251, 11, false); 3235 EndWriteAttribute(); 3236 WriteLiteral(" class=\"js-input-check datavalue\" data-disable-slider=\"#boligareal,#roomsslider\" data-disable-slider-ranges=\"#boligarealmin,#boligarealmax,#roomsmin\" data-val=\""); 3237 Write(type.Key); 3238 WriteLiteral("\" onchange=\"submitFilter()\""); 3239 BeginWriteAttribute("checked", " checked=\"", 11459, "\"", 11479, 1); 3240 WriteAttributeValue("", 11469, ischecked, 11469, 10, false); 3241 EndWriteAttribute(); 3242 WriteLiteral(" />\r\n"); 3243 } 3244 else 3245 { 3246 WriteLiteral(" <input type=\"checkbox\" name=\"propertytype\""); 3247 BeginWriteAttribute("value", " value=\"", 11623, "\"", 11642, 1); 3248 WriteAttributeValue("", 11631, type.Value, 11631, 11, false); 3249 EndWriteAttribute(); 3250 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\""); 3251 Write(type.Key); 3252 WriteLiteral("\" onchange=\"submitFilter()\""); 3253 BeginWriteAttribute("checked", " checked=\"", 11723, "\"", 11743, 1); 3254 WriteAttributeValue("", 11733, ischecked, 11733, 10, false); 3255 EndWriteAttribute(); 3256 WriteLiteral(" />\r\n"); 3257 } 3258 WriteLiteral(" <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3259 } 3260 } 3261 3262 void RenderBoligTypeErhverv(bool submitOnChange = false, bool frontpage = false) 3263 { 3264 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3265 { "Kontor", "OwnUseOffices" }, { "Lager + Produktion", "OwnUseStoresAndProductions" }, { "Detailhandel", "OwnUseRetailAndStores" }, 3266 { "Grunde", "OwnUseParcel" }, { "Andre typer", "OwnUseOtherTypes" }, { "Hotel + Restaurant", "OwnUseHotelsAndRestaurants" } 3267 }; 3268 var submitonchange = ""; 3269 if (submitOnChange) 3270 { 3271 submitonchange = "onchange='submitFilter()'"; 3272 } 3273 3274 foreach (KeyValuePair<string, string> type in erhverType) 3275 { 3276 string ischecked = ""; 3277 string[] olineParamsSplit = new string[0]; 3278 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"])) 3279 { 3280 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(','); 3281 } 3282 foreach (var olineParams in olineParamsSplit) 3283 { 3284 if (olineParams == type.Value) 3285 { 3286 ischecked = "checked"; 3287 } 3288 } 3289 3290 WriteLiteral(" <li>\r\n <label class=\"checkbox-container d-flex\">\r\n "); 3291 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3292 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\""); 3293 BeginWriteAttribute("value", " value=\"", 13387, "\"", 13406, 1); 3294 WriteAttributeValue("", 13395, type.Value, 13395, 11, false); 3295 EndWriteAttribute(); 3296 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\""); 3297 Write(type.Key); 3298 WriteLiteral("\" "); 3299 Write(submitonchange); 3300 WriteLiteral(" "); 3301 Write(ischecked); 3302 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3303 } 3304 3305 3306 bool ischeckedpropertycat = false; 3307 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["propertycategory"])) 3308 { 3309 if (Dynamicweb.Context.Current.Request.QueryString["propertycategory"] == "Blandet Bolig/Erhverv") 3310 { 3311 ischeckedpropertycat = true; 3312 } 3313 } 3314 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n "); 3315 Write(Translate("Smartpage:Search.DropDown.Blandet Bolig/Erhverv", "Blandet Bolig/Erhverv")); 3316 WriteLiteral("\r\n <input type=\"checkbox\" name=\"propertycategory\" value=\"Blandet Bolig/Erhverv\" class=\"js-input-check datavalue\" data-val=\"Blandet Bolig/Erhverv\" onchange=\"submitFilter()\""); 3317 BeginWriteAttribute("checked", " checked=\"", 14319, "\"", 14350, 1); 3318 WriteAttributeValue("", 14329, ischeckedpropertycat, 14329, 21, false); 3319 EndWriteAttribute(); 3320 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3321 } 3322 3323 void RenderBoligTypeErhvervInvest(bool submitOnChange = false) 3324 { 3325 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3326 { "Kontor", "Kontor" }, { "Lager + Produktion", "InvestmentStoresAndProductions" }, { "Boligudlejning", "InvestmentHousingRental" }, 3327 { "Detailhandel", "InvestmentRetailAndStores" }, { "Grunde", "InvestmentParcel" }, { "Hotel + Restaurant", "InvestmentHotelsAndRestaurants" }, { "Andre typer", "InvestmentOtherTypes" } 3328 }; 3329 3330 foreach (KeyValuePair<string, string> type in erhverType) 3331 { 3332 bool ischecked = false; 3333 string[] olineParamsSplit = new string[0]; 3334 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString["olinecategory"])) 3335 { 3336 olineParamsSplit = Dynamicweb.Context.Current.Request.QueryString["olinecategory"].Split(','); 3337 } 3338 foreach (var olineParams in olineParamsSplit) 3339 { 3340 if (olineParams == type.Value) 3341 { 3342 ischecked = true; 3343 } 3344 } 3345 3346 WriteLiteral(" <li>\r\n <label class=\"checkbox-container\">\r\n "); 3347 Write(Translate("Smartpage:Search.DropDown." + type.Key + "", "" + type.Key + "")); 3348 WriteLiteral("\r\n <input type=\"checkbox\" name=\"olinecategory\""); 3349 BeginWriteAttribute("value", " value=\"", 15837, "\"", 15856, 1); 3350 WriteAttributeValue("", 15845, type.Value, 15845, 11, false); 3351 EndWriteAttribute(); 3352 WriteLiteral(" class=\"js-input-check datavalue\" data-val=\""); 3353 Write(type.Key); 3354 WriteLiteral("\" onchange=\"submitFilter()\""); 3355 BeginWriteAttribute("checked", " checked=\"", 15937, "\"", 15957, 1); 3356 WriteAttributeValue("", 15947, ischecked, 15947, 10, false); 3357 EndWriteAttribute(); 3358 WriteLiteral(" />\r\n <span class=\"checkmark grey\"></span>\r\n </label>\r\n </li>\r\n"); 3359 } 3360 } 3361 int GetWebsiteSettingsPageId(string pageSysName) 3362 { 3363 int sideId = 0; 3364 3365 var pw = Dynamicweb.Frontend.PageView.Current(); 3366 3367 string settingsItemId = "1"; 3368 3369 if ((pw.Area.Item.ContainsKey("Type") && pw.Area.Item["Type"].ToString() == "bone") || Dynamicweb.Context.Current.Request.QueryString["bone"] == "true") 3370 { 3371 settingsItemId = "2"; 3372 } 3373 3374 var settingsItem = ItemManager.Storage.GetById("Delte_Egenskaber", settingsItemId); 3375 3376 if (settingsItem == null || !settingsItem.ContainsKey(pageSysName)) 3377 { 3378 return sideId; 3379 } 3380 3381 string boligsideLink = settingsItem[pageSysName] as String; 3382 string linkPrefix = "Default.aspx?ID="; 3383 3384 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower())) 3385 { 3386 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId); 3387 } 3388 3389 return sideId; 3390 } 3391 3392 int GetPageSettingsPageId(string pageSysName) 3393 { 3394 int sideId = 0; 3395 3396 var pw = Dynamicweb.Frontend.PageView.Current(); 3397 3398 if (pw.Page == null || pw.Page.PropertyItem == null || !pw.Page.PropertyItem.ContainsKey(pageSysName)) 3399 { 3400 return sideId; 3401 } 3402 3403 string boligsideLink = pw.Page.PropertyItem[pageSysName] as String; 3404 string linkPrefix = "Default.aspx?ID="; 3405 3406 if (!String.IsNullOrEmpty(boligsideLink) && boligsideLink.ToLower().StartsWith(linkPrefix.ToLower())) 3407 { 3408 Int32.TryParse(boligsideLink.Substring(linkPrefix.Length), out sideId); 3409 } 3410 3411 return sideId; 3412 } 3413 void RenderMobileSelectBox(string name, int max, int step, string className, string inputname) 3414 { 3415 WriteLiteral(" <select"); 3416 BeginWriteAttribute("class", " class=\"", 17900, "\"", 17955, 5); 3417 WriteAttributeValue("", 17908, "form-control", 17908, 12, true); 3418 WriteAttributeValue(" ", 17920, "d-block", 17921, 8, true); 3419 WriteAttributeValue(" ", 17928, "d-lg-none", 17929, 10, true); 3420 WriteAttributeValue(" ", 17938, "mb-10", 17939, 6, true); 3421 WriteAttributeValue(" ", 17944, className, 17945, 10, false); 3422 EndWriteAttribute(); 3423 WriteLiteral(" onchange=\"submitFilter()\""); 3424 BeginWriteAttribute("name", " name=\"", 17982, "\"", 17999, 1); 3425 WriteAttributeValue("", 17989, inputname, 17989, 10, false); 3426 EndWriteAttribute(); 3427 WriteLiteral(">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3428 Write(Translate("Smartpage:Search.Placeholder." + name + "", "" + name + "")); 3429 WriteLiteral("</option>\r\n\r\n"); 3430 for (var i = 0; i <= max; i += step) 3431 { 3432 var selected = string.Empty; 3433 var current = string.Empty; 3434 if (i == max) 3435 { 3436 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i)) 3437 { 3438 WriteLiteral(" <option"); 3439 BeginWriteAttribute("value", " value=\"", 18595, "\"", 18605, 1); 3440 WriteAttributeValue("", 18603, i, 18603, 2, false); 3441 EndWriteAttribute(); 3442 WriteLiteral(" data-value=\'"); 3443 Write(Convert.ToInt32(i).ToString("N0")); 3444 WriteLiteral("\' selected=\"selected\">"); 3445 Write(Convert.ToInt32(i).ToString("N0")); 3446 WriteLiteral("+</option>\r\n"); 3447 } 3448 else 3449 { 3450 WriteLiteral(" <option"); 3451 BeginWriteAttribute("value", " value=\"", 18824, "\"", 18834, 1); 3452 WriteAttributeValue("", 18832, i, 18832, 2, false); 3453 EndWriteAttribute(); 3454 WriteLiteral(" data-value=\'"); 3455 Write(Convert.ToInt32(i).ToString("N0")); 3456 WriteLiteral("\'>"); 3457 Write(Convert.ToInt32(i).ToString("N0")); 3458 WriteLiteral("+</option>\r\n"); 3459 } 3460 } 3461 else 3462 { 3463 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[inputname]) && Dynamicweb.Context.Current.Request.QueryString[inputname] == Convert.ToString(i)) 3464 { 3465 WriteLiteral(" <option"); 3466 BeginWriteAttribute("value", " value=\"", 19258, "\"", 19268, 1); 3467 WriteAttributeValue("", 19266, i, 19266, 2, false); 3468 EndWriteAttribute(); 3469 WriteLiteral(" data-value=\'"); 3470 Write(Convert.ToInt32(i).ToString("N0")); 3471 WriteLiteral("\' selected=\"selected\">"); 3472 Write(Convert.ToInt32(i).ToString("N0")); 3473 WriteLiteral("</option>\r\n"); 3474 } 3475 else 3476 { 3477 WriteLiteral(" <option"); 3478 BeginWriteAttribute("value", " value=\"", 19486, "\"", 19496, 1); 3479 WriteAttributeValue("", 19494, i, 19494, 2, false); 3480 EndWriteAttribute(); 3481 WriteLiteral(" data-value=\'"); 3482 Write(Convert.ToInt32(i).ToString("N0")); 3483 WriteLiteral("\'>"); 3484 Write(Convert.ToInt32(i).ToString("N0")); 3485 WriteLiteral("</option>\r\n"); 3486 } 3487 } 3488 } 3489 WriteLiteral(" </select>\r\n"); 3490 } 3491 3492 void RenderTopFilter(string parameter) 3493 { 3494 if (parameter == "pricemin" || parameter == "pricemax") 3495 { 3496 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["pricemin"])) 3497 { 3498 if (parameter == "pricemin") 3499 { 3500 Write("<div class='search-terms' id='priceFilter'>"); 3501 Write("Pris "); 3502 Write(Dynamicweb.Context.Current.Request[parameter]); 3503 3504 } 3505 3506 else 3507 { 3508 Write(" - "); 3509 Write(Dynamicweb.Context.Current.Request[parameter]); 3510 Write(" kr."); 3511 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"pricemin,pricemax\"></i>\r\n"); 3512 Write("</div>"); 3513 3514 } 3515 } 3516 } 3517 3518 else if (parameter == "subsidymin" || parameter == "subsidymax") 3519 { 3520 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidymin"])) 3521 { 3522 if (parameter == "subsidymin") 3523 { 3524 Write("<div class='search-terms' id='subsidyFilter'>"); 3525 Write("Årlig leje "); 3526 Write(Dynamicweb.Context.Current.Request[parameter]); 3527 3528 } 3529 3530 else 3531 { 3532 Write(" - "); 3533 Write(Dynamicweb.Context.Current.Request[parameter]); 3534 Write(" kr."); 3535 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidymin,subsidymax\"></i>\r\n"); 3536 Write("</div>"); 3537 3538 } 3539 } 3540 } 3541 else if (parameter == "etagearealmin" || parameter == "etagearealmax") 3542 { 3543 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["etagearealmin"])) 3544 { 3545 if (parameter == "etagearealmin") 3546 { 3547 Write("<div class='search-terms' id='etagearealFilter'>"); 3548 Write("Etageareal "); 3549 Write(Dynamicweb.Context.Current.Request[parameter]); 3550 3551 } 3552 3553 else 3554 { 3555 Write(" - "); 3556 Write(Dynamicweb.Context.Current.Request[parameter]); 3557 Write(" kvm."); 3558 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"etagearealmin,etagearealmax\"></i>\r\n"); 3559 Write("</div>"); 3560 3561 } 3562 } 3563 } 3564 3565 else if (parameter == "grundarealmin" || parameter == "grundarealmax") 3566 { 3567 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["grundarealmin"])) 3568 { 3569 if (parameter == "grundarealmin") 3570 { 3571 Write("<div class='search-terms' id='grundarealFilter'>"); 3572 Write("Grundareal "); 3573 Write(Dynamicweb.Context.Current.Request[parameter]); 3574 3575 } 3576 3577 else 3578 { 3579 Write(" - "); 3580 Write(Dynamicweb.Context.Current.Request[parameter]); 3581 Write(" kvm."); 3582 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"grundarealmin,grundarealmax\"></i>\r\n"); 3583 Write("</div>"); 3584 3585 } 3586 } 3587 } 3588 3589 else if (parameter == "subsidykvmmin" || parameter == "subsidykvmmax") 3590 { 3591 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["subsidykvmmin"])) 3592 { 3593 if (parameter == "subsidykvmmin") 3594 { 3595 Write("<div class='search-terms' id='subsidykvmFilter'>"); 3596 Write("Årlig leje kvm "); 3597 Write(Dynamicweb.Context.Current.Request[parameter]); 3598 3599 } 3600 3601 else 3602 { 3603 Write(" - "); 3604 Write(Dynamicweb.Context.Current.Request[parameter]); 3605 Write(" kr."); 3606 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\"subsidykvmmin,subsidykvmmax\"></i>\r\n"); 3607 Write("</div>"); 3608 3609 } 3610 } 3611 } 3612 3613 else if (parameter == "olinecategory") 3614 { 3615 3616 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["olinecategory"])) 3617 { 3618 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3619 {"OwnUseOffices", "Kontor" }, { "OwnUseStoresAndProductions","Lager + Produktion" }, { "OwnUseRetailAndStores","Detailhandel" }, 3620 { "OwnUseParcel", "Grunde" }, { "OwnUseHotelsAndRestaurants", "Hotel + Restaurant" }, { "OwnUseOtherTypes", "Andre typer"}, 3621 { "Kontor", "Kontor" }, { "InvestmentStoresAndProductions", "Lager + Produktion" }, { "InvestmentHousingRental", "Boligudlejning" }, 3622 { "InvestmentRetailAndStores", "Detailhandel" }, { "InvestmentParcel", "Grunde" }, { "InvestmentHotelsAndRestaurants", "Hotel + Restaurant" }, { "InvestmentOtherTypes", "Andre typer" } 3623 }; 3624 3625 3626 foreach (var er in erhverType) 3627 { 3628 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key)) 3629 { 3630 WriteLiteral(" <div class=\"search-terms\""); 3631 BeginWriteAttribute("id", " id=\"", 24666, "\"", 24681, 1); 3632 WriteAttributeValue("", 24671, parameter, 24671, 10, false); 3633 EndWriteAttribute(); 3634 WriteLiteral(">\r\n "); 3635 Write(er.Value); 3636 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3637 Write(parameter); 3638 WriteLiteral("\" data-val=\""); 3639 Write(er.Key); 3640 WriteLiteral("\"></i>\r\n </div>\r\n"); 3641 } 3642 } 3643 } 3644 } 3645 else if (parameter == "propertycategory") 3646 { 3647 3648 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["propertycategory"])) 3649 { 3650 Dictionary<string, string> erhverType = new Dictionary<string, string>(){ 3651 { "propertycategory", "Blandet Bolig/Erhverv" } 3652 }; 3653 3654 foreach (var er in erhverType) 3655 { 3656 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter]) && Dynamicweb.Context.Current.Request[parameter] == er.Value) 3657 { 3658 WriteLiteral(" <div class=\"search-terms\""); 3659 BeginWriteAttribute("id", " id=\"", 25587, "\"", 25602, 1); 3660 WriteAttributeValue("", 25592, parameter, 25592, 10, false); 3661 EndWriteAttribute(); 3662 WriteLiteral(">\r\n "); 3663 Write(er.Value); 3664 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3665 Write(parameter); 3666 WriteLiteral("\" data-val=\""); 3667 Write(er.Key); 3668 WriteLiteral("\"></i>\r\n </div>\r\n"); 3669 } 3670 } 3671 } 3672 } 3673 else if (parameter == "search") 3674 { 3675 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request["search"])) 3676 { 3677 WriteLiteral(" <div class=\"search-terms\""); 3678 BeginWriteAttribute("id", " id=\"", 26050, "\"", 26065, 1); 3679 WriteAttributeValue("", 26055, parameter, 26055, 10, false); 3680 EndWriteAttribute(); 3681 WriteLiteral(">\r\n "); 3682 Write(Dynamicweb.Context.Current.Request[parameter]); 3683 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3684 Write(parameter); 3685 WriteLiteral("\"></i>\r\n </div>\r\n"); 3686 } 3687 } 3688 else 3689 { 3690 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request[parameter])) 3691 { 3692 Dictionary<string, string> 3693 ubudsform = new Dictionary<string, string> 3694 (){ 3695 {"salg", "Salg" }, { "leje","Leje" } 3696 }; 3697 3698 foreach (var er in ubudsform) 3699 { 3700 if (Dynamicweb.Context.Current.Request[parameter].Contains(er.Key)) 3701 { 3702 WriteLiteral(" <div class=\"search-terms\""); 3703 BeginWriteAttribute("id", " id=\"", 27214, "\"", 27229, 1); 3704 WriteAttributeValue("", 27219, parameter, 27219, 10, false); 3705 EndWriteAttribute(); 3706 WriteLiteral(">\r\n "); 3707 Write(er.Value); 3708 WriteLiteral(" <i class=\"fa fa-times ml-2 pointer\" onclick=\"removeParams(this)\" data-tag=\""); 3709 Write(parameter); 3710 WriteLiteral("\" data-val=\""); 3711 Write(er.Key); 3712 WriteLiteral("\"></i>\r\n </div>\r\n"); 3713 } 3714 } 3715 3716 3717 } 3718 } 3719 } 3720 3721 void RenderSelectValue(string dropdownname, string dropdownvalue, string queryString) 3722 { 3723 var selected = ""; 3724 if (!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString[queryString]) && Dynamicweb.Context.Current.Request.QueryString[queryString] == dropdownvalue) 3725 { 3726 selected = "selected"; 3727 } 3728 3729 var current = string.Format("<option value='" + dropdownvalue + "'>" + dropdownname + "</option>", selected); 3730 3731 Write(current); 3732 3733 } 3734 3735 void RenderSearchForHousing(int searchPageId, string querySearch, string querySearchNameAttr, string queryZipCodeFrom, string queryZipCodeTo, string template, Item SettingsItem, string cssClasses = "") 3736 { 3737 WriteLiteral(" <div"); 3738 BeginWriteAttribute("class", " class=\"", 28233, "\"", 28279, 3); 3739 WriteAttributeValue("", 28241, "main-search-form", 28241, 16, true); 3740 WriteAttributeValue(" ", 28257, "frontpage", 28258, 10, true); 3741 WriteAttributeValue(" ", 28267, cssClasses, 28268, 11, false); 3742 EndWriteAttribute(); 3743 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>"); 3744 Write(Translate("Smartpage:Search.Søg bolig", "Søg bolig")); 3745 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>"); 3746 Write(Translate("Smartpage:Search.BoligerTilSalg", "Boliger til salg")); 3747 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\""); 3748 BeginWriteAttribute("value", " value=\'", 28994, "\'", 29015, 1); 3749 WriteAttributeValue("", 29002, searchPageId, 29002, 13, false); 3750 EndWriteAttribute(); 3751 WriteLiteral(@" id=""searchPageId-frontpage"" disabled=""disabled"" /> 3752 <div class=""row form-wrapper no-gutters""> 3753 3754 <div class=""col-xs-12 col-md-5 col-searchbar""> 3755 <div class=""searchbar""> 3756 <input type=""text"""); 3757 BeginWriteAttribute("name", " name=\"", 29293, "\"", 29320, 1); 3758 WriteAttributeValue("", 29300, querySearchNameAttr, 29300, 20, false); 3759 EndWriteAttribute(); 3760 WriteLiteral(" id=\"searchfield-frontpage\" class=\"search-input\" placeholder=\"Postnummer, by, vej eller sagsnummer\" tabindex=\"1\""); 3761 BeginWriteAttribute("value", " value=\"", 29433, "\"", 29511, 1); 3762 WriteAttributeValue("", 29441, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(querySearch), 29441, 70, false); 3763 EndWriteAttribute(); 3764 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodefrom-frontpage\" name=\"zipcodefrom\""); 3765 BeginWriteAttribute("value", " value=\"", 29611, "\"", 29694, 1); 3766 WriteAttributeValue("", 29619, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeFrom), 29619, 75, false); 3767 EndWriteAttribute(); 3768 WriteLiteral(" />\r\n <input type=\"hidden\" id=\"zipcodeto-frontpage\" name=\"zipcodeto\""); 3769 BeginWriteAttribute("value", " value=\"", 29790, "\"", 29871, 1); 3770 WriteAttributeValue("", 29798, Dynamicweb.Core.Encoders.HtmlEncoder.HtmlAttributeEncode(queryZipCodeTo), 29798, 73, false); 3771 EndWriteAttribute(); 3772 WriteLiteral(@" /> 3773 </div> 3774 </div> 3775 <div class=""col-xs-12 col-md-5""> 3776 <div class=""row no-gutters""> 3777 <div class=""col-xs-12 col-md-6 input-col""> 3778 <div class=""dropdown w-overlay""> 3779 <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""> 3780 "); 3781 Write(Translate("Smartpage:Search.Boligtype", "Boligtype")); 3782 WriteLiteral(@" 3783 </button> 3784 <div class=""dropdown-menu box-shadow bolig-dropdown-container"" aria-labelledby=""Boligtype""> 3785 <ul class=""bolig-dropdown list-unstyled""> 3786 "); 3787 3788 RenderBoligtypeCheckboxesDropdown(); 3789 WriteLiteral(" </ul>\r\n <span class=\"border-fat\"></span>\r\n <button class=\"btn btn-primary js-close-dropdown\">"); 3790 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 3791 WriteLiteral(@"</button> 3792 </div> 3793 3794 </div> 3795 3796 </div> 3797 <div class=""col-xs-12 col-md-6 input-col""> 3798 <div class=""dropdown w-overlay""> 3799 <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""> 3800 "); 3801 Write(Translate("Smartpage:Search.Pris", "Pris")); 3802 WriteLiteral(@" 3803 </button> 3804 <div class=""dropdown-menu box-shadow dropdown-price"" aria-labelledby=""Pris""> 3805 <input type=""text"" class=""form-control mb-10 js-auto-thousand js-pricemin-frontpage-input"""); 3806 BeginWriteAttribute("placeholder", " placeholder=\'", 32050, "\'", 32126, 1); 3807 WriteAttributeValue("", 32064, Translate("Smartpage:Search.Placeholder.MinPris","Min. pris"), 32064, 62, false); 3808 EndWriteAttribute(); 3809 WriteLiteral(" />\r\n <select class=\"form-control js-pricemin-frontpage-select js-input-min-select mb-10\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3810 Write(Translate("Smartpage:Search.Placeholder.MinPris", "Min. pris")); 3811 WriteLiteral("</option>\r\n"); 3812 for (var i = 0; i <= 10000000; i += 100000) 3813 { 3814 if (i == 10000000) 3815 { 3816 WriteLiteral(" <option"); 3817 BeginWriteAttribute("value", " value=\"", 32735, "\"", 32745, 1); 3818 WriteAttributeValue("", 32743, i, 32743, 2, false); 3819 EndWriteAttribute(); 3820 WriteLiteral(" data-value=\'"); 3821 Write(Convert.ToInt32(i).ToString("N0")); 3822 WriteLiteral("+\'>"); 3823 Write(Convert.ToInt32(i).ToString("N0")); 3824 WriteLiteral("+</option>\r\n"); 3825 } 3826 else 3827 { 3828 WriteLiteral(" <option"); 3829 BeginWriteAttribute("value", " value=\"", 33057, "\"", 33067, 1); 3830 WriteAttributeValue("", 33065, i, 33065, 2, false); 3831 EndWriteAttribute(); 3832 WriteLiteral(" data-value=\'"); 3833 Write(Convert.ToInt32(i).ToString("N0")); 3834 WriteLiteral("\'>"); 3835 Write(Convert.ToInt32(i).ToString("N0")); 3836 WriteLiteral("</option>\r\n"); 3837 } 3838 } 3839 WriteLiteral(@" </select> 3840 <input type=""hidden"" id=""pricemin-frontpage"" name=""pricemin"" /> 3841 3842 <input type=""text"" class=""form-control js-auto-thousand js-pricemax-frontpage-input"""); 3843 BeginWriteAttribute("placeholder", " placeholder=\'", 33542, "\'", 33618, 1); 3844 WriteAttributeValue("", 33556, Translate("Smartpage:Search.Placeholder.MaxPris","Max. pris"), 33556, 62, false); 3845 EndWriteAttribute(); 3846 WriteLiteral(" />\r\n <select class=\"form-control js-pricemax-frontpage-select js-input-max-select\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3847 Write(Translate("Smartpage:Search.Placeholder.MaxPris", "Max. pris")); 3848 WriteLiteral("</option>\r\n"); 3849 for (var i = 0; i <= 10000000; i += 100000) 3850 { 3851 if (i == 10000000) 3852 { 3853 WriteLiteral(" <option"); 3854 BeginWriteAttribute("value", " value=\"", 34221, "\"", 34231, 1); 3855 WriteAttributeValue("", 34229, i, 34229, 2, false); 3856 EndWriteAttribute(); 3857 WriteLiteral(" data-value=\'"); 3858 Write(Convert.ToInt32(i).ToString("N0")); 3859 WriteLiteral("+\'>"); 3860 Write(Convert.ToInt32(i).ToString("N0")); 3861 WriteLiteral("+</option>\r\n"); 3862 } 3863 else 3864 { 3865 WriteLiteral(" <option"); 3866 BeginWriteAttribute("value", " value=\"", 34543, "\"", 34553, 1); 3867 WriteAttributeValue("", 34551, i, 34551, 2, false); 3868 EndWriteAttribute(); 3869 WriteLiteral(" data-value=\'"); 3870 Write(Convert.ToInt32(i).ToString("N0")); 3871 WriteLiteral("\'>"); 3872 Write(Convert.ToInt32(i).ToString("N0")); 3873 WriteLiteral("</option>\r\n"); 3874 } 3875 } 3876 WriteLiteral(" </select>\r\n <input type=\"hidden\" id=\"pricemax-frontpage\" name=\"pricemax\" />\r\n <button class=\"btn btn-primary js-close-dropdown mt-3\">"); 3877 Write(Translate("Smartpage:Search.Anvend", "Anvend")); 3878 WriteLiteral(@"</button> 3879 </div> 3880 </div> 3881 </div> 3882 </div> 3883 </div> 3884 <div class=""col-xs-12 col-md-2 d-none d-md-block""> 3885 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 3886 Write(Translate("Smartpage:Search.Søg", "Søg")); 3887 WriteLiteral(@"</button> 3888 </div> 3889 </div> 3890 3891 <div class=""row moresearch-btn no-gutters""> 3892 <div class=""col-sm-12""> 3893 <div class=""row align-items-center no-gutters""> 3894 <div class=""col-12 col-md-4""> 3895 <button class=""btn-blank js-search-collapse"" type=""button"" data-toggle=""collapse"" data-target=""#moreSearch"" aria-expanded=""false"" aria-controls=""moreSearch""> 3896 <span class=""moreSearch-text""><i class=""fas fa-plus open-close""></i> <span class=""not-open"">"); 3897 Write(Translate("Smartpage:Search.Flere søgemuligheder", "Flere søgemuligheder")); 3898 WriteLiteral("</span> <span class=\"open\"><span class=\"js-filter-count\">0</span> "); 3899 Write(Translate("Smartpage:Search.FiltreAnvendt", "filtre anvendt")); 3900 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\">"); 3901 Write(Translate("Smartpage:Search.NulstilValg", "Nulstil valg")); 3902 WriteLiteral("</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"collapse\" id=\"moreSearch\">\r\n <h4 class=\"mt-20\"><b>"); 3903 Write(Translate("Smartpage:Search.Bolig", "Bolig")); 3904 WriteLiteral(@"</b></h4> 3905 <div class=""row align-items-end mb-30""> 3906 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 3907 <div class=""filter-container row""> 3908 <label class=""d-block col-12"">"); 3909 Write(Translate("Smartpage:Search.Boligareal", "Boligareal")); 3910 WriteLiteral(@"</label> 3911 <div class=""col-6 pr-sm-0 pr-2""> 3912 <input type=""text"" name=""boligarealmin"" id=""boligarealmin-frontpage"" class=""form-control js-boligarealmin-frontpage-input js-count"""); 3913 BeginWriteAttribute("placeholder", " placeholder=\'", 37419, "\'", 37491, 1); 3914 WriteAttributeValue("", 37433, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 37433, 58, false); 3915 EndWriteAttribute(); 3916 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3917 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 3918 WriteLiteral("</option>\r\n"); 3919 for (var i = 0; i <= 300; i += 10) 3920 { 3921 if (i == 300) 3922 { 3923 WriteLiteral(" <option"); 3924 BeginWriteAttribute("value", " value=\"", 38098, "\"", 38108, 1); 3925 WriteAttributeValue("", 38106, i, 38106, 2, false); 3926 EndWriteAttribute(); 3927 WriteLiteral(">"); 3928 Write(i); 3929 WriteLiteral("+</option>\r\n"); 3930 } 3931 else 3932 { 3933 WriteLiteral(" <option"); 3934 BeginWriteAttribute("value", " value=\"", 38355, "\"", 38365, 1); 3935 WriteAttributeValue("", 38363, i, 38363, 2, false); 3936 EndWriteAttribute(); 3937 WriteLiteral(">"); 3938 Write(i); 3939 WriteLiteral("</option>\r\n"); 3940 } 3941 } 3942 WriteLiteral(@" </select> 3943 </div> 3944 <div class=""col-6 pl-sm-0 pl-2""> 3945 <input type=""text"" name=""boligarealmax"" id=""boligarealmax-frontpage"" class=""form-control js-boligarealmax-frontpage-input js-count"""); 3946 BeginWriteAttribute("placeholder", " placeholder=\'", 38838, "\'", 38910, 1); 3947 WriteAttributeValue("", 38852, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 38852, 58, false); 3948 EndWriteAttribute(); 3949 WriteLiteral(" />\r\n <select class=\"form-control js-boligarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3950 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 3951 WriteLiteral("</option>\r\n"); 3952 for (var i = 0; i <= 300; i += 10) 3953 { 3954 if (i == 300) 3955 { 3956 WriteLiteral(" <option"); 3957 BeginWriteAttribute("value", " value=\"", 39517, "\"", 39527, 1); 3958 WriteAttributeValue("", 39525, i, 39525, 2, false); 3959 EndWriteAttribute(); 3960 WriteLiteral(">"); 3961 Write(i); 3962 WriteLiteral("+</option>\r\n"); 3963 } 3964 else 3965 { 3966 WriteLiteral(" <option"); 3967 BeginWriteAttribute("value", " value=\"", 39774, "\"", 39784, 1); 3968 WriteAttributeValue("", 39782, i, 39782, 2, false); 3969 EndWriteAttribute(); 3970 WriteLiteral(">"); 3971 Write(i); 3972 WriteLiteral("</option>\r\n"); 3973 } 3974 } 3975 WriteLiteral(@" </select> 3976 </div> 3977 </div> 3978 </div> 3979 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 3980 <div class=""filter-container row""> 3981 <label class=""d-block col-12"">"); 3982 Write(Translate("Smartpage:Search.Grundareal", "Grundareal")); 3983 WriteLiteral(@"</label> 3984 <div class=""col-6 pr-sm-0 pr-2""> 3985 <input type=""text"" name=""grundarealmin"" id=""grundarealmin-frontpage"" class=""form-control js-grundarealmin-frontpage-input js-count"""); 3986 BeginWriteAttribute("placeholder", " placeholder=\'", 40633, "\'", 40705, 1); 3987 WriteAttributeValue("", 40647, Translate("Smartpage:Search.Placeholder.Minm2","Min. m2"), 40647, 58, false); 3988 EndWriteAttribute(); 3989 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 3990 Write(Translate("Smartpage:Search.Placeholder.Minm2", "Min. m2")); 3991 WriteLiteral("</option>\r\n"); 3992 for (var i = 0; i <= 10000; i += 100) 3993 { 3994 if (i == 10000) 3995 { 3996 WriteLiteral(" <option"); 3997 BeginWriteAttribute("value", " value=\"", 41317, "\"", 41327, 1); 3998 WriteAttributeValue("", 41325, i, 41325, 2, false); 3999 EndWriteAttribute(); 4000 WriteLiteral(">"); 4001 Write(i); 4002 WriteLiteral("+</option>\r\n"); 4003 } 4004 else 4005 { 4006 WriteLiteral(" <option"); 4007 BeginWriteAttribute("value", " value=\"", 41574, "\"", 41584, 1); 4008 WriteAttributeValue("", 41582, i, 41582, 2, false); 4009 EndWriteAttribute(); 4010 WriteLiteral(">"); 4011 Write(i); 4012 WriteLiteral("</option>\r\n"); 4013 } 4014 } 4015 WriteLiteral(@" </select> 4016 </div> 4017 <div class=""col-6 pl-sm-0 pl-2""> 4018 <input type=""text"" name=""grundarealmax"" id=""grundarealmax-frontpage"" class=""form-control js-grundarealmax-frontpage-input js-count"""); 4019 BeginWriteAttribute("placeholder", " placeholder=\'", 42057, "\'", 42129, 1); 4020 WriteAttributeValue("", 42071, Translate("Smartpage:Search.Placeholder.Maxm2","Max. m2"), 42071, 58, false); 4021 EndWriteAttribute(); 4022 WriteLiteral(" />\r\n <select class=\"form-control js-grundarealmax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 4023 Write(Translate("Smartpage:Search.Placeholder.Maxm2", "Max. m2")); 4024 WriteLiteral("</option>\r\n"); 4025 for (var i = 0; i <= 10000; i += 100) 4026 { 4027 if (i == 10000) 4028 { 4029 WriteLiteral(" <option"); 4030 BeginWriteAttribute("value", " value=\"", 42741, "\"", 42751, 1); 4031 WriteAttributeValue("", 42749, i, 42749, 2, false); 4032 EndWriteAttribute(); 4033 WriteLiteral(">"); 4034 Write(i); 4035 WriteLiteral("+</option>\r\n"); 4036 } 4037 else 4038 { 4039 WriteLiteral(" <option"); 4040 BeginWriteAttribute("value", " value=\"", 42998, "\"", 43008, 1); 4041 WriteAttributeValue("", 43006, i, 43006, 2, false); 4042 EndWriteAttribute(); 4043 WriteLiteral(">"); 4044 Write(i); 4045 WriteLiteral("</option>\r\n"); 4046 } 4047 } 4048 WriteLiteral(@" </select> 4049 </div> 4050 </div> 4051 </div> 4052 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 4053 <div class=""filter-container row""> 4054 <label class=""d-block col-12"">Antal rum</label> 4055 4056 <div class=""col-6 pr-sm-0 pr-2""> 4057 <select name=""roomsmin"" id=""roomsmin-frontpage"" class=""form-control reverse js-count""> 4058 <option selected=""true"" disabled=""disabled"">"); 4059 Write(Translate("Smartpage:Search.Placeholder.Min", "Min")); 4060 WriteLiteral(@"</option> 4061 <option value=""1"">1</option> 4062 <option value=""2"">2</option> 4063 <option value=""3"">3</option> 4064 <option value=""4"">4</option> 4065 <option value=""5+"">5+</option> 4066 </select> 4067 </div> 4068 <div class=""col-6 pl-sm-0 pl-2""> 4069 <select name=""roomsmax"" id=""roomsmax-frontpage"" class=""form-control reverse js-count""> 4070 <option selected=""true"" disabled=""disabled"">"); 4071 Write(Translate("Smartpage:Search.Placeholder.Max", "Max")); 4072 WriteLiteral(@"</option> 4073 <option value=""1"">1</option> 4074 <option value=""2"">2</option> 4075 <option value=""3"">3</option> 4076 <option value=""4"">4</option> 4077 <option value=""5+"">"); 4078 Write(Translate("Smartpage:Rooms.5", "5")); 4079 WriteLiteral(@"</option> 4080 </select> 4081 </div> 4082 </div> 4083 </div> 4084 <div class=""col-12 col-sm-6 col-lg-3 mb-3 mb-lg-0""> 4085 <div class=""row""> 4086 <div class=""col-12""> 4087 <div class=""filter-container""> 4088 <label class=""d-block"">Energimærke</label> 4089 <select name=""energylabel"" id=""energylabel-frontpage"" class=""form-control reverse js-count""> 4090 <option disabled selected=""selected"">"); 4091 Write(Translate("Smartpage:Search.Vælg", "Vælg")); 4092 WriteLiteral(@"</option> 4093 <option value=""01"">G</option> 4094 <option value=""02"">F</option> 4095 <option value=""03"">E</option> 4096 <option value=""04"">D</option> 4097 <option value=""05"">C</option> 4098 <option value=""06"">B</option> 4099 <option value=""07"">A</option> 4100 <option value=""08"">A2010</option> 4101 <option value=""09"">A2015</option> 4102 <option value=""10"">A2020+</option> 4103 </select> 4104 </div> 4105 </div> 4106 "); 4107 WriteLiteral(" </div>\r\n </div>\r\n <div class=\"col-12 col-sm-6 col-lg-3 mt-3\">\r\n <h4"); 4108 BeginWriteAttribute("class", " class=\"", 47253, "\"", 47261, 0); 4109 EndWriteAttribute(); 4110 WriteLiteral("><b>"); 4111 Write(Translate("Smartpage:Search.Økonomi", "Økonomi")); 4112 WriteLiteral("</b></h4>\r\n <div class=\"filter-container row\">\r\n <label class=\"d-block col-12\">"); 4113 Write(Translate("Smartpage:Search.Ejerudgift/boligydelse pr. måned", "Ejerudgift/boligydelse pr. måned")); 4114 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\""); 4115 BeginWriteAttribute("placeholder", " placeholder=\'", 47817, "\'", 47891, 1); 4116 WriteAttributeValue("", 47831, Translate("Smartpage:Search.Placeholder.MinDKK","Min. DKK"), 47831, 60, false); 4117 EndWriteAttribute(); 4118 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymin-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 4119 Write(Translate("Smartpage:Search.Placeholder.MinDKK", "Min. DKK")); 4120 WriteLiteral("</option>\r\n"); 4121 for (var i = 0; i <= 25000; i += 1250) 4122 { 4123 if (i == 25000) 4124 { 4125 WriteLiteral(" <option>"); 4126 Write(Convert.ToInt32(i).ToString("N0")); 4127 WriteLiteral("+</option>\r\n"); 4128 } 4129 else 4130 { 4131 WriteLiteral(" <option>"); 4132 Write(Convert.ToInt32(i).ToString("N0")); 4133 WriteLiteral("</option>\r\n"); 4134 } 4135 } 4136 WriteLiteral(@" </select> 4137 </div> 4138 <div class=""col-6 pl-sm-0 pl-2""> 4139 <input type=""text"" name=""subsidymax"" id=""subsidymax-frontpage"" class=""form-control js-subsidymax-frontpage-input js-count"""); 4140 BeginWriteAttribute("placeholder", " placeholder=\'", 49276, "\'", 49350, 1); 4141 WriteAttributeValue("", 49290, Translate("Smartpage:Search.Placeholder.MaxDKK","Max. DKK"), 49290, 60, false); 4142 EndWriteAttribute(); 4143 WriteLiteral(" />\r\n <select class=\"form-control js-subsidymax-frontpage-select js-count\">\r\n <option selected=\"true\" disabled=\"disabled\">"); 4144 Write(Translate("Smartpage:Search.Placeholder.MaxDKK", "Max. DKK")); 4145 WriteLiteral("</option>\r\n"); 4146 for (var i = 0; i <= 25000; i += 1250) 4147 { 4148 if (i == 25000) 4149 { 4150 WriteLiteral(" <option"); 4151 BeginWriteAttribute("value", " value=\"", 49962, "\"", 49989, 1); 4152 WriteAttributeValue("", 49970, Convert.ToInt32(i), 49970, 19, false); 4153 EndWriteAttribute(); 4154 WriteLiteral(">"); 4155 Write(Convert.ToInt32(i).ToString("N0")); 4156 WriteLiteral("+</option>\r\n"); 4157 } 4158 else 4159 { 4160 WriteLiteral(" <option"); 4161 BeginWriteAttribute("value", " value=\"", 50268, "\"", 50295, 1); 4162 WriteAttributeValue("", 50276, Convert.ToInt32(i), 50276, 19, false); 4163 EndWriteAttribute(); 4164 WriteLiteral(">"); 4165 Write(Convert.ToInt32(i).ToString("N0")); 4166 WriteLiteral("</option>\r\n"); 4167 } 4168 } 4169 WriteLiteral(@" </select> 4170 </div> 4171 </div> 4172 </div> 4173 <div class=""col-12 col-sm-6 col-lg-4 offset-lg-5 mt-3 mt-sm-0""> 4174 <button type=""submit"" class=""btn btn-block btn-search""><i class=""fa fa-search""></i> "); 4175 Write(Translate("Smartpage:Search.AnvendFiltre", "Anvend filtre")); 4176 WriteLiteral(@"</button> 4177 </div> 4178 </div> 4179 </div> 4180 </div> 4181 </div> 4182 4183 <div class=""row d-block d-md-none form-wrapper no-gutters""> 4184 <div class=""col-xs-12 col-md-2""> 4185 <button type=""submit"" class=""btn btn-block btn-search btn-mobile-search"">"); 4186 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig")); 4187 WriteLiteral(@"<i class=""fa fa-search cta-icon""></i></button> 4188 </div> 4189 </div> 4190 </form> 4191 <div class=""front-page-actions d-md-none""> 4192 <div> 4193 <button class=""btn btn-block btn-search btn-mobile-search js-search-mobile"">"); 4194 Write(Translate("Smartpage:Search.SøgBolig", "Søg Bolig")); 4195 WriteLiteral("<i class=\"fa fa-search cta-icon\"></i></button>\r\n </div>\r\n <div>\r\n"); 4196 4197 string brokerSearchId = SettingsItem != null ? Dynamicweb.Core.Converter.ToString(SettingsItem["Maeglersogning"]).Replace("Default.aspx?Id=", "") : ""; 4198 string ctaText = Translate("Smartpage.Frontpage.Mobile.FindBroker", "FIND EJENDOMSMÆGLER"); 4199 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\""); 4200 BeginWriteAttribute("value", " value=\"", 52238, "\"", 52261, 1); 4201 WriteAttributeValue("", 52246, brokerSearchId, 52246, 15, false); 4202 EndWriteAttribute(); 4203 WriteLiteral(@" type=""hidden"" /> 4204 <div class=""icon-wrapper-wclick""> 4205 <i class=""fas fa-search ta-submit-on-icon-click""></i> 4206 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text"""); 4207 BeginWriteAttribute("placeholder", " placeholder=\"", 52565, "\"", 52587, 1); 4208 WriteAttributeValue("", 52579, ctaText, 52579, 8, false); 4209 EndWriteAttribute(); 4210 WriteLiteral(" onfocus=\"this.placeholder = \'\'\""); 4211 BeginWriteAttribute("onblur", " onblur=\"", 52620, "\"", 52656, 3); 4212 WriteAttributeValue("", 52629, "this.placeholder=\'", 52629, 18, true); 4213 WriteAttributeValue("", 52647, ctaText, 52647, 8, false); 4214 WriteAttributeValue("", 52655, "\'", 52655, 1, true); 4215 EndWriteAttribute(); 4216 WriteLiteral(" />\r\n </div>\r\n </form>\r\n"); 4217 WriteLiteral(" </div>\r\n <div>\r\n <a href=\"javascript:panelSalgsvurdering(\'Hovedmenu\')\" class=\"btn btn-orange btn-block\">"); 4218 Write(Translate("Smartpage:Frontpage.Mobile.GetFreeAppraisal", "BESTIL GRATIS VURDERING")); 4219 WriteLiteral("<i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n"); 4220 4221 } 4222 4223 void RenderSlideMenu(bool erhverv, string maeglersoegning) 4224 { 4225 WriteLiteral(@" <div id=""menu"" class=""main-menu-slide ""> 4226 <div class=""container""> 4227 <div class=""row""> 4228 <div class=""col-12""> 4229 <span class=""menu-headline"">MENU</span> 4230 </div> 4231 <div class=""menu-slide""> 4232 <b></b> 4233 </div> 4234 4235 <div class=""col-12 main-slidemenu""> 4236 "); 4237 4238 var navigationSettings = new NavigationSettings(); 4239 navigationSettings.StartLevel = 1; 4240 navigationSettings.StopLevel = 2; 4241 navigationSettings.ExpandMode = ExpandMode.All; 4242 navigationSettings.RootAreaId = Pageview.Area.ID; 4243 4244 Write(Navigation.RenderNavigation("Navigation/slideMenu.cshtml", navigationSettings)); 4245 WriteLiteral(" </div>\r\n <div class=\"col-12 bottom-btns\">\r\n\r\n"); 4246 4247 string[] maeglerid; 4248 string maegler = !string.IsNullOrEmpty(Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"])) ? Converter.ToString(Pageview.Area.Item["ErhvervMaeglersoegning"]) : "Default?Id=0"; 4249 4250 if (erhverv) 4251 { 4252 maeglerid = maegler.Split(new string[] { "?Id=" }, StringSplitOptions.None); 4253 } 4254 else 4255 { 4256 maeglerid = Convert.ToString(maeglersoegning).Split(new string[] { "?Id=" }, StringSplitOptions.None); 4257 } 4258 4259 WriteLiteral(" <form method=\"GET\" action=\"/Default.aspx\">\r\n <input name=\"id\""); 4260 BeginWriteAttribute("value", " value=\"", 55270, "\"", 55291, 1); 4261 WriteAttributeValue("", 55278, maeglerid[1], 55278, 13, false); 4262 EndWriteAttribute(); 4263 WriteLiteral(@" type=""hidden"" /> 4264 <div class=""icon-wrapper-wclick""> 4265 <i class=""fas fa-search ta-submit-on-icon-click""></i> 4266 <input class=""box-cta-input ta-postnummer ta-submit-on-select ta-submit-on-enter"" name=""q"" type=""text"""); 4267 BeginWriteAttribute("placeholder", " placeholder=\'", 55607, "\'", 55680, 1); 4268 WriteAttributeValue("", 55621, Translate("Smartpage:BoxWidget.FindMægler", "FIND MÆGLER"), 55621, 59, false); 4269 EndWriteAttribute(); 4270 WriteLiteral(" onfocus=\"this.placeholder = \'FIND MÆGLER\'\" />\r\n </div>\r\n </form>\r\n"); 4271 WriteLiteral(" <br />\r\n"); 4272 4273 var dpmaegler = "" + Context.Current.Session["DP"] + "Hovedmenu" + ""; 4274 WriteLiteral(" <a"); 4275 BeginWriteAttribute("href", " href=\"", 56046, "\"", 56117, 5); 4276 WriteAttributeValue("", 56053, "javascript:panelSalgsvurdering(\'", 56053, 32, true); 4277 WriteAttributeValue("", 56085, dpmaegler, 56085, 10, false); 4278 WriteAttributeValue("", 56095, "\',\'", 56095, 3, true); 4279 WriteAttributeValue("", 56098, Pageview.AreaID, 56098, 16, false); 4280 WriteAttributeValue("", 56114, "\');", 56114, 3, true); 4281 EndWriteAttribute(); 4282 WriteLiteral(" class=\"btn btn-block btn-default-invert js-close-menu\">Gratis salgsvurdering <i class=\"cta-icon fa fa-angle-right\"></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n"); 4283 } 4284 4285 void RenderBlockList(List<Block> blocks) 4286 { 4287 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false; 4288 blocks = blocks.OrderBy(item => item.SortId).ToList(); 4289 4290 foreach (Block item in blocks) 4291 { 4292 if (debug) { 4293 WriteLiteral(" <!-- Block START: "); 4294 Write(item.Id); 4295 WriteLiteral(" -->\r\n"); 4296 } 4297 4298 if (item.Design == null) 4299 { 4300 RenderBlock(item); 4301 } 4302 else if (item.Design.RenderType == RenderType.None) { 4303 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 4304 4305 WriteLiteral(" <div"); 4306 BeginWriteAttribute("class", " class=\"", 57408, "\"", 57432, 2); 4307 WriteAttributeValue("", 57416, cssClass, 57416, 9, false); 4308 WriteAttributeValue(" ", 57425, "dw-mod", 57426, 7, true); 4309 EndWriteAttribute(); 4310 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4311 } 4312 else if (item.Design.RenderType != RenderType.Hide) 4313 { 4314 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 4315 4316 if (!item.SkipRenderBlocksList) { 4317 if (item.Design.RenderType == RenderType.Row) 4318 { 4319 WriteLiteral(" <div"); 4320 BeginWriteAttribute("class", " class=\"", 57859, "\"", 57914, 4); 4321 WriteAttributeValue("", 57867, "grid", 57867, 4, true); 4322 WriteAttributeValue(" ", 57871, "grid--align-content-start", 57872, 26, true); 4323 WriteAttributeValue(" ", 57897, cssClass, 57898, 9, false); 4324 WriteAttributeValue(" ", 57907, "dw-mod", 57908, 7, true); 4325 EndWriteAttribute(); 4326 BeginWriteAttribute("id", " id=\"", 57915, "\"", 57935, 2); 4327 WriteAttributeValue("", 57920, "Block__", 57920, 7, true); 4328 WriteAttributeValue("", 57927, item.Id, 57927, 8, false); 4329 EndWriteAttribute(); 4330 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4331 } 4332 4333 if (item.Design.RenderType == RenderType.Column) 4334 { 4335 string hidePadding = item.Design.HidePadding ? "u-no-padding" : ""; 4336 string size = item.Design.Size ?? "12"; 4337 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size; 4338 4339 WriteLiteral(" <div"); 4340 BeginWriteAttribute("class", " class=\"", 58431, "\"", 58562, 9); 4341 WriteAttributeValue("", 58439, "grid__col-lg-", 58439, 13, true); 4342 WriteAttributeValue("", 58452, item.Design.Size, 58452, 17, false); 4343 WriteAttributeValue(" ", 58469, "grid__col-md-", 58470, 14, true); 4344 WriteAttributeValue("", 58483, item.Design.Size, 58483, 17, false); 4345 WriteAttributeValue(" ", 58500, "grid__col-sm-12", 58501, 16, true); 4346 WriteAttributeValue(" ", 58516, "grid__col-xs-12", 58517, 16, true); 4347 WriteAttributeValue(" ", 58532, hidePadding, 58533, 12, false); 4348 WriteAttributeValue(" ", 58545, cssClass, 58546, 9, false); 4349 WriteAttributeValue(" ", 58555, "dw-mod", 58556, 7, true); 4350 EndWriteAttribute(); 4351 BeginWriteAttribute("id", " id=\"", 58563, "\"", 58583, 2); 4352 WriteAttributeValue("", 58568, "Block__", 58568, 7, true); 4353 WriteAttributeValue("", 58575, item.Id, 58575, 8, false); 4354 EndWriteAttribute(); 4355 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4356 } 4357 4358 if (item.Design.RenderType == RenderType.Table) 4359 { 4360 WriteLiteral(" <table"); 4361 BeginWriteAttribute("class", " class=\"", 58814, "\"", 58844, 3); 4362 WriteAttributeValue("", 58822, "table", 58822, 5, true); 4363 WriteAttributeValue(" ", 58827, cssClass, 58828, 9, false); 4364 WriteAttributeValue(" ", 58837, "dw-mod", 58838, 7, true); 4365 EndWriteAttribute(); 4366 BeginWriteAttribute("id", " id=\"", 58845, "\"", 58865, 2); 4367 WriteAttributeValue("", 58850, "Block__", 58850, 7, true); 4368 WriteAttributeValue("", 58857, item.Id, 58857, 8, false); 4369 EndWriteAttribute(); 4370 WriteLiteral(">\r\n RenderBlock(item);\r\n </table>\r\n"); 4371 } 4372 4373 if (item.Design.RenderType == RenderType.TableRow) 4374 { 4375 WriteLiteral(" <tr"); 4376 BeginWriteAttribute("class", " class=\"", 59098, "\"", 59122, 2); 4377 WriteAttributeValue("", 59106, cssClass, 59106, 9, false); 4378 WriteAttributeValue(" ", 59115, "dw-mod", 59116, 7, true); 4379 EndWriteAttribute(); 4380 BeginWriteAttribute("id", " id=\"", 59123, "\"", 59143, 2); 4381 WriteAttributeValue("", 59128, "Block__", 59128, 7, true); 4382 WriteAttributeValue("", 59135, item.Id, 59135, 8, false); 4383 EndWriteAttribute(); 4384 WriteLiteral(">\r\n RenderBlock(item);\r\n </tr>\r\n"); 4385 } 4386 4387 if (item.Design.RenderType == RenderType.TableColumn) 4388 { 4389 WriteLiteral(" <td"); 4390 BeginWriteAttribute("class", " class=\"", 59376, "\"", 59400, 2); 4391 WriteAttributeValue("", 59384, cssClass, 59384, 9, false); 4392 WriteAttributeValue(" ", 59393, "dw-mod", 59394, 7, true); 4393 EndWriteAttribute(); 4394 BeginWriteAttribute("id", " id=\"", 59401, "\"", 59421, 2); 4395 WriteAttributeValue("", 59406, "Block__", 59406, 7, true); 4396 WriteAttributeValue("", 59413, item.Id, 59413, 8, false); 4397 EndWriteAttribute(); 4398 WriteLiteral(">\r\n RenderBlock(item);\r\n </td>\r\n"); 4399 } 4400 4401 if (item.Design.RenderType == RenderType.CardHeader) 4402 { 4403 WriteLiteral(" <div"); 4404 BeginWriteAttribute("class", " class=\"", 59654, "\"", 59690, 3); 4405 WriteAttributeValue("", 59662, "card-header", 59662, 11, true); 4406 WriteAttributeValue(" ", 59673, cssClass, 59674, 9, false); 4407 WriteAttributeValue(" ", 59683, "dw-mod", 59684, 7, true); 4408 EndWriteAttribute(); 4409 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4410 } 4411 4412 if (item.Design.RenderType == RenderType.CardBody) 4413 { 4414 WriteLiteral(" <div"); 4415 BeginWriteAttribute("class", " class=\"", 59922, "\"", 59951, 3); 4416 WriteAttributeValue("", 59930, "card", 59930, 4, true); 4417 WriteAttributeValue(" ", 59934, cssClass, 59935, 9, false); 4418 WriteAttributeValue(" ", 59944, "dw-mod", 59945, 7, true); 4419 EndWriteAttribute(); 4420 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4421 } 4422 4423 if (item.Design.RenderType == RenderType.CardFooter) 4424 { 4425 WriteLiteral(" <div"); 4426 BeginWriteAttribute("class", " class=\"", 60185, "\"", 60221, 3); 4427 WriteAttributeValue("", 60193, "card-footer", 60193, 11, true); 4428 WriteAttributeValue(" ", 60204, cssClass, 60205, 9, false); 4429 WriteAttributeValue(" ", 60214, "dw-mod", 60215, 7, true); 4430 EndWriteAttribute(); 4431 WriteLiteral(">\r\n RenderBlock(item);\r\n </div>\r\n"); 4432 } 4433 } 4434 else 4435 { 4436 RenderBlock(item); 4437 } 4438 } 4439 4440 if (debug) { 4441 WriteLiteral(" <!-- Block END: "); 4442 Write(item.Id); 4443 WriteLiteral(" -->\r\n"); 4444 } 4445 } 4446 } 4447 4448 void RenderBlock(Block item) 4449 { 4450 bool debug = !String.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(Dynamicweb.Context.Current.Request.QueryString.Get("debug")) : false; 4451 4452 if (item.Template != null) 4453 { 4454 Write(BlocksPage.RenderTemplate(item.Template)); 4455 4456 } 4457 4458 if (item.Component != null) 4459 { 4460 string customSufix = "Custom"; 4461 string methodName = item.Component.HelperName; 4462 4463 ComponentBase[] methodParameters = new ComponentBase[1]; 4464 methodParameters[0] = item.Component; 4465 Type methodType = this.GetType(); 4466 4467 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix); 4468 MethodInfo generalMethod = methodType.GetMethod(methodName); 4469 4470 try { 4471 if (debug) { 4472 WriteLiteral(" <!-- Component: "); 4473 Write(methodName.Replace("Render", "")); 4474 WriteLiteral(" -->\r\n"); 4475 } 4476 Write(customMethod.Invoke(this, methodParameters).ToString()); 4477 ; 4478 } catch { 4479 try { 4480 Write(generalMethod.Invoke(this, methodParameters).ToString()); 4481 4482 ; 4483 } catch(Exception ex) { 4484 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex); 4485 } 4486 } 4487 } 4488 4489 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList) 4490 { 4491 RenderBlockList(item.BlocksList); 4492 } 4493 } 4494 4495 void Render(ComponentBase component) 4496 { 4497 if (component != null) 4498 { 4499 Write(component.Render(this)); 4500 4501 } 4502 } 4503 4504 void RenderIcon(Icon settings) 4505 { 4506 if (settings != null) 4507 { 4508 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 4509 4510 if (settings.Name != null) 4511 { 4512 if (string.IsNullOrEmpty(settings.Label)) 4513 { 4514 WriteLiteral(" <i"); 4515 BeginWriteAttribute("class", " class=\"", 63117, "\"", 63175, 3); 4516 WriteAttributeValue("", 63125, settings.Prefix, 63125, 16, false); 4517 WriteAttributeValue(" ", 63141, settings.Name, 63142, 14, false); 4518 WriteAttributeValue(" ", 63156, settings.CssClass, 63157, 18, false); 4519 EndWriteAttribute(); 4520 WriteLiteral(" "); 4521 Write(color); 4522 WriteLiteral("></i>\r\n"); 4523 } 4524 else 4525 { 4526 if (settings.LabelPosition == IconLabelPosition.Before) 4527 { 4528 WriteLiteral(" <div"); 4529 BeginWriteAttribute("class", " class=\"", 63378, "\"", 63438, 3); 4530 WriteAttributeValue("", 63386, "u-flex", 63386, 6, true); 4531 WriteAttributeValue(" ", 63392, "u-flex--align-items-center", 63393, 27, true); 4532 WriteAttributeValue(" ", 63419, settings.CssClass, 63420, 18, false); 4533 EndWriteAttribute(); 4534 WriteLiteral(">"); 4535 Write(settings.Label); 4536 WriteLiteral(" <i"); 4537 BeginWriteAttribute("class", " class=\"", 63458, "\"", 63511, 3); 4538 WriteAttributeValue("", 63466, settings.Prefix, 63466, 16, false); 4539 WriteAttributeValue(" ", 63482, settings.Name, 63483, 14, false); 4540 WriteAttributeValue(" ", 63497, "u-margin-left", 63498, 14, true); 4541 EndWriteAttribute(); 4542 WriteLiteral(" "); 4543 Write(color); 4544 WriteLiteral("></i></div>\r\n"); 4545 } 4546 else 4547 { 4548 WriteLiteral(" <div"); 4549 BeginWriteAttribute("class", " class=\"", 63632, "\"", 63692, 3); 4550 WriteAttributeValue("", 63640, "u-flex", 63640, 6, true); 4551 WriteAttributeValue(" ", 63646, "u-flex--align-items-center", 63647, 27, true); 4552 WriteAttributeValue(" ", 63673, settings.CssClass, 63674, 18, false); 4553 EndWriteAttribute(); 4554 WriteLiteral("><i"); 4555 BeginWriteAttribute("class", " class=\"", 63696, "\"", 63762, 4); 4556 WriteAttributeValue("", 63704, settings.Prefix, 63704, 16, false); 4557 WriteAttributeValue(" ", 63720, settings.Name, 63721, 14, false); 4558 WriteAttributeValue(" ", 63735, "u-margin-right--lg", 63736, 19, true); 4559 WriteAttributeValue(" ", 63754, "u-w20px", 63755, 8, true); 4560 EndWriteAttribute(); 4561 WriteLiteral(" "); 4562 Write(color); 4563 WriteLiteral("></i>"); 4564 Write(settings.Label); 4565 WriteLiteral("</div>\r\n"); 4566 } 4567 } 4568 } 4569 else if (!string.IsNullOrEmpty(settings.Label)) 4570 { 4571 Write(settings.Label); 4572 4573 } 4574 } 4575 } 4576 4577 void RenderButton(Button settings) 4578 { 4579 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 4580 { 4581 Dictionary<string, string> attributes = new Dictionary<string, string>(); 4582 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 4583 if (settings.Disabled) { 4584 attributes.Add("disabled", "true"); 4585 classList.Add("disabled"); 4586 } 4587 4588 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle)) 4589 { 4590 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 4591 RenderConfirmDialog(settings); 4592 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true"; 4593 } 4594 4595 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 4596 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 4597 if (!string.IsNullOrEmpty(settings.AltText)) 4598 { 4599 attributes.Add("title", settings.AltText); 4600 } 4601 else if (!string.IsNullOrEmpty(settings.Title)) 4602 { 4603 string cleanTitle = Regex.Replace(settings.Title, "<.*?>", String.Empty); 4604 cleanTitle = cleanTitle.Replace("&nbsp;", " "); 4605 attributes.Add("title", cleanTitle); 4606 } 4607 4608 var onClickEvents = new List<string>(); 4609 if (!string.IsNullOrEmpty(settings.OnClick)) 4610 { 4611 onClickEvents.Add(settings.OnClick); 4612 } 4613 if (!string.IsNullOrEmpty(settings.Href)) 4614 { 4615 if (settings.Href.Contains("javascript")) 4616 { 4617 settings.Href = settings.Href.Replace("http://", ""); 4618 } 4619 onClickEvents.Add("location.href='" + settings.Href + "'"); 4620 } 4621 if (onClickEvents.Count > 0) 4622 { 4623 attributes.Add("onClick", string.Join(";", onClickEvents)); 4624 } 4625 4626 if (settings.ButtonLayout != ButtonLayout.None) 4627 { 4628 classList.Add("btn"); 4629 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 4630 if (btnLayout == "linkclean") 4631 { 4632 btnLayout = "link-clean"; //fix 4633 } 4634 classList.Add("btn--" + btnLayout); 4635 } 4636 4637 if (settings.Icon == null) 4638 { 4639 settings.Icon = new Icon(); 4640 } 4641 4642 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : ""; 4643 settings.Icon.Label = settings.Title; 4644 4645 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower()); 4646 4647 WriteLiteral(" <button"); 4648 BeginWriteAttribute("class", " class=\"", 67355, "\"", 67398, 2); 4649 WriteAttributeValue("", 67363, string.Join(" ", classList), 67363, 28, false); 4650 WriteAttributeValue(" ", 67391, "dw-mod", 67392, 7, true); 4651 EndWriteAttribute(); 4652 WriteLiteral(" "); 4653 Write(ComponentMethods.AddAttributes(attributes)); 4654 WriteLiteral(" "); 4655 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 4656 WriteLiteral(">"); 4657 RenderIcon(settings.Icon);WriteLiteral("</button>\r\n"); 4658 } 4659 } 4660 4661 void RenderConfirmDialog(Button settings) 4662 { 4663 Modal confirmDialog = new Modal { 4664 Id = settings.Id, 4665 Width = ModalWidth.Sm, 4666 Heading = new Heading 4667 { 4668 Level = 2, 4669 Title = settings.ConfirmTitle 4670 }, 4671 BodyText = settings.ConfirmText 4672 }; 4673 4674 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"}); 4675 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick }); 4676 4677 RenderModal(confirmDialog); 4678 } 4679 4680 void RenderLink(Link settings) 4681 { 4682 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 4683 { 4684 Dictionary<string, string> attributes = new Dictionary<string, string>(); 4685 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 4686 if (settings.Disabled) 4687 { 4688 attributes.Add("disabled", "true"); 4689 classList.Add("disabled"); 4690 } 4691 4692 if (!string.IsNullOrEmpty(settings.AltText)) 4693 { 4694 attributes.Add("title", settings.AltText); 4695 } 4696 else if (!string.IsNullOrEmpty(settings.Title)) 4697 { 4698 attributes.Add("title", settings.Title); 4699 } 4700 4701 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 4702 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 4703 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); } 4704 attributes.Add("href", settings.Href); 4705 4706 if (settings.ButtonLayout != ButtonLayout.None) 4707 { 4708 classList.Add("btn"); 4709 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 4710 if (btnLayout == "linkclean") 4711 { 4712 btnLayout = "link-clean"; //fix 4713 } 4714 classList.Add("btn--" + btnLayout); 4715 } 4716 4717 if (settings.Icon == null) 4718 { 4719 settings.Icon = new Icon(); 4720 } 4721 settings.Icon.Label = settings.Title; 4722 4723 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None) 4724 { 4725 settings.Rel = LinkRelType.Noopener; 4726 } 4727 if (settings.Target != LinkTargetType.None) 4728 { 4729 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower()); 4730 } 4731 if (settings.Download) 4732 { 4733 attributes.Add("download", "true"); 4734 } 4735 if (settings.Rel != LinkRelType.None) 4736 { 4737 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower()); 4738 } 4739 4740 WriteLiteral(" <a"); 4741 BeginWriteAttribute("class", " class=\"", 71130, "\"", 71173, 2); 4742 WriteAttributeValue("", 71138, string.Join(" ", classList), 71138, 28, false); 4743 WriteAttributeValue(" ", 71166, "dw-mod", 71167, 7, true); 4744 EndWriteAttribute(); 4745 WriteLiteral(" "); 4746 Write(ComponentMethods.AddAttributes(attributes)); 4747 WriteLiteral(" "); 4748 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 4749 WriteLiteral(">Render(settings.Icon);</a>\r\n"); 4750 } 4751 } 4752 4753 void RenderRating(Rating settings) 4754 { 4755 if (settings.Score > 0) 4756 { 4757 int rating = settings.Score; 4758 string iconType = "fa-star"; 4759 4760 switch (settings.Type.ToString()) { 4761 case "Stars": 4762 iconType = "fa-star"; 4763 break; 4764 case "Hearts": 4765 iconType = "fa-heart"; 4766 break; 4767 case "Lemons": 4768 iconType = "fa-lemon"; 4769 break; 4770 case "Bombs": 4771 iconType = "fa-bomb"; 4772 break; 4773 } 4774 4775 WriteLiteral(" <div class=\"u-ta-right\">\r\n"); 4776 for (int i = 0; i < settings.OutOf; i++) 4777 { 4778 WriteLiteral(" <i"); 4779 BeginWriteAttribute("class", " class=\"", 72307, "\"", 72354, 2); 4780 WriteAttributeValue("", 72315, rating > i ? "fas" : "far", 72315, 29, false); 4781 WriteAttributeValue(" ", 72344, iconType, 72345, 9, false); 4782 EndWriteAttribute(); 4783 WriteLiteral("></i>\r\n"); 4784 } 4785 WriteLiteral(" </div>\r\n"); 4786 } 4787 } 4788 4789 void RenderNavigation(Navigation settings) { 4790 RenderNavigation(new 4791 { 4792 id = settings.Id, 4793 cssclass = settings.CssClass, 4794 startLevel = settings.StartLevel, 4795 endlevel = settings.EndLevel, 4796 expandmode = settings.Expandmode, 4797 sitemapmode = settings.SitemapMode, 4798 template = settings.Template 4799 }); 4800 } 4801 4802 void RenderLeftNavigation(LeftNavigation settings) { 4803 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id; 4804 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template; 4805 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel; 4806 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel; 4807 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode; 4808 4809 WriteLiteral(" <div class=\"grid__cell\">\r\n RenderNavigation(settings);\r\n </div> \r\n"); 4810 } 4811 4812 void RenderHeading(Heading settings) 4813 { 4814 if (settings != null && !string.IsNullOrEmpty(settings.Title)) 4815 { 4816 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 4817 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div"; 4818 4819 Write("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">"); 4820 4821 if (!string.IsNullOrEmpty(settings.Link)) 4822 { 4823 RenderLink(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None }); 4824 } 4825 else 4826 { 4827 if (settings.Icon == null) 4828 { 4829 settings.Icon = new Icon(); 4830 } 4831 settings.Icon.Label = settings.Title; 4832 RenderIcon(settings.Icon); 4833 } 4834 Write("</" + tagName + ">"); 4835 ; 4836 } 4837 } 4838 4839 void RenderImage(Image settings) 4840 { 4841 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None) 4842 { 4843 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 4844 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); } 4845 4846 if (settings.Caption != null) 4847 { 4848 WriteLiteral(" "); 4849 WriteLiteral("<div>\r\n"); 4850 } 4851 4852 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower(); 4853 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower(); 4854 4855 WriteLiteral(" <div"); 4856 BeginWriteAttribute("class", " class=\"", 75835, "\"", 75916, 5); 4857 WriteAttributeValue("", 75843, "image-filter", 75843, 12, true); 4858 WriteAttributeValue(" ", 75855, "image-filter--", 75856, 15, true); 4859 WriteAttributeValue("", 75870, primaryFilterClass, 75870, 19, false); 4860 WriteAttributeValue(" ", 75889, "u-position-relative", 75890, 20, true); 4861 WriteAttributeValue(" ", 75909, "dw-mod", 75910, 7, true); 4862 EndWriteAttribute(); 4863 WriteLiteral(" "); 4864 Write(ComponentMethods.AddAttributes(optionalAttributes)); 4865 WriteLiteral(">\r\n <div"); 4866 BeginWriteAttribute("class", " class=\"", 75996, "\"", 76059, 4); 4867 WriteAttributeValue("", 76004, "image-filter", 76004, 12, true); 4868 WriteAttributeValue(" ", 76016, "image-filter--", 76017, 15, true); 4869 WriteAttributeValue("", 76031, secondaryFilterClass, 76031, 21, false); 4870 WriteAttributeValue(" ", 76052, "dw-mod", 76053, 7, true); 4871 EndWriteAttribute(); 4872 WriteLiteral(">\r\n"); 4873 if (settings.Link != null) 4874 { 4875 WriteLiteral(" <a"); 4876 BeginWriteAttribute("href", " href=\"", 76173, "\"", 76194, 1); 4877 WriteAttributeValue("", 76180, settings.Link, 76180, 14, false); 4878 EndWriteAttribute(); 4879 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n"); 4880 } 4881 else 4882 { 4883 RenderTheImage(settings); 4884 } 4885 WriteLiteral(" </div>\r\n </div>\r\n"); 4886 4887 if (settings.Caption != null) 4888 { 4889 WriteLiteral(" <span class=\"image-caption dw-mod\">"); 4890 Write(settings.Caption); 4891 WriteLiteral("</span>\r\n "); 4892 WriteLiteral("</div>\r\n"); 4893 } 4894 } 4895 else 4896 { 4897 if (settings.Caption != null) 4898 { 4899 WriteLiteral(" "); 4900 WriteLiteral("<div>\r\n"); 4901 } 4902 if (!string.IsNullOrEmpty(settings.Link)) 4903 { 4904 WriteLiteral(" <a"); 4905 BeginWriteAttribute("href", " href=\"", 76937, "\"", 76958, 1); 4906 WriteAttributeValue("", 76944, settings.Link, 76944, 14, false); 4907 EndWriteAttribute(); 4908 WriteLiteral(">\r\n RenderTheImage(settings);\r\n </a>\r\n"); 4909 } 4910 else 4911 { 4912 RenderTheImage(settings); 4913 } 4914 4915 if (settings.Caption != null) 4916 { 4917 WriteLiteral(" <span class=\"image-caption dw-mod\">"); 4918 Write(settings.Caption); 4919 WriteLiteral("</span>\r\n "); 4920 WriteLiteral("</div>\r\n"); 4921 } 4922 } 4923 } 4924 4925 void RenderTheImage(Image settings) 4926 { 4927 if (settings != null) 4928 { 4929 string alternativeImage = !string.IsNullOrEmpty(PageView.Current().AreaSettings.GetString("AlternativeImage")) ? PageView.Current().AreaSettings.GetFile("AlternativeImage")?.PathUrlEncoded : "/Images/missing_image.jpg"; 4930 string placeholderImage = "/Files/Images/placeholder.gif"; 4931 string imageEngine = "/Admin/Public/GetImage.ashx?"; 4932 4933 string imageStyle = ""; 4934 4935 switch (settings.Style) 4936 { 4937 case ImageStyle.Ball: 4938 imageStyle = "grid__cell-img--ball"; 4939 break; 4940 4941 case ImageStyle.Triangle: 4942 imageStyle = "grid__cell-img--triangle"; 4943 break; 4944 } 4945 4946 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle) 4947 { 4948 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop; 4949 4950 if (settings.ImageDefault != null) 4951 { 4952 settings.ImageDefault.Height = settings.ImageDefault.Width; 4953 } 4954 if (settings.ImageMedium != null) 4955 { 4956 settings.ImageMedium.Height = settings.ImageMedium.Width; 4957 } 4958 if (settings.ImageSmall != null) 4959 { 4960 settings.ImageSmall.Height = settings.ImageSmall.Width; 4961 } 4962 } 4963 4964 string defaultImage = imageEngine; 4965 string imageSmall = ""; 4966 string imageMedium = ""; 4967 4968 if (settings.DisableImageEngine) 4969 { 4970 defaultImage = settings.Path; 4971 } 4972 else 4973 { 4974 if (settings.ImageDefault != null) 4975 { 4976 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault); 4977 4978 if (settings.Path.GetType() != typeof(string)) 4979 { 4980 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 4981 defaultImage += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 4982 } 4983 else 4984 { 4985 defaultImage += settings.Path != null ? "Image=" + settings.Path : ""; 4986 } 4987 4988 defaultImage += "&AlternativeImage=" + alternativeImage; 4989 } 4990 4991 if (settings.ImageSmall != null) 4992 { 4993 imageSmall = "data-src-small=\"" + imageEngine; 4994 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall); 4995 4996 if (settings.Path.GetType() != typeof(string)) 4997 { 4998 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 4999 imageSmall += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 5000 } 5001 else 5002 { 5003 imageSmall += settings.Path != null ? "Image=" + settings.Path : ""; 5004 } 5005 5006 imageSmall += "&alternativeImage=" + alternativeImage; 5007 5008 imageSmall += "\""; 5009 } 5010 5011 if (settings.ImageMedium != null) 5012 { 5013 imageMedium = "data-src-medium=\"" + imageEngine; 5014 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium); 5015 5016 if (settings.Path.GetType() != typeof(string)) 5017 { 5018 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 5019 imageMedium += settings.Path != null ? "&" + settings.Path.GetFocalPointParameters() : ""; 5020 } 5021 else 5022 { 5023 imageMedium += settings.Path != null ? "Image=" + settings.Path : ""; 5024 } 5025 5026 imageMedium += "&alternativeImage=" + alternativeImage; 5027 5028 imageMedium += "\""; 5029 } 5030 } 5031 5032 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 5033 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); } 5034 if (!string.IsNullOrEmpty(settings.Title)) 5035 { 5036 optionalAttributes.Add("alt", settings.Title); 5037 optionalAttributes.Add("title", settings.Title); 5038 } 5039 5040 if (settings.DisableLazyLoad) 5041 { 5042 WriteLiteral(" <img"); 5043 BeginWriteAttribute("id", " id=\"", 82437, "\"", 82454, 1); 5044 WriteAttributeValue("", 82442, settings.Id, 82442, 12, false); 5045 EndWriteAttribute(); 5046 BeginWriteAttribute("class", " class=\"", 82455, "\"", 82500, 3); 5047 WriteAttributeValue("", 82463, imageStyle, 82463, 11, false); 5048 WriteAttributeValue(" ", 82474, settings.CssClass, 82475, 18, false); 5049 WriteAttributeValue(" ", 82493, "dw-mod", 82494, 7, true); 5050 EndWriteAttribute(); 5051 BeginWriteAttribute("src", " src=\"", 82501, "\"", 82520, 1); 5052 WriteAttributeValue("", 82507, defaultImage, 82507, 13, false); 5053 EndWriteAttribute(); 5054 WriteLiteral(" "); 5055 Write(ComponentMethods.AddAttributes(optionalAttributes)); 5056 WriteLiteral(" "); 5057 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5058 WriteLiteral(" />\r\n"); 5059 } 5060 else 5061 { 5062 5063 WriteLiteral(" <img"); 5064 BeginWriteAttribute("id", " id=\"", 82718, "\"", 82735, 1); 5065 WriteAttributeValue("", 82723, settings.Id, 82723, 12, false); 5066 EndWriteAttribute(); 5067 BeginWriteAttribute("class", " class=\"", 82736, "\"", 82781, 3); 5068 WriteAttributeValue("", 82744, imageStyle, 82744, 11, false); 5069 WriteAttributeValue(" ", 82755, settings.CssClass, 82756, 18, false); 5070 WriteAttributeValue(" ", 82774, "dw-mod", 82775, 7, true); 5071 EndWriteAttribute(); 5072 WriteLiteral(" loading=\"lazy\""); 5073 BeginWriteAttribute("src", " src=\"", 82797, "\"", 82816, 1); 5074 WriteAttributeValue("", 82803, defaultImage, 82803, 13, false); 5075 EndWriteAttribute(); 5076 WriteLiteral(" "); 5077 Write(ComponentMethods.AddAttributes(optionalAttributes)); 5078 WriteLiteral(" "); 5079 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5080 WriteLiteral(" />\r\n"); 5081 } 5082 } 5083 } 5084 5085 void RenderHiddenField(HiddenField settings) { 5086 var attributes = new Dictionary<string, string>(); 5087 attributes.Add("type", "hidden"); 5088 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5089 if (settings.Value != null) { attributes.Add("value", settings.Value); } 5090 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 5091 5092 WriteLiteral(" <input "); 5093 Write(ComponentMethods.AddAttributes(attributes)); 5094 WriteLiteral(" "); 5095 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5096 WriteLiteral("/>\r\n"); 5097 } 5098 5099 void RenderRadioButtonField(RadioButtonField settings) 5100 { 5101 var attributes = new Dictionary<string, string>(); 5102 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 5103 { 5104 settings.Id = Guid.NewGuid().ToString("N"); 5105 } 5106 5107 /*base settings*/ 5108 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5109 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 5110 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 5111 if (settings.Disabled) { attributes.Add("disabled", "true"); } 5112 if (settings.Required) { attributes.Add("required", "true"); } 5113 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 5114 /*end*/ 5115 5116 attributes.Add("type", "radio"); 5117 if (settings.Checked) { attributes.Add("checked", "true"); } 5118 settings.CssClass = "form__control " + settings.CssClass; 5119 if (settings.Value != null) { attributes.Add("value", settings.Value); } 5120 5121 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 5122 5123 WriteLiteral(" <div"); 5124 BeginWriteAttribute("class", " class=\"", 85136, "\"", 85194, 3); 5125 WriteAttributeValue("", 85144, "form__field-group", 85144, 17, true); 5126 WriteAttributeValue(" ", 85161, settings.WrapperCssClass, 85162, 25, false); 5127 WriteAttributeValue(" ", 85187, "dw-mod", 85188, 7, true); 5128 EndWriteAttribute(); 5129 WriteLiteral(">\r\n <input "); 5130 Write(ComponentMethods.AddAttributes(resultAttributes)); 5131 WriteLiteral(" class=\""); 5132 Write(settings.CssClass); 5133 WriteLiteral(" dw-mod\" />\r\n"); 5134 if (!string.IsNullOrEmpty(settings.Label)) 5135 { 5136 WriteLiteral(" <label"); 5137 BeginWriteAttribute("for", " for=\"", 85399, "\"", 85417, 1); 5138 WriteAttributeValue("", 85405, settings.Id, 85405, 12, false); 5139 EndWriteAttribute(); 5140 WriteLiteral(" class=\"dw-mod\">"); 5141 Write(settings.Label); 5142 WriteLiteral("</label>\r\n"); 5143 } 5144 if (!string.IsNullOrEmpty(settings.HelpText)) 5145 { 5146 WriteLiteral(" <small class=\"form__help-text\">"); 5147 Write(settings.HelpText); 5148 WriteLiteral("</small>\r\n"); 5149 } 5150 WriteLiteral(" Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n"); 5151 } 5152 5153 void RenderRadioButtonListField(RadioButtonListField settings) 5154 { 5155 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 5156 5157 WriteLiteral(" <div"); 5158 BeginWriteAttribute("class", " class=\"", 86132, "\"", 86206, 4); 5159 WriteAttributeValue("", 86140, "form__field-group", 86140, 17, true); 5160 WriteAttributeValue(" ", 86157, settings.WrapperCssClass, 86158, 25, false); 5161 WriteAttributeValue(" ", 86183, "u-margin-bottom", 86184, 16, true); 5162 WriteAttributeValue(" ", 86199, "dw-mod", 86200, 7, true); 5163 EndWriteAttribute(); 5164 WriteLiteral(" "); 5165 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5166 WriteLiteral(">\r\n"); 5167 if (!string.IsNullOrEmpty(settings.Label)) 5168 { 5169 WriteLiteral(" <label>"); 5170 Write(settings.Label); 5171 WriteLiteral("</label>\r\n"); 5172 } 5173 if (!string.IsNullOrEmpty(settings.HelpText)) 5174 { 5175 WriteLiteral(" <small class=\"form__help-text\">"); 5176 Write(settings.HelpText); 5177 WriteLiteral("</small>\r\n"); 5178 } 5179 WriteLiteral("\r\n"); 5180 foreach (var item in settings.Options) 5181 { 5182 if (settings.Required) 5183 { 5184 item.Required = true; 5185 } 5186 if (settings.Disabled) 5187 { 5188 item.Disabled = true; 5189 } 5190 if (!string.IsNullOrEmpty(settings.Name)) 5191 { 5192 item.Name = settings.Name; 5193 } 5194 if (settings.Value != null && settings.Value == item.Value) 5195 { 5196 item.Checked = true; 5197 } 5198 if (!string.IsNullOrEmpty(settings.OnClick)) 5199 { 5200 item.OnClick += settings.OnClick; 5201 } 5202 if (!string.IsNullOrEmpty(settings.OnChange)) 5203 { 5204 item.OnChange += settings.OnChange; 5205 } 5206 if (!string.IsNullOrEmpty(settings.CssClass)) 5207 { 5208 item.CssClass += settings.CssClass; 5209 } 5210 Render(item); 5211 } 5212 WriteLiteral("\r\n Render(new NotificationMessage { Message = settings.ErrorMessage });\r\n </div>\r\n"); 5213 } 5214 5215 void RenderForm(Form settings) { 5216 if (settings != null) 5217 { 5218 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 5219 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); }; 5220 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); }; 5221 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); }; 5222 var enctypes = new Dictionary<string, string> 5223 { 5224 { "multipart", "multipart/form-data" }, 5225 { "text", "text/plain" }, 5226 { "application", "application/x-www-form-urlencoded" } 5227 }; 5228 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); }; 5229 optionalAttributes.Add("method", settings.Method.ToString()); 5230 5231 if (!string.IsNullOrEmpty(settings.FormStartMarkup)) 5232 { 5233 Write(settings.FormStartMarkup); 5234 5235 } 5236 else 5237 { 5238 WriteLiteral(" "); 5239 WriteLiteral("<form class=\""); 5240 Write(settings.CssClass); 5241 WriteLiteral(" u-no-margin dw-mod\" "); 5242 Write(ComponentMethods.AddAttributes(optionalAttributes)); 5243 WriteLiteral(" "); 5244 Write(ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5245 WriteLiteral(">\r\n"); 5246 } 5247 5248 foreach (var field in settings.GetFields()) 5249 { 5250 Render(field); 5251 } 5252 5253 WriteLiteral(" "); 5254 WriteLiteral("</form>\r\n"); 5255 } 5256 } 5257 5258 void RenderText(Text settings) 5259 { 5260 Write(settings.Content); 5261 5262 } 5263 5264 void RenderContentModule(ContentModule settings) { 5265 if (!string.IsNullOrEmpty(settings.Content)) 5266 { 5267 Write(settings.Content); 5268 5269 } 5270 } 5271 5272 void RenderModal(Modal settings) { 5273 if (settings != null) 5274 { 5275 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 5276 5277 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : ""; 5278 5279 WriteLiteral(" <input type=\"checkbox\""); 5280 BeginWriteAttribute("id", " id=\"", 90602, "\"", 90629, 2); 5281 WriteAttributeValue("", 90607, modalId, 90607, 10, false); 5282 WriteAttributeValue("", 90617, "ModalTrigger", 90617, 12, true); 5283 EndWriteAttribute(); 5284 WriteLiteral(" class=\"modal-trigger\" "); 5285 Write(onchange); 5286 WriteLiteral(" />\r\n"); 5287 WriteLiteral(" <div class=\"modal-container\">\r\n"); 5288 if (!settings.DisableDarkOverlay) 5289 { 5290 WriteLiteral(" <label"); 5291 BeginWriteAttribute("for", " for=\"", 90809, "\"", 90837, 2); 5292 WriteAttributeValue("", 90815, modalId, 90815, 10, false); 5293 WriteAttributeValue("", 90825, "ModalTrigger", 90825, 12, true); 5294 EndWriteAttribute(); 5295 BeginWriteAttribute("id", " id=\"", 90838, "\"", 90865, 2); 5296 WriteAttributeValue("", 90843, modalId, 90843, 10, false); 5297 WriteAttributeValue("", 90853, "ModalOverlay", 90853, 12, true); 5298 EndWriteAttribute(); 5299 WriteLiteral(" class=\"modal-overlay\"></label>\r\n"); 5300 } 5301 WriteLiteral(" <div"); 5302 BeginWriteAttribute("class", " class=\"", 90938, "\"", 91047, 5); 5303 WriteAttributeValue("", 90946, "modal", 90946, 5, true); 5304 WriteAttributeValue(" ", 90951, "modal--", 90952, 8, true); 5305 WriteAttributeValue("", 90959, settings.Width.ToString().ToLower(), 90959, 36, false); 5306 WriteAttributeValue(" ", 90995, "modal-height--", 90996, 15, true); 5307 WriteAttributeValue("", 91010, settings.Height.ToString().ToLower(), 91010, 37, false); 5308 EndWriteAttribute(); 5309 BeginWriteAttribute("id", " id=\"", 91048, "\"", 91068, 2); 5310 WriteAttributeValue("", 91053, modalId, 91053, 10, false); 5311 WriteAttributeValue("", 91063, "Modal", 91063, 5, true); 5312 EndWriteAttribute(); 5313 WriteLiteral(">\r\n"); 5314 if (settings.Heading != null) 5315 { 5316 if (!string.IsNullOrEmpty(settings.Heading.Title)) 5317 { 5318 WriteLiteral(" <div class=\"modal__header\">\r\n RenderHeading(settings.Heading);\r\n </div>\r\n"); 5319 } 5320 } 5321 WriteLiteral(" <div"); 5322 BeginWriteAttribute("class", " class=\"", 91483, "\"", 91578, 2); 5323 WriteAttributeValue("", 91491, "modal__body", 91491, 11, true); 5324 WriteAttributeValue(" ", 91502, settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "", 91503, 75, false); 5325 EndWriteAttribute(); 5326 WriteLiteral(">\r\n"); 5327 if (!string.IsNullOrEmpty(settings.BodyText)) 5328 { 5329 Write(settings.BodyText); 5330 5331 } 5332 if (settings.BodyTemplate != null) 5333 { 5334 Write(settings.BodyTemplate); 5335 5336 } 5337 5338 var actions = settings.GetActions(); 5339 WriteLiteral(" </div>\r\n"); 5340 if (actions.Length > 0) 5341 { 5342 WriteLiteral(" <div class=\"modal__footer\">\r\n"); 5343 foreach (var action in actions) 5344 { 5345 if (Dynamicweb.Frontend.PageView.Current().Device.ToString() != "Mobile") { 5346 action.CssClass += " u-no-margin"; 5347 } else { 5348 action.CssClass += " u-full-width u-margin-bottom"; 5349 } 5350 5351 Render(action); 5352 } 5353 WriteLiteral(" </div>\r\n"); 5354 } 5355 WriteLiteral(" <label class=\"modal__close-btn\""); 5356 BeginWriteAttribute("for", " for=\"", 92822, "\"", 92850, 2); 5357 WriteAttributeValue("", 92828, modalId, 92828, 10, false); 5358 WriteAttributeValue("", 92838, "ModalTrigger", 92838, 12, true); 5359 EndWriteAttribute(); 5360 WriteLiteral("></label>\r\n </div>\r\n </div>\r\n"); 5361 } 5362 } 5363 5364 void RenderMediaListItem(MediaListItem settings) 5365 { 5366 WriteLiteral(" <div"); 5367 BeginWriteAttribute("class", " class=\"", 93088, "\"", 93137, 3); 5368 WriteAttributeValue("", 93096, "media-list-item", 93096, 15, true); 5369 WriteAttributeValue(" ", 93111, settings.CssClass, 93112, 18, false); 5370 WriteAttributeValue(" ", 93130, "dw-mod", 93131, 7, true); 5371 EndWriteAttribute(); 5372 WriteLiteral(" "); 5373 Write(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : ""); 5374 WriteLiteral(">\r\n"); 5375 if (!string.IsNullOrEmpty(settings.Label)) 5376 { 5377 if (!string.IsNullOrEmpty(settings.Link)) 5378 { 5379 Render(new Link 5380 { 5381 Href = settings.Link, 5382 CssClass = "media-list-item__sticker dw-mod", 5383 ButtonLayout = ButtonLayout.None, 5384 Title = settings.Label, 5385 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 5386 }); 5387 } 5388 else if (!string.IsNullOrEmpty(settings.OnClick)) 5389 { 5390 WriteLiteral(" <span class=\"media-list-item__sticker dw-mod\""); 5391 BeginWriteAttribute("onclick", " onclick=\"", 93945, "\"", 93974, 1); 5392 WriteAttributeValue("", 93955, settings.OnClick, 93955, 19, false); 5393 EndWriteAttribute(); 5394 WriteLiteral(">\r\n <span class=\"u-uppercase\">"); 5395 Write(settings.Label); 5396 WriteLiteral("</span>\r\n </span>\r\n"); 5397 } 5398 else 5399 { 5400 WriteLiteral(" <span class=\"media-list-item__sticker media-list-item__sticker--no-link dw-mod\">\r\n <span class=\"u-uppercase\">"); 5401 Write(settings.Label); 5402 WriteLiteral("</span>\r\n </span>\r\n"); 5403 } 5404 } 5405 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"); 5406 if (!string.IsNullOrEmpty(settings.Title)) 5407 { 5408 if (!string.IsNullOrEmpty(settings.Link)) 5409 { 5410 Render(new Link 5411 { 5412 Href = settings.Link, 5413 CssClass = "media-list-item__name dw-mod", 5414 ButtonLayout = ButtonLayout.None, 5415 Title = settings.Title, 5416 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 5417 }); 5418 } 5419 else if (!string.IsNullOrEmpty(settings.OnClick)) 5420 { 5421 WriteLiteral(" <span class=\"media-list-item__name dw-mod\""); 5422 BeginWriteAttribute("onclick", " onclick=\"", 95471, "\"", 95500, 1); 5423 WriteAttributeValue("", 95481, settings.OnClick, 95481, 19, false); 5424 EndWriteAttribute(); 5425 WriteLiteral(">"); 5426 Write(settings.Title); 5427 WriteLiteral("</span>\r\n"); 5428 } 5429 else 5430 { 5431 WriteLiteral(" <span class=\"media-list-item__name media-list-item__name--no-link dw-mod\">"); 5432 Write(settings.Title); 5433 WriteLiteral("</span>\r\n"); 5434 } 5435 } 5436 WriteLiteral("\r\n"); 5437 if (!string.IsNullOrEmpty(settings.Status)) 5438 { 5439 WriteLiteral(" <div class=\"media-list-item__state dw-mod\">"); 5440 Write(settings.Status); 5441 WriteLiteral("</div>\r\n"); 5442 } 5443 WriteLiteral(" </div>\r\n"); 5444 5445 settings.InfoTable.CssClass += " media-list-item__parameters-table"; 5446 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"); 5447 5448 var actions = settings.GetActions(); 5449 5450 foreach (ButtonBase action in actions) 5451 { 5452 action.ButtonLayout = ButtonLayout.None; 5453 action.CssClass += " media-list-item__action link"; 5454 5455 Render(action); 5456 } 5457 WriteLiteral(" </div>\r\n\r\n"); 5458 if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title)) 5459 { 5460 settings.SelectButton.CssClass += " u-no-margin"; 5461 5462 WriteLiteral(" <div class=\"media-list-item__action-button\">\r\n Render(settings.SelectButton);\r\n </div>\r\n"); 5463 } 5464 WriteLiteral(" </div>\r\n </div>\r\n </div>\r\n"); 5465 } 5466 5467 void RenderTable(Table settings) 5468 { 5469 Dictionary<string, string> attributes = new Dictionary<string, string>(); 5470 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5471 5472 var enumToClasses = new Dictionary<TableDesign, string> 5473 { 5474 { TableDesign.Clean, "table--clean" }, 5475 { TableDesign.Bordered, "table--bordered" }, 5476 { TableDesign.Striped, "table--striped" }, 5477 { TableDesign.Hover, "table--hover" }, 5478 { TableDesign.Compact, "table--compact" }, 5479 { TableDesign.Condensed, "table--condensed" }, 5480 { TableDesign.NoTopBorder, "table--no-top-border" } 5481 }; 5482 string tableDesignClass = ""; 5483 if (settings.Design != TableDesign.None) 5484 { 5485 tableDesignClass = enumToClasses[settings.Design]; 5486 } 5487 5488 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); } 5489 5490 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 5491 5492 WriteLiteral(" <table "); 5493 Write(ComponentMethods.AddAttributes(resultAttributes)); 5494 WriteLiteral(">\r\n"); 5495 if (settings.Header != null) 5496 { 5497 WriteLiteral(" <thead>\r\n Render(settings.Header);\r\n </thead>\r\n"); 5498 } 5499 WriteLiteral(" <tbody>\r\n"); 5500 foreach (var row in settings.Rows) 5501 { 5502 Render(row); 5503 } 5504 WriteLiteral(" </tbody>\r\n"); 5505 if (settings.Footer != null) 5506 { 5507 WriteLiteral(" <tfoot>\r\n Render(settings.Footer);\r\n </tfoot>\r\n"); 5508 } 5509 WriteLiteral(" </table>\r\n"); 5510 } 5511 5512 void RenderTableRow(TableRow settings) 5513 { 5514 Dictionary<string, string> attributes = new Dictionary<string, string>(); 5515 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5516 5517 var enumToClasses = new Dictionary<TableRowDesign, string> 5518 { 5519 { TableRowDesign.NoBorder, "table__row--no-border" }, 5520 { TableRowDesign.Border, "table__row--border" }, 5521 { TableRowDesign.TopBorder, "table__row--top-line" }, 5522 { TableRowDesign.BottomBorder, "table__row--bottom-line" }, 5523 { TableRowDesign.Solid, "table__row--solid" } 5524 }; 5525 5526 string tableRowDesignClass = ""; 5527 if (settings.Design != TableRowDesign.None) 5528 { 5529 tableRowDesignClass = enumToClasses[settings.Design]; 5530 } 5531 5532 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); } 5533 5534 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 5535 5536 WriteLiteral(" <tr "); 5537 Write(ComponentMethods.AddAttributes(resultAttributes)); 5538 WriteLiteral(">\r\n"); 5539 foreach (var cell in settings.Cells) 5540 { 5541 if (settings.IsHeaderRow) 5542 { 5543 cell.IsHeader = true; 5544 } 5545 Render(cell); 5546 } 5547 WriteLiteral(" </tr>\r\n"); 5548 } 5549 5550 void RenderTableCell(TableCell settings) 5551 { 5552 Dictionary<string, string> attributes = new Dictionary<string, string>(); 5553 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5554 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); } 5555 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); } 5556 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); } 5557 5558 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 5559 5560 string tagName = settings.IsHeader ? "th" : "td"; 5561 5562 Write("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">"); 5563 Write(settings.Content); 5564 Write("</" + tagName + ">"); 5565 ; 5566 } 5567 5568 BlocksPage articleListPage = BlocksPage.GetBlockPage("ArticleListPage"); 5569 } 5570 } 5571 #pragma warning restore 1591 5572

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