HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/web/castironradiatorcentre/2024-07-02/prev/inc-template-product-detail.asp
<%
' (SS,25/02/10) Added Magic Zoom Plus
' (SS,25/06/10) Change to ShowProductDetail
' (SS,06/07/10) replaced GetProductLink with GetProductLinkWithName for SEO in Sub ShowProductRelatedItem
' (SS,07/11/11) changes to work with Magic Zoom Plus 4.04
' (SS,20/5/13) added per section price for radiators to Sub ShowProductDetail
' (SS,21/02/14) replaced facebook like with iframe version because the script version was causing problems in Chrome when going back to previous
'               page using browser back button, i.e. related product "add" buttons would stop working for 45secs and "like" might disappear
' (SS,11/09/14) New Bootstrap version, many changes
' (SS,23/10/14) Write Review was removed in Bootstrap viewed, added back in and improved to work in Bootstrap
' (SS,28/11/14) Added call to CustomShowHolidayNotice
' (SS,01/03/15) Added alt attribute to "img src" to remove W3C validation error
' (SS,11/02/16) added facebook, twitter, google plus sharing
' (SS,19/02/16) Added Rich Snippets / Microdata
' (SS,04/03/16) corrected structured data error when no reviews, Google didn't like AggregateRating being set to 0 when no reviews, now not shown when no reviews
' (SS,01/06/17) added sale banner to ShowProductDetail
' (SS,08/04/19) removed google plus sharing due to it being shutdown by Google on 7/3/2019
' (SS,01/10/19) added meta itemprop tags: sku, image to get rid of Google seach console warning message, (Sub ShowProductDetail)
'               added meta itemprop tags: url and priceValidUntil in Sub ShowProductDetailPriceAndOptions, (priceValidUntil set to 30 days from today)
' (SS,12/11/20) removed facebook and twitter share links
' (SS,17/05/21) modified Sub ShowProductDetail to not show "In stock" for bespoke radiators and not show "contact us" for items out of stock
' (SS,24/05/21) modified Sub ShowProductDetail to show despatch days for clearance radiators
' (SS,27/05/21) modified Sub ShowProductDetail to only show the H3 tag when LStockInfo has a value (due to W3C checker warning) also removed role="form" and type="text/javascript" due to W3C checker warning
' (SS,07/06/21) modified Sub ShowProductDetail to use the extended lead time attribute for clearance radiators, replaced above with following 
' (SS,06/07/22) modified Sub ShowProductDetail to highlight delivery lead time message for radiators (also show before selection of sections and paint finish for bespoke radiators)
' (SS,03/08/22) modified Sub ShowProductDetail to show PayPal Pay Later message
' (SS,11/10/22) added additional more prominent Pay in 3 message
' (SS,24/02/24) improvements to add review stars, BTU calculator modal, go to top arrow from reviews, removed large PayPal banner
' (SS,04/03/24) commented out following combo selection code until further notice
' (SS,20/06/24) change to Sub ShowProductFilesItem to add PDF icon and remove file size

' (SS,13/9/14) added following class to store temporary values used by this unit/module, currently just dimensions
Class ProductDetail
  Private FDimensions
  
  Private FProductCode ' (SS,21/6/23)
  
  Private Sub Class_Initialize()
  End Sub
  
  Private Sub Class_Terminate()
  End Sub  
  
  Public Property Get Dimensions()
    Dimensions = FDimensions
  End Property
  
  Public Property Let Dimensions(AValue)
    FDimensions = Trim(AValue)
  End Property
  
  ' (SS,21/6/23)
  Public Property Get ProductCode
    ProductCode = FProductCode
  End Property
  
  ' (SS,21/6/23)
  Public Property Let ProductCode(AValue)
    FProductCode = Trim(AValue)
  End Property
   
  
End Class

Dim oProductDetail


' --- START OF PRODUCT DETAIL TEMPLATES --- '

Sub ShowProductDetailYouAreHere(AGroup, ACategory, ASubcategory)
  Response.Write GetBreadcrumb(AGroup, ACategory, ASubcategory, "")
End Sub

