/*
   This JavaScript code was generated by Jemplate, the JavaScript
   Template Toolkit. Any changes made to this file will be lost the next
   time the templates are compiled.

   Copyright 2006 - Ingy döt Net - All rights reserved.
*/

if (typeof(Jemplate) == 'undefined')
    throw('Jemplate.js must be loaded before any Jemplate template files');

Jemplate.templateMap['calendar.tt'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
//line 1 "calendar.tt"
stash.set('months', [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]);
output += '\n<h2 class="module-header">';
//line 17 "calendar.tt"
output += stash.get(['months', 0, stash.get('month'), 0]);
output += ' ';
//line 17 "calendar.tt"
output += stash.get('year');
output += '</h2>\n<div class="module-content">\n    <table id="calendar-nav">\n        <tbody>\n          <tr>\n            <th>\n                <a class="nav-arrow"\n                   href="javascript:void(0)"\n                   onclick="getCalendar(';
//line 25 "calendar.tt"
output += stash.get('year') - 1;
output += ', ';
//line 25 "calendar.tt"
output += stash.get('month');
output += ')">\n                   &lt;&lt;\n                </a>\n            </th>\n            <th>\n                <a class="nav-arrow"\n                   href="javascript:void(0)"\n                   onclick="getCalendar(';
//line 32 "calendar.tt"
output += stash.get('month') - 1 < 0 ? stash.get('year') - 1 : stash.get('year');
output += ', ';
//line 32 "calendar.tt"
output += stash.get('month') - 1 < 0 ? 11 : stash.get('month') - 1;
output += ')">\n                   &lt;\n                </a>\n            </th>\n            <th>&nbsp;</th>\n            <th>&nbsp;</th>\n            <th>&nbsp;</th>\n            <th>\n                <a class="nav-arrow"\n                   href="javascript:void(0)"\n                   onclick="getCalendar(';
//line 42 "calendar.tt"
output += stash.get('month') + 1 > 11 ? stash.get('year') + 1 : stash.get('year');
output += ', ';
//line 42 "calendar.tt"
output += stash.get('month') + 1 > 11 ? 0 : stash.get('month') + 1;
output += ')">\n                   &gt;\n                </a>\n            </th>\n            <th>\n                <a class="nav-arrow"\n                   href="javascript:void(0)"\n                   onclick="getCalendar(';
//line 49 "calendar.tt"
output += stash.get('year') + 1;
output += ', ';
//line 49 "calendar.tt"
output += stash.get('month');
output += ')">\n                   &gt;&gt;\n                </a>\n            </th>\n          </tr>\n        </tbody>\n    </table>\n    <table summary="Monthly calendar with links to each day\'s posts">\n        <tbody>\n          <tr>\n            <th>Sun</th>\n            <th>Mon</th>\n            <th>Tue</th>\n            <th>Wed</th>\n            <th>Thu</th>\n            <th>Fri</th>\n            <th>Sat</th>\n          </tr>';
//line 67 "calendar.tt"
stash.set('day', 1);

//line 80 "calendar.tt"
    
// WHILE
var failsafe = 1000;
while (--failsafe && (stash.get('day') <= stash.get('end_of_month'))) {
output += '\n          <tr>';
//line 70 "calendar.tt"
stash.set('day_of_week', 0);
//line 79 "calendar.tt"
    
// WHILE
var failsafe = 1000;
while (--failsafe && (stash.get('day_of_week') <= 6)) {
//line 77 "calendar.tt"
if ((stash.get('day') > stash.get('end_of_month')) || (stash.get('day') == 1 && stash.get('day_of_week') < stash.get('first_day_of_week'))) {
output += '                    <td>&nbsp;</td>';
}
else {
output += '                    <td id="day-';
//line 75 "calendar.tt"
output += stash.get('year');
output += '-';
//line 75 "calendar.tt"
output += stash.get('month');
output += '-';
//line 75 "calendar.tt"
output += stash.get('day');
output += '">';
//line 75 "calendar.tt"
output += stash.get('day');
output += '</td>';
//line 76 "calendar.tt"
stash.set('day', stash.get('day') + 1);
}

//line 78 "calendar.tt"
stash.set('day_of_week', stash.get('day_of_week') + 1);
}
if (! failsafe)
    throw("WHILE loop terminated (> 1000 iterations)\n")

}
if (! failsafe)
    throw("WHILE loop terminated (> 1000 iterations)\n")

output += '\n          </tr>\n        </tbody>\n    </table>\n</div>\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['comments.tt'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
//line 28 "comments.tt"

// FOREACH 
(function() {
    var list = stash.get('comments');
    list = new Jemplate.Iterator(list);
    var retval = list.get_first();
    var value = retval[0];
    var done = retval[1];
    var oldloop;
    try { oldloop = stash.get('loop') } finally {}
    stash.set('loop', list);
    try {
        while (! done) {
            stash.data['comment'] = value;
output += '    <a id="post-';
//line 2 "comments.tt"
output += stash.get(['comment', 0, 'post', 0]);
output += ':comment-';
//line 2 "comments.tt"
output += stash.get(['comment', 0, 'id', 0]);
output += '"></a>\n    <div class="comment" id="comment-95523406">\n        <div class="comment-content">\n            ';
//line 5 "comments.tt"
output += stash.get(['comment', 0, 'body', 0, 'replace', [ '&', '&amp;' ], 'replace', [ '<', '&lt;' ], 'replace', [ '>', '&gt;' ], 'replace', [ '\n', '<br/>' ], 'replace', [ ' ', '&nbsp;' ], 'replace', [ '	', '&nbsp;&nbsp;&nbsp;&nbsp;' ]]);
output += '\n        </div>\n        <p class="comment-footer">\n            Posted by:\n            ';
//line 24 "comments.tt"
if (stash.get(['comment', 0, 'url', 0])) {
//line 17 "comments.tt"
stash.set('url', stash.get(['comment', 0, 'url', 0]));
output += '\n                ';
//line 18 "comments.tt"
if (! stash.get(['url', 0, 'match', [ '^\\w+://' ]])) {
//line 18 "comments.tt"
stash.set('url', 'http://'  + stash.get('url'));
}

output += '                <a href="';
//line 21 "comments.tt"
output += stash.get('url');
output += '">';
//line 21 "comments.tt"
output += stash.get(['comment', 0, 'sender', 0]);
output += '</a>\n            ';
}
else {
output += '\n                ';
//line 23 "comments.tt"
output += stash.get(['comment', 0, 'sender', 0]);
output += ' |\n            ';
}

output += '\n            ';
//line 25 "comments.tt"
output += stash.get(['comment', 0, 'created', 0]);
output += '\n        </p>\n    </div>';;
            retval = list.get_next();
            value = retval[0];
            done = retval[1];
        }
    }
    catch(e) {
        throw(context.set_error(e, output));
    }
    stash.set('loop', oldloop);
})();

output += '\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['comments.tt~'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
//line 13 "comments.tt~"

// FOREACH 
(function() {
    var list = stash.get('comments');
    list = new Jemplate.Iterator(list);
    var retval = list.get_first();
    var value = retval[0];
    var done = retval[1];
    var oldloop;
    try { oldloop = stash.get('loop') } finally {}
    stash.set('loop', list);
    try {
        while (! done) {
            stash.data['comment'] = value;
output += '    <a id="c95523406"></a>\n    <div class="comment" id="comment-95523406">\n        <div class="comment-content">\n            ';
//line 5 "comments.tt~"
output += stash.get(['comment', 0, 'body', 0]);
output += '\n        </div>\n        <p class="comment-footer">\n            Posted by:\n            ';
//line 9 "comments.tt~"
output += stash.get(['comment', 0, 'sender', 0]);
output += ' |\n            <a href="http://pugs.blogs.com/pugs/2007/10/a-graphical-tra.html#comment-95523406">';
//line 10 "comments.tt~"
output += stash.get(['comment', 0, 'created', 0]);
output += '</a>\n        </p>\n    </div>';;
            retval = list.get_next();
            value = retval[0];
            done = retval[1];
        }
    }
    catch(e) {
        throw(context.set_error(e, output));
    }
    stash.set('loop', oldloop);
})();

output += '\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['nav.tt'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
//line 1 "nav.tt"
stash.set('prev_post', stash.get('undef'));
//line 1 "nav.tt"
stash.set('next_post', stash.get('undef'));
//line 1 "nav.tt"

// FOREACH 
(function() {
    var list = stash.get('posts');
    list = new Jemplate.Iterator(list);
    var retval = list.get_first();
    var value = retval[0];
    var done = retval[1];
    var oldloop;
    try { oldloop = stash.get('loop') } finally {}
    stash.set('loop', list);
    try {
        while (! done) {
            stash.data['post'] = value;
//line 1 "nav.tt"
if (stash.get(['post', 0, 'id', 0]) < stash.get('current')) {
//line 1 "nav.tt"
stash.set('prev_post', stash.get('post'));
}
else {
//line 1 "nav.tt"
stash.set('next_post', stash.get('post'));
}
;
            retval = list.get_next();
            value = retval[0];
            done = retval[1];
        }
    }
    catch(e) {
        throw(context.set_error(e, output));
    }
    stash.set('loop', oldloop);
})();

//line 15 "nav.tt"
if (stash.get('next_post')) {
output += '\n<a href="#post-';
//line 12 "nav.tt"
output += stash.get(['next_post', 0, 'id', 0]);
output += '">\n    « ';
//line 13 "nav.tt"
output += stash.get(['next_post', 0, 'title', 0]);
output += '\n</a>\n';
}

output += '\n |\n<a href="#post-list"> Main </a>\n |\n';
//line 23 "nav.tt"
if (stash.get('prev_post')) {
output += '\n<a href="#post-';
//line 20 "nav.tt"
output += stash.get(['prev_post', 0, 'id', 0]);
output += '">\n    ';
//line 21 "nav.tt"
output += stash.get(['prev_post', 0, 'title', 0]);
output += ' »\n</a>\n';
}

output += '\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['pager.tt'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
//line 1 "pager.tt"
stash.set('page', 1, 1);
stash.set('page_count', stash.get('undef'), 1);
stash.set('title', 'Pages', 1);
output += '\n';
//line 7 "pager.tt"
if (stash.get('page_count') <= 10) {
//line 7 "pager.tt"
stash.set('from', 1);
//line 7 "pager.tt"
stash.set('to', stash.get('page_count'));
}
else {
//line 7 "pager.tt"
stash.set('from', stash.get('page') - 10 >= 1 ? stash.get('page') - 10 : 1);
stash.set('to', stash.get('page') + 9 >= stash.get('page_count') ? stash.get('page_count') : stash.get('page') + 9);
}

output += '\n<center>\n  <table class="paging">\n    <tr>\n      <td>\n        ';
//line 19 "pager.tt"
output += stash.get('title');
output += ':&nbsp; &nbsp;\n      </td>\n      <td>';
//line 26 "pager.tt"
if (stash.get('page') > 1) {
output += '\n        <span class="prev-page">\n            <a href="#post-list-';
//line 24 "pager.tt"
output += stash.get('page') - 1;
output += '">Previous</a>\n        </span>';
}

output += '\n      </td>\n';
//line 29 "pager.tt"
stash.set('i', stash.get('from'));

//line 37 "pager.tt"
    
// WHILE
var failsafe = 1000;
while (--failsafe && (stash.get('i') <= stash.get('to'))) {
//line 35 "pager.tt"
if (stash.get('i') == stash.get('page')) {
output += '\n        <td><b>';
//line 32 "pager.tt"
output += stash.get('i');
output += '</b></td>';
}
else {
output += '\n        <td><a href="#post-list-';
//line 34 "pager.tt"
output += stash.get('i');
output += '">';
//line 34 "pager.tt"
output += stash.get('i');
output += '</a></td>';
}

//line 36 "pager.tt"
stash.set('i', stash.get('i') + 1);
}
if (! failsafe)
    throw("WHILE loop terminated (> 1000 iterations)\n")

output += '\n\n      <td>';
//line 44 "pager.tt"
if (stash.get('page') < stash.get('page_count')) {
output += '\n        <span class="next-page">\n            <a href="#post-list-';
//line 42 "pager.tt"
output += stash.get('page') + 1;
output += '">Next</a>\n        </span>';
}

output += '\n      </td>\n    </tr>\n  </table>\n</center>\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['post-list.tt'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
//line 3 "post-list.tt"

// FOREACH 
(function() {
    var list = stash.get('post_list');
    list = new Jemplate.Iterator(list);
    var retval = list.get_first();
    var value = retval[0];
    var done = retval[1];
    var oldloop;
    try { oldloop = stash.get('loop') } finally {}
    stash.set('loop', list);
    try {
        while (! done) {
            stash.data['post'] = value;
output += '\n    ';
//line 2 "post-list.tt"
output += context.process('post.tt');
output += '\n';;
            retval = list.get_next();
            value = retval[0];
            done = retval[1];
        }
    }
    catch(e) {
        throw(context.set_error(e, output));
    }
    stash.set('loop', oldloop);
})();

output += '\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['post-list.tt~'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
//line 3 "post-list.tt~"

// FOREACH 
(function() {
    var list = stash.get('post_list');
    list = new Jemplate.Iterator(list);
    var retval = list.get_first();
    var value = retval[0];
    var done = retval[1];
    var oldloop;
    try { oldloop = stash.get('loop') } finally {}
    stash.set('loop', list);
    try {
        while (! done) {
            stash.data['post'] = value;
output += '\n    ';
//line 2 "post-list.tt~"
output += context.process('post.tt');
output += '\n';;
            retval = list.get_next();
            value = retval[0];
            done = retval[1];
        }
    }
    catch(e) {
        throw(context.set_error(e, output));
    }
    stash.set('loop', oldloop);
})();

output += '\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['post-page.tt'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
output += '<p class="content-nav">\n</p>\n<!-- entry -->\n\n';
//line 5 "post-page.tt"
output += context.process('post.tt');
output += '\n<a id="post-';
//line 7 "post-page.tt"
output += stash.get(['post', 0, 'id', 0]);
output += ':comments" name="post-';
//line 7 "post-page.tt"
output += stash.get(['post', 0, 'id', 0]);
output += '-comments"></a>\n    <div class="comments">\n        <h3 class="comments-header">Comments</h3>\n        <div class="comments-content">\n        <!-- comment list -->\n        </div>\n    </div>\n    <!-- comment form -->\n    <form id="comment-form" onsubmit="return false;" method="post">\n        <input id="comment-for" type="hidden" value="';
//line 16 "post-page.tt"
output += stash.get(['post', 0, 'id', 0]);
output += '"></input>\n\n        <div class="comments-open">\n            <h2 class="comments-open-header">Post a comment</h2>\n            <div class="comments-open-content">\n                <div id="comments-open-data">\n                <p>\n                    <label for="comment-author">Name:</label>\n                    <input id="comment-author" name="author" size="30" />\n                </p>\n                <p>\n\n                    <label for="comment-email">Email Address: <span class="comment-form-note">(Not displayed with comment.)</span></label>\n                    <input id="comment-email" name="email" size="30" />\n                </p>\n                <p>\n                    <label for="comment-url">URL:</label>\n                    <input id="comment-url" name="url" size="30" />\n                </p>\n\n                <p>\n                    <label for="comment-bake-cookie"><input type="checkbox"\n                        id="comment-bake-cookie" name="bakecookie" value="1" />\n                        Remember personal info?</label>\n                </p>\n                </div>\n\n                <p id="comments-open-text">\n                    <label for="comment-text">Comments:</label>\n                    <textarea id="comment-text" name="text" rows="10" cols="30" onkeyup="/* maxTextarea(this, 64000) */"></textarea>\n                </p>\n            </div>\n\n            <div id="comments-open-footer" class="comments-open-footer">\n                <button name="preview" id="comment-preview">&nbsp;Preview&nbsp;</button>\n                <button name="post" id="comment-post" onclick="postComment(';
//line 51 "post-page.tt"
output += stash.get(['post', 0, 'id', 0]);
output += ');">&nbsp;Post&nbsp;</button>\n            </div>\n\n        </div>\n    </form>\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['post-page.tt~'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
output += '<p class="content-nav">\n</p>\n<!-- entry -->\n\n';
//line 5 "post-page.tt~"
output += context.process('post.tt');
output += '\n<a id="post-';
//line 7 "post-page.tt~"
output += stash.get(['post', 0, 'id', 0]);
output += ':comments" name="post-';
//line 7 "post-page.tt~"
output += stash.get(['post', 0, 'id', 0]);
output += '-comments"></a>\n    <div class="comments">\n        <h3 class="comments-header">Comments</h3>\n        <div class="comments-content">\n        <!-- comment list -->\n        </div>\n    </div>\n    <!-- comment form -->\n    <form id="comment-form" onsubmit="return false;" method="post">\n        <input id="comment-for" type="hidden" value="';
//line 16 "post-page.tt~"
output += stash.get(['post', 0, 'id', 0]);
output += '"></input>\n\n        <div class="comments-open">\n            <h2 class="comments-open-header">Post a comment</h2>\n            <div class="comments-open-content">\n                <div id="comments-open-data">\n                <p>\n                    <label for="comment-author">Name:</label>\n                    <input id="comment-author" name="author" size="30" />\n                </p>\n                <p>\n\n                    <label for="comment-email">Email Address: <span class="comment-form-note">(Not displayed with comment.)</span></label>\n                    <input id="comment-email" name="email" size="30" />\n                </p>\n                <p>\n                    <label for="comment-url">URL:</label>\n                    <input id="comment-url" name="url" size="30" />\n                </p>\n\n                <p>\n                    <label for="comment-bake-cookie"><input type="checkbox"\n                        id="comment-bake-cookie" name="bakecookie" value="1" />\n                        Remember personal info?</label>\n                </p>\n                </div>\n\n                <p id="comments-open-text">\n                    <label for="comment-text">Comments:</label>\n                    <textarea id="comment-text" name="text" rows="10" cols="30" onkeyup="/* maxTextarea(this, 64000) */"></textarea>\n                </p>\n            </div>\n\n            <div id="comments-open-footer" class="comments-open-footer">\n                <button name="preview" id="comment-preview">&nbsp;Preview&nbsp;</button>\n                <button name="post" id="comment-post" onclick="postComment(';
//line 51 "post-page.tt~"
output += stash.get(['post', 0, 'id', 0]);
output += ');">&nbsp;Post&nbsp;</button>\n            </div>\n\n        </div>\n    </form>\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['post.tt'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
output += '<h2 class="date-header">';
//line 1 "post.tt"
output += stash.get(['post', 0, 'created', 0]);
output += '</h2>\n<div class="entry" id="entry-40621150">\n    <h3 class="entry-header">\n        <a href="#post-';
//line 4 "post.tt"
output += stash.get(['post', 0, 'id', 0]);
output += '">';
//line 5 "post.tt"
output += stash.get(['post', 0, 'title', 0]);
output += '        </a>\n    </h3>\n    <div class="entry-content">\n        <div class="entry-body">';
//line 10 "post.tt"
output += stash.get(['post', 0, 'content', 0]);
output += '            <p/>\n        </div>\n    </div>\n    <div class="entry-footer">\n        <p class="entry-footer-info">\n            <span class="post-footers">\n                Posted by ';
//line 17 "post.tt"
output += stash.get(['post', 0, 'author', 0]);
output += ' at\n                ';
//line 18 "post.tt"
output += stash.get(['post', 0, 'created', 0]);
output += ' in\n                <a href="#post-';
//line 19 "post.tt"
output += stash.get(['post', 0, 'id', 0]);
output += '">Articles</a>\n            </span>\n            <span class="separator">|</span>\n            <a class="permalink" href="#post-';
//line 22 "post.tt"
output += stash.get(['post', 0, 'id', 0]);
output += '">Permalink</a>\n            <span class="separator">|</span>\n            <a href="#post-';
//line 24 "post.tt"
output += stash.get(['post', 0, 'id', 0]);
output += ':comments">Comments\n                (<span class="comment-count" post="';
//line 25 "post.tt"
output += stash.get(['post', 0, 'id', 0]);
output += '">\n                    ';
//line 26 "post.tt"
output += stash.get(['post', 0, 'comments', 0]);
output += '</span>)\n            </a>\n        </p>\n        <!-- technorati tags -->\n        <!-- post footer links -->\n    </div>\n</div>\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['post.tt~'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
output += '<h2 class="date-header">';
//line 1 "post.tt~"
output += stash.get(['post', 0, 'created', 0]);
output += '</h2>\n<div class="entry" id="entry-40621150">\n    <h3 class="entry-header">\n        <a href="#post-';
//line 4 "post.tt~"
output += stash.get(['post', 0, 'id', 0]);
output += '" onclick="this.href=\'javascript:void\';goToPost(';
//line 4 "post.tt~"
output += stash.get(['post', 0, 'id', 0]);
output += ');return false;">';
//line 5 "post.tt~"
output += stash.get(['post', 0, 'title', 0]);
output += '        </a>\n    </h3>\n    <div class="entry-content">\n        <div class="entry-body">';
//line 10 "post.tt~"
output += stash.get(['post', 0, 'content', 0]);
output += '            <p/>\n        </div>\n    </div>\n    <div class="entry-footer">\n        <p class="entry-footer-info">\n            <span class="post-footers">Posted by ';
//line 16 "post.tt~"
output += stash.get(['post', 0, 'author', 0]);
output += ' at ';
//line 16 "post.tt~"
output += stash.get(['post', 0, 'created', 0]);
output += ' in <a href="#post-';
//line 16 "post.tt~"
output += stash.get('post') - stash.get('id');
output += '">Articles</a> </span> <span class="separator">|</span> <a class="permalink" href="#post-';
//line 16 "post.tt~"
output += stash.get(['post', 0, 'id', 0]);
output += '">Permalink</a>\n                                <span class="separator">|</span>\n                <a href="#comments" onclick="this.href=\'javascript:void\';goToPost(';
//line 18 "post.tt~"
output += stash.get(['post', 0, 'id', 0]);
output += ');">Comments (<span class="comment-count" post="';
//line 18 "post.tt~"
output += stash.get(['post', 0, 'id', 0]);
output += '">';
//line 18 "post.tt~"
output += stash.get(['post', 0, 'comments', 0]);
output += '</span>)</a>\n        </p>\n        <!-- technorati tags -->\n        <!-- post footer links -->\n    </div>\n</div>\n\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['recent-comments.tt'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
//line 6 "recent-comments.tt"

// FOREACH 
(function() {
    var list = stash.get('comments');
    list = new Jemplate.Iterator(list);
    var retval = list.get_first();
    var value = retval[0];
    var done = retval[1];
    var oldloop;
    try { oldloop = stash.get('loop') } finally {}
    stash.set('loop', list);
    try {
        while (! done) {
            stash.data['comment'] = value;
output += '<li class="module-list-item">\n    <a href="#post-';
//line 3 "recent-comments.tt"
output += stash.get(['comment', 0, 'post', 0]);
output += ':comment-';
//line 3 "recent-comments.tt"
output += stash.get(['comment', 0, 'id', 0]);
output += '">';
//line 3 "recent-comments.tt"
output += stash.get(['comment', 0, 'sender', 0]);
output += '</a> on\n    <a href="#post-';
//line 4 "recent-comments.tt"
output += stash.get(['comment', 0, 'post', 0]);
output += '">';
//line 4 "recent-comments.tt"
output += stash.get(['comment', 0, 'title', 0]);
output += '</a>\n</li>\n';;
            retval = list.get_next();
            value = retval[0];
            done = retval[1];
        }
    }
    catch(e) {
        throw(context.set_error(e, output));
    }
    stash.set('loop', oldloop);
})();

output += '\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

Jemplate.templateMap['recent-posts.tt'] = function(context) {
    if (! context) throw('Jemplate function called without context\n');
    var stash = context.stash;
    var output = '';

    try {
//line 5 "recent-posts.tt"

// FOREACH 
(function() {
    var list = stash.get('posts');
    list = new Jemplate.Iterator(list);
    var retval = list.get_first();
    var value = retval[0];
    var done = retval[1];
    var oldloop;
    try { oldloop = stash.get('loop') } finally {}
    stash.set('loop', list);
    try {
        while (! done) {
            stash.data['post'] = value;
output += '<li class="module-list-item">\n    <a href="#post-';
//line 3 "recent-posts.tt"
output += stash.get(['post', 0, 'id', 0]);
output += '">';
//line 3 "recent-posts.tt"
output += stash.get(['post', 0, 'title', 0]);
output += '</a>\n</li>\n';;
            retval = list.get_next();
            value = retval[0];
            done = retval[1];
        }
    }
    catch(e) {
        throw(context.set_error(e, output));
    }
    stash.set('loop', oldloop);
})();

output += '\n';
    }
    catch(e) {
        var error = context.set_error(e, output);
        throw(error);
    }

    return output;
}

