Collant, pied de page, ainsi que le défilement div sans hauteur spécifique

J'aimerais une page avec un collant, pied de page, et j'aimerais le contenu ci-dessus pour être en mesure de défilement, tout en conservant l'adhérence du pied de page. Mais je ne veux pas coder en dur la hauteur de la zone de contenu, mais sa hauteur de toute la hauteur disponible sauf pour la hauteur du pied de page.

Dans le long terme, je dirais même comme pour la hauteur de la mesure de défilement de la zone de contenu à être re-extensible si la fenêtre est re-taille, mais je m'avance un peu. Je suis en supposant que je vais avoir besoin d'une combinaison de CSS et de Javascript pour réaliser cela, CSS seul ne peut pas réaliser cela?

J'ai fait des recherches de cours et ont trouvé les CSS propriété overflow, mais mon CSS en général n'est pas très bon 🙁 ci-Dessous, un peu de CSS/HTML, j'ai bricolé basé sur ryanfait.com's collant pied de page du tutoriel, si quelqu'un peut me donner quelques conseils en utilisant cela comme un point de départ. Gardez à l'esprit, j'aurai besoin de tout droit de Javascript, pas de jQuery, que ce sera utilisé dans un navigateur personnalisé (http://tkhtml.tcl.tk/hv3.html). Mon Javascript contrairement à mon CSS est bien assez bon, donc, une réponse combinant CSS spécifique suggestions générales Javascript suggestions (dont je vous puis de la chair), ce serait l'idéal.

<html>
    <head>
<style>
* {
margin: 0;
}
html, body {
height: 100%;
}
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -4em;
}
.footer, .push {
height: 4em;
}
</style>
    </head>
    <body>
        <div class="wrapper">
            <p>Your website content here.</p>
            <div class="push"></div>
        </div>
        <div class="footer">
            <p>Copyright (c) 2008</p>
        </div>
    </body>
</html>

EDIT: Ce que j'ai tenté basé sur les deux premières réponses:

J'ai fait les modifications suivantes dans le fichier CSS basés sur des parties des deux réponses reçues à ce jour:

<style>
* {
  margin: 0;
}
html, body {
  height: 100%;
}
.wrapper {
  min-height: 100%;
  height: auto !important;
  height: 100%;
  margin: 0 auto -4em;
  overflow-y: scroll;
}
.footer {
  bottom: 0;
  height: 4em;
  position: fixed;
}
</style>

Ce que cela me donne en Chrome sont deux les barres de défilement, une très faible, mais la plus importante encore, afin que le contenu qui déborde (peut-être que je suis en utilisant le terme d'erreur?) à l'extérieur de l'enveloppe de la zone, et sur le dessus (ou le bas) du pied de page, en plus de l'extérieur de l'ensemble du corps. Merci pour les aider à faire des progrès, mais j'ai encore besoin d'un peu d'aide. Voici un lien vers une capture d'écran de ce que je vois; j'ai utilisé http://www.ipsum-generator.com/ à générer tous les le contenu.

http://dl.dropbox.com/u/44728447/dynamic_wrapper_sticky_footer.JPG