' (SS,1/9/14) now showing Bootstrap style alert
Sub ShowProductDetailNotFound(AProductCode)
  ShowAlertMesssage "warning", "Could not find Product Code: <b>" & AProductCode & "</b>"
End Sub

' (SS,15/6/09) added AShowDescription which is used to print main description or not
' (SS,25/6/10) added Or IsStockAvailable to allow ordering if not in stock but available
' (SS,30/6/11) added AProductID, used by ShowProductOptions, which was also added
' (SS,7/11/11) changes to work with Magic Zoom Plus 4.04
' (SS,17/1/13) added ending / to an img src
' (SS,20/5/13) added per section price for radiators
' (SS,1/03/15) added alt attribute to "img src" to remove W3C validation error
' (SS,11/2/16) added facebook, twitter, google plus sharing
' (SS,4/3/16) corrected structured data error when no reviews, Google didn't like AggregateRating being set to 0 when no reviews, now not shown when no reviews
' (SS,01/06/17) added sale banner via CustomIsSaleBannerApplicable and CustomGetSaleBannerText
' (SS,25/10/19) added url and priceValidUntil to get rid of warning shown in Google Search Console. priceValidUntil is set to 30 days from today.
' (SS,17/5/21) modified to not show "In stock" for bespoke radiators and not show "contact us" for items out of stock
' (SS,24/5/21) modified to show despatch days for clearance radiators
' (SS,27/5/21) modified only show the H3 tag when LStockInfo has a value (due to W3C checker warning), also removed role="form" and type="text/javascript" due to W3C checker warning
' (SS,7/6/21) modified to use the extended lead time attribute for clearance radiators, replaced above with following 
' (SS,6/7/22) modified to highlight delivery lead time message for radiators (also show before selection of sections and paint finish for bespoke radiators)
' (SS,14/7/23) added width and height to images to help reduce CLS (Cumulative Layout Shift) on Desktop
Sub ShowProductDetail(AProductID, AProductCode, AProductName, AProductDesc, ADimensions, ASalePrice, AStdPrice, ANumInStock, ANew, ACategory, ASubcategory, AShowLarge, ALargePicWidth, ALargePicHeight, AShowDescription)

  ' (SS,13/9/14) create the private object used to store some values, for convenience, to pass onto other functions in this module
  Set oProductDetail = New ProductDetail
  oProductDetail.Dimensions = ADimensions
  
  ' (SS,21/6/23) added following to show the ProductCode here as well, for use in ShowProductDetailDescriptionSection (must be a better way)
  oProductDetail.ProductCode = AProductCode

  ' (SS,22/6/11) following used to determine whether to show "Add Review" or "Reviews" tab, "Add Review" shown if no reviews
  Dim LReviewRating, LReviewCount
  LReviewRating = GetReviewRatingAndCount(AProductCode, LReviewCount)

  ' (SS,19/2/16)
  Dim LBrandFound, LBrand, LMPN
  LBrandFound = GetBrandAndMPN(AProductID, AProductCode, LBrand, LMPN)  
  
