function textCounter(field, countfield, maxlimit) {
  if (field.value.length > maxlimit) // if too long...trim it!
    field.value = field.value.substring(0, maxlimit);
  // otherwise, update 'characters left' counter
  else
    countfield.value = maxlimit - field.value.length;
}

function insert_text(elementid, open, close)
{
  msgfield = document.getElementById(elementid);
  
  // IE support
  if (document.selection && document.selection.createRange)
  {
    msgfield.focus();
    sel = document.selection.createRange();
    sel.text = open + sel.text + close;
    msgfield.focus();
  }

  // Moz support
  else if (msgfield.selectionStart || msgfield.selectionStart == '0')
  {
    var startPos = msgfield.selectionStart;
	var endPos = msgfield.selectionEnd;

	msgfield.value = msgfield.value.substring(0, startPos) + open + msgfield.value.substring(startPos, endPos) + close + msgfield.value.substring(endPos, msgfield.value.length);
	msgfield.selectionStart = msgfield.selectionEnd = endPos + open.length + close.length;
	msgfield.focus();
  }

  return;
}

function insert_link(elementid)
{
  var msgfield = document.getElementById(elementid);
  
  // IE support
  if (document.selection && document.selection.createRange)
  {
    var linktxt  = prompt('Enter Link Text', document.selection.createRange().text)
    var linkurl  = prompt('Enter Link URL', 'http://')
    var open     = '<a href="' + linkurl + '">';
    var close    = '</a>';
    msgfield.focus();
    sel = document.selection.createRange();
    sel.text = open + linktxt + close;
    msgfield.focus();
  }
  else if (msgfield.selectionStart || msgfield.selectionStart == '0')
  {
    var startPos = msgfield.selectionStart;
	var endPos   = msgfield.selectionEnd;
	
	var linktxt  = prompt('Enter Link Text', msgfield.value.substring(startPos, endPos))
    var linkurl  = prompt('Enter Link URL', 'http://')
    var open     = '<a href="' + linkurl + '">';
    var close    = '</a>';
	
    msgfield.value = msgfield.value.substring(0, startPos) + open + linktxt + close + msgfield.value.substring(endPos, msgfield.value.length);
	msgfield.focus();
  }

  return;
}
