// browser detection
var myAgent   = navigator.userAgent.toLowerCase();
var myVersion = parseInt(navigator.appVersion);
var is_ie   = ((myAgent.indexOf("msie") != -1)  && (myAgent.indexOf("opera") == -1));
var is_win   =  ((myAgent.indexOf("win")!=-1) || (myAgent.indexOf("16bit")!=-1));

function add(theSmilie) {
	addText("" + theSmilie, "", false, document.eintrag);
}

function addText(theTag, theClsTag, isSingle, theForm)
{
	var isClose = false;
	var eintragtext = theForm.eintragtext;
	var set=false;
  	var old=false;
  	var selected="";
  	
  	if(eintragtext.textLength>=0 ) { // mozilla, firebird, netscape
  		if(theClsTag!="" && eintragtext.selectionStart!=eintragtext.selectionEnd) {
  			selected=eintragtext.value.substring(eintragtext.selectionStart,eintragtext.selectionEnd);
  			str=theTag + selected+ theClsTag;
  			old=true;
  			isClose = true;
  		}
		else {
			str=theTag;
		}
		
		eintragtext.focus();
		start=eintragtext.selectionStart;
		end=eintragtext.textLength;
		endtext=eintragtext.value.substring(eintragtext.selectionEnd,end);
		starttext=eintragtext.value.substring(0,start);
		eintragtext.value=starttext + str + endtext;
		eintragtext.selectionStart=start;
		eintragtext.selectionEnd=start;
		
		eintragtext.selectionStart = eintragtext.selectionStart + str.length;
		
		if(old) { return false; }
		
		set=true;
		
		if(isSingle) {
			isClose = false;
		}
	}
	if ( (myVersion >= 4) && is_ie && is_win) {  // Internet Explorer
		if(eintragtext.isTextEdit) {
			eintragtext.focus();
			var sel = document.selection;
			var rng = sel.createRange();
			rng.colapse;
			if((sel.type == "Text" || sel.type == "None") && rng != null){
				if(theClsTag != "" && rng.text.length > 0)
					theTag += rng.text + theClsTag;
				else if(isSingle)
					isClose = true;
	
				rng.text = theTag;
			}
		}
		else{
			if(isSingle) isClose = true;
	
			if(!set) {
      				eintragtext.value += theTag;
      			}
		}
	}
	else
	{
		if(isSingle) isClose = true;

		if(!set) {
      			eintragtext.value += theTag;
      		}
	}

	eintragtext.focus();
	
	return isClose;
}
