function add_tag(tagname, e){
	if(tagname == '') return false;
	
	var postfield	= document.getElementById("postfield");
	var tags = new Array();
	
	tags['b']		= '[b]@[/b]';
	tags['i']		= '[i]@[/i]';
	tags['u']		= '[u]@[/u]';
	tags['s']		= '[s]@[/s]';
	tags['list']	= '[list]@[/list]';
	tags['*']		= '[*]@';
	tags['quote']	= '[quote]@[/quote]';
	tags['code']	= '[code]@[/code]';
	tags['img']		= '[img]@[/img]';
	tags['url']		= '[url]@[/url]';
	
	tags['size']	= '[size=#]@[/size]';
	tags['color']	= '[color=#]@[/color]';
	
	tag	= tags[tagname];
	
	switch(tagname){
		case 'size':
		case 'color':
			var t	= e.value;
			if(t != -1){
				if(tagname == 'color') t = "#"+t;
				
				tag	= tag.replace("#", t);
			}
			
			e.value = -1;
		break;
	}
	
	//////////////////////////
	
	if(document.selection){ //IE (IS THE SHIT)
		var bm = document.selection.createRange().getBookmark();
		var sel = postfield.createTextRange();
		sel.moveToBookmark(bm);

		var sleft = postfield.createTextRange();
		sleft.collapse(true);
		sleft.setEndPoint("EndToStart", sel);
		postfield.selectionStart = sleft.text.length
		postfield.selectionEnd = sleft.text.length + sel.text.length;
		postfield.selectedText = sel.text;
	}
	
	var selStart	= postfield.selectionStart;
	var selEnd		= postfield.selectionEnd;
	if(selStart != selEnd){
		var selLen	= selEnd - selStart;
	}
	
	var selected	= postfield.value.substr(selStart, selLen);
	var	before		= postfield.value.substr(0, selStart);
	var after		= postfield.value.substr(selEnd);
	
	taglen	= strpos(tag, "@", 0);
	
	tag	= tag.replace("@", selected);
	
	postfield.value	= before + tag + after;
	
	postfield.focus();
	postfield.setSelectionRange(selStart+taglen, selStart+taglen);
}

function add_smile(smile){
	if(smile == '') return false; else smile=" "+smile;
	
	var postfield	= document.getElementById("postfield");
	
	///////////////////////
	
	if(document.selection){ //IE (IS THE SHIT)
		var bm = document.selection.createRange().getBookmark();
		var sel = postfield.createTextRange();
		sel.moveToBookmark(bm);

		var sleft = postfield.createTextRange();
		sleft.collapse(true);
		sleft.setEndPoint("EndToStart", sel);
		postfield.selectionStart = sleft.text.length
		postfield.selectionEnd = sleft.text.length + sel.text.length;
		postfield.selectedText = sel.text;
	}
	
	var selStart	= postfield.selectionStart;
	var selEnd		= postfield.selectionEnd;
	
	var	before		= postfield.value.substr(0, selStart);
	var after		= postfield.value.substr(selStart);
	
	postfield.value	= before + smile + after;
	
	postfield.focus();
	postfield.setSelectionRange(selStart + smile.length, selStart + smile.length);
}

function strpos (haystack, needle, offset) {
    var i = (haystack+'').indexOf(needle, (offset ? offset : 0));
    return i === -1 ? false : i;
}

/*function ontextkey(item,e){
	if(navigator.userAgent.match("Gecko")){
		c=e.which;
	}else{
		c=e.keyCode;
	}
	if(c==9){
		var selStart	= item.selectionStart;
		var selEnd		= item.selectionEnd;
		if(selStart != selEnd){
			var selLen	= selEnd - selStart;
		}
	
		var selected	= item.value.substr(selStart, selLen);
		var	before		= item.value.substr(0, selStart);
		var after		= item.value.substr(selEnd);
		
		add	= String.fromCharCode(9);
		
		item.value	= before + add + selected + after;
		
		item.focus();
		item.setSelectionRange(selStart+add.length, selStart+add.length);
		
		//replaceSelection(item,String.fromCharCode(9));
		//setTimeout("document.getElementById('"+item.id+"').focus();",0);
		return false;
	} else if(c==13){
		
	}

}*/