Печать топика

Давайте посоветуемся, кто как видит функцию печати топика

есть 3 пути:
1. создаем кастомный стиль для media=print, скрывающий всё лишнее (всё кроме заголовка топика и его текста), и вставляем простой линк в каждом топике
a href="javascript: window.print()"

при этом можно сохранить нативные стили для содержимого топика

2. делаем специальный экшн с минималистичным шаблоном для топика и открываем по ссылке его в новом окне, у которого onload = window.print()

3. побаловался вчера немного и придумал еще один дурацкий метод, но очень быстрый. создаем новое окно динамически:

<script>
function printtopic(index){
 var title = $$('.topic .title')[index].get('text');
 var content = $$('.topic .content')[index].get('html');
 var win = window.open();
 win.onload = function (){ setTimeout('window.print()',2000);};
 var windoc = win.document;
 windoc.write(new Element('div').adopt(new Element('h1', {'text':title}), new Element('div', {'html':content})).get('html'));
}
</script>


ссылка для печати:
<a href="javascript:printtopic(0)">печать</a>