function doFocus(e){
    var evt = e || window.event;
    var tgt = evt.target || evt.srcElement;
    var tag = getElementName(tgt);
    if (tag == 'a') {
        tgt.oldClassName = tgt.className || '';
        tgt.className += ' focused';
    }
}
function doBlur(e){
    var evt = e || window.event;
    var tgt = evt.target || evt.srcElement;
    var tag = getElementName(tgt);
    if (tag == 'a') {
        tgt.className = tgt.oldClassName || '';
    }
}


function getElementName(el) {
    var elName = el.type || el.nodeName || 'window';
    return elName.toLowerCase();
}

var listen = {
    append : function (event, func) {
        if (event) {
            newEvent = function (e) {
                event(e);
                func(e);
            }
            return newEvent;
        } else {
            return func;
        }
    },
    click : function (obj, func) {
        obj.onclick = listen.append(obj.onclick, func);
    },
    over : function (obj, func) {
        obj.onmouseover = listen.append(obj.onmouseover, func);
    },
    out : function (obj, func) {
        obj.onmouseout = listen.append(obj.onmouseout, func);
    },
    focus : function (obj, func) {
        obj.onfocusin = listen.append(obj.onfocusin, func);
        if (obj.addEventListener) {
            obj.addEventListener('focus', func, true);
        }
    },
    blur : function (obj, func) {
        obj.onfocusout = listen.append(obj.onfocusout, func);
        if (obj.addEventListener) {
            obj.addEventListener('blur', func, true);
        }
    }
}
