if (window.RegExp) {
r_bold = new RegExp("(_\\*([^*]+|[^*]*(\\*[^_]?([^_][^*]*)*)+)\\*_)", "g");
// r_bold_ = new RegExp("_\\*(.*)\\*_", "g");
r_bold_ = new RegExp("_\\*([^*]*(\\*[^_][^*]*)*)\\*_", "g");
r_italic = new RegExp("(_/([^/]+|[^/]*(/[^_]?([^_][^/]*)*)+)/_)" , "g");
// r_italic_ = new RegExp("_/([^/]*)/_" , "g");
r_italic_ = new RegExp("_/([^/]*(/[^_][^/]*)*)/_" , "g");
r_under = new RegExp("(__([^_]+)__)" , "g");
// r_under_ = new RegExp("__([^_]*)__" , "g");
r_under_ = new RegExp("__([^_]*(_[^_]*)*)__" , "g");
r_cit = new RegExp("(_\\|([^\\|]+|[^\\|]*(\\|[^_]?([^_][^\\|]*)*)+)\\|_)", "g");
r_cit_ = new RegExp("_\\|([^|]*(\\|[^_][^|]*)*)\\|_", "g");
r_nn = new RegExp("\n{3,}", "g");
r_sp = new RegExp("[ \t]{2,}", "g");
r_n = new RegExp("\n", "g");
r_r = new RegExp("\r", "g");
}
function concat(a,b) { return a+b; }
function printMessageRow(author_no_mail, author, date, text) {
var rtext = text;
if (window.RegExp && rtext.replace) {
rtext = rtext.replace(r_n, "
");
rtext = rtext.replace(r_r, "
");
//while (r_bold.test(rtext)) rtext = rtext.replace(r_bold, "$2");
while (r_bold_.test(rtext)) {rtext = rtext.replace(r_bold_, "$1");}
//while (r_italic.test(rtext)) rtext = rtext.replace(r_italic, "$2");
while (r_italic_.test(rtext)) {rtext = rtext.replace(r_italic_, "$1");}
//while (r_under.test(rtext)) rtext = rtext.replace(r_under, "$2");
while (r_under_.test(rtext)) {rtext = rtext.replace(r_under_, "$1");}
//while (r_cit.test(rtext)) rtext = rtext.replace(r_cit, "