Error executing template "Designs/elsalg/eCom/Product/ProductDetail.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_9f5d18aca177444780d543ece9b23e0e.Execute() in d:\websites\euronics.dk\application\Files\Templates\Designs\elsalg\eCom\Product\ProductDetail.cshtml:line 427
at 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 @using System.Net;
2 @using System.Web;
3 @using eela.custom;
4 @using eela.custom.Providers;
5 @using Newtonsoft.Json;
6 @using Newtonsoft.Json.Linq;
7 @using Dynamicweb.Ecommerce;
8
9 @{
10 var request = HttpContext.Current.Request;
11
12 if (!string.IsNullOrEmpty(request.QueryString["pid"]) || !string.IsNullOrEmpty(request.QueryString["PID"]))
13 {
14 var redirectURL = string.Format("{0}://{1}{2}?", request.Url.Scheme, request.Url.Authority, request.Url.AbsolutePath);
15
16 foreach (string param in request.QueryString)
17 {
18 if (param.ToLower() != "pid")
19 {
20 redirectURL += String.Format("{0}={1}&", param, request.QueryString[param]);
21 }
22 }
23
24 redirectURL = redirectURL.TrimEnd('&');
25 HttpContext.Current.Response.RedirectPermanent(redirectURL, true);
26 return;
27 }
28 else if (request.RawUrl.ToLower().Contains("?pid"))
29 {
30 var redirectURL = request.RawUrl.Substring(0, request.RawUrl.ToLower().IndexOf("?pid"));
31 HttpContext.Current.Response.RedirectPermanent(redirectURL, true);
32 return;
33 }
34 }
35
36 @functions{
37 public String getClassFromStockText(String stockText)
38 {
39 String stockClass = "";
40 switch (stockText)
41 {
42 case "På lager": return "in-stock";
43 case "På fjernlager": return "warehouse";
44 case "Ikke på lager": return "out-of-stock";
45 }
46 return stockClass.ToString();
47 }
48
49 public bool GetIfIsInLampGroup(string currentProductId)
50 {
51 if (string.IsNullOrEmpty(currentProductId)) { return false; }
52 var lampParentGroupId = "20-at-SHOP2";
53 if (lampParentGroupId == currentProductId) { return true; }
54
55 var product = Dynamicweb.Ecommerce.Services.Products.GetProductById(currentProductId, string.Empty, false);
56 if (product == null) { return false; }
57
58 var groups = product.Groups.ToList();
59 while (groups != null && groups.Count > 0)
60 {
61 var temp = new List<Dynamicweb.Ecommerce.Products.Group>();
62 foreach (var g in groups)
63 {
64 if (g.Id == lampParentGroupId) { return true; }
65 temp.AddRange(g.ParentGroups.ToList());
66 }
67 groups = temp;
68 }
69
70 return false;
71 }
72
73 public string GetMetaTitle()
74 {
75 string title = GetValue("Ecom:Product.Name") != null ? GetValue("Ecom:Product.Name").ToString() : string.Empty;
76 string categoryTitle = string.Empty;
77 foreach (var customField in GetLoop("CustomFields"))
78 {
79 categoryTitle += customField.GetValue("ELSProductSubHeader") != null ?
80 customField.GetValue("ELSProductSubHeader").ToString() : null;
81 }
82 if (!string.IsNullOrEmpty(categoryTitle))
83 {
84 title += " - " + categoryTitle;
85 }
86 return title;
87 }
88
89 public List<int> ProductImgExists()
90 {
91 List<int> imgExistsDict = new List<int>();
92
93 for (int i = 5; i >= 1; i--)
94 {
95 try
96 {
97 string url = String.Format("https://cdn1.elsalg.dk/files/ELSALG/eCom/Pictures/{0}_{1}.png", GetValue("Ecom:Product:Field.ELSEan.Value"), i.ToString());
98 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
99 request.Timeout = 1000;
100
101 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
102 response.Close();
103
104 imgExistsDict.Add(i);
105 }
106 catch
107 {
108 }
109 }
110
111 return imgExistsDict;
112 }
113 }
114
115 @{
116 var currentProductId = GetValue("Ecom:Product.ID") != null ? GetValue("Ecom:Product.ID").ToString() : string.Empty;
117 bool isInLampGroup = GetIfIsInLampGroup(currentProductId);
118
119 var primaryGroup = ProductProvider.GetPrimaryParentGroup(currentProductId);
120
121 List<int> imgExistsList = ProductImgExists();
122 var electraImgExists = ProductProvider.ElectraImgExists(GetString("Ecom:Product:Field.ELSEan.Value"), GetString("Ecom:Product.Number"));
123
124 string buyURL = string.Empty;
125
126 if (!string.IsNullOrEmpty(currentProductId))
127 {
128 string baseUrl = String.Format("Default.aspx?ID={0}&ProductID={1}", "9", currentProductId);
129 buyURL = String.Format("{0}?cartcmd=add", Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(baseUrl).ToString());
130 }
131
132 string onlySoldInstore = GetString("Ecom:Product:Field.ELSOnlySoldInstore.Value");
133 string itemStatus = GetString("Ecom:Product:Field.ELSItemStatus.Value");
134 int availableAmount = Convert.ToInt32(GetValue("Ecom:Product.AvailableAmount"));
135
136 bool hideDeliveryAndBuy = (onlySoldInstore == "1" || ((itemStatus == "1" || itemStatus == "2") && availableAmount <= 0)) ? true : false;
137 bool hideExternalProductDetails = (GetValue("Ecom:Product:Field.ELSHideExternalProductDetails.Value").ToString() == "1") ? false : true;
138
139 }
140
141 <!--@SnippetStart(cssFiles)-->
142
143 @if (isInLampGroup)
144 {
145 <link rel="stylesheet" type="text/css" media="all" href="/files/templates/designs/elsalg/assets/css/screen-exclusive.css?ver=3" />
146 <link rel="stylesheet" type="text/css" media="all" href="/files/templates/designs/elsalg/assets/css/m-1200.css?ver=1" />
147 <link rel="stylesheet" type="text/css" media="all" href="/files/templates/designs/elsalg/assets/css/m-1024.css?ver=1" />
148 <link rel="stylesheet" type="text/css" media="all" href="/files/templates/designs/elsalg/assets/css/m-768.css?ver=1" />
149 <link rel="stylesheet" type="text/css" media="all" href="/files/templates/designs/elsalg/assets/css/m-480.css?ver=1" />
150 <link rel="stylesheet" type="text/css" media="all" href="/files/templates/designs/elsalg/assets/css/mediaqueries-exclusive.css?ver=3" />
151 }
152
153 <!--@SnippetEnd(cssFiles)-->
154
155 <script>
156 function formatPrice(fPrice) {
157 document.write(fPrice.replace(/,00$/, ',-'));
158 }
159 </script>
160
161 <script>
162 dataLayer.push({
163 'event': 'fbViewContent',
164 'fbContentType': 'product',
165 'fbContentIds': ['@(GetValue("Ecom:Product.Number"))']
166 });
167 </script>
168
169 @{
170 // all data neccessary for google structured data
171
172 Dynamicweb.Ecommerce.Products.Product product;
173 string brandName = string.Empty,
174 price = string.Empty,
175 relatedCategories = string.Empty;
176 double unitStock = 0;
177
178 if (!string.IsNullOrEmpty(currentProductId))
179 {
180 product = Dynamicweb.Ecommerce.Services.Products.GetProductById(currentProductId, string.Empty, false);
181
182 brandName = GetValue("Ecom:Manufacturer.Name") != null ? GetValue("Ecom:Manufacturer.Name").ToString() : "";
183 price = GetValue("Ecom:Product.Price.PriceWithVAT").ToString();
184 unitStock = product.UnitStock;
185
186 relatedCategories = Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(product, "ELSProductCategories").ToString();
187
188 if (!string.IsNullOrEmpty(relatedCategories))
189 {
190 string hostURL = String.Format("{0}://{1}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host);
191 string href = string.Empty;
192
193 <div id="googleBreadcrumb" style="display: none;">
194
195 @for (int i = 0; i < relatedCategories.Split(';').Length; i++)
196 {
197 string category = relatedCategories.Split(';')[i];
198 var group = product.Groups.Where(g => g.Name == category).OrderByDescending(g => g.Number).FirstOrDefault();
199
200 if (group != null)
201 {
202 if (i == 0 && group.ParentGroups != null && group.ParentGroups.Count > 0)
203 {
204 string mainTitle = group.ParentGroups[0].Name;
205
206 href = String.Format("{0}/{1}", hostURL, group.ParentGroups[0].ProductGroupFieldValues.GetProductGroupFieldValue("ELSNormalizedName").Value.ToString());
207
208 <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
209 <a href="@href" itemprop="url">
210 <span itemprop="title">@mainTitle</span>
211 </a>
212 </div>
213 }
214
215 if (string.IsNullOrEmpty(href))
216 {
217 href = hostURL;
218 }
219
220 href = String.Format("{0}/{1}", href, group.ProductGroupFieldValues.GetProductGroupFieldValue("ELSNormalizedName").Value.ToString());
221
222 <div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
223 <a href="@href" itemprop="url">
224 <span itemprop="title">@category</span>
225 </a>
226 </div>
227 }
228 }
229 </div>
230 }
231 }
232 }
233
234 <section id="main" class="relaxed" itemscope itemtype="http://schema.org/Product">
235
236 <!--@SnippetStart(googleStructuredData)-->
237 <meta property="og:type" content="product" />
238 <!--@SnippetEnd(googleStructuredData)-->
239 <div class="breadcrumbs breadcrumbs-products clearfix">
240 <div class="container_4">
241 <p>
242 Du er her:
243 @{
244 string breadcrumbs = ProductProvider.GetProductBreadCrumbs(currentProductId);
245 if (!string.IsNullOrWhiteSpace(breadcrumbs))
246 {
247 string[] groups = breadcrumbs.Split('|').Reverse().ToArray();
248 string linkBuilder = string.Empty;
249 foreach (string crumb in groups)
250 {
251 if (!string.IsNullOrWhiteSpace(crumb))
252 {
253 string[] nameAndLink = crumb.Split(';');
254 linkBuilder += nameAndLink[1];
255
256 <span><a href="@linkBuilder">@nameAndLink[0]</a></span>
257 }
258 }
259 }
260 }
261 <span class="last-breadcrumb">@GetValue("Ecom:Product.Name")</span>
262 </p>
263 </div>
264 </div>
265 <div class="relaxed">
266 <div class="container_4 clearfix">
267 <script type="text/javascript">
268 // <![CDATA[
269 $(function () {
270 window.setTimeout(function () {
271 ELSALG.settings.thumbnailZoom = false; //Enable thumbnail zooming
272 ELSALG.initProductThumbnails($(".product-header").get(0));
273 }, 100);
274 });
275 // ]]>
276 </script>
277
278 <div class="grid_4">
279 <div class="product-header">
280 <div class="product-image">
281 @{
282 var altPictureId = string.IsNullOrEmpty(GetValue("Ecom:Product:Field.ELSAlternatePictureID.Value").ToString()) ? "0000000000001" : GetValue("Ecom:Product:Field.ELSAlternatePictureID.Value").ToString();
283 var electraImgUrl = ProductProvider.GetElectraImgUrl(GetString("Ecom:Product.Number"));
284 }
285
286 @if (!electraImgExists)
287 {
288 <a class="productDefaultImg">
289
290 <img itemprop="image" class="imgtest"
291 onerror="$('.product-image-zoom').addClass('disabled');src='https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/0000000000001.png&height=466&width=466&crop=5'"
292 src="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/@(altPictureId).png&image=/files/ELSALG/eCom/Pictures/@(GetValue("Ecom:Product:Field.ELSEan.Value")).png&Width=466&height=466&crop=5"
293 alt="" />
294 </a>
295 }
296 else
297 {
298
299 <a class="productDefaultImg">
300 <img itemprop="image" class="imgtest"
301 onerror="$('.product-image-zoom').addClass('disabled');src='@electraImgUrl'"
302 src="@electraImgUrl"
303 alt="" />
304 </a>
305 }
306
307 <div class="image">
308 <div class="product">
309 <ul class="notes">
310 @*----- Render all the images related to the product notes. ----- *@
311 @{
312 product = Dynamicweb.Ecommerce.Services.Products.GetProductById(currentProductId, string.Empty, false);
313 var productSymbolsValue = Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(product, "ELSProductSymbols").ToString();
314
315 bool hasDiscount = false;
316
317 if (Convert.ToDecimal(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(product, "ELSUnitSavings").ToString()) != 0)
318 {
319 hasDiscount = true;
320 }
321
322 if (!string.IsNullOrWhiteSpace(productSymbolsValue.Trim()))
323 {
324 var productSymbols = JArray.Parse(productSymbolsValue) as JArray;
325
326 foreach (var productSymbol in productSymbols)
327 {
328 string symbollink = Dynamicweb.Rendering.Translation.Translation.GetTranslation("symbollinks_" + productSymbol["value"]);
329 <div class="item">
330 @if (!string.IsNullOrEmpty(symbollink))
331 {
332 <a href="@symbollink" target="_new"><img src="/files/images/symbols/@(productSymbol["value"])" alt="" /></a>
333 }
334 else
335 {
336 <img src="/files/images/symbols/@(productSymbol["value"])" alt="" />
337 }
338 </div>
339
340 }
341 }
342 }
343 @if (hasDiscount)
344 {
345 <li class="discount" data-symbol="discount"><span class="ico" style="background-image: url('../files/images/symbols/discount.png')"></span><span class="txt">Tilbud</span></li>
346 }
347 </ul>
348 </div>
349 </div>
350 </div>
351 <span class="product-spacer"></span>
352 <div class="product-thumbs">
353 <div class="product-thumbs-wrapper">
354 <div class="product-thumbs-inner">
355
356 @if (!electraImgExists)
357 {
358 <span class="thumb">
359 <a href="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/@(altPictureId).png&Width=450&image=/files/ELSALG/eCom/Pictures/@(GetValue("Ecom:Product:Field.ELSEan.Value")).png&width=450&crop=5"
360 data-master="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/@(altPictureId).png&Width=1200&image=/files/ELSALG/eCom/Pictures/@(GetValue("Ecom:Product:Field.ELSEan.Value")).png&Width=1200">
361 <img src="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/@(altPictureId).png&image=/files/ELSALG/eCom/Pictures/@(GetValue("Ecom:Product:Field.ELSEan.Value")).png&Width=100&height=144&crop=5" alt="" />
362 </a>
363 </span>
364 foreach (int no in imgExistsList.OrderBy(i => i))
365 {
366 <span class="thumb">
367 <a href="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/0000000000001.png&Width=450&image=/files/ELSALG/eCom/Pictures/@(GetValue("Ecom:Product:Field.ELSEan.Value"))_@(no).png&Width=450"
368 data-master="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/0000000000001.png&Width=1200&image=/files/ELSALG/eCom/Pictures/@(GetValue("Ecom:Product:Field.ELSEan.Value"))_@(no).png&Width=1200">
369 <img src="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/0000000000001.png&image=/files/ELSALG/eCom/Pictures/@(GetValue("Ecom:Product:Field.ELSEan.Value"))_@(no).png&Width=144&height=144&crop=5" alt="" />
370 </a>
371 </span>
372 }
373 }
374 else
375 {
376 <span class="thumb">
377 <a href="@electraImgUrl" data-master="@electraImgUrl">
378 <img src="@electraImgUrl" alt="" />
379 </a>
380 </span>
381 }
382 </div>
383 </div>
384 </div>
385
386 <span class="product-spacer product-spacer-after-images"></span>
387
388 <div class="product-info">
389
390 <div class="product-info-content">
391 <div class="title">
392 <h1 itemprop="name">@GetValue("Ecom:Product.Name")</h1>
393 <div class="sku">@GetValue("Ecom:Product.Number")</div>
394 <div itemprop="brand" itemscope itemtype="http://schema.org/Brand" style="display: none;">
395 <span itemprop="name">@brandName</span>
396 </div>
397 <h3>
398 @foreach (var customField in GetLoop("CustomFields"))
399 {
400 @customField.GetValue("ELSProductSubHeader")
401 }
402 </h3>
403 </div>
404
405 <div class="text">
406 <p class="text-specs"><strong>Specifikationer:</strong></p>
407
408 @GetString("Ecom:Product:Field.ELSProductShortText.Value")
409 </div>
410
411 <div id="delivery-adds-wrapper" class="delivery-adds-wrapper">
412 @{
413 var supplementalProducts = SupplementalServicesHelper.GetSupplementalServices(currentProductId);
414 if (!hideDeliveryAndBuy)
415 {
416 <!--@Global:Paragraph.Content(3502)-->
417 <div class="@(supplementalProducts.Count > 3 ? "delivery-expander" : "")">
418 <div class="delivery-adds">
419
420 @for (int i = 0; i < supplementalProducts.Count; i++)
421 {
422 var suppProd = supplementalProducts[i];
423
424 <div class="delivery-field">
425 <span class="inp">
426 <input type="radio" name="product-delivery" id="product-delivery-@(i + 1)"
427 value="@(i + 1)" @(i == 0 ? "checked=\"checked\"" : "") data-prod-id="@suppProd.Id" data-value="@suppProd.GetPrice("DKK", "DK").ToString().Replace(".", "")" @(suppProd.GetPrice("DKK", "DK").PriceFormattedNoSymbol.ToString() == "0,00" ? "data-default=\"true\"" : "") style="opacity: 0;" />
428 </span>
429 <span class="lbl">
430 <label for="product-delivery-@(i + 1)">@suppProd.Name</label>
431 </span>
432 <span class="price add-price">@suppProd.ProductPriceString</span>
433 </div>
434 }
435 </div>
436 </div>
437
438 if (supplementalProducts.Count > 3)
439 {
440 <div id="delivery-show-more" class="label-showmore" data-text-show="Vis flere muligheder" data-text-hide="Vis færre muligheder">
441 <span>Vis flere muligheder</span>
442 </div>
443
444 <script type="text/javascript">
445 $(function () {
446 var wrapper = $('#delivery-adds-wrapper');
447
448 $('.delivery-expander').click(function (e) {
449 if ($(e.target).is('input')) {
450 return true;
451 }
452
453 var $this = $(this),
454 span = $('#delivery-show-more').find('span');
455
456 wrapper.addClass('expanded');
457
458 $this.css('height', 'auto');
459 span.text($('#delivery-show-more').attr('data-text-hide'));
460
461 });
462
463 $('#delivery-show-more').click(function () {
464 var $this = $(this),
465 span = $this.find('span'),
466 expander = $this.parent().find('.delivery-expander');
467
468 wrapper.toggleClass('expanded');
469
470 if (wrapper.hasClass('expanded')) {
471 expander.css('height', 'auto');
472 span.text($this.attr('data-text-hide'));
473 }
474 else {
475 expander.removeAttr('style');
476 span.text($this.attr('data-text-show'));
477 }
478 });
479
480
481 });
482 </script>
483 }
484 <div class="label-smallinfo">
485 @foreach (var customField in GetLoop("CustomFields"))
486 {
487 @customField.GetValue("ELSDeliveryText")
488 }
489
490 Afhænger af tilvalg.
491 <a onclick="fnDeliveryTerms();">
492 Mere info
493 </a>
494 </div>
495 }
496 }
497 @if (onlySoldInstore == "1")
498 {
499 <div class="label-info">Dette produkt kan kun købes i butik</div>
500 <div style="text-align: left;">Du kan kun købe dette produkt i butik. Find den nærmeste butik ved at klikke på <a href="/andre-links/find-butik">FIND BUTIK</a></div>
501 }
502 @if (((itemStatus == "1" || itemStatus == "2") && availableAmount <= 0))
503 {
504 <div class="label-info">Dette produkt er desværre udgået</div>
505 <div style="text-align: left;">Produktet er desværre udgået og kommer ikke i vores sortiment igen.</div>
506 }
507 @if (GetString("Ecom:Product:Field.ELSUseAlternativeItemId.Value").ToString() == "1" && !GetString("Ecom:Product:Field.ELSAlternativeItemId").ToString().IsNullOrEmpty())
508 {
509 var alternativeProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(GetString("Ecom:Product:Field.ELSAlternativeItemId.Value").ToString() + "-at-SHOP1", string.Empty, false);
510 string alternativeBaseUrl = String.Format("Default.aspx?ID={0}&ProductID={1}", "9", alternativeProduct.Id);
511 string alternativeUrl = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(alternativeBaseUrl).ToString();
512 <div style="text-align: left;">Du kan finde et alternativt produkt her <a href="@alternativeUrl">@alternativeProduct.Name</a></div>
513
514 }
515 </div>
516
517 @if (!((itemStatus == "1" || itemStatus == "2") && availableAmount <= 0))
518 {
519 <div class="footer-options">
520 <div class="footer-prices" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
521
522 <div class="vp value-currnet @(hasDiscount ? "value-discount" : "")">
523 @foreach (var customField in GetLoop("CustomFields"))
524 {
525 var elsUnitSavings = customField.GetValue("ELSUnitSavings");
526 if (Convert.ToDecimal(elsUnitSavings) != 0)
527 {
528 <span class="spare-span">@(Convert.ToDecimal(elsUnitSavings) != 0 ? "Spar " + Convert.ToDouble(elsUnitSavings).ToString("0,0.00").Replace(",00", ",-") : "")</span>
529 }
530 }
531 <span id="product-price" data-value="@price.Replace(".", "")">
532
533 @{
534 string priceStr = string.Empty;
535 if (price != null)
536 {
537 priceStr = price.ToString();
538 if (priceStr.EndsWith(",00"))
539 {
540 priceStr = priceStr.Replace(",00", ",-");
541 }
542 }
543 }
544 @priceStr
545 </span>
546 <span itemprop="price" style="display: none">
547 @price
548 </span>
549 <meta itemprop="priceCurrency" content="@GetValue("Ecom:Product.Currency.Code")" />
550 <link itemprop="availability" href="http://schema.org/@(unitStock > 0 ? "InStock" : "OutOfStock")" />
551 <span class="free-delivery" id="product-price-incl-addons">Inkl. tilvalg</span>
552 </div>
553 </div>
554
555 @{
556 var energyImgPath = ProductProvider.GetEnergyImagePath(GetString("Ecom:Product:Field.ELSEan.Value"), GetString("Ecom:Product:Field.ELSEnergy.Value"), primaryGroup.Id.Replace("-at-SHOP2", ""));
557
558 <div class="footer-energy">
559 <div class="fe-wrapper">
560 @if (!string.IsNullOrEmpty(energyImgPath))
561 {
562 <div class="fe-icon">
563 <img src="@energyImgPath" alt="" onclick="scrollToSpecifications();" />
564 </div>
565 }
566 <div class="fe-link"><a onclick="scrollToSpecifications();">Produktdatablad</a></div>
567 </div>
568 </div>
569 }
570 <div class="footer-addtocart">
571 @{
572 var butiksNumber = HttpContext.Current.Request.Cookies["butiksnummer"];
573 var alternativeDisplay = HttpContext.Current.Request.Cookies["butiksudstilling"];
574 bool showBuyButton = true;
575
576 if (butiksNumber != null && !string.IsNullOrEmpty(butiksNumber.Value) &&
577 alternativeDisplay != null && !string.IsNullOrEmpty(alternativeDisplay.Value) && alternativeDisplay.Value == "true")
578 {
579 var elsButiksSortiment = Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(product, "ELSButiksSortiment").ToString();
580 if (string.IsNullOrEmpty(elsButiksSortiment.ToString()) || elsButiksSortiment.ToString() != "1")
581 {
582 showBuyButton = false;
583 }
584 }
585
586 if (showBuyButton && !hideDeliveryAndBuy)
587 {
588 <a onclick="AJAXAddToBasket('@buyURL', '@HttpUtility.JavaScriptStringEncode(product.Number)', '@currentProductId', true, '@HttpUtility.JavaScriptStringEncode(product.Name.Replace("''", ""))'); return false;" class="kob">Køb</a>
589 }
590 else if (onlySoldInstore == "1")
591 {
592 <a href="/andre-links/find-butik" class="kob" style="background-color: #001b51;">FIND BUTIK</a>
593 }
594 }
595 </div>
596 </div>
597 <div id="sparxpress-productdetail"></div>
598 }
599 </div>
600 </div>
601 </div>
602
603 </div>
604 </div>
605 </div>
606 @{
607 string productLongDesc = GetValue("Ecom:Product.LongDescription").ToString();
608 var elsEnergyClass = false;
609
610 if (primaryGroup != null)
611 {
612 elsEnergyClass = Convert.ToBoolean(primaryGroup.ProductGroupFieldValues.GetProductGroupFieldValue("ELSEnergyClass").Value);
613 }
614
615 string eanEL = string.Format("{0}_EL.png", GetValue("Ecom:Product:Field.ELSEan.Value"));
616
617 var navigateToSpecifications = HttpContext.Current.Request.RawUrl.Contains("tab=specifications");
618 }
619
620 @if (GetLoop("RaptorSimilarItems").Count() > 0)
621 {
622 <div class="widget-products widget-products-details">
623
624 <div class="container_4 clearfix">
625
626 <div class="grid_4">
627
628 <span class="h2">Lignende produkter</span>
629
630 <div class="owl-small-products owl-carousel owl-theme">
631 <!--item-->
632 @foreach (var similarItem in GetLoop("RaptorSimilarItems"))
633 {
634 var similarProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(similarItem.GetValue("ID").ToString(), string.Empty, false);
635
636 if (string.IsNullOrWhiteSpace(similarProduct.Name)) { continue; }
637
638 <div class="item">
639 <div class="image">
640 @{
641 var smilarAltPictureId = string.IsNullOrEmpty(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSAlternatePictureID").ToString()) ? "0000000000001" : Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSAlternatePictureID").ToString();
642 var similarElectraImgUrl = ProductProvider.GetElectraImgUrl(similarProduct.Number);
643 var similarElectraImage = ProductProvider.ElectraImgExists(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSEan").ToString(), similarProduct.Number);
644
645 string similarBaseUrl = String.Format("Default.aspx?ID={0}&ProductID={1}", "9", similarProduct.Id);
646 string similarUrl = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(similarBaseUrl).ToString();
647 string similarBuyURL = String.Format("{0}?cartcmd=add", similarUrl);
648
649 var similarprimaryGroup = ProductProvider.GetPrimaryParentGroup(similarProduct.Id);
650 var similarelsEnergy = Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSEnergy").ToString();
651 var similarenergyImgPath = ProductProvider.GetEnergyImagePath(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSEan").ToString(), similarelsEnergy, similarprimaryGroup.Id.Replace("-at-SHOP2", ""));
652
653 }
654
655 @if (!similarElectraImage)
656 {
657 <a class="productDefaultImg" href="@similarUrl">
658
659 <img itemprop="image" class="imgtest"
660 onerror="$('.product-image-zoom').addClass('disabled');src='https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/0000000000001.png&height=466&width=466&crop=5'"
661 src="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/@(smilarAltPictureId).png&image=/files/ELSALG/eCom/Pictures/@(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct,"ELSEan").ToString()).png&Width=466&height=466&crop=5"
662 alt="" />
663 </a>
664 }
665 else
666 {
667
668 <a class="productDefaultImg" href="@similarUrl">
669 <img itemprop="image" class="imgtest"
670 onerror="$('.product-image-zoom').addClass('disabled');src='@similarElectraImgUrl'"
671 src="@similarElectraImgUrl"
672 alt="" />
673 </a>
674 }
675
676 <div class="product">
677 <ul class="notes">
678 @*----- Render all the images related to the product notes. ----- *@
679 @{
680 var similarProductSymbolsValue = Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSProductSymbols").ToString();
681
682 bool similarHasDiscount = false;
683
684 if (Convert.ToDecimal(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSUnitSavings").ToString()) != 0)
685 {
686 similarHasDiscount = true;
687 }
688
689 if (!string.IsNullOrWhiteSpace(similarProductSymbolsValue.Trim()))
690 {
691 var similarProductSymbols = JArray.Parse(similarProductSymbolsValue) as JArray;
692
693 foreach (var similarProductSymbol in similarProductSymbols)
694 {
695 if (similarProductSymbol["value"].ToString() == "4garanti.png")
696 {
697 <li class="test-winner-fixed" data-symbol="@similarProductSymbol["value"].ToString()"><img src="../files/images/symbols/@(similarProductSymbol["value"].ToString().Replace(".png", "_large.png"))" alt="Alternate Text" /></li>
698 }
699 else
700 {
701 <li class="test-winner" data-symbol="@similarProductSymbol["value"].ToString()"><span class="ico" style="background-image:url('../files/images/symbols/@(similarProductSymbol["value"])')"></span><span class="txt">@similarProductSymbol["description"]</span></li>
702 }
703 }
704 }
705 }
706 @*----- Now add item related to the dicount -----*@
707
708 @if (similarHasDiscount)
709 {
710 <li class="discount" data-symbol="discount"><span class="ico" style="background-image: url('../files/images/symbols/discount.png')"></span><span class="txt">Tilbud</span></li>
711 }
712 </ul>
713 </div>
714
715
716 <!-- <a class="product-image-zoom">Se stort billede</a> -->
717 </div>
718 <div class="text">
719 <div class="title"><a href="@similarUrl">@similarProduct.Name</a></div>
720 <div class="subtitle">@Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSProductSubHeader").ToString()</div>
721 </div>
722 <div class="pricing">
723 <div class="prod-spec-tab"><a href="@string.Format("{0}?tab=specifications", similarUrl)">Produktdatablad</a></div>
724 <div>
725 <div class="price">
726 <script>formatPrice('@similarProduct.GetPrice("DKK","DK").PriceWithVAT.ToString("0,0.00")')</script>
727 </div>
728 @if (!string.IsNullOrEmpty(similarenergyImgPath))
729 {
730 <span class="energy-pg">
731 <a href="@string.Format("{0}?tab=specifications", similarUrl)">
732 <img src="@similarenergyImgPath" alt="" />
733 </a>
734 </span>
735 }
736 </div>
737 <span class="discount">
738 @(Convert.ToDecimal(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSUnitSavings").ToString()) != 0 ? "Spar " + Convert.ToDouble(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(similarProduct, "ELSUnitSavings").ToString()).ToString("0,0.00").Replace(",00", ",-") : "")
739 </span>
740 <div class="buy" style="display:none;">
741 <div onclick="AddToCartWithSupplemental('@similarBuyURL', '@similarProduct.Number', '@similarProduct.Id', '@HttpUtility.JavaScriptStringEncode(similarProduct.Name.Replace("''", ""))');return false;" class="button skipSwipable">
742
743 Køb
744 </div>
745 </div>
746 </div>
747 </div>
748 }
749 </div>
750 </div>
751 </div>
752 </div>
753 }
754
755 @if (GetLoop("RaptorRelatedItems").Count() > 0)
756 {
757 <div class="widget-products widget-products-details" style="display:none;">
758
759 <div class="container_4 clearfix">
760
761 <div class="grid_4">
762
763 <span class="h2">Relaterede produkter</span>
764
765 <div class="owl-small-products owl-carousel owl-theme">
766 <!--item-->
767 @foreach (var relatedItem in GetLoop("RaptorRelatedItems"))
768 {
769 var relatedProduct = Dynamicweb.Ecommerce.Services.Products.GetProductById(relatedItem.GetValue("ID").ToString(), string.Empty, false);
770
771 if (string.IsNullOrWhiteSpace(relatedProduct.Name)) { continue; }
772
773 <div class="item">
774 <!-- pocetak slike widgeta -->
775 <div class="image">
776 @{
777 if (string.IsNullOrWhiteSpace(relatedProduct.Name)) { continue; }
778
779 var smilarAltPictureId = string.IsNullOrEmpty(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct, "ELSAlternatePictureID").ToString()) ? "0000000000001" : Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct, "ELSAlternatePictureID").ToString();
780 var relatedElectraImgUrl = ProductProvider.GetElectraImgUrl(relatedProduct.Number);
781 var relatedElectraImage = ProductProvider.ElectraImgExists(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct, "ELSEan").ToString(), relatedProduct.Number);
782
783 string relatedBaseUrl = String.Format("Default.aspx?ID={0}&ProductID={1}", "9", relatedProduct.Id);
784 string relatedUrl = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(relatedBaseUrl).ToString();
785 string relatedBuyURL = String.Format("{0}?cartcmd=add", relatedUrl);
786
787 var relatedprimaryGroup = ProductProvider.GetPrimaryParentGroup(relatedProduct.Id);
788 var relatedelsEnergy = Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct, "ELSEnergy").ToString();
789 var relatedenergyImgPath = ProductProvider.GetEnergyImagePath(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct, "ELSEan").ToString(), relatedelsEnergy, relatedprimaryGroup.Id.Replace("-at-SHOP2", ""));
790
791 }
792
793 @if (!relatedElectraImage)
794 {
795 <a class="productDefaultImg" href="@relatedUrl">
796
797 <img itemprop="image" class="imgtest"
798 onerror="$('.product-image-zoom').addClass('disabled');src='https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/0000000000001.png&height=466&width=466&crop=5'"
799 src="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/@(smilarAltPictureId).png&image=/files/ELSALG/eCom/Pictures/@(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct,"ELSEan").ToString()).png&Width=466&height=466&crop=5"
800 alt="" />
801 </a>
802 }
803 else
804 {
805
806 <a class="productDefaultImg" href="@relatedUrl">
807 <img itemprop="image" class="imgtest"
808 onerror="$('.product-image-zoom').addClass('disabled');src='@relatedElectraImgUrl'"
809 src="@relatedElectraImgUrl"
810 alt="" />
811 </a>
812 }
813
814 <div class="product">
815 <ul class="notes">
816 @{
817 var relatedProductSymbolsValue = Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct, "ELSProductSymbols").ToString();
818
819 bool relatedHasDiscount = false;
820
821 if (Convert.ToDecimal(Services.Products.GetProductFieldValue(relatedProduct, "ELSUnitSavings").ToString()) != 0)
822 {
823 relatedHasDiscount = true;
824 }
825
826 if (!string.IsNullOrWhiteSpace(relatedProductSymbolsValue.Trim()))
827 {
828 var relatedProductSymbols = JArray.Parse(relatedProductSymbolsValue) as JArray;
829
830 foreach (var relatedProductSymbol in relatedProductSymbols)
831 {
832 if (relatedProductSymbol["value"].ToString() == "4garanti.png")
833 {
834 <li class="test-winner-fixed" data-symbol="@relatedProductSymbol["value"].ToString()"><img src="../files/images/symbols/@(relatedProductSymbol["value"].ToString().Replace(".png", "_large.png"))" alt="Alternate Text" /></li>
835 }
836 else
837 {
838 <li class="test-winner" data-symbol="@relatedProductSymbol["value"].ToString()"><span class="ico" style="background-image:url('../files/images/symbols/@(relatedProductSymbol["value"])')"></span><span class="txt">@relatedProductSymbol["description"]</span></li>
839 }
840 }
841 }
842 }
843 @if (relatedHasDiscount)
844 {
845 <li class="discount" data-symbol="discount"><span class="ico" style="background-image: url('../files/images/symbols/discount.png')"></span><span class="txt">Tilbud</span></li>
846 }
847 </ul>
848 </div>
849 </div>
850 <div class="text">
851 <div class="title"><a href="@relatedUrl">@relatedProduct.Name</a></div>
852 <div class="subtitle">@Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct, "ELSProductSubHeader").ToString()</div>
853 </div>
854 <div class="pricing">
855 <div class="prod-spec-tab"><a href="@string.Format("{0}?tab=specifications", relatedUrl)">Produktdatablad</a></div>
856 <div>
857 <div class="price">
858 <script>formatPrice('@product.GetPrice("DKK","DK").PriceWithVAT.ToString("0,0.00")')</script>
859 </div>
860 @if (!string.IsNullOrEmpty(relatedenergyImgPath))
861 {
862 <span class="energy-pg">
863 <a href="@string.Format("{0}?tab=specifications", relatedUrl)">
864 <img src="@relatedenergyImgPath" alt="" />
865 </a>
866 </span>
867 }
868 </div>
869 <span class="discount">
870 @(Convert.ToDecimal(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct, "ELSUnitSavings").ToString()) != 0 ? "Spar " + Convert.ToDouble(Dynamicweb.Ecommerce.Services.Products.GetProductFieldValue(relatedProduct, "ELSUnitSavings").ToString()).ToString("0,0.00").Replace(",00", ",-") : "")
871 </span>
872 <div class="buy" style="display:none;">
873 <div onclick="AddToCartWithSupplemental('@relatedBuyURL', '@relatedProduct.Number', '@relatedProduct.Id', '@HttpUtility.JavaScriptStringEncode(relatedProduct.Name.Replace("''", ""))');return false;" class="button skipSwipable">
874 Køb
875 </div>
876 </div>
877 </div>
878 </div>
879 }
880 </div>
881 </div>
882 </div>
883 </div>
884 }
885
886 <script type="text/javascript">
887 $(function () {
888 $('.owl-small-products').owlCarousel({
889 loop: false,
890 margin: 30,
891 nav: true,
892 items: 6,
893 responsive: {
894 0: {
895 items: 2
896 },
897 600: {
898 items: 3
899 },
900 1000: {
901 items: 6
902 }
903 }
904 });
905 });
906 </script>
907
908 <div class="plain">
909 <nav class="tabs-menu mobile-swipable">
910 <div class="container_4 clearfix">
911 <div class="grid_4">
912 <ul>
913 @if (true)
914 {
915 <li class="@(!navigateToSpecifications ? "current" : "")">
916 <a href="#product-description">
917 Beskrivelse
918 </a>
919 </li>
920 }
921 <li id="specs-tab-nav" class="@(navigateToSpecifications ? "current" : "")">
922 <a href="#product-specifications">
923 Specifikationer
924 </a>
925 </li>
926 </ul>
927 </div>
928 </div>
929 </nav>
930
931 <div class="tabs-items container_4">
932 @if (true)
933 {
934 <section class="tab-item grid_2 @(!navigateToSpecifications ? "current" : "")" id="product-description">
935 <h3 class="tab-title">Beskrivelse</h3>
936 <div class="clearfix">
937 <div itemprop="description" class="grid_2">
938 @if (hideExternalProductDetails)
939 {
940 <div id="ccs-inline-content"></div>
941 <div id="ccs-logos"></div>
942 <script type='text/javascript'>
943 var ccs_cc_args = ccs_cc_args || [];
944
945 // Product Page
946 ccs_cc_args.push(['cpn', '@GetValue("Ecom:Product.Number")']);
947 ccs_cc_args.push(['mf', '@(GetValue("Ecom:Manufacturer.Name") != null ? GetValue("Ecom:Manufacturer.Name").ToString() : "")']);
948 ccs_cc_args.push(['pn', '@GetValue("Ecom:Product:Field.ELSModelNumber.Value")']);
949 ccs_cc_args.push(['upcean', '@GetValue("Ecom:Product:Field.ELSEan.Value")']);
950 //ccs_cc_args.push(['ccid', 'CATALOG_CODE']);
951 ccs_cc_args.push(['lang', 'da']);
952 ccs_cc_args.push(['market', 'DK']);
953
954 (function () {
955 var o = ccs_cc_args; o.push(['_SKey', '6bff718e']); o.push(['_ZoneId', '8a0298c552']);
956 var sc = document.createElement('script'); sc.type = 'text/javascript'; sc.async = true;
957 sc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.cs.1worldsync.com/jsc/h1ws.js';
958 var n = document.getElementsByTagName('script')[0]; n.parentNode.insertBefore(sc, n);
959 })();
960 </script>
961
962 <div id="flix-inpage"></div>
963 <script type="text/javascript" src="//media.flixfacts.com/js/loader.js"
964 data-flix-distributor="13042"
965 data-flix-language="da"
966 data-flix-brand="@(GetValue("Ecom:Manufacturer.Name") != null ? GetValue("Ecom:Manufacturer.Name").ToString() : "")"
967 data-flix-mpn="@GetValue("Ecom:Product:Field.ELSModelNumber.Value")"
968 data-flix-ean="@GetValue("Ecom:Product:Field.ELSEan.Value")"
969 data-flix-sku="@GetValue("Ecom:Product.Number")"
970 data-flix-button=""
971 data-flix-inpage="flix-inpage"
972 data-flix-button-image=""
973 data-flix-fallback-language="en"
974 data-flix-price="">
975 </script>
976 <div class="loadbeeTabContent"
977 data-loadbee-apikey="5GdYSWSkkpsBDkpgvDNuw6hLfPNt3CaW"
978 data-loadbee-gtin="@GetValue("Ecom:Product:Field.ELSEan.Value")",
979 data-loadbee-locale="da_DK"
980 data-loadbee-manufacturer="EAN"
981 data-loadbee-product="@GetValue("Ecom:Product:Field.ELSEan.Value")"
982 data-loadbee-language="da_DK"
983 data-loadbee-css="default"
984 data-loadbee-button="default"
985 data-loadbee-template="default"
986 data-loadbee-debug="false">
987 </div>
988 }
989 <div id="description-native">@GetValue("Ecom:Product.LongDescription")</div>
990 </div>
991 <div class="text">
992 <!--@Global:Paragraph.Content(3503)-->
993 </div>
994 </div>
995 </section>
996 }
997
998 <section class="tab-item grid_2 @(navigateToSpecifications ? "current" : "")" id="product-specifications">
999 <h3 class="tab-title">Specifikationer</h3>
1000 <div class="container_4 clearfix">
1001
1002 @foreach (var customField in GetLoop("CustomFields"))
1003 {
1004 @customField.GetValue("ELSProductFeaturesHTML")
1005 }
1006 </div>
1007 </section>
1008
1009 </div>
1010
1011 <div class="container_4 clearfix">
1012 @if (elsEnergyClass)
1013 {
1014 try
1015 {
1016 var energyImgURL = "https://cdn1.elsalg.dk/files/ELSALG/eCom/Pictures/" + eanEL;
1017 HttpWebRequest energyInfoRequest = (HttpWebRequest)WebRequest.Create(energyImgURL);
1018 energyInfoRequest.Timeout = 1000;
1019 energyInfoRequest.Method = "HEAD";
1020
1021 var energyInfoResponse = (HttpWebResponse)energyInfoRequest.GetResponse();
1022
1023 if (energyInfoResponse.StatusCode != HttpStatusCode.NotFound)
1024 {
1025 <a id="product-energy-link" class="productEnergyImage" data-href="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/0000000000001.png&image=/files/ELSALG/eCom/Pictures/@(eanEL)&Width=1200">
1026 <img src="https://cdn1.elsalg.dk/inetimagegen.ashx?altFmImage_path=/Files/ELSALG/eCom/Pictures/0000000000001.png&image=/files/ELSALG/eCom/Pictures/@(eanEL)&Width=500&height=500&crop=5" alt="Energi information" />
1027 </a>
1028 }
1029 energyInfoResponse.Close();
1030 }
1031 catch (Exception ex)
1032 {
1033 <img class="productEnergyImage" src="../files/images/symbols/no_energy_info.png" width="350" height="350" alt="Energimærke på vej" />
1034 }
1035 }
1036 </div>
1037 </div>
1038
1039 </section>
1040
1041 <div id="delivery-terms-popup" class="mfp-hide">
1042 @{
1043 try
1044 {
1045 var paragraph = Dynamicweb.Services.Paragraphs.GetParagraph(3500);
1046 if (paragraph != null)
1047 {
1048 var item = Dynamicweb.Content.Items.ItemManager.Storage.GetById(paragraph.ItemType, paragraph.ItemId);
1049 object content = null;
1050 item.TryGetValue("Content", out content);
1051
1052 <div id="delivery-terms-content">@content</div>
1053 }
1054 }
1055 catch { }
1056 }
1057 </div>
1058
1059 <script type="text/javascript">
1060
1061 $(window).load(function() {
1062 $(".product-thumbs").find("img").each(function( index ) {
1063 var $this = $(this);
1064
1065 if(($this.height() / $this.width()) >= 4) {
1066 $this.css("display", "inline-block");
1067 $this.css("width", "auto");
1068 }
1069 });
1070
1071 @if (navigateToSpecifications)
1072 {
1073 <text>
1074 scrollToSpecifications();
1075 </text>
1076 }
1077 });
1078
1079 var scrollToSpecifications = function() {
1080
1081 $('.tabs-menu').find('li').removeClass('current');
1082 $('#specs-tab-nav').addClass('current');
1083
1084 $('.tab-item').removeClass('current');
1085 $('#product-specifications').addClass('current');
1086
1087 var scrollTopPosition = $('.tabs-menu').position().top - $('#sticker').outerHeight();
1088 if ($(window).width() < 769) {
1089 scrollTopPosition = scrollTopPosition + $('.quicksearch-bar').outerHeight();
1090 }
1091
1092 $('html, body').animate({
1093 scrollTop: scrollTopPosition
1094 }, 1000);
1095 };
1096
1097 var fnDeliveryTerms = function() {
1098
1099 $.magnificPopup.open({
1100 items: {
1101 type: "inline",
1102 src: "#delivery-terms-popup"
1103 }
1104 });
1105 };
1106
1107 $(function () {
1108 var imgpath = "https://cdn1.elsalg.dk/files/ELSALG/eCom/Pictures/";
1109 var imgjpg = imgpath + "@(GetValue("Ecom:Product:Field.ELSEan.Value")).jpg";
1110 var imgpng = imgpath + "@(GetValue("Ecom:Product:Field.ELSEan.Value")).png";
1111
1112 ELSALG.initProduct();
1113 });
1114
1115 </script>
1116
1117 @if (hideExternalProductDetails)
1118 {
1119 <script type="text/javascript">
1120 $(document).ready(function() {
1121 var eneryClass = @elsEnergyClass.ToString().ToLower();
1122 var html = $('#ccs-inline-content').html();
1123 setTimeout(function(){
1124 if($('#ccs-inline-content').html() != html){
1125 $('#description-native').hide();
1126 if (!eneryClass) {
1127 $('#product-description').width('100%');
1128 }
1129 }
1130 if($('#flix-inpage').height() > 0){
1131 $('#description-native').hide();
1132 $('#product-description').width('100%');
1133 if (!eneryClass) {
1134 $('#product-energy-link').hide();
1135 }
1136 }
1137 }, 3000);
1138 });
1139
1140 var loadbeeProductFoundCallback = function() {
1141 var eneryClass = @elsEnergyClass.ToString().ToLower();
1142 $('#description-native').hide();
1143 $('#product-description').width('100%');
1144 if (!eneryClass) {
1145 $('#product-energy-link').hide();
1146 }
1147 }
1148
1149 loadbeeApiKey ="bhhVb3J9sRTn6VFS2xD3sA6kTBX8S6rU";
1150 </script>
1151 <script async type="text/javascript" src="https://cdn.loadbee.com/js/loadbee_integration.js"></script>
1152 }