%>
<!-- START OF PRODUCT DETAIL -->
<div itemscope itemtype="http://schema.org/Product">
    <div class="row" style="margin-left: 0px; margin-right: 0px">
      <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12" style="border-bottom: 1px solid #ccc; border-top: 1px solid #ccc;">
        <h1 itemprop="name" style="text-align:center; margin-top:10px; margin-bottom:10px; font-size:30px"><%=AProductName%></h1>
      </div>
    </div>

    <div class="row" style="margin-left: 0px; margin-right: 0px">
        <!-- magic zoom plus-->
        <div class="col-lg-6 col-md-6" style="padding-left: 0px; padding-right: 0px">
            <div class="col-md-12" style="padding-left: 0px; padding-right: 0px">
              <div style="max-width: 425px; margin: 0 auto;">
              <a id="Zoomer1" href="<%=GetProductImageLink(AProductCode, "o")%>" class="MagicZoomPlus" rel="selectors-effect: fade; selectors-change: mouseover; selectors-effect: false; disable-zoom: true; pan-zoom: false; expand-effect:linear; expand-speed: 0; show-title: bottom; hint: false" title="<%=ToNamedHTML(AProductName)%>">
              <img src="<%=GetProductImageLink(AProductCode, "l")%>" alt="<%=AProductCode%>" width="425" height="425"></a> <br/>         
              </div>
            </div>
            <!-- magic zoom plus thumbnails -->
            <div class="col-md-12" id="magic-zoom-thumbs" style="padding-left: 0px; padding-right: 0px">
              <%ShowProductMoreImages AProductCode, 0, ""%>
            </div>
        </div> 
        
  <%If LBrandFound Then%>
        <meta itemprop="brand" content="<%=LBrand%>" />
        <meta itemprop="mpn" content="<%=LMPN%>" />
  <%End If%> 

        <meta itemprop="sku" content="<%=AProductCode%>">
        <meta itemprop="image" content="<%=GetFullProductImageLink(AProductCode, "o")%>">       
        
        <!-- price and description etc -->
        <div class="col-lg-6 col-md-6" style="padding-left: 0px; padding-right: 0px">          

  <div class="price">
    <%If CustomIsSaleBannerApplicable(AProductID, ASalePrice) Then%>    
      <div class="product-detail-sale-banner"><%=CustomGetSaleBannerText%></div>            
    <%End If%>
    <h3 style="margin-top: 10px; margin-bottom: 5px">
    <span class="regular"><% ShowProductPriceV2 ASalePrice, AStdPrice, False, False, "savepc" %></span>
    <%CustomShowPerSectionText AProductID%>
    </h3>
    <%=GetCurrencySymbol%><%=GetProductPriceSimple(True, False)%> inc. VAT
    
    <div style="margin-top: 5px">
    <% ' (SS,21/2/24) also added id="reviews" anchor further down
    ShowReviewRatingV2 AProductCode, True, True, "big,accordian"
    AddScript "ScriptGoToReviews"
    %>
    </div>
    
<%  ' (SS,21/2/24) BTU calculator button if sections
  If ProductOptionExists(AProductID, "Sections") Then        
  %>
    <div id="btnBTUCalc" class="btn btn-default" style="margin-top:10px; margin-bottom:-5px"><span class="glyphicon glyphicon-pencil"></span> Calculate BTU</div>
    <h4><span class="label label-danger" id="CalculatedBTU"></span> <span id="BTUOK" class="glyphicon glyphicon-check hidden" style="color:#5cb85c;" aria-hidden="true"></span></h4>
  <%
  End If
%>    

<%  ' (SS,3/8/22) if not bespoke radiator then show the PayPal Pay Later message here, for bespoke it's shown using ajax after selection
    If Not ProductOptionExists(AProductID, "Sections") Then
%>    
<div style="margin-top:10px" data-pp-message data-pp-style-layout="text" data-pp-style-logo-type="inline" data-pp-style-text-color="black" data-pp-amount="<%=GetProductPriceSimple(True, False)%>"></div>
<%
    End If
%>
    
    <span itemprop="offers" itemscope itemtype="http://schema.org/Offer">      
      <meta itemprop="priceCurrency" content="<%=GetCurrencyCode%>">
      <meta itemprop="price" content="<%=CustomPriceAdjust(AProductID, GetProductPriceSimple(True, False))%>">
      <meta itemprop="priceValidUntil" content="<%=ISODate(DateAdd("d", 30, Date))%>">
      <%=GetStockAvailabilityMicrodata(AProductCode, AProductName, ANumInStock)%>
      <meta itemprop="url" content="<%=GetFullProductLinkWithName(AProductCode, AProductName)%>">
    </span>
  </div>
  
  <!-- REVIEW RATING *** to be improved -->
  <%' ShowReviewRatingV2 AProductCode, True, True, "left"%>
  <!-- END OF REVIEW RATING *** to be improved -->
 
