function insert(input, aTag, eTag) {
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined') {
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    var beforeTag = input.value.substring(start-aTag.length, start);
    var afterTag = input.value.substring(end, end+aTag.length+1);
    if ((beforeTag==aTag) && (afterTag==eTag)) {
      input.value = input.value.substr(0, start-aTag.length) + insText + input.value.substr(end+eTag.length);
      var pos;
      if (insText.length == 0) pos = start - aTag.length;
      else  pos = start + insText.length - eTag.length;
    }
    else {
      input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
      var pos;
      if (insText.length == 0) pos = start + aTag.length;
      else  pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}


function insert1(input, aTag, rTag, eTag) {
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined') {
    var start = input.selectionStart;
    var end = input.selectionEnd;
    if (start==end) eTag=rTag+eTag;
    var insText = input.value.substring(start, end);
    var beforeTag = input.value.substring(start-aTag.length, start);
    var afterTag = input.value.substring(end, end+aTag.length+1);
    if ((beforeTag==aTag) && (afterTag==eTag)) {
      input.value = input.value.substr(0, start-aTag.length) + insText + input.value.substr(end+eTag.length);
      var pos;
      if (insText.length == 0) pos = start - aTag.length;
      else  pos = start + insText.length - eTag.length;
    }
    else {
      input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
      var pos;
      if (insText.length == 0) pos = start + aTag.length;
      else  pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    if (start==end) input.selectionEnd = pos*1.0+rTag.length*1.0;
    else input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}


