CSCI 4230
 Internet Application Development
 Fall 2001
 Homework #6

Due date: November 14, 2001 (Wednesday)

Because of the complexity of this program, it will be counted as two assignments.

In industry, changing requirement specifications are common at the last minutes.  In this assignment, you will need to write the following program specified by question (1) first.  You should target it to be completed by the target date.  However, you do not need to turn in your work.  Instead, an additional set of requirements will be posted on November 5 as question (2) and you will need to implement this (which will be based entirely on your work) and turn in your work on November 7.

(1)    Write a client side Javascript/HTML program, h6.html, to display employee information in the following manner.  Note that once your program is loaded to the browser, there is no more trip to the Web server.  Initially, your page displays in IE 5.x:

Note that the buttons are in ascending order.

Clicking the button "C" gives:

Note that the employees are listed in ascending last names and then first names.  Furthermore, the employee names are email links (mailto) and the http addresses are also links.

Clicking the button "D" gives:

Clicking the button "E" gives:

Clicking the button "K" gives:

Clicking the button "W" gives:

Clicking the button "Y" gives:

Your program needs to work with Netscape 4.x, though the display may not be as good (as Netscape 4.x does not support CSS as well).

Use the following data, with obvious meanings.

1,Yue,Bun,yue@cl.uh.edu,281-283-3864,http://nas.uhcl.edu/yue
2,Young,Andrew,young@atlanta.gov,712-299-9090,http://atlanta.gov/young
3,Carter,Jimmy,carter@plain.com,778-899-9999,http://carter.net/jcarter
4,Cummings,Jerry,cummings@cl.uh.edu,281-283-3333,http://www.uhcl.edu/cummings
5,Doctor,Larry,doctor@cl.uh.edu,281-288-2999,http://nas.uhcl.edu/doctor
6,King,Don,king@boxing.com,299-999-9992,http://king.com/~king
7,Carlton,Karl,carlton@yahoo.com,212-212-2211,http://karlcarton.com/
8,Chu,Chum Chum,chumchu@yahoo.com,286-299-2999,http://chumchumchu.com/
9,Chu,Po Kam,pkchu@yahoo.com,713-999-0990,http://pkchu.com
10,Edwards,Flora,florae@yahoo.com,281-281-3288,http://www.yahoo.com/floraEdward
11,Yokam,John,jyokam@yahoo.com,909-000-0000,http://www.jyokam.com
12,King,Nelson,NelsonKing@uh.edu,832-888-9099,http://uh.edu/nelsonking
13,Webb,David,webb@cl.uh.edu,281-283-3333,http://nas.uhcl.edu/webb

(2)    Modify question (1) so that the data is generated in the server side by reading from a database by using ASP.  Use the table:

f01h6(EmployeeId, EmployeeLastName, EmployeeFirstName, EmployeeEmail, EmployeePhone, EmployeeURL)

Note that this is much more flexible than hardcoding the data in question (1).

(3)    Add a highly simplified administrative utility, h6admin.asp, to allow administrators to manipulate the table through the Web.  Initially, the program displays a login page:

If the username/password is not correct, the program responds:

If the username/password is correct, the user is authenticated and will not need to login again in the same session.  The program displays a form to allow the user to add a record:

After the form is submitted, the program responds:

If the user submits this form too, the program responds:

Note that the database table now has two more records: Mr. Zhang and Zhu.  If h6.asp is accessed, it will show the following when the 'Z' button is clicked on:

Your program does not need to handle any kind of errors. You may assume that the input fields are always correct (not a valid assumption in the real world).

Turn in questions (2) and (3) only.