Como criar esse layout com CSS?

Não sou novo em CSS, mas isso é um problema para mim e não consigo resolvê-lo. Preciso criar o layout como abaixo:

Layout http://img121.imageshack.us/img121/2153/layoutsample.jpg

Divs que estão na parte inferior e na parte superior têm alturas fixas. A do centro deve estar exatamente na altura da PÁGINA ALTURA - DIV 1 ALTURA - DIV 3 ALTURA ou, em alguns casos, menor.

Também deve ter esse tamanho definido, porque eu prevejo que, às vezes, o conteúdo será maior do que ele e, em seguida, precisará de uma barra de rolagem.

Aceitarei caso em que DIV2 será menor, mas nunca grande demais para caber no tamanho da página com DIV1 e DIV3.

Quaisquer soluções serão boas, não apenas usando CSS, mas se você tiver uma idéia, também pode lançar algum Javascript ... Serei grato por qualquer solução .. mesmo que não esteja totalmente correto :)