function addEvent(obj, evType, fn){
    var result;
    if (obj.addEventListener){
        obj.addEventListener(evType, fn, false);
        result = true;
    } else if (obj.attachEvent){
        var r = obj.attachEvent("on"+evType, fn);
        result = r;
    } else {
        obj.setAttribute("on"+evType, fn);
    }
}

function onFocus(e) {
    if(!e) var e = window.event;
    
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
    
    targ.select();
}

function bbClick(e) {
    if(!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
    
    var s = document.getElementById('mainInput');
    s.value = "[img]"+targ.href+"[/img]";
    s.focus();
    
    s = null;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    return false;
}
function bb2Click(e) {
    if(!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
    
    var s = document.getElementById('mainInput');
    s.value = "[img="+targ.href+"]";
    s.focus();
    
    s = null;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    return false;
}
function htmlClick(e) {
    if(!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
    
    var s = document.getElementById('mainInput');
    s.value = "<img src='"+targ.href+"' alt='' />;";
    s.focus();
    
    s = null;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    return false;
}
function urlClick(e) {
    if(!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
    
    var s = document.getElementById('mainInput');
    s.value = targ.href;
    s.focus();
    
    s = null;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    return false;
}
function mdnetClick(e) {
    if(!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
    
    var s = document.getElementById('mainInput');
    s.value = targ.href.replace("mdnet:","");
    s.focus();
    
    s = null;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    return false;
}

function tweakTheFun() {
    var singleInput = document.getElementById('mainInput');
    if(singleInput)
    {
        var links = document.getElementsByTagName('A');
        
        for(var i = links.length-1; i>=0; --i)
        {
            var link = links[i]
            if(link.className.indexOf("SZ_bb") != -1)
                link.onclick = bbClick;
            if(link.className.indexOf("SZ_bb2") != -1)
                link.onclick = bb2Click;
            if(link.className.indexOf("SZ_html") != -1)
                link.onclick = htmlClick;
            if(link.className.indexOf("SZ_url") != -1)
                link.onclick = urlClick;
            if(link.className.indexOf("SZ_mdnet") != -1)
                link.onclick = mdnetClick;
        }
    }
    
    var inputs = document.getElementsByTagName('INPUT');
    for(var j=inputs.length-1; j>=0; --j)
        addEvent(inputs[j], "focus", onFocus);
}

addEvent(window, "load", tweakTheFun);