<%--

    Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

--%>


<form action="${pageContext.request.contextPath}/checkoutAck" method=post>
<center>
<table cellpadding=4 cellspacing=2 border=0>
<tr>
<td colspan=2>
<p><fmt:message key="YourOrder"/> \$${sessionScope.cart.total}. <fmt:message key="CheckoutInstructions"/></td>
</tr>
<tr>
<td colspan=2>&nbsp;</td>
</tr>

<tr bgcolor="#CC9999">
<td align="center" colspan=2><font size=5><b><fmt:message key="CheckoutForm"/><b></font></td>
</tr>

<tr bgcolor="#CC9999">
<td valign=top> 
<B><fmt:message key="FirstName"/></B> 
<br>
<input type="text" name="firstName" value="${requestScope.checkoutFormBean.firstName}" size=15 maxlength=20>
<br><font size=2 color=black>${requestScope.checkoutFormBean.errors.firstName}</font>
</td>
<td  valign=top>
<B><fmt:message key="LastName"/></B>
<br>
<input type="text" name="lastName" value="${requestScope.checkoutFormBean.lastName}" size=15 maxlength=20>
<br><font size=2 color=black>${requestScope.checkoutFormBean.errors.lastName}</font>
</td>
</tr>

<tr bgcolor="#CC9999">
<td valign=top>
<B><fmt:message key="EMail"/></B> 
<br>
<input type="text" name="email" value="${requestScope.checkoutFormBean.email}" size=25  maxlength=125>
<br><font size=2 color=black>${requestScope.checkoutFormBean.errors.email}</font>
</td>
<td  valign=top>
<B><fmt:message key="PhoneNumber"/></B>
<br> 
<input type="text" name="areaCode" value="${requestScope.checkoutFormBean.areaCode}" size=3  maxlength=3>
<input type="text" name="phoneNumber" value="${requestScope.checkoutFormBean.phoneNumber}" size=8  maxlength=8>
<br><font size=2 color=black>${requestScope.checkoutFormBean.errors.phoneNumber}</font>
</td>
</tr>


<tr bgcolor="#CC9999">
<td valign=top>
<B><fmt:message key="Street"/></B> 
<br>
<input type="text" name="street" size=25 value="${requestScope.checkoutFormBean.street}"  maxlength=25>
<br><font size=2 color=black>${requestScope.checkoutFormBean.errors.street}</font>
</td>
<td  valign=top>
<B><fmt:message key="City"/></B>
<br>
<input type="text" name="city" size=25 value="${requestScope.checkoutFormBean.city}"  maxlength=25>
<br><font size=2 color=black>${requestScope.checkoutFormBean.errors.city}</font>
</td>
<br>
</tr>

<tr bgcolor="#CC9999">
<td valign=top>
<B><fmt:message key="State"/></B> 
<br>
<input type="text" name="state" size=2 value="${requestScope.checkoutFormBean.state}"  maxlength=2>
<br><font size=2 color=black>${requestScope.checkoutFormBean.errors.state}</font>
</td>
<td  valign=top>
<B><fmt:message key="Zip"/></B> 
<br>
<input type="text" name="zip" value="${requestScope.checkoutFormBean.zip}" size=5  maxlength=5>
<br><font size=2 color=black>${requestScope.checkoutFormBean.errors.zip}</font>
</td>
<br>
</tr>


<tr bgcolor="#CC9999">
<td valign=top>
<B><fmt:message key="CCOption"/></B> 
<br>
  <select name=CCOption> 
    <option value=0 <c:if test="${CCOption == 0}"> selected</c:if> >VISA</option>  	   
    <option value=1 <c:if test="${CCOption == 1}"> selected</c:if> >MasterCard</option>	   
    <option value=2 <c:if test="${CCOption == 2}"> selected</c:if> >American Express</option>
  </select>
</td>
<td  valign=top>
<B><fmt:message key="CCNumber"/></B> 
<br>
<input type="text" name="CCNumber" value="${requestScope.checkoutFormBean.CCNumber}" size=16  maxlength=16>
<br><font size=2 color=black>${requestScope.checkoutFormBean.errors.CCNumber}</font>
</td>
<br>
</tr>


<tr bgcolor="#CC9999">
<td colspan="2" align=center> 
<input type="submit" value="<fmt:message key='Submit'/>">&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="<fmt:message key='Reset'/>">
</td>
</tr>

</table>
</center>
</form>
