anchor.diff:        <% if( AclUtils.shouldFilter(SecurityContextHolder.getContext().getAuthentication().getAuthorities()) ) { %>
           <p style="color: red"> This list has been filtered to accessible nodes only based on your user group. </p>
         <% } %>
  -      <c:out escapeXml="false" value="<!-- Last updated "/><c:out value="<%=category.getLastUpdated().toString()%>"/><c:out escapeXml="false" value=" -->"/>
  -
  -      <table>
  +
  +    <% String showoutages = req.getParameter("showoutages"); %>
  +
  +        <%  
  +        if(showoutages == null ) {
  +           showoutages = "avail";
  +        } %>
  +
  +<div class="btn-group">
  +  <button 
  +    type="button" 
  +    class="btn btn-default <%=(showoutages.equals("all") ? "active" : "")%>" 
  +    onclick="top.location = '<%= Util.calculateUrlBase( req , "rtc/category.jsp?category=" + Util.encode(category.getName()) + "&amp;showoutages=all") %>'"
  +  >
  +    All
  +  </button>
  +  <button 
  +    type="button" 
  +    class="btn btn-default <%=(showoutages.equals("outages") ? "active" : "")%>"
  +    onclick="top.location = '<%= Util.calculateUrlBase( req , "rtc/category.jsp?category=" + Util.encode(category.getName()) + "&amp;showoutages=outages") %>'"
  +  >
  +    With outages
  +  </button>
  +  <button 
  +    type="button" 
  +    class="btn btn-default <%=(showoutages.equals("avail") ? "active" : "")%>"
  +    onclick="top.location = '<%= Util.calculateUrlBase( req , "rtc/category.jsp?category=" + Util.encode(category.getName()) + "&amp;showoutages=avail") %>'"
  +  >
  +    With availability less than 100%
  +  </button>
  +</div>
  +
  +<br/><br/>
  +
  +    <div class="panel panel-success fix-subpixel">
  +      <table class="table table-condensed severity">
  +        <thead>
           <tr>
             <th>Nodes</th>
             <th>Outages</th>
             <th>24hr Availability</th>
           </tr>
  +        </thead>
         
           <%  
   	    int valuecnt = 0;
   	    int outagecnt = 0;
  -
  -        for (String nodeLabel : nodeMap.keySet()) {
  +        
  +        if (nodeMap.size() > 0) {
  +            for (String nodeLabel : nodeMap.keySet()) {
                   Node node = nodeMap.get(nodeLabel);
                   
                   double value = node.getNodevalue();
  
positive.code: %>
  
  
  <jsp:include page="/includes/header.jsp" flush="false" >
    <jsp:param name="title" value="Category Service Level Monitoring" />
    <jsp:param name="headTitle" value="<%=category.getName()%>" />
    <jsp:param name="headTitle" value="Category" />
    <jsp:param name="headTitle" value="SLM" />
    <jsp:param name="breadcrumb" value="<a href='rtc/index.jsp'>SLM</a>" />
    <jsp:param name="breadcrumb" value="Category"/>
  </jsp:include>
  
  <h3>
    <span title="Last updated <c:out value="<%=category.getLastUpdated().toString()%>"/>">
      <c:out value="<%=category.getName()%>"/>
    </span>
  </h3>
  
  <form name="showoutages">
    <p>
      Show interfaces:
  	<% String showoutages = req.getParameter("showoutages"); %>
  
          <%  
          if(showoutages == null ) {
             showoutages = "avail";
          } %>
  
                <input type="radio" name="showout" <%=(showoutages.equals("all") ? "checked" : "")%>
                 onclick="top.location = '<%= Util.calculateUrlBase( req , "rtc/category.jsp?category=" + Util.encode(category.getName()) + "&amp;showoutages=all") %>'" ></input>All
  
  
                <input type="radio" name="showout" <%=(showoutages.equals("outages") ? "checked" : "")%>
                 onclick="top.location = '<%= Util.calculateUrlBase( req , "rtc/category.jsp?category=" + Util.encode(category.getName()) + "&amp;showoutages=outages") %>'" ></input>With outages
  
  
                <input type="radio" name="showout" <%=(showoutages.equals("avail") ? "checked" : "")%>
                 onclick="top.location = '<%= Util.calculateUrlBase( req , "rtc/category.jsp?category=" + Util.encode(category.getName()) + "&amp;showoutages=avail") %>'" ></input>With availability &lt; 100% 
  
    </p>
  </form>
  
        <% if( category.getComment() != null ) { %>      
          <p><c:out value="<%=category.getComment()%>"/></p>
  
negative.code:                     String availClass = CategoryUtil.getCategoryClass( category, value );
                      String outageClass = CategoryUtil.getCategoryClass( category, servicePercentage );
  
                      if ( showoutages.equals("all") || (showoutages.equals("outages") && serviceDownCount > 0 ) || (showoutages.equals("avail") && value < 100 ) ) { %>
                      <tr>
                        <td><a href="element/node.jsp?node=<%=node.getNodeid()%>"><c:out value="<%=nodeLabel%>"/></a></td>
                        <td class="bright severity-<%=outageClass%>" align="right"><%=serviceDownCount%> of <%=serviceCount%></td>
                        <td class="bright severity-<%=availClass%>" align="right" width="30%"><b><%=CategoryUtil.formatValue(value)%>%</b></td>
                      </tr>
                      <%  }
                      if (value < 100 ) ++valuecnt;
                      if (serviceDownCount > 0 ) ++outagecnt;
                  }
              }
              if (showoutages.equals("outages") && outagecnt == 0) { %>
  			<tr>
  				<td colspan="3">There are currently no outages in this Category.</td>
  			</tr>
  			<% } %>
  
  			<% if (showoutages.equals("avail") && valuecnt == 0) { %>
  			<tr>
  				<td colspan="3">All services in this Category are at 100%.</td>
  			</tr>
  			<% } %>
  		<% } else { %>
  			<tr>
  				<td colspan="3">There are no nodes in this Category.</td>
  			</tr>
  		<% } %>
  
      </table>
    </div>
  
    <p>Last updated: <c:out value="<%=category.getLastUpdated().toString()%>"/></p>
  
  <jsp:include page="/includes/bootstrap-footer.jsp" flush="false" />
  