<%
' Use vw_warranty_status view which joins machines with warranties table
strSQL2 = "SELECT " & _
         "COALESCE(SUM(CASE WHEN warrantystatus = 'Active' AND warrantydaysremaining > 90 THEN 1 ELSE 0 END), 0) as active_good, " & _
         "COALESCE(SUM(CASE WHEN warrantystatus = 'Active' AND warrantydaysremaining BETWEEN 31 AND 90 THEN 1 ELSE 0 END), 0) as active_warning, " & _
         "COALESCE(SUM(CASE WHEN warrantystatus = 'Active' AND warrantydaysremaining <= 30 AND warrantydaysremaining >= 0 THEN 1 ELSE 0 END), 0) as expiring_soon, " & _
         "COALESCE(SUM(CASE WHEN warrantystatus = 'Expired' OR warrantydaysremaining < 0 THEN 1 ELSE 0 END), 0) as expired, " & _
         "COALESCE(SUM(CASE WHEN warrantystatus IS NULL OR warrantystatus = '' OR warrantystatus = 'Unknown' THEN 1 ELSE 0 END), 0) as unknown, " & _
         "COUNT(*) as total " & _
         "FROM vw_warranty_status"
set rswarranty = objconn.Execute(strSQL2)
activeGood = CLng(rswarranty("active_good"))
activeWarning = CLng(rswarranty("active_warning"))
expiringSoon = CLng(rswarranty("expiring_soon"))
expired = CLng(rswarranty("expired"))
unknown = CLng(rswarranty("unknown"))
total = CLng(rswarranty("total"))
If total = 0 Then total = 1
activeGoodPct = FormatNumber(CDbl(activeGood)/CDbl(total)*100,1)
activeWarningPct = FormatNumber(CDbl(activeWarning)/CDbl(total)*100,1)
expiringSoonPct = FormatNumber(CDbl(expiringSoon)/CDbl(total)*100,1)
expiredPct = FormatNumber(CDbl(expired)/CDbl(total)*100,1)
unknownPct = FormatNumber(CDbl(unknown)/CDbl(total)*100,1)
%>
<script>
$(function() {
    var ctx = document.getElementById("warrantyChart").getContext('2d');
    var myChart = new Chart(ctx, {
        type: 'doughnut',
        data: {
            labels: ["Active (>90 days)", "Active (31-90 days)", "Expiring Soon (<=30 days)", "Expired", "Unknown"],
            datasets: [{
                backgroundColor: [
                    "#ffffff",
                    "rgba(255, 255, 255, 0.80)",
                    "rgba(255, 255, 255, 0.60)",
                    "rgba(255, 255, 255, 0.40)",
                    "rgba(255, 255, 255, 0.20)"
                ],
                data: [<%=activeGood%>, <%=activeWarning%>, <%=expiringSoon%>, <%=expired%>, <%=unknown%>],
                borderWidth: [1, 1, 1, 1, 1]
            }]
        },
        options: {
            maintainAspectRatio: false,
            legend: {
                position: "bottom",
                display: false,
                labels: {
                    fontColor: '#ddd',
                    boxWidth: 15
                }
            },
            tooltips: {
                displayColors: false
            }
        }
    });
});
</script>

<div class="col-lg-4">
        <div class="card">
           <div class="card-header">Warranty Status
             <div class="card-action">
              </div>
           </div>
           <div class="card-body">
		     <div class="chart-container-1">
              			<canvas id="warrantyChart"></canvas>
			</div>
           </div>
           <div class="table-responsive">
             <table class="table align-items-center">
               <tbody>
                    <tr>
                        <td><i class="fa fa-circle text-white mr-2"></i>Active (>90 days)</td>
                        <td><%=activeGood%></td>
                        <td><%=activeGoodPct%>%</td>
                    </tr>
                    <tr>
                        <td><i class="fa fa-circle text-light-1 mr-2"></i>Active (31-90 days)</td>
                        <td><%=activeWarning%></td>
                        <td><%=activeWarningPct%>%</td>
                    </tr>
                    <tr>
                        <td><i class="fa fa-circle text-light-2 mr-2"></i>Expiring Soon (<=30 days)</td>
                        <td><%=expiringSoon%></td>
                        <td><%=expiringSoonPct%>%</td>
                    </tr>
                    <tr>
                        <td><i class="fa fa-circle text-light-3 mr-2"></i>Expired</td>
                        <td><%=expired%></td>
                        <td><%=expiredPct%>%</td>
                    </tr>
<% If unknown > 0 Then %>
                    <tr>
                        <td><i class="fa fa-circle text-light-4 mr-2"></i>Unknown</td>
                        <td><%=unknown%></td>
                        <td><%=unknownPct%>%</td>
                    </tr>
<% End If %>
               </tbody>
             </table>
           </div>
        </div>
	</div>
