var insertTag = function(target, tag) {
	var obj = $(target);
	var pos = new Object();
	
	Field.focus(obj);
	
	try{
		var range = document.selection.createRange();

		var clone = range.duplicate();
		 
		clone.moveToElementText(obj);
		clone.setEndPoint('EndToEnd', range ); 
		pos.start = clone.text.length - range.text.length;
		pos.end = clone.text.length - range.text.length + range.text.length;
	}catch( e ){
		if(window.getSelection()) {
			pos.start = obj.selectionStart;
			pos.end = obj.selectionEnd;
		}
	}
	
	var val = obj.value;
	var range = val.slice(pos.start, pos.end);

	var beforeNode = val.slice(0, pos.start);
	var afterNode = val.slice(pos.end);
	var insertNode;
	if (range || pos.start != pos.end) {
	insertNode = '#' + tag + '#' + range + '#/' + tag + '#';
	obj.value = beforeNode + insertNode + afterNode;
	}
	else if (pos.start == pos.end) {
	insertNode = '#' + tag + '#' + '#/' + tag + '#';
	obj.value = beforeNode + insertNode + afterNode;
	}
}

var prevText = function(textId, prevId) {
	var text = $(textId);
	var prev = $(prevId);

	var textVal = text.value.escapeHTML();
	textVal = textVal.gsub("\\s{2}", " &nbsp;");
	textVal = textVal.gsub("\r\n", "<br />");
	textVal = textVal.gsub("\n", "<br />");
	textVal = textVal.gsub("#h2#", "<span style='font-size: xx-large; font-weight: bold'>");
	textVal = textVal.gsub("#/h2#", "</span>");
	textVal = textVal.gsub("#h3#", "<span style='font-size: x-large; font-weight: bold'>");
	textVal = textVal.gsub("#/h3#", "</span>");
	textVal = textVal.gsub("#b#", "<span style='font-weight: bold'>");
	textVal = textVal.gsub("#/b#", "</span>");
	textVal = textVal.gsub("#i#", "<span style='font-style: italic'>");
	textVal = textVal.gsub("#/i#", "</span>");
	textVal = textVal.gsub(/\#c:([a-z]+?)\#/,function(text) {
		var temp = "<span style='color: "+ text[1] +"'>";
		return temp;
	});
	textVal = textVal.gsub(/\#\/c:([a-z]+?)\#/,"</span>");	
	Element.update(prev,textVal);
	Element.toggle(text);	
	Element.toggle(prev);
}
