/*
 *
 * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * This software is the proprietary information of Sun Microsystems, Inc.  
 * Use is subject to license terms.
 * 
 */

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import cart.*;
import util.Currency;

/**
 * An HTTP Servlet that responds to the GET method of the
 * HTTP protocol.  It returns a form to the user that gathers data.
 * The form POSTs to another servlet.
 */
public class CashierServlet extends HttpServlet { 

    public void doGet (HttpServletRequest request,
                       HttpServletResponse response)
   throws ServletException, IOException
    {
        // Get the user's session and shopping cart
        HttpSession session = request.getSession();
        ShoppingCart cart =
            (ShoppingCart)session.getAttribute("cart");
        if (cart == null) {
            cart = new ShoppingCart();
            session.setAttribute("cart", cart);
        }
        
   // set content-type header before accessing Writer
       response.setContentType("text/html");
          PrintWriter out = response.getWriter();
       Currency c = new Currency();
       c.setLocale(request.getLocale());
       c.setAmount(cart.getTotal());

   // then write the data of the response
        out.println("<html>" +
                    "<head><title> Cashier </title></head>");

        // Get the dispatcher; it gets the banner to the user
        RequestDispatcher dispatcher =
               getServletContext().getRequestDispatcher("/banner");
                                       
            if (dispatcher != null)
               dispatcher.include(request, response);
               
       // Print out the total and the form for the user
        out.println("<p>Your total purchase amount is: " +
                    "<strong>" + c.getFormat() + "</strong>" +
                    "<p>To purchase the items in your shopping cart," +
                    " please provide us with the following information:" +

                    "<form action=\"" +
                    response.encodeURL(request.getContextPath() + "/receipt") +
                    "\" method=\"post\">" +

                    "<table>" +
                    "<tr>" +
                    "<td><strong>Name:</strong></td>" +
                    "<td><input type=\"text\" name=\"cardname\"" +
                    "value=\"Gwen Canigetit\" size=\"19\"></td>" +
                    "</tr>" +

                    "<tr>" +
                    "<td><strong>Credit Card Number:</strong></td>" +
                    "<td>" +
                    "<input type=\"text\" name=\"cardnum\" " +
                    "value=\"xxxx xxxx xxxx xxxx\" size=\"19\"></td>" +
                    "</tr>" +

                    "<tr>" +
                    "<td></td>" +
                    "<td><input type=\"submit\"" +
                    "value=\"Submit Information\"></td>" +
                    "</tr>" +

                    "</table>" +
                    "</form>" +
                    "</body>" +
                    "</html>");
        out.close();
    }

    public String getServletInfo() {
        return "The Cashier servlet takes the user's name and " +
               "credit card number so that the user can buy the books.";

    }
}
