window.onload = function () {
    var mark = document.getElementById('mark_all');
    if (mark != null) {
        attach_event(mark, 'click', mark_all);
    }
}

function attach_event(ele, e, cb) {
    if (typeof window.addEventListener != 'undefined') {
        ele.addEventListener(e, function(event) { cb(event, this); }, false);
    } else {
        ele.attachEvent('on' + e, function(event) { cb(event, get_target_element(event, ele.tagName)) })
    }
}

function get_target_element(event, element) {
    if (typeof element == 'undefined') {
        return false;
    } else {
        element = element.toLowerCase();
    }
    node = event.srcElement;
    while (node.tagName == 'undefined' || node.tagName.toLowerCase() != element) {
        node = node.parentElement;
    }
    return node;
}