<%If Not ProductDiscontinued(AProductCode, AProductName) Then
    ' (SS,17/5/21) Liam requested "In stock" to not show for radiators, and to change
    ' "Out of stock, contact us for availability” to "Currently out of stock"
    ' added LStockInfo and checking for existing value and whether a bespoke radiator and change to new text 
    ' (SS,27/5/21) modified further down to only show the H3 tag when LStockInfo has a value (due to W3C checker warning)
    ' (SS,6/7/22) added LStrongHighlight for radiator products
    Dim LStockInfo, LStrongHighlight
    LStockInfo = GetStockInfo
    LStrongHighlight = False  ' (SS,6/7/22)
    'If LStockInfo = "In stock" Then
    ' (SS,24/5/21) replaced above if with following to also show despatch days for clearance radiators
    If InStr(1, LStockInfo, "in stock", vbTextCompare) Then
      ' check for radiator
      If GetProductAttributeByName(AProductID, "Product Type") = PT_RADIATOR Then
        ' quick check for bespoke radiator    
        'If ProductOptionExists(AProductID, "Sections") Then
        '  LStockInfo = ""  ' don't show any stock info text
        'Else
          ' LStockInfo = "Despatched in " + CustomGetRadiatorDespatchDaysForUSP + " working days"
          ' (SS,7/6/21) modified to use the extended lead time attribute for clearance radiators, replaced above with following
          'LStockInfo = "Despatched in " + CustomGetDeliveryDays(AProductID, "", "", True) + " working days"         
        'End If
        
        ' (SS,6/7/22) replaced above with following
        LStockInfo = CustomGetDeliveryDays(AProductID, "", "", False)
        ' (SS,6/7/22) strong highlight, also added below <small>All items sent together. A....
        LStrongHighlight = True
      End If
    ElseIf InStr(LStockInfo, "Out of stock") > 0 And InStr(LStockInfo, "contact us") > 0 Then
      LStockInfo = "Currently out of stock"     
    End If
%>
  <%If InStock(ANumInStock) Or IsStockAvailable Then%>
    <form name="frmBasket" class="form-inline" action="<%=GetProductLink(AProductCode)%>" method="post" style="margin-bottom: 10px">             
      <%ShowProductOptions AProductID%>                            
      <div id="ajax-info" class="price-total" style="margin-top: 5px; margin-bottom: 10px">
      </div>

    
<%If LStockInfo <> "" Then%>
<%' (SS,11/10/22) added this additional more prominent Pay in 3 banner 
' (SS,21/2/24) removed
%>
<!--
<div style="margin-top:10px; margin-bottom:10px" data-pp-message data-pp-style-layout="flex" data-pp-style-ratio="8x1" data-pp-style-color="blue" data-pp-amount="0"></div>
-->

  <%
  ' (SS,21/2/24) replaced with less prominent banner
  ' removed <h3 style="margin-top:0px; margin-bottom:0px; background-color: #dc3545!important; padding: 1rem!important; color: #fff!important;"> =LStockInfo </h3>
  ' (SS,29/2/24) reverted back from <div class="stock-info">..</div>
  If LStrongHighlight Then%>
      <div style="margin-bottom:10px">
      <h3 style="margin-top:0px; margin-bottom:0px; background-color: #dc3545!important; padding: 1rem!important; color: #fff!important;"><%=LStockInfo%></h3>
      <small>All items sent together. Actual delivery depends on item with greatest lead time.</small>
      </div>
  <%Else ' as before %>
      <h3 style="margin-top:0px"><%=LStockInfo%></h3>
  <%End If%>  
<%End If%>      
      <div class="form-group">      
        Quantity<br>
        <select class="form-control" name="qty">
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
          <option value="6">6</option>
          <option value="7">7</option>
          <option value="8">8</option>
          <option value="9">9</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          <option value="13">13</option>
          <option value="14">14</option>
          <option value="15">15</option>
          <option value="16">16</option>
          <option value="17">17</option>
          <option value="18">18</option>
          <option value="19">19</option>
          <option value="20">20</option>        
        </select>
       </div>
    </form>
    <button class="btn btn-default btn-success btn-lg" onclick="<%=GetBuyOLink(AProductID)%>"><span class="glyphicon glyphicon-shopping-cart"></span> Add to Basket</button>   
  <%Else%>
    <h3 style="margin-top:0px"><%=LStockInfo%></h3>    
              <%ShowStockNotificationLink(AProductCode)%>
  <%End If%>
