 
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
import java.util.zip.*;
import java.text.*;



public class OrderEntryServlet extends HttpServlet 
	{
	 public void doPost(HttpServletRequest req, HttpServletResponse res )  
		{
	 try
		 {
			String cID = null;
			Cookie [] cookies = req.getCookies();
			
			for (int i=0; i< cookies.length ; i++ )
			{

				String temp = cookies[i].getName();

				System.out.println("temp= " + temp);


				if (temp.equals("corpId"))
				{
					cID = cookies[i].getValue();
					System.out.println("found corporate id in cookies= " + cID);

				}
			}



			// set up a response

			res.setContentType("text/html");

			// get a handle to the output stream via the response

			PrintWriter out = new PrintWriter (res.getOutputStream(), true);

			// format the html output

			HttpSession session = req.getSession(true);	



			

	
			out.println("<html> <head> <title> Order Form </title>");

			out.println("<link rel='stylesheet' type='text/css' href='../book.css' />");
			out.println("<script language='JavaScript' src='../scripts/validatebook.js'>"  );
			out.println("<!--");

			out.println("td  { ");
			out.println("text-align: left;");
			out.println("}");

				
			
			out.println("//-->");
			out.println("</script>");
			 

			
			out.println("</head>");
			out.println("<body>");





			


			out.println("<p>");
	 
			
			out.println("<h3>You are placing Orders for :</h3>");
    
			
			out.println("<br />");
	
			
			
		
			
			
			
			Map myOrders = (Map) session.getAttribute("cart");
			int count = 0;
			double totalCost = 0;
			NumberFormat nf = NumberFormat.getCurrencyInstance();
					
			
			if (myOrders != null)
			{
			
			Collection collect = myOrders.values();			 
			Iterator it = collect.iterator();
			
			while (it.hasNext())
			{
				
			   if (count == 0)
			   {
				out.println( "<table width='100%' bgcolor='#99CCFF' border='1' cellpadding='6' cellspacing='6'   class='msgclass'>");
				out.println( "<tr> ");
				out.println( "<td>Title</td>");
				out.println( "<td>Author</td>");
				out.println( "<td>ISBN</td>");
				out.println( "<td>Price</td>");
				out.println( "<td>Quantity</td>");
				out.println( "<td>Subtotal</td>");
				out.println( "</tr> ");



			   } // end of printheading


				Book temp = (Book)it.next();
				out.println("<tr><td>" + temp.getTitle() + "</td> <td>" + temp.getAuthor() + "</td><td>" + temp.getISBN() +  "</td><td>" + temp.getCost()  + "</td><td>" + temp.getQty() + "</td>");
				
				// calculate the extent price

				double extPrice = ( (temp.getQty()) * (temp.getCost())  );
				
				totalCost = totalCost + extPrice;
				
				
				String formatPrice = nf.format(extPrice);
				out.println("<td>" + formatPrice + "</td></tr>");
				
				count ++;


			} //end of while loop



			} // end of check if myOrders is null




			
			

			
			

			if (count == 0 )
				{
					out.println("<h3>Your cart is empty....</h3>");
				}
			else

			 {
					
					String formatCost = nf.format(totalCost);
					
					out.println("<tr><td colspan='5'><h3>Your Total before Discount is </td>");
					out.println("<td>"+ formatCost + "</h3>" );
			 }

			out.println("</td></tr>");
			out.println("</table>");
			out.println("</p>");

			out.println("<div>");
			
	 
		
			
		//	out.println("<p><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />");
			out.println("<p>");
			
			out.println("<form name='orderform' action='OrderConfirmServlet' method='post'");
			out.println("onreset='return confirm(\"The form will be cleared. Are you sure?\");'>");


			out.println("<table border='0' width='100%'>");

			out.println("</td></tr><tr><td colspan='3'>");
	
			if (cID == null)
			{
			
			out.println("If you have corporate account with us, for your special discount rate please sign in  now...");
			
			}
			else
			{
			
			out.println("Your Corporate discount will be applied after you confirm your order");
			
			}
			
			
			
			
			
			out.println("</td></tr>"); 





			out.println("<tr><td colspan='3'>");
			out.println("Please enter the information below: ");
			out.println("</td></tr><tr><td colspan='3'>");
			out.println("All fields are required to successfully place an Order.");
			out.println("</td></tr>"); 
				
			

			out.println("<tr>");
	
			out.println("<td>First Name:</td>");
	
			out.println("<td colspan='2'><input type='text' name='txtFname' size='30'/>");
	 
			out.println(" Last Name: <input type='text' name='txtLname' size='30'/></td>");

			out.println("</tr>");


			out.println("<tr>");
	
			out.println("<td >Telephone:</td>");
	
			out.println("<td><input type='text' name='txtTelephone' size='12'/></td>");

			out.println("</tr>");    





			out.println("<tr>");
	
			out.println("<td>Company:</td>");
	
			out.println("<td colspan='2'><input type='text' name='txtCompany' size='30'/></td>");


			out.println("</tr>");


			out.println("<tr>");
	
			out.println("<td >Address:</td>");
	
			out.println("<td colspan='2'><input type='text' name='txtAddress1' size='30'/></td>");

			out.println("</tr>");



			out.println("<tr>");
	
			out.println("<td>&nbsp;</td>"); 
	
			out.println("<td><input type='text' name='txtAddress2' size='30'/></td>");

			out.println("</tr>");



			out.println("<tr>");
	
			out.println("<td>City:</td>");
	
			out.println("<td> <input type='text' name='txtCity'  size='30'/> </td>");
	
			out.println("<td>State:");
			
			out.println("<select name='selState' />");
			
				
				out.println("<option value='AL'>AL</option>");
				out.println("<option value='AK'>AK</option>");
				out.println("<option value='AZ'>AZ</option>");
				out.println("<option value='AR'>AR</option>");
				out.println("<option value='CA'>CA</option>");
				out.println("<option value='CO'>CO</option>");
				out.println("<option value='CT'>CT</option>");
				out.println("<option value='DE'>DE</option>");
				out.println("<option value='DC'>DC</option>");
				out.println("<option value='FL'>FL</option>");
				out.println("<option value='GA'>GA</option>");
				out.println("<option value='HI'>HI</option>");
				out.println("<option value='ID'>ID</option>");
				out.println("<option value='IL'>IL</option>");
				out.println("<option value='IN'>IN</option>");
				out.println("<option value='IA'>IA</option>");
				out.println("<option value='KS'>KS</option>");
				out.println("<option value='LA'>LA</option>");
				out.println("<option value='ME'>ME</option>");
				out.println("<option value='MD' selected='selected'>MD</option>");
				out.println("<option value='MA'>MA</option>");
				out.println("<option value='MI'>MI</option>");
				out.println("<option value='MN'>MN</option>");
				out.println("<option value='MS'>MS</option>");
				out.println("<option value='MO'>MO</option>");
				out.println("<option value='MT'>MT</option>");
				out.println("<option value='NV'>NV</option>");
				out.println("<option value='NH'>NH</option>");
				out.println("<option value='NJ'>NJ</option>");
				out.println("<option value='NM'>NM</option>");
				out.println("<option value='NY'>NY</option>");
				out.println("<option value='NC'>NC</option>");
				out.println("<option value='ND'>ND</option>");
				out.println("<option value='OH'>OH</option>");
				out.println("<option value='OK'>OK</option>");
				out.println("<option value='OR'>OR</option>");
				out.println("<option value='PA'>PA</option>");
				out.println("<option value='PR'>PR</option>");
				out.println("<option value='RI'>RI</option>");
				out.println("<option value='SC'>SC</option>");
				out.println("<option value='TN'>TN</option>");
				out.println("<option value='TX'>TX</option>");
				out.println("<option value='UT'>UT</option>");
				out.println("<option value='VT'>VT</option>");
				out.println("<option value='VA'>VA</option>");
				out.println("<option value='WA'>WA</option>");
				out.println("<option value='WV'>WV</option>");
				out.println("<option value='WI'>WI</option>");
				out.println("<option value='WY'>WY</option>");


			
			out.println("</select>");
	 
			out.println("&nbsp;");
	
			out.println("Zip:  <input type='text' name='txtZip' size='10'/></td>");

			out.println("</tr>");
 
 

			out.println("<tr>"); 
			
			out.println("<td>Credit Type:</td>");
			
			out.println("<td>");
			
			out.println("	<select name='selCreditCard' />");
			
			out.println("	<option value='MC'>Mastercard</option>");	
			
			out.println("	<option value='AX' selected='selected'>American Express</option>");
			
			out.println("	<option value='DC'>Discover</option>");
			
			out.println("	</select>"); 
			
			out.println(" </td>");
			 	 
			
			out.println("<td >Card Number : ");
			
			out.println(" <input  type='text' name='txtCCNbr'></td>");

			out.println("</tr>");

			out.println("<tr>");
			
			out.println("<td >Expires <br />  MM  /  YYYY  : </td>");
			
			out.println("<td>");
			
			out.println("	<select name='selMM' />");
			
			out.println("	<option value='01'>01</option>");	
			out.println("	<option value='02'>02</option>");	
			out.println("	<option value='03'>03</option>");	
			out.println("	<option value='04'>04</option>");	
			out.println("	<option value='05'>05</option>");	
			out.println("	<option value='06'>06</option>");	
			out.println("	<option value='07' selected='selected'>07</option>");	
			out.println("	<option value='08'>08</option>");	
			out.println("	<option value='09'>09</option>");	
			out.println("	<option value='10'>10</option>");	
			out.println("	<option value='11'>11</option>");	
			out.println("	<option value='12'>12</option>");	
			
	
			
			out.println("	</select>"); 
			
			
			out.println("		&nbsp;");	
			
			out.println("	<select name='selYYYY' />");
			
			out.println("	<option value='2002'>2002</option>");	
			out.println("	<option value='2003'selected='selected'>2003</option>");	
			out.println("	<option value='2004'>2004</option>");	
			out.println("	<option value='2005'>2005</option>");	
			out.println("	<option value='2006'>2006</option>");	
			out.println("	</select>"); 



			
			out.println("</td>");
					 

			out.println("</tr>");
			
			out.println("<br />");

			
		 

			
			out.println("	<td colspan='3'  ");
			
			out.println("	<input type='reset' value='Clear Form' />");
			
			out.println("	<input type='submit' value='To Order' onclick='return validateFields();' />");
 

			out.println("	<input type='button' name='searchbutton' value='New Search' ");
			
			out.println("	onclick= 'location.href=\"../productlook.html\"' />");

	
			out.println("	<input type='button' name='orderbutton' value='Back' onclick='history.back();' />");
			
			out.println("	</td>");

			
			
		 	out.println("</div>");

  
			out.println("<tr>");

    
  
			out.println("</tr>");
 

			out.println("</table></p>");


			out.println("</form>");

			out.println("</body></html>");



		 }

		
		catch (IOException e)
		 {
			 System.out.println("A IO Exception" +  e.getMessage());
			 e.printStackTrace();
		 }
		catch (Exception e)
		 {
			 System.out.println("An Exception" +  e.getMessage());
			 e.printStackTrace();
		 }


	  
		
	 
		} // end doPost

	 public void doGet(HttpServletRequest req, HttpServletResponse res ) throws ServletException, IOException
		{
			doPost(req, res);

		} // end doGet
	}
 
