Yo veo el codigo medio sucio. Por ejemplo, por usas important si luego modificas desde js?
height: auto!important;
Aparte, para que igualar esto?: onload=sniffer;
Pero en fin, creo que tus divs no cambian el tamaño porque estan flotados. Podrías poner esto al final de cada columna, justo antes de cerrarlas, y quizas se solucione:
Código CSS:
Ver original.clear{clear: both;} // esto en la hoja de estilo, por supuesto.
.......
<div class="clear"></div>