var cursorPosition;

function setCursorPos(textElement)
{
 if (navigator.appName=="Microsoft Internet Explorer") cursorPosition = getCursorPos(textElement);
}

function getCursorPos(textElement) 
{
 var savedOldText = textElement.value;
 var objRange = document.selection.createRange();
 var saveOldRange = objRange.text;
 var saveWeirdString = '!!°°qa##%+_%44$@41347--~';
 objRange.text = saveOldRange + saveWeirdString; objRange.moveStart('character', (0 - saveOldRange.length - saveWeirdString.length));
 var saveNewText = textElement.value;
 objRange.text = saveOldRange;

 for (i=0; i <= saveNewText.length; i++) {
   var saveTemp = saveNewText.substring(i, i + saveWeirdString.length);
   if (saveTemp == saveWeirdString) {
     var cursorPos = (i- saveOldRange.length);
     return cursorPos;
   }
 }
}

function insertAtCursor(textElement,stringToInsert) {
if (navigator.appName=="Microsoft Internet Explorer")
{
 var firstPart = textElement.value.substring(0, cursorPosition); 
 var secondPart = textElement.value.substring(cursorPosition, textElement.value.length);
 textElement.value = firstPart + stringToInsert + secondPart;
 cursorPosition = firstPart.length + stringToInsert.length;
}
else
{
textElement.focus();
var start = textElement.selectionStart;
var end = textElement.selectionEnd;
textElement.value = textElement.value.substr(0, start) + stringToInsert + textElement.value.substr(end);
cursorPosition = start + stringToInsert.length;
textElement.selectionStart = cursorPosition;
textElement.selectionEnd = cursorPosition;
}
}

