If your project is non-commercial or you are willing to pay you can try dhtmlx:
Calendar: http://dhtmlx.com/docs/products/dhtmlxCalendar/index.shtml Scheduler: http://dhtmlx.com/docs/products/dhtmlxScheduler/index.shtml
Will the Zip Codes be pre-entered into the website, or will it need to be dynamic?
Truthfully, you're not really explaining what you need.
I'll give this example:
http://dhtmlx.com/docs/products/dhtmlxCombo/
It has several different boxes for you to choose from, and if it's not going on the world wide web, I'm sure the code there is open for your inhouse webpage.
DHTMLX, it's very Microsoft-esque, inexpensive, I'm sure there are way better libraries out there, but I've heard providing the wrong answer online will result in the correct answer..
^Also ^just ^a ^small ^warning, ^DHTMLX ^was ^developed ^by ^Russians
^..in ^Soviet ^Russia ^code ^forks ^you.
>I really don't enjoy the idea of having to write an entire widget library, from >scratch, using Canvas.
Who has to do that? There are many, many widget libraries for javascript.
https://en.wikipedia.org/wiki/List_of_widget_toolkits#Based_on_JavaScript
DHTMLX is very popular, but there are many completely open source options as well.
>The browser is the delivery channel for the real application.
What does that net you as opposed to just delivering a standalone application?
I would recommend taking a look at dhtmlx, their dataview widget in particular. There is a free version that I believe has 100% of the functionality on this particular widget, and you can use in paid/free projects. You didnt mention too much about the rating system so I cant be of too much help there, but as long as you can get the ratings associated with each photo (in json format possibly?), you can iterate through each photo and create a grid item for those photos. Then insert the related rating data in the same grid. The data view widget includes functions to add items, remove, get data, drag/drop, and lots more. I use it at work and it is great.
As far as storing the data, is it in a sql database?
Link to dataview: http://dhtmlx.com/docs/products/dhtmlxDataView/
edit: included link - modified after re-reading post :)
I'm creating an online data capture system, which you can capture the name of certain person and store it in a database. That part has been done, but the leader also wants a spreadsheet where he can punch in some numbers of how much money has been used on certain project. I already talked to him about using google docs, and he has no problem with it, but i want it "embeded" in the page. Also found this widget: http://dhtmlx.com/docs/products/dhtmlxSpreadsheet/
I've been fond of the dhtmlx library of products and they have a new javascript charting system that looks pretty sweet and claims to support phones and tablets.
On the whole they're not as full featured or flashy as EXTJS, but their licensing is more straightforward: just simple GPL.