<%End If%>  
  <%CustomShowHolidayNotice "P", AProductID%>  
  
  <div style="margin-top: 10px">
  
  <!-- accordian panel panes -->
  
  
<div class="panel-group" id="accordion">

  <%ShowProductDescriptionSections(AProductDesc)%>


  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapseReviews">
          <i class="glyphicon glyphicon-chevron-down" style="margin-right:10px"></i>Reviews</a>
          <%If LReviewCount > 0 Then%>
          <span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
          <%End If%>
          &nbsp;<span class="badge" style="background-color: grey"><%If LReviewCount > 0 Then%><span itemprop="reviewCount"><%End If%><%=LReviewCount%><%If LReviewCount > 0 Then%></span><%End If%></span>&nbsp;&nbsp;
          <%If LReviewCount > 0 Then%>
          <meta itemprop="ratingValue" content="<%=LReviewRating%>" />
          <%End If%>
          <%ShowReviewRatingStars LReviewRating, "" ' (SS,21/2/24) added "" for options%>
          <%If LReviewCount > 0 Then%>
          </span>
          <%End If%>
      </h4>      
    </div>
    <div id="collapseReviews" class="panel-collapse collapse<%=IIf(InWriteReview, " in", "")%>">
      <div class="panel-body">
        <!--
        <div class="<%=GetActiveClass("product-detail-tab-heading", InShowReviews Or InWriteReview)%>">
          <%If LReviewCount > 0 Then
            Response.Write(AddHRefIfTrue("Reviews", GetShowReviewsLink(AProductCode), Not InShowReviews And Not InWriteReview))
            ShowReviewRatingV2 AProductCode, False, True, "num"
          Else
            Response.Write(AddHRefIfTrue("Add Review", GetWriteReviewLink(AProductCode), Not InShowReviews And Not InWriteReview))
          End If%>
        </div>
        -->
        <%WriteReview(AProductCode)%>
        <a id="reviews"></a>
        <%ShowReviews(AProductCode)%>   
      </div>
    </div>
  </div> 
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapseRelated">
          <i class="glyphicon glyphicon-chevron-down" style="margin-right:10px"></i>Related Products</a>
          &nbsp;<span id="related-product-count" class="badge" style="background-color: grey">0</span>
      </h4>
    </div>
    <div id="collapseRelated" class="panel-collapse collapse">
      <div class="panel-body">
        <%ShowRelatedProducts(AProductCode)%>
        
        <%ShowViewOtherProducts(AProductCode)%>
      </div>
    </div>
  </div>  
</div>  

  
  </div>
   
  

</div>
        </div>
        <!--/price and description etc -->
          
</div>
<!-- END OF PRODUCT DETAIL -->   

<!-- product option change -->
<script>
  // globals holding selected values
  ITP_sections = "";
  ITP_paint_finish = "";
  
  function itp_product_option_change(AType, AOption) {
    if (AType == 'sections') {
      ITP_sections = AOption.value;
    }
    else if (AType == 'paint finish') {
      if (AOption.value != "") {
        ITP_paint_finish = AOption.options[AOption.selectedIndex].text;
      }
      else {
        ITP_paint_finish = "";
      };
    };
    // alert("ITP_sections: " + ITP_sections + "\n" + "ITP_paint_finish: " + ITP_paint_finish);
    //alert($('#productid').val());
    //alert(frmBasket.productid.value);
    $.get('ajax.asp?cmd=custom&options=productprice&productid=' + frmBasket.productid.value + '&sections=' + ITP_sections + '&paintfinish=' + ITP_paint_finish, 
      function(data) {
        $("#ajax-info").html(data);
      }
    );
    
  }
  
</script>

<%
' (SS,24/10/14) if in write review i.e. cmd=writereview then move to this section
If InWriteReview Then%>
<script type="text/javascript">
  $(function() {
      $(document).scrollTop( $("#collapseReviews").offset().top );  
  });
</script>
<%End If%>

<%

  ' (SS,21/2/24)
  ShowBTUCalculatorModal  
  
  ' (SS,13/9/14) destroy the object created at the start
  Set oProductDetail = Nothing

End Sub

