function insertAtCursor(myField, myValue) 
{
  //IE support
  if (document.selection) 
  {
    myField.focus();
    sel = document.selection.createRange();
    sel.text = myValue;
  }
  //MOZILLA/NETSCAPE support
  else if (myField.selectionStart || myField.selectionStart == '0')
  {
    var startPos = myField.selectionStart;
    var endPos = myField.selectionEnd;
    myField.value = myField.value.substring(0, startPos)
      + myValue
      + myField.value.substring(endPos, myField.value.length);
    myField.focus();
    myField.setSelectionRange(startPos+1,  startPos+1);
  } 
  else 
  {
    myField.value += myValue;
  }
}


/* Insert a hawaiian character into the currently focused field */
function insertchar (c)
{
  if (c == 'a') insertAtCursor(document.QueryForm.q, String.fromCharCode(257));
  else if (c == 'e') insertAtCursor(document.QueryForm.q, String.fromCharCode(275));
  else if (c == 'i') insertAtCursor(document.QueryForm.q, String.fromCharCode(299));
  else if (c == 'o') insertAtCursor(document.QueryForm.q, String.fromCharCode(333));
  else if (c == 'u') insertAtCursor(document.QueryForm.q, String.fromCharCode(363));
  else if (c == 'g') insertAtCursor(document.QueryForm.q, String.fromCharCode(699));
}
