function fwk_parse_bbcode(s) {
	s = s.replace(/\&/g,'&amp;');
	s = s.replace(/\</g,'&lt;');
	s = s.replace(/\>/g,'&gt;');
	s = s.replace(/\'/g,'&apos;');
	s = s.replace(/\"/g,'&quot;');
	s = s.replace(/\[b\]/g,"<b>");
	s = s.replace(/\[\/b\]/g,"</b>");
	s = s.replace(/\[u\]/g,"<u>");
	s = s.replace(/\[\/u\]/g,"</u>");
	s = s.replace(/\[i\]/g,"<i>");
	s = s.replace(/\[\/i\]/g,"</i>");
	s = s.replace(/\[code\]\r\n/g,"<b class='code'><pre>");
	s = s.replace(/\[code\]\n/g,"<b class='code'><pre>");
	s = s.replace(/\[code\]/g,"<b class='code'><pre>");
	s = s.replace(/\[\/code\]\r\n/g,"</pre></b>");
	s = s.replace(/\[\/code\]\n/g,"</pre></b>");
	s = s.replace(/\[\/code\]/g,"</pre></b>");
	s = s.replace(/\[img\]/g,"<img src='");
	s = s.replace(/\[\/img\]/g,"'>");
	s = s.replace(/\r\n/g,"<br />");
	s = s.replace(/\n/g,"<br />");
	var idx=0;
	while (s.indexOf("[url",idx) != -1) {
		var start=s.indexOf("[url");
		var end1=s.indexOf("]",start);
		var end2=s.indexOf("[/url]",start);
		if ( end1 > start && end2 > end1 ) {
			var linkname=s.substr(end1+1,end2 - (end1+1));
			var url=s.substr(start+4,end1-(start+4));
			if ( url.substr(0,1) == "=" ) {
				url=url.substr(1);
			} else {
				url=linkname;
			}
			var news='';
			if ( start > 0 ) news=s.substr(0,start-1);
			s=news + "<a href='" + url + "'>" + linkname + "</a>" + s.substr(end2+6);
		} else {
			idx=start+4;
		}
	}
	
	return s;
}