' (SS,22/8/14)
' (SS,23/10/14) added InWriteReview
' (SS,19/2/16) added rich snippet tag for ASectionDesc
' (SS,20/6/24) added ShowProductFiles
Sub ShowProductDetailDescriptionSection(ASectionDesc, ASectionName, AFirstSection)
  Dim LSectionAnchorName
  LSectionAnchorName = "collapse" & Replace(ASectionName, " ", "") ' removes spaces from name
  
  ' (SS,17/2/16) for first section, i.e. Description and the rich snippet tag
  If AFirstSection Then
    ' (SS,19/2/16) replaced span with div, because <ul>'s can't be inside spans according to W3C validator
    ASectionDesc = "<div itemprop=""description"">" & ASectionDesc & "</div>"
  End If    
%>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#<%=LSectionAnchorName%>">
          <i class="glyphicon glyphicon-chevron-<%=IIf(AFirstSection, "up", "down")%>" style="margin-right:10px"></i><%=ASectionName%>
        </a>
      </h4>
    </div>
    <div id="<%=LSectionAnchorName%>" class="panel-collapse collapse<%=IIf(AFirstSection And Not InWriteReview, " in", "")%>">
      <div class="panel-body">
				<%=ASectionDesc%>
        <%If AFirstSection And oProductDetail.Dimensions <> "" Then%>
        <p><b>Dimensions:</b>&nbsp;&nbsp;<%=oProductDetail.Dimensions%></p>
        <%End If%>
        <%If AFirstSection Then%>
        <%ShowProductFiles(GetProductCode)%>
        <%End If%>        
        <%If AFirstSection Then 
          ' (SS,15/9/17) show top 3 reviews at bottom of product description
          ShowProductReviewsInDesc GetProductCode, 3
          
          ' (SS,21/6/23) Instagram customer photos
       '   If InStr("," + "CDC-760,CDC-SHT-ASCOT,CDC-660,CDC-WARKTRV-ANTBR" + ",", "," + oProductDetail.ProductCode + ",") > 0 Then
          %>

<div id="flocker-header" style="display: none"><hr>
<h4>Recent customer photos</h4>
</div>
          
<div id="flockler-embed-188de9a0a4d0ca28b3959a9a01dfa384"></div>
<style>
  .flockler-carousel_v2-item__cta-wrapper {
    display:none !important;
  }
</style>
<script>
  var _flocklerOverride = _flocklerOverride || {};
  _flocklerOverride['188de9a0a4d0ca28b3959a9a01dfa384'] = {
    tags: ['<%=oProductDetail.ProductCode%>']
  };  
</script>
<script src="https://plugins.flockler.com/embed/188ddd645f70a27502c5642acd919e5d/188de9a0a4d0ca28b3959a9a01dfa384" async></script>

          <% 
       '   End If
        End If%>
      </div>
    </div>
  </div>
  
<script>
  (function() {
    let interval;
    interval = window.setInterval(
      function() {
        const el = document.querySelector('[id^="flockler-embed-"] article');
        if (el) {
          const heading = document.querySelector('#flocker-header');
          if (heading) {
            heading.style.display = 'inline';
            window.clearInterval(interval);
            interval = null;
          }
        }
      },
      300
    );
    setTimeout(function() {
      if (interval) window.clearInterval(interval);
    }, 6000);
  })();
</script>  
  
<%
End Sub

Sub ShowProductDetailViewOtherProductsHeader
%>
          <div id="product-detail-other-products">
            <h3>View other products in</h3>
<%
End Sub

Sub ShowProductDetailViewOtherProductsItem(AGroup, ACategory, ASubcategory)
%>
            <div class="product-detail-other-products-single">
              <%ShowCategoryAndSubcategoryWithLink AGroup, ACategory, ASubcategory%>
            </div>
<%            
End Sub

Sub ShowProductDetailViewOtherProductsFooter
%>
          </div> <!-- end #product-detail-other-products -->   
<%
End Sub

Sub ShowProductMoreImagesHeader
%>

<%
End Sub

