Error compiling template "Designs/rm/DynamicArticle.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 96: The using directive for 'Dynamicweb.Core' appeared previously in this namespace
Line 97: The using directive for 'Dynamicweb.Rapido.Blocks.Components' appeared previously in this namespace
Line 98: The using directive for 'Dynamicweb.Rapido.Blocks.Components.Articles' appeared previously in this namespace
Line 99: The using directive for 'Dynamicweb.Rapido.Blocks.Components.General' appeared previously in this namespace
Line 100: The using directive for 'Dynamicweb.Rapido.Blocks' appeared previously in this namespace
Line 101: The using directive for 'Dynamicweb.Content.Items' appeared previously in this namespace
Line 1674: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 1675: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1677: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1679: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1766: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1767: 'ListViewModel.Options' is obsolete: 'Use the GetAllOptions extension method instead'
Line 1803: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1942: 'ListViewModel.SelectedValue' is obsolete: 'Use SelectedValues property instead and join the values if needed'
Line 1962: Argument 1: cannot convert from 'void' to 'object'
Line 4999: The variable 'placeholderImage' is assigned but its value is never used
Line 5643: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5669: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5671: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5673: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5675: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5688: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5690: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5692: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5694: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 5697: The type or namespace name 'Services' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)

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

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.Extensibility 3278 @using Dynamicweb.Core 3279 @using Dynamicweb.Rapido.Blocks.Components 3280 @using Dynamicweb.Rapido.Blocks.Components.Articles 3281 @using Dynamicweb.Rapido.Blocks.Components.General 3282 @using Dynamicweb.Rapido.Blocks 3283 @using Dynamicweb.Content.Items 3284 3285 @functions { 3286 BlocksPage articlePage = BlocksPage.GetBlockPage("DynamicArticle"); 3287 3288 public string GetParentSettingsItem(string systemName) 3289 { 3290 string item = null; 3291 3292 Dynamicweb.Content.Page current = Dynamicweb.Services.Pages.GetPage(Model.ID); 3293 while (current != null && current.Parent != current) 3294 { 3295 var temp = current.Item != null ? current.Item[systemName] : ""; 3296 3297 if (temp != null) 3298 { 3299 item = temp.ToString(); 3300 3301 if (!String.IsNullOrEmpty(item) && !String.Equals("default", item, StringComparison.OrdinalIgnoreCase)) 3302 { 3303 break; 3304 } 3305 } 3306 3307 current = current.Parent; 3308 } 3309 3310 return item; 3311 } 3312 3313 public string GetArticleCategory(int pageId) 3314 { 3315 string categoryName = null; 3316 3317 //Secure that the article is not in the root folder = Actual has a category 3318 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent != null) 3319 { 3320 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent != null) 3321 { 3322 if (!String.IsNullOrEmpty(Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent.ItemType)) 3323 { 3324 categoryName = Dynamicweb.Services.Pages.GetPage(pageId).Parent.GetDisplayName(); 3325 } 3326 } 3327 } 3328 3329 return categoryName; 3330 } 3331 3332 public string GetArticleCategoryColor(int pageId) 3333 { 3334 string categoryColor = ""; 3335 3336 //Secure that the article is not in the root folder = Actual has a category 3337 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent != null) 3338 { 3339 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent != null) 3340 { 3341 if (!String.IsNullOrEmpty(Dynamicweb.Services.Pages.GetPage(pageId).Parent.Parent.ItemType)) 3342 { 3343 if (Dynamicweb.Services.Pages.GetPage(pageId).Parent.Item["CategoryColor"] != null) 3344 { 3345 var service = new ColorSwatchService(); 3346 categoryColor = Dynamicweb.Services.Pages.GetPage(pageId).Parent.Item["CategoryColor"].ToString(); 3347 3348 if (!categoryColor.Contains("#")) 3349 { 3350 categoryColor = service.GetHexColor(Converter.ToInt32(Model.Area.ID), categoryColor); 3351 } 3352 } 3353 } 3354 } 3355 } 3356 3357 return categoryColor; 3358 } 3359 } 3360 3361 @{ 3362 string listPageId = Converter.ToString(GetPageIdByNavigationTag("DynamicListFeed")); 3363 string parentPageId = Dynamicweb.Services.Pages.GetPage(Model.ID).Parent.ID.ToString(); 3364 string topLayout = Model.Item.GetList("TopLayout") != null ? Model.Item.GetList("TopLayout").SelectedValue : "default"; 3365 topLayout = topLayout == "default" && GetParentSettingsItem("ArticleTopLayout") != null ? GetParentSettingsItem("ArticleTopLayout").ToString().ToLower() : topLayout; 3366 string textLayout = Model.Item.GetList("TextLayout") != null ? Model.Item.GetList("TextLayout").SelectedValue : "default"; 3367 textLayout = textLayout == "default" && GetParentSettingsItem("ArticleTextLayout") != null ? GetParentSettingsItem("ArticleTextLayout").ToString().ToLower() : textLayout; 3368 string imageLayout = Model.Item.GetList("ImageLayout") != null ? Model.Item.GetList("ImageLayout").SelectedValue : "default"; 3369 imageLayout = imageLayout == "default" && GetParentSettingsItem("ArticleImageLayout") != null ? GetParentSettingsItem("ArticleImageLayout").ToString().ToLower() : imageLayout; 3370 3371 //string imageColumns = imageLayout == "straight" && textLayout != "full" ? "8" : "12"; 3372 //string contentColumns = textLayout != "full" ? "8" : "12"; 3373 string imageColumns = "12"; 3374 string contentColumns = "12"; 3375 3376 int externalParagraphId = Model.Item.GetItem("CTAParagraphLink") != null ? Model.Item.GetItem("CTAParagraphLink").ParagraphID : 0; 3377 3378 ArticleHeaderLayout headerLayout; 3379 3380 switch (topLayout) 3381 { 3382 case "default": 3383 headerLayout = ArticleHeaderLayout.Clean; 3384 break; 3385 case "split": 3386 headerLayout = ArticleHeaderLayout.Split; 3387 break; 3388 case "banner": 3389 headerLayout = ArticleHeaderLayout.Banner; 3390 break; 3391 case "overlay": 3392 headerLayout = ArticleHeaderLayout.Overlay; 3393 break; 3394 default: 3395 headerLayout = ArticleHeaderLayout.Clean; 3396 break; 3397 } 3398 3399 3400 Block articleContainer = new Block 3401 { 3402 Id = "ArticleContainer", 3403 SortId = 10, 3404 Design = new Design 3405 { 3406 RenderType = RenderType.Row 3407 }, 3408 BlocksList = new List<Block> { 3409 new Block { 3410 Id = "ArticleBody", 3411 SortId = 30, 3412 Design = new Design { 3413 RenderType = RenderType.Column, 3414 Size = "12", 3415 HidePadding = true, 3416 CssClass = "margin-top-large" 3417 } 3418 } 3419 } 3420 }; 3421 articlePage.Add(articleContainer); 3422 3423 ButtonLayout topBannerButtonLayout = ButtonLayout.Primary; 3424 3425 switch (Model.Item.GetString("ButtonDesign")) 3426 { 3427 case "primary": 3428 topBannerButtonLayout = ButtonLayout.Primary; 3429 break; 3430 case "secondary": 3431 topBannerButtonLayout = ButtonLayout.Secondary; 3432 break; 3433 case "teritary": 3434 topBannerButtonLayout = ButtonLayout.Tertiary; 3435 break; 3436 case "link": 3437 topBannerButtonLayout = ButtonLayout.Link; 3438 break; 3439 } 3440 3441 ArticleHeader topBanner = new ArticleHeader 3442 { 3443 Layout = headerLayout, 3444 Image = new Image { Path = Model.Item.GetFile("Image"), ImageDefault = new ImageSettings { Width = 1920, Height = 640 } }, 3445 Heading = Model.Item.GetString("Title"), 3446 Subheading = Model.Item.GetString("Summary"), 3447 TextColor = "#fff", 3448 Author = Model.Item.GetString("Author"), 3449 Date = Model.Item.GetString("Date"), 3450 Category = GetArticleCategory(Model.ID), 3451 CategoryColor = GetArticleCategoryColor(Model.ID), 3452 Link = Model.Item.GetString("Link"), 3453 LinkText = Model.Item.GetString("LinkText"), 3454 ButtonLayout = topBannerButtonLayout, 3455 RatingScore = Model.Item.GetString("Rating") != null ? Converter.ToInt32(Model.Item.GetList("Rating").SelectedValue) : 0, 3456 RatingOutOf = Model.Item.GetString("Rating") != null ? Model.Item.GetList("Rating").Options.Count : 0, 3457 ExternalParagraphId = externalParagraphId 3458 }; 3459 3460 Block articleTop = new Block 3461 { 3462 Id = "ArticleHead", 3463 SortId = 20, 3464 Component = topBanner, 3465 Design = new Design 3466 { 3467 RenderType = RenderType.Column, 3468 Size = "12", 3469 HidePadding = true, 3470 CssClass = "article-head" 3471 } 3472 }; 3473 //articlePage.Add("ArticleContainer", articleTop); 3474 3475 3476 Block articleBodyRow = new Block 3477 { 3478 Id = "ArticleBodyRow", 3479 SortId = 10, 3480 SkipRenderBlocksList = true 3481 }; 3482 articlePage.Add("ArticleBody", articleBodyRow); 3483 3484 3485 if (Model.Item.GetString("Paragraphs") != null) 3486 { 3487 int count = 0; 3488 foreach (var paragraph in Model.Item.GetItems("Paragraphs")) 3489 { 3490 if (!paragraph.GetBoolean("RenderAsQuote")) 3491 { 3492 string enableDropCap = Model.Item.GetString("EnableDropCap") != null ? Model.Item.GetList("EnableDropCap").SelectedValue.ToLower() : "default"; 3493 enableDropCap = enableDropCap == "default" && GetParentSettingsItem("EnableDropCap") != null ? GetParentSettingsItem("EnableDropCap").ToString().ToLower() : enableDropCap; 3494 string text = paragraph.GetString("Text") != null ? paragraph.GetString("Text") : ""; 3495 3496 if (!String.IsNullOrEmpty(text) && enableDropCap == "true" && count == 0 && paragraph.GetString("Text").Substring(0, 3) == "<p>") 3497 { 3498 string firstLetter = paragraph.GetString("Text").Substring(3, 1); 3499 text = paragraph.GetString("Text").Remove(3, 1); 3500 text = text.Insert(3, "<span class=\"article__drop-cap\">" + firstLetter + "</span>"); 3501 } 3502 3503 if (!String.IsNullOrEmpty(paragraph.GetString("Heading"))) 3504 { 3505 Block articleParagraphHeader = new Block 3506 { 3507 Id = "ArticleParagraph" + count + "Heading", 3508 SortId = (count * 10) , 3509 Component = new ArticleSubHeader { Title = paragraph.GetString("Heading") }, 3510 Design = new Design 3511 { 3512 RenderType = RenderType.Column, 3513 Size = contentColumns, 3514 CssClass = "u-color-light--bg u-padding--lg" 3515 } 3516 }; 3517 articlePage.Add("ArticleBodyRow", articleParagraphHeader); 3518 } 3519 3520 if (paragraph.GetFile("Image") != null) 3521 { 3522 string imageTitle = !string.IsNullOrEmpty(paragraph.GetString("Heading")) ? paragraph.GetString("Heading") : ""; 3523 3524 Block articleParagraphImage = new Block 3525 { 3526 Id = "ArticleParagraph" + count + "Image", 3527 SortId = (count * 10) + 2, 3528 Design = new Design 3529 { 3530 RenderType = RenderType.Column, 3531 Size = imageColumns, 3532 CssClass = "u-color-light--bg u-padding--lg" 3533 } 3534 }; 3535 3536 if (imageLayout == "banner") 3537 { 3538 ArticleBanner banner = new ArticleBanner 3539 { 3540 Image = new Image { Path = paragraph.GetFile("Image"), ImageDefault = new ImageSettings { Height = 650, Width = 1300 }, Caption = paragraph.GetString("ImageCaption") }, 3541 Heading = imageTitle, 3542 UseFilters = false 3543 }; 3544 articleParagraphImage.Component = banner; 3545 } 3546 else 3547 { 3548 ArticleImage image = new ArticleImage 3549 { 3550 Image = new Image 3551 { 3552 Path = paragraph.GetFile("Image"), 3553 Title = imageTitle, 3554 ImageDefault = new ImageSettings { Height = 650, Width = 1300 }, 3555 Caption = paragraph.GetString("ImageCaption"), 3556 CssClass = "u-full-width" 3557 } 3558 }; 3559 articleParagraphImage.Component = image; 3560 } 3561 3562 articlePage.Add("ArticleBodyRow", articleParagraphImage); 3563 } 3564 3565 if (!String.IsNullOrEmpty(paragraph.GetString("VideoURL"))) 3566 { 3567 Block articleParagraphVideo = new Block 3568 { 3569 Id = "ArticleParagraph" + count + "Video", 3570 SortId = (count * 10) + 3, 3571 Component = new ArticleVideo { Url = paragraph.GetString("VideoURL"), AutoPlay = "false" }, 3572 Design = new Design 3573 { 3574 RenderType = RenderType.Column, 3575 Size = imageColumns, 3576 CssClass = "u-color-light--bg u-padding--lg" 3577 } 3578 }; 3579 articlePage.Add("ArticleBodyRow", articleParagraphVideo); 3580 } 3581 3582 if (!String.IsNullOrEmpty(text)) 3583 { 3584 Block articleParagraphText = new Block 3585 { 3586 Id = "ArticleParagraph" + count + "Text", 3587 SortId = (count * 10) + 3, 3588 Component = new ArticleText { Text = text }, 3589 Design = new Design 3590 { 3591 RenderType = RenderType.Column, 3592 Size = contentColumns, 3593 CssClass = "u-color-light--bg u-padding--lg" 3594 } 3595 }; 3596 3597 articlePage.Add("ArticleBodyRow", articleParagraphText); 3598 } 3599 } 3600 else 3601 { 3602 if (!String.IsNullOrEmpty(paragraph.GetString("Text"))) 3603 { 3604 string quoteText = paragraph.GetString("Text") != null ? paragraph.GetString("Text") : ""; 3605 string quoteAuthor = paragraph.GetString("Heading") != null ? paragraph.GetString("Heading") : ""; 3606 3607 Block articleParagraphQuote = new Block 3608 { 3609 Id = "ArticleParagraph" + count + "Quote", 3610 SortId = (count * 10) + 3, 3611 Component = new ArticleQuote { Image = new Image { Path = paragraph.GetFile("Image") }, Text = quoteText, Author = quoteAuthor }, 3612 Design = new Design 3613 { 3614 RenderType = RenderType.Column, 3615 Size = contentColumns, 3616 CssClass = "u-color-light--bg u-padding--lg" 3617 } 3618 }; 3619 articlePage.Add("ArticleBodyRow", articleParagraphQuote); 3620 } 3621 } 3622 3623 count++; 3624 } 3625 } 3626 3627 articleBodyRow.Component = new ArticleBodyRow { SubBlocks = articleBodyRow.BlocksList, TopLayout = topLayout, TextLayout = textLayout }; 3628 3629 3630 //Related 3631 string showRelatedArtices = Model.Item.GetString("ShowRelatedArticles") != null ? Model.Item.GetList("ShowRelatedArticles").SelectedValue.ToLower() : "default"; 3632 showRelatedArtices = showRelatedArtices == "default" && GetParentSettingsItem("ShowRelatedArticles") != null ? GetParentSettingsItem("ShowRelatedArticles").ToString().ToLower() : showRelatedArtices; 3633 3634 if (showRelatedArtices == "true") 3635 { 3636 Block articleRelated = new Block 3637 { 3638 Id = "ArticleRelated", 3639 SortId = 30, 3640 Component = new ArticleRelated { Title = Translate("Related articles"), FeedPageId = listPageId, Query = "sourceType=Page&sourcePage=" + parentPageId, PageSize = 4, CurrentPageId = Model.ID.ToString() }, 3641 Design = new Design 3642 { 3643 RenderType = RenderType.Column, 3644 Size = "12" 3645 } 3646 }; 3647 articlePage.Add("ArticleContainer", articleRelated); 3648 } 3649 } 3650 3651 3652 @* The @RenderBlockList base helper is included in Components/GridBuilder.cshtml *@ 3653 <section class="center-container content-container dw-mod"> 3654 @RenderBlockList(articlePage.BlocksRoot.BlocksList) 3655 </section> 3656 </div> 3657 3658 @if (MyBroker != null && MyBroker.Broker != null && MyBroker.Employee != null && Model.Item.GetBoolean("HideMyBroker") != true) 3659 { 3660 string bName = MyBroker.Broker.Name; 3661 string bClass = "na"; 3662 string bImage = "/Files/Templates/Designs/rm/assets/images/na-real.png"; 3663 3664 if (!string.IsNullOrEmpty(MyBroker.Broker.CompanyName)) 3665 { 3666 bName = MyBroker.Broker.CompanyName; 3667 } 3668 try 3669 { 3670 var imgUrl = MyBroker.Employee.Item().GetString("BilledeUrl"); 3671 if (!string.IsNullOrEmpty(imgUrl)) 3672 { 3673 bImage = imgUrl; 3674 bClass = ""; 3675 } 3676 } 3677 catch 3678 { 3679 // Ignore 3680 } 3681 3682 string bAreaID = MyBroker.Broker.Item().GetString("WebsiteId"); 3683 string medlemsnummer = MyBroker.Broker.Item().GetString("CBMedlemsnummer"); 3684 3685 <section class="din-maegler"> 3686 <div class="img-wrapper @bClass" style="background-image:url('@bImage')"></div> 3687 <div class="container"> 3688 <div class="col-12 col-sm-12 col-md-6 offset-md-6"> 3689 <h2>Din personlige mægler</h2> 3690 <div class="row"> 3691 <div class="col-12 col-sm-6"> 3692 <p> 3693 <b class="my-broker-name">@MyBroker.Employee.Name</b><br> 3694 @if (!string.IsNullOrEmpty(MyBroker.Employee.Email)) 3695 { 3696 <text>Mail: <a href="mailto:@(ExtractMaskedEmail(MyBroker.Employee.Email))" class="my-broker-email">@ExtractMaskedEmail(MyBroker.Employee.Email)</a><br></text> 3697 } 3698 @if (!string.IsNullOrEmpty(MyBroker.Employee.PhoneMobile)) 3699 { 3700 <text>Tlf.: <a href="tel:@(MyBroker.Employee.PhoneMobile)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Employee.PhoneMobile)</a></text> 3701 } 3702 else if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 3703 { 3704 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text> 3705 } 3706 </p> 3707 </div> 3708 <div class="col-12 col-sm-6"> 3709 <p> 3710 <b class="my-broker-company-name">@bName</b><br> 3711 <span class="my-broker-company-address">@MyBroker.Broker.Address</span><br> 3712 <span class="my-broker-company-zip">@MyBroker.Broker.ZipCode</span> <span class="my-broker-company-city">@MyBroker.Broker.City</span><br> 3713 @if (!string.IsNullOrEmpty(bEmail)) 3714 { 3715 <text>Mail: <a href="mailto:@(bEmail)" class="my-broker-broker-email">@bEmail</a><br></text> 3716 } 3717 @if (!string.IsNullOrEmpty(MyBroker.Broker.Telephone)) 3718 { 3719 <text>Tlf.: <a href="tel:@(MyBroker.Broker.Telephone)" class="my-broker-broker-phone">@FormatPhoneNumber(MyBroker.Broker.Telephone)</a></text> 3720 } 3721 </p> 3722 </div> 3723 </div> 3724 <div class="row"> 3725 <br /> 3726 <div class="col-12 col-sm-6"> 3727 <a href="/@medlemsnummer.Substring(1)" class="btn btn-primary btn-block my-broker-company-url">Til mæglerens side</a> 3728 </div> 3729 3730 </div> 3731 </div> 3732 </div> 3733 </section> 3734 } 3735 <footer> 3736 <div class="container"> 3737 <div class="row"> 3738 @{ 3739 var navigationSettings = new NavigationSettings(); 3740 navigationSettings.StartLevel = 1; 3741 navigationSettings.StopLevel = 3; 3742 navigationSettings.ExpandMode = ExpandMode.All; 3743 navigationSettings.RootAreaId = 1; 3744 navigationSettings.RootNavigationTag = "footer-nav"; 3745 3746 } 3747 @Navigation.RenderNavigation("Navigation/footerNav.cshtml", navigationSettings) 3748 </div> 3749 </div> 3750 </footer> 3751 3752 @if (Model.CurrentUser?.ID <= 0) 3753 { 3754 <div id="panel-login" class="panel panel-form"> 3755 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 3756 <b></b> 3757 </button> 3758 <div class="loginform login"> 3759 @if (loginParagraphId > 0) 3760 { 3761 <text> 3762 @RenderParagraphContent(loginParagraphId) 3763 </text> 3764 } 3765 </div> 3766 <div class="loginform register js-register-form-wrapper" style="display: none;"> 3767 @if (createUserParagraphId > 0) 3768 { 3769 <text> 3770 @RenderParagraphContent(createUserParagraphId) 3771 </text> 3772 } 3773 </div> 3774 <div class="loginform forgotpw" style="display: none;"> 3775 <h2 class="forgotpw-reg">@Translate("forgot-pw-reg-title", "Glemt adgangskode")</h2> 3776 <h2 class="forgotpw-broker">@Translate("forgot-pw-broker-title", "Tilmeldt via. mægler")</h2> 3777 <form id="forgotPwForm" class="form-body" method="post" action=""> 3778 <input type="hidden" id="AccessUserShopID" name="AccessUserShopID" value="SHOP6" /> 3779 <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> 3780 <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> 3781 <div class="form-group"> 3782 <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 /> 3783 </div> 3784 <button class="btn btn-primary btn-block" type="submit">@Translate("forgot-pw-cta", "Nulstil adgangskode")</button> 3785 <br /> 3786 <div id="submitMessage"></div> 3787 </form> 3788 </div> 3789 </div> 3790 } 3791 3792 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 3793 @using Dynamicweb.Security.UserManagement 3794 3795 @{ 3796 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"); 3797 } 3798 3799 <div id="panel-kontakt-koeberraadgivning" class="panel panel-form"> 3800 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 3801 <b></b> 3802 </button> 3803 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2> 3804 <form id="form-koeberraadgivning" method="POST" action="/InboxHandler"> 3805 <div class="form-group"> 3806 <label><strong>@Translate("form-navn", "Navn")*</strong></label> 3807 <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 /> 3808 </div> 3809 <div class="form-group"> 3810 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 3811 <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 /> 3812 </div> 3813 <div class="form-group row mb-4"> 3814 <div class="col-6"> 3815 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 3816 <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 /> 3817 </div> 3818 <div class="col-6"> 3819 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 3820 <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' /> 3821 </div> 3822 </div> 3823 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3> 3824 <div class="form-group row"> 3825 <div class="col-4"> 3826 <label><strong>@Translate("form-zip", "Post nr")*</strong></label> 3827 <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 /> 3828 <input type="hidden" class="js-postnummer-validation" /> 3829 </div> 3830 <div class="col-8"> 3831 <label><strong>@Translate("form-city", "By")*</strong></label> 3832 <input class="form-control js-city" type="text" readonly /> 3833 </div> 3834 </div> 3835 <div class="form-group overflow-unset"> 3836 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label> 3837 <input class="form-control js-validate-address" type="text" name="adresse" tabindex="6" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' required /> 3838 3839 <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> 3840 </div> 3841 <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"> 3842 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong> 3843 </button> 3844 <div class="collapse" id="kontaktkoeberrradgiver-collapse"> 3845 <div class="form-group"> 3846 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea> 3847 </div> 3848 </div> 3849 3850 <div class="form-group"> 3851 <div class="row"> 3852 <div class="col-12"> 3853 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button> 3854 </div> 3855 </div> 3856 </div> 3857 <div class="form-group mt-3"> 3858 <div class="checkbox"> 3859 <label> 3860 <input type="checkbox" name="kontaktmigok" required /> 3861 3862 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 3863 3864 </label> 3865 </div> 3866 </div> 3867 <div class="form-group form-group-terms"> 3868 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>. 3869 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>. 3870 </div> 3871 3872 <input type="hidden" name="fn" value="krk" /> 3873 <input type="hidden" name="origin" value="" /> 3874 <input type="hidden" name="brugerId" value="" /> 3875 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 3876 <input type="hidden" name="butikId" value="@butikId" /> 3877 <input type="hidden" name="ejendomstype" value="" /> 3878 <input type="hidden" name="salgspris" value="" /> 3879 <input type="hidden" name="modtager" value="" /> 3880 </form> 3881 <div id="tak-kontakt-advisor" style="display:none;"> 3882 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2> 3883 <div class="row"> 3884 <div class="col-6"> 3885 <img src="" class="img-fluid js-maegler-img" /> 3886 </div> 3887 <div class="col-6"> 3888 <p class="js-maegler-name"></p> 3889 <p class="js-maegler-address"></p> 3890 <p class="js-maegler-phone"></p> 3891 <p class="js-maegler-mail"></p> 3892 </div> 3893 </div> 3894 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p> 3895 </div> 3896 </div> 3897 3898 <!--ÅBENT HUS--> 3899 <div id="panel-aabenthus" class="panel panel-form"> 3900 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 3901 <b></b> 3902 </button> 3903 3904 3905 <form id="form-aabenthus" method="POST" action="/InboxHandler"> 3906 <h2>@Translate("Smarptage:Aabenthus.TilmeldTilÅbenthus", "Tilmeld til åbent hus")</h2> 3907 <div class="d-block"> 3908 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label> 3909 </div> 3910 <div class="d-block"> 3911 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label> 3912 </div> 3913 <div class="d-block mb-4"> 3914 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label> 3915 </div> 3916 <h3>@Translate("Smartpage:Aabenthus.DineKontaktoplysning", "Dine kontaktoplysninger")</h3> 3917 <div class="form-group"> 3918 <label for="aabenthus-name"><strong>@Translate("form-navn", "Navn")*</strong></label> 3919 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current?.User?.Name' required /> 3920 </div> 3921 <div class="form-group"> 3922 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 3923 <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 /> 3924 </div> 3925 <div class="form-group row"> 3926 <div class="col-6"> 3927 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 3928 <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 /> 3929 </div> 3930 <div class="col-6"> 3931 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 3932 <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' /> 3933 </div> 3934 </div> 3935 <div class="form-group"> 3936 <div class="row"> 3937 <div class="col-12"> 3938 <button type="submit" class="btn btn-block btn-green">@Translate("Smartpage:Aabenthus.TilmeldKnap", "Tilmeld åbent hus")</button> 3939 </div> 3940 </div> 3941 </div> 3942 <div class="form-group"> 3943 <div class="checkbox"> 3944 <label> 3945 <input type="checkbox" name="kontaktmigok" required /> 3946 3947 <span class="base-color">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 3948 3949 </label> 3950 </div> 3951 </div> 3952 <div class="form-group"> 3953 @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>") 3954 3955 </div> 3956 <input type="hidden" name="fn" value="ah" /> 3957 <input type="hidden" name="origin" value="" /> 3958 <input type="hidden" name="brugerId" value="@userID" /> 3959 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 3960 <input type="hidden" name="butikId" value="@butikId" /> 3961 <input type="hidden" name="sagsaddresse" value="" class="js-aabenthus-address-input" /> 3962 <input type="hidden" name="ejendomstype" value="" /> 3963 <input type="hidden" name="salgspris" value="" /> 3964 <input type="hidden" name="modtager" value="" /> 3965 <input type="hidden" name="employee" value="" /> 3966 <input type="hidden" name="sagsnr" value="" class="js-sagsnr" /> 3967 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" /> 3968 <input type="hidden" name="aftaleid" value="" class="js-aftaleid" /> 3969 3970 <input type="hidden" name="dateMail" class="js-aabenthus-date-input" /> 3971 <input type="hidden" name="timeMail" class="js-aabenthus-time-input" /> 3972 <input type="hidden" name="brokerImageMail" class="property-broker-image-input" /> 3973 <input type="hidden" name="employeeNameMail" class="js-maegler-employee-name-input" /> 3974 <input type="hidden" name="employeeTitleMail" class="js-maegler-employee-title-input" /> 3975 <input type="hidden" name="employeeMailMail" class="js-maegler-mail-input" /> 3976 <input type="hidden" name="employeeMobileMail" class="js-maegler-mobile-input" /> 3977 <input type="hidden" name="employeePhoneMail" class="js-maegler-phone-input" /> 3978 3979 <input type="hidden" name="brokerNameMail" class="js-broker-name-input" /> 3980 <input type="hidden" name="brokerAddressMail" class="js-broker-address-input" /> 3981 <input type="hidden" name="brokerPhoneMail" class="js-broker-phone-input" /> 3982 </form> 3983 <div id="tak-aabenthus" style="display:none;"> 3984 <h2>@Translate("Smarptage:Aabenthus.TakForTilmelding", "Tak for din tilmelding til åbent hus!")</h2> 3985 <div class="d-block"> 3986 <strong>@Translate("Smarptage:Adresse", "Adresse:")</strong> <label class="js-aabenthus-address mb-0"></label> 3987 </div> 3988 <div class="d-block"> 3989 <strong>@Translate("Smarptage:Date", "Dato:")</strong> <label class="js-aabenthus-date mb-0"></label> 3990 3991 </div> 3992 <div class="d-block mb-4"> 3993 <strong>@Translate("Smarptage:Time", "Tidspunkt:")</strong> <label class="js-aabenthus-time mb-0"></label> 3994 3995 </div> 3996 3997 <div class="js-employee"> 3998 <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> 3999 </div> 4000 <div class="js-not-employee"> 4001 <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> 4002 </div> 4003 4004 <div class="row"> 4005 <div class="js-employee"> 4006 <div class="col-12 js-maegler-img aabenthus-image"> 4007 <div class="property-broker-image" style=""></div> 4008 4009 </div> 4010 </div> 4011 <div class="col-12"> 4012 <div class="bg-base"> 4013 4014 <div class="js-employee"> 4015 <h4 class="js-maegler-employee-name"></h4> 4016 <div class="icon-container"> 4017 <i class="fas fa-envelope"></i> <span class="js-maegler-mail"></span> 4018 </div> 4019 <div class="icon-container"> 4020 <i class="fas fa-phone"></i> <span class="js-maegler-mobile"></span> 4021 </div> 4022 </div> 4023 4024 4025 <h4 class="js-maegler-name"></h4> 4026 <div class="icon-container"> 4027 <i class="fas fa-map-marker-alt"></i> <span class="js-maegler-address"></span> 4028 </div> 4029 <div class="icon-container"> 4030 <i class="fas fa-phone"></i> <span class="js-maegler-phone"></span> 4031 4032 </div> 4033 <a class="btn btn-border" onclick="panelKontaktmaeglerGuldkoeber()">KONTAKT MÆGLER</a> 4034 </div> 4035 </div> 4036 </div> 4037 </div> 4038 </div> 4039 4040 <!-- KONTAKT GULDKØBER --> 4041 <div id="panel-kontakt-guldkoeber" class="panel panel-form"> 4042 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 4043 <b></b> 4044 </button> 4045 <h2>@Translate("Smarptage:Guldkøber.KontaktMægler", "Kontakt Mægler")</h2> 4046 <form id="form-kontaktmaegler" method="POST" action="/InboxHandler"> 4047 <div class="form-group"> 4048 <label><strong>@Translate("form-navn", "Navn")*</strong></label> 4049 <input class="form-control" type="text" name="navn" placeholder='@Translate("form-navn", "Navn")' value='@UserContext.Current.User?.Name' required /> 4050 </div> 4051 <div class="form-group"> 4052 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 4053 <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 /> 4054 </div> 4055 <div class="form-group row mb-4"> 4056 <div class="col-6"> 4057 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 4058 <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 /> 4059 </div> 4060 <div class="col-6"> 4061 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 4062 <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' /> 4063 </div> 4064 </div> 4065 <div class="form-group row"> 4066 <div class="col-4"> 4067 <label><strong>@Translate("form-zip", "Post nr")*</strong></label> 4068 <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 /> 4069 <input type="hidden" class="js-postnummer-validation" /> 4070 </div> 4071 <div class="col-8"> 4072 <label><strong>@Translate("form-city", "By")*</strong></label> 4073 <input class="form-control js-city" type="text" readonly /> 4074 </div> 4075 </div> 4076 4077 <div class="form-group overflow-unset"> 4078 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label> 4079 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required /> 4080 <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> 4081 </div> 4082 <div class="form-group"> 4083 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea> 4084 </div> 4085 <div class="form-group"> 4086 <div class="checkbox"> 4087 <label> 4088 <input type="checkbox" name="kontaktmigok" required /> 4089 4090 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 4091 4092 </label> 4093 </div> 4094 </div> 4095 <div class="form-group"> 4096 <div class="row"> 4097 <div class="col-12"> 4098 <button type="submit" class="btn btn-green btn-block">@Translate("KontaktMægler", "Kontakt Mægler")</button> 4099 </div> 4100 </div> 4101 </div> 4102 <div class="form-group form-group-terms"> 4103 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>. 4104 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>. 4105 </div> 4106 <input type="hidden" name="fn" value="gk" /> 4107 <input type="hidden" name="origin" value="" /> 4108 <input type="hidden" name="brugerId" value="@userID" /> 4109 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 4110 <input type="hidden" name="butikId" value="@butikId" /> 4111 <input type="hidden" name="ejendomstype" value="" /> 4112 <input type="hidden" name="salgspris" value="" /> 4113 <input type="hidden" name="modtager" value="" /> 4114 <input type="hidden" name="employee" value="" /> 4115 </form> 4116 <div id="tak-kontakt-maegler-guldkoeber" style="display:none;"> 4117 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2> 4118 <p>@Translate("Smartpage:FormKontaktGuld.Subheader", "Vi har sendt din forespørgsel om guldkøbere til:")</p> 4119 <div class="row"> 4120 <div class="col-6"> 4121 <img src="" class="img-fluid js-maegler-img" /> 4122 </div> 4123 <div class="col-6"> 4124 <p class="js-maegler-name"></p> 4125 <p class="js-maegler-address"></p> 4126 <p class="js-maegler-phone"></p> 4127 <p class="js-maegler-mail"></p> 4128 </div> 4129 </div> 4130 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p> 4131 </div> 4132 </div> 4133 4134 <!-- BESTIL SALGSVURDERING --> 4135 <div id="panel-salgsvurdering" class="panel panel-form"> 4136 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 4137 <b></b> 4138 </button> 4139 4140 <form id="bestil-salgsvurdering" class="buyer-advisor-form js-buyer-advisor-form" method="POST" action="/InboxHandler"> 4141 <h2 class="js-buyer-advisor-header">@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2> 4142 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p> 4143 <div class="form-group"> 4144 <label><strong>@Translate("form-navn", "Navn")*</strong></label> 4145 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required /> 4146 </div> 4147 <div class="form-group"> 4148 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 4149 <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 /> 4150 </div> 4151 <div class="form-group row mb-4"> 4152 <div class="col-6"> 4153 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 4154 <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 /> 4155 </div> 4156 <div class="col-6"> 4157 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 4158 <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' /> 4159 </div> 4160 4161 </div> 4162 4163 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3> 4164 <div class="form-group row"> 4165 <div class="col-4"> 4166 <label><strong>@Translate("form-zip", "Post nr")*</strong></label> 4167 <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 /> 4168 <input type="hidden" class="js-postnummer-validation" /> 4169 </div> 4170 <div class="col-8"> 4171 <label><strong>@Translate("form-city", "By")*</strong></label> 4172 <input class="form-control js-city" type="text" readonly /> 4173 </div> 4174 </div> 4175 <div class="form-group overflow-unset"> 4176 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label> 4177 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required /> 4178 <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> 4179 </div> 4180 4181 <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"> 4182 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong> 4183 </button> 4184 <div class="collapse" id="salgsvurdering-collapse"> 4185 <div class="form-group"> 4186 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea> 4187 </div> 4188 </div> 4189 4190 4191 <div class="salgsvurdering-precheck"> 4192 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3> 4193 <div class="col-12"> 4194 <div class="choose-broker row align-items-center active"> 4195 <div class="col-2"> 4196 <input class="js-broker-radio" type="radio" id="" name="choose-broker" value="" checked> 4197 <label class="js-broker-label" for=""></label><div class="check"> 4198 <div class="inside"> 4199 </div> 4200 </div> 4201 </div> 4202 <div class="col-4"> 4203 <img src="" class="img-fluid js-broker-image"> 4204 </div> 4205 <div class="col-6"> 4206 <span class="d-block"> 4207 <strong class="js-choose-broker-name"></strong> 4208 </span> 4209 <span class="js-choose-broker-address"></span> 4210 <input type="hidden" class="js-choose-broker-phone" value="" /> 4211 <input type="hidden" class="js-choose-broker-email" value="" /> 4212 </div> 4213 </div> 4214 </div> 4215 </div> 4216 <div class="salgsvurdering-broker"> 4217 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3> 4218 <div class="js-choose-broker col-12"> 4219 </div> 4220 4221 </div> 4222 4223 <div class="form-group mt-4"> 4224 <div class="checkbox"> 4225 <label> 4226 <input type="checkbox" name="kontaktmigok" required /> 4227 4228 <span class="consent-checkbox">@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 4229 4230 </label> 4231 </div> 4232 </div> 4233 <div class="form-group"> 4234 <div class="row"> 4235 <div class="col-12"> 4236 <button type="submit" class="btn btn-green btn-block js-buyer-advisor-button">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button> 4237 </div> 4238 </div> 4239 </div> 4240 <div class="form-group form-group-terms"> 4241 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>. 4242 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>. 4243 </div> 4244 <input type="hidden" name="fn" value="bsv" /> 4245 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" /> 4246 <input type="hidden" name="brugerId" value="@userID" /> 4247 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 4248 <input type="hidden" id="boligvisning" name="boligvisning" value="" /> 4249 <input type="hidden" id="panel-salgsvurdering-butikid" name="butikId" value="" /> 4250 <input type="hidden" id="panel-salgsvurdering-sagsnr" name="sagsnr" value="" /> 4251 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" /> 4252 <input type="hidden" name="ejendomstype" value="" /> 4253 <input type="hidden" name="salgspris" value="" /> 4254 <input type="hidden" name="employee" value="" /> 4255 <input type="hidden" name="modtager" value="" /> 4256 <input class="js-value-check" type="hidden" name="valueCheck" value="" /> 4257 <input class="js-green-appraisal" type="hidden" name="greenAppraisal" value="" /> 4258 </form> 4259 <div id="tak-salgsvurdering" style="display:none;"> 4260 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2> 4261 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p> 4262 <div class="row"> 4263 <div class="col-6"> 4264 <img src="" class="img-fluid js-maegler-img" /> 4265 </div> 4266 <div class="col-6"> 4267 <p class="js-maegler-name"></p> 4268 <p class="js-maegler-address"></p> 4269 <p class="js-maegler-phone"></p> 4270 <p class="js-maegler-mail"></p> 4271 </div> 4272 </div> 4273 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p> 4274 </div> 4275 </div> 4276 4277 <!-- BESTIL SALGSVURDERING GULDKØBER --> 4278 <div id="panel-salgsvurdering-guldkoeber" class="panel panel-form"> 4279 <button type="button" class="close" data-dismiss="panel-form" aria-label="Close"> 4280 <b></b> 4281 </button> 4282 4283 <form id="bestil-salgsvurdering-guldkoeber" method="POST" action="/InboxHandler"> 4284 <h2>@Translate("form-salgsvurdering-titel", "Bestil gratis salgsvurdering")</h2> 4285 <p>@Translate("form-salgsvurdering-beskrivelse", "")</p> 4286 <div class="form-group"> 4287 <label><strong>@Translate("form-navn", "Navn")*</strong></label> 4288 <input class="form-control" type="text" name="navn" placeholder='@Translate("Smartpage:Salgsvurdering.Placeholder.Navn", "Indtast dit navn")' value='@UserContext.Current.User?.Name' required /> 4289 </div> 4290 <div class="form-group"> 4291 <label><strong>@Translate("form-email", "E-mail")*</strong></label> 4292 <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 /> 4293 </div> 4294 <div class="form-group row mb-4"> 4295 <div class="col-6"> 4296 <label><strong>@Translate("form-telephone", "Telefon nr.")</strong></label> 4297 <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' /> 4298 </div> 4299 <div class="col-6"> 4300 <label><strong>@Translate("form-mobile", "Mobil nr.")*</strong></label> 4301 <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 /> 4302 </div> 4303 </div> 4304 4305 <h3>@Translate("Smartpage:Salgsvurdering.DinBolig", "Din bolig")</h3> 4306 4307 <div class="form-group row"> 4308 <div class="col-4"> 4309 <label><strong>@Translate("form-zip", "Post nr")*</strong></label> 4310 <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 /> 4311 <input type="hidden" class="js-postnummer-validation" /> 4312 </div> 4313 <div class="col-8"> 4314 <label><strong>@Translate("form-city", "By")*</strong></label> 4315 <input class="form-control js-city" type="text" readonly /> 4316 </div> 4317 </div> 4318 <div class="form-group overflow-unset"> 4319 <label><strong>@Translate("form-adresse", "Adresse")*</strong></label> 4320 <input class="form-control js-validate-address" type="text" name="adresse" placeholder='@Translate("Smartpage:Aabenthus.Placeholder.Zip", "Udfyld din egen adresse")' value="@userAddress" required /> 4321 <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> 4322 </div> 4323 4324 <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"> 4325 <strong class="f-12"><i class="fas fa-plus"></i> @Translate("Smartpage:Salgsvurdering.Skrivenkommentar", "Skriv en kommentar")</strong> 4326 </button> 4327 <div class="collapse" id="salgsvurdering-collapse"> 4328 <div class="form-group"> 4329 <textarea class="form-control" name="besked" placeholder='@Translate("form-besked-max", "Skriv en besked på max 150 tegn")' maxlength="150"></textarea> 4330 </div> 4331 </div> 4332 4333 <div class="salgsvurdering-precheck"> 4334 <h3>@Translate("Smartpage:Salgsvurdering.SendSalgsvurderingTil", "Send salgsvurdering til:")</h3> 4335 <div class="col-12"> 4336 <div class="choose-broker row align-items-center active"> 4337 <div class="col-2"> 4338 <input class="js-broker-radio" type="radio" id="" name="choose-broker-gk" value="" checked> 4339 <label class="js-broker-label" for=""></label><div class="check"> 4340 <div class="inside"> 4341 </div> 4342 </div> 4343 </div> 4344 <div class="col-4"> 4345 <img src="" class="img-fluid js-broker-image"> 4346 </div> 4347 <div class="col-6"> 4348 <span class="d-block"> 4349 <strong class="js-choose-broker-name"></strong> 4350 </span> 4351 <span class="js-choose-broker-address"></span> 4352 <input type="hidden" class="js-choose-broker-phone" value="" /> 4353 <input type="hidden" class="js-choose-broker-email" value="" /> 4354 </div> 4355 </div> 4356 </div> 4357 </div> 4358 <div class="salgsvurdering-broker"> 4359 <h3 class="js-brokerh3">@Translate("Smartpage:Salgsvurdering.VælgMægler", "Vælg mægler")</h3> 4360 <div class="js-choose-broker col-12"> 4361 </div> 4362 4363 </div> 4364 4365 4366 <div class="form-group"> 4367 <div class="row"> 4368 <div class="col-12"> 4369 <button type="submit" class="btn btn-green btn-block">@Translate("form-salgsvurdering-submitbtn", "Bestil gratis salgsvurdering")</button> 4370 </div> 4371 </div> 4372 </div> 4373 <div class="form-group"> 4374 <div class="checkbox"> 4375 <label> 4376 <input type="checkbox" name="kontaktmigok" required /> 4377 4378 <span>@Translate("form-contactpermission-real", "Ja tak, RealMæglerne må gerne kontakte mig. *")</span> 4379 4380 </label> 4381 </div> 4382 </div> 4383 <div class="form-group form-group-terms"> 4384 @privacyPolicyText <a href="mailto:@termsMail">@termsMail</a>. 4385 Læs mere på <a href="@settings_Persondatapolitik">privatlivspolitikkerne</a>. 4386 </div> 4387 <input type="hidden" name="fn" value="bsg" /> 4388 <input type="hidden" name="origin" class="js-salgsvurdering-origin" value="" /> 4389 <input type="hidden" name="brugerId" value="@userID" /> 4390 <input type="hidden" name="areaid" value="@Pageview.AreaID" /> 4391 <input type="hidden" id="boligvisning-gk" name="boligvisning" value="" /> 4392 <input type="hidden" id="panel-salgsvurdering-gk-butikid" name="butikId" value="" /> 4393 <input type="hidden" id="panel-salgsvurdering-gk-sagsnr" name="sagsnr" value="" /> 4394 <input type="hidden" name="productId" value="@Dynamicweb.Context.Current.Request["ProductId"]" /> 4395 <input type="hidden" name="ejendomstype" value="" /> 4396 <input type="hidden" name="salgspris" value="" /> 4397 <input type="hidden" name="employee" value="" /> 4398 <input type="hidden" name="modtager" value="" /> 4399 </form> 4400 <div id="tak-salgsvurdering" style="display:none;"> 4401 <h2>@Translate("TakForDinInteresse", "Tak for din interesse")</h2> 4402 <p>@Translate("Smartpage:FormSalgsvurdering.Subheader", "Vi har sendt din bestilling af gratis salgsvurdering til:")</p> 4403 <div class="row"> 4404 <div class="col-6"> 4405 <img src="" class="img-fluid js-maegler-img" /> 4406 </div> 4407 <div class="col-6"> 4408 <p class="js-maegler-name"></p> 4409 <p class="js-maegler-address"></p> 4410 <p class="js-maegler-phone"></p> 4411 <p class="js-maegler-mail"></p> 4412 </div> 4413 </div> 4414 <p>@Translate("Smartpage:FormKontaktGuld.Bottom", "Mægleren vil kontakte dig hurtigst muligt")</p> 4415 </div> 4416 </div> 4417 4418 4419 <div class="overlay-wrapper"></div> 4420 <div class="dropdown-overlay"></div> 4421 <div class="loader-inner ball-pulse"></div> 4422 4423 @{ 4424 var viamapstrapFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/webpack/js/3rdparty/viamapstrap.js")); 4425 <script type="text/javascript" src='@(TemplateUrl)assets/webpack/js/3rdparty/viamapstrap.js?@(viamapstrapFileInfo.LastWriteTime.Ticks)' async></script> 4426 4427 var bundleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath(TemplateUrl + "assets/dist/bundle.app.min.js")); 4428 <script type="text/javascript" src='@(TemplateUrl)assets/dist/bundle.app.min.js?@(bundleFileInfo.LastWriteTime.Ticks)' async></script> 4429 } 4430 4431 @RenderSnippet("JavaScriptBottom") 4432 4433 @if (Context.Current.Request.QueryString["ShowLogin"] == "true") 4434 { 4435 <input class="js-showLogin" value="true" /> 4436 } 4437 4438 @if (!string.IsNullOrEmpty(settings_ConduzeId)) 4439 { 4440 <script type="text/javascript" id="conduze-sdk" src="https://cdn.conduze.com/@settings_ConduzeId/tracking.js" async></script> 4441 } 4442 4443 @if (!string.IsNullOrEmpty(settings_Weply)) 4444 { 4445 <script src="https://app.weply.chat/widget/@settings_Weply" async></script> 4446 } 4447 4448 </body> 4449 </html> 4450 4451