function smile(veld, smile)
{
        if (document.selection)
          {
                veld.focus();
                var selection = document.selection.createRange();
                selection.text = smile;
          }
          else if (veld.selectionStart || veld.selectionStart == '0')
          {
                var startPos = veld.selectionStart;
                var endPos = veld.selectionEnd;

                veld.value = veld.value.substring(0, startPos)
                + smile + veld.value.substring(endPos, veld.value.length);
          }
          else
          {
                veld.value += smile;
          }
}

function tag(veld, tag1, tag2)
{
        if (!tag2)
        {
                tag2 = tag1;
        }

        if (document.selection)
        {
                veld.focus();
                var selection = document.selection.createRange();

                if(selection.text)
                {
                        selection.text = "["+tag1+"]"+selection.text+"[/"+tag2+"]";
                }
                else
                {
                        veld.value += "["+tag1+"][/"+tag2+"]";
                }
        }
        else if (veld.selectionStart || veld.selectionStart == '0')
        {
                var startPos = veld.selectionStart;
                var endPos = veld.selectionEnd;

                if (startPos != endPos)
                {
                        veld.value = veld.value.substring(0, startPos)
                        +"["+tag1+"]"
                              + veld.value.substring(startPos, endPos)
                        +"[/"+tag2+"]"
                        +veld.value.substring(endPos, veld.value.length);
                }
                else
                {
                        veld.value = veld.value.substring(0, startPos)
                        + "["+tag1+"][/"+tag2+"]"
                        + veld.value.substring(endPos, veld.value.length);
                }
        }
}