' (SS,25/02/10) modified to work with Magic Zoom Plus
' (SS,24/5/11) changed class="MagicThumb" rel="zoom-id:Zoomer;" 
' to class="MagicThumb" rel="zoom-id:Zoomer; group:Zoomer;"
' fix first thumbnail not having previous/next arrows
' (SS,7/11/11) changes to work with Magic Zoom Plus 4.04
' (SS,18/8/14) new Bootstrap RWD version, this is version 2 which has ACaption as a parameter, and APictureID instead of AProductCode, also AMaxImageCount, calls GetProductImageLinkForPictureID instead of GetProductImageLinkWithImageNo
' (SS,01/03/15) added alt attribute to "img src" to get rid of W3C validation error
' (SS,14/7/23) added width and height to images to help reduce CLS (Cumulative Layout Shift) on Desktop
Sub ShowProductMoreImagesItem(APictureID, AImageNo, AMaxImageCount, ACaption)
%>
              <a class="thumbnail MagicThumb magiczoom_thumbnailsmall" href="<%=GetProductImageLinkForPictureID(APictureID, "o")%>" rel="zoom-id: Zoomer1; hint: false" rev="<%=GetProductImageLinkForPictureID(APictureID, "l")%>" title="<%=ACaption%>"><img src="<%=GetProductImageLinkForPictureID(APictureID, "s")%>" alt="<%=ACaption%>" width="67" height="67"></a>              
<%		
End Sub

Sub ShowProductMoreImagesFooter
%>

<%
End Sub

Sub ShowProductFilesHeader_old
%>
<table width="100%" border="0" cellspacing="0" cellpadding="8">
<tr>
<td>more details</td>
</tr>
<%
End Sub

Sub ShowProductFilesHeader
%>
<table width="100%" border="0" cellspacing="0" cellpadding="8">
<%
End Sub

Sub ShowProductFilesItem_old(AProductCode, AFileName, LFileNameNoExt, AFileNo, AFileType, AFileSize)
%>
<tr>
<td><a href="<%=GetProductFileLink(AProductCode, AFileNo)%>"><%=LFileNameNoExt%></a></td>
</tr>
<%
End Sub

' (SS,20/6/24) changed to add PDF icon and remove file size (old version above)
Sub ShowProductFilesItem(AProductCode, AFileName, LFileNameNoExt, AFileNo, AFileType, AFileSize)
%>
<tr>
<td>
<td>
<a href="<%=GetProductFileLink(AProductCode, AFileNo)%>">
<img src="/images/pdf-icon.png"> <%=LFileNameNoExt%></a></td>
</tr>
<%
End Sub

Sub ShowProductFilesFooter
%>
</table>
<%
End Sub

' (SS,12/9/14) removed "<h3>You may also be interested in</h3>"
Sub ShowProductRelatedHeader
  ClearCounter ' (SS,13/9/14)
%>
  <div class="row">
         <div id="product-detail-related-items">
<%
End Sub

' (SS,6/7/10) replaced GetProductLink with GetProductLinkWithName for SEO
' (SS,12/9/14) changes for Bootstrap
Sub ShowProductRelatedItem(AProductCode, AProductName, AProductDescription)
  IncCounter ' (SS,13/9/14)
%>
          <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
            <div class="product-detail-related-item" style="border: 1px dashed #f4f4f4; padding: 10px"> 
              <div class="product-detail-related-item-image">
                <a href="<%=GetProductLinkWithName(AProductCode, AProductName)%>"><%=GetProductImgSrcThumbnailSmall(AProductCode, AProductName)%></a>
              </div>
              <div class="product-detail-related-item-name" style="height: 3em">
                <a href="<%=GetProductLinkWithName(AProductCode, AProductName)%>"><%=AProductName%></a>
              </div>
              <div class="product-detail-related-item-price-section">
                <div class="product-detail-related-item-add-button pull-left">
<%If InStock(GetNumInStock) Or IsStockAvailable Then%>
                  <a href="<%=GetBuyLink(AProductCode)%>" class="btn btn-primary btn-sm" role="button" style="margin-right: 10px; margin-top: 5px">Add</a>
