<!--
var pc = navigator.userAgent.toLowerCase();
var ie4_win = (pc.indexOf("win")!=-1) && (pc.indexOf("msie") != -1)
    && (parseInt(navigator.appVersion) >= 4);
var checked = false;

// only builds based upon gecko later than Jan 8th support the selectionStart, selectionEnd properly
var is_gecko = pc.indexOf("gecko/") != -1 &&
    parseFloat(pc.substring(pc.indexOf("gecko/") + 6, pc.indexOf("gecko/") + 14)) > 20030108;

function checkPost() {
    if (!checked) {
        checked = true;
        return true;
    }
    return false;
}

function styleTag(tag, ta) {
    var tagOpen = '[' + tag.toLowerCase() + ']';
    var tagClose = '[/' + tag.toLowerCase() + ']';
    if (ie4_win) {
        var selected;

        if (document.selection.createRange().parentElement().tagName == 'TEXTAREA') {
            selected = document.selection.createRange().text;
        }

        if (selected) {
            var addSpace = false;
            if (selected.charAt(selected.length-1) == ' ') {
                selected = selected.substring(0, selected.length-1);
                addSpace = true;
            }
            document.selection.createRange().text
                    = tagOpen + selected + tagClose + ((addSpace)?" ":"");
        } else {
            ta.value += tagOpen + tagClose;
        }
    } else if (is_gecko) {
        var selLength = ta.textLength;
        var selStart = ta.selectionStart;
        var selEnd = ta.selectionEnd;
        if (selEnd == 1 || selEnd == 2) {
            selEnd = selLength;
        }
        var s1 = (ta.value).substring(0, selStart);
        var s2 = (ta.value).substring(selStart, selEnd)
        var s3 = (ta.value).substring(selEnd, selLength);

        ta.value = s1 + tagOpen + s2 + tagClose + s3;

    } else {
        ta.value += tagOpen + tagClose;
    }
    ta.focus();
    return;
}
function caret(ta) {
    if (ie4_win && ta.createTextRange &&
            document.selection.createRange().parentElement().tagName == 'TEXTAREA')
    {
        ta.caretPos = document.selection.createRange().duplicate();
    }
}
//-->