I think you’ve failed to grasp how to use PHP – and most certainly when it’s appropriate to use javascript… using it to include CONTENT means that the page is a miserable steaming pile of failure – users like myself wouldn’t even SEE your content since we enable scripting on a per site basis. (and some people refuse to enable it at all)
Make your page a .php file, and switch to this:
<div id="content">
<?php include('content/index.php'); ?>
</div>
You’re already using php, so USE IT to handle the include server side. Then you can swing an axe at the bloated jquery garbage, and the ‘scripting for nothing’.
Also, you’re commenting style may be tripping rendering bugs in IE and some versions of FF. YES, I said COMMENTS… tripping bugs. Good rule of thumb, don’t put comments between sibling block level containers… Which is why comments like:
<!-- Contains all content --><div id="maincontent">
Should be avoided… mainContent contains all content? REALLY? Never would have guessed. Redundant and pointless bloat… You’re using a verbose name to say what it is, why the comment?!? While on the closing side
</div><!-- End Footer -->
</div> is the end of a section? REALLY? Likewise putting it after can nestle it between sibling level blocks, tripping all sorts of bugs like double render and disappearing content, which is why I advise:
<!-- #footer --></div>
Putting it before avoids the bugs, you don’t need to say end, and the # lets you know it’s an ID being closed.
Unrelated to your main issue, just thought I’d point it out before you come back going “why isn’t my content showing in IE7?” once you add a few floats.