Unfortunately you can make your site load faster by making everything smaller ie not having a full 1024 x 768 or bigger background, I do like website backgrounds but a 2 or 3Mb background file is going to hit performance.
Look at finding an image and using a repeat, that way it only loads the image once but cleverly repeats it, making your whole background just a couple of Kb.
In terms of speeding it up, what's your website written in? In terms of language?
In C# .net I tend to make my very basic website from just HTML and then load most of the elements in with C# which tends to load quicker.
I had a look at your site and functionally, it all works fine with me. The main issue for me is the layout and colour scheme. When designing your website, please stick to a set of colour scheme that remains the same throughout your site's design. It would make it easier for your users to get used of your site. Also try not to use a lot of bright and contrasting colours as it's quite difficult in the eyes.
I've had a look at your web site's source code and I don't know if it's something that you'd like to do but I'd separate your layout and designs (i.e. width, font-family, font-weight, colours etc.) into a CSS file. It would make your life easier