function InsertTags(TagOpen, TagClose)
{
  var input = document.forms['form1'].elements['m_text'];
  input.focus();

  /* Internet Explorer */
  if(typeof document.selection != 'undefined')
  {
    /* Insert the code */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = TagOpen + insText + TagClose;

    /* Adapt the cursorposition */
    range = document.selection.createRange();

    if (insText.length == 0)
    {
      if (TagOpen.length == 0)
        range.move('character', 0);
      else
        range.move('character', -TagClose.length);
    }
    else if (TagOpen.length == 0)
      range.move('character', TagClose.length + insText.length);
    else
      range.moveStart('character', TagOpen.length + insText.length + TagClose.length);

    range.select();
  }

  /* Gecko based browsers */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Insert the code */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + TagOpen + insText + TagClose + input.value.substr(end);

    /* Adapt the cursorposition */
    var pos;
    if (TagOpen.length == 0)
      pos = start + insText.length + TagClose.length;
    else if (insText.length == 0)
      pos = start + TagOpen.length;
    else
      pos = start + TagOpen.length + insText.length + TagClose.length;

    input.selectionStart = pos;
    input.selectionEnd = pos;
  }

  /* All other browsers */
  else
  {
    /* Retrieve Input Position */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos))
      pos = prompt("Input at position (0.." + input.value.length + "):", "0");

    if(pos > input.value.length)
      pos = input.value.length;

    /* Insert the code */
    var insText = prompt("Please insert the text to be formated:");
    input.value = input.value.substr(0, pos) + TagOpen + insText + TagClose + input.value.substr(pos);
  }
}

function InsertCode(value)
{
  InsertTags('', value);
}

