<%--
 
 * Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * Redistribution and use in source and binary forms, with or
 * without modification, are permitted provided that the following
 * conditions are met:
 * 
 * - Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * 
 * - Redistribution in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials
 *   provided with the distribution.
 * 
 * Neither the name of Sun Microsystems, Inc. or the names of
 * contributors may be used to endorse or promote products derived
 * from this software without specific prior written permission.
 * 
 * This software is provided "AS IS," without a warranty of any
 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
 * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY
 * DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR
 * RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE OR
 * ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE
 * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT,
 * SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF
 * THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS
 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 * 
 * You acknowledge that this software is not designed, licensed or
 * intended for use in the design, construction, operation or
 * maintenance of any nuclear facility.
  
--%>

<%@ taglib uri="/jstl-c" prefix="c" %>
<%@ taglib uri="/jstl-fmt" prefix="fmt" %>
<%@ taglib uri="/jstl-sql" prefix="sql" %>
<%@ page errorPage="errorpage.jsp" %>

<jsp:useBean id="cart" class="cart.ShoppingCart" scope="session"/>

<c:if test="${param.Clear == 'clear'}">
    <% cart.clear(); %>
    <font color="red" size="+2"><strong> 
    <fmt:message key="CartCleared"/> 
    </strong><br>&nbsp;<br></font>
</c:if>


<c:if test="${param.Remove != '0'}">
    <c:set var="bookId" value="${param.Remove}"/>
    <jsp:useBean id="bookId" type="java.lang.String" />
    <% cart.remove(bookId); %>

    <sql:query var="books" dataSource="jdbc/BookDB">
      select * from PUBLIC.books where id = ?
      <sql:param value="${bookId}" />
    </sql:query>

    <c:forEach var="book" begin="0" items="${books.rows}">
    <font color="red" size="+2"><fmt:message key="CartRemoved"/><em><c:out value="${book.title}"/></em>.
    </c:forEach>
 
    <br>&nbsp;<br> 
    </font>
</c:if>

<c:if test="${sessionScope.cart.numberOfItems > 0}"> 
    <font size="+2"><fmt:message key="CartContents"/>
    <c:out value="${sessionScope.cart.numberOfItems}"/>
    <c:if test="${sessionScope.cart.numberOfItems == 1}"> 
      <fmt:message key="CartItem"/>.
    </c:if>
    <c:if test="${sessionScope.cart.numberOfItems > 1}"> 
    <fmt:message key="CartItems"/>.
    </c:if>
    </font><br>&nbsp;

    <table> 
    <tr> 
    <th align=left><fmt:message key="ItemQuantity"/></TH> 
    <th align=left><fmt:message key="ItemTitle"/></TH> 
    <th align=left><fmt:message key="ItemPrice"/></TH> 

    </tr>

    <c:forEach var="item" items="${sessionScope.cart.items}">
    		<c:set var="book" value="${item.item}" />

        <tr> 
        <td align="right" bgcolor="#ffffff"> 
        <c:out value="${item.quantity}"/>
        </td> 

        <td bgcolor="#ffffaa"> 
        <c:url var="url" value="/bookdetails" >
          <c:param name="bookId" value="${book.bookId}" />
      		<c:param name="Clear" value="0" />
        </c:url>
        <strong><a href="<c:out value='${url}'/>"><c:out value='${book.title}'/></a></strong> 
        </td> 

        <td bgcolor="#ffffaa" align="right"> 
        <fmt:formatNumber value="${book.price}" type="currency"/>&nbsp;</td>  
        </td> 

        <td bgcolor="#ffffaa"> 
        <c:url var="url" value="/showcart" >
          <c:param name="Remove" value="${book.bookId}" />
        </c:url>
        <strong><a href="<c:out value='${url}'/>"><fmt:message key="RemoveItem"/></a></strong> 
        </td></tr>

    </c:forEach>

    <tr><td colspan="5" bgcolor="#ffffff"> 
    <br></td></tr> 

    <tr> 
    <td colspan="2" align="right" bgcolor="#ffffff"> 
    <fmt:message key="Subtotal"/></td> 
    <td bgcolor="#ffffaa" align="right"> 
    <fmt:formatNumber value="${sessionScope.cart.total}" type="currency"/>    </td>
    <td><br></td>
    </tr></table> 

    <p>&nbsp;<p>
    <c:url var="url" value="/catalog" >
      <c:param name="Add" value="" />
    </c:url>
    <strong><a href="<c:out value='${url}'/>"><fmt:message key="ContinueShopping"/></a>&nbsp;&nbsp;&nbsp;  
    <c:url var="url" value="/cashier" />
    <a href="<c:out value='${url}'/>"><fmt:message key="Checkout"/></a>&nbsp;&nbsp;&nbsp; 
    <c:url var="url" value="/showcart" >
      <c:param name="Clear" value="clear" />
      <c:param name="Remove" value="0" />
    </c:url>
    <a href="<c:out value='${url}'/>"><fmt:message key="ClearCart"/></a></strong>
</c:if>

<c:if test="${session.cart.numberOfItems <= 0}"> 
    <font size="+2"><fmt:message key="CartEmpty"/></font> 
    <br>&nbsp;<br> 
    <c:url var="url" value="/catalog" >
      <c:param name="Add" value="" />
    </c:url>
    <strong><a href="<c:out value='${url}'/>"><fmt:message key="Catalog"/></a></strong>
</c:if>

</body>
</html>

