var is_ie = (parseInt(navigator.appVersion) >= 4) && (navigator.userAgent.toLowerCase().indexOf('msie') != -1);

function doInsert(TextObject, Tag, ClsTag, isSingle) {
  //IE
	if (is_ie) {
		if (TextObject.isTextEdit) {
			TextObject.focus();
			var sel = document.selection;
			var rng = sel.createRange();
			rng.colapse;
			if ((sel.type == "Text" || sel.type == "None") && rng != null) {
				if (ClsTag != "") Tag += rng.text + ClsTag;
				rng.text = Tag;
			}
		}
		else 	TextObject.value += Tag;
	}

  //mozilla
	else if (TextObject.selectionEnd) {
		var ss = TextObject.selectionStart;
		var st = TextObject.scrollTop;
		var es = TextObject.selectionEnd;
		if (es <= 2) es = TextObject.textLength;
		var start  = (TextObject.value).substring(0, ss);
		var middle = (TextObject.value).substring(ss, es);
		var end    = (TextObject.value).substring(es, TextObject.textLength);
		
    //sélection
    middle = Tag + middle + ClsTag;
		
		TextObject.value = start + middle + end;
		
		var cpos = ss + (middle.length);
		
		TextObject.selectionStart = cpos;
		TextObject.selectionEnd   = cpos;
		TextObject.scrollTop      = st;
	}

  //autres cas
	else TextObject.value += Tag;
	TextObject.focus();
	return true;
}
