function liveTextile(s){var r=s;re=new RegExp('<','g');r=r.replace(re,'&lt;');re=new RegExp('>','g');r=r.replace(re,'&gt;');qtags=[['\\*','strong'],['\\?\\?','cite'],['\\+','ins'],['~','sub'],['\\^','sup'],['@','code']];for(var i=0;i<qtags.length;i++){ttag=qtags[i][0];htag=qtags[i][1];re=new RegExp(ttag+'\\b(.+?)\\b'+ttag,'g');r=r.replace(re,'<'+htag+'>'+'$1'+'</'+htag+'>')}re=new RegExp('\\b_(.+?)_\\b','g');r=r.replace(re,'<em>$1</em>');re=new RegExp('[\s\n]-(.+?)-[\s\n]','g');r=r.replace(re,'<del>$1</del>');re=new RegExp('"\\b(.+?)\\(\\b(.+?)\\b\\)":([^\\s]+)','g');r=r.replace(re,'<a href="$3" title="$2">$1</a>');re=new RegExp('"\\b(.+?)\\b":([^\\s]+)','g');r=r.replace(re,'<a href="$2">$1</a>');re=new RegExp('(.*)\n([^#\*\n].*)','g');r=r.replace(re,'$1<br />$2');re=new RegExp('\n<br />','g');r=r.replace(re,'\n');lines=r.split('\n');nr='';for(var i=0;i<lines.length;i++){line=lines[i].replace(/\s*$/,'');changed=0;if(line.search(/^\s*bq\.\s+/)!=-1){line=line.replace(/^\s*bq\.\s+/,'\t<blockquote>')+'</blockquote>';changed=1}if(line.search(/^\s*\*\s+/)!=-1){line=line.replace(/^\s*\*\s+/,'\t<liu>')+'</liu>';changed=1}if(line.search(/^\s*#\s+/)!=-1){line=line.replace(/^\s*#\s+/,'\t<lio>')+'</lio>';changed=1}if(!changed&&(line.replace(/\s/g,'').length>0)){line='<p>'+line+'</p>'}lines[i]=line+'\n'}inlist=0;listtype='';for(var i=0;i<lines.length;i++){line=lines[i];if(inlist&&listtype=='ul'&&!line.match(/^\t<liu/)){line='</ul>\n'+line;inlist=0}if(inlist&&listtype=='ol'&&!line.match(/^\t<lio/)){line='</ol>\n'+line;inlist=0}if(!inlist&&line.match(/^\t<liu/)){line='<ul>'+line;inlist=1;listtype='ul'}if(!inlist&&line.match(/^\t<lio/)){line='<ol>'+line;inlist=1;listtype='ol'}lines[i]=line}r=lines.join('\n');r=r.replace(/li[o|u]>/g,'li>');return r}