The code is there (in vbulletin_quick_reply.js)
I just looked for it again ;
Code:
function qr_do_ajax_post(ajax)
{
if (ajax.responseXML)
{
document.body.style.cursor = 'auto';
fetch_object('qr_posting_msg').style.display = 'none';
var i;
if (fetch_tag_count(ajax.responseXML, 'postbit'))
{
ajax_last_post = ajax.responseXML.getElementsByTagName('time')[0].firstChild.nodeValue;
qr_disable_controls();
qr_hide_errors();
var postbits = ajax.responseXML.getElementsByTagName('postbit');
for (i = 0; i < postbits.length; i++)
{
var newdiv = document.createElement('div');
newdiv.innerHTML = postbits[i].firstChild.nodeValue;
var lp = fetch_object('lastpost');
var lpparent = lp.parentNode;
var postbit = lpparent.insertBefore(newdiv, lp);
PostBit_Init(postbit, postbits[i].getAttribute('postid'));
}
// unfocus the qr_submit button to prevent a space from resubmitting
if (fetch_object('qr_submit'))
{
fetch_object('qr_submit').blur();
}
}
else
{
if (!is_saf)
{
// this is the nice error handler, of which Safari makes a mess
var errors = ajax.responseXML.getElementsByTagName('error');
if (errors.length)
{
var error_html = '<ol>';
for (i = 0; i < errors.length; i++)
{
error_html += '<li>' + errors[i].firstChild.nodeValue + '</li>';
}
error_html += '</ol>';
qr_show_errors('<ol>' + error_html + '</ol>');
return false;
}
}
qr_resubmit();
}
}
else
{
qr_resubmit();
}
}