V22.0005 - Spring 2004
Assignment # 4

Due: Thursday, March 11th (day of the Midterm)

Projects should be posted on your I5 Web account under the name "assign4.html"

Be sure to email pnp2@cs.nyu.edu to turn in your assignment.

This assignment combines frames, cookies and style sheets.

It is the start of a Shopping Cart System. You may 'sell' anything in your shop: Cars, Books, Poems, Outer Space Trips, Illegal Pets, etc. It really doesn't matter as long as there are at least 8 items, and you can come up with 8 pictures that somehow depict those 8 items.

Create a Frameset that has a Navigation frame and a Content frame.

The Navigation frame should have at least five buttons: Personal Info, Product Choice, Confirmation, Order and one which is called Reset Order Info. The first 4 buttons should take you to those respective pages, the last button should clear out the Shopping Cart setting everything back to zero. The Navigation frame also has buttons that allow you to choose one of three styles that determines the color of the background of both frames and the style of the text in the Content frame. Those styles are set in an External Style Sheet.

Here is how the second page might look like (here with only 6 items pictured):

The Personal Info page should collect just that: Name, address, etc. If a person has previously input their Personal Information (saved in a cookie, of course), those fields should be filled in by the JavaScript. If a customer changes any field, the cookie should be updated.

The Product Choice page should print your 8+ items along with the price, the picture of the item and a form textfield for Quantity ordered (which is initially set to 0). At the bottom of the Product Choice page are a Total Price textfield and a Button that allows you to go to the Confirmation page (if you actually have items in your 'Shopping Cart"). As you change any of the Quantity fields, the Total Price should automatically be updated. Again, if a customer has previously filled in Quantity information, the information should be retrieved from a cookie.

When you go to the Confirmation page, it first checks to see if your personal information has been filled out. If not, it puts up an error Alert box, and brings you to the Personal Info page. It then checks to make certain that your Shopping Cart is non-empty. If it is empty, it puts up an error Alert box, and brings you back to the Product Choice page.

On the Confirmation page, just those items you have actually ordered are shown along with their pictures and quantities - sorted into descending order by "Quantity Ordered". It has two buttons on the page: "Adjust Order" and "Confirm Order" The first button brings you back to the Product Choice page, the second button brings you to the "Order Page".

The Order page should print all of you personal information, all of your order (without pictures this time), and your total.

If at anytime a customer clicks on the "Reset Order Info" button in the Navigation frame, all Quantities should be zeroed out, and the Product Choice page be brought up.