to crynobone :
since this is the resized version, you might couldn't see how it looks like in the html formatted webpage...
those fonts are actually pixel fonts (windows built-in fonts: courier new), and the only graphic to load in the error page is the Oops symbol...
I've had lots of consideration for the transfer limit,
so what I did? cache-able flash for the header (so it only loads once),
seemless graphics for borders, and some quality-adjusted jpeg files...
most of the texts are only ordinary texts, not graphical text...
and anothing thing I should tell is all of these are screenshots from Internet Explorer,
which means it's already been neatly transformed to html...
so no worries, it might take a little bit longer to load the graphics, but the texts sure will come out first...
Not nessecarily, it all depend on how you code it first. Now that I'm talking about is user experience, where let say a dumb n00b come along and the make mistake 5 time then we will show him the Oppsss page 5 times where in reality the notification would be much quicker with use of inline notification or simple javascript, and using your setup the person need to click back button (and if you don't configure php wisely) the person need to start all over again.
Client Side validation again server side who do you think would win? Cacheable also mean that before you can actually load the file from temporary you need to at least load it once. Again it is catchy but wasteful for validation and confirmation. See how Google use in their GMail? Is it artful? No but it's simple but catchy enough.