http://jsfiddle.net/b99XN/1/
Para acceder al prototype, Document.prototype es con mayúscula.
Al parecer, si creas el elemento y le insertas clases con efectos transition, no hacen la transición y hacen los cambios de golpe.
Pero como soy un tío listísimo he usado un timeout para que meta la clase después de crearlo y he esquivado el bug (porque creo es un bug) que tiene el navegador. Por lo menos el chrome, soy demasiado gandul para abrir y probarlo con otros.