var nav4 = window.Event ? true : false;
var IE = !nav4
if (nav4) {
    document.onkeypress=replaceCtrlKeys;
}
else {
    document.onkeydown=replaceCtrlKeys;
}
degree = "\xB0";
plus_minus = "\xB1";
m_dash = "\u2014";
bullet = "\u2022";
function replaceCtrlKeys(e) {
//alert(window.event.srcElement.name);
//var this_element = window.event.srcElement.name;
//var this_element = e.target.name;
//alert(document.main_form.elements[this_element].value);
    if (nav4) {
        var this_element = e.target.name;
        if (e.ctrlKey) {
            switch (e.charCode) {
                case 49: // 1
                    insertAtCursor(document.main_form.elements[this_element], degree);
                    //document.forms.replier.message.value += degree;
                    break;
                case 50: // 2
                    insertAtCursor(document.main_form.elements[this_element], plus_minus);
                    //document.forms.replier.message.value += plus_minus;
                    break;
                case 51: // 3
                    insertAtCursor(document.main_form.elements[this_element], m_dash);
                    //document.forms.replier.message.value += m_dash;
                    break;
                case 52: // 4
                    insertAtCursor(document.main_form.elements[this_element], bullet);
                    //document.forms.replier.message.value += bullet;
                    break;
                default:
                    return true; // so that other ctrl-sequences work
                    break;
            }
            return false; // so that nothing more happens with ctrl-1,2,3,4
        }
        else { return true; }
    }
    else  {
        var this_element = window.event.srcElement.name;
        if (window.event.ctrlKey ) {
            switch (window.event.keyCode) {
                case 17:
                    break;
                case 49:
                    //document.forms.replier.message.value += degree;
                    insertAtCursor(document.main_form.elements[this_element], degree);
                    break;
                case 50:
                    //document.forms.replier.message.value += plus_minus;
                    insertAtCursor(document.main_form.elements[this_element], plus_minus);
                    break;
                case 51:
                    //document.forms.replier.message.value += m_dash;
                    insertAtCursor(document.main_form.elements[this_element], m_dash);
                    break;
                case 52:
                    //document.forms.replier.message.value += bullet;
                    insertAtCursor(document.main_form.elements[this_element], bullet);
                    break;
                default:
                    return true;
                    break;
            }
            return false;
        }
        else { return true; }
    }
}
//
function insertAtCursor(myField, myValue) {
    //IE support
    if (document.selection) {
        var temp;
        myField.focus();
        sel = document.selection.createRange();
        temp = sel.text.lenght;
        sel.text = myValue;
        if (myValue.length == 0) {
            sel.moveStart('character', myValue.length);
            sel.moveEnd('character', myValue.length);
        }
         else {
            sel.moveStart('character', -myValue.length + temp);
        }
        sel.select();
    }
    //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.selectionStart = startPos + myValue.length;
        myField.selectionEnd = startPos + myValue.length;
    }
    else {
        myField.value += myValue;
    }
} 
//

