function insert_bbcode(bbcode, equals)
{
	var input = document.getElementById('postArea');	
	input.focus();

	bbclose = '[/' + bbcode + ']';
	
	if (equals)
		bbcode = bbcode + '=' + equals;
	
	bbopen = '[' + bbcode + ']';
	
	/* Internet Explorer */
	if(typeof document.selection != 'undefined')
	{
		var range = document.selection.createRange();
		var insText = range.text;
		
		range.text = bbopen + insText + bbclose;
		range = document.selection.createRange();
		
		if (insText.length == 0)
			range.move('character', -bbclose.length);
		else
			range.moveStart('character', bbopen.length + insText.length + bbclose.length);
			
		range.select();
	}
	
	/* Newer browsers */
	else if(typeof input.selectionStart != 'undefined')
	{
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + bbopen + insText + bbclose + input.value.substr(end);
		var pos;
		
		if (insText.length == 0)
			pos = start + bbopen.length;
		else
			pos = start + bbopen.length + insText.length + bbclose.length;
			
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}    

	/* Old browsers */
	else
	{
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		
		while(!re.test(pos))
			pos = prompt("insertion (0.." + input.value.length + "):", "0");
		
		if(pos > input.value.length)
			pos = input.value.length;
			
		var insText = prompt("Please type your text");
		input.value = input.value.substr(0, pos) + bbopen + insText + bbclose + input.value.substr(pos);
	}
}