function ubb2html(f){function n(h){return h!=null&&h!=""?!isNaN(h):false}var c=String(f),o=[],l=0;c=c.replace(/&/ig,"&amp;");c=c.replace(/[<>]/g,function(h){return{"<":"&lt;",">":"&gt;"}[h]});c=c.replace(/\r?\n/g,"<br />");c=c.replace(/\[code\s*(?:=\s*([^\]]+?))?\]([\s\S]*?)\[\/code\]/ig,function(h,i,a){l++;o[l]=h;return"[\tubbcodeplace_"+l+"\t]"});c=c.replace(/\[(\/?)(b|u|i|s|sup|sub)\]/ig,"<$1$2>");c=c.replace(/\[color\s*=\s*([^\]"]+?)(?:"[^\]]*?)?\s*\]/ig,'<font color="$1">');c=c.replace(/\[size\s*=\s*(\d+?)\s*\]/ig,
'<font size="$1">');c=c.replace(/\[font\s*=\s*([^\]"]+?)(?:"[^\]]*?)?\s*\]/ig,'<font face="$1">');c=c.replace(/\[\/(color|size|font)\]/ig,"</font>");c=c.replace(/\[back\s*=\s*([^\]"]+?)(?:"[^\]]*?)?\s*\]/ig,'<span style="background-color:$1;">');c=c.replace(/\[\/back\]/ig,"</span>");for(f=0;f<3;f++)c=c.replace(/\[align\s*=\s*([^\]"]+?)(?:"[^\]]*?)?\s*\](((?!\[align(?:\s+[^\]]+)?\])[\s\S])*?)\[\/align\]/ig,'<p align="$1">$2</p>');c=c.replace(/\[img\]\s*(((?!")[\s\S])+?)(?:"[\s\S]*?)?\s*\[\/img\]/ig,
'<img src="$1" alt="" />');c=c.replace(/\[img\s*=([^,\]]*)(?:\s*,\s*(\d*%?)\s*,\s*(\d*%?)\s*)?(?:,?\s*(\w+))?\s*\]\s*(((?!")[\s\S])+?)(?:"[\s\S]*)?\s*\[\/img\]/ig,function(h,i,a,j,k,d){h='<img src="'+d+'" alt="'+i+'"';k=k?k:!n(a)?a:"";if(n(a))h+=' width="'+a+'"';if(n(j))h+=' height="'+j+'"';if(k)h+=' align="'+k+'"';h+=" />";return h});c=c.replace(/\[emot\s*=\s*([^\]"]+?)(?:"[^\]]*?)?\s*\/\]/ig,'<img emot="$1" />');c=c.replace(/\[url\]\s*(((?!")[\s\S])*?)(?:"[\s\S]*?)?\s*\[\/url\]/ig,'<a href="$1">$1</a>');
c=c.replace(/\[url\s*=\s*([^\]"]+?)(?:"[^\]]*?)?\s*\]\s*([\s\S]*?)\s*\[\/url\]/ig,'<a href="$1">$2</a>');c=c.replace(/\[email\]\s*(((?!")[\s\S])+?)(?:"[\s\S]*?)?\s*\[\/email\]/ig,'<a href="mailto:$1">$1</a>');c=c.replace(/\[email\s*=\s*([^\]"]+?)(?:"[^\]]*?)?\s*\]\s*([\s\S]+?)\s*\[\/email\]/ig,'<a href="mailto:$1">$2</a>');c=c.replace(/\[quote\]([\s\S]*?)\[\/quote\]/ig,"<blockquote>$1</blockquote>");c=c.replace(/\[flash\s*(?:=\s*(\d+)\s*,\s*(\d+)\s*)?\]\s*(((?!")[\s\S])+?)(?:"[\s\S]*?)?\s*\[\/flash\]/ig,
function(h,i,a,j){i||(i=480);a||(a=400);return'<embed type="application/x-shockwave-flash" src="'+j+'" wmode="opaque" quality="high" bgcolor="#ffffff" menu="false" play="true" loop="true" width="'+i+'" height="'+a+'"/>'});c=c.replace(/\[media\s*(?:=\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+)\s*)?)?\]\s*(((?!")[\s\S])+?)(?:"[\s\S]*?)?\s*\[\/media\]/ig,function(h,i,a,j,k){i||(i=480);a||(a=400);return'<embed type="application/x-mplayer2" src="'+k+'" enablecontextmenu="false" autostart="'+(j=="1"?"true":"false")+
'" width="'+i+'" height="'+a+'"/>'});c=c.replace(/\[table\s*(?:=\s*(\d{1,4}%?)\s*(?:,\s*([^\]"]+)(?:"[^\]]*?)?)?)?\s*\]/ig,function(h,i,a){h="<table";if(i)h+=' width="'+i+'"';if(a)h+=' bgcolor="'+a+'"';return h+">"});c=c.replace(/\[tr\s*(?:=\s*([^\]"]+?)(?:"[^\]]*?)?)?\s*\]/ig,function(h,i){return"<tr"+(i?' bgcolor="'+i+'"':"")+">"});c=c.replace(/\[td\s*(?:=\s*(\d{1,2})\s*,\s*(\d{1,2})\s*(?:,\s*(\d{1,4}%?))?)?\s*\]/ig,function(h,i,a,j){return"<td"+(i>1?' colspan="'+i+'"':"")+(a>1?' rowspan="'+a+'"':
"")+(j?' width="'+j+'"':"")+">"});c=c.replace(/\[\/(table|tr|td)\]/ig,"</$1>");c=c.replace(/\[\*\]((?:(?!\[\*\]|\[\/list\]|\[list\s*(?:=[^\]]+)?\])[\s\S])+)/ig,"<li>$1</li>");c=c.replace(/\[list\s*(?:=\s*([^\]"]+?)(?:"[^\]]*?)?)?\s*\]/ig,function(h,i){h="<ul";if(i)h+=' type="'+i+'"';return h+">"});c=c.replace(/\[\/list\]/ig,"</ul>");for(f=1;f<=l;f++)c=c.replace("[\tubbcodeplace_"+f+"\t]",o[f]);return c=c.replace(/(^|<\/?\w+(?:\s+[^>]*?)?>)([^<$]+)/ig,function(h,i,a){return i+a.replace(/[\t ]/g,function(j){return{"\t":"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
" ":"&nbsp;"}[j]})})}
function html2ubb(f){function n(d){var b;if(b=d.match(/\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i)){d="#";for(var e=1;e<=3;e++)d+=(b[e]-0).toString(16)}return d=d.replace(/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,"#$1$1$2$2$3$3")}var c={"xx-small":1,"8pt":1,"x-small":2,"10pt":2,small:3,"12pt":3,medium:4,"14pt":4,large:5,"18pt":5,"x-large":6,"24pt":6,"xx-large":7,"36pt":7},o=/\s+src\s*=\s*(["']?)\s*(.+?)\s*\1(\s|$)/i,l=/\s+width\s*=\s*(["']?)\s*(\d+(?:\.\d+)?%?)\s*\1(\s|$)/i,h=/\s+height\s*=\s*(["']?)\s*(\d+(?:\.\d+)?%?)\s*\1(\s|$)/i,
i=/(?:background|background-color|bgcolor)\s*[:=]\s*(["']?)\s*((rgb\s*\(\s*\d{1,3}%?,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\))|(#[0-9a-f]{3,6})|([a-z]{1,20}))\s*\1/i,a=String(f),j=[],k=0;a=a.replace(/\s*\r?\n\s*/g,"");a=a.replace(/<(script|style)(\s+[^>]*?)?>[\s\S]*?<\/\1>/ig,"");a=a.replace(/<!--[\s\S]*?--\>/ig,"");a=a.replace(/<br\s*?\/?>/ig,"\r\n");a=a.replace(/\[code\s*(=\s*([^\]]+?))?\]([\s\S]*?)\[\/code\]/ig,function(d,b,e){k++;j[k]=d;return"[\tubbcodeplace_"+k+"\t]"});a=a.replace(/<(\/?)(b|u|i|s)(\s+[^>]*?)?>/ig,
"[$1$2]");a=a.replace(/<(\/?)strong(\s+[^>]*?)?>/ig,"[$1b]");a=a.replace(/<(\/?)em(\s+[^>]*?)?>/ig,"[$1i]");a=a.replace(/<(\/?)(strike|del)(\s+[^>]*?)?>/ig,"[$1s]");a=a.replace(/<(\/?)(sup|sub)(\s+[^>]*?)?>/ig,"[$1$2]");for(f=0;f<3;f++)a=a.replace(/<(span)(?:\s+[^>]*?)?\s+style\s*=\s*"((?:[^"]*?;)*\s*(?:font-family|font-size|color|background|background-color)\s*:[^"]*)"(?: [^>]+)?>(((?!<\1(\s+[^>]*?)?>)[\s\S]|<\1(\s+[^>]*?)?>((?!<\1(\s+[^>]*?)?>)[\s\S]|<\1(\s+[^>]*?)?>((?!<\1(\s+[^>]*?)?>)[\s\S])*?<\/\1>)*?<\/\1>)*?)<\/\1>/ig,
function(d,b,e,g){d=e.match(/(?:^|;)\s*font-family\s*:\s*([^;]+)/i);b=e.match(/(?:^|;)\s*font-size\s*:\s*([^;]+)/i);var m=e.match(/(?:^|;)\s*color\s*:\s*([^;]+)/i);e=e.match(/(?:^|;)\s*(?:background|background-color)\s*:\s*([^;]+)/i);g=g;if(d)g="[font="+d[1]+"]"+g+"[/font]";if(b)if(b=c[b[1].toLowerCase()])g="[size="+b+"]"+g+"[/size]";if(m)g="[color="+n(m[1])+"]"+g+"[/color]";if(e)g="[back="+n(e[1])+"]"+g+"[/back]";return g});for(f=0;f<3;f++)a=a.replace(/<(div|p)(?:\s+[^>]*?)?[\s"';]\s*(?:text-)?align\s*[=:]\s*(["']?)\s*(left|center|right)\s*\2[^>]*>(((?!<\1(\s+[^>]*?)?>)[\s\S])+?)<\/\1>/ig,
"[align=$3]$4[/align]");for(f=0;f<3;f++)a=a.replace(/<(center)(?:\s+[^>]*?)?>(((?!<\1(\s+[^>]*?)?>)[\s\S])*?)<\/\1>/ig,"[align=center]$2[/align]");for(f=0;f<3;f++)a=a.replace(/<(p|div)(?:\s+[^>]*?)?\s+style\s*=\s*"((?:[^"]*?;)*\s*text-align\s*:[^"]*)"(?: [^>]+)?>(((?!<\1(\s+[^>]*?)?>)[\s\S]|<\1(\s+[^>]*?)?>((?!<\1(\s+[^>]*?)?>)[\s\S]|<\1(\s+[^>]*?)?>((?!<\1(\s+[^>]*?)?>)[\s\S])*?<\/\1>)*?<\/\1>)*?)<\/\1>/ig,function(d,b,e,g){});a=a.replace(/<a(?:\s+[^>]*?)?\s+href=(["'])\s*(.+?)\s*\1[^>]*>\s*([\s\S]*?)\s*<\/a>/ig,
function(d,b,e,g){if(!(e&&g))return"";d="url";if(e.match(/^mailto:/i)){d="email";e=e.replace(/mailto:(.+?)/i,"$1")}b="["+d;if(e!=g)b+="="+e;return b+"]"+g+"[/"+d+"]"});a=a.replace(/<img(\s+[^>]*?)\/?>/ig,function(d,b){if(d=b.match(/\s+emot\s*=\s*(["']?)\s*(.+?)\s*\1(\s|$)/i))return"[emot="+d[2]+"/]";d=b.match(o);var e=b.match(/\s+alt\s*=\s*(["']?)\s*(.*?)\s*\1(\s|$)/i),g=b.match(l),m=b.match(h);b=b.match(/\s+align\s*=\s*(["']?)\s*(\w+)\s*\1(\s|$)/i);var p="[img",q="";if(!d)return"";q+=e[2];if(g||
m)q+=","+(g?g[2]:"")+","+(m?m[2]:"");if(b)q+=","+b[2];if(q)p+="="+q;p+="]"+d[2]+"[/img]";return p});a=a.replace(/<blockquote(?:\s+[^>]*?)?>([\s\S]+?)<\/blockquote>/ig,"[quote]$1[/quote]");a=a.replace(/<embed((?:\s+[^>]*?)?(?:\s+type\s*=\s*"\s*application\/x-shockwave-flash\s*"|\s+classid\s*=\s*"\s*clsid:d27cdb6e-ae6d-11cf-96b8-4445535400000\s*")[^>]*?)\/>/ig,function(d,b){d=b.match(o);var e=b.match(l);b=b.match(h);var g="[flash";if(!d)return"";if(e&&b)g+="="+e[2]+","+b[2];g+="]"+d[2];return g+"[/flash]"});
a=a.replace(/<embed((?:\s+[^>]*?)?(?:\s+type\s*=\s*"\s*application\/x-mplayer2\s*"|\s+classid\s*=\s*"\s*clsid:6bf52a52-394a-11d3-b153-00c04f79faa6\s*")[^>]*?)\/>/ig,function(d,b){d=b.match(o);var e=b.match(l),g=b.match(h);b=b.match(/\s+autostart\s*=\s*(["']?)\s*(.+?)\s*\1(\s|$)/i);var m="[media",p="0";if(!d)return"";if(b)if(b[2]=="true")p="1";if(e&&g)m+="="+e[2]+","+g[2]+","+p;m+="]"+d[2];return m+"[/media]"});a=a.replace(/<table(\s+[^>]*?)?>/ig,function(d,b){d="[table";if(b){var e=b.match(l);b=b.match(i);
if(e){d+="="+e[2];if(b)d+=","+b[2]}}return d+"]"});a=a.replace(/<tr(\s+[^>]*?)?>/ig,function(d,b){d="[tr";if(b)if(b=b.match(i))d+="="+b[2];return d+"]"});a=a.replace(/<(?:th|td)(\s+[^>]*?)?>/ig,function(d,b){d="[td";if(b){var e=b.match(/\s+colspan\s*=\s*(["']?)\s*(\d+)\s*\1(\s|$)/i),g=b.match(/\s+rowspan\s*=\s*(["']?)\s*(\d+)\s*\1(\s|$)/i);b=b.match(l);e=e?e[2]:1;g=g?g[2]:1;if(e>1||g>1||b)d+="="+e+","+g;if(b)d+=","+b[2]}return d+"]"});a=a.replace(/<\/(table|tr)>/ig,"[/$1]");a=a.replace(/<\/(th|td)>/ig,
"[/td]");a=a.replace(/<ul(\s+[^>]*?)?>/ig,function(d,b){var e;if(b)e=b.match(/\s+type\s*=\s*(["']?)\s*(.+?)\s*\1(\s|$)/i);return"[list"+(e?"="+e[2]:"")+"]"});a=a.replace(/<ol(\s+[^>]*?)?>/ig,"[list=1]");a=a.replace(/<li(\s+[^>]*?)?>/ig,"[*]");a=a.replace(/<\/li>/ig,"");a=a.replace(/<\/(ul|ol)>/ig,"[/list]");a=a.replace(/<h([1-6])(\s+[^>]*?)?>/ig,function(d,b){return"\r\n\r\n[size="+(7-b)+"][b]"});a=a.replace(/<\/h[1-6]>/ig,"[/b][/size]\r\n\r\n");a=a.replace(/<address(\s+[^>]*?)?>/ig,"\r\n[i]");a=
a.replace(/<\/address>/ig,"[i]\r\n");for(f=0;f<3;f++)a=a.replace(/<(p)(?:\s+[^>]*?)?>(((?!<\1(\s+[^>]*?)?>)[\s\S]|<\1(\s+[^>]*?)?>((?!<\1(\s+[^>]*?)?>)[\s\S]|<\1(\s+[^>]*?)?>((?!<\1(\s+[^>]*?)?>)[\s\S])*?<\/\1>)*?<\/\1>)*?)<\/\1>/ig,"\r\n\r\n$2\r\n\r\n");for(f=0;f<3;f++)a=a.replace(/<(div)(?:\s+[^>]*?)?>(((?!<\1(\s+[^>]*?)?>)[\s\S]|<\1(\s+[^>]*?)?>((?!<\1(\s+[^>]*?)?>)[\s\S]|<\1(\s+[^>]*?)?>((?!<\1(\s+[^>]*?)?>)[\s\S])*?<\/\1>)*?<\/\1>)*?)<\/\1>/ig,"\r\n$2\r\n");a=a.replace(/((\s|&nbsp;)*\r?\n){3,}/g,
"\r\n\r\n");a=a.replace(/^((\s|&nbsp;)*\r?\n)+/g,"");a=a.replace(/((\s|&nbsp;)*\r?\n)+$/g,"");for(f=1;f<=k;f++)a=a.replace("[\tubbcodeplace_"+f+"\t]",j[f]);a=a.replace(/<[^<>]+?>/g,"");a=a.replace(/&lt;/ig,"<");a=a.replace(/&gt;/ig,">");a=a.replace(/&nbsp;/ig," ");return a=a.replace(/&amp;/ig,"&")};