<%End If%>                
                </div>                
                <div class="product-detail-related-item-price-info">
                  Price: <% ShowProductPriceV2 CorrectCurrencyNV(GetSalePrice), CorrectCurrencyNV(GetStdPrice), True, False, "" %>
                </div>  
              </div>
              <div class="product-detail-related-item-stock-info">
                <%=GetStockInfo%>
              </div>  
            </div>
          </div><!--col-->       
<%
End Sub

' (SS,13/9/14) set the count in the header
Sub ShowProductRelatedFooter
%>
          </div> <!-- end #product-detail-related-items -->
    </div><!--row-->
<script>
  document.getElementById("related-product-count").innerHTML = '<%=GetCounter%>';  
</script>
<%
End Sub

' (SS,21/2/24)
Sub ScriptGoToReviews
%>
<script>
$('.review-rating-text-big').click(function(e) {
  $('#collapseReviews').collapse('show');
  window.location = "#reviews";
});
</script>
<%
End Sub

' (SS,21/2/24) show modal, and select the number of sections >= calculated BTU
' some help from https://stackoverflow.com/questions/13343566/set-select-option-selected-by-value
Sub ScriptBTUCalc_old
%>
<script>
  $('#btnBTUCalc').click(function (e) {
      e.preventDefault();
      $('#modal-content-btucalc').modal({
          show: true
      });
  });  
  
  $('#modal-content-btucalc').on('hidden.bs.modal', function () {
      
      LSectionsCombo = $('[name^="option-"]');     
      
      LComboName = LSectionsCombo.attr('name')
      
      // alert(LComboName);
      
      var LValueToSelect = "";
      
      LCalculatedBTU = parseInt($('#calculatedBTU').val());
      if (LCalculatedBTU) {
        // alert(LCalculatedBTU);
        
        var LSelected = false;
        
        $('[name^="' + LComboName + '"] > option').each(function() {
          var LText = this.text
          var splitStr = LText.substring(LText.indexOf('mm ') + 3);
          var LBTU = parseInt(splitStr);
          if (LBTU >= LCalculatedBTU) {
           // alert(LBTU);            
            LValueToSelect = this.value;
            LSelected = true;
            return false;
          }
        });
        if (LValueToSelect != "") {
          $('[name="' + LComboName + '"]').val(LValueToSelect).change();
        }

        $("#CalculatedBTU").text("Calculated: " + LCalculatedBTU + " BTU");
        if (LSelected) {
          $("#BTUOK").removeClass("hidden");
        }
        else {
          $("#BTUOK").addClass("hidden");
        }
      }
  });  
</script>
<%
End Sub

Sub ScriptBTUCalc
%>
<script>
  $('#btnBTUCalc').click(function (e) {
      e.preventDefault();
      $('#modal-content-btucalc').modal({
          show: true
      });
  });  
  
  $('#modal-content-btucalc').on('hidden.bs.modal', function () {
      
      LSectionsCombo = $('[name^="option-"]');     
      
      LComboName = LSectionsCombo.attr('name')
      
      // alert(LComboName);
      
      var LValueToSelect = "";
      
      LCalculatedBTU = parseInt($('#calculatedBTU').val());
      if (LCalculatedBTU) {
        // alert(LCalculatedBTU);
        
        var LSelected = false;
        
        /* (SS,4/3/24) commented out following combo selection code until further notice
        $('[name^="' + LComboName + '"] > option').each(function() {
          var LText = this.text
          var splitStr = LText.substring(LText.indexOf('mm ') + 3);
          var LBTU = parseInt(splitStr);
          if (LBTU >= LCalculatedBTU) {
           // alert(LBTU);            
            LValueToSelect = this.value;
            LSelected = true;
            return false;
          }
        });
        */
        
        if (LValueToSelect != "") {
          $('[name="' + LComboName + '"]').val(LValueToSelect).change();
        }

        $("#CalculatedBTU").text("Calculated: " + LCalculatedBTU + " BTU / " + parseInt($('#calculatedWatts').val()) + " Watts");
        if (LSelected) {
          $("#BTUOK").removeClass("hidden");
        }
        else {
          $("#BTUOK").addClass("hidden");
        }
      }
  });  
</script>
<%
End Sub

' --- END OF PRODUCT DETAIL TEMPLATES --- '

%>