function bbcode( text ) {
	text = text.replace(/</g,'&lt;');
	text = text.replace(/>/g,'&gt;');
	
	//two spaces = one imba-tab
	text = text.replace(/\u0020{2}/g, '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
		
	//nl2br
	text = text.replace(/\n/g, '<br />');
	
	//URL
	text = text.replace(/\[url\]([ a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'\(\)\%\å\ä\ö\+]*)\[\/url\]/gi, '<a href="$1"">$1</a>');
	text = text.replace(/\[url\=([ a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'\(\)\%\å\ä\ö\+]*)\](.+?)\[\/url\]/gi, '<a href="$1">$2</a>');
	
	text = text.replace(/\[center\](.+?)\[\/center]/gi, '<div align=center>$1</div>');
	
	//reverse the text here
	text = text.replace(/\[coder\](.+?)\[\/coder]/gi, '<span class="codedirection">$1</span>');
	
	text = text.replace(/\[b\](.+?)\[\/b]/gi, '<span class="bold">$1</span>');
	text = text.replace(/\[i\](.+?)\[\/i\]/gi, '<span class="italics">$1</span>');
	text = text.replace(/\[u\](.+?)\[\/u\]/gi, '<span class="underline">$1</span>');
	text = text.replace(/\[s\](.+?)\[\/s\]/gi, '<span class="strikethrough">$1</span>');
	text = text.replace(/\[o\](.+?)\[\/o\]/gi, '<span class="overline">$1</span>');
	
	text = text.replace(/\[color=(.+?)\](.+?)\[\/color\]/gi, '<span style="color: $1">$2</span>');
	text = text.replace(/\[size=(.+?)\](.+?)\[\/size\]/gi, '<span style="font-size: $1px">$2</span>');
	
	//lists
	text = text.replace(/\[list\](.+?)\[\/list\]/gi, '<ul class="listbullet">$1</ul>');
	text = text.replace(/\[list=1\](.+?)\[\/list\]/gi, '<ul class="listdecimal">$1</ul>');
	text = text.replace(/\[list=i\](.+?)\[\/list\]/g, '<ul class="listlowerroman">$1</ul>');
	text = text.replace(/\[list=I\](.+?)\[\/list\]/g, '<ul class="listupperroman">$1</ul>');
	text = text.replace(/\[list=a\](.+?)\[\/list\]/g, '<ul class="listloweralpha">$1</ul>');
	text = text.replace(/\[list=A\](.+?)\[\/list\]/g, '<ul class="listupperalpha">$1</ul>');
	text = text.replace(/\[\*\]/gi, '<li>');
	
	text = text.replace(/\[code\](.+?)\[\/code\]/gi, '<div class="codebody">$1</div>');
	text = text.replace(/\[quote\](.+?)\[\/quote\]/gi, '<div class="quotebody">$1</div>');
	
	text = text.replace(/\[file\]([^\[]+)\[\/file\]/gi, 
		'<a href="' + url_base() + 'media/files/$1">$1</a>');
	text = text.replace(/\[file\=(.+?)\]([^\[]+)\[\/file\]/gi, 
		'<a href="' + url_base() + 'media/files/$1">$2</a>');
	
	text = text.replace(/\[img\](.+?)\[\/img\]/gi, '<img src="$1">');
	text = text.replace(/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/gi, '<a href="$3"><img src="$3" height="$2" width="$1"></a>');
	
	return text;
}