function BBArea(id){
	var element=document.getElementById(id);
	this.insertTag=function(name,param){
	if(param!=undefined){
		this.insertAtCursor('['+name+'='+param+']','[/'+name+']');
	}
	else{
		this.insertAtCursor('['+name+']','[/'+name+']');
	}
}
this.insertAtCursor=function(open,close){
	if(element.selectionEnd!=undefined){
		var ss=element.selectionStart;
		var se=element.selectionEnd;
		if(se<=2){
			se=element.textLength;
		}
		var start=(element.value).substring(0,ss);
		var middle=(element.value).substring(ss,se);
		var end=(element.value).substring(se,element.textLength);
		var cur;
		if(element.selectionEnd-element.selectionStart>0){
			middle=open+middle+close;element.value=start+middle+end;cur=ss+(middle.length);
		}
		else{
			middle=open+close+middle;
			element.value=start+middle+end;
			cur=ss+(open.length);
		}
		element.selectionStart=cur;element.selectionEnd=cur;
	}
	else if(document.selection!=undefined){
		if(element.isTextEdit){
			element.focus();
			var sel=document.selection;
			var rng=sel.createRange();
			rng.colapse;
			if((sel.type=="Text"||sel.type=="None")&&rng!=null){
				rng.text=open+rng.text+close;
			}
		}
		else{
			element.value+=open+close;
		}
	}
	else{
		element.value+=open+close;
	}
	element.focus();
	return closed;
}
}