function jsDebug(text) {
    if ( text == null )
        text = '<null>';
    var debug = $('debug_output');
    var tr = document.createElement('tr');
    var date_td = document.createElement('td');
    date_td.innerHTML = new Date();
    var text_td = document.createElement('td');
    text_td.innerHTML = '<pre>' + text.replace(/</g,'&lt;').replace(/>/g,'&gt;') + '</pre>';
    tr.appendChild( date_td );
    tr.appendChild( text_td );
    debug.appendChild( tr );
}

function showDebug() {
    var debug = $('debug_output');
    if ( debug.style.display == 'none' ) {
        debug.style.display = '';
    } else {
        debug.style.display = 'none';
    }
}


document.onkeypress = function(event) {
    var e = event || window.event;
    if ( ! e.ctrlKey || ! e.shiftKey ) return;
    var code = e.charCode || e.keyCode;
    if ( code != 81 ) return;
    // Ctrl-Shift-Q
    showDebug();
}
