function smile(form, field, smile)
{
  if (document.selection)
    {
    document.forms[form].elements[field].focus();
    var selection = document.selection.createRange();
    selection.text = smile;
    }
    else if (document.forms[form].elements[field].selectionStart || document.forms[form].elements[field].selectionStart == '0')
    {
    var startPos = document.forms[form].elements[field].selectionStart;
    var endPos = document.forms[form].elements[field].selectionEnd;

    document.forms[form].elements[field].value = document.forms[form].elements[field].value.substring(0, startPos)
    + smile + document.forms[form].elements[field].value.substring(endPos, document.forms[form].elements[field].value.length);
    }
    else
    {
    document.forms[form].elements[field].value += smile;
    }
}

function tag(form, field, tag1, tag2)
{

  if (!tag2)
  {
    tag2 = tag1;
  }

  if (document.selection)
  {
    document.forms[form].elements[field].focus();
    var selection = document.selection.createRange();

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

    if (startPos != endPos)
    {
      document.forms[form].elements[field].value = document.forms[form].elements[field].value.substring(0, startPos)
      + "["+tag1+"]"
            + document.forms[form].elements[field].value.substring(startPos, endPos)
      + "[/"+tag2+"]"
      + document.forms[form].elements[field].value.substring(endPos, document.forms[form].elements[field].value.length);
    }
    else
    {
      document.forms[form].elements[field].value = document.forms[form].elements[field].value.substring(0, startPos)
      + "["+tag1+"] [/"+tag2+"]"
      + document.forms[form].elements[field].value.substring(endPos, document.forms[form].elements[field].value.length);
    }
  }
  document.forms[form].elements[field].focus();
}