Just thought I would say a little more about the size of your pages as I was short of time to comment more fully last time. Take
http://www.cazenovia.edu/viewSection.aspx?id=69&title=Need%20Based as an example (it seems fairly typical).
The total size of this page is around 131Kb, which breaks down into:
- 17kb Javascript
- 110kb of menu markup/code
- 2kb of markup for the actual content
- 2kb of actual content
So the actual data the page is displaying represents only 3% of the data that the browser has to download to display the page. If the browser only needed to download that 3% then the page would be loaded in under a second on the average modem, compared to 30 seconds for the pages as they are now.
The first easy thing to do is to move the Javascript out of the page itself and into a .js file. You can then include it on each page using a <script> tag (this assumes that the Javascript is common for every page in the site, which appears to be the case).
I bigger problem at this stage in the project is shifting the data for the menu out of every page. As I see it you have two options here; start using frames or build the menus on the fly from Javascript.
I know lots of people have a downer on frames, but they can serve useful purposes. In this case if you made the menu a separate frame the data for it would only need to be loaded once. You would unfortunately probably have to revisit your menu code however, because it pops out to the right and would probably therefore get cut off by the frame.
The alternative to frames is to define the menus in a set of arrays in a .js file and also add code to the .js file to build the menus on the fly using DHTML. Then include this .js file in every page with a <script> tag and call the Javascript to build the menus when the page has loaded. There are several downsides to doing this however:
- it might be slow on low spec machines
- it's extra code that you need to write
- you have to make the DHTML code work on more that one browser
If it was me doing the coding I would take the frames route. One of the things that people don't like about frames is that when people find your pages from search engines they tend to end up with the content page, without the menus. There are ways to solve this though, if you can assume your client has Javascript, by putting code on the pages to detect when they are loaded without the menu frame and then have them reload with the menu frame in place.
If you did all of this then imagine the effect of a user coming to the site and visiting just ten of your pages. With the current design they would download 1.3Mb of data. With the changed design they would download only 167Kb of data. That is nearly 8 times less data that they have to download.