Error executing template "Designs/ambu/_parsed/ambu-mastersite-espresso.parsed.cshtml"System.NullReferenceException: Object reference not set to an instance of an object.at CompiledRazorTemplates.Dynamic.RazorEngine_9cd1430d4a924e848486d3deab3a5cd1.Execute() in E:\dynamicweb.net\SolutionsCustom\Co3\ambu-com.espresso4.dk\files\Templates\Designs\ambu\_parsed\ambu-mastersite-espresso.parsed.cshtml:line 30at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.b__0(TextWriter writer)at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Co3.Espresso.Website.TemplateBases.Pages.PageBase 2 @using Co3.Ambu.Dw.Services; 3 @using Co3.Ambu.Dw.DAL.Models; 4 @using System.Web; 5 @using Co3.Ambu.Dw.Models.Frontend 6 @using Co3.Espresso.Base.Extensions 7 @using Dynamicweb.Frontend; 8 @using Dynamicweb.Rendering; 9 @{ 10 string globalAreaLang = GetGlobalValue( "Global:Area.Lang" ); 11 //DomainLocalization domainLocalization = LocalizationService.Instance.GetDomainLocalizationIfMatch(); 12 string siteHostUrl = HttpContext.Current.Request.Url.Host; 13 string siteHost = GetGlobalValue( "Global:Request.Scheme" ) + "://" + siteHostUrl + "/"; 14 int globalAreaID = PageView.Current().Area.ID; 15 16 bool isProductPage = string.IsNullOrEmpty( HttpContext.Current.Request["productid"] ) == false; 17 bool isProductPageSearch = string.IsNullOrEmpty( HttpContext.Current.Request["PageNum"] ) == false; 18 string productTitleSnippetHtml = RenderSnippet( "productTitle" ).ToString().Trim(); 19 string eComCanonicalSnippetTag = RenderSnippet( "eComCanonical" ).ToString().Trim(); 20 string globalValueUrl = GetGlobalValue( "Global:Pageview.Url" ); 21 string pageTitle = GetGlobalValue("Global:Page.Name"); 22 if ( GetGlobalValue( "Global:Pageview.Url" ).IndexOf( "?" ) > -1 ) 23 { 24 globalValueUrl = GetGlobalValue( "Global:Pageview.Url" ).Substring( 0, GetGlobalValue( "Global:Pageview.Url" ).IndexOf( "?" ) ); 25 } 26 string canonicalPageView = String.Format( "{0}://{1}{2}", GetGlobalValue( "Global:Request.Scheme" ), GetGlobalValue( "Global:Request.Host" ), globalValueUrl ); 27 string pageCanonical = PageView.Current().Page.MetaCanonical; 28 string OpenGraphURL = GetGlobalValue( "Global:Request.Scheme" ) + "://" + GetGlobalValue( "Global:Request.Host" ) + GetGlobalValue( "Global:Pageview.Url" ); 29 30 string scriptHead = (Espresso.Area.Item.ScriptHead != "") ? Espresso.Area.Item.ScriptHead : ""; 31 string scriptBodyTop = (Espresso.Area.Item.ScriptBodyTop != "") ? Espresso.Area.Item.ScriptBodyTop : ""; 32 string scriptBodyBottom = (Espresso.Area.Item.ScriptBodyBottom != "") ? Espresso.Area.Item.ScriptBodyBottom : ""; 33 } 34 <!DOCTYPE html> 35 <html lang="@globalAreaLang"> 36 <head> 37 <meta charset="utf-8"> 38 @if ( isProductPage == false && isProductPageSearch == false ) 39 { 40 <title>@GetValue("Title")</title> 41 @GetValue("CopyRightNotice") 42 43 @GetValue("MetaTags") 44 } 45 else if(isProductPage) 46 { 47 @productTitleSnippetHtml 48 } 49 else 50 { 51 <title>@pageTitle</title> 52 <base href="@siteHost"> 53 <meta name="generator" content="Dynamicweb 9"> 54 } 55 <meta content="width=device-width, initial-scale=1, shrink-to-fit=no, minimal-ui" name="viewport"> 56 <meta content="ie=edge" http-equiv="x-ua-compatible"> 57 <meta content="313B624F0C8264FB3B95057AE602F42C" name="msvalidate.01"> 58 @using Dynamicweb.Frontend 59 @using Area = Dynamicweb.Content.Area 60 61 62 <!-- Hreflang --> 63 @{ 64 @* Get areas from service *@ 65 Dynamicweb.Content.AreaService areaService = new Dynamicweb.Content.AreaService(); 66 IList<Area> areas = areaService.GetAreas(); 67 68 @* Get current page's relation-text from page-item *@ 69 string currentPageRelation = PageView.Current().Page.Item["PageRelation"] != null ? PageView.Current().Page.Item["PageRelation"].ToString() : string.Empty; 70 71 @* Frontpage must have 'frontpage' as relation-text *@ 72 string CONST_frontpageRelation = "frontpage"; 73 74 @* Iterate areas *@ 75 foreach ( Area area in areas ) 76 { 77 if ( area.Active == true ) 78 { 79 80 81 82 @* Get current area's culture *@ 83 string culture = area.Culture; 84 @* Check for IsDefault Hreflang on area *@ 85 string isDefaultHrefLang = area.Item["IsDefaultHrefLang"] != null ? area.Item["IsDefaultHrefLang"].ToString() : string.Empty; 86 @* Check for override-culture text on area *@ 87 string hreflangCultureOverride = area.Item["HreflangLanguageOverride"] != null ? area.Item["HreflangLanguageOverride"].ToString() : string.Empty; 88 89 @* Get scheme and domain *@ 90 string scheme = GetGlobalValue( "Global:Request.Scheme" ); 91 92 string domain = area.DomainLock; 93 @* If we have a primary domain call pageservice and get pages *@ 94 if ( string.IsNullOrEmpty( currentPageRelation ) == false && string.IsNullOrEmpty( domain ) == false && !domain.EndsWith( "espresso4.dk" ) ) 95 { 96 Dynamicweb.Content.PageService pageService = new Dynamicweb.Content.PageService(); 97 IEnumerable<Dynamicweb.Content.Page> pages = pageService.GetPagesByAreaID( area.ID ); 98 99 @* Iterate pages in area - check if is active + has item + has item-pagerelation + item-pagerelation equals current pagerelation *@100 foreach ( Dynamicweb.Content.Page page in pages.Where( p => p.Published && p.Item != null && p.Item["PageRelation"] != null && p.Item["PageRelation"].ToString().Equals( currentPageRelation ) ) )101 {102 string productId = HttpContext.Current.Request["productid"];103104 string url = string.Empty;105106 if ( string.IsNullOrEmpty( productId ) == false )107 {108 @* Build url to area product page *@109 string prodUrl = string.Format( "Default.aspx?ID={0}&ProductId={1}", page.ID, productId );110 url = string.Format( "{0}://{1}{2}", scheme, domain, SearchEngineFriendlyURLs.GetFriendlyUrl( prodUrl, area.EcomLanguageId ) );111 }112 else113 {114 @* Build url to area page *@115 url = string.Format( "{0}://{1}{2}", scheme, domain, SearchEngineFriendlyURLs.GetFriendlyUrl( page.GetPageHrefValue() ) );116 }117118 @* If our current page relation match frontpage - set link to domain only *@119 if ( currentPageRelation.ToLower() == CONST_frontpageRelation )120 {121 url = string.Format( "{0}://{1}/", scheme, domain );122 }123 @* If we have a value in the area-item to overrule the culture, override the value here *@124 if ( string.IsNullOrEmpty( hreflangCultureOverride ) == false )125 {126 culture = hreflangCultureOverride;127 }128 @* If our area item has checked in Default hreflang, we render x-default link *@129 if ( isDefaultHrefLang == "True" )130 {131 <link rel="alternate" hreflang="x-default" href="@url">132 }133 else134 {135 @* Render hreflang-link *@136 <link rel="alternate" hreflang="@culture.ToLower()" href="@url">137 }138139 @* Find all related cultures *@140 string relatedCulturesString = area.Item["RelatedCultures"] != null ? area.Item["RelatedCultures"].ToString() : string.Empty;141142 if (!string.IsNullOrWhiteSpace(relatedCulturesString))143 {144 @* RelatedCultures is an editable list, which comes comma separated *@145 string[] relatedCultures = relatedCulturesString.Split(',');146147 foreach (string relatedCulture in relatedCultures)148 {149 <link rel="alternate" hreflang="@relatedCulture.ToLower()" href="@url">150 }151 }152 }153 }154 }155 }156 }157 <!-- End Hreflang -->158159 @if ( globalValueUrl.EndsWith( "/product" ) || globalValueUrl.Contains( "/test-dev" ) || globalValueUrl.Contains( "/test-pages" ) )160 {161 <meta content="noindex" name="robots">162 }163164 @if ( isProductPage == false )165 {166 <link rel="canonical" href="@canonicalPageView">167 }168 else169 {170 <link rel="canonical" href="@eComCanonicalSnippetTag">171 @GetValue( "MetaTags" )172 }173174 @Espresso.CriticalCSS175176 @scriptHead177178 @if ( string.IsNullOrEmpty( Espresso.Area.GoogleTagManagerID ) == false && Espresso.Area.GoogleTagManagerID != "GTM-XXXX" )179 {180 <!-- Google Tag Manager -->181 <script>182 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':183 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],184 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=185 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);186 })(window,document,'script','dataLayer','@Espresso.Area.GoogleTagManagerID');187 </script>188 <!-- End Google Tag Manager -->189 }190 <link href="/Files/Templates/Designs/ambu/assets/_dist/css/default.css?v=4.0336999696996969696" media="@Espresso.StylesheetAttributeMedia" rel="@Espresso.StylesheetAttributeRel" as="style">191192 @Espresso.CriticalJS193194195 <link rel="shortcut icon" href="@Espresso.Area.Item.Favicon">196 @if ( Espresso.IsStagingUrl == true || siteHost.Contains( "webtester.dk" ) )197 {198 <meta content="noindex,nofollow" name="robots">199 }200201 <meta property="og:url" content="@OpenGraphURL">202 <meta property="og:title" content="@Espresso.OpenGraphTitle">203 <meta property="og:description" content="@Espresso.OpenGraphDescription">204 <meta property="og:image" content="@Espresso.OpenGraphImage">205206 @if ( string.IsNullOrEmpty( Espresso.Area.Item.GoogleSiteVerification ) == false )207 {208 <meta name="google-site-verification" content="@Espresso.Area.Item.GoogleSiteVerification">209 }210211 @{212 if ( 1 == 2 )213 {214 @GetValue( "Stylesheets" )215 }216 }217218 @*<div class="modal fade ambu-disclaimer-modal" id="ambu-disclaimer" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static">219 <div class="modal-dialog">220 <div class="modal-content col-xs-12 col-md-8 col-md-offset-2 p-t-2 p-b-2">221 <button type="button" class="close" data-dismiss="modal" aria-label="Close">222 <span aria-hidden="true">&times;</span>223 </button>224 <section class="p-t-3 p-b-3">225 <div class="container-fluid">226 <div class="row">227 <div class="col-xs-12">228 <div class="row">229 <div class="js-disclaimer-text-container col-xs-12 col-md-12 " hidden="">230 <div class="row">231 <div class="col-xs-12">232 <h2 class="m-b-0">Disclaimer <span style="font-size: 0.5em;" class="text-primary">(Important)</span></h2>233 <p class="card-header p-t-3 p-b-3 small m-t-1">234 ELECTRONIC VERSIONS OF THE MATERIALS YOU ARE SEEKING TO ACCESS ARE BEING MADE AVAILABLE ON THIS WEBPAGE BY AMBU A/S (THE <strong>“COMPANY”</strong>) IN GOOD FAITH AND FOR INFORMATION PURPOSES ONLY. THESE MATERIALS ARE NOT DIRECTED AT OR ACCESSIBLE BY PERSONS LOCATED IN THE UNITED STATES, CANADA, AUSTRALIA AND JAPAN AND ANY OTHER JURISDICTION WHERE THE EXTENSION OR AVAILABILITY OF THE PROPOSED OFFERING (AND ANY OTHER TRANSACTION CONTEMPLATED THEREBY) WOULD BREACH ANY APPLICABLE LAW OR REGULATION (THE <strong>“RESTRICTED JURISDICTIONS”</strong>).</p>235 <p class="lead">236 Please read this notice carefully — it applies to all persons who view this webpage. Please note that the disclaimer set out below may be altered or updated from time to time. You should read it in full each time you visit the site.</p>237 <h3>Basis of access </h3>238 <p>239 Access to electronic versions of these materials is being made available by the Company in good faith and for information purposes only. Any person seeking access to this webpage represents and warrants to the Company that they are doing so for information purposes only. Making press announcements and other documents available in electronic format does not constitute an offer to sell or the solicitation of an offer to buy the securities mentioned in such materials (the “Securities”). Further, it does not constitute a recommendation by the Company or any other party to sell or buy the Securities.</p>240 <h3>Foreign Persons</h3>241 <p>242 Viewing the materials on this webpage may not be lawful in certain jurisdictions. In other jurisdictions, only certain categories of person may be allowed to view such materials. Any citizens or residents or, or persons otherwise located in, any Restricted Jurisdiction, who wish to view these materials should satisfy themselves that they are not subject to any local requirements that prohibit or restrict them from doing so.</p>243 <p>244 Unless otherwise determined by the Company and permitted by applicable law and regulation, the materials do not constitute or form a part of any offer or solicitation to purchase or subscribe for the Securities by the Company made in the Restricted Jurisdictions or any other jurisdiction in which such offers or sales are unlawful prior to registration or qualification under the securities laws of any such jurisdiction.</p>245 <p>246 In particular, the Securities have not been and will not be registered under the United States Securities Act of 1933, as amended (the <strong>“Securities Act”</strong>), and may not be offered or sold in or into the United States except pursuant to an exemption from, or in a transaction not subject to, the registration requirements of the Securities Act. The Securities will not be registered under or offered in compliance with applicable securities laws of any state, province, territory, county or jurisdiction of the United States or the other Restricted Jurisdictions. Accordingly, unless an exemption under the relevant securities law is applicable, the Securities may not be offered, sold, taken up, exercised, renounced, resold, delivered or distributed, directly or indirectly, in or into the United States or the other Restricted Jurisdictions or any other jurisdiction if to do so would constitute a violation of the relevant laws of, or require registration of the Securities in, such jurisdiction. There will be no public offering of the Securities in the United States.</p>247 <p>248 If you are not permitted to view materials on this webpage or are in any doubt as to whether you are permitted to view these materials, please exit this webpage.</p>249 <h3>Confirmation of understanding and acceptance of disclaimer</h3>250 <p>251 Electronic versions of these materials are not directed at or accessible by, nor should they be made available to, persons located in the Restricted Jurisdictions or in any other restricted jurisdiction.</p>252 <p>253 By clicking on the “Agree” button, I certify that I am not located in any of the Restricted Jurisdictions or in any other restricted jurisdiction.254 </p>255 <p>256 I have read and understood the disclaimer set out above. I understand that it may affect my rights. I agree to be bound by its terms. By clicking on the “Agree” button, I confirm that I am permitted to proceed to electronic versions of these materials.</p>257 </div>258 </div>259 <div class="row">260261 <div class="m-t-1 col-xs-12 col-md-6">262 <button class="btn btn-primary btn-sm btn-block js-disclaimer-modal-confirm-again-btn" type="button">Agree</button>263 </div>264 <div class="m-t-1 col-xs-12 col-md-6">265 <button class="btn btn-secondary btn-sm btn-block" type="button" data-dismiss="modal">Disagree</button>266 </div>267 </div>268 </div>269 <div class="js-disclaimer-select-country-container col-xs-12 col-md-8 col-md-offset-2">270 <h2 class="text-xs-center">Please confirm your location here</h2>271 <form class="form-inline"></form>272 <div class="form-group">273 <div class="row">274 <div class="m-t-1 col-xs-12 col-md-8">275 <select style="height: 100%; padding: 0.1em 0;" class="form-control form-control-lg js-disclaimer-modal-confirm-value">276 <option selected="" disabled="">Select country</option>277 <option value="AL">Albania</option>278 <option value="AR">Argentina</option>279 <option value="AU">Australia</option>280 <option value="AT">Austria</option>281 <option value="BH">Bahrain</option>282 <option value="BD">Bangladesh</option>283 <option value="BE">Belgium</option>284 <option value="BO">Bolivia</option>285 <option value="BR">Brazil</option>286 <option value="BG">Bulgaria</option>287 <option value="CA">Canada</option>288 <option value="CL">Chile</option>289 <option value="CN">China</option>290 <option value="CO">Colombia</option>291 <option value="CR">Costa Rica</option>292 <option value="HR">Croatia</option>293 <option value="CZ">Czech Republic</option>294 <option value="DK">Denmark</option>295 <option value="EC">Ecuador</option>296 <option value="EG">Egypt</option>297 <option value="SV">El Salvador</option>298 <option value="EE">Estonia</option>299 <option value="FI">Finland</option>300 <option value="FR">France</option>301 <option value="DE">Germany</option>302 <option value="GR">Greece</option>303 <option value="GT">Guatamala</option>304 <option value="HK">Hong Kong</option>305 <option value="HU">Hungary</option>306 <option value="IS">Iceland</option>307 <option value="IN">India</option>308 <option value="ID">Indonesia</option>309 <option value="IR">Iran</option>310 <option value="IQ">Iraq</option>311 <option value="IE">Ireland</option>312 <option value="IL">Israel</option>313 <option value="IT">Italy</option>314 <option value="JP">Japan</option>315 <option value="JO">Jordan</option>316 <option value="KE">Kenya</option>317 <option value="KW">Kuwait</option>318 <option value="LV">Latvia</option>319 <option value="LB">Lebanon</option>320 <option value="LY">Libya</option>321 <option value="LT">Lithuania</option>322 <option value="LU">Luxembourg</option>323 <option value="MY">Malaysia</option>324 <option value="MT">Malta</option>325 <option value="MK">Marcedonia</option>326 <option value="MX">Mexico</option>327 <option value="MA">Morocco</option>328 <option value="MM">Myanmar</option>329 <option value="NP">Nepal</option>330 <option value="NL">Netherlands</option>331 <option value="NZ">New Zealand</option>332 <option value="NI">Nicaragua</option>333 <option value="NO">Norway</option>334 <option value="OM">Oman</option>335 <option value="PK">Pakistan</option>336 <option value="PA">Panana</option>337 <option value="PY">Paraguay</option>338 <option value="PE">Peru</option>339 <option value="PH">Philippines</option>340 <option value="PL">Poland</option>341 <option value="PT">Portugal</option>342 <option value="PR">Puerto Rico</option>343 <option value="QA">Qatar</option>344 <option value="DO">República Dominicana</option>345 <option value="RO">Romania</option>346 <option value="RU">Russia</option>347 <option value="SA">Saudi Arabia</option>348 <option value="RS">Serbia</option>349 <option value="SG">Singapore</option>350 <option value="SK">Slovak Republic</option>351 <option value="SI">Slovenia</option>352 <option value="ZA">South Africa</option>353 <option value="KR">South Korea</option>354 <option value="ES">Spain</option>355 <option value="LK">Sri Lanka</option>356 <option value="SE">Sweden</option>357 <option value="CH">Switzerland</option>358 <option value="SY">Syria</option>359 <option value="TW">Taiwan</option>360 <option value="TH">Thailand</option>361 <option value="TT">Trinidad &amp; Tobago</option>362 <option value="TN">Tunisia</option>363 <option value="TR">Turkey</option>364 <option value="AE">UAE</option>365 <option value="GB">United Kingdom</option>366 <option value="US">United States</option>367 <option value="UY">Uruguay</option>368 <option value="VN">Vietnam</option>369 </select>370 </div>371 <div class="m-t-1 col-xs-12 col-md-4">372 <button class="btn btn-primary btn-sm btn-block js-disclaimer-modal-confirm-btn" type="button">Go</button>373 </div>374 </div>375 </div>376 </div>377 <form></form>378 </div>379 </div>380 </div>381 </div>382 </section>383 </div>384 </div>385 </div>*@386387 @GetValue("Stylesheets")388 @GetValue("Javascripts")389 </head>390391 <body class="@Espresso.Item.CustomClasses">392393 @scriptBodyTop394395 @if ( string.IsNullOrEmpty( Espresso.Area.GoogleTagManagerID ) == false && Espresso.Area.GoogleTagManagerID != "GTM-XXXX" )396 {397 <!-- Google Tag Manager (noscript) -->398 <noscript>399 <iframe src="https://www.googletagmanager.com/ns.html?id=@Espresso.Area.GoogleTagManagerID" height="0" width="0" style="display:none;visibility:hidden"></iframe>400 </noscript>401 <!-- End Google Tag Manager (noscript) -->402 }403404 @using Co3.Ambu.Dw.Services405 @{406 if( Espresso.Canvas.ClassList.ToString().Contains("e-page-is-loading") == true ){407 Espresso.Canvas.ClassList.RemoveClasses("e-page-is-loading");408 Espresso.Canvas.ClassList.AddClasses("is-loading");409 }410 if ( Espresso.Item.HeaderHide == "True" )411 {412 Espresso.Canvas.ClassList.AddClasses( "p-t-0" );413 }414 }415416 @if( Espresso.Area.Item.OptimizedLoading == "True" ){417 <div id="js-e-page-loading-overlay" class="e-page-loading-overlay e-loading-overlay is-loading"><div class="e-loading-spinner"></div></div>418 }419420 <div class="@Espresso.Canvas.ClassList" id="js-e-canvas">421 @{422 string Logo = Espresso.Area.Item.Logo; string Tagline = Espresso.Area.Item.Tagline;423 }424 @if( Espresso.Item.HeaderHide != "True" ){425 <header class="e-header e-header-mastersite js-e-header is-sticky">426 <div class="e-header-container">427 <div class="container-fluid">428 <div class="row">429 <div class="col-xs-12">430 <article class="e-header-wrapper">431 <div class="e-logo hidden-lg-up">432 <a href="/" class="e-logo-link">433 <img src="@Logo" class="e-logo-img" alt="@Tagline">434 @if( string.IsNullOrEmpty( Tagline ) == false ){435 <p class="e-logo-tagline">@Tagline</p>436 }437 </a>438 </div>439 @if( Espresso.Item.NavigationHide != "True" ){440 @GetValue("DwNavigation(dwnavheadercta)")441 if( Espresso.Area.Item.Search == "True" ){442 <div class="e-search-toggle e-header-btn">443 <a data-toggle="modal" data-target=".modal.e-search" class="btn text-auto">444 <i class="material-icons m-a-0">search</i>445 </a>446 </div>447 }448 if (!string.IsNullOrWhiteSpace(GetGlobalValue("Global:eCommerce.Order.OrderLines.TotalProductQuantity"))) {449 if( Espresso.Area.Item.Shop == "True" ){450 <div class="e-header-btn e-cart-mini">451 <a href="/quote/cart/" class="btn text-auto">452 <i class="material-icons m-a-0">shopping_basket</i>453 <span class="e-cart-count js-e-cart-count">@GetGlobalValue("Global:eCommerce.Order.OrderLines.TotalProductQuantity")</span>454 </a>455 </div>456 }457 }458 <div class="e-header-btn e-nav-toggle">459 <a data-toggle="modal" data-target=".modal.e-nav-container" class="btn text-auto">460 <i class="material-icons">menu</i>461 </a>462 </div>463 <div class="e-nav-container modal js-e-nav-container" data-backdrop="false">464 <nav class="e-nav">465 <div class="e-nav-masthead">466 <div class="e-logo">467 <a href="/" class="e-logo-link">468 <img src="@Logo" class="e-logo-img" alt="@Tagline"> @if( string.IsNullOrEmpty( Tagline ) == false ){469 <p class="e-logo-tagline">@Tagline</p>470 }471 </a>472 </div>473 <div class="e-nav-toggle e-header-btn">474 <button type="button" data-toggle="modal" data-target=".modal.e-nav-container" class="btn text-auto">475 <i class="material-icons">close</i>476 </button>477 </div>478 @if( Espresso.Area.Item.Search == "True" ){479 <div class="e-search-toggle e-header-btn">480 <button type="button" data-toggle="modal" data-target=".modal.e-search" class="btn text-auto">481 <i class="material-icons">search</i>482 </button>483 </div>484 }485 @if (!string.IsNullOrWhiteSpace(GetGlobalValue("Global:eCommerce.Order.OrderLines.TotalProductQuantity"))) {486 if( Espresso.Area.Item.Shop == "True" ){487 <div class="e-header-btn e-cart-mini">488 <a href="/quote/cart/" class="btn text-auto">489 <i class="material-icons m-a-0">shopping_basket</i>490 <span class="e-cart-count js-e-cart-count">@GetGlobalValue("Global:eCommerce.Order.OrderLines.TotalProductQuantity")</span>491 </a>492 </div>493 }494 }495 </div>496 <section class="e-nav-global">497 <ul class="nav">498 @GetValue("DwNavigation(dwnavglobal)")499 </ul>500 @if( Espresso.Area.Item.Search == "True" ){501 <div class="e-search-toggle">502 <button type="button" data-toggle="modal" data-target=".modal.e-search" class="btn text-auto">503 <i class="material-icons">search</i>504 </button>505 </div>506 }507 @if (!string.IsNullOrWhiteSpace(GetGlobalValue("Global:eCommerce.Order.OrderLines.TotalProductQuantity"))) {508 if( Espresso.Area.Item.Shop == "True" ){509 <div class="e-cart-mini">510 <a href="/quote/cart/" class="btn text-auto">511 <i class="material-icons m-a-0">shopping_basket</i>512 <span class="e-cart-count js-e-cart-count">@GetGlobalValue("Global:eCommerce.Order.OrderLines.TotalProductQuantity")</span>513 </a>514 </div>515 }}516 </section>517 @*@if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavcta)") ) == false ){518 <section class="e-nav-cta">519 <ul class="nav">520 @GetValue("DwNavigation(dwnavcta)")521 </ul>522 </section>523 }*@524525 <section class="e-nav-utilities-primary">526 <div class="e-logo">527 <a href="/" class="e-logo-link hidden-md-down">528 <img src="@Logo" class="e-logo-img" alt="@Tagline">529 @if( string.IsNullOrEmpty( Tagline ) == false ){530 <p class="e-logo-tagline">@Tagline</p>531 }532 </a>533 </div>534 @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavutilitiesprimary)") ) == false ){535 <ul class="nav">536 @if( Espresso.Item.NavigationHide != "True" ){537 @GetValue("DwNavigation(dwnavutilitiesprimary)")538 }539 </ul>540 }541 </section>542 @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavutilitiessecondaryheader)") ) == false ){543 <section class="e-nav-utilities-secondary">544 <ul class="nav">545 @GetValue("DwNavigation(dwnavutilitiessecondaryheader)")546 </ul>547 </section>548 }549 @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavcontext)") ) == false ){550 <section class="e-nav-context">551 <ul class="nav">552 @GetValue("DwNavigation(dwnavcontext)")553 </ul>554 </section>555 }556 </nav>557558 </div>559 }560 </article>561 </div>562 </div>563 </div>564 </div>565 </header>566 }567568 <main class="e-content">569 @{570 string eBreadcrumbClasslist = "e-breadcrumb js-e-breadcrumb";571 if( String.IsNullOrEmpty( Espresso.Item.BreadcrumbColor ) == false && Espresso.Item.BreadcrumbColor != "auto"){572 eBreadcrumbClasslist += string.Format(" e-breadcrumb-{0}", Espresso.Item.BreadcrumbColor);573 }574 }575 @if( Espresso.Item.BreadcrumbShow == "True" ){576 <nav class="@eBreadcrumbClasslist">577 <div class="container-fluid">578 <div class="row">579 <div class="col-xs-12">580 @GetValue("DwNavigation(dwnavbreadcrumb)")581 </div>582 </div>583 </div>584 </nav>585 }586587 <article id="dwcontentmain" class="e-content-main @Espresso.ContentArea.ClassList">588 @using Dynamicweb.Admin.dk.dynamicweb.templates589 @{590 string NavigationLocalHorizontalClassList = "e-nav-local e-nav-local-horizontal js-e-nav-local-horizontal";591 @* reset-animate *@592 string NavigationLocalHorizontalContainerClassList = "e-nav-local-container";593 if( Espresso.Item.NavigationLocalShow == "True" && Espresso.Item.NavigationLocalLayout == "horizontal" ) {594 NavigationLocalHorizontalClassList += " " + Espresso.Item.NavigationLocalCustomClasses;595 if( Espresso.Item.NavigationLocalSticky == "True" ) {596 NavigationLocalHorizontalClassList += " is-sticky";597 }598 if( Espresso.Item.NavigationLocalAbsolute == "True" ) {599 NavigationLocalHorizontalClassList += " is-absolute";600 }601 else{602 if( Espresso.Item.NavigationLocalMarginTop != "0" && Espresso.Item.NavigationLocalMarginTop != "" ) {603 NavigationLocalHorizontalClassList += " m-t-" + Espresso.Item.NavigationLocalMarginTop;604 }605 if( Espresso.Item.NavigationLocalMarginBottom != "0" && Espresso.Item.NavigationLocalMarginBottom != "" ) {606 NavigationLocalHorizontalClassList += " m-b-" + Espresso.Item.NavigationLocalMarginBottom;607 }608 }609 }610 }611612 @if( Espresso.Item.NavigationLocalShow == "True" && Espresso.Item.NavigationLocalLayout == "horizontal" )613 {614 string navigation = RenderNavigation( new615 {616 id = "dwnav-local-" + Espresso.DynamicwebPage.ID,617 parentid = string.IsNullOrEmpty( Espresso.Item.NavigationLocalParentPage ) == false ? Espresso.Item.NavigationLocalParentPage : Espresso.DynamicwebPage.ID,618 template = string.IsNullOrEmpty( Espresso.Item.NavigationLocalTemplate ) == false ? Espresso.Item.NavigationLocalTemplate : "local-" + Espresso.Item.NavigationLocalLayout + ".xslt",619 startlevel = Espresso.Item.NavigationLocalLevelStart,620 endlevel = Espresso.Item.NavigationLocalLevelEnd,621 expandmode = Espresso.Item.NavigationLocalExpandMode,622 } );623 if(!string.IsNullOrEmpty(navigation))624 {625 <section class="e-section @NavigationLocalHorizontalClassList">626 <div class="container-fluid">627 <div class="row">628 <div class="col-xs-12">629 <div class="row">630631 <div class="col-xs-12">632 <nav id="dwnav-local-@Espresso.DynamicwebPage.ID" class="@NavigationLocalHorizontalContainerClassList">633 <ul class="nav">634 @if( Espresso.Item.NavigationLocalHeading != "" ){635 <li class="e-nav-local-heading"><h2><a class="e-nav-local-heading-link" href="/default.aspx?ID=@Espresso.Item.NavigationLocalParentPage">@Espresso.Item.NavigationLocalHeading</a></h2></li>636 }637 @navigation638 </ul>639 </nav>640 </div>641642 </div>643 </div>644 </div>645 </div>646 </section>647 }648 }649650 @{651 string NavigationLocalVerticalClassList = "e-nav-local e-nav-local-vertical js-e-nav-local-vertical reset-animate";652 string NavigationLocalVerticalContainerClassList = "e-nav-local-container";653 if( Espresso.Item.NavigationLocalShow == "True" && Espresso.Item.NavigationLocalLayout == "vertical" ) {654 NavigationLocalVerticalClassList += " " + Espresso.Item.NavigationLocalCustomClasses;655 //NavigationLocalVerticalClassList += " col-xs-3";656657 if( Espresso.Item.NavigationLocalMarginTop != "0" && Espresso.Item.NavigationLocalMarginTop != "" ) {658 NavigationLocalVerticalClassList += " p-t-" + Espresso.Item.NavigationLocalMarginTop;659 }660 if( Espresso.Item.NavigationLocalMarginBottom != "0" && Espresso.Item.NavigationLocalMarginBottom != "" ) {661 NavigationLocalVerticalClassList += " p-b-" + Espresso.Item.NavigationLocalMarginBottom;662 }663664 if( Espresso.Item.NavigationLocalSticky == "True" ) {665 NavigationLocalVerticalClassList += " is-sticky";666 }667 if( Espresso.Item.NavigationLocalAbsolute == "True" ) {668 NavigationLocalVerticalClassList += " is-absolute";669 }670 else{671 Espresso.ContentSection.ClassList.RemoveClasses("col-xs-12 col-md-12 col-lg-12 col-md-10 col-md-11 col-lg-8 col-md-offset-1 col-lg-offset-2");672 Espresso.ContentSection.ClassList.AddClasses("col-xs-12 col-lg-9 col-lg-offset-3");673 }674 }675 }676677 @if( Espresso.Item.NavigationLocalShow == "True" && Espresso.Item.NavigationLocalLayout == "vertical" )678 {679 string navigation = RenderNavigation( new680 {681 id = "dwnav-local-" + Espresso.DynamicwebPage.ID,682 parentid = string.IsNullOrEmpty( Espresso.Item.NavigationLocalParentPage ) == false ? Espresso.Item.NavigationLocalParentPage : Espresso.DynamicwebPage.ID,683 template = string.IsNullOrEmpty( Espresso.Item.NavigationLocalTemplate ) == false ? Espresso.Item.NavigationLocalTemplate : "local-" + Espresso.Item.NavigationLocalLayout + ".xslt",684 startlevel = Espresso.Item.NavigationLocalLevelStart,685 endlevel = Espresso.Item.NavigationLocalLevelEnd,686 expandmode = Espresso.Item.NavigationLocalExpandMode,687 } );688689 if ( !string.IsNullOrEmpty( navigation ) )690 {691 <section class="e-section @NavigationLocalVerticalClassList">692 <div class="container-fluid">693 <div class="row">694 <div class="col-xs-12">695 <div class="row">696697 <div class="col-xs-3">698 <nav id="dwnav-local-@Espresso.DynamicwebPage.ID" class="@NavigationLocalVerticalContainerClassList">699 <ul class="nav">700 @if ( Espresso.Item.NavigationLocalHeading != "" )701 {702 <li class="e-nav-local-heading">703 <h2><a class="e-nav-local-heading-link" href="/default.aspx?ID=@Espresso.Item.NavigationLocalParentPage">@Espresso.Item.NavigationLocalHeading</a></h2>704 </li>705 }706 @navigation707 </ul>708 </nav>709 </div>710711 </div>712 </div>713 </div>714 </div>715 </section>716 }717 }718719720 <section class="e-section">721 <div class="container-fluid">722 <div class="row">723 <div class="@Espresso.ContentSection.ClassList">724 <div class="row">725 @GetValue("DwContent(dwcontentmain)")726 </div>727 </div>728 </div>729 </div>730 </section>731 </article>732 </main>733 <footer class="e-footer">734 <article class="e-footer-wrapper">735 @if( Espresso.Item.FooterHide != "True" ){736 if( string.IsNullOrEmpty( Espresso.Area.Item.FooterParagraphs ) == false )737 {738 string[] footerParagraphs = Espresso.Area.Item.FooterParagraphs.Split( new char[] { ',' }, StringSplitOptions.None );739740 if ( footerParagraphs.Length > 0 )741 {742 <section class="e-footer-content e-section">743 <div class="container-fluid">744 <div class="row">745 @foreach( string paragraphID in footerParagraphs ){746 @RenderParagraphContent( int.Parse( paragraphID ) );747 }748 @if( string.IsNullOrEmpty( GetString("DwNavigation(dwnavutilitiessecondaryfooter)") ) == false ){749 <div class="col-xs-12">750 <aside class="e-nav-utilities-secondary">751 <ul class="nav nav-inline">752 @GetValue("DwNavigation(dwnavutilitiessecondaryfooter)")753 </ul>754 </aside>755 </div>756 }757 </div>758 </div>759 </section>760 }761 }762 }763 <section class="e-footer-copyright e-section">764 <div class="container-fluid">765 <div class="row p-t-1">766 @if( string.IsNullOrEmpty( Espresso.Area.Item.FooterParagraphsUtility ) == false ){767 foreach( string paragraphID in Espresso.Area.Item.FooterParagraphsUtility.Split( new char[]{','}, StringSplitOptions.None ) ){768 @RenderParagraphContent( int.Parse( paragraphID ) );769 }770 }771 <div class="p p-imagetext col-xs-12 text-xs-center">772 <p class="e-copyright p-t-2">773 @Translate("Footer CopyrightText", "Copyright &copy;")774 @GetGlobalValue("Global:Server.Date.Year")775 @Espresso.Area.Item.CompanyName776 </p>777 </div>778 </div>779 </div>780 </section>781 </article>782 </footer>783784 </div>785 @using Dynamicweb.Admin.dk.dynamicweb.templates@using Dynamicweb.Ecommerce.Products<div class="e-cart-msg" id="js-e-cart-msg"><button class="close" data-dismiss="msg" type="button"><i class="material-icons">close</i></button><section class="e-section p-b-3 p-t-3"><div class="container-fluid"><div class="row"><div class="col-xs-12"><div class="js-e-cart-msg-content"><script id="js-handlebars-tmpl-cart-msg-content" type="text/x-handlebars-template"><div class="row"><div class="col-xs-12"><div class="e-cart-msg-last-added p-t-1"><div class="row"><div class="col-xs-12"><div class="row"><div class="col-xs-12">@if ( GetInteger( "Ecom:Order.OrderLines.TotalProductQuantity" ) > 1 ){<h2 class="m-b-0">{{totalProductQuantity}} @Translate( "Quote requests in your basket", "Quote requests in your basket" )</h2>}else{<h2 class="m-b-0"><i class="material-icons text-success">check</i> {{lastAdded.quantity}} @Translate( "Quote request in your basket", "Quote request in your basket" )</h2>}</div></div><div class="row"><div class="col-xs-12 m-t-3"><div class=""><div class="row"><div class="col-xs-5 col-sm-7"><h3>@Translate( "Product", "Product" )</h3></div><div class="col-xs-4 col-sm-3"><h3>@Translate( "Product no.", "Product no." )</h3></div><div class="col-xs-3 col-sm-2 text-xs-center"><h3>@Translate( "QTY", "QTY" )</h3></div></div><hr class="m-t-1"><div class="js-e-cart-orderlines">{{#each orderlines}}<div class="js-e-orderline e-orderline" id="{{id}}"><div class="row"><div class="col-xs-5 col-sm-7 e-orderline-product-text"><p class="m-b-0"><strong>{{{product.name}}}</strong></p></div><div class="col-xs-4 col-sm-3">{{{product.number}}}</div><div class="col-xs-3 col-sm-2"><div class="row row-xs-center"><div class="col-xs-12"><input class="form-control text-xs-center js-e-orderline-quantity" type="number" value="{{quantity}}" name="QuantityOrderLine{{id}}" data-rule-min="0" data-rule-digits="true"></div></div></div></div><hr></div>{{/each}}</div></div></div></div></div></div></div></div></div></script></div><div class="col-xs-6 col-xs-offset-6 e-cart-actions m-b-1 text-xs-right"><div class="row"><div class="col-xs-6 hidden-sm-down m-b-1"><a class="btn btn-block btn-outline-success" href="javascript:history.back();">@Translate( "Continue shopping", "Continue shopping" )</a></div><div class="col-md-6 col-xs-12 m-b-1"><a class="btn btn-block btn-success" href="/quote/cart">@Translate( "Request Quote", "Request Quote" )</a></div></div></div></div></div></div></section></div>786 @if( Espresso.Area.Item.Search == "True" ){787 <div class="modal fade e-search js-e-search js-e-search-modal modal-fullscreen" data-backdrop="false">788 <div class="modal-dialog">789 <div class="modal-content">790 <div class="modal-body">791 <button type="button" class="close" data-dismiss="modal">792 <i class="material-icons">close</i>793 </button>794 <div class="container-fluid">795796 <div class="e-search-form-container">797 <div class="row">798 <div class="col-xs-12 col-md-10 col-lg-8 col-xl-6 col-md-offset-1 col-lg-offset-2 col-xl-offset-3 m-t-3">799 <form action="" class="e-search-form js-e-search-form">800 <div class="js-e-search-input-group e-search-input-group is-empty">801 <label class="e-search-label" for="e-search-input"><i class="material-icons">search</i></label>802 @{ string Translate_Search_InputDefaultText = Translate("Search InputDefaultText", "Søgning"); }803 <input type="text" class="js-e-search-input e-search-input form-control" name="q" id="e-search-input" placeholder="@Translate_Search_InputDefaultText">804 <span class="js-e-search-clear e-search-clear"><i class="material-icons">close</i></span>805 <button class="e-search-submit btn btn-primary" type="submit"><i class="material-icons p-a-0">search</i></button>806 </div>807 </form>808 </div>809 </div>810 </div>811812 <div class="js-e-search-result-container e-search-result-container">813 <div class="row">814815 <div class="col-xs-12 col-md-10 col-lg-8 col-xl-6 col-md-offset-1 col-lg-offset-2 col-xl-offset-3">816 <p class="e-search-result-info small text-muted m-t-1 m-b-3"><span class="js-e-search-result-count">0</span> @Translate("Search ResultCountText", "resultater")</p>817 </div>818819 <div class="col-xs-12 col-xl-10 col-xl-offset-1" style="z-index: 0;">820 <div class="js-e-search-result-products e-search-result-products is-empty m-b-4">821 <script id="js-handlebars-tmpl-search-result-item-product" type="text/x-handlebars-template">822 <div class="e-products">823 <ul class="e-grid">824 {{#loop products}}825 <li class="col-xs-6 col-md-3 m-b-4">826 <div class="e-product-container">827 <div class="ambu-products-image-box">828 <a href="{{{url}}}">829 <img src="{{imageLarge}}" alt="{{primaryImageAltText}}">830 </a>831 </div>832 <div class="e-product-text-container text-xs-center">833 <h3 class="e-product-name m-b-0 m-t-2"><a href="{{{url}}}">{{name}}</a></h3>834 <p class="e-product-text">835 <a href="{{{url}}}">{{descriptionShortExtra01}}</a>836 </p>837 </div>838 </div>839 </li>840 {{/loop}}841 </ul>842 <div class="p-txt-container col-xs-12 text-xs-center">843 <span class="js-e-search-products-show-all"><a href="" class="btn btn-secondary p-x-6">@Translate( "Search ViewAllProductsButtonText", "Vis alle produkter" )</a></span>844 </div>845 </div>846 </script>847 </div>848 </div>849850 <div class="col-xs-12 col-md-10 col-lg-8 col-xl-6 col-md-offset-1 col-lg-offset-2 col-xl-offset-3">851 <div class="js-e-search-result-pages e-search-result-pages is-empty m-b-1">852 <script id="js-handlebars-tmpl-search-result-item-page" type="text/x-handlebars-template">853 <div class="row">854 {{#loop pages}}855 <div class="col-xs-12">856 <p class="m-b-0"><a href="{{{url}}}" class="text-bold">{{{title}}}</a></p>857 <p class="m-b-0 small text-truncate">858 <a href="{{{url}}}" class="text-auto text-muted"><span class="hidden-xs-down">@GetGlobalValue( "Global:Request.Host" )</span>{{{url}}}</a></p>859 <p class="small">{{{text}}}...</p>860 </div>861 {{/loop}}862 </div>863 </script>864 </div>865 </div>866867 <div class="col-xs-12 col-md-10 col-lg-8 col-xl-6 col-md-offset-1 col-lg-offset-2 col-xl-offset-3" id="downloads-content">868 <h4 class="e-search-result-header large text-muted m-t-1 m-b-1"><span class="hidden-xs-up">Supplementary Product Information</span></h4>869 </div>870871 <div class="col-xs-12 col-md-10 col-lg-8 col-xl-6 col-md-offset-1 col-lg-offset-2 col-xl-offset-3">872 <div class="js-e-search-result-files e-search-result-files is-empty m-b-3">873 <script id="js-handlebars-tmpl-search-result-item-file" type="text/x-handlebars-template">874 <div class="row">875 {{#loop files}}876 <div class="col-xs-12">877 <p class="m-b-1 small text-truncate">878 <a target="_blank" href="/Files/{{{filepath}}}/{{{filename}}}" class="text-bold">{{{filename}}}</a>879 </p>880 </div>881 {{/loop}}882 </div>883 </script>884 </div>885 </div>886887 </div>888889 <div class="js-e-search-loading-overlay e-loading-overlay e-search-loading-overlay">890 <div class="e-loading-spinner"></div>891 </div>892893 </div>894895 </div>896 </div>897 </div>898 </div>899 </div>900 }901902 @if( Espresso.Area.Item.BackToTopLink == "True" ){903 <a href="#top" class="e-back-to-top js-e-back-to-top"><i class="material-icons">keyboard_arrow_up</i></a>904 }905906 @RenderingService.Instance.PartialView( "_partials/redirect.cshtml" )907908909 <script async="" src="/Files/Templates/Designs/ambu/assets/_dist/js/default.js?v=4.008969"></script>910911 @{912 SidebarPopup sidebarPopupModel = new SidebarPopup()913 {914 SidebarPopupContent = Pageview.Area.Item.GetValue<string>( "SidebarPopupContent" ),915 SidebarPopupButtonIcon = Pageview.Area.Item.GetValue<string>( "SidebarPopupButtonIcon" ),916 SidebarPopupLandingPage = Pageview.Area.Item.GetValue<string>( "SidebarPopupLandingPage" )917 };918 }919920 @RenderingService.Instance.PartialView( "../_partials/ambu-sidebar-popup.cshtml", sidebarPopupModel )921922 <div aria-hidden="true" class="ambu-languages fade modal" data-backdrop="true" id="ambu-languages" role="dialog" tabindex="-1">923 <button aria-label="Close" class="close" data-dismiss="modal" type="button">924 <span aria-hidden="true">&times;</span>925 </button>926 <div class="modal-dialog">927 <div class="modal-content">928 <section class="p-b-3 p-t-3">929 <div class="container-fluid">930 <div class="row">931 <div class="col-xs-12">932 <div class="row">933 <div class="col-xs-12 m-b-2 text-xs-center">934 <img class="col-xs-4 m-b-1" src="/Files/Images/worldmap.svg">935 </div>936 <div class="col-md-10 col-md-offset-1 col-xs-12">937 <p class="h2 text-xs-center">@Translate( "Choose your country", "Find your local Ambu website" )</p>938 <ul class="nav small">939 @GetValue("DwNavigation(dwnavambulanguages)")940 </ul>941 <p class="modal-text text-xs-center">@Translate( "Choose your country additional text", "Looking for a local Ambu representative in your country?<br><a href='/Default.aspx?Id=12845'>Go to our local distributors page</a>" )</p>942 </div>943 </div>944 </div>945 </div>946 </div>947 </section>948 </div>949 </div>950 </div>951952 <script type="text/javascript">953 window.dataLayer = window.dataLayer || [];954 var regexname = /^185\.233\.221\.218$|^202\.68\.175\.150$|^80\.14\.131\.94$|^93\.51\.217\.48$|^208\.204\.9\.50$|^50\.203\.113\.7$|^59\.60\.7\.50$|^113\.210\.190\.34$|^23\.97\.167\.114$|^52\.166\.13\.102$|^195\.77\.35\.162$|^46\.17\.165\.212$|^210\.187\.178\.33$|^62\.245\.231\.242$|^201\.174\.154\.58$|^77\.243\.43\.130$|^87\.62\.83\.1$/;955 var visitorIp = "@HttpContext.Current.Request.UserHostAddress";956 if (visitorIp.match(regexname)) {957 window.dataLayer.push({958 'Ambu_Internal': 'true'959 });960 } else {961 window.dataLayer.push({962 'Ambu_Internal': 'false'963 });964 }965 </script>966 <!-- Google reCAPTCHA -->967 <script async="" defer="" src="https://www.google.com/recaptcha/api.js"></script>968 <!-- End Google reCAPTCHA -->969970 @scriptBodyBottom971972 </body>973 @GetValue( "CopyRightNotice" )974 </